#include "ui_local.h"
Include dependency graph for ui_playermodel.c:

Go to the source code of this file.
Data Structures | |
| struct | playermodel_t |
Defines | |
| #define | ID_BACK 102 |
| #define | ID_NEXTPAGE 101 |
| #define | ID_PLAYERPIC0 0 |
| #define | ID_PLAYERPIC1 1 |
| #define | ID_PLAYERPIC10 10 |
| #define | ID_PLAYERPIC11 11 |
| #define | ID_PLAYERPIC12 12 |
| #define | ID_PLAYERPIC13 13 |
| #define | ID_PLAYERPIC14 14 |
| #define | ID_PLAYERPIC15 15 |
| #define | ID_PLAYERPIC2 2 |
| #define | ID_PLAYERPIC3 3 |
| #define | ID_PLAYERPIC4 4 |
| #define | ID_PLAYERPIC5 5 |
| #define | ID_PLAYERPIC6 6 |
| #define | ID_PLAYERPIC7 7 |
| #define | ID_PLAYERPIC8 8 |
| #define | ID_PLAYERPIC9 9 |
| #define | ID_PREVPAGE 100 |
| #define | LOW_MEMORY (5 * 1024 * 1024) |
| #define | MAX_MODELSPERPAGE (PLAYERGRID_ROWS*PLAYERGRID_COLS) |
| #define | MAX_PLAYERMODELS 256 |
| #define | MODEL_ARROWS "menu/art/gs_arrows_0" |
| #define | MODEL_ARROWSL "menu/art/gs_arrows_l" |
| #define | MODEL_ARROWSR "menu/art/gs_arrows_r" |
| #define | MODEL_BACK0 "menu/art/back_0" |
| #define | MODEL_BACK1 "menu/art/back_1" |
| #define | MODEL_FRAMEL "menu/art/frame1_l" |
| #define | MODEL_FRAMER "menu/art/frame1_r" |
| #define | MODEL_PORTS "menu/art/player_models_ports" |
| #define | MODEL_SELECT "menu/art/opponents_select" |
| #define | MODEL_SELECTED "menu/art/opponents_selected" |
| #define | PLAYERGRID_COLS 4 |
| #define | PLAYERGRID_ROWS 4 |
Functions | |
| void | PlayerModel_BuildList (void) |
| void | PlayerModel_Cache (void) |
| void | PlayerModel_DrawPlayer (void *self) |
| void | PlayerModel_MenuEvent (void *ptr, int event) |
| void | PlayerModel_MenuInit (void) |
| sfxHandle_t | PlayerModel_MenuKey (int key) |
| void | PlayerModel_PicEvent (void *ptr, int event) |
| void | PlayerModel_SaveChanges (void) |
| void | PlayerModel_SetMenuItems (void) |
| void | PlayerModel_UpdateGrid (void) |
| void | PlayerModel_UpdateModel (void) |
| void | UI_PlayerModelMenu (void) |
Variables | |
| char * | playermodel_artlist [] |
| playermodel_t | s_playermodel |
|
|
Definition at line 77 of file ui_playermodel.c. |
|
|
Definition at line 76 of file ui_playermodel.c. Referenced by PlayerModel_MenuEvent(), and StartServer_MenuEvent(). |
|
|
Definition at line 59 of file ui_playermodel.c. Referenced by PlayerModel_MenuInit(). |
|
|
Definition at line 60 of file ui_playermodel.c. |
|
|
Definition at line 69 of file ui_playermodel.c. |
|
|
Definition at line 70 of file ui_playermodel.c. |
|
|
Definition at line 71 of file ui_playermodel.c. |
|
|
Definition at line 72 of file ui_playermodel.c. |
|
|
Definition at line 73 of file ui_playermodel.c. |
|
|
Definition at line 74 of file ui_playermodel.c. |
|
|
Definition at line 61 of file ui_playermodel.c. |
|
|
Definition at line 62 of file ui_playermodel.c. |
|
|
Definition at line 63 of file ui_playermodel.c. |
|
|
Definition at line 64 of file ui_playermodel.c. |
|
|
Definition at line 65 of file ui_playermodel.c. |
|
|
Definition at line 66 of file ui_playermodel.c. |
|
|
Definition at line 67 of file ui_playermodel.c. |
|
|
Definition at line 68 of file ui_playermodel.c. |
|
|
Definition at line 75 of file ui_playermodel.c. Referenced by PlayerModel_MenuEvent(), and StartServer_MenuEvent(). |
|
|
Definition at line 36 of file ui_playermodel.c. |
|
|
Definition at line 55 of file ui_playermodel.c. Referenced by PlayerModel_MenuKey(), PlayerModel_PicEvent(), PlayerModel_UpdateGrid(), UI_BotSelectMenu_BotEvent(), UI_BotSelectMenu_SelectEvent(), and UI_PlayerModelMenu(). |
|
|
Definition at line 57 of file ui_playermodel.c. |
|
|
Definition at line 32 of file ui_playermodel.c. |
|
|
Definition at line 33 of file ui_playermodel.c. |
|
|
Definition at line 34 of file ui_playermodel.c. |
|
|
Definition at line 25 of file ui_playermodel.c. |
|
|
Definition at line 26 of file ui_playermodel.c. |
|
|
Definition at line 29 of file ui_playermodel.c. |
|
|
Definition at line 30 of file ui_playermodel.c. |
|
|
Definition at line 31 of file ui_playermodel.c. |
|
|
Definition at line 27 of file ui_playermodel.c. |
|
|
Definition at line 28 of file ui_playermodel.c. |
|
|
Definition at line 53 of file ui_playermodel.c. |
|
|
Definition at line 54 of file ui_playermodel.c. Referenced by PlayerModel_PicEvent(), PlayerModel_UpdateGrid(), UI_BotSelectMenu_BotEvent(), and UI_BotSelectMenu_UpdateGrid(). |
|
|
Definition at line 388 of file ui_playermodel.c. References Com_sprintf(), COM_StripExtension(), filelist, i, j, playermodel_t::modelnames, playermodel_t::modelpage, playermodel_t::nummodels, playermodel_t::numpages, Q_stricmpn(), qboolean, qfalse, s_playermodel, strcmp(), strlen(), trap_Cvar_VariableValue(), trap_FS_GetFileList(), trap_S_RegisterSound(), and va(). Referenced by PlayerModel_Cache(). 00389 {
00390 int numdirs;
00391 int numfiles;
00392 char dirlist[2048];
00393 char filelist[2048];
00394 char skinname[64];
00395 char* dirptr;
00396 char* fileptr;
00397 int i;
00398 int j;
00399 int dirlen;
00400 int filelen;
00401 qboolean precache;
00402
00403 precache = trap_Cvar_VariableValue("com_buildscript");
00404
00405 s_playermodel.modelpage = 0;
00406 s_playermodel.nummodels = 0;
00407
00408 // iterate directory of all player models
00409 numdirs = trap_FS_GetFileList("models/players", "/", dirlist, 2048 );
00410 dirptr = dirlist;
00411 for (i=0; i<numdirs && s_playermodel.nummodels < MAX_PLAYERMODELS; i++,dirptr+=dirlen+1)
00412 {
00413 dirlen = strlen(dirptr);
00414
00415 if (dirlen && dirptr[dirlen-1]=='/') dirptr[dirlen-1]='\0';
00416
00417 if (!strcmp(dirptr,".") || !strcmp(dirptr,".."))
00418 continue;
00419
00420 // iterate all skin files in directory
00421 numfiles = trap_FS_GetFileList( va("models/players/%s",dirptr), "tga", filelist, 2048 );
00422 fileptr = filelist;
00423 for (j=0; j<numfiles && s_playermodel.nummodels < MAX_PLAYERMODELS;j++,fileptr+=filelen+1)
00424 {
00425 filelen = strlen(fileptr);
00426
00427 COM_StripExtension(fileptr,skinname);
00428
00429 // look for icon_????
00430 if (!Q_stricmpn(skinname,"icon_",5))
00431 {
00432 Com_sprintf( s_playermodel.modelnames[s_playermodel.nummodels++],
00433 sizeof( s_playermodel.modelnames[s_playermodel.nummodels] ),
00434 "models/players/%s/%s", dirptr, skinname );
00435 //if (s_playermodel.nummodels >= MAX_PLAYERMODELS)
00436 // return;
00437 }
00438
00439 if( precache ) {
00440 trap_S_RegisterSound( va( "sound/player/announce/%s_wins.wav", skinname), qfalse );
00441 }
00442 }
00443 }
00444
00445 //APSFIXME - Degenerate no models case
00446
00447 s_playermodel.numpages = s_playermodel.nummodels/MAX_MODELSPERPAGE;
00448 if (s_playermodel.nummodels % MAX_MODELSPERPAGE)
00449 s_playermodel.numpages++;
00450 }
|
Here is the call graph for this function:

