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

ui_playersettings.c File Reference

#include "ui_local.h"

Include dependency graph for ui_playersettings.c:

Include dependency graph

Go to the source code of this file.

Data Structures

struct  playersettings_t

Defines

#define ART_BACK0   "menu/art/back_0"
#define ART_BACK1   "menu/art/back_1"
#define ART_FRAMEL   "menu/art/frame2_l"
#define ART_FRAMER   "menu/art/frame1_r"
#define ART_FX_BASE   "menu/art/fx_base"
#define ART_FX_BLUE   "menu/art/fx_blue"
#define ART_FX_CYAN   "menu/art/fx_cyan"
#define ART_FX_GREEN   "menu/art/fx_grn"
#define ART_FX_RED   "menu/art/fx_red"
#define ART_FX_TEAL   "menu/art/fx_teal"
#define ART_FX_WHITE   "menu/art/fx_white"
#define ART_FX_YELLOW   "menu/art/fx_yel"
#define ART_MODEL0   "menu/art/model_0"
#define ART_MODEL1   "menu/art/model_1"
#define ID_BACK   13
#define ID_EFFECTS   12
#define ID_HANDICAP   11
#define ID_MODEL   14
#define ID_NAME   10
#define MAX_NAMELENGTH   20

Functions

void PlayerSettings_Cache (void)
void PlayerSettings_DrawEffects (void *self)
void PlayerSettings_DrawHandicap (void *self)
void PlayerSettings_DrawName (void *self)
void PlayerSettings_DrawPlayer (void *self)
void PlayerSettings_MenuEvent (void *ptr, int event)
void PlayerSettings_MenuInit (void)
sfxHandle_t PlayerSettings_MenuKey (int key)
void PlayerSettings_SaveChanges (void)
void PlayerSettings_SetMenuItems (void)
void UI_PlayerSettingsMenu (void)

Variables

int gamecodetoui [] = {4,2,3,0,5,1,6}
const char * handicap_items []
playersettings_t s_playersettings
int uitogamecode [] = {4,6,2,3,1,5,7}


Define Documentation

#define ART_BACK0   "menu/art/back_0"
 

Definition at line 29 of file ui_playersettings.c.

#define ART_BACK1   "menu/art/back_1"
 

Definition at line 30 of file ui_playersettings.c.

#define ART_FRAMEL   "menu/art/frame2_l"
 

Definition at line 25 of file ui_playersettings.c.

#define ART_FRAMER   "menu/art/frame1_r"
 

Definition at line 26 of file ui_playersettings.c.

#define ART_FX_BASE   "menu/art/fx_base"
 

Definition at line 31 of file ui_playersettings.c.

Referenced by AssetCache(), and PlayerSettings_Cache().

#define ART_FX_BLUE   "menu/art/fx_blue"
 

Definition at line 32 of file ui_playersettings.c.

Referenced by AssetCache(), and PlayerSettings_Cache().

#define ART_FX_CYAN   "menu/art/fx_cyan"
 

Definition at line 33 of file ui_playersettings.c.

Referenced by AssetCache(), and PlayerSettings_Cache().

#define ART_FX_GREEN   "menu/art/fx_grn"
 

Definition at line 34 of file ui_playersettings.c.

Referenced by AssetCache(), and PlayerSettings_Cache().

#define ART_FX_RED   "menu/art/fx_red"
 

Definition at line 35 of file ui_playersettings.c.

Referenced by AssetCache(), and PlayerSettings_Cache().

#define ART_FX_TEAL   "menu/art/fx_teal"
 

Definition at line 36 of file ui_playersettings.c.

Referenced by AssetCache(), and PlayerSettings_Cache().

#define ART_FX_WHITE   "menu/art/fx_white"
 

Definition at line 37 of file ui_playersettings.c.

Referenced by AssetCache(), and PlayerSettings_Cache().

#define ART_FX_YELLOW   "menu/art/fx_yel"
 

Definition at line 38 of file ui_playersettings.c.

Referenced by AssetCache(), and PlayerSettings_Cache().

#define ART_MODEL0   "menu/art/model_0"
 

Definition at line 27 of file ui_playersettings.c.

Referenced by PlayerSettings_Cache().

#define ART_MODEL1   "menu/art/model_1"
 

