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

ui_specifyleague.c File Reference

#include "ui_local.h"

Include dependency graph for ui_specifyleague.c:

Include dependency graph

Go to the source code of this file.

Data Structures

struct  specifyleague_t
struct  table_t

Defines

#define GLOBALRANKINGS_LETTERS   "menu/art/gr/grletters"
#define GLOBALRANKINGS_LOGO   "menu/art/gr/grlogo"
#define ID_SPECIFYLEAGUEBACK   104
#define ID_SPECIFYLEAGUEDOWN   103
#define ID_SPECIFYLEAGUELIST   101
#define ID_SPECIFYLEAGUENAME   100
#define ID_SPECIFYLEAGUEUP   102
#define MAX_LEAGUENAME   80
#define MAX_LISTBOXITEMS   128
#define MAX_LISTBOXWIDTH   40
#define SPECIFYLEAGUE_ARROWS0   "menu/art/arrows_vert_0"
#define SPECIFYLEAGUE_BACK0   "menu/art/back_0"
#define SPECIFYLEAGUE_BACK1   "menu/art/back_1"
#define SPECIFYLEAGUE_DOWN   "menu/art/arrows_vert_bot"
#define SPECIFYLEAGUE_FRAMEL   "menu/art/frame2_l"
#define SPECIFYLEAGUE_FRAMER   "menu/art/frame1_r"
#define SPECIFYLEAGUE_UP   "menu/art/arrows_vert_top"

Functions

void SpecifyLeague_Cache (void)
void SpecifyLeague_Event (void *ptr, int event)
void SpecifyLeague_GetList ()
void SpecifyLeague_MenuInit (void)
void UI_SpecifyLeagueMenu (void)

Variables

table_t league_table [MAX_LISTBOXITEMS]
char * leaguename_items [MAX_LISTBOXITEMS]
char playername [80]
specifyleague_t s_specifyleague
char * specifyleague_artlist []


Define Documentation

#define GLOBALRANKINGS_LETTERS   "menu/art/gr/grletters"
 

Definition at line 41 of file ui_specifyleague.c.

#define GLOBALRANKINGS_LOGO   "menu/art/gr/grlogo"
 

Definition at line 40 of file ui_specifyleague.c.

#define ID_SPECIFYLEAGUEBACK   104
 

Definition at line 47 of file ui_specifyleague.c.

Referenced by SpecifyLeague_Event().

#define ID_SPECIFYLEAGUEDOWN   103
 

Definition at line 46 of file ui_specifyleague.c.

Referenced by SpecifyLeague_Event().

#define ID_SPECIFYLEAGUELIST   101
 

Definition at line 44 of file ui_specifyleague.c.

Referenced by SpecifyLeague_Event().

#define ID_SPECIFYLEAGUENAME   100
 

Definition at line 43 of file ui_specifyleague.c.

Referenced by SpecifyLeague_Event().

#define ID_SPECIFYLEAGUEUP   102
 

Definition at line 45 of file ui_specifyleague.c.

Referenced by SpecifyLeague_Event().

#define MAX_LEAGUENAME   80
 

Definition at line 31 of file ui_specifyleague.c.

#define MAX_LISTBOXITEMS   128
 

Definition at line 29 of file ui_specifyleague.c.

#define MAX_LISTBOXWIDTH   40
 

Definition at line 30 of file ui_specifyleague.c.

#define SPECIFYLEAGUE_ARROWS0   "menu/art/arrows_vert_0"
 

Definition at line 37 of file ui_specifyleague.c.

#define SPECIFYLEAGUE_BACK0   "menu/art/back_0"
 

Definition at line 35 of file ui_specifyleague.c.

#define SPECIFYLEAGUE_BACK1   "menu/art/back_1"
 

Definition at line 36 of file ui_specifyleague.c.

#define SPECIFYLEAGUE_DOWN   "menu/art/arrows_vert_bot"
 

Definition at line 39 of file ui_specifyleague.c.

#define SPECIFYLEAGUE_FRAMEL   "menu/art/frame2_l"
 

Definition at line 33 of file ui_specifyleague.c.

