mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	Merge branch 'rqdx-menu-fix' into 'master'
Roundqueue DX Menu UI fixes Closes #1570, #1572, and #1647 See merge request kart-krew-dev/ring-racers-internal!2786
This commit is contained in:
		
						commit
						9675aaf40f
					
				
					 4 changed files with 59 additions and 13 deletions
				
			
		| 
						 | 
				
			
			@ -983,6 +983,16 @@ void M_Drawer(void)
 | 
			
		|||
		if (currentMenu->drawroutine)
 | 
			
		||||
			currentMenu->drawroutine(); // call current menu Draw routine
 | 
			
		||||
 | 
			
		||||
		if (
 | 
			
		||||
			(
 | 
			
		||||
				currentMenu == &PLAY_LevelSelectDef
 | 
			
		||||
				|| currentMenu == &PLAY_CupSelectDef
 | 
			
		||||
			) && levellist.canqueue
 | 
			
		||||
		)
 | 
			
		||||
		{
 | 
			
		||||
			M_DrawPauseRoundQueue(0, true);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		M_DrawMenuForeground();
 | 
			
		||||
 | 
			
		||||
		// Draw version down in corner
 | 
			
		||||
| 
						 | 
				
			
			@ -998,16 +1008,6 @@ void M_Drawer(void)
 | 
			
		|||
 | 
			
		||||
		// Draw message overlay when needed
 | 
			
		||||
		M_DrawMenuMessage();
 | 
			
		||||
 | 
			
		||||
		if (
 | 
			
		||||
			(
 | 
			
		||||
				currentMenu == &PLAY_LevelSelectDef
 | 
			
		||||
				|| currentMenu == &PLAY_CupSelectDef
 | 
			
		||||
			) && levellist.canqueue
 | 
			
		||||
		)
 | 
			
		||||
		{
 | 
			
		||||
			M_DrawPauseRoundQueue(0, true);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (menuwipe)
 | 
			
		||||
| 
						 | 
				
			
			@ -3738,6 +3738,43 @@ void M_DrawLevelSelect(void)
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	M_DrawCupTitle(tay, &levellist.levelsearch);
 | 
			
		||||
 | 
			
		||||
	t = (abs(t)/2) + BASEVIDWIDTH - 4;
 | 
			
		||||
	tay += 30;
 | 
			
		||||
 | 
			
		||||
	const boolean queuewithinsize = (menuqueue.size + roundqueue.size < ROUNDQUEUE_MAX);
 | 
			
		||||
 | 
			
		||||
	const char *worktext = "Go to Course";
 | 
			
		||||
	if (levellist.levelsearch.timeattack)
 | 
			
		||||
		worktext = "Select Course";
 | 
			
		||||
	else if (levellist.canqueue && menuqueue.size && queuewithinsize)
 | 
			
		||||
		worktext = roundqueue.size ? "Add to Queue" : "Start Queue";
 | 
			
		||||
 | 
			
		||||
	if (worktext)
 | 
			
		||||
	{
 | 
			
		||||
		K_DrawGameControl(t, tay, 0, va("<a_animated> %s", worktext), 2, TINY_FONT, 0);
 | 
			
		||||
		tay += 13;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (levellist.canqueue)
 | 
			
		||||
	{
 | 
			
		||||
		worktext = queuewithinsize
 | 
			
		||||
			? "<z_animated>" : "<z_pressed><gray>";
 | 
			
		||||
		K_DrawGameControl(t, tay, 0, va("%s Queue Course", worktext), 2, TINY_FONT, 0);
 | 
			
		||||
		tay += 13;
 | 
			
		||||
 | 
			
		||||
		worktext = NULL;
 | 
			
		||||
		if (menuqueue.size)
 | 
			
		||||
			worktext = "Undo";
 | 
			
		||||
		else if (roundqueue.size)
 | 
			
		||||
			worktext = "Clear Queue";
 | 
			
		||||
 | 
			
		||||
		if (worktext)
 | 
			
		||||
		{
 | 
			
		||||
			K_DrawGameControl(t, tay, 0, va("<c_animated> %s", worktext), 2, TINY_FONT, 0);
 | 
			
		||||
			tay += 13;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static boolean M_LevelSelectHasBG(menu_t *check)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -69,7 +69,7 @@ menuitem_t EXTRAS_Main[] =
 | 
			
		|||
		NULL, {.routine = M_Manual}, 0, 0},
 | 
			
		||||
 | 
			
		||||
	{IT_STRING | IT_CALL, "Tutorial", "Help Dr. Robotnik and Tails test out their new Ring Racers.",
 | 
			
		||||
		NULL, {.routine = M_LevelSelectInit}, 0, GT_TUTORIAL},
 | 
			
		||||
		NULL, {.routine = M_LevelSelectInit}, 3, GT_TUTORIAL},
 | 
			
		||||
 | 
			
		||||
	{IT_STRING | IT_CALL, "Statistics", "Look back on some of your greatest achievements such as your playtime and wins!",
 | 
			
		||||
		NULL, {.routine = M_Statistics}, 0, 0},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -675,6 +675,11 @@ void M_LevelSelectInit(INT32 choice)
 | 
			
		|||
			levellist.levelsearch.timeattack = false;
 | 
			
		||||
			levellist.canqueue = false;
 | 
			
		||||
			break;
 | 
			
		||||
		case 3:
 | 
			
		||||
			levellist.levelsearch.grandprix = false;
 | 
			
		||||
			levellist.levelsearch.timeattack = false;
 | 
			
		||||
			levellist.canqueue = false;
 | 
			
		||||
			break;
 | 
			
		||||
		default:
 | 
			
		||||
			CONS_Alert(CONS_WARNING, "Bad level select init\n");
 | 
			
		||||
			return;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -958,9 +958,13 @@ void Y_PlayerStandingsDrawer(y_data_t *standings, INT32 xoffset)
 | 
			
		|||
 | 
			
		||||
	if (standings->rankingsmode)
 | 
			
		||||
	{
 | 
			
		||||
		if (standings->isduel)
 | 
			
		||||
		if (standings->numplayers < 2)
 | 
			
		||||
			;
 | 
			
		||||
		else if (standings->isduel)
 | 
			
		||||
		{
 | 
			
		||||
			Y_DrawRankMode(BASEVIDWIDTH / 2 + xoffset, BASEVIDHEIGHT - 19, true);
 | 
			
		||||
			x = BASEVIDWIDTH / 2 + xoffset;
 | 
			
		||||
			y = roundqueue.size ? (BASEVIDHEIGHT/2) : (BASEVIDHEIGHT - 19);
 | 
			
		||||
			Y_DrawRankMode(x, y, true);
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue