Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

ui_spskill.c File Reference

#include "ui_local.h"

Include dependency graph for ui_spskill.c:

Include dependency graph

Go to the source code of this file.

Data Structures

struct  skillMenuInfo_t

Defines

#define ART_BACK   "menu/art/back_0.tga"
#define ART_BACK_FOCUS   "menu/art/back_1.tga"
#define ART_FIGHT   "menu/art/fight_0"
#define ART_FIGHT_FOCUS   "menu/art/fight_1"
#define ART_FRAME   "menu/art/cut_frame"
#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_BACK   15
#define ID_EASY   11
#define ID_FIGHT   16
#define ID_HARD   13
#define ID_MEDIUM   12
#define ID_NIGHTMARE   14

Functions

void SetSkillColor (int skill, vec4_t color)
void UI_SPSkillMenu (const char *arenaInfo)
void UI_SPSkillMenu_BackEvent (void *ptr, int notification)
void UI_SPSkillMenu_Cache (void)
void UI_SPSkillMenu_FightEvent (void *ptr, int notification)
void UI_SPSkillMenu_Init (void)
sfxHandle_t UI_SPSkillMenu_Key (int key)
void UI_SPSkillMenu_SkillEvent (void *ptr, int notification)

Variables

skillMenuInfo_t skillMenuInfo


Define Documentation

#define ART_BACK   "menu/art/back_0.tga"
 

Definition at line 35 of file ui_spskill.c.

Referenced by UI_SPSkillMenu_Cache().

#define ART_BACK_FOCUS   "menu/art/back_1.tga"
 

Definition at line 36 of file ui_spskill.c.

Referenced by UI_SPSkillMenu_Cache().

#define ART_FIGHT   "menu/art/fight_0"
 

Definition at line 37 of file ui_spskill.c.

Referenced by UI_SPSkillMenu_Cache().

#define ART_FIGHT_FOCUS   "menu/art/fight_1"
 

Definition at line 38 of file ui_spskill.c.

Referenced by UI_SPSkillMenu_Cache().

#define ART_FRAME   "menu/art/cut_frame"
 

Definition at line 34 of file ui_spskill.c.

#define ART_MAP_COMPLETE1   "menu/art/level_complete1"
 

Definition at line 39 of file ui_spskill.c.

#define ART_MAP_COMPLETE2   "menu/art/level_complete2"
 

Definition at line 40 of file ui_spskill.c.

#define ART_MAP_COMPLETE3   "menu/art/level_complete3"
 

Definition at line 41 of file ui_spskill.c.

#define ART_MAP_COMPLETE4   "menu/art/level_complete4"
 

Definition at line 42 of file ui_spskill.c.

#define ART_MAP_COMPLETE5   "menu/art/level_complete5"
 

Definition at line 43 of file ui_spskill.c.

#define ID_BABY   10
 

Definition at line 45 of file ui_spskill.c.

Referenced by UI_SPSkillMenu_SkillEvent().

#define ID_BACK   15
 

Definition at line 50 of file ui_spskill.c.

#define ID_EASY   11
 

Definition at line 46 of file ui_spskill.c.

#define ID_FIGHT   16
 

Definition at line 51 of file ui_spskill.c.

#define ID_HARD   13
 

Definition at line 48 of file ui_spskill.c.

#define ID_MEDIUM   12
 

Definition at line 47 of file ui_spskill.c.

#define ID_NIGHTMARE   14
 

Definition at line 49 of file ui_spskill.c.


Function Documentation

void SetSkillColor int  skill,
vec4_t  color
[static]
 

Definition at line 79 of file ui_spskill.c.

References menutext_s::color, skillMenuInfo_t::item_baby, skillMenuInfo_t::item_easy, skillMenuInfo_t::item_hard, skillMenuInfo_t::item_medium, skillMenuInfo_t::item_nightmare, and skillMenuInfo.

Referenced by UI_SPSkillMenu_Init(), and UI_SPSkillMenu_SkillEvent().