Definition at line 28 of file ui_playersettings.c.

Referenced by PlayerSettings_Cache().

#define ID_BACK   13
 

Definition at line 43 of file ui_playersettings.c.

#define ID_EFFECTS   12
 

Definition at line 42 of file ui_playersettings.c.

#define ID_HANDICAP   11
 

Definition at line 41 of file ui_playersettings.c.

Referenced by PlayerSettings_MenuEvent().

#define ID_MODEL   14
 

Definition at line 44 of file ui_playersettings.c.

Referenced by PlayerSettings_MenuEvent().

#define ID_NAME   10
 

Definition at line 40 of file ui_playersettings.c.

#define MAX_NAMELENGTH   20
 

Definition at line 46 of file ui_playersettings.c.

Referenced by StartServer_Cache(), and StartServer_GametypeEvent().


Function Documentation

void PlayerSettings_Cache void   ) 
 

Definition at line 486 of file ui_playersettings.c.

References ART_BACK0, ART_BACK1, ART_FRAMEL, ART_FRAMER, ART_FX_BASE, ART_FX_BLUE, ART_FX_CYAN, ART_FX_GREEN, ART_FX_RED, ART_FX_TEAL, ART_FX_WHITE, ART_FX_YELLOW, ART_MODEL0, ART_MODEL1, playersettings_t::fxBasePic, playersettings_t::fxPic, s_playersettings, and trap_R_RegisterShaderNoMip().

00486                                   {
00487     trap_R_RegisterShaderNoMip( ART_FRAMEL );
00488     trap_R_RegisterShaderNoMip( ART_FRAMER );
00489     trap_R_RegisterShaderNoMip( ART_MODEL0 );
00490     trap_R_RegisterShaderNoMip( ART_MODEL1 );
00491     trap_R_RegisterShaderNoMip( ART_BACK0 );
00492     trap_R_RegisterShaderNoMip( ART_BACK1 );
00493 
00494     s_playersettings.fxBasePic = trap_R_RegisterShaderNoMip( ART_FX_BASE );
00495     s_playersettings.fxPic[0] = trap_R_RegisterShaderNoMip( ART_FX_RED );
00496     s_playersettings.fxPic[1] = trap_R_RegisterShaderNoMip( ART_FX_YELLOW );
00497     s_playersettings.fxPic[2] = trap_R_RegisterShaderNoMip( ART_FX_GREEN );
00498     s_playersettings.fxPic[3] = trap_R_RegisterShaderNoMip( ART_FX_TEAL );
00499     s_playersettings.fxPic[4] = trap_R_RegisterShaderNoMip( ART_FX_BLUE );
00500     s_playersettings.fxPic[5] = trap_R_RegisterShaderNoMip( ART_FX_CYAN );
00501     s_playersettings.fxPic[6] = trap_R_RegisterShaderNoMip( ART_FX_WHITE );
00502 }

Here is the call graph for this function:

void PlayerSettings_DrawEffects void *  self  )  [static]
 

Definition at line 205 of file ui_playersettings.c.

References _tag_menuframework::cursor, menulist_s::curvalue, playersettings_t::fxBasePic, playersettings_t::fxPic, menulist_s::generic, menucommon_s::menuPosition, menucommon_s::parent, PROP_HEIGHT, qboolean, s_playersettings, UI_DrawHandlePic(), UI_DrawProportionalString(), UI_LEFT, menucommon_s::x, and menucommon_s::y.

00205                                                      {
00206     menulist_s      *item;
00207     qboolean        focus;
00208     int             style;
00209     float           *color;
00210 
00211     item = (menulist_s *)self;
00212     focus = (item->generic.parent->cursor == item->generic.menuPosition);
00213 
00214     style = UI_LEFT|UI_SMALLFONT;
00215     color = text_color_normal;
00216     if( focus ) {
00217         style |= UI_PULSE;
00218         color = text_color_highlight;
00219     }
00220 
00221     UI_DrawProportionalString( item->generic.x, item->generic.y, "Effects", style, color );
00222 
00223     UI_DrawHandlePic( item->generic.x + 64, item->generic.y + PROP_HEIGHT + 8, 128, 8, s_playersettings.fxBasePic );
00224     UI_DrawHandlePic( item->generic.x + 64 + item->curvalue * 16 + 8, item->generic.y + PROP_HEIGHT + 6, 16, 12, s_playersettings.fxPic[item->curvalue] );
00225 }