#define SPECIFYLEAGUE_FRAMER   "menu/art/frame1_r"
 

Definition at line 34 of file ui_specifyleague.c.

#define SPECIFYLEAGUE_UP   "menu/art/arrows_vert_top"
 

Definition at line 38 of file ui_specifyleague.c.


Function Documentation

void SpecifyLeague_Cache void   ) 
 

Definition at line 310 of file ui_specifyleague.c.

References i, specifyleague_artlist, and trap_R_RegisterShaderNoMip().

00311 {
00312     int i;
00313 
00314     // touch all our pics
00315     for (i=0; ;i++)
00316     {
00317         if (!specifyleague_artlist[i])
00318             break;
00319         trap_R_RegisterShaderNoMip(specifyleague_artlist[i]);
00320     }
00321 }

Here is the call graph for this function:

void SpecifyLeague_Event void *  ptr,
int  event
[static]
 

Definition at line 122 of file ui_specifyleague.c.

References mfield_t::buffer, menulist_s::curvalue, menufield_s::field, ID_SPECIFYLEAGUEBACK, ID_SPECIFYLEAGUEDOWN, ID_SPECIFYLEAGUELIST, ID_SPECIFYLEAGUENAME, ID_SPECIFYLEAGUEUP, K_DOWNARROW, K_UPARROW, league_table, specifyleague_t::list, playername, Q_strncmp(), specifyleague_t::rankname, s_specifyleague, ScrollList_Key(), SpecifyLeague_GetList(), strlen(), trap_Cvar_Set(), and UI_PopMenu().

00123 {
00124     int     id;
00125     id = ((menucommon_s*)ptr)->id;
00126     //if( event != QM_ACTIVATED && id != ID_SPECIFYLEAGUELIST ) {
00127     //  return;
00128     //}
00129 
00130     switch (id)
00131     {
00132         case ID_SPECIFYLEAGUELIST:
00133             if( event == QM_GOTFOCUS ) {
00134                 //ArenaServers_UpdatePicture();
00135             }
00136         break;
00137 
00138         case ID_SPECIFYLEAGUEUP:
00139             if( event == QM_ACTIVATED )
00140                 ScrollList_Key( &s_specifyleague.list, K_UPARROW );
00141         break;      
00142     
00143         case ID_SPECIFYLEAGUEDOWN:
00144             if( event == QM_ACTIVATED )
00145                 ScrollList_Key( &s_specifyleague.list, K_DOWNARROW );
00146         break;
00147             
00148         case ID_SPECIFYLEAGUENAME:
00149             if( (event == QM_LOSTFOCUS) && 
00150                 (Q_strncmp(playername, 
00151                     s_specifyleague.rankname.field.buffer, 
00152                     strlen(s_specifyleague.rankname.field.buffer)) != 0))
00153             {
00154                 SpecifyLeague_GetList();
00155             }
00156         break;
00157 
00158         case ID_SPECIFYLEAGUEBACK:
00159             if( event == QM_ACTIVATED )
00160             {
00161                 trap_Cvar_Set( "sv_leagueName", league_table[s_specifyleague.list.curvalue].leaguename);
00162                 UI_PopMenu();
00163             }
00164         break;
00165     }
00166 }

Here is the call graph for this function:

void SpecifyLeague_GetList  )  [static]
 

Definition at line 93 of file ui_specifyleague.c.

References mfield_t::buffer, count, menufield_s::field, i, league_table, specifyleague_t::list, menulist_s::numitems, playername, Q_strncpyz(), specifyleague_t::rankname, s, s_specifyleague, trap_Cvar_VariableStringBuffer(), and va().

Referenced by SpecifyLeague_Event(), and SpecifyLeague_MenuInit().