00079                                                      {
00080     switch( skill ) {
00081     case 1:
00082         skillMenuInfo.item_baby.color = color;
00083         break;
00084     case 2:
00085         skillMenuInfo.item_easy.color = color;
00086         break;
00087     case 3:
00088         skillMenuInfo.item_medium.color = color;
00089         break;
00090     case 4:
00091         skillMenuInfo.item_hard.color = color;
00092         break;
00093     case 5:
00094         skillMenuInfo.item_nightmare.color = color;
00095         break;
00096     default:
00097         break;
00098     }
00099 }

void UI_SPSkillMenu const char *  arenaInfo  ) 
 

Definition at line 324 of file ui_spskill.c.

References skillMenuInfo_t::arenaInfo, skillMenuInfo_t::item_fight, skillMenuInfo_t::menu, Menu_SetCursorToItem(), skillMenuInfo, UI_PushMenu(), and UI_SPSkillMenu_Init().

Referenced by UI_SPLevelMenu_NextEvent().

Here is the call graph for this function:

void UI_SPSkillMenu_BackEvent void *  ptr,
int  notification
[static]
 

Definition at line 150 of file ui_spskill.c.

References CHAN_ANNOUNCER, skillMenuInfo_t::silenceSound, skillMenuInfo, trap_S_StartLocalSound(), and UI_PopMenu().

00150                                                                     {
00151     if (notification != QM_ACTIVATED) {
00152         return;
00153     }
00154 
00155     trap_S_StartLocalSound( skillMenuInfo.silenceSound, CHAN_ANNOUNCER );
00156     UI_PopMenu();
00157 }

Here is the call graph for this function:

void UI_SPSkillMenu_Cache void   ) 
 

Definition at line 178 of file ui_spskill.c.

References ART_BACK, ART_BACK_FOCUS, ART_FIGHT, ART_FIGHT_FOCUS, ART_FRAME, ART_MAP_COMPLETE1, ART_MAP_COMPLETE2, ART_MAP_COMPLETE3, ART_MAP_COMPLETE4, ART_MAP_COMPLETE5, skillMenuInfo_t::nightmareSound, qfalse, skillMenuInfo_t::silenceSound, skillMenuInfo, skillMenuInfo_t::skillpics, trap_R_RegisterShaderNoMip(), and trap_S_RegisterSound().

00178                                   {
00179     trap_R_RegisterShaderNoMip( ART_FRAME );
00180     trap_R_RegisterShaderNoMip( ART_BACK );
00181     trap_R_RegisterShaderNoMip( ART_BACK_FOCUS );
00182     trap_R_RegisterShaderNoMip( ART_FIGHT );
00183     trap_R_RegisterShaderNoMip( ART_FIGHT_FOCUS );
00184     skillMenuInfo.skillpics[0] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE1 );
00185     skillMenuInfo.skillpics[1] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE2 );
00186     skillMenuInfo.skillpics[2] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE3 );
00187     skillMenuInfo.skillpics[3] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE4 );
00188     skillMenuInfo.skillpics[4] = trap_R_RegisterShaderNoMip( ART_MAP_COMPLETE5 );
00189 
00190     skillMenuInfo.nightmareSound = trap_S_RegisterSound( "sound/misc/nightmare.wav", qfalse );
00191     skillMenuInfo.silenceSound = trap_S_RegisterSound( "sound/misc/silence.wav", qfalse );
00192 }

Here is the call graph for this function:

void UI_SPSkillMenu_FightEvent void *  ptr,
int  notification
[static]
 

Definition at line 137 of file ui_spskill.c.

References skillMenuInfo_t::arenaInfo, skillMenuInfo, and UI_SPArena_Start().

00137                                                                      {
00138     if (notification != QM_ACTIVATED)
00139         return;
00140 
00141     UI_SPArena_Start( skillMenuInfo.arenaInfo );
00142 }

Here is the call graph for this function:

void UI_SPSkillMenu_Init void   )  [static]
 

Definition at line 200 of file ui_spskill.c.