Here is the call graph for this function:

void PlayerSettings_DrawHandicap void *  self  )  [static]
 

Definition at line 179 of file ui_playersettings.c.

References _tag_menuframework::cursor, menulist_s::curvalue, menulist_s::generic, handicap_items, menucommon_s::menuPosition, menucommon_s::parent, PROP_HEIGHT, qboolean, UI_DrawProportionalString(), UI_LEFT, menucommon_s::x, and menucommon_s::y.

00179                                                       {
00180     menulist_s      *item;
00181     qboolean        focus;
00182     int             style;
00183     float           *color;
00184 
00185     item = (menulist_s *)self;
00186     focus = (item->generic.parent->cursor == item->generic.menuPosition);
00187 
00188     style = UI_LEFT|UI_SMALLFONT;
00189     color = text_color_normal;
00190     if( focus ) {
00191         style |= UI_PULSE;
00192         color = text_color_highlight;
00193     }
00194 
00195     UI_DrawProportionalString( item->generic.x, item->generic.y, "Handicap", style, color );
00196     UI_DrawProportionalString( item->generic.x + 64, item->generic.y + PROP_HEIGHT, handicap_items[item->curvalue], style, color );
00197 }

Here is the call graph for this function:

void PlayerSettings_DrawName void *  self  )  [static]
 

Definition at line 107 of file ui_playersettings.c.

References mfield_t::buffer, c, color_white, COLOR_WHITE, ColorIndex, mfield_t::cursor, _tag_menuframework::cursor, f, menufield_s::field, g_color_table, menufield_s::generic, menucommon_s::menuPosition, n, name, menucommon_s::parent, Q_CleanStr(), Q_IsColorString, Q_strncpyz(), qboolean, SMALLCHAR_WIDTH, text_color_normal, trap_Key_GetOverstrikeMode(), UI_BIGFONT, UI_CENTER, UI_DrawChar(), UI_DrawProportionalString(), UI_LEFT, x, menucommon_s::x, menucommon_s::y, and y.

00107                                                   {
00108     menufield_s     *f;
00109     qboolean        focus;
00110     int             style;
00111     char            *txt;
00112     char            c;
00113     float           *color;
00114     int             n;
00115     int             basex, x, y;
00116     char            name[32];
00117 
00118     f = (menufield_s*)self;
00119     basex = f->generic.x;
00120     y = f->generic.y;
00121     focus = (f->generic.parent->cursor == f->generic.menuPosition);
00122 
00123     style = UI_LEFT|UI_SMALLFONT;
00124     color = text_color_normal;
00125     if( focus ) {
00126         style |= UI_PULSE;
00127         color = text_color_highlight;
00128     }
00129 
00130     UI_DrawProportionalString( basex, y, "Name", style, color );
00131 
00132     // draw the actual name
00133     basex += 64;
00134     y += PROP_HEIGHT;
00135     txt = f->field.buffer;
00136     color = g_color_table[ColorIndex(COLOR_WHITE)];
00137     x = basex;
00138     while ( (c = *txt) != 0 ) {
00139         if ( !focus && Q_IsColorString( txt ) ) {
00140             n = ColorIndex( *(txt+1) );
00141             if( n == 0 ) {
00142                 n = 7;
00143             }
00144             color = g_color_table[n];
00145             txt += 2;
00146             continue;
00147         }
00148         UI_DrawChar( x, y, c, style, color );
00149         txt++;
00150         x += SMALLCHAR_WIDTH;
00151     }
00152 
00153     // draw cursor if we have focus
00154     if( focus ) {
00155         if ( trap_Key_GetOverstrikeMode() ) {
00156             c = 11;
00157         } else {
00158             c = 10;
00159         }
00160 
00161         style &= ~UI_PULSE;
00162         style |= UI_BLINK;
00163 
00164         UI_DrawChar( basex + f->field.cursor * SMALLCHAR_WIDTH, y, c, style, color_white );
00165     }
00166 
00167     // draw at bottom also using proportional font
00168     Q_strncpyz( name, f->field.buffer, sizeof(name) );
00169     Q_CleanStr( name );
00170     UI_DrawProportionalString( 320, 440, name, UI_CENTER|UI_BIGFONT, text_color_normal );
00171 }

