/* =============== UI_SelectPlayerMenu =============== */ void UI_SelectPlayerMenu( void (*playerfunc)(int), const char *banner ) { if (UI_MaxSplitView() == 1) { playerfunc(0); return; } UI_SelectPlayer_MenuInit(banner); selectPlayerMenu.playerfunc = playerfunc; UI_PushMenu( &selectPlayerMenu.menu ); }
/* =============== UI_SelectPlayer_MenuInit =============== */ static void UI_SelectPlayer_MenuInit( const char *banner ) { int i, y; UI_SelectPlayer_Cache(); memset( &selectPlayerMenu, 0, sizeof(selectPlayerMenu) ); selectPlayerMenu.menu.wrapAround = qtrue; selectPlayerMenu.menu.fullscreen = qtrue; Q_strncpyz(selectPlayerMenu.bannerString, banner, sizeof (selectPlayerMenu.bannerString)); selectPlayerMenu.banner.generic.type = MTYPE_BTEXT; selectPlayerMenu.banner.generic.x = 320; selectPlayerMenu.banner.generic.y = 16; selectPlayerMenu.banner.string = selectPlayerMenu.bannerString; selectPlayerMenu.banner.color = text_banner_color; selectPlayerMenu.banner.style = UI_CENTER; selectPlayerMenu.framel.generic.type = MTYPE_BITMAP; selectPlayerMenu.framel.generic.name = ART_FRAMEL; selectPlayerMenu.framel.generic.flags = QMF_INACTIVE; selectPlayerMenu.framel.generic.x = 0; selectPlayerMenu.framel.generic.y = 78; selectPlayerMenu.framel.width = 256; selectPlayerMenu.framel.height = 329; selectPlayerMenu.framer.generic.type = MTYPE_BITMAP; selectPlayerMenu.framer.generic.name = ART_FRAMER; selectPlayerMenu.framer.generic.flags = QMF_INACTIVE; selectPlayerMenu.framer.generic.x = 376; selectPlayerMenu.framer.generic.y = 76; selectPlayerMenu.framer.width = 256; selectPlayerMenu.framer.height = 334; y = (SCREEN_HEIGHT - UI_MaxSplitView()*SETUP_MENU_VERTICAL_SPACING) / 2; for (i = 0; i < UI_MaxSplitView(); i++) { Com_sprintf(selectPlayerMenu.playerString[i], sizeof (selectPlayerMenu.playerString[i]), "Player %d", i+1); selectPlayerMenu.player[i].generic.type = MTYPE_PTEXT; selectPlayerMenu.player[i].generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; selectPlayerMenu.player[i].generic.x = 320; selectPlayerMenu.player[i].generic.y = y; selectPlayerMenu.player[i].generic.id = ID_CUSTOMIZECONTROLS + i; selectPlayerMenu.player[i].generic.callback = UI_SelectPlayerMenu_Event; selectPlayerMenu.player[i].string = selectPlayerMenu.playerString[i]; selectPlayerMenu.player[i].color = text_big_color; selectPlayerMenu.player[i].style = UI_CENTER; y += SETUP_MENU_VERTICAL_SPACING; } selectPlayerMenu.back.generic.type = MTYPE_BITMAP; selectPlayerMenu.back.generic.name = ART_BACK0; selectPlayerMenu.back.generic.flags = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS; selectPlayerMenu.back.generic.id = ID_BACK; selectPlayerMenu.back.generic.callback = UI_SelectPlayerMenu_Event; selectPlayerMenu.back.generic.x = 0; selectPlayerMenu.back.generic.y = 480-64; selectPlayerMenu.back.width = 128; selectPlayerMenu.back.height = 64; selectPlayerMenu.back.focuspic = ART_BACK1; Menu_AddItem( &selectPlayerMenu.menu, &selectPlayerMenu.banner ); Menu_AddItem( &selectPlayerMenu.menu, &selectPlayerMenu.framel ); Menu_AddItem( &selectPlayerMenu.menu, &selectPlayerMenu.framer ); for (i = 0; i < UI_MaxSplitView(); i++) { Menu_AddItem( &selectPlayerMenu.menu, &selectPlayerMenu.player[i] ); } Menu_AddItem( &selectPlayerMenu.menu, &selectPlayerMenu.back ); }
/* ================= InSelectPlayer_MenuInit ================= */ void InSelectPlayer_MenuInit( uiClientState_t *cs, const char *banner, qboolean disableMissingPlayers ) { int y; int i; memset( &s_setupplayers, 0, sizeof(setupplayersmenu_t) ); InSelectPlayer_Cache(); Q_strncpyz(s_setupplayers.bannerString, banner, sizeof (s_setupplayers.bannerString)); s_setupplayers.menu.draw = InSelectPlayerMenu_Draw; s_setupplayers.menu.wrapAround = qtrue; s_setupplayers.menu.fullscreen = qfalse; s_setupplayers.frame.generic.type = MTYPE_BITMAP; s_setupplayers.frame.generic.flags = QMF_INACTIVE; s_setupplayers.frame.generic.name = INGAME_FRAME; s_setupplayers.frame.generic.x = 320-233;//142; s_setupplayers.frame.generic.y = 240-166;//118; s_setupplayers.frame.width = 466;//359; s_setupplayers.frame.height = 332;//256; y = (SCREEN_HEIGHT - (1+UI_MaxSplitView())*INGAME_MENU_VERTICAL_SPACING) / 2; for (i = 0; i < UI_MaxSplitView(); i++) { Com_sprintf(s_setupplayers.playerString[i], sizeof (s_setupplayers.playerString[i]), "Player %d", i+1); s_setupplayers.player[i].generic.type = MTYPE_PTEXT; s_setupplayers.player[i].generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; s_setupplayers.player[i].generic.x = 320; s_setupplayers.player[i].generic.y = y; s_setupplayers.player[i].generic.id = ID_CUSTOMIZEPLAYER + i; s_setupplayers.player[i].generic.callback = InSelectPlayer_Event; s_setupplayers.player[i].string = s_setupplayers.playerString[i]; if (!disableMissingPlayers) { // Have players in game be red and not ingame be white. if (cs->clientNums[i] == -1) { s_setupplayers.player[i].color = color_white; } else { s_setupplayers.player[i].color = color_red; } } else { s_setupplayers.player[i].color = color_red; } s_setupplayers.player[i].style = UI_CENTER|UI_SMALLFONT; if (disableMissingPlayers && cs->clientNums[i] == -1) { s_setupplayers.player[i].generic.flags |= QMF_GRAYED; } y += INGAME_MENU_VERTICAL_SPACING; } y += INGAME_MENU_VERTICAL_SPACING; s_setupplayers.back.generic.type = MTYPE_PTEXT; s_setupplayers.back.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; s_setupplayers.back.generic.x = 320; s_setupplayers.back.generic.y = y; s_setupplayers.back.generic.id = ID_BACK; s_setupplayers.back.generic.callback = InSelectPlayer_Event; s_setupplayers.back.string = "Back"; s_setupplayers.back.color = color_red; s_setupplayers.back.style = UI_CENTER|UI_SMALLFONT; Menu_AddItem( &s_setupplayers.menu, &s_setupplayers.frame ); for (i = 0; i < UI_MaxSplitView(); i++) { Menu_AddItem( &s_setupplayers.menu, &s_setupplayers.player[i] ); } Menu_AddItem( &s_setupplayers.menu, &s_setupplayers.back ); }
/* ================= InGame_MenuInit ================= */ void InGame_MenuInit( void ) { int y; uiClientState_t cs; char info[MAX_INFO_STRING]; int team; memset( &s_ingame, 0 ,sizeof(ingamemenu_t) ); InGame_Cache(); s_ingame.menu.wrapAround = qtrue; s_ingame.menu.fullscreen = qfalse; s_ingame.frame.generic.type = MTYPE_BITMAP; s_ingame.frame.generic.flags = QMF_INACTIVE; s_ingame.frame.generic.name = INGAME_FRAME; s_ingame.frame.generic.x = 320-233;//142; s_ingame.frame.generic.y = 240-166;//118; s_ingame.frame.width = 466;//359; s_ingame.frame.height = 332;//256; if (UI_MaxSplitView() > 1) { y = 88; } else { y = 96; } s_ingame.team.generic.type = MTYPE_PTEXT; s_ingame.team.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; s_ingame.team.generic.x = 320; s_ingame.team.generic.y = y; s_ingame.team.generic.id = ID_TEAM; s_ingame.team.generic.callback = InGame_Event; s_ingame.team.string = "START"; s_ingame.team.color = color_red; s_ingame.team.style = UI_CENTER|UI_SMALLFONT; y += INGAME_MENU_VERTICAL_SPACING; s_ingame.addbots.generic.type = MTYPE_PTEXT; s_ingame.addbots.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; s_ingame.addbots.generic.x = 320; s_ingame.addbots.generic.y = y; s_ingame.addbots.generic.id = ID_ADDBOTS; s_ingame.addbots.generic.callback = InGame_Event; s_ingame.addbots.string = "ADD BOTS"; s_ingame.addbots.color = color_red; s_ingame.addbots.style = UI_CENTER|UI_SMALLFONT; if( !trap_Cvar_VariableValue( "sv_running" ) || !trap_Cvar_VariableValue( "bot_enable" ) || (trap_Cvar_VariableValue( "g_gametype" ) == GT_SINGLE_PLAYER)) { s_ingame.addbots.generic.flags |= QMF_GRAYED; } y += INGAME_MENU_VERTICAL_SPACING; s_ingame.removebots.generic.type = MTYPE_PTEXT; s_ingame.removebots.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; s_ingame.removebots.generic.x = 320; s_ingame.removebots.generic.y = y; s_ingame.removebots.generic.id = ID_REMOVEBOTS; s_ingame.removebots.generic.callback = InGame_Event; s_ingame.removebots.string = "REMOVE BOTS"; s_ingame.removebots.color = color_red; s_ingame.removebots.style = UI_CENTER|UI_SMALLFONT; if( !trap_Cvar_VariableValue( "sv_running" ) || !trap_Cvar_VariableValue( "bot_enable" ) || (trap_Cvar_VariableValue( "g_gametype" ) == GT_SINGLE_PLAYER)) { s_ingame.removebots.generic.flags |= QMF_GRAYED; } y += INGAME_MENU_VERTICAL_SPACING; s_ingame.teamorders.generic.type = MTYPE_PTEXT; s_ingame.teamorders.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; s_ingame.teamorders.generic.x = 320; s_ingame.teamorders.generic.y = y; s_ingame.teamorders.generic.id = ID_TEAMORDERS; s_ingame.teamorders.generic.callback = InGame_Event; s_ingame.teamorders.string = "TEAM ORDERS"; s_ingame.teamorders.color = color_red; s_ingame.teamorders.style = UI_CENTER|UI_SMALLFONT; if( !(trap_Cvar_VariableValue( "g_gametype" ) >= GT_TEAM) ) { s_ingame.teamorders.generic.flags |= QMF_GRAYED; } else { trap_GetClientState( &cs ); trap_GetConfigString( CS_PLAYERS + cs.clientNums[0], info, MAX_INFO_STRING ); team = atoi( Info_ValueForKey( info, "t" ) ); if( team == TEAM_SPECTATOR ) { s_ingame.teamorders.generic.flags |= QMF_GRAYED; } } if (UI_MaxSplitView() > 1) { y += INGAME_MENU_VERTICAL_SPACING; s_ingame.localPlayers.generic.type = MTYPE_PTEXT; s_ingame.localPlayers.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; s_ingame.localPlayers.generic.x = 320; s_ingame.localPlayers.generic.y = y; s_ingame.localPlayers.generic.id = ID_LOCALPLAYERS; s_ingame.localPlayers.generic.callback = InGame_Event; s_ingame.localPlayers.string = "LOCAL PLAYERS"; s_ingame.localPlayers.color = color_red; s_ingame.localPlayers.style = UI_CENTER|UI_SMALLFONT; if (trap_Cvar_VariableValue( "g_gametype" ) == GT_SINGLE_PLAYER) { s_ingame.localPlayers.generic.flags |= QMF_GRAYED; } } y += INGAME_MENU_VERTICAL_SPACING; s_ingame.setup.generic.type = MTYPE_PTEXT; s_ingame.setup.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; s_ingame.setup.generic.x = 320; s_ingame.setup.generic.y = y; s_ingame.setup.generic.id = ID_SETUP; s_ingame.setup.generic.callback = InGame_Event; s_ingame.setup.string = "SETUP"; s_ingame.setup.color = color_red; s_ingame.setup.style = UI_CENTER|UI_SMALLFONT; y += INGAME_MENU_VERTICAL_SPACING; s_ingame.server.generic.type = MTYPE_PTEXT; s_ingame.server.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; s_ingame.server.generic.x = 320; s_ingame.server.generic.y = y; s_ingame.server.generic.id = ID_SERVERINFO; s_ingame.server.generic.callback = InGame_Event; s_ingame.server.string = "SERVER INFO"; s_ingame.server.color = color_red; s_ingame.server.style = UI_CENTER|UI_SMALLFONT; y += INGAME_MENU_VERTICAL_SPACING; s_ingame.restart.generic.type = MTYPE_PTEXT; s_ingame.restart.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; s_ingame.restart.generic.x = 320; s_ingame.restart.generic.y = y; s_ingame.restart.generic.id = ID_RESTART; s_ingame.restart.generic.callback = InGame_Event; s_ingame.restart.string = "RESTART ARENA"; s_ingame.restart.color = color_red; s_ingame.restart.style = UI_CENTER|UI_SMALLFONT; if( !trap_Cvar_VariableValue( "sv_running" ) ) { s_ingame.restart.generic.flags |= QMF_GRAYED; } y += INGAME_MENU_VERTICAL_SPACING; s_ingame.resume.generic.type = MTYPE_PTEXT; s_ingame.resume.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; s_ingame.resume.generic.x = 320; s_ingame.resume.generic.y = y; s_ingame.resume.generic.id = ID_RESUME; s_ingame.resume.generic.callback = InGame_Event; s_ingame.resume.string = "RESUME GAME"; s_ingame.resume.color = color_red; s_ingame.resume.style = UI_CENTER|UI_SMALLFONT; y += INGAME_MENU_VERTICAL_SPACING; s_ingame.leave.generic.type = MTYPE_PTEXT; s_ingame.leave.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; s_ingame.leave.generic.x = 320; s_ingame.leave.generic.y = y; s_ingame.leave.generic.id = ID_LEAVEARENA; s_ingame.leave.generic.callback = InGame_Event; s_ingame.leave.string = "LEAVE ARENA"; s_ingame.leave.color = color_red; s_ingame.leave.style = UI_CENTER|UI_SMALLFONT; y += INGAME_MENU_VERTICAL_SPACING; s_ingame.quit.generic.type = MTYPE_PTEXT; s_ingame.quit.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; s_ingame.quit.generic.x = 320; s_ingame.quit.generic.y = y; s_ingame.quit.generic.id = ID_QUIT; s_ingame.quit.generic.callback = InGame_Event; s_ingame.quit.string = "EXIT GAME"; s_ingame.quit.color = color_red; s_ingame.quit.style = UI_CENTER|UI_SMALLFONT; Menu_AddItem( &s_ingame.menu, &s_ingame.frame ); Menu_AddItem( &s_ingame.menu, &s_ingame.team ); Menu_AddItem( &s_ingame.menu, &s_ingame.addbots ); Menu_AddItem( &s_ingame.menu, &s_ingame.removebots ); Menu_AddItem( &s_ingame.menu, &s_ingame.teamorders ); if (UI_MaxSplitView() > 1) { Menu_AddItem( &s_ingame.menu, &s_ingame.localPlayers); } Menu_AddItem( &s_ingame.menu, &s_ingame.setup ); Menu_AddItem( &s_ingame.menu, &s_ingame.server ); Menu_AddItem( &s_ingame.menu, &s_ingame.restart ); Menu_AddItem( &s_ingame.menu, &s_ingame.resume ); Menu_AddItem( &s_ingame.menu, &s_ingame.leave ); Menu_AddItem( &s_ingame.menu, &s_ingame.quit ); }
/* =============== UI_SetupMenu_Init =============== */ static void UI_SetupMenu_Init( void ) { int y; int numItems; UI_SetupMenu_Cache(); memset( &setupMenuInfo, 0, sizeof(setupMenuInfo) ); setupMenuInfo.menu.wrapAround = qtrue; setupMenuInfo.menu.fullscreen = qtrue; setupMenuInfo.banner.generic.type = MTYPE_BTEXT; setupMenuInfo.banner.generic.x = 320; setupMenuInfo.banner.generic.y = 16; setupMenuInfo.banner.string = "SETUP"; setupMenuInfo.banner.color = text_banner_color; setupMenuInfo.banner.style = UI_CENTER; setupMenuInfo.framel.generic.type = MTYPE_BITMAP; setupMenuInfo.framel.generic.name = ART_FRAMEL; setupMenuInfo.framel.generic.flags = QMF_INACTIVE; setupMenuInfo.framel.generic.x = 0; setupMenuInfo.framel.generic.y = 78; setupMenuInfo.framel.width = 256; setupMenuInfo.framel.height = 329; setupMenuInfo.framer.generic.type = MTYPE_BITMAP; setupMenuInfo.framer.generic.name = ART_FRAMER; setupMenuInfo.framer.generic.flags = QMF_INACTIVE; setupMenuInfo.framer.generic.x = 376; setupMenuInfo.framer.generic.y = 76; setupMenuInfo.framer.width = 256; setupMenuInfo.framer.height = 334; if( !trap_Cvar_VariableValue( "cl_paused" ) ) { numItems = 5; // 7 } else { numItems = 4; } y = (SCREEN_HEIGHT - numItems*SETUP_MENU_VERTICAL_SPACING) / 2; setupMenuInfo.setupplayers.generic.type = MTYPE_PTEXT; setupMenuInfo.setupplayers.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; setupMenuInfo.setupplayers.generic.x = 320; setupMenuInfo.setupplayers.generic.y = y; setupMenuInfo.setupplayers.generic.id = ID_CUSTOMIZEPLAYER; setupMenuInfo.setupplayers.generic.callback = UI_SetupMenu_Event; setupMenuInfo.setupplayers.string = (UI_MaxSplitView() == 1) ? "PLAYER": "PLAYERS"; setupMenuInfo.setupplayers.color = text_big_color; setupMenuInfo.setupplayers.style = UI_CENTER; y += SETUP_MENU_VERTICAL_SPACING; setupMenuInfo.setupcontrols.generic.type = MTYPE_PTEXT; setupMenuInfo.setupcontrols.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; setupMenuInfo.setupcontrols.generic.x = 320; setupMenuInfo.setupcontrols.generic.y = y; setupMenuInfo.setupcontrols.generic.id = ID_CUSTOMIZECONTROLS; setupMenuInfo.setupcontrols.generic.callback = UI_SetupMenu_Event; setupMenuInfo.setupcontrols.string = "CONTROLS"; setupMenuInfo.setupcontrols.color = text_big_color; setupMenuInfo.setupcontrols.style = UI_CENTER; y += SETUP_MENU_VERTICAL_SPACING; setupMenuInfo.setupsystem.generic.type = MTYPE_PTEXT; setupMenuInfo.setupsystem.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; setupMenuInfo.setupsystem.generic.x = 320; setupMenuInfo.setupsystem.generic.y = y; setupMenuInfo.setupsystem.generic.id = ID_SYSTEMCONFIG; setupMenuInfo.setupsystem.generic.callback = UI_SetupMenu_Event; setupMenuInfo.setupsystem.string = "SYSTEM"; setupMenuInfo.setupsystem.color = text_big_color; setupMenuInfo.setupsystem.style = UI_CENTER; y += SETUP_MENU_VERTICAL_SPACING; setupMenuInfo.game.generic.type = MTYPE_PTEXT; setupMenuInfo.game.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; setupMenuInfo.game.generic.x = 320; setupMenuInfo.game.generic.y = y; setupMenuInfo.game.generic.id = ID_GAME; setupMenuInfo.game.generic.callback = UI_SetupMenu_Event; setupMenuInfo.game.string = "GAME OPTIONS"; setupMenuInfo.game.color = text_big_color; setupMenuInfo.game.style = UI_CENTER; if( !trap_Cvar_VariableValue( "cl_paused" ) ) { #if 0 y += SETUP_MENU_VERTICAL_SPACING; setupMenuInfo.load.generic.type = MTYPE_PTEXT; setupMenuInfo.load.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; setupMenuInfo.load.generic.x = 320; setupMenuInfo.load.generic.y = y; setupMenuInfo.load.generic.id = ID_LOAD; setupMenuInfo.load.generic.callback = UI_SetupMenu_Event; setupMenuInfo.load.string = "LOAD"; setupMenuInfo.load.color = text_big_color; setupMenuInfo.load.style = UI_CENTER; y += SETUP_MENU_VERTICAL_SPACING; setupMenuInfo.save.generic.type = MTYPE_PTEXT; setupMenuInfo.save.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; setupMenuInfo.save.generic.x = 320; setupMenuInfo.save.generic.y = y; setupMenuInfo.save.generic.id = ID_SAVE; setupMenuInfo.save.generic.callback = UI_SetupMenu_Event; setupMenuInfo.save.string = "SAVE"; setupMenuInfo.save.color = text_big_color; setupMenuInfo.save.style = UI_CENTER; #endif y += SETUP_MENU_VERTICAL_SPACING; setupMenuInfo.defaults.generic.type = MTYPE_PTEXT; setupMenuInfo.defaults.generic.flags = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS; setupMenuInfo.defaults.generic.x = 320; setupMenuInfo.defaults.generic.y = y; setupMenuInfo.defaults.generic.id = ID_DEFAULTS; setupMenuInfo.defaults.generic.callback = UI_SetupMenu_Event; setupMenuInfo.defaults.string = "DEFAULTS"; setupMenuInfo.defaults.color = text_big_color; setupMenuInfo.defaults.style = UI_CENTER; } setupMenuInfo.back.generic.type = MTYPE_BITMAP; setupMenuInfo.back.generic.name = ART_BACK0; setupMenuInfo.back.generic.flags = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS; setupMenuInfo.back.generic.id = ID_BACK; setupMenuInfo.back.generic.callback = UI_SetupMenu_Event; setupMenuInfo.back.generic.x = 0; setupMenuInfo.back.generic.y = 480-64; setupMenuInfo.back.width = 128; setupMenuInfo.back.height = 64; setupMenuInfo.back.focuspic = ART_BACK1; Menu_AddItem( &setupMenuInfo.menu, &setupMenuInfo.banner ); Menu_AddItem( &setupMenuInfo.menu, &setupMenuInfo.framel ); Menu_AddItem( &setupMenuInfo.menu, &setupMenuInfo.framer ); Menu_AddItem( &setupMenuInfo.menu, &setupMenuInfo.setupplayers ); Menu_AddItem( &setupMenuInfo.menu, &setupMenuInfo.setupcontrols ); Menu_AddItem( &setupMenuInfo.menu, &setupMenuInfo.setupsystem ); Menu_AddItem( &setupMenuInfo.menu, &setupMenuInfo.game ); if( !trap_Cvar_VariableValue( "cl_paused" ) ) { // Menu_AddItem( &setupMenuInfo.menu, &setupMenuInfo.load ); // Menu_AddItem( &setupMenuInfo.menu, &setupMenuInfo.save ); Menu_AddItem( &setupMenuInfo.menu, &setupMenuInfo.defaults ); } Menu_AddItem( &setupMenuInfo.menu, &setupMenuInfo.back ); }