References skillMenuInfo_t::art_banner, skillMenuInfo_t::art_frame, skillMenuInfo_t::art_skillPic, menucommon_s::callback, CHAN_ANNOUNCER, menutext_s::color, color_white, Com_Clamp(), menucommon_s::flags, menubitmap_s::focuspic, _tag_menuframework::fullscreen, menutext_s::generic, menubitmap_s::generic, menubitmap_s::height, menucommon_s::id, skillMenuInfo_t::item_baby, skillMenuInfo_t::item_back, skillMenuInfo_t::item_easy, skillMenuInfo_t::item_fight, skillMenuInfo_t::item_hard, skillMenuInfo_t::item_medium, skillMenuInfo_t::item_nightmare, _tag_menuframework::key, memset(), skillMenuInfo_t::menu, Menu_AddItem(), menucommon_s::name, skillMenuInfo_t::nightmareSound, QMF_CENTER_JUSTIFY, QMF_LEFT_JUSTIFY, QMF_RIGHT_JUSTIFY, SetSkillColor(), menubitmap_s::shader, skillMenuInfo, skillMenuInfo_t::skillpics, menutext_s::string, menutext_s::style, trap_Cvar_VariableValue(), trap_S_StartLocalSound(), menucommon_s::type, UI_SPSkillMenu_Cache(), menubitmap_s::width, menucommon_s::x, and menucommon_s::y.

Referenced by UI_SPSkillMenu().