00094 {
00095     int count = 0;
00096     int i;
00097     /* The Player Name has changed. We need to perform another search */
00098     Q_strncpyz( playername,
00099         s_specifyleague.rankname.field.buffer, 
00100         sizeof(playername) );
00101 
00102     count = trap_CL_UI_RankGetLeauges( playername );
00103 
00104     for(i = 0; i < count; i++)
00105     {
00106         char    s[MAX_LEAGUENAME];
00107         const char  *var;
00108         var = va( "leaguename%i", i+1 );
00109         trap_Cvar_VariableStringBuffer( var, s, sizeof(s) );
00110         Q_strncpyz(league_table[i].leaguename, s, sizeof(league_table[i].leaguename) );
00111         Q_strncpyz(league_table[i].buff, league_table[i].leaguename, sizeof(league_table[i].buff) );
00112     }
00113 
00114     s_specifyleague.list.numitems = count;
00115 }

Here is the call graph for this function:

void SpecifyLeague_MenuInit void   ) 
 

Definition at line 173 of file ui_specifyleague.c.

References specifyleague_t::arrows, specifyleague_t::back, specifyleague_t::banner, table_t::buff, mfield_t::buffer, menucommon_s::callback, menutext_s::color, specifyleague_t::down, menufield_s::field, menucommon_s::flags, menubitmap_s::focuspic, specifyleague_t::framel, specifyleague_t::framer, _tag_menuframework::fullscreen, menulist_s::generic, menufield_s::generic, menubitmap_s::generic, menutext_s::generic, specifyleague_t::grlogo, menulist_s::height, menubitmap_s::height, i, menucommon_s::id, menulist_s::itemnames, league_table, table_t::leaguename, leaguename_items, specifyleague_t::list, mfield_t::maxchars, memset(), specifyleague_t::menu, Menu_AddItem(), menucommon_s::name, menulist_s::numitems, playername, Q_strncpyz(), QMF_LEFT_JUSTIFY, QMF_PULSEIFFOCUS, specifyleague_t::rankname, s_specifyleague, SpecifyLeague_Cache(), SpecifyLeague_GetList(), menutext_s::string, menutext_s::style, menucommon_s::type, UI_Cvar_VariableString(), specifyleague_t::up, menulist_s::width, menubitmap_s::width, mfield_t::widthInChars, _tag_menuframework::wrapAround, menucommon_s::x, and menucommon_s::y.

Referenced by UI_SpecifyLeagueMenu().