Here is the call graph for this function:

void PlayerSettings_DrawPlayer void *  self  )  [static]
 

Definition at line 233 of file ui_playersettings.c.

References b, menubitmap_s::generic, menubitmap_s::height, LEGS_IDLE, playersettings_t::playerinfo, playersettings_t::playerModel, qfalse, uiStatic_t::realtime, s_playersettings, strcmp(), strcpy(), TORSO_STAND, trap_Cvar_VariableStringBuffer(), UI_DrawPlayer(), UI_PlayerInfo_SetInfo(), UI_PlayerInfo_SetModel(), uis, vec3_origin, vec3_t, menubitmap_s::width, WP_MACHINEGUN, menucommon_s::x, and menucommon_s::y.

00233                                                     {
00234     menubitmap_s    *b;
00235     vec3_t          viewangles;
00236     char            buf[MAX_QPATH];
00237 
00238     trap_Cvar_VariableStringBuffer( "model", buf, sizeof( buf ) );
00239     if ( strcmp( buf, s_playersettings.playerModel ) != 0 ) {
00240         UI_PlayerInfo_SetModel( &s_playersettings.playerinfo, buf );
00241         strcpy( s_playersettings.playerModel, buf );
00242 
00243         viewangles[YAW]   = 180 - 30;
00244         viewangles[PITCH] = 0;
00245         viewangles[ROLL]  = 0;
00246         UI_PlayerInfo_SetInfo( &s_playersettings.playerinfo, LEGS_IDLE, TORSO_STAND, viewangles, vec3_origin, WP_MACHINEGUN, qfalse );
00247     }
00248 
00249     b = (menubitmap_s*) self;
00250     UI_DrawPlayer( b->generic.x, b->generic.y, b->width, b->height, &s_playersettings.playerinfo, uis.realtime/2 );
00251 }

Here is the call graph for this function:

void PlayerSettings_MenuEvent void *  ptr,
int  event
[static]
 

Definition at line 325 of file ui_playersettings.c.

References menulist_s::curvalue, playersettings_t::handicap, ID_BACK, ID_HANDICAP, ID_MODEL, PlayerSettings_SaveChanges(), s_playersettings, trap_Cvar_Set(), UI_PlayerModelMenu(), UI_PopMenu(), and va().

00325                                                              {
00326     if( event != QM_ACTIVATED ) {
00327         return;
00328     }
00329 
00330     switch( ((menucommon_s*)ptr)->id ) {
00331     case ID_HANDICAP:
00332         trap_Cvar_Set( "handicap", va( "%i", 100 - 25 * s_playersettings.handicap.curvalue ) );
00333         break;
00334 
00335     case ID_MODEL:
00336         PlayerSettings_SaveChanges();
00337         UI_PlayerModelMenu();
00338         break;
00339 
00340     case ID_BACK:
00341         PlayerSettings_SaveChanges();
00342         UI_PopMenu();
00343         break;
00344     }
00345 }

Here is the call graph for this function:

void PlayerSettings_MenuInit void   )  [static]
 

Definition at line 353 of file ui_playersettings.c.

References playersettings_t::back, playersettings_t::banner, menucommon_s::bottom, menucommon_s::callback, menutext_s::color, playersettings_t::effects, menufield_s::field, menucommon_s::flags, menubitmap_s::focuspic, playersettings_t::framel, playersettings_t::framer, _tag_menuframework::fullscreen, menulist_s::generic, menufield_s::generic, menubitmap_s::generic, menutext_s::generic, playersettings_t::handicap, menubitmap_s::height, menucommon_s::id, playersettings_t::item_null, _tag_menuframework::key, menucommon_s::left, mfield_t::maxchars, memset(), playersettings_t::menu, Menu_AddItem(), playersettings_t::model, playersettings_t::name, menucommon_s::name, menulist_s::numitems, menucommon_s::ownerdraw, playersettings_t::player, PlayerSettings_Cache(), PlayerSettings_SetMenuItems(), QMF_LEFT_JUSTIFY, QMF_MOUSEONLY, QMF_RIGHT_JUSTIFY, menucommon_s::right, s_playersettings, menutext_s::string, menutext_s::style, menucommon_s::top, menucommon_s::type, menubitmap_s::width, mfield_t::widthInChars, _tag_menuframework::wrapAround, menucommon_s::x, y, and menucommon_s::y.