00200                                         {
00201     int     skill;
00202 
00203     memset( &skillMenuInfo, 0, sizeof(skillMenuInfo) );
00204     skillMenuInfo.menu.fullscreen = qtrue;
00205     skillMenuInfo.menu.key = UI_SPSkillMenu_Key;
00206 
00207     UI_SPSkillMenu_Cache();
00208 
00209     skillMenuInfo.art_frame.generic.type        = MTYPE_BITMAP;
00210     skillMenuInfo.art_frame.generic.name        = ART_FRAME;
00211     skillMenuInfo.art_frame.generic.flags       = QMF_LEFT_JUSTIFY|QMF_INACTIVE;
00212     skillMenuInfo.art_frame.generic.x           = 142;
00213     skillMenuInfo.art_frame.generic.y           = 118;
00214     skillMenuInfo.art_frame.width               = 359;
00215     skillMenuInfo.art_frame.height              = 256;
00216 
00217     skillMenuInfo.art_banner.generic.type       = MTYPE_BTEXT;
00218     skillMenuInfo.art_banner.generic.flags      = QMF_CENTER_JUSTIFY;
00219     skillMenuInfo.art_banner.generic.x          = 320;
00220     skillMenuInfo.art_banner.generic.y          = 16;
00221     skillMenuInfo.art_banner.string             = "DIFFICULTY";
00222     skillMenuInfo.art_banner.color              = color_white;
00223     skillMenuInfo.art_banner.style              = UI_CENTER;
00224 
00225     skillMenuInfo.item_baby.generic.type        = MTYPE_PTEXT;
00226     skillMenuInfo.item_baby.generic.flags       = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;
00227     skillMenuInfo.item_baby.generic.x           = 320;
00228     skillMenuInfo.item_baby.generic.y           = 170;
00229     skillMenuInfo.item_baby.generic.callback    = UI_SPSkillMenu_SkillEvent;
00230     skillMenuInfo.item_baby.generic.id          = ID_BABY;
00231     skillMenuInfo.item_baby.string              = "I Can Win";
00232     skillMenuInfo.item_baby.color               = color_red;
00233     skillMenuInfo.item_baby.style               = UI_CENTER;
00234 
00235     skillMenuInfo.item_easy.generic.type        = MTYPE_PTEXT;
00236     skillMenuInfo.item_easy.generic.flags       = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;
00237     skillMenuInfo.item_easy.generic.x           = 320;
00238     skillMenuInfo.item_easy.generic.y           = 198;
00239     skillMenuInfo.item_easy.generic.callback    = UI_SPSkillMenu_SkillEvent;
00240     skillMenuInfo.item_easy.generic.id          = ID_EASY;
00241     skillMenuInfo.item_easy.string              = "Bring It On";
00242     skillMenuInfo.item_easy.color               = color_red;
00243     skillMenuInfo.item_easy.style               = UI_CENTER;
00244 
00245     skillMenuInfo.item_medium.generic.type      = MTYPE_PTEXT;
00246     skillMenuInfo.item_medium.generic.flags     = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;
00247     skillMenuInfo.item_medium.generic.x         = 320;
00248     skillMenuInfo.item_medium.generic.y         = 227;
00249     skillMenuInfo.item_medium.generic.callback  = UI_SPSkillMenu_SkillEvent;
00250     skillMenuInfo.item_medium.generic.id        = ID_MEDIUM;
00251     skillMenuInfo.item_medium.string            = "Hurt Me Plenty";
00252     skillMenuInfo.item_medium.color             = color_red;
00253     skillMenuInfo.item_medium.style             = UI_CENTER;
00254 
00255     skillMenuInfo.item_hard.generic.type        = MTYPE_PTEXT;
00256     skillMenuInfo.item_hard.generic.flags       = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;
00257     skillMenuInfo.item_hard.generic.x           = 320;
00258     skillMenuInfo.item_hard.generic.y           = 255;
00259     skillMenuInfo.item_hard.generic.callback    = UI_SPSkillMenu_SkillEvent;
00260     skillMenuInfo.item_hard.generic.id          = ID_HARD;
00261     skillMenuInfo.item_hard.string              = "Hardcore";
00262     skillMenuInfo.item_hard.color               = color_red;
00263     skillMenuInfo.item_hard.style               = UI_CENTER;
00264 
00265     skillMenuInfo.item_nightmare.generic.type       = MTYPE_PTEXT;
00266     skillMenuInfo.item_nightmare.generic.flags      = QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;
00267     skillMenuInfo.item_nightmare.generic.x          = 320;
00268     skillMenuInfo.item_nightmare.generic.y          = 283;
00269     skillMenuInfo.item_nightmare.generic.callback   = UI_SPSkillMenu_SkillEvent;
00270     skillMenuInfo.item_nightmare.generic.id         = ID_NIGHTMARE;
00271     skillMenuInfo.item_nightmare.string             = "NIGHTMARE!";
00272     skillMenuInfo.item_nightmare.color              = color_red;
00273     skillMenuInfo.item_nightmare.style              = UI_CENTER;
00274 
00275     skillMenuInfo.item_back.generic.type        = MTYPE_BITMAP;
00276     skillMenuInfo.item_back.generic.name        = ART_BACK;
00277     skillMenuInfo.item_back.generic.flags       = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;
00278     skillMenuInfo.item_back.generic.x           = 0;
00279     skillMenuInfo.item_back.generic.y           = 480-64;
00280     skillMenuInfo.item_back.generic.callback    = UI_SPSkillMenu_BackEvent;
00281     skillMenuInfo.item_back.generic.id          = ID_BACK;
00282     skillMenuInfo.item_back.width               = 128;
00283     skillMenuInfo.item_back.height              = 64;
00284     skillMenuInfo.item_back.focuspic            = ART_BACK_FOCUS;
00285 
00286     skillMenuInfo.art_skillPic.generic.type     = MTYPE_BITMAP;
00287     skillMenuInfo.art_skillPic.generic.flags    = QMF_LEFT_JUSTIFY|QMF_INACTIVE;
00288     skillMenuInfo.art_skillPic.generic.x        = 320-64;
00289     skillMenuInfo.art_skillPic.generic.y        = 368;
00290     skillMenuInfo.art_skillPic.width            = 128;
00291     skillMenuInfo.art_skillPic.height           = 96;
00292 
00293     skillMenuInfo.item_fight.generic.type       = MTYPE_BITMAP;
00294     skillMenuInfo.item_fight.generic.name       = ART_FIGHT;
00295     skillMenuInfo.item_fight.generic.flags      = QMF_RIGHT_JUSTIFY|QMF_PULSEIFFOCUS;
00296     skillMenuInfo.item_fight.generic.callback   = UI_SPSkillMenu_FightEvent;
00297     skillMenuInfo.item_fight.generic.id         = ID_FIGHT;
00298     skillMenuInfo.item_fight.generic.x          = 640;
00299     skillMenuInfo.item_fight.generic.y          = 480-64;
00300     skillMenuInfo.item_fight.width              = 128;
00301     skillMenuInfo.item_fight.height             = 64;
00302     skillMenuInfo.item_fight.focuspic           = ART_FIGHT_FOCUS;
00303 
00304     Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.art_frame );
00305     Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.art_banner );
00306     Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_baby );
00307     Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_easy );
00308     Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_medium );
00309     Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_hard );
00310     Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_nightmare );
00311     Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.art_skillPic );
00312     Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_back );
00313     Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_fight );
00314 
00315     skill = (int)Com_Clamp( 1, 5, trap_Cvar_VariableValue( "g_spSkill" ) );
00316     SetSkillColor( skill, color_white );
00317     skillMenuInfo.art_skillPic.shader = skillMenuInfo.skillpics[skill - 1];
00318     if( skill == 5 ) {
00319         trap_S_StartLocalSound( skillMenuInfo.nightmareSound, CHAN_ANNOUNCER );
00320     }
00321 }