00174 {
00175     int i;
00176     // zero set all our globals
00177     memset( &s_specifyleague, 0 ,sizeof(specifyleague_t) );
00178 
00179     SpecifyLeague_Cache();
00180 
00181     s_specifyleague.menu.wrapAround = qtrue;
00182     s_specifyleague.menu.fullscreen = qtrue;
00183 
00184     s_specifyleague.banner.generic.type  = MTYPE_BTEXT;
00185     s_specifyleague.banner.generic.x     = 320;
00186     s_specifyleague.banner.generic.y     = 16;
00187     s_specifyleague.banner.string        = "CHOOSE LEAGUE";
00188     s_specifyleague.banner.color         = color_white;
00189     s_specifyleague.banner.style         = UI_CENTER;
00190 
00191     s_specifyleague.framel.generic.type  = MTYPE_BITMAP;
00192     s_specifyleague.framel.generic.name  = SPECIFYLEAGUE_FRAMEL;
00193     s_specifyleague.framel.generic.flags = QMF_INACTIVE;
00194     s_specifyleague.framel.generic.x     = 0;  
00195     s_specifyleague.framel.generic.y     = 78;
00196     s_specifyleague.framel.width         = 256;
00197     s_specifyleague.framel.height        = 334;
00198 
00199     s_specifyleague.framer.generic.type  = MTYPE_BITMAP;
00200     s_specifyleague.framer.generic.name  = SPECIFYLEAGUE_FRAMER;
00201     s_specifyleague.framer.generic.flags = QMF_INACTIVE;
00202     s_specifyleague.framer.generic.x     = 376;
00203     s_specifyleague.framer.generic.y     = 76;
00204     s_specifyleague.framer.width         = 256;
00205     s_specifyleague.framer.height        = 334;
00206 
00207     s_specifyleague.grlogo.generic.type  = MTYPE_BITMAP;
00208     s_specifyleague.grlogo.generic.name  = GLOBALRANKINGS_LOGO;
00209     s_specifyleague.grlogo.generic.flags = QMF_INACTIVE;
00210     s_specifyleague.grlogo.generic.x     = 0;
00211     s_specifyleague.grlogo.generic.y     = 0;
00212     s_specifyleague.grlogo.width         = 64;
00213     s_specifyleague.grlogo.height        = 128;
00214 
00215     s_specifyleague.rankname.generic.type       = MTYPE_FIELD;
00216     s_specifyleague.rankname.generic.name       = "Player Name:";
00217     s_specifyleague.rankname.generic.flags      = QMF_PULSEIFFOCUS|QMF_SMALLFONT;
00218     s_specifyleague.rankname.generic.callback   = SpecifyLeague_Event;
00219     s_specifyleague.rankname.generic.id         = ID_SPECIFYLEAGUENAME;
00220     s_specifyleague.rankname.generic.x          = 226;
00221     s_specifyleague.rankname.generic.y          = 128;
00222     s_specifyleague.rankname.field.widthInChars = 32;
00223     s_specifyleague.rankname.field.maxchars     = 80;
00224 
00225     s_specifyleague.list.generic.type           = MTYPE_SCROLLLIST;
00226     s_specifyleague.list.generic.flags          = QMF_HIGHLIGHT_IF_FOCUS;
00227     s_specifyleague.list.generic.id             = ID_SPECIFYLEAGUELIST;
00228     s_specifyleague.list.generic.callback       = SpecifyLeague_Event;
00229     s_specifyleague.list.generic.x              = 160;
00230     s_specifyleague.list.generic.y              = 200;
00231     s_specifyleague.list.width                  = MAX_LISTBOXWIDTH;
00232     s_specifyleague.list.height                 = 8;
00233     s_specifyleague.list.itemnames              = (const char **)leaguename_items;
00234     s_specifyleague.list.numitems               = 0;
00235     for( i = 0; i < MAX_LISTBOXITEMS; i++ ) {
00236         league_table[i].buff[0] = 0;
00237         league_table[i].leaguename[0] = 0;
00238         leaguename_items[i] = league_table[i].buff;
00239     }
00240     
00241     s_specifyleague.arrows.generic.type         = MTYPE_BITMAP;
00242     s_specifyleague.arrows.generic.name         = SPECIFYLEAGUE_ARROWS0;
00243     s_specifyleague.arrows.generic.flags        = QMF_LEFT_JUSTIFY|QMF_INACTIVE;
00244     s_specifyleague.arrows.generic.callback     = SpecifyLeague_Event;
00245     s_specifyleague.arrows.generic.x            = 512;
00246     s_specifyleague.arrows.generic.y            = 240-64+16;
00247     s_specifyleague.arrows.width                = 64;
00248     s_specifyleague.arrows.height               = 128;
00249 
00250     s_specifyleague.up.generic.type             = MTYPE_BITMAP;
00251     s_specifyleague.up.generic.flags            = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS|QMF_MOUSEONLY;
00252     s_specifyleague.up.generic.callback         = SpecifyLeague_Event;
00253     s_specifyleague.up.generic.id               = ID_SPECIFYLEAGUEUP;
00254     s_specifyleague.up.generic.x                = 512;
00255     s_specifyleague.up.generic.y                = 240-64+16;
00256     s_specifyleague.up.width                    = 64;
00257     s_specifyleague.up.height                   = 64;
00258     s_specifyleague.up.focuspic                 = SPECIFYLEAGUE_UP;
00259 
00260     s_specifyleague.down.generic.type           = MTYPE_BITMAP;
00261     s_specifyleague.down.generic.flags          = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS|QMF_MOUSEONLY;
00262     s_specifyleague.down.generic.callback       = SpecifyLeague_Event;
00263     s_specifyleague.down.generic.id             = ID_SPECIFYLEAGUEDOWN;
00264     s_specifyleague.down.generic.x              = 512;
00265     s_specifyleague.down.generic.y              = 240+16;
00266     s_specifyleague.down.width                  = 64;
00267     s_specifyleague.down.height                 = 64;
00268     s_specifyleague.down.focuspic               = SPECIFYLEAGUE_DOWN;
00269 
00270     s_specifyleague.back.generic.type     = MTYPE_BITMAP;
00271     s_specifyleague.back.generic.name     = SPECIFYLEAGUE_BACK0;
00272     s_specifyleague.back.generic.flags    = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;
00273     s_specifyleague.back.generic.callback = SpecifyLeague_Event;
00274     s_specifyleague.back.generic.id       = ID_SPECIFYLEAGUEBACK;
00275     s_specifyleague.back.generic.x        = 0;
00276     s_specifyleague.back.generic.y        = 480-64;
00277     s_specifyleague.back.width            = 128;
00278     s_specifyleague.back.height           = 64;
00279     s_specifyleague.back.focuspic         = SPECIFYLEAGUE_BACK1;
00280 
00281     Menu_AddItem( &s_specifyleague.menu, &s_specifyleague.banner );
00282     Menu_AddItem( &s_specifyleague.menu, &s_specifyleague.framel );
00283     Menu_AddItem( &s_specifyleague.menu, &s_specifyleague.framer );
00284     Menu_AddItem( &s_specifyleague.menu, &s_specifyleague.grlogo );
00285     Menu_AddItem( &s_specifyleague.menu, &s_specifyleague.rankname );
00286     Menu_AddItem( &s_specifyleague.menu, &s_specifyleague.list );
00287     Menu_AddItem( &s_specifyleague.menu, &s_specifyleague.arrows );
00288     Menu_AddItem( &s_specifyleague.menu, &s_specifyleague.up );
00289     Menu_AddItem( &s_specifyleague.menu, &s_specifyleague.down );
00290     Menu_AddItem( &s_specifyleague.menu, &s_specifyleague.back );
00291 
00292 
00293     // initialize any menu variables
00294     Q_strncpyz( s_specifyleague.rankname.field.buffer, 
00295         UI_Cvar_VariableString("name"), 
00296         sizeof(s_specifyleague.rankname.field.buffer) );
00297 
00298     Q_strncpyz( playername,
00299         UI_Cvar_VariableString("name"), 
00300         sizeof(playername) );
00301 
00302     SpecifyLeague_GetList();
00303 }