Referenced by UI_PlayerSettingsMenu().

00353                                             {
00354     int     y;
00355 
00356     memset(&s_playersettings,0,sizeof(playersettings_t));
00357 
00358     PlayerSettings_Cache();
00359 
00360     s_playersettings.menu.key        = PlayerSettings_MenuKey;
00361     s_playersettings.menu.wrapAround = qtrue;
00362     s_playersettings.menu.fullscreen = qtrue;
00363 
00364     s_playersettings.banner.generic.type  = MTYPE_BTEXT;
00365     s_playersettings.banner.generic.x     = 320;
00366     s_playersettings.banner.generic.y     = 16;
00367     s_playersettings.banner.string        = "PLAYER SETTINGS";
00368     s_playersettings.banner.color         = color_white;
00369     s_playersettings.banner.style         = UI_CENTER;
00370 
00371     s_playersettings.framel.generic.type  = MTYPE_BITMAP;
00372     s_playersettings.framel.generic.name  = ART_FRAMEL;
00373     s_playersettings.framel.generic.flags = QMF_LEFT_JUSTIFY|QMF_INACTIVE;
00374     s_playersettings.framel.generic.x     = 0;
00375     s_playersettings.framel.generic.y     = 78;
00376     s_playersettings.framel.width         = 256;
00377     s_playersettings.framel.height        = 329;
00378 
00379     s_playersettings.framer.generic.type  = MTYPE_BITMAP;
00380     s_playersettings.framer.generic.name  = ART_FRAMER;
00381     s_playersettings.framer.generic.flags = QMF_LEFT_JUSTIFY|QMF_INACTIVE;
00382     s_playersettings.framer.generic.x     = 376;
00383     s_playersettings.framer.generic.y     = 76;
00384     s_playersettings.framer.width         = 256;
00385     s_playersettings.framer.height        = 334;
00386 
00387     y = 144;
00388     s_playersettings.name.generic.type          = MTYPE_FIELD;
00389     s_playersettings.name.generic.flags         = QMF_NODEFAULTINIT;
00390     s_playersettings.name.generic.ownerdraw     = PlayerSettings_DrawName;
00391     s_playersettings.name.field.widthInChars    = MAX_NAMELENGTH;
00392     s_playersettings.name.field.maxchars        = MAX_NAMELENGTH;
00393     s_playersettings.name.generic.x             = 192;
00394     s_playersettings.name.generic.y             = y;
00395     s_playersettings.name.generic.left          = 192 - 8;
00396     s_playersettings.name.generic.top           = y - 8;
00397     s_playersettings.name.generic.right         = 192 + 200;
00398     s_playersettings.name.generic.bottom        = y + 2 * PROP_HEIGHT;
00399 
00400     y += 3 * PROP_HEIGHT;
00401     s_playersettings.handicap.generic.type      = MTYPE_SPINCONTROL;
00402     s_playersettings.handicap.generic.flags     = QMF_NODEFAULTINIT;
00403     s_playersettings.handicap.generic.id        = ID_HANDICAP;
00404     s_playersettings.handicap.generic.ownerdraw = PlayerSettings_DrawHandicap;
00405     s_playersettings.handicap.generic.x         = 192;
00406     s_playersettings.handicap.generic.y         = y;
00407     s_playersettings.handicap.generic.left      = 192 - 8;
00408     s_playersettings.handicap.generic.top       = y - 8;
00409     s_playersettings.handicap.generic.right     = 192 + 200;
00410     s_playersettings.handicap.generic.bottom    = y + 2 * PROP_HEIGHT;
00411     s_playersettings.handicap.numitems          = 20;
00412 
00413     y += 3 * PROP_HEIGHT;
00414     s_playersettings.effects.generic.type       = MTYPE_SPINCONTROL;
00415     s_playersettings.effects.generic.flags      = QMF_NODEFAULTINIT;
00416     s_playersettings.effects.generic.id         = ID_EFFECTS;
00417     s_playersettings.effects.generic.ownerdraw  = PlayerSettings_DrawEffects;
00418     s_playersettings.effects.generic.x          = 192;
00419     s_playersettings.effects.generic.y          = y;
00420     s_playersettings.effects.generic.left       = 192 - 8;
00421     s_playersettings.effects.generic.top        = y - 8;
00422     s_playersettings.effects.generic.right      = 192 + 200;
00423     s_playersettings.effects.generic.bottom     = y + 2* PROP_HEIGHT;
00424     s_playersettings.effects.numitems           = 7;
00425 
00426     s_playersettings.model.generic.type         = MTYPE_BITMAP;
00427     s_playersettings.model.generic.name         = ART_MODEL0;
00428     s_playersettings.model.generic.flags        = QMF_RIGHT_JUSTIFY|QMF_PULSEIFFOCUS;
00429     s_playersettings.model.generic.id           = ID_MODEL;
00430     s_playersettings.model.generic.callback     = PlayerSettings_MenuEvent;
00431     s_playersettings.model.generic.x            = 640;
00432     s_playersettings.model.generic.y            = 480-64;
00433     s_playersettings.model.width                = 128;
00434     s_playersettings.model.height               = 64;
00435     s_playersettings.model.focuspic             = ART_MODEL1;
00436 
00437     s_playersettings.player.generic.type        = MTYPE_BITMAP;
00438     s_playersettings.player.generic.flags       = QMF_INACTIVE;
00439     s_playersettings.player.generic.ownerdraw   = PlayerSettings_DrawPlayer;
00440     s_playersettings.player.generic.x           = 400;
00441     s_playersettings.player.generic.y           = -40;
00442     s_playersettings.player.width               = 32*10;
00443     s_playersettings.player.height              = 56*10;
00444 
00445     s_playersettings.back.generic.type          = MTYPE_BITMAP;
00446     s_playersettings.back.generic.name          = ART_BACK0;
00447     s_playersettings.back.generic.flags         = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;
00448     s_playersettings.back.generic.id            = ID_BACK;
00449     s_playersettings.back.generic.callback      = PlayerSettings_MenuEvent;
00450     s_playersettings.back.generic.x             = 0;
00451     s_playersettings.back.generic.y             = 480-64;
00452     s_playersettings.back.width                 = 128;
00453     s_playersettings.back.height                = 64;
00454     s_playersettings.back.focuspic              = ART_BACK1;
00455 
00456     s_playersettings.item_null.generic.type     = MTYPE_BITMAP;
00457     s_playersettings.item_null.generic.flags    = QMF_LEFT_JUSTIFY|QMF_MOUSEONLY|QMF_SILENT;
00458     s_playersettings.item_null.generic.x        = 0;
00459     s_playersettings.item_null.generic.y        = 0;
00460     s_playersettings.item_null.width            = 640;
00461     s_playersettings.item_null.height           = 480;
00462 
00463     Menu_AddItem( &s_playersettings.menu, &s_playersettings.banner );
00464     Menu_AddItem( &s_playersettings.menu, &s_playersettings.framel );
00465     Menu_AddItem( &s_playersettings.menu, &s_playersettings.framer );
00466 
00467     Menu_AddItem( &s_playersettings.menu, &s_playersettings.name );
00468     Menu_AddItem( &s_playersettings.menu, &s_playersettings.handicap );
00469     Menu_AddItem( &s_playersettings.menu, &s_playersettings.effects );
00470     Menu_AddItem( &s_playersettings.menu, &s_playersettings.model );
00471     Menu_AddItem( &s_playersettings.menu, &s_playersettings.back );
00472 
00473     Menu_AddItem( &s_playersettings.menu, &s_playersettings.player );
00474 
00475     Menu_AddItem( &s_playersettings.menu, &s_playersettings.item_null );
00476 
00477     PlayerSettings_SetMenuItems();
00478 }