|
|
Definition at line 708 of file ui_playermodel.c. References i, playermodel_t::modelnames, playermodel_t::nummodels, playermodel_artlist, PlayerModel_BuildList(), s_playermodel, and trap_R_RegisterShaderNoMip(). 00709 {
00710 int i;
00711
00712 for( i = 0; playermodel_artlist[i]; i++ ) {
00713 trap_R_RegisterShaderNoMip( playermodel_artlist[i] );
00714 }
00715
00716 PlayerModel_BuildList();
00717 for( i = 0; i < s_playermodel.nummodels; i++ ) {
00718 trap_R_RegisterShaderNoMip( s_playermodel.modelnames[i] );
00719 }
00720 }
|
Here is the call graph for this function:

|
|
Definition at line 369 of file ui_playermodel.c. References b, color_red, menubitmap_s::generic, menubitmap_s::height, playermodel_t::playerinfo, uiStatic_t::realtime, s_playermodel, trap_MemoryRemaining(), UI_DrawPlayer(), UI_DrawProportionalString(), UI_LEFT, uis, menubitmap_s::width, menucommon_s::x, and menucommon_s::y. 00370 {
00371 menubitmap_s* b;
00372
00373 b = (menubitmap_s*) self;
00374
00375 if( trap_MemoryRemaining() <= LOW_MEMORY ) {
00376 UI_DrawProportionalString( b->generic.x, b->generic.y + b->height / 2, "LOW MEMORY", UI_LEFT, color_red );
00377 return;
00378 }
00379
00380 UI_DrawPlayer( b->generic.x, b->generic.y, b->width, b->height, &s_playermodel.playerinfo, uis.realtime/2 );
00381 }
|
Here is the call graph for this function:

