rpgxef/code/ui/ui_splevel.c
Walter Julius Hennecke a39565b783 Integrated RPG-X2 rpgxEF edition into the rpgxEF repo
... not quite content with where the project files lie but it is ok for
now.
... compiling works fine so far (only tested mingw32 right now)
2012-08-04 12:54:37 +02:00

1690 lines
54 KiB
C

// Copyright (C) 1999-2000 Id Software, Inc.
//
/*
=============================================================================
SINGLE PLAYER LEVEL SELECT MENU
=============================================================================
*/
//RPG-X: TiM - Removed for RPG-X as serves no purpose, and is wasting resources
#include "ui_local.h"
//
//typedef struct
//{
// menuframework_s menu;
// menubitmap_s mainmenu;
// menubitmap_s preset;
// menubitmap_s create;
//
//} spchoose_t;
//static spchoose_t s_spchoose;
//
//
//#define ART_LEVELFRAME_FOCUS "menu/art/maps_select"
//#define ART_LEVELFRAME_SELECTED "menu/art/maps_selected"
//#define ART_MAP_UNKNOWN "levelshots/unknownmap"
//#define ART_MAP_COMPLETE1 "menu/art/level_complete1"
//#define ART_MAP_COMPLETE2 "menu/art/level_complete2"
//#define ART_MAP_COMPLETE3 "menu/art/level_complete3"
//#define ART_MAP_COMPLETE4 "menu/art/level_complete4"
//#define ART_MAP_COMPLETE5 "menu/art/level_complete5"
//
//#define ID_LEFTARROW 10
//#define ID_PICTURE0 11
//#define ID_PICTURE1 12
//#define ID_PICTURE2 13
//#define ID_PICTURE3 14
//#define ID_RIGHTARROW 15
//#define ID_PLAYERPIC 16
//#define ID_AWARD1 17
//#define ID_AWARD2 18
//#define ID_AWARD3 19
//#define ID_AWARD4 20
//#define ID_AWARD5 21
//#define ID_AWARD6 22
//#define ID_AWARD7 23
//#define ID_AWARD8 24
//#define ID_AWARD9 25
//#define ID_RESET 26
//#define ID_CUSTOM 27
//#define ID_NEXT 28
//#define ID_MAINMENU 100
//#define ID_PLAYERINFO 112
//#define ID_NO 120
//#define ID_YES 121
//#define ID_PRESET 122
//#define ID_BACK 123
//#define ID_ADVANCED 124
//
//#define AWARDS_Y (315)
//
//#define MAX_ITEM_MAPS 4
//
//#define MAX_LONGNAME 24
//
//typedef struct
//{
// menuframework_s menu;
//
// menubitmap_s mainmenu;
// menubitmap_s back;
// menubitmap_s create;
// menubitmap_s fight;
// menubitmap_s item_leftarrow;
// menubitmap_s item_maps[MAX_ITEM_MAPS];
// menubitmap_s item_rightarrow;
// menubitmap_s item_player;
// menubitmap_s item_awards[6];
// menubitmap_s item_null;
// menubitmap_s item_reset;
// menubitmap_s playerinfo;
// menubitmap_s advanced;
//
// qboolean reinit;
//
// const char * selectedArenaInfo;
// int numMaps;
// char levelPicNames[4][MAX_QPATH];
// char levelNames[4][16];
// char levelLongNames[4][MAX_LONGNAME];
// int levelScores[MAX_ITEM_MAPS];
// int levelScoresSkill[4];
// qhandle_t levelSelectedPic;
// qhandle_t levelFocusPic;
// qhandle_t levelCompletePic[5];
//
// qhandle_t corner_ul_18_12;
// qhandle_t corner_ur_18_12;
// qhandle_t corner_ll_18_34;
// qhandle_t corner_lr_7_12;
//
// char playerModel[MAX_QPATH];
// char playerPicName[MAX_QPATH];
// int awardLevels[6];
// sfxHandle_t awardSounds[6];
//
// int numBots;
// qhandle_t botPics[7];
// char botNames[7][10];
//} levelMenuInfo_t;
//
//static levelMenuInfo_t levelMenuInfo;
//
////=========================================================================================
//// Reset Menu Struct
////=========================================================================================
//typedef struct
//{
// menuframework_s menu;
// menubitmap_s mainmenu;
// menubitmap_s back;
// menubitmap_s yes;
//
// qhandle_t corner_ul;
// qhandle_t corner_ur;
// qhandle_t corner_ll;
// qhandle_t corner_lr;
//
//} resetGameMenuInfo_t;
//
//static resetGameMenuInfo_t resetGameMenuInfo;
//
//
//void UI_ResetGameMenu( void );
//
//static int selectedArenaSet;
//static int selectedArena;
//static int currentSet;
//static int currentGame;
//static int trainingTier;
//static int finalTier;
//static int minTier;
//static int maxTier;
//
//
///*
//=================
//PlayerIcon
//=================
//*/
void PlayerIcon( const char *modelAndSkin, char *iconName, int iconNameMaxSize ) {
char *skin;
char model[MAX_QPATH];
Q_strncpyz( model, modelAndSkin, sizeof(model));
skin = Q_strrchr( model, '/' );
if ( skin ) {
*skin++ = '\0';
}
else {
skin = "default";
}
//TiM - Removed skin and added RPG-X parms
Com_sprintf(iconName, iconNameMaxSize, "models/players_rpgx/%s/model_icon.jpg", model );
if( !trap_R_RegisterShaderNoMip( iconName ) && Q_stricmp( skin, "default" ) != 0 ) {
Com_sprintf(iconName, iconNameMaxSize, "models/players_rpgx/%s/model_icon.jpg", model );
}
}
//
//
///*
//=================
//PlayerIconhandle
//=================
//*/
//static qhandle_t PlayerIconHandle( const char *modelAndSkin )
//{
// char iconName[MAX_QPATH];
//
// PlayerIcon( modelAndSkin, iconName, sizeof(iconName) );
// return trap_R_RegisterShaderNoMip( iconName );
//}
//
//
///*
//=================
//UI_SPLevelMenu_SetBots
//=================
//*/
//static void UI_SPLevelMenu_SetBots( void )
//{
// char *p;
// char *bot;
// char *botInfo;
// char bots[MAX_INFO_STRING];
//
// levelMenuInfo.numBots = 0;
//
// Q_strncpyz( bots, Info_ValueForKey( levelMenuInfo.selectedArenaInfo, "bots" ), sizeof(bots) );
//
// p = &bots[0];
// while( *p && levelMenuInfo.numBots < 7 )
// {
// //skip spaces
// while( *p && *p == ' ' ) {
// p++;
// }
// if( !p ) {
// break;
// }
//
// // mark start of bot name
// bot = p;
//
// // skip until space of null
// while( *p && *p != ' ' )
// {
// p++;
// }
// if( *p ) {
// *p++ = 0;
// }
//
// botInfo = UI_GetBotInfoByName( bot );
// if( botInfo )
// {
// levelMenuInfo.botPics[levelMenuInfo.numBots] = PlayerIconHandle( Info_ValueForKey( botInfo, "model" ) );
// Q_strncpyz( levelMenuInfo.botNames[levelMenuInfo.numBots], Info_ValueForKey( botInfo, "name" ), 10 );
// }
// else
// {
// levelMenuInfo.botPics[levelMenuInfo.numBots] = 0;
// Q_strncpyz( levelMenuInfo.botNames[levelMenuInfo.numBots], bot, 10 );
// }
// Q_CleanStr( levelMenuInfo.botNames[levelMenuInfo.numBots] );
// levelMenuInfo.numBots++;
// }
//}
//
//
///*
//=================
//UI_SPLevelMenu_SetMenuArena
//=================
//*/
//extern vmCvar_t ui_language;
//static void UI_SPLevelMenu_SetMenuArena( int n, int level, const char *arenaInfo )
//{
// char map[MAX_QPATH];
// char string[MAX_LONGNAME];
//
// Q_strncpyz( map, Info_ValueForKey( arenaInfo, "map" ), sizeof(map) );
//
// Q_strncpyz( levelMenuInfo.levelNames[n], map, sizeof(levelMenuInfo.levelNames[n]) );
// Q_strupr( levelMenuInfo.levelNames[n] );
//
// if (ui_language.string[0] == 0 || Q_stricmp ("ENGLISH",ui_language.string)==0 ) {
// Q_strncpyz( string, Info_ValueForKey( arenaInfo, "longname" ), sizeof(string) );
// } else {
// Q_strncpyz( string, Info_ValueForKey( arenaInfo, va("longname_%s",ui_language.string) ), sizeof(string) );
// if (!string[0]) {
// Q_strncpyz( string, Info_ValueForKey( arenaInfo, "longname" ), sizeof(string) );
// }
// }
// Q_strncpyz( levelMenuInfo.levelLongNames[n], string, sizeof(levelMenuInfo.levelLongNames[n]) );
// Q_strupr( levelMenuInfo.levelLongNames[n] );
//
//
// UI_GetBestScore( level, &levelMenuInfo.levelScores[n], &levelMenuInfo.levelScoresSkill[n] );
// if( levelMenuInfo.levelScores[n] > 8 )
// {
// levelMenuInfo.levelScores[n] = 8;
// }
//
// strcpy( levelMenuInfo.levelPicNames[n], va( "levelshots/%s.tga", map ) );
// if( !trap_R_RegisterShaderNoMip( levelMenuInfo.levelPicNames[n] ) )
// {
// strcpy( levelMenuInfo.levelPicNames[n], ART_MAP_UNKNOWN );
// }
//
// levelMenuInfo.item_maps[n].shader = 0;
// levelMenuInfo.item_maps[n].generic.flags &= ~QMF_HIDDEN;
// levelMenuInfo.item_maps[n].generic.flags &= ~QMF_INACTIVE;
//}
//
///*
//=================
//UI_SPLevelMenu_SetMenuItems
//=================
//*/
//static void UI_SPLevelMenu_SetMenuItems( void )
//{
// int n,i;
// int level;
// const char *arenaInfo;
// char *type;
//
// if ( selectedArena == -1 )
// {
// selectedArena = 0;
// }
//
//// if( selectedArenaSet == trainingTier || selectedArenaSet == finalTier )
//// {
//// selectedArena = 0;
//// }
//
// if( selectedArena != -1 )
// {
// trap_Cvar_SetValue( "ui_spSelection", selectedArenaSet * ARENAS_PER_TIER + selectedArena );
// }
//
// if( selectedArenaSet == trainingTier )
// {
// arenaInfo = UI_GetSpecialArenaInfo( "training" );
// level = atoi( Info_ValueForKey( arenaInfo, "num" ) );
// UI_SPLevelMenu_SetMenuArena( 0, level, arenaInfo );
// levelMenuInfo.selectedArenaInfo = arenaInfo;
//
//// levelMenuInfo.item_maps[0].generic.x = 256;
// Bitmap_Init( &levelMenuInfo.item_maps[0] );
// levelMenuInfo.item_maps[0].generic.bottom += 32;
// levelMenuInfo.numMaps = 1;
//
// levelMenuInfo.item_maps[1].generic.flags |= QMF_INACTIVE;
// levelMenuInfo.item_maps[2].generic.flags |= QMF_INACTIVE;
// levelMenuInfo.item_maps[3].generic.flags |= QMF_INACTIVE;
// levelMenuInfo.levelPicNames[1][0] = 0;
// levelMenuInfo.levelPicNames[2][0] = 0;
// levelMenuInfo.levelPicNames[3][0] = 0;
// levelMenuInfo.item_maps[1].shader = 0;
// levelMenuInfo.item_maps[2].shader = 0;
// levelMenuInfo.item_maps[3].shader = 0;
// }
// else if( selectedArenaSet == finalTier )
// {
// arenaInfo = UI_GetSpecialArenaInfo( "final" );
// level = atoi( Info_ValueForKey( arenaInfo, "num" ) );
// UI_SPLevelMenu_SetMenuArena( 0, level, arenaInfo );
// levelMenuInfo.selectedArenaInfo = arenaInfo;
//
//// levelMenuInfo.item_maps[0].generic.x = 256;
// Bitmap_Init( &levelMenuInfo.item_maps[0] );
// levelMenuInfo.item_maps[0].generic.bottom += 32;
// levelMenuInfo.numMaps = 1;
//
// levelMenuInfo.item_maps[1].generic.flags |= QMF_INACTIVE;
// levelMenuInfo.item_maps[2].generic.flags |= QMF_INACTIVE;
// levelMenuInfo.item_maps[3].generic.flags |= QMF_INACTIVE;
// levelMenuInfo.levelPicNames[1][0] = 0;
// levelMenuInfo.levelPicNames[2][0] = 0;
// levelMenuInfo.levelPicNames[3][0] = 0;
// levelMenuInfo.item_maps[1].shader = 0;
// levelMenuInfo.item_maps[2].shader = 0;
// levelMenuInfo.item_maps[3].shader = 0;
// }
// else
// {
// Bitmap_Init( &levelMenuInfo.item_maps[0] );
// levelMenuInfo.item_maps[0].generic.bottom += 18;
//
// memset( levelMenuInfo.levelNames,0, sizeof(levelMenuInfo.levelNames));
//
// // Zero out info
// for ( n = 0; n < MAX_ITEM_MAPS; n++ )
// {
// levelMenuInfo.item_maps[n].generic.flags |= QMF_HIDDEN | QMF_INACTIVE;
// levelMenuInfo.levelScores[n] = 0;
// }
//
// i = 0;
// for ( n = 0; n < MAX_ITEM_MAPS; n++ )
// {
// level = selectedArenaSet * ARENAS_PER_TIER + n;
// arenaInfo = UI_GetArenaInfoByNumber( level );
// type = Info_ValueForKey( arenaInfo, "type" );
// if( strstr( type, "single" ) )
// {
// UI_SPLevelMenu_SetMenuArena( n, level, arenaInfo );
// i++;
// }
// }
//
// levelMenuInfo.numMaps = i;
//
// if( selectedArena != -1 )
// {
// levelMenuInfo.selectedArenaInfo = UI_GetArenaInfoByNumber( selectedArenaSet * ARENAS_PER_TIER + selectedArena );
// }
// }
//
// // enable/disable arrows when they are valid/invalid
// if ( selectedArenaSet == minTier )
// {
// levelMenuInfo.item_leftarrow.generic.flags |= ( QMF_INACTIVE | QMF_GRAYED );
// }
// else
// {
// levelMenuInfo.item_leftarrow.generic.flags &= ~( QMF_INACTIVE | QMF_GRAYED );
// }
//
// if ( selectedArenaSet >= maxTier )
// {
// levelMenuInfo.item_rightarrow.generic.flags |= ( QMF_INACTIVE | QMF_GRAYED );
// }
// else
// {
// levelMenuInfo.item_rightarrow.generic.flags &= ~( QMF_INACTIVE | QMF_GRAYED );
// }
//
//
// UI_SPLevelMenu_SetBots();
//}
//
//
///*
//=================
//UI_SPLevelMenu_ResetAction
//=================
//*/
//static void UI_SPLevelMenu_ResetAction( qboolean result )
//{
// if( !result )
// {
// return;
// }
//
// // clear game variables
// UI_NewGame();
// trap_Cvar_SetValue( "ui_spSelection", 0 );
//
// // make the level select menu re-initialize
// UI_PopMenu();
// UI_SPLevelMenu();
//}
//
///*
//=================
//UI_SPLevelMenu_ResetEvent
//=================
//*/
//static void UI_SPLevelMenu_ResetEvent( void* ptr, int event )
//{
// if (event != QM_ACTIVATED)
// {
// return;
// }
//
// UI_ResetGameMenu();
//
//}
//
//
///*
//=================
//UI_SPLevelMenu_LevelEvent
//=================
//*/
//static void UI_SPLevelMenu_LevelEvent( void* ptr, int notification )
//{
// if (notification != QM_ACTIVATED)
// {
// return;
// }
//
// selectedArena = ((menucommon_s*)ptr)->id - ID_PICTURE0;
// levelMenuInfo.selectedArenaInfo = UI_GetArenaInfoByNumber( selectedArenaSet * ARENAS_PER_TIER + selectedArena );
// UI_SPLevelMenu_SetBots();
//
// trap_Cvar_SetValue( "ui_spSelection", selectedArenaSet * ARENAS_PER_TIER + selectedArena );
//}
//
//
///*
//=================
//UI_SPLevelMenu_LeftArrowEvent
//=================
//*/
//static void UI_SPLevelMenu_LeftArrowEvent( void* ptr, int notification )
//{
// if (notification != QM_ACTIVATED)
// {
// return;
// }
//
// if ( selectedArenaSet == minTier )
// {
// return;
// }
//
// selectedArena = 0;
// selectedArenaSet--;
// UI_SPLevelMenu_SetMenuItems();
//}
//
//
///*
//=================
//UI_SPLevelMenu_RightArrowEvent
//=================
//*/
//static void UI_SPLevelMenu_RightArrowEvent( void* ptr, int notification )
//{
// if (notification != QM_ACTIVATED)
// {
// return;
// }
//
// if ( selectedArenaSet == maxTier )
// {
// return;
// }
//
// selectedArena = 0;
// selectedArenaSet++;
// UI_SPLevelMenu_SetMenuItems();
//}
//
//
///*
//=================
//UI_SPLevelMenu_PlayerEvent
//=================
//*/
//static void UI_SPLevelMenu_PlayerEvent( void* ptr, int notification )
//{
// if (notification != QM_ACTIVATED)
// {
// return;
// }
//
// UI_PlayerSettingsMenu(PS_MENU_SINGLEPLAYER);
//}
//
///*
//=================
//UI_SPLevelMenu_CreateEvent
//=================
//*/
//static void UI_SPLevelMenu_CreateEvent( void* ptr, int notification )
//{
// if (notification != QM_ACTIVATED)
// {
// return;
// }
// UI_StartServerMenu( qfalse );
//}
//
//
///*
//=================
//UI_SPLevelMenu_AdvancedEvent
//=================
//*/
//static void UI_SPLevelMenu_AdvancedEvent( void* ptr, int notification )
//{
// if (notification != QM_ACTIVATED)
// {
// return;
// }
//
// switch (((menucommon_s*)ptr)->id)
// {
// case ID_ADVANCED:
// UI_ServerAdvancedOptions(1);
// break;
// }
//}
//
//
///*
//=================
//UI_SPLevelMenu_AwardEvent
//=================
//*/
//static void UI_SPLevelMenu_AwardEvent( void* ptr, int notification )
//{
// int n;
//
// if (notification != QM_ACTIVATED)
// {
// return;
// }
//
// n = ((menucommon_s*)ptr)->id - ID_AWARD1;
// trap_S_StartLocalSound( levelMenuInfo.awardSounds[n], CHAN_ANNOUNCER );
//}
//
//
///*
//=================
//UI_SPLevelMenu_NextEvent
//=================
//*/
//static void UI_SPLevelMenu_NextEvent( void* ptr, int notification )
//{
// if (notification != QM_ACTIVATED)
// {
// return;
// }
//
// if ( selectedArena == -1 )
// {
// selectedArena = 0;
// }
//
// UI_SPSkillMenu( levelMenuInfo.selectedArenaInfo );
//}
//
//
///*
//=================
//UI_SPLevelMenu_BackEvent
//=================
//*/
//static void UI_SPLevelMenu_BackEvent( void* ptr, int notification )
//{
// if (notification != QM_ACTIVATED)
// {
// return;
// }
//
// if ( selectedArena == -1 )
// {
// selectedArena = 0;
// }
//
// switch (((menucommon_s*)ptr)->id)
// {
// case ID_MAINMENU:
// UI_PopMenu ();
// UI_MainMenu();
// break;
//
// case ID_BACK:
// UI_PopMenu ();
// break;
// }
//}
//
///*
//=================
//UI_SPLevelMenu_MenuDraw
//=================
//*/
//#define LEVEL_DESC_LEFT_MARGIN 332
//#define MAP_WIDTH 118
//
//static void UI_SPLevelMenu_MenuDraw( void )
//{
// int n;//, i;
// int x, y;
// vec4_t color;
//// int level;
// int fraglimit;
// int pad;
// char buf[MAX_INFO_VALUE];
// char string[64];
//
// if( levelMenuInfo.reinit )
// {
// UI_PopMenu();
// UI_SPLevelMenu();
// return;
// }
//
// UI_MenuFrame2(&levelMenuInfo.menu);
//
// trap_R_SetColor( colorTable[CT_LTBROWN1]);
// UI_DrawHandlePic( 30, 203, 47, 186, uis.whiteShader); // Left side of frame
//
// // Map pics frame
// trap_R_SetColor( colorTable[CT_LTPURPLE3]);
// UI_DrawHandlePic( 84, 50, 64, -32, levelMenuInfo.corner_ll_18_34); // Corner at bottom
// UI_DrawHandlePic( 84, 190, 64, 32, levelMenuInfo.corner_ll_18_34); // Corner at bottom
// UI_DrawHandlePic( 108, 60, 506, 18, uis.whiteShader); // Top line
// UI_DrawHandlePic( 84, 85, 34, 102, uis.whiteShader); // Left side of frame
//
// UI_DrawHandlePic( 93, 194, 34, 18, uis.whiteShader); // Bottom line after corner
// UI_DrawHandlePic( 130, 194, 26, 18, uis.whiteShader); // Line under left arrow
// UI_DrawHandlePic( 159, 194, 391, 18, uis.whiteShader); // Line between next and previous buttons
// UI_DrawHandlePic( 553, 194, 26, 18, uis.whiteShader); // Line under right arrow
// UI_DrawHandlePic( 582, 194, 30, 18, uis.whiteShader); // Line after right arrow
//
// UI_DrawProportionalString( 133, 61, va( (char*)menu_normal_text[MNT_LEVELS],
// ((selectedArenaSet*ARENAS_PER_TIER)+1),
// ((selectedArenaSet*ARENAS_PER_TIER)+levelMenuInfo.numMaps)),
// UI_SMALLFONT, colorTable[CT_BLACK]);
//
// UI_DrawProportionalString( 74, 27, "111611",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
// UI_DrawProportionalString( 74, 188, "81454",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
// UI_DrawProportionalString( 74, 206, "71",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
// UI_DrawProportionalString( 74, 395, "345-5",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
//
// // Opponents frame
// trap_R_SetColor( colorTable[CT_DKBROWN1]);
// UI_DrawHandlePic( 348, 221, 16, 32, levelMenuInfo.corner_ur_18_12); // Corner at top
// UI_DrawHandlePic( 349, 373, 16, 16, levelMenuInfo.corner_lr_7_12); // Corner at bottom
// UI_DrawHandlePic( 84, 221, 270, 18, uis.whiteShader); // Top of level info frame
// UI_DrawHandlePic( 352, 245, 12, 125, uis.whiteShader); // Right side of level info frame
// UI_DrawHandlePic( 83, 376, 272, 7, uis.whiteShader); // Bottom of frame
// UI_DrawProportionalString( 88, 223, menu_normal_text[MNT_OPPONENTS], UI_SMALLFONT, colorTable[CT_BLACK] );
//
// // Player info frame
// trap_R_SetColor( colorTable[CT_DKBROWN1]);
// UI_DrawHandlePic( 367, 221, 16, 32, levelMenuInfo.corner_ul_18_12); // Corner at top
// UI_DrawHandlePic( 366, 373, -16, 16, levelMenuInfo.corner_lr_7_12); // Corner at bottom
// UI_DrawHandlePic( 377, 221, 235, 18, uis.whiteShader); // Top of player info frame
// UI_DrawHandlePic( 367, 245, 12, 125, uis.whiteShader); // Left side of frame
// UI_DrawHandlePic( 379, 376, 233, 7, uis.whiteShader); // Bottom of frame
//
//
// // Draw player name
// trap_Cvar_VariableStringBuffer( "name", string, 32 );
// Q_CleanStr( string );
// UI_DrawProportionalString( 390, 223, string, UI_SMALLFONT, colorTable[CT_BLACK] );
//
// // check for model changes
// trap_Cvar_VariableStringBuffer( "model", buf, sizeof(buf) );
// if( Q_stricmp( buf, levelMenuInfo.playerModel ) != 0 )
// {
// Q_strncpyz( levelMenuInfo.playerModel, buf, sizeof(levelMenuInfo.playerModel) );
// PlayerIcon( levelMenuInfo.playerModel, levelMenuInfo.playerPicName, sizeof(levelMenuInfo.playerPicName) );
// levelMenuInfo.item_player.shader = 0;
// }
//
// // standard menu drawing
// Menu_Draw( &levelMenuInfo.menu );
//
// // draw player award levels
///* y = AWARDS_Y;
// i = 0;
// for( n = 0; n < AWARD_MAX; n++ )
// {
// level = levelMenuInfo.awardLevels[n];
// if( level > 0 )
// {
// x = 385 + (i * 38);
// i++;
//
// if( level == 1 )
// {
// continue;
// }
//
// if( level >= 1000000 )
// {
// Com_sprintf( string, sizeof(string), "%im", level / 1000000 );
// }
// else if( level >= 1000 ) {
// Com_sprintf( string, sizeof(string), "%ik", level / 1000 );
// }
// else
// {
// Com_sprintf( string, sizeof(string), "%i", level );
// }
//
// UI_DrawString( x + 19, y + 38, string, UI_CENTER, colorTable[CT_LTGOLD1] );
// }
// }
//*/
// // Print black rectangle below map picture
// for ( n = 0; n < levelMenuInfo.numMaps; n++ )
// {
// x = levelMenuInfo.item_maps[n].generic.x;
// y = levelMenuInfo.item_maps[n].generic.y;
// UI_FillRect( x, y + 87, 116, 18, colorTable[CT_BLACK] );
// }
//
// // show levelshots for levels of current tier
// Vector4Copy( color_white, color );
// color[3] = 0.5+0.5*sin(uis.realtime/PULSE_DIVISOR);
// for ( n = 0; n < levelMenuInfo.numMaps; n++ )
// {
// x = levelMenuInfo.item_maps[n].generic.x;
// y = levelMenuInfo.item_maps[n].generic.y;
//
// // Map name below picture
// UI_DrawProportionalString( x + (MAP_WIDTH/2), y + 90, levelMenuInfo.levelLongNames[n], UI_CENTER|UI_TINYFONT, colorTable[CT_WHITE] );
//
// if( levelMenuInfo.levelScores[n] == 1 )
// {
// UI_DrawHandlePic( x, y, 48, 48, levelMenuInfo.levelCompletePic[levelMenuInfo.levelScoresSkill[n] - 1] );
// }
//
// if ( n == selectedArena )
// {
// if( Menu_ItemAtCursor( &levelMenuInfo.menu ) == &levelMenuInfo.item_maps[n] )
// {
// trap_R_SetColor( color );
// }
//
// UI_DrawHandlePic( x-1, y-1, MAP_WIDTH, 118 - 14, levelMenuInfo.levelSelectedPic );
//
// trap_R_SetColor( NULL );
// }
// else if( Menu_ItemAtCursor( &levelMenuInfo.menu ) == &levelMenuInfo.item_maps[n] )
// {
// trap_R_SetColor( color );
// UI_DrawHandlePic( x-1, y-1, MAP_WIDTH, 118 - 14, levelMenuInfo.levelSelectedPic );
// trap_R_SetColor( NULL );
// }
// }
//
// // show map name and long name of selected level
// Q_strncpyz( buf, Info_ValueForKey( levelMenuInfo.selectedArenaInfo, "map" ), 20 );
// Q_strupr( buf );
// Com_sprintf(string, sizeof(string),"%s",buf);
// UI_DrawProportionalString( 169, 197, string, UI_TINYFONT, colorTable[CT_BLACK] );
//
// fraglimit = atoi( Info_ValueForKey( levelMenuInfo.selectedArenaInfo, "fraglimit" ) );
// UI_DrawProportionalString( 372, 197, va("%s %i", menu_normal_text[MNT_POINTLIMIT],fraglimit) , UI_TINYFONT, colorTable[CT_BLACK] );
//
// // draw bot opponents
// y = 242;
// pad = 64 + 3;
// x = 84 - pad;
// for( n = 0; n < levelMenuInfo.numBots; n++ )
// {
// if (n == 4) // Next line of bad guys
// {
// y +=68;
// x = 84 - pad;
// }
//
// x += pad;
// if( levelMenuInfo.botPics[n] )
// {
// UI_DrawHandlePic( x, y, 64, 64, levelMenuInfo.botPics[n]);
// }
// else
// {
// UI_FillRect( x, y, 64, 64, colorTable[CT_BLACK] );
// UI_DrawProportionalString( x+22, y+18, "?", UI_BIGFONT, color_orange );
// }
//
// UI_DrawProportionalString( x, y + 54, levelMenuInfo.botNames[n], UI_TINYFONT, colorTable[CT_LTORANGE] );
//
// }
//
//
// // Left rounded ends for buttons
// trap_R_SetColor( colorTable[levelMenuInfo.mainmenu.color]);
// UI_DrawHandlePic(110 - 14, levelMenuInfo.mainmenu.generic.y,
// MENU_BUTTON_MED_HEIGHT, MENU_BUTTON_MED_HEIGHT, uis.graphicButtonLeftEnd);
//
// trap_R_SetColor( colorTable[levelMenuInfo.back.color]);
// UI_DrawHandlePic(110 - 14, levelMenuInfo.back.generic.y,
// MENU_BUTTON_MED_HEIGHT, MENU_BUTTON_MED_HEIGHT, uis.graphicButtonLeftEnd);
//
// trap_R_SetColor( colorTable[levelMenuInfo.item_reset.color]);
// UI_DrawHandlePic(levelMenuInfo.item_reset.generic.x - 14, levelMenuInfo.item_reset.generic.y,
// MENU_BUTTON_MED_HEIGHT, MENU_BUTTON_MED_HEIGHT, uis.graphicButtonLeftEnd);
//
// trap_R_SetColor( colorTable[levelMenuInfo.playerinfo.color]);
// UI_DrawHandlePic(levelMenuInfo.playerinfo.generic.x - 14, levelMenuInfo.playerinfo.generic.y,
// MENU_BUTTON_MED_HEIGHT, MENU_BUTTON_MED_HEIGHT, uis.graphicButtonLeftEnd);
//
// trap_R_SetColor( colorTable[levelMenuInfo.create.color]);
// UI_DrawHandlePic(levelMenuInfo.create.generic.x - 14, levelMenuInfo.create.generic.y,
// MENU_BUTTON_MED_HEIGHT, MENU_BUTTON_MED_HEIGHT, uis.graphicButtonLeftEnd);
//
// trap_R_SetColor( colorTable[levelMenuInfo.advanced.color]);
// UI_DrawHandlePic(levelMenuInfo.advanced.generic.x - 14, levelMenuInfo.advanced.generic.y,
// MENU_BUTTON_MED_HEIGHT, MENU_BUTTON_MED_HEIGHT, uis.graphicButtonLeftEnd);
//
//
//}
//
//
///*
//=================
//UI_SPLevelMenu_Cache
//=================
//*/
//void UI_SPLevelMenu_Cache( void )
//{
// int n;
//
// trap_R_RegisterShaderNoMip( ART_MAP_UNKNOWN );
//
// for( n = 0; n < AWARD_MAX; n++ )
// {
// trap_R_RegisterShaderNoMip( ui_medalPicNames[n] );
// levelMenuInfo.awardSounds[n] = trap_S_RegisterSound( ui_medalSounds[n] );
// }
//
// levelMenuInfo.corner_ul_18_12 = trap_R_RegisterShaderNoMip("menu/common/corner_ul_18_12");
// levelMenuInfo.corner_ur_18_12 = trap_R_RegisterShaderNoMip("menu/common/corner_ur_18_12");
// levelMenuInfo.corner_lr_7_12 = trap_R_RegisterShaderNoMip("menu/common/corner_lr_7_12");
// levelMenuInfo.corner_ll_18_34 = trap_R_RegisterShaderNoMip("menu/common/corner_ll_18_34");
//
// levelMenuInfo.levelSelectedPic = trap_R_RegisterShaderNoMip( ART_LEVELFRAME_SELECTED );
// levelMenuInfo.levelFocusPic = trap_R_RegisterShaderNoMip( ART_LEVELFRAME_FOCUS );
// levelMenuInfo.levelCompletePic[0] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE1 );
// levelMenuInfo.levelCompletePic[1] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE2 );
// levelMenuInfo.levelCompletePic[2] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE3 );
// levelMenuInfo.levelCompletePic[3] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE4 );
// levelMenuInfo.levelCompletePic[4] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE5 );
//
//}
//
//
///*
//=================
//UI_SPLevelMenu_Init
//=================
//*/
//static void UI_SPLevelMenu_Init( void )
//{
// int skill;
// int n;
// int x, y;
// int count;
// char buf[MAX_QPATH];
// int mapHeight,mapWidth;
//
//
// // What skill level are we playing at??
// skill = (int)trap_Cvar_VariableValue( "g_spSkill" );
// if( skill < 1 || skill > 5 )
// {
// trap_Cvar_Set( "g_spSkill", "2" );
// skill = 2;
// }
//
// memset( &levelMenuInfo, 0, sizeof(levelMenuInfo) );
// levelMenuInfo.menu.fullscreen = qtrue;
// levelMenuInfo.menu.wrapAround = qtrue;
// levelMenuInfo.menu.draw = UI_SPLevelMenu_MenuDraw;
// levelMenuInfo.menu.descX = MENU_DESC_X;
// levelMenuInfo.menu.descY = MENU_DESC_Y;
// levelMenuInfo.menu.titleX = MENU_TITLE_X;
// levelMenuInfo.menu.titleY = MENU_TITLE_Y;
// levelMenuInfo.menu.titleI = MNT_SINGLEPLAYER_TITLE;
// levelMenuInfo.menu.footNoteEnum = MNT_SINGLEPLAYER;
//
// UI_SPLevelMenu_Cache();
//
// levelMenuInfo.mainmenu.generic.type = MTYPE_BITMAP;
// levelMenuInfo.mainmenu.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// levelMenuInfo.mainmenu.generic.x = 110;
// levelMenuInfo.mainmenu.generic.y = 391;
// levelMenuInfo.mainmenu.generic.name = BUTTON_GRAPHIC_LONGRIGHT;
// levelMenuInfo.mainmenu.generic.id = ID_MAINMENU;
// levelMenuInfo.mainmenu.generic.callback = UI_SPLevelMenu_BackEvent;
// levelMenuInfo.mainmenu.width = MENU_BUTTON_MED_WIDTH;
// levelMenuInfo.mainmenu.height = MENU_BUTTON_MED_HEIGHT;
// levelMenuInfo.mainmenu.color = CT_DKPURPLE1;
// levelMenuInfo.mainmenu.color2 = CT_LTPURPLE1;
// levelMenuInfo.mainmenu.textX = MENU_BUTTON_TEXT_X;
// levelMenuInfo.mainmenu.textY = MENU_BUTTON_TEXT_Y;
// levelMenuInfo.mainmenu.textEnum = MBT_MAINMENU;
// levelMenuInfo.mainmenu.textcolor = CT_BLACK;
// levelMenuInfo.mainmenu.textcolor2 = CT_WHITE;
//
// levelMenuInfo.back.generic.type = MTYPE_BITMAP;
// levelMenuInfo.back.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// levelMenuInfo.back.generic.x = 110;
// levelMenuInfo.back.generic.y = 415;
// levelMenuInfo.back.generic.name = BUTTON_GRAPHIC_LONGRIGHT;
// levelMenuInfo.back.generic.id = ID_BACK;
// levelMenuInfo.back.generic.callback = UI_SPLevelMenu_BackEvent;
// levelMenuInfo.back.width = MENU_BUTTON_MED_WIDTH;
// levelMenuInfo.back.height = MENU_BUTTON_MED_HEIGHT;
// levelMenuInfo.back.color = CT_DKPURPLE1;
// levelMenuInfo.back.color2 = CT_LTPURPLE1;
// levelMenuInfo.back.textX = MENU_BUTTON_TEXT_X;
// levelMenuInfo.back.textY = MENU_BUTTON_TEXT_Y;
// levelMenuInfo.back.textEnum = MBT_BACK;
// levelMenuInfo.back.textcolor = CT_BLACK;
// levelMenuInfo.back.textcolor2 = CT_WHITE;
//
// levelMenuInfo.item_leftarrow.generic.type = MTYPE_BITMAP;
// levelMenuInfo.item_leftarrow.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// levelMenuInfo.item_leftarrow.generic.name = "menu/common/arrow_left_16.tga";
// levelMenuInfo.item_leftarrow.generic.x = 135;
// levelMenuInfo.item_leftarrow.generic.y = 195;
// levelMenuInfo.item_leftarrow.generic.callback = UI_SPLevelMenu_LeftArrowEvent;
// levelMenuInfo.item_leftarrow.generic.id = ID_LEFTARROW;
// levelMenuInfo.item_leftarrow.width = 16;
// levelMenuInfo.item_leftarrow.height = 16;
// levelMenuInfo.item_leftarrow.color = CT_DKGOLD1;
// levelMenuInfo.item_leftarrow.color2 = CT_LTGOLD1;
// levelMenuInfo.item_leftarrow.textX = MENU_BUTTON_TEXT_X;
// levelMenuInfo.item_leftarrow.textY = MENU_BUTTON_TEXT_Y;
// levelMenuInfo.item_leftarrow.textEnum = MBT_PREVMAPS;
// levelMenuInfo.item_leftarrow.textcolor = CT_BLACK;
// levelMenuInfo.item_leftarrow.textcolor2 = CT_WHITE;
//
// levelMenuInfo.item_rightarrow.generic.type = MTYPE_BITMAP;
// levelMenuInfo.item_rightarrow.generic.name = "menu/common/arrow_right_16.tga";
// levelMenuInfo.item_rightarrow.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// levelMenuInfo.item_rightarrow.generic.x = 558;
// levelMenuInfo.item_rightarrow.generic.y = 195;
// levelMenuInfo.item_rightarrow.generic.callback = UI_SPLevelMenu_RightArrowEvent;
// levelMenuInfo.item_rightarrow.generic.id = ID_RIGHTARROW;
// levelMenuInfo.item_rightarrow.width = 16;
// levelMenuInfo.item_rightarrow.height = 16;
// levelMenuInfo.item_rightarrow.color = CT_DKGOLD1;
// levelMenuInfo.item_rightarrow.color2 = CT_LTGOLD1;
// levelMenuInfo.item_rightarrow.textX = MENU_BUTTON_TEXT_X;
// levelMenuInfo.item_rightarrow.textY = MENU_BUTTON_TEXT_Y;
// levelMenuInfo.item_rightarrow.textEnum = MBT_PREVMAPS;
// levelMenuInfo.item_rightarrow.textcolor = CT_BLACK;
// levelMenuInfo.item_rightarrow.textcolor2 = CT_WHITE;
//
//
//
// // Map pics
// y = 84;
// x = 130;
// mapHeight = 87;
// mapWidth = 116;
// levelMenuInfo.item_maps[0].generic.type = MTYPE_BITMAP;
// levelMenuInfo.item_maps[0].generic.name = levelMenuInfo.levelPicNames[0];
// levelMenuInfo.item_maps[0].generic.flags = QMF_LEFT_JUSTIFY;
// levelMenuInfo.item_maps[0].generic.x = x;
// levelMenuInfo.item_maps[0].generic.y = y;
// levelMenuInfo.item_maps[0].generic.id = ID_PICTURE0;
// levelMenuInfo.item_maps[0].generic.callback = UI_SPLevelMenu_LevelEvent;
// levelMenuInfo.item_maps[0].width = mapWidth;
// levelMenuInfo.item_maps[0].height = mapHeight;
//
// x += mapWidth + 6;
// levelMenuInfo.item_maps[1].generic.type = MTYPE_BITMAP;
// levelMenuInfo.item_maps[1].generic.name = levelMenuInfo.levelPicNames[1];
// levelMenuInfo.item_maps[1].generic.flags = QMF_LEFT_JUSTIFY;
// levelMenuInfo.item_maps[1].generic.x = x;
// levelMenuInfo.item_maps[1].generic.y = y;
// levelMenuInfo.item_maps[1].generic.id = ID_PICTURE1;
// levelMenuInfo.item_maps[1].generic.callback = UI_SPLevelMenu_LevelEvent;
// levelMenuInfo.item_maps[1].width = mapWidth;
// levelMenuInfo.item_maps[1].height = mapHeight;
//
// x += mapWidth + 6;
// levelMenuInfo.item_maps[2].generic.type = MTYPE_BITMAP;
// levelMenuInfo.item_maps[2].generic.name = levelMenuInfo.levelPicNames[2];
// levelMenuInfo.item_maps[2].generic.flags = QMF_LEFT_JUSTIFY;
// levelMenuInfo.item_maps[2].generic.x = x;
// levelMenuInfo.item_maps[2].generic.y = y;
// levelMenuInfo.item_maps[2].generic.id = ID_PICTURE2;
// levelMenuInfo.item_maps[2].generic.callback = UI_SPLevelMenu_LevelEvent;
// levelMenuInfo.item_maps[2].width = mapWidth;
// levelMenuInfo.item_maps[2].height = mapHeight;
//
// x += mapWidth + 6;
// levelMenuInfo.item_maps[3].generic.type = MTYPE_BITMAP;
// levelMenuInfo.item_maps[3].generic.name = levelMenuInfo.levelPicNames[3];
// levelMenuInfo.item_maps[3].generic.flags = QMF_LEFT_JUSTIFY;
// levelMenuInfo.item_maps[3].generic.x = x;
// levelMenuInfo.item_maps[3].generic.y = y;
// levelMenuInfo.item_maps[3].generic.id = ID_PICTURE3;
// levelMenuInfo.item_maps[3].generic.callback = UI_SPLevelMenu_LevelEvent;
// levelMenuInfo.item_maps[3].width = mapWidth;
// levelMenuInfo.item_maps[3].height = mapHeight;
//
// levelMenuInfo.item_reset.generic.type = MTYPE_BITMAP;
// levelMenuInfo.item_reset.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// levelMenuInfo.item_reset.generic.x = 432;
// levelMenuInfo.item_reset.generic.y = 350;
// levelMenuInfo.item_reset.generic.name = BUTTON_GRAPHIC_LONGRIGHT;
// levelMenuInfo.item_reset.generic.id = ID_RESET;
// levelMenuInfo.item_reset.generic.callback = UI_SPLevelMenu_ResetEvent;
// levelMenuInfo.item_reset.width = MENU_BUTTON_MED_WIDTH;
// levelMenuInfo.item_reset.height = MENU_BUTTON_MED_HEIGHT;
// levelMenuInfo.item_reset.color = CT_DKPURPLE1;
// levelMenuInfo.item_reset.color2 = CT_LTPURPLE1;
// levelMenuInfo.item_reset.textX = MENU_BUTTON_TEXT_X;
// levelMenuInfo.item_reset.textY = MENU_BUTTON_TEXT_Y;
// levelMenuInfo.item_reset.textEnum = MBT_RESETPROGRESS;
// levelMenuInfo.item_reset.textcolor = CT_BLACK;
// levelMenuInfo.item_reset.textcolor2 = CT_WHITE;
//
// // Player pic
// trap_Cvar_VariableStringBuffer( "model", levelMenuInfo.playerModel, sizeof(levelMenuInfo.playerModel) );
// PlayerIcon( levelMenuInfo.playerModel, levelMenuInfo.playerPicName, sizeof(levelMenuInfo.playerPicName) );
// levelMenuInfo.item_player.generic.type = MTYPE_BITMAP;
// levelMenuInfo.item_player.generic.flags = QMF_INACTIVE;
// levelMenuInfo.item_player.generic.name = levelMenuInfo.playerPicName;
// levelMenuInfo.item_player.generic.x = 461;
// levelMenuInfo.item_player.generic.y = 247;
// levelMenuInfo.item_player.generic.id = ID_PLAYERPIC;
// levelMenuInfo.item_player.width = 64;
// levelMenuInfo.item_player.height = 64;
//
// levelMenuInfo.playerinfo.generic.type = MTYPE_BITMAP;
// levelMenuInfo.playerinfo.generic.name = BUTTON_GRAPHIC_LONGRIGHT;
// levelMenuInfo.playerinfo.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// levelMenuInfo.playerinfo.generic.x = 432;
// levelMenuInfo.playerinfo.generic.y = 325;
// levelMenuInfo.playerinfo.generic.callback = UI_SPLevelMenu_PlayerEvent;
// levelMenuInfo.playerinfo.generic.id = ID_PLAYERINFO;
// levelMenuInfo.playerinfo.width = MENU_BUTTON_MED_WIDTH;
// levelMenuInfo.playerinfo.height = MENU_BUTTON_MED_HEIGHT;
// levelMenuInfo.playerinfo.color = CT_DKPURPLE1;
// levelMenuInfo.playerinfo.color2 = CT_LTPURPLE1;
// levelMenuInfo.playerinfo.textX = MENU_BUTTON_TEXT_X;
// levelMenuInfo.playerinfo.textY = MENU_BUTTON_TEXT_Y;
// levelMenuInfo.playerinfo.textEnum = MBT_PLAYERINFO;
// levelMenuInfo.playerinfo.textcolor = CT_BLACK;
// levelMenuInfo.playerinfo.textcolor2 = CT_WHITE;
//
//
// for( n = 0; n < AWARD_MAX; n++ )
// {
// levelMenuInfo.awardLevels[n] = UI_GetAwardLevel( n );
// }
//// levelMenuInfo.awardLevels[AWARD_FRAGS] = 100 * (levelMenuInfo.awardLevels[AWARD_FRAGS] / 100);
//
// y = AWARDS_Y;
// count = 0;
// for( n = 0; n < AWARD_MAX; n++ )
// {
// if( levelMenuInfo.awardLevels[n] )
// {
// x = 385 + (count * 38);
//
// levelMenuInfo.item_awards[count].generic.type = MTYPE_BITMAP;
// levelMenuInfo.item_awards[count].generic.name = ui_medalPicNames[n];
// levelMenuInfo.item_awards[count].generic.flags = QMF_LEFT_JUSTIFY|QMF_SILENT|QMF_MOUSEONLY;
// levelMenuInfo.item_awards[count].generic.x = x;
// levelMenuInfo.item_awards[count].generic.y = y;
// levelMenuInfo.item_awards[count].generic.id = ID_AWARD1 + n;
// levelMenuInfo.item_awards[count].generic.callback = UI_SPLevelMenu_AwardEvent;
// levelMenuInfo.item_awards[count].width = 34;
// levelMenuInfo.item_awards[count].height = 34;
// count++;
// }
// }
//
// levelMenuInfo.create.generic.type = MTYPE_BITMAP;
// levelMenuInfo.create.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// levelMenuInfo.create.generic.x = 293;
// levelMenuInfo.create.generic.y = 391;
// levelMenuInfo.create.generic.name = BUTTON_GRAPHIC_LONGRIGHT;
// levelMenuInfo.create.generic.id = ID_CUSTOM;
// levelMenuInfo.create.generic.callback = UI_SPLevelMenu_CreateEvent;
// levelMenuInfo.create.width = MENU_BUTTON_MED_WIDTH;
// levelMenuInfo.create.height = MENU_BUTTON_MED_HEIGHT;
// levelMenuInfo.create.color = CT_DKPURPLE1;
// levelMenuInfo.create.color2 = CT_LTPURPLE1;
// levelMenuInfo.create.textX = MENU_BUTTON_TEXT_X;
// levelMenuInfo.create.textY = MENU_BUTTON_TEXT_Y;
// levelMenuInfo.create.textEnum = MBT_CREATEMATCH;
// levelMenuInfo.create.textcolor = CT_BLACK;
// levelMenuInfo.create.textcolor2 = CT_WHITE;
//
// levelMenuInfo.advanced.generic.type = MTYPE_BITMAP;
// levelMenuInfo.advanced.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// levelMenuInfo.advanced.generic.x = 293;
// levelMenuInfo.advanced.generic.y = 415;
// levelMenuInfo.advanced.generic.name = BUTTON_GRAPHIC_LONGRIGHT;
// levelMenuInfo.advanced.generic.id = ID_ADVANCED;
// levelMenuInfo.advanced.generic.callback = UI_SPLevelMenu_AdvancedEvent;
// levelMenuInfo.advanced.width = MENU_BUTTON_MED_WIDTH;
// levelMenuInfo.advanced.height = MENU_BUTTON_MED_HEIGHT;
// levelMenuInfo.advanced.color = CT_DKPURPLE1;
// levelMenuInfo.advanced.color2 = CT_LTPURPLE1;
// levelMenuInfo.advanced.textX = MENU_BUTTON_TEXT_X;
// levelMenuInfo.advanced.textY = MENU_BUTTON_TEXT_Y;
// levelMenuInfo.advanced.textEnum = MBT_ADVANCEDSERVER;
// levelMenuInfo.advanced.textcolor = CT_BLACK;
// levelMenuInfo.advanced.textcolor2 = CT_WHITE;
//
// levelMenuInfo.fight.generic.type = MTYPE_BITMAP;
// levelMenuInfo.fight.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// levelMenuInfo.fight.generic.x = 462;
// levelMenuInfo.fight.generic.y = 391;
// levelMenuInfo.fight.generic.name = "menu/common/square.tga";
// levelMenuInfo.fight.generic.id = ID_NEXT;
// levelMenuInfo.fight.generic.callback = UI_SPLevelMenu_NextEvent;
// levelMenuInfo.fight.width = 150;
// levelMenuInfo.fight.height = 42;
// levelMenuInfo.fight.color = CT_DKPURPLE1;
// levelMenuInfo.fight.color2 = CT_LTPURPLE1;
// levelMenuInfo.fight.textX = 2;
// levelMenuInfo.fight.textY = 2;
// levelMenuInfo.fight.textEnum = MBT_ENGAGE;
// levelMenuInfo.fight.textcolor = CT_BLACK;
// levelMenuInfo.fight.textcolor2 = CT_WHITE;
//
// levelMenuInfo.item_null.generic.type = MTYPE_BITMAP;
// levelMenuInfo.item_null.generic.flags = QMF_LEFT_JUSTIFY|QMF_MOUSEONLY|QMF_SILENT;
// levelMenuInfo.item_null.generic.x = 0;
// levelMenuInfo.item_null.generic.y = 0;
// levelMenuInfo.item_null.width = 640;
// levelMenuInfo.item_null.height = 480;
//
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.mainmenu );
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.back );
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.item_leftarrow );
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.item_rightarrow );
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.item_maps[0] );
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.item_maps[1] );
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.item_maps[2] );
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.item_maps[3] );
// // Extend to pick up names at bottom of pictures
// levelMenuInfo.item_maps[0].generic.bottom += 18;
// levelMenuInfo.item_maps[1].generic.bottom += 18;
// levelMenuInfo.item_maps[2].generic.bottom += 18;
// levelMenuInfo.item_maps[3].generic.bottom += 18;
//
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.item_player );
//
//// for( n = 0; n < count; n++ )
//// {
//// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.item_awards[n] );
//// }
//
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.item_reset );
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.playerinfo );
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.create );
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.advanced );
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.fight );
// Menu_AddItem( &levelMenuInfo.menu, &levelMenuInfo.item_null );
//
// trap_Cvar_VariableStringBuffer( "ui_spSelection", buf, sizeof(buf) );
// if( *buf )
// {
// n = atoi( buf );
// selectedArenaSet = n / ARENAS_PER_TIER;
// selectedArena = n % ARENAS_PER_TIER;
// }
// else
// {
// selectedArenaSet = currentSet;
// selectedArena = currentGame;
// }
//
// UI_SPLevelMenu_SetMenuItems();
//}
//
//
///*
//=================
//UI_SPLevelMenu
//=================
//*/
//void UI_SPLevelMenu( void )
//{
// int level;
// int trainingLevel;
// const char *arenaInfo;
//
// trainingTier = -1;
// arenaInfo = UI_GetSpecialArenaInfo( "training" );
// if( arenaInfo )
// {
// minTier = trainingTier;
// trainingLevel = atoi( Info_ValueForKey( arenaInfo, "num" ) );
// }
// else
// {
// minTier = 0;
// trainingLevel = -2;
// }
//
// finalTier = UI_GetNumSPTiers();
// arenaInfo = UI_GetSpecialArenaInfo( "final" );
// if( arenaInfo ) {
// maxTier = finalTier;
// }
// else
// {
// maxTier = finalTier - 1;
// if( maxTier < minTier )
// {
// maxTier = minTier;
// }
// }
//
// level = UI_GetCurrentGame(-1);
//
// if ( level == -1 ) {
// level = UI_GetNumSPArenas() - 1;
// if( maxTier == finalTier )
// {
// level++;
// }
// }
//
// if( level == trainingLevel )
// {
// currentSet = -1;
// currentGame = 0;
// }
// else {
// currentSet = level / ARENAS_PER_TIER;
// currentGame = level % ARENAS_PER_TIER;
// }
//
// UI_SPLevelMenu_Init();
// UI_PushMenu( &levelMenuInfo.menu );
// Menu_SetCursorToItem( &levelMenuInfo.menu, &levelMenuInfo.fight );
//
//}
//
//
///*
//=================
//UI_SPLevelMenu_f
//=================
//*/
//void UI_SPLevelMenu_f( void )
//{
// trap_Key_SetCatcher( KEYCATCH_UI );
// uis.menusp = 0;
// Mouse_Show();
// UI_SPLevelMenu();
//}
//
//
///*
//=================
//UI_SPLevelMenu_ReInit
//=================
//*/
//void UI_SPLevelMenu_ReInit( void )
//{
// levelMenuInfo.reinit = qtrue;
//}
//
//
///*
//===============
//ResetGameMenu_Event
//===============
//*/
//static void ResetGameMenu_Event (void* ptr, int notification)
//{
// if (notification != QM_ACTIVATED)
// return;
//
// switch (((menucommon_s*)ptr)->id)
// {
// case ID_MAINMENU:
// UI_PopMenu ();
// UI_MainMenu();
// break;
//
// case ID_BACK:
// case ID_NO:
// UI_PopMenu ();
// break;
//
// case ID_YES:
// UI_SPLevelMenu_ResetAction(qtrue);
// break;
// }
//}
//
///*
//===============
//UI_resetGameMenu_Draw
//===============
//*/
//static void UI_resetGameMenu_Draw( void )
//{
// int y;
//
// // Draw the basic screen layout
// UI_MenuFrame2(&resetGameMenuInfo.menu);
//
// trap_R_SetColor( colorTable[CT_LTBROWN1]);
// UI_DrawHandlePic(30,203, 47, 186, uis.whiteShader); // Long left column square on bottom 3rd
//
// // Box around text
// trap_R_SetColor( colorTable[CT_LTPURPLE3]);
// UI_DrawHandlePic(122, 103, 32, 64,resetGameMenuInfo.corner_ul); // Upper left corner
// UI_DrawHandlePic(122, 284, 32, 32,resetGameMenuInfo.corner_ll); // Lower left corner
// UI_DrawHandlePic(544, 103, 32, 64,resetGameMenuInfo.corner_ur); // Upper right corner
// UI_DrawHandlePic(545, 285, 32, 32,resetGameMenuInfo.corner_lr); // Lower right corner
//
// UI_DrawHandlePic(132,103, 426, 31, uis.whiteShader); // Top of box
// UI_DrawHandlePic(122,143, 19, 138, uis.whiteShader); // Left side of box
// UI_DrawHandlePic(549,143, 19, 138, uis.whiteShader); // Right side of box
//
// UI_DrawHandlePic(132,288, 32, 18, uis.whiteShader); // Bottom Left line
// UI_DrawHandlePic(526,288, 32, 18, uis.whiteShader); // Bottom Right line
// UI_DrawHandlePic(167,288, 356, 18, uis.whiteShader); // Bottom Middle line
//
// // Numbers on frame
// UI_DrawProportionalString( 74, 66, "66917",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
// UI_DrawProportionalString( 74, 188, "098-145",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
// UI_DrawProportionalString( 74, 206, "324-76",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
// UI_DrawProportionalString( 74, 395, "774570",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
//
// UI_DrawProportionalString( 150, 107, "63-0999712",UI_TINYFONT, colorTable[CT_BLACK]);
//
// y = 172;
// UI_DrawProportionalString( 176, y, menu_normal_text[MNT_PLAYER_RESET1], UI_SMALLFONT, colorTable[CT_RED] );
// y+=24;
// UI_DrawProportionalString( 176, y, menu_normal_text[MNT_PLAYER_RESET2], UI_SMALLFONT, colorTable[CT_RED] );
// y+=24;
// UI_DrawProportionalString( 176, y, menu_normal_text[MNT_PLAYER_RESET3], UI_SMALLFONT, colorTable[CT_RED] );
// y+=24*2;
// UI_DrawProportionalString( 262, y, menu_normal_text[MNT_RESET_PLAYER],UI_BLINK | UI_SMALLFONT, colorTable[CT_RED] );
//
// trap_R_SetColor( colorTable[resetGameMenuInfo.mainmenu.color]);
// UI_DrawHandlePic(110 - 14, resetGameMenuInfo.mainmenu.generic.y,
// MENU_BUTTON_MED_HEIGHT, MENU_BUTTON_MED_HEIGHT, uis.graphicButtonLeftEnd);
//
// trap_R_SetColor( colorTable[resetGameMenuInfo.back.color]);
// UI_DrawHandlePic(110 - 14, resetGameMenuInfo.back.generic.y,
// MENU_BUTTON_MED_HEIGHT, MENU_BUTTON_MED_HEIGHT, uis.graphicButtonLeftEnd);
//
// // standard menu drawing
// Menu_Draw( &resetGameMenuInfo.menu );
//}
//
///*
//=================
//UI_ResetGameMenu_Cache
//=================
//*/
//void UI_ResetGameMenu_Cache(void)
//{
// resetGameMenuInfo.corner_ul = trap_R_RegisterShaderNoMip("menu/common/corner_ul_19_31.tga");
// resetGameMenuInfo.corner_ur = trap_R_RegisterShaderNoMip("menu/common/corner_ur_19_31.tga");
// resetGameMenuInfo.corner_ll = trap_R_RegisterShaderNoMip("menu/common/corner_ll_18_19.tga");
// resetGameMenuInfo.corner_lr = trap_R_RegisterShaderNoMip("menu/common/corner_lr_18_19.tga");
//}
//
///*
//=================
//ResetGameMenu_Init
//=================
//*/
//void ResetGameMenu_Init( void )
//{
//
// memset( &resetGameMenuInfo, 0, sizeof(resetGameMenuInfo) );
//
// UI_ResetGameMenu_Cache();
//
// resetGameMenuInfo.menu.fullscreen = qtrue;
// resetGameMenuInfo.menu.wrapAround = qtrue;
// resetGameMenuInfo.menu.draw = UI_resetGameMenu_Draw;
// resetGameMenuInfo.menu.descX = MENU_DESC_X;
// resetGameMenuInfo.menu.descY = MENU_DESC_Y;
// resetGameMenuInfo.menu.titleX = MENU_TITLE_X;
// resetGameMenuInfo.menu.titleY = MENU_TITLE_Y;
// resetGameMenuInfo.menu.titleI = MNT_CONTROLSMENU_TITLE;
// resetGameMenuInfo.menu.footNoteEnum = MNT_RESETPLAYER;
//
// resetGameMenuInfo.mainmenu.generic.type = MTYPE_BITMAP;
// resetGameMenuInfo.mainmenu.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// resetGameMenuInfo.mainmenu.generic.x = 110;
// resetGameMenuInfo.mainmenu.generic.y = 391;
// resetGameMenuInfo.mainmenu.generic.name = BUTTON_GRAPHIC_LONGRIGHT;
// resetGameMenuInfo.mainmenu.generic.id = ID_MAINMENU;
// resetGameMenuInfo.mainmenu.generic.callback = ResetGameMenu_Event;
// resetGameMenuInfo.mainmenu.width = MENU_BUTTON_MED_WIDTH;
// resetGameMenuInfo.mainmenu.height = MENU_BUTTON_MED_HEIGHT;
// resetGameMenuInfo.mainmenu.color = CT_DKPURPLE1;
// resetGameMenuInfo.mainmenu.color2 = CT_LTPURPLE1;
// resetGameMenuInfo.mainmenu.textX = MENU_BUTTON_TEXT_X;
// resetGameMenuInfo.mainmenu.textY = MENU_BUTTON_TEXT_Y;
// resetGameMenuInfo.mainmenu.textEnum = MBT_MAINMENU;
// resetGameMenuInfo.mainmenu.textcolor = CT_BLACK;
// resetGameMenuInfo.mainmenu.textcolor2 = CT_WHITE;
//
// resetGameMenuInfo.back.generic.type = MTYPE_BITMAP;
// resetGameMenuInfo.back.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// resetGameMenuInfo.back.generic.x = 110;
// resetGameMenuInfo.back.generic.y = 415;
// resetGameMenuInfo.back.generic.name = BUTTON_GRAPHIC_LONGRIGHT;
// resetGameMenuInfo.back.generic.id = ID_BACK;
// resetGameMenuInfo.back.generic.callback = ResetGameMenu_Event;
// resetGameMenuInfo.back.width = MENU_BUTTON_MED_WIDTH;
// resetGameMenuInfo.back.height = MENU_BUTTON_MED_HEIGHT;
// resetGameMenuInfo.back.color = CT_DKPURPLE1;
// resetGameMenuInfo.back.color2 = CT_LTPURPLE1;
// resetGameMenuInfo.back.textX = MENU_BUTTON_TEXT_X;
// resetGameMenuInfo.back.textY = MENU_BUTTON_TEXT_Y;
// resetGameMenuInfo.back.textEnum = MBT_BACK;
// resetGameMenuInfo.back.textcolor = CT_BLACK;
// resetGameMenuInfo.back.textcolor2 = CT_WHITE;
//
// resetGameMenuInfo.yes.generic.type = MTYPE_BITMAP;
// resetGameMenuInfo.yes.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// resetGameMenuInfo.yes.generic.x = 462;
// resetGameMenuInfo.yes.generic.y = 391;
// resetGameMenuInfo.yes.generic.name = GRAPHIC_SQUARE;
// resetGameMenuInfo.yes.generic.id = ID_YES;
// resetGameMenuInfo.yes.generic.callback = ResetGameMenu_Event;
// resetGameMenuInfo.yes.width = 150;
// resetGameMenuInfo.yes.height = 42;
// resetGameMenuInfo.yes.color = CT_DKPURPLE1;
// resetGameMenuInfo.yes.color2 = CT_LTPURPLE1;
// resetGameMenuInfo.yes.textX = MENU_BUTTON_TEXT_X;
// resetGameMenuInfo.yes.textY = MENU_BUTTON_TEXT_Y;
// resetGameMenuInfo.yes.textEnum = MBT_YESRESET;
// resetGameMenuInfo.yes.textcolor = CT_BLACK;
// resetGameMenuInfo.yes.textcolor2 = CT_WHITE;
//
//
// Menu_AddItem( &resetGameMenuInfo.menu, &resetGameMenuInfo.mainmenu );
// Menu_AddItem( &resetGameMenuInfo.menu, &resetGameMenuInfo.back );
// Menu_AddItem( &resetGameMenuInfo.menu, &resetGameMenuInfo.yes );
//
//}
//
///*
//=================
//UI_ResetGameMenu
//=================
//*/
//void UI_ResetGameMenu( void )
//{
// ResetGameMenu_Init();
//
// UI_PushMenu( &resetGameMenuInfo.menu );
// Menu_SetCursorToItem( &resetGameMenuInfo.menu, &resetGameMenuInfo.back );
//}
//
//
///*
//===============
//M_SPChoose_Event
//===============
//*/
//void M_SPChoose_Event (void* ptr, int notification)
//{
// if (notification != QM_ACTIVATED)
// return;
//
// switch (((menucommon_s*)ptr)->id)
// {
// case ID_MAINMENU:
// UI_PopMenu ();
// break;
//
// case ID_CUSTOM:
// UI_StartServerMenu( qfalse );
// break;
//
// case ID_PRESET:
// UI_SPLevelMenu();
// break;
// }
//}
///*
//===============
//SPChoose_MenuKey
//===============
//*/
//static sfxHandle_t SPChoose_MenuKey( int key )
//{
// return ( Menu_DefaultKey( &s_spchoose.menu, key ) );
//}
//
///*
//===============
//SPChoose_MenuDraw
//===============
//*/
//static void SPChoose_MenuDraw( void )
//{
// // Draw the basic screen layout
// UI_MenuFrame(&s_spchoose.menu);
//
// trap_R_SetColor( colorTable[CT_LTBROWN1]);
// UI_DrawHandlePic(30,203, 47, 186, uis.whiteShader); // Long left column square on bottom 3rd
//
// UI_DrawProportionalString( 74, 66, "45",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
// UI_DrawProportionalString( 74, 84, "8341",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
// UI_DrawProportionalString( 74, 188, "90902",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
// UI_DrawProportionalString( 74, 206, "44",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
// UI_DrawProportionalString( 74, 395, "6801",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
//
// trap_R_SetColor( colorTable[CT_DKPURPLE1]);
//
// // Left rounded ends
// UI_DrawHandlePic(290 - 14, 240, MENU_BUTTON_MED_HEIGHT, MENU_BUTTON_MED_HEIGHT, uis.graphicButtonLeftEnd);
// UI_DrawHandlePic(290 - 14, 310, MENU_BUTTON_MED_HEIGHT, MENU_BUTTON_MED_HEIGHT, uis.graphicButtonLeftEnd);
//
// Menu_Draw( &s_spchoose.menu );
//}
//
///*
//===============
//SPChooseMenu_Cache
//===============
//*/
//void SPChooseMenu_Cache( void )
//{
//}
//
///*
//=================
//SPChoose_MenuInit
//=================
//*/
//static void SPChoose_MenuInit(void)
//{
// int x,y;
//
// SPChooseMenu_Cache();
//
// s_spchoose.menu.nitems = 0;
// s_spchoose.menu.draw = SPChoose_MenuDraw;
// s_spchoose.menu.key = SPChoose_MenuKey;
// s_spchoose.menu.wrapAround = qtrue;
// s_spchoose.menu.descX = MENU_DESC_X;
// s_spchoose.menu.descY = MENU_DESC_Y;
// s_spchoose.menu.titleX = MENU_TITLE_X;
// s_spchoose.menu.titleY = MENU_TITLE_Y;
// s_spchoose.menu.titleI = MNT_SINGLEPLAYER_TITLE;
// s_spchoose.menu.footNoteEnum = MNT_SOLOMATCHTYPES;
// s_spchoose.menu.fullscreen = qtrue;
//
// s_spchoose.mainmenu.generic.type = MTYPE_BITMAP;
// s_spchoose.mainmenu.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// s_spchoose.mainmenu.generic.x = 482;
// s_spchoose.mainmenu.generic.y = 136;
// s_spchoose.mainmenu.generic.name = BUTTON_GRAPHIC_LONGRIGHT;
// s_spchoose.mainmenu.generic.id = ID_MAINMENU;
// s_spchoose.mainmenu.generic.callback = M_SPChoose_Event;
// s_spchoose.mainmenu.width = MENU_BUTTON_MED_WIDTH;
// s_spchoose.mainmenu.height = MENU_BUTTON_MED_HEIGHT;
// s_spchoose.mainmenu.color = CT_DKPURPLE1;
// s_spchoose.mainmenu.color2 = CT_LTPURPLE1;
// s_spchoose.mainmenu.textX = MENU_BUTTON_TEXT_X;
// s_spchoose.mainmenu.textY = MENU_BUTTON_TEXT_Y;
// s_spchoose.mainmenu.textEnum = MBT_MAINMENU;
// s_spchoose.mainmenu.textcolor = CT_BLACK;
// s_spchoose.mainmenu.textcolor2 = CT_WHITE;
//
// x = 290;
// y = 240;
// s_spchoose.preset.generic.type = MTYPE_BITMAP;
// s_spchoose.preset.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// s_spchoose.preset.generic.x = x;
// s_spchoose.preset.generic.y = y;
// s_spchoose.preset.generic.name = BUTTON_GRAPHIC_LONGRIGHT;
// s_spchoose.preset.generic.id = ID_PRESET;
// s_spchoose.preset.generic.callback = M_SPChoose_Event;
// s_spchoose.preset.width = MENU_BUTTON_MED_WIDTH;
// s_spchoose.preset.height = MENU_BUTTON_MED_HEIGHT;
// s_spchoose.preset.color = CT_DKPURPLE1;
// s_spchoose.preset.color2 = CT_LTPURPLE1;
// s_spchoose.preset.textX = MENU_BUTTON_TEXT_X;
// s_spchoose.preset.textY = MENU_BUTTON_TEXT_Y;
// s_spchoose.preset.textEnum = MBT_PRESETGAME;
// s_spchoose.preset.textcolor = CT_BLACK;
// s_spchoose.preset.textcolor2 = CT_WHITE;
//
// y += 70;
// s_spchoose.create.generic.type = MTYPE_BITMAP;
// s_spchoose.create.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
// s_spchoose.create.generic.x = x;
// s_spchoose.create.generic.y = y;
// s_spchoose.create.generic.name = BUTTON_GRAPHIC_LONGRIGHT;
// s_spchoose.create.generic.id = ID_CUSTOM;
// s_spchoose.create.generic.callback = M_SPChoose_Event;
// s_spchoose.create.width = MENU_BUTTON_MED_WIDTH;
// s_spchoose.create.height = MENU_BUTTON_MED_HEIGHT;
// s_spchoose.create.color = CT_DKPURPLE1;
// s_spchoose.create.color2 = CT_LTPURPLE1;
// s_spchoose.create.textX = MENU_BUTTON_TEXT_X;
// s_spchoose.create.textY = MENU_BUTTON_TEXT_Y;
// s_spchoose.create.textEnum = MBT_CREATEMATCH;
// s_spchoose.create.textcolor = CT_BLACK;
// s_spchoose.create.textcolor2 = CT_WHITE;
//
// Menu_AddItem( &s_spchoose.menu, &s_spchoose.mainmenu );
// Menu_AddItem( &s_spchoose.menu, &s_spchoose.preset );
// Menu_AddItem( &s_spchoose.menu, &s_spchoose.create );
//
//}
//
///*
//=================
//UI_SPChooseMenu
//=================
//*/
//void UI_SPChooseMenu( void )
//{
//
// SPChoose_MenuInit();
//
// UI_PushMenu( &s_spchoose.menu );
// Menu_SetCursorToItem( &s_spchoose.menu, &s_spchoose.preset );
//}