Here is the call graph for this function:

sfxHandle_t PlayerSettings_MenuKey int  key  )  [static]
 

Definition at line 276 of file ui_playersettings.c.

References K_MOUSE2, playersettings_t::menu, Menu_DefaultKey(), PlayerSettings_SaveChanges(), s_playersettings, and sfxHandle_t.

00276                                                      {
00277     if( key == K_MOUSE2 || key == K_ESCAPE ) {
00278         PlayerSettings_SaveChanges();
00279     }
00280     return Menu_DefaultKey( &s_playersettings.menu, key );
00281 }

Here is the call graph for this function:

void PlayerSettings_SaveChanges void   )  [static]
 

Definition at line 259 of file ui_playersettings.c.

References mfield_t::buffer, menulist_s::curvalue, playersettings_t::effects, menufield_s::field, playersettings_t::handicap, playersettings_t::name, s_playersettings, trap_Cvar_Set(), trap_Cvar_SetValue(), and uitogamecode.

Referenced by PlayerSettings_MenuEvent(), and PlayerSettings_MenuKey().

00259                                                {
00260     // name
00261     trap_Cvar_Set( "name", s_playersettings.name.field.buffer );
00262 
00263     // handicap
00264     trap_Cvar_SetValue( "handicap", 100 - s_playersettings.handicap.curvalue * 5 );
00265 
00266     // effects color
00267     trap_Cvar_SetValue( "color1", uitogamecode[s_playersettings.effects.curvalue] );
00268 }