Here is the call graph for this function:

void UI_SpecifyLeagueMenu void   ) 
 

Definition at line 328 of file ui_specifyleague.c.

References specifyleague_t::menu, s_specifyleague, SpecifyLeague_MenuInit(), and UI_PushMenu().

00329 {
00330     SpecifyLeague_MenuInit();
00331     UI_PushMenu( &s_specifyleague.menu );
00332 }

Here is the call graph for this function:


Variable Documentation

table_t league_table[MAX_LISTBOXITEMS]
 

Definition at line 89 of file ui_specifyleague.c.

Referenced by SpecifyLeague_Event(), SpecifyLeague_GetList(), and SpecifyLeague_MenuInit().

char* leaguename_items[MAX_LISTBOXITEMS]
 

Definition at line 90 of file ui_specifyleague.c.

Referenced by SpecifyLeague_MenuInit().

char playername[80] [static]
 

Definition at line 63 of file ui_specifyleague.c.

Referenced by SpecifyLeague_Event(), SpecifyLeague_GetList(), and SpecifyLeague_MenuInit().

specifyleague_t s_specifyleague [static]
 

Definition at line 81 of file ui_specifyleague.c.

Referenced by SpecifyLeague_Event(), SpecifyLeague_GetList(), SpecifyLeague_MenuInit(), and UI_SpecifyLeagueMenu().

char* specifyleague_artlist[] [static]
 

Initial value:

{
    SPECIFYLEAGUE_FRAMEL,
    SPECIFYLEAGUE_FRAMER,
    SPECIFYLEAGUE_ARROWS0,  
    SPECIFYLEAGUE_UP,   
    SPECIFYLEAGUE_DOWN, 
    SPECIFYLEAGUE_BACK0,    
    SPECIFYLEAGUE_BACK1,
    GLOBALRANKINGS_LOGO,
    GLOBALRANKINGS_LETTERS,
    NULL
}

Definition at line 49 of file ui_specifyleague.c.

Referenced by SpecifyLeague_Cache().


Generated on Thu Aug 25 14:34:45 2005 for Quake III Arena by  doxygen 1.3.9.1