Here is the call graph for this function:

sfxHandle_t UI_SPSkillMenu_Key int  key  )  [static]
 

Definition at line 165 of file ui_spskill.c.

References CHAN_ANNOUNCER, K_MOUSE2, skillMenuInfo_t::menu, Menu_DefaultKey(), sfxHandle_t, skillMenuInfo_t::silenceSound, skillMenuInfo, and trap_S_StartLocalSound().

00165                                                  {
00166     if( key == K_MOUSE2 || key == K_ESCAPE ) {
00167         trap_S_StartLocalSound( skillMenuInfo.silenceSound, CHAN_ANNOUNCER );
00168     }
00169     return Menu_DefaultKey( &skillMenuInfo.menu, key );
00170 }

Here is the call graph for this function:

void UI_SPSkillMenu_SkillEvent void *  ptr,
int  notification
[static]
 

Definition at line 107 of file ui_spskill.c.

References skillMenuInfo_t::art_skillPic, CHAN_ANNOUNCER, color_red, color_white, ID_BABY, skillMenuInfo_t::nightmareSound, SetSkillColor(), menubitmap_s::shader, skillMenuInfo_t::silenceSound, skillMenuInfo, skillMenuInfo_t::skillpics, trap_Cvar_SetValue(), trap_Cvar_VariableValue(), and trap_S_StartLocalSound().

00107                                                                      {
00108     int     id;
00109     int     skill;
00110 
00111     if (notification != QM_ACTIVATED)
00112         return;
00113 
00114     SetSkillColor( (int)trap_Cvar_VariableValue( "g_spSkill" ), color_red );
00115 
00116     id = ((menucommon_s*)ptr)->id;
00117     skill = id - ID_BABY + 1;
00118     trap_Cvar_SetValue( "g_spSkill", skill );
00119 
00120     SetSkillColor( skill, color_white );
00121     skillMenuInfo.art_skillPic.shader = skillMenuInfo.skillpics[skill - 1];
00122 
00123     if( id == ID_NIGHTMARE ) {
00124         trap_S_StartLocalSound( skillMenuInfo.nightmareSound, CHAN_ANNOUNCER );
00125     }
00126     else {
00127         trap_S_StartLocalSound( skillMenuInfo.silenceSound, CHAN_ANNOUNCER );
00128     }
00129 }

Here is the call graph for this function:


Variable Documentation

skillMenuInfo_t skillMenuInfo [static]
 

Definition at line 76 of file ui_spskill.c.

Referenced by SetSkillColor(), UI_SPSkillMenu(), UI_SPSkillMenu_BackEvent(), UI_SPSkillMenu_Cache(), UI_SPSkillMenu_FightEvent(), UI_SPSkillMenu_Init(), UI_SPSkillMenu_Key(), and UI_SPSkillMenu_SkillEvent().


Generated on Thu Aug 25 14:35:24 2005 for Quake III Arena by  doxygen 1.3.9.1