Here is the call graph for this function:

void PlayerSettings_SetMenuItems void   )  [static]
 

Definition at line 289 of file ui_playersettings.c.

References mfield_t::buffer, c, Com_Clamp(), menulist_s::curvalue, playersettings_t::effects, menufield_s::field, gamecodetoui, h(), playersettings_t::handicap, LEGS_IDLE, memset(), playersettings_t::name, playersettings_t::playerinfo, Q_strncpyz(), qfalse, s_playersettings, TORSO_STAND, trap_Cvar_VariableValue(), UI_Cvar_VariableString(), UI_PlayerInfo_SetInfo(), UI_PlayerInfo_SetModel(), vec3_origin, vec3_t, and WP_MACHINEGUN.

Referenced by PlayerSettings_MenuInit().

00289                                                 {
00290     vec3_t  viewangles;
00291     int     c;
00292     int     h;
00293 
00294     // name
00295     Q_strncpyz( s_playersettings.name.field.buffer, UI_Cvar_VariableString("name"), sizeof(s_playersettings.name.field.buffer) );
00296 
00297     // effects color
00298     c = trap_Cvar_VariableValue( "color1" ) - 1;
00299     if( c < 0 || c > 6 ) {
00300         c = 6;
00301     }
00302     s_playersettings.effects.curvalue = gamecodetoui[c];
00303 
00304     // model/skin
00305     memset( &s_playersettings.playerinfo, 0, sizeof(playerInfo_t) );
00306     
00307     viewangles[YAW]   = 180 - 30;
00308     viewangles[PITCH] = 0;
00309     viewangles[ROLL]  = 0;
00310 
00311     UI_PlayerInfo_SetModel( &s_playersettings.playerinfo, UI_Cvar_VariableString( "model" ) );
00312     UI_PlayerInfo_SetInfo( &s_playersettings.playerinfo, LEGS_IDLE, TORSO_STAND, viewangles, vec3_origin, WP_MACHINEGUN, qfalse );
00313 
00314     // handicap
00315     h = Com_Clamp( 5, 100, trap_Cvar_VariableValue("handicap") );
00316     s_playersettings.handicap.curvalue = 20 - h / 5;
00317 }

Here is the call graph for this function:

void UI_PlayerSettingsMenu void   ) 
 

Definition at line 510 of file ui_playersettings.c.

References playersettings_t::menu, PlayerSettings_MenuInit(), s_playersettings, and UI_PushMenu().

00510                                    {
00511     PlayerSettings_MenuInit();
00512     UI_PushMenu( &s_playersettings.menu );
00513 }

Here is the call graph for this function:


Variable Documentation

int gamecodetoui[] = {4,2,3,0,5,1,6} [static]
 

Definition at line 74 of file ui_playersettings.c.

Referenced by PlayerSettings_SetMenuItems().

const char* handicap_items[] [static]
 

Initial value:

 {
    "None",
    "95",
    "90",
    "85",
    "80",
    "75",
    "70",
    "65",
    "60",
    "55",
    "50",
    "45",
    "40",
    "35",
    "30",
    "25",
    "20",
    "15",
    "10",
    "5",
    0
}

Definition at line 77 of file ui_playersettings.c.

Referenced by PlayerSettings_DrawHandicap().

playersettings_t s_playersettings [static]
 

Definition at line 72 of file ui_playersett