488 lines
18 KiB
C
488 lines
18 KiB
C
// Copyright (C) 1999-2000 Id Software, Inc.
|
|
//
|
|
/*
|
|
=============================================================================
|
|
|
|
SINGLE PLAYER SKILL MENU
|
|
|
|
=============================================================================
|
|
*/
|
|
|
|
#include "ui_local.h"
|
|
|
|
|
|
#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_BABY 10
|
|
#define ID_EASY 11
|
|
#define ID_MEDIUM 12
|
|
#define ID_HARD 13
|
|
#define ID_NIGHTMARE 14
|
|
#define ID_BACK 15
|
|
#define ID_FIGHT 16
|
|
#define ID_MAINMENU 17
|
|
|
|
|
|
typedef struct
|
|
{
|
|
menuframework_s menu;
|
|
|
|
menubitmap_s item_baby;
|
|
menubitmap_s item_easy;
|
|
menubitmap_s item_medium;
|
|
menubitmap_s item_hard;
|
|
menubitmap_s item_nightmare;
|
|
menubitmap_s item_dotl;
|
|
menubitmap_s item_dotr;
|
|
|
|
menubitmap_s mainmenu;
|
|
menubitmap_s art_skillPic;
|
|
menubitmap_s item_back;
|
|
menubitmap_s item_fight;
|
|
qhandle_t corner_18_50;
|
|
|
|
const char *arenaInfo;
|
|
qhandle_t skillpics[5];
|
|
sfxHandle_t nightmareSound; // Do we need this for Voyager??? RWL
|
|
sfxHandle_t silenceSound;
|
|
} skillMenuInfo_t;
|
|
|
|
static skillMenuInfo_t skillMenuInfo;
|
|
|
|
int skillButtonY[5] =
|
|
{
|
|
131,
|
|
161,
|
|
191,
|
|
221,
|
|
251
|
|
};
|
|
|
|
/*
|
|
=================
|
|
SetSkillColor
|
|
=================
|
|
*/
|
|
static void SetSkillColor( int skill, int color )
|
|
{
|
|
switch( skill )
|
|
{
|
|
case 1:
|
|
skillMenuInfo.item_baby.color = color;
|
|
break;
|
|
case 2:
|
|
skillMenuInfo.item_easy.color = color;
|
|
break;
|
|
case 3:
|
|
skillMenuInfo.item_medium.color = color;
|
|
break;
|
|
case 4:
|
|
skillMenuInfo.item_hard.color = color;
|
|
break;
|
|
case 5:
|
|
skillMenuInfo.item_nightmare.color = color;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/*
|
|
=================
|
|
UI_SPSkillMenu_SkillEvent
|
|
=================
|
|
*/
|
|
static void UI_SPSkillMenu_SkillEvent( void *ptr, int notification )
|
|
{
|
|
int id;
|
|
int skill;
|
|
|
|
if (notification != QM_ACTIVATED)
|
|
{
|
|
return;
|
|
}
|
|
|
|
// SetSkillColor( (int)trap_Cvar_VariableValue( "g_spSkill" ), CT_RED );
|
|
|
|
id = ((menucommon_s*)ptr)->id;
|
|
skill = id - ID_BABY + 1;
|
|
trap_Cvar_SetValue( "g_spSkill", skill );
|
|
|
|
skillMenuInfo.item_dotl.generic.y= skillButtonY[skill-1];
|
|
skillMenuInfo.item_dotr.generic.y= skillButtonY[skill-1];
|
|
|
|
skillMenuInfo.art_skillPic.shader = skillMenuInfo.skillpics[skill - 1];
|
|
|
|
// if( id == ID_NIGHTMARE )
|
|
// {
|
|
// trap_S_StartLocalSound( skillMenuInfo.nightmareSound, CHAN_ANNOUNCER );
|
|
// }
|
|
// else
|
|
// {
|
|
trap_S_StartLocalSound( skillMenuInfo.silenceSound, CHAN_ANNOUNCER );
|
|
// }
|
|
}
|
|
|
|
|
|
/*
|
|
=================
|
|
UI_SPSkillMenu_FightEvent
|
|
=================
|
|
*/
|
|
static void UI_SPSkillMenu_FightEvent( void *ptr, int notification )
|
|
{
|
|
if (notification != QM_ACTIVATED)
|
|
{
|
|
return;
|
|
}
|
|
|
|
UI_SPArena_Start( skillMenuInfo.arenaInfo );
|
|
}
|
|
|
|
|
|
/*
|
|
=================
|
|
UI_SPSkillMenu_BackEvent
|
|
=================
|
|
*/
|
|
static void UI_SPSkillMenu_BackEvent( void* ptr, int notification )
|
|
{
|
|
if (notification != QM_ACTIVATED)
|
|
{
|
|
return;
|
|
}
|
|
|
|
trap_S_StartLocalSound( skillMenuInfo.silenceSound, CHAN_ANNOUNCER );
|
|
UI_PopMenu();
|
|
}
|
|
|
|
|
|
/*
|
|
=================
|
|
UI_SPSkillMenu_MainEvent
|
|
=================
|
|
*/
|
|
static void UI_SPSkillMenu_MainEvent( void* ptr, int notification )
|
|
{
|
|
if (notification != QM_ACTIVATED)
|
|
{
|
|
return;
|
|
}
|
|
|
|
UI_PopMenu();
|
|
UI_MainMenu();
|
|
}
|
|
|
|
/*
|
|
=================
|
|
UI_SPSkillMenu_Key
|
|
=================
|
|
*/
|
|
static sfxHandle_t UI_SPSkillMenu_Key( int key )
|
|
{
|
|
if( key == K_MOUSE2 || key == K_ESCAPE )
|
|
{
|
|
trap_S_StartLocalSound( skillMenuInfo.silenceSound, CHAN_ANNOUNCER );
|
|
}
|
|
return Menu_DefaultKey( &skillMenuInfo.menu, key );
|
|
}
|
|
|
|
/*
|
|
=================
|
|
UI_SPSkillMenu_MenuDraw
|
|
=================
|
|
*/
|
|
static void UI_SPSkillMenu_MenuDraw( void )
|
|
{
|
|
UI_MenuFrame2(&skillMenuInfo.menu);
|
|
|
|
trap_R_SetColor( colorTable[CT_LTBROWN1]);
|
|
UI_DrawHandlePic(30,203, 47, 186, uis.whiteShader); // Long left column square on bottom 3rd
|
|
|
|
trap_R_SetColor( colorTable[CT_DKPURPLE2]);
|
|
|
|
UI_DrawHandlePic( 146, 83, 64, 32, skillMenuInfo.corner_18_50); // UL corner
|
|
UI_DrawHandlePic( 479, 83, -64, 32, skillMenuInfo.corner_18_50); // UR corner
|
|
UI_DrawHandlePic( 146, 273, 64, -32, skillMenuInfo.corner_18_50); // LL corner
|
|
UI_DrawHandlePic( 479, 273, -64, -32, skillMenuInfo.corner_18_50); // LR corner
|
|
|
|
UI_DrawHandlePic( 156, 83, 377, 18, uis.whiteShader); // Top
|
|
UI_DrawHandlePic( 146, 101, 50, 51, uis.whiteShader); // Left top
|
|
UI_DrawHandlePic( 146, 155, 50, 90, uis.whiteShader); // Left middle
|
|
UI_DrawHandlePic( 146, 248, 50, 39, uis.whiteShader); // Left bottom
|
|
|
|
UI_DrawHandlePic( 156, 287, 377, 18, uis.whiteShader); // Bottom
|
|
UI_DrawHandlePic( 493, 101, 50, 51, uis.whiteShader); // Right top
|
|
UI_DrawHandlePic( 493, 155, 50, 90, uis.whiteShader); // Right middle
|
|
UI_DrawHandlePic( 493, 248, 50, 39, uis.whiteShader); // Right bottom
|
|
|
|
UI_DrawProportionalString( 208, 84, menu_normal_text[MNT_SKILLLEVEL],UI_SMALLFONT, colorTable[CT_BLACK]);
|
|
|
|
UI_DrawProportionalString( 192, 138, "876-0",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString( 192, 158, "876-1",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString( 192, 251, "876-2",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
|
|
|
|
UI_DrawProportionalString( 496, 138, "878-0",UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString( 496, 158, "878-1",UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString( 496, 251, "878-2",UI_TINYFONT, colorTable[CT_BLACK]);
|
|
|
|
UI_DrawProportionalString( 73, 130, "323",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString( 73, 150, "7240",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString( 73, 206, "1155",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString( 73, 375, "4550",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString( 73, 395, "533",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
|
|
|
|
// Left rounded ends for mainmenu and back buttons
|
|
trap_R_SetColor( colorTable[skillMenuInfo.mainmenu.color]);
|
|
UI_DrawHandlePic(110 - 14, skillMenuInfo.mainmenu.generic.y,
|
|
MENU_BUTTON_MED_HEIGHT, MENU_BUTTON_MED_HEIGHT, uis.graphicButtonLeftEnd);
|
|
|
|
trap_R_SetColor( colorTable[ skillMenuInfo.item_back.color]);
|
|
UI_DrawHandlePic(110 - 14, skillMenuInfo.item_back.generic.y,
|
|
MENU_BUTTON_MED_HEIGHT, MENU_BUTTON_MED_HEIGHT, uis.graphicButtonLeftEnd);
|
|
|
|
// standard menu drawing
|
|
Menu_Draw( &skillMenuInfo.menu );
|
|
}
|
|
|
|
|
|
/*
|
|
=================
|
|
UI_SPSkillMenu_Cache
|
|
=================
|
|
*/
|
|
void UI_SPSkillMenu_Cache( void )
|
|
{
|
|
skillMenuInfo.skillpics[0] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE1 );
|
|
skillMenuInfo.skillpics[1] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE2 );
|
|
skillMenuInfo.skillpics[2] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE3 );
|
|
skillMenuInfo.skillpics[3] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE4 );
|
|
skillMenuInfo.skillpics[4] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE5 );
|
|
|
|
skillMenuInfo.corner_18_50 = trap_R_RegisterShaderNoMip("menu/common/corner_ul_18_50" );
|
|
|
|
// skillMenuInfo.nightmareSound = trap_S_RegisterSound( "sound/misc/nightmare.wav" );
|
|
skillMenuInfo.silenceSound = trap_S_RegisterSound( "sound/silence.wav" );
|
|
}
|
|
|
|
|
|
/*
|
|
=================
|
|
UI_SPSkillMenu_Init
|
|
=================
|
|
*/
|
|
static void UI_SPSkillMenu_Init( void )
|
|
{
|
|
int skill,x;
|
|
|
|
memset( &skillMenuInfo, 0, sizeof(skillMenuInfo) );
|
|
skillMenuInfo.menu.fullscreen = qtrue;
|
|
skillMenuInfo.menu.key = UI_SPSkillMenu_Key;
|
|
skillMenuInfo.menu.draw = UI_SPSkillMenu_MenuDraw;
|
|
skillMenuInfo.menu.descX = MENU_DESC_X;
|
|
skillMenuInfo.menu.descY = MENU_DESC_Y;
|
|
skillMenuInfo.menu.titleX = MENU_TITLE_X;
|
|
skillMenuInfo.menu.titleY = MENU_TITLE_Y;
|
|
skillMenuInfo.menu.titleI = MNT_SINGLEPLAYER_TITLE;
|
|
skillMenuInfo.menu.footNoteEnum = MNT_SINGLEPLAYER;
|
|
|
|
UI_SPSkillMenu_Cache();
|
|
|
|
x = 280;
|
|
skillMenuInfo.item_dotl.generic.type = MTYPE_BITMAP;
|
|
skillMenuInfo.item_dotl.generic.name = "menu/common/barbuttonleft.tga";
|
|
skillMenuInfo.item_dotl.generic.x = x - 20;
|
|
skillMenuInfo.item_dotl.generic.y = skillButtonY[0];
|
|
skillMenuInfo.item_dotl.width = MENU_BUTTON_MED_HEIGHT;
|
|
skillMenuInfo.item_dotl.height = MENU_BUTTON_MED_HEIGHT;
|
|
skillMenuInfo.item_dotl.color = CT_LTGOLD1;
|
|
|
|
skillMenuInfo.item_dotr.generic.type = MTYPE_BITMAP;
|
|
skillMenuInfo.item_dotr.generic.name = "menu/common/barbuttonleft.tga";
|
|
skillMenuInfo.item_dotr.generic.x = x + MENU_BUTTON_MED_WIDTH + 2;
|
|
skillMenuInfo.item_dotr.generic.y = skillButtonY[0];
|
|
skillMenuInfo.item_dotr.width = -MENU_BUTTON_MED_HEIGHT;
|
|
skillMenuInfo.item_dotr.height = MENU_BUTTON_MED_HEIGHT;
|
|
skillMenuInfo.item_dotr.color = CT_LTGOLD1;
|
|
|
|
skillMenuInfo.item_baby.generic.type = MTYPE_BITMAP;
|
|
skillMenuInfo.item_baby.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
skillMenuInfo.item_baby.generic.name = "menu/common/square.tga";
|
|
skillMenuInfo.item_baby.generic.x = x;
|
|
skillMenuInfo.item_baby.generic.y = skillButtonY[0];
|
|
skillMenuInfo.item_baby.generic.callback = UI_SPSkillMenu_SkillEvent;
|
|
skillMenuInfo.item_baby.generic.id = ID_BABY;
|
|
skillMenuInfo.item_baby.width = MENU_BUTTON_MED_WIDTH;
|
|
skillMenuInfo.item_baby.height = MENU_BUTTON_MED_HEIGHT;
|
|
skillMenuInfo.item_baby.color = CT_DKPURPLE1;
|
|
skillMenuInfo.item_baby.color2 = CT_LTPURPLE1;
|
|
skillMenuInfo.item_baby.textX = MENU_BUTTON_TEXT_X;
|
|
skillMenuInfo.item_baby.textY = MENU_BUTTON_TEXT_Y;
|
|
skillMenuInfo.item_baby.textEnum = MBT_BABYLEVEL;
|
|
skillMenuInfo.item_baby.textcolor = CT_BLACK;
|
|
skillMenuInfo.item_baby.textcolor2 = CT_WHITE;
|
|
|
|
skillMenuInfo.item_easy.generic.type = MTYPE_BITMAP;
|
|
skillMenuInfo.item_easy.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
skillMenuInfo.item_easy.generic.name = "menu/common/square.tga";
|
|
skillMenuInfo.item_easy.generic.x = x;
|
|
skillMenuInfo.item_easy.generic.y = skillButtonY[1];
|
|
skillMenuInfo.item_easy.generic.callback = UI_SPSkillMenu_SkillEvent;
|
|
skillMenuInfo.item_easy.generic.id = ID_EASY;
|
|
skillMenuInfo.item_easy.width = MENU_BUTTON_MED_WIDTH;
|
|
skillMenuInfo.item_easy.height = MENU_BUTTON_MED_HEIGHT;
|
|
skillMenuInfo.item_easy.color = CT_DKPURPLE1;
|
|
skillMenuInfo.item_easy.color2 = CT_LTPURPLE1;
|
|
skillMenuInfo.item_easy.textX = MENU_BUTTON_TEXT_X;
|
|
skillMenuInfo.item_easy.textY = MENU_BUTTON_TEXT_Y;
|
|
skillMenuInfo.item_easy.textEnum = MBT_EASYLEVEL;
|
|
skillMenuInfo.item_easy.textcolor = CT_BLACK;
|
|
skillMenuInfo.item_easy.textcolor2 = CT_WHITE;
|
|
|
|
skillMenuInfo.item_medium.generic.type = MTYPE_BITMAP;
|
|
skillMenuInfo.item_medium.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
skillMenuInfo.item_medium.generic.name = "menu/common/square.tga";
|
|
skillMenuInfo.item_medium.generic.x = x;
|
|
skillMenuInfo.item_medium.generic.y = skillButtonY[2];
|
|
skillMenuInfo.item_medium.generic.callback = UI_SPSkillMenu_SkillEvent;
|
|
skillMenuInfo.item_medium.generic.id = ID_MEDIUM;
|
|
skillMenuInfo.item_medium.width = MENU_BUTTON_MED_WIDTH;
|
|
skillMenuInfo.item_medium.height = MENU_BUTTON_MED_HEIGHT;
|
|
skillMenuInfo.item_medium.color = CT_DKPURPLE1;
|
|
skillMenuInfo.item_medium.color2 = CT_LTPURPLE1;
|
|
skillMenuInfo.item_medium.textX = MENU_BUTTON_TEXT_X;
|
|
skillMenuInfo.item_medium.textY = MENU_BUTTON_TEXT_Y;
|
|
skillMenuInfo.item_medium.textEnum = MBT_MEDIUMLEVEL;
|
|
skillMenuInfo.item_medium.textcolor = CT_BLACK;
|
|
skillMenuInfo.item_medium.textcolor2 = CT_WHITE;
|
|
|
|
skillMenuInfo.item_hard.generic.type = MTYPE_BITMAP;
|
|
skillMenuInfo.item_hard.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
skillMenuInfo.item_hard.generic.name = "menu/common/square.tga";
|
|
skillMenuInfo.item_hard.generic.x = x;
|
|
skillMenuInfo.item_hard.generic.y = skillButtonY[3];
|
|
skillMenuInfo.item_hard.generic.callback = UI_SPSkillMenu_SkillEvent;
|
|
skillMenuInfo.item_hard.generic.id = ID_HARD;
|
|
skillMenuInfo.item_hard.width = MENU_BUTTON_MED_WIDTH;
|
|
skillMenuInfo.item_hard.height = MENU_BUTTON_MED_HEIGHT;
|
|
skillMenuInfo.item_hard.color = CT_DKPURPLE1;
|
|
skillMenuInfo.item_hard.color2 = CT_LTPURPLE1;
|
|
skillMenuInfo.item_hard.textX = MENU_BUTTON_TEXT_X;
|
|
skillMenuInfo.item_hard.textY = MENU_BUTTON_TEXT_Y;
|
|
skillMenuInfo.item_hard.textEnum = MBT_HARDLEVEL;
|
|
skillMenuInfo.item_hard.textcolor = CT_BLACK;
|
|
skillMenuInfo.item_hard.textcolor2 = CT_WHITE;
|
|
|
|
skillMenuInfo.item_nightmare.generic.type = MTYPE_BITMAP;
|
|
skillMenuInfo.item_nightmare.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
skillMenuInfo.item_nightmare.generic.name = "menu/common/square.tga";
|
|
skillMenuInfo.item_nightmare.generic.x = x;
|
|
skillMenuInfo.item_nightmare.generic.y = skillButtonY[4];
|
|
skillMenuInfo.item_nightmare.generic.callback = UI_SPSkillMenu_SkillEvent;
|
|
skillMenuInfo.item_nightmare.generic.id = ID_NIGHTMARE;
|
|
skillMenuInfo.item_nightmare.width = MENU_BUTTON_MED_WIDTH;
|
|
skillMenuInfo.item_nightmare.height = MENU_BUTTON_MED_HEIGHT;
|
|
skillMenuInfo.item_nightmare.color = CT_DKPURPLE1;
|
|
skillMenuInfo.item_nightmare.color2 = CT_LTPURPLE1;
|
|
skillMenuInfo.item_nightmare.textX = MENU_BUTTON_TEXT_X;
|
|
skillMenuInfo.item_nightmare.textY = MENU_BUTTON_TEXT_Y;
|
|
skillMenuInfo.item_nightmare.textEnum = MBT_NIGHTMARELEVEL;
|
|
skillMenuInfo.item_nightmare.textcolor = CT_BLACK;
|
|
skillMenuInfo.item_nightmare.textcolor2 = CT_WHITE;
|
|
|
|
skillMenuInfo.mainmenu.generic.type = MTYPE_BITMAP;
|
|
skillMenuInfo.mainmenu.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
skillMenuInfo.mainmenu.generic.x = 110;
|
|
skillMenuInfo.mainmenu.generic.y = 391;
|
|
skillMenuInfo.mainmenu.generic.name = BUTTON_GRAPHIC_LONGRIGHT;
|
|
skillMenuInfo.mainmenu.generic.id = ID_MAINMENU;
|
|
skillMenuInfo.mainmenu.generic.callback = UI_SPSkillMenu_MainEvent;
|
|
skillMenuInfo.mainmenu.width = MENU_BUTTON_MED_WIDTH;
|
|
skillMenuInfo.mainmenu.height = MENU_BUTTON_MED_HEIGHT;
|
|
skillMenuInfo.mainmenu.color = CT_DKPURPLE1;
|
|
skillMenuInfo.mainmenu.color2 = CT_LTPURPLE1;
|
|
skillMenuInfo.mainmenu.textX = MENU_BUTTON_TEXT_X;
|
|
skillMenuInfo.mainmenu.textY = MENU_BUTTON_TEXT_Y;
|
|
skillMenuInfo.mainmenu.textEnum = MBT_MAINMENU;
|
|
skillMenuInfo.mainmenu.textcolor = CT_BLACK;
|
|
skillMenuInfo.mainmenu.textcolor2 = CT_WHITE;
|
|
|
|
skillMenuInfo.item_back.generic.type = MTYPE_BITMAP;
|
|
skillMenuInfo.item_back.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
skillMenuInfo.item_back.generic.name = BUTTON_GRAPHIC_LONGRIGHT;
|
|
skillMenuInfo.item_back.generic.x = 110;
|
|
skillMenuInfo.item_back.generic.y = 415;
|
|
skillMenuInfo.item_back.generic.callback = UI_SPSkillMenu_BackEvent;
|
|
skillMenuInfo.item_back.generic.id = ID_BACK;
|
|
skillMenuInfo.item_back.width = MENU_BUTTON_MED_WIDTH;
|
|
skillMenuInfo.item_back.height = MENU_BUTTON_MED_HEIGHT;
|
|
skillMenuInfo.item_back.color = CT_DKPURPLE1;
|
|
skillMenuInfo.item_back.color2 = CT_LTPURPLE1;
|
|
skillMenuInfo.item_back.textX = MENU_BUTTON_TEXT_X;
|
|
skillMenuInfo.item_back.textY = MENU_BUTTON_TEXT_Y;
|
|
skillMenuInfo.item_back.textEnum = MBT_BACK;
|
|
skillMenuInfo.item_back.textcolor = CT_BLACK;
|
|
skillMenuInfo.item_back.textcolor2 = CT_WHITE;
|
|
|
|
skillMenuInfo.item_fight.generic.type = MTYPE_BITMAP;
|
|
skillMenuInfo.item_fight.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
skillMenuInfo.item_fight.generic.name = "menu/common/square.tga";
|
|
skillMenuInfo.item_fight.generic.x = 462;
|
|
skillMenuInfo.item_fight.generic.y = 391;
|
|
skillMenuInfo.item_fight.generic.callback = UI_SPSkillMenu_FightEvent;
|
|
skillMenuInfo.item_fight.generic.id = ID_FIGHT;
|
|
skillMenuInfo.item_fight.width = 150;
|
|
skillMenuInfo.item_fight.height = 42;
|
|
skillMenuInfo.item_fight.color = CT_DKPURPLE1;
|
|
skillMenuInfo.item_fight.color2 = CT_LTPURPLE1;
|
|
skillMenuInfo.item_fight.textX = MENU_BUTTON_TEXT_X;
|
|
skillMenuInfo.item_fight.textY = MENU_BUTTON_TEXT_Y;
|
|
skillMenuInfo.item_fight.textEnum = MBT_ENGAGE;
|
|
skillMenuInfo.item_fight.textcolor = CT_BLACK;
|
|
skillMenuInfo.item_fight.textcolor2 = CT_WHITE;
|
|
|
|
skillMenuInfo.art_skillPic.generic.type = MTYPE_BITMAP;
|
|
skillMenuInfo.art_skillPic.generic.flags = QMF_CENTER_JUSTIFY|QMF_INACTIVE;
|
|
skillMenuInfo.art_skillPic.generic.x = 354;
|
|
skillMenuInfo.art_skillPic.generic.y = 324;
|
|
skillMenuInfo.art_skillPic.width = 128;
|
|
skillMenuInfo.art_skillPic.height = 96;
|
|
|
|
Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_dotl );
|
|
Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_dotr );
|
|
Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_baby );
|
|
Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_easy );
|
|
Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_medium );
|
|
Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_hard );
|
|
Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_nightmare );
|
|
Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.art_skillPic );
|
|
Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.mainmenu );
|
|
Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_back );
|
|
Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_fight );
|
|
|
|
skill = (int)Com_Clamp( 1, 5, trap_Cvar_VariableValue( "g_spSkill" ) );
|
|
SetSkillColor( skill, CT_DKPURPLE1 );
|
|
skillMenuInfo.art_skillPic.shader = skillMenuInfo.skillpics[skill - 1];
|
|
skillMenuInfo.item_dotl.generic.y= skillButtonY[skill-1];
|
|
skillMenuInfo.item_dotr.generic.y= skillButtonY[skill-1];
|
|
}
|
|
|
|
|
|
/*
|
|
=================
|
|
UI_SPSkillMenu
|
|
=================
|
|
*/
|
|
void UI_SPSkillMenu( const char *arenaInfo )
|
|
{
|
|
UI_SPSkillMenu_Init();
|
|
skillMenuInfo.arenaInfo = arenaInfo;
|
|
UI_PushMenu( &skillMenuInfo.menu );
|
|
Menu_SetCursorToItem( &skillMenuInfo.menu, &skillMenuInfo.item_fight );
|
|
}
|