|
||||||||||||
|
Definition at line 206 of file ui_playermodel.c. References ID_BACK, ID_NEXTPAGE, ID_PREVPAGE, playermodel_t::modelpage, playermodel_t::numpages, PlayerModel_SaveChanges(), PlayerModel_UpdateGrid(), s_playermodel, and UI_PopMenu(). 00207 {
00208 if (event != QM_ACTIVATED)
00209 return;
00210
00211 switch (((menucommon_s*)ptr)->id)
00212 {
00213 case ID_PREVPAGE:
00214 if (s_playermodel.modelpage > 0)
00215 {
00216 s_playermodel.modelpage--;
00217 PlayerModel_UpdateGrid();
00218 }
00219 break;
00220
00221 case ID_NEXTPAGE:
00222 if (s_playermodel.modelpage < s_playermodel.numpages-1)
00223 {
00224 s_playermodel.modelpage++;
00225 PlayerModel_UpdateGrid();
00226 }
00227 break;
00228
00229 case ID_BACK:
00230 PlayerModel_SaveChanges();
00231 UI_PopMenu();
00232 break;
00233 }
00234 }
|
Here is the call graph for this function:

|
Here is the call graph for this function:

|
|
Definition at line 241 of file ui_playermodel.c. References _tag_menuframework::cursor, menucommon_s::id, K_ESCAPE, K_KP_LEFTARROW, K_KP_RIGHTARROW, K_LEFTARROW, K_MOUSE2, K_RIGHTARROW, m, MAX_MODELSPERPAGE, playermodel_t::menu, Menu_DefaultKey(), Menu_ItemAtCursor(), Menu_SetCursor(), playermodel_t::modelpage, playermodel_t::nummodels, playermodel_t::numpages, PlayerModel_SaveChanges(), PlayerModel_UpdateGrid(), s_playermodel, and sfxHandle_t. 00242 {
00243 menucommon_s* m;
00244 int picnum;
00245
00246 switch (key)
00247 {
00248 case K_KP_LEFTARROW:
00249 case K_LEFTARROW:
00250 m = Menu_ItemAtCursor(&s_playermodel.menu);
00251 picnum = m->id - ID_PLAYERPIC0;
00252 if (picnum >= 0 && picnum <= 15)
00253 {
00254 if (picnum > 0)
00255 {
00256 Menu_SetCursor(&s_playermodel.menu,s_playermodel.menu.cursor-1);
00257 return (menu_move_sound);
00258
00259 }
00260 else if (s_playermodel.modelpage > 0)
00261 {
00262 s_playermodel.modelpage--;
00263 Menu_SetCursor(&s_playermodel.menu,s_playermodel.menu.cursor+15);
00264 PlayerModel_UpdateGrid();
00265 return (menu_move_sound);
00266 }
00267 else
00268 return (menu_buzz_sound);
00269 }
00270 break;
00271
00272 case K_KP_RIGHTARROW:
00273 case K_RIGHTARROW:
00274 m = Menu_ItemAtCursor(&s_playermodel.menu);
00275 picnum = m->id - ID_PLAYERPIC0;
00276 if (picnum >= 0 && picnum <= 15)
00277 {
00278 if ((picnum < 15) && (s_playermodel.modelpage*MAX_MODELSPERPAGE + picnum+1 < s_playermodel.nummodels))
00279 {
00280 Menu_SetCursor(&s_playermodel.menu,s_playermodel.menu.cursor+1);
00281 return (menu_move_sound);
00282 }
00283 else if ((picnum == 15) && (s_playermodel.modelpage < s_playermodel.numpages-1))
00284 {
00285 s_playermodel.modelpage++;
00286 Menu_SetCursor(&s_playermodel.menu,s_playermodel.menu.cursor-15);
00287 PlayerModel_UpdateGrid();
00288 return (menu_move_sound);
00289 }
00290 else
00291 return (menu_buzz_sound);
00292 }
00293 break;
00294
00295 case K_MOUSE2:
00296 case K_ESCAPE:
00297 PlayerModel_SaveChanges();
00298 break;
00299 }
00300
00301 return ( Menu_DefaultKey( &s_playermodel.menu, key ) );
00302 }
|
Here is the call graph for this function:

|
||||||||||||
|
Definition at line 309 of file ui_playermodel.c. References menucommon_s::flags, menubitmap_s::generic, i, menucommon_s::id, MAX_MODELSPERPAGE, playermodel_t::modelname, playermodel_t::modelnames, playermodel_t::modelpage, playermodel_t::modelskin, playermodel_t::picbuttons, playermodel_t::pics, PLAYERGRID_ROWS, PlayerModel_UpdateModel(), Q_strncpyz(), Q_strupr(), s_playermodel, playermodel_t::selectedmodel, playermodel_t::skinname, strcat(), menutext_s::string, strlen(), strstr(), and trap_MemoryRemaining(). 00310 {
00311 int modelnum;
00312 int maxlen;
00313 char* buffptr;
00314 char* pdest;
00315 int i;
00316
00317 if (event != QM_ACTIVATED)
00318 return;
00319
00320 for (i=0; i<PLAYERGRID_ROWS*PLAYERGRID_COLS; |