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

ui_removebots.c File Reference

#include "ui_local.h"

Include dependency graph for ui_removebots.c:

Include dependency graph

Go to the source code of this file.

Data Structures

struct  removeBotsMenuInfo_t

Defines

#define ART_ARROWDOWN   "menu/art/arrows_vert_bot"
#define ART_ARROWS   "menu/art/arrows_vert_0"
#define ART_ARROWUP   "menu/art/arrows_vert_top"
#define ART_BACK0   "menu/art/back_0"
#define ART_BACK1   "menu/art/back_1"
#define ART_BACKGROUND   "menu/art/addbotframe"
#define ART_DELETE0   "menu/art/delete_0"
#define ART_DELETE1   "menu/art/delete_1"
#define ID_BACK   13
#define ID_BOTNAME0   20
#define ID_BOTNAME1   21
#define ID_BOTNAME2   22
#define ID_BOTNAME3   23
#define ID_BOTNAME4   24
#define ID_BOTNAME5   25
#define ID_BOTNAME6   26
#define ID_DELETE   12
#define ID_DOWN   11
#define ID_UP   10

Functions

void UI_RemoveBots_Cache (void)
void UI_RemoveBotsMenu (void)
void UI_RemoveBotsMenu_BackEvent (void *ptr, int event)
void UI_RemoveBotsMenu_BotEvent (void *ptr, int event)
void UI_RemoveBotsMenu_DeleteEvent (void *ptr, int event)
void UI_RemoveBotsMenu_DownEvent (void *ptr, int event)
void UI_RemoveBotsMenu_GetBots (void)
void UI_RemoveBotsMenu_Init (void)
void UI_RemoveBotsMenu_SetBotNames (void)
void UI_RemoveBotsMenu_UpEvent (void *ptr, int event)

Variables

removeBotsMenuInfo_t removeBotsMenuInfo


Define Documentation

#define ART_ARROWDOWN   "menu/art/arrows_vert_bot"
 

Definition at line 42 of file ui_removebots.c.

#define ART_ARROWS   "menu/art/arrows_vert_0"
 

Definition at line 40 of file ui_removebots.c.

#define ART_ARROWUP   "menu/art/arrows_vert_top"
 

Definition at line 41 of file ui_removebots.c.

#define ART_BACK0   "menu/art/back_0"
 

Definition at line 36 of file ui_removebots.c.

#define ART_BACK1   "menu/art/back_1"
 

Definition at line 37 of file ui_removebots.c.

#define ART_BACKGROUND   "menu/art/addbotframe"
 

Definition at line 35 of file ui_removebots.c.

#define ART_DELETE0   "menu/art/delete_0"
 

Definition at line 38 of file ui_removebots.c.

Referenced by UI_RemoveBots_Cache().

#define ART_DELETE1   "menu/art/delete_1"
 

Definition at line 39 of file ui_removebots.c.

Referenced by UI_RemoveBots_Cache().

#define ID_BACK   13
 

Definition at line 47 of file ui_removebots.c.

#define ID_BOTNAME0   20
 

Definition at line 48 of file ui_removebots.c.

#define ID_BOTNAME1   21
 

Definition at line 49 of file ui_removebots.c.

#define ID_BOTNAME2   22
 

Definition at line 50 of file ui_removebots.c.

#define ID_BOTNAME3   23
 

Definition at line 51 of file ui_removebots.c.

#define ID_BOTNAME4   24
 

Definition at line 52 of file ui_removebots.c.

#define ID_BOTNAME5   25
 

Definition at line 53 of file ui_removebots.c.

#define ID_BOTNAME6   26
 

Definition at line 54 of file ui_removebots.c.

#define ID_DELETE   12
 

Definition at line 46 of file ui_removebots.c.

#define ID_DOWN   11
 

Definition at line 45 of file ui_removebots.c.

#define ID_UP   10
 

Definition at line 44 of file ui_removebots.c.


Function Documentation

void UI_RemoveBots_Cache void   ) 
 

Definition at line 211 of file ui_removebots.c.

References ART_BACK0, ART_BACK1, ART_BACKGROUND, ART_DELETE0, ART_DELETE1, and trap_R_RegisterShaderNoMip().

00211                                  {
00212     trap_R_RegisterShaderNoMip( ART_BACKGROUND );
00213     trap_R_RegisterShaderNoMip( ART_BACK0 );
00214     trap_R_RegisterShaderNoMip( ART_BACK1 );
00215     trap_R_RegisterShaderNoMip( ART_DELETE0 );
00216     trap_R_RegisterShaderNoMip( ART_DELETE1 );
00217 }

Here is the call graph for this function:

void UI_RemoveBotsMenu void   ) 
 

Definition at line 339 of file ui_removebots.c.

References removeBotsMenuInfo_t::menu, removeBotsMenuInfo, UI_PushMenu(), and UI_RemoveBotsMenu_Init().

00339                                {
00340     UI_RemoveBotsMenu_Init();
00341     UI_PushMenu( &removeBotsMenuInfo.menu );
00342 }

Here is the call graph for this function:

void UI_RemoveBotsMenu_BackEvent void *  ptr,
int  event
[static]
 

Definition at line 135 of file ui_removebots.c.

References UI_PopMenu().

00135                                                                 {
00136     if (event != QM_ACTIVATED) {
00137         return;
00138     }
00139     UI_PopMenu();
00140 }

Here is the call graph for this function:

void UI_RemoveBotsMenu_BotEvent void *  ptr,
int  event
[static]
 

Definition at line 119 of file ui_removebots.c.

References removeBotsMenuInfo_t::bots, menutext_s::color, removeBotsMenuInfo, and removeBotsMenuInfo_t::selectedBotNum.

00119                                                                {
00120     if (event != QM_ACTIVATED) {
00121         return;
00122     }
00123 
00124     removeBotsMenuInfo.bots[removeBotsMenuInfo.selectedBotNum].color = color_orange;
00125     removeBotsMenuInfo.selectedBotNum = ((menucommon_s*)ptr)->id - ID_BOTNAME0;
00126     removeBotsMenuInfo.bots[removeBotsMenuInfo.selectedBotNum].color = color_white;
00127 }

void UI_RemoveBotsMenu_DeleteEvent void *  ptr,
int  event
[static]
 

Definition at line 105 of file ui_removebots.c.

References removeBotsMenuInfo_t::baseBotNum, removeBotsMenuInfo_t::botClientNums, EXEC_APPEND, removeBotsMenuInfo, removeBotsMenuInfo_t::selectedBotNum, trap_Cmd_ExecuteText(), and va().

00105                                                                   {
00106     if (event != QM_ACTIVATED) {
00107         return;
00108     }
00109 
00110     trap_Cmd_ExecuteText( EXEC_APPEND, va("clientkick %i\n", removeBotsMenuInfo.botClientNums[removeBotsMenuInfo.baseBotNum + removeBotsMenuInfo.selectedBotNum]) );
00111 }

Here is the call graph for this function:

void UI_RemoveBotsMenu_DownEvent void *  ptr,
int  event
[static]
 

Definition at line 165 of file ui_removebots.c.

References removeBotsMenuInfo_t::baseBotNum, removeBotsMenuInfo_t::numBots, removeBotsMenuInfo, and UI_RemoveBotsMenu_SetBotNames().

00165                                                                 {
00166     if (event != QM_ACTIVATED) {
00167         return;
00168     }
00169 
00170     if( removeBotsMenuInfo.baseBotNum + 7 < removeBotsMenuInfo.numBots ) {
00171         removeBotsMenuInfo.baseBotNum++;
00172         UI_RemoveBotsMenu_SetBotNames();
00173     }
00174 }

Here is the call graph for this function:

void UI_RemoveBotsMenu_GetBots void   )  [static]
 

Definition at line 182 of file ui_removebots.c.

References atoi, removeBotsMenuInfo_t::botClientNums, CS_PLAYERS, CS_SERVERINFO, Info_ValueForKey(), MAX_INFO_STRING, n, removeBotsMenuInfo_t::numBots, removeBotsMenuInfo, and trap_GetConfigString().

Referenced by UI_RemoveBotsMenu_Init().

00182                                               {
00183     int     numPlayers;
00184     int     isBot;
00185     int     n;
00186     char    info[MAX_INFO_STRING];
00187 
00188     trap_GetConfigString( CS_SERVERINFO, info, sizeof(info) );
00189     numPlayers = atoi( Info_ValueForKey( info, "sv_maxclients" ) );
00190     removeBotsMenuInfo.numBots = 0;
00191 
00192     for( n = 0; n < numPlayers; n++ ) {
00193         trap_GetConfigString( CS_PLAYERS + n, info, MAX_INFO_STRING );
00194 
00195         isBot = atoi( Info_ValueForKey( info, "skill" ) );
00196         if( !isBot ) {
00197             continue;
00198         }
00199 
00200         removeBotsMenuInfo.botClientNums[removeBotsMenuInfo.numBots] = n;
00201         removeBotsMenuInfo.numBots++;
00202     }
00203 }

Here is the call graph for this function:

void UI_RemoveBotsMenu_Init void   )  [static]
 

Definition at line 225 of file ui_removebots.c.

References removeBotsMenuInfo_t::arrows, removeBotsMenuInfo_t::back, removeBotsMenuInfo_t::background, removeBotsMenuInfo_t::banner, removeBotsMenuInfo_t::baseBotNum, removeBotsMenuInfo_t::botnames, removeBotsMenuInfo_t::bots, menucommon_s::callback, menutext_s::color, count, removeBotsMenuInfo_t::delete, removeBotsMenuInfo_t::down, menucommon_s::flags, menubitmap_s::focuspic, _tag_menuframework::fullscreen, menubitmap_s::generic, menutext_s::generic, menubitmap_s::height, menucommon_s::id, ID_BOTNAME0, memset(), removeBotsMenuInfo_t::menu, Menu_AddItem(), n, menucommon_s::name, removeBotsMenuInfo_t::numBots, QMF_LEFT_JUSTIFY, removeBotsMenuInfo, removeBotsMenuInfo_t::selectedBotNum, menutext_s::string, menutext_s::style, menucommon_s::type, UI_LEFT, UI_RemoveBots_Cache(), UI_RemoveBotsMenu_GetBots(), UI_RemoveBotsMenu_SetBotNames(), removeBotsMenuInfo_t::up, menubitmap_s::width, _tag_menuframework::wrapAround, menucommon_s::x, y, and menucommon_s::y.

Referenced by UI_RemoveBotsMenu().

00225                                            {
00226     int     n;
00227     int     count;
00228     int     y;
00229 
00230     memset( &removeBotsMenuInfo, 0 ,sizeof(removeBotsMenuInfo) );
00231     removeBotsMenuInfo.menu.fullscreen = qfalse;
00232     removeBotsMenuInfo.menu.wrapAround = qtrue;
00233 
00234     UI_RemoveBots_Cache();
00235 
00236     UI_RemoveBotsMenu_GetBots();
00237     UI_RemoveBotsMenu_SetBotNames();
00238     count = removeBotsMenuInfo.numBots < 7 ? removeBotsMenuInfo.numBots : 7;
00239 
00240     removeBotsMenuInfo.banner.generic.type      = MTYPE_BTEXT;
00241     removeBotsMenuInfo.banner.generic.x         = 320;
00242     removeBotsMenuInfo.banner.generic.y         = 16;
00243     removeBotsMenuInfo.banner.string            = "REMOVE BOTS";
00244     removeBotsMenuInfo.banner.color             = color_white;
00245     removeBotsMenuInfo.banner.style             = UI_CENTER;
00246 
00247     removeBotsMenuInfo.background.generic.type  = MTYPE_BITMAP;
00248     removeBotsMenuInfo.background.generic.name  = ART_BACKGROUND;
00249     removeBotsMenuInfo.background.generic.flags = QMF_INACTIVE;
00250     removeBotsMenuInfo.background.generic.x     = 320-233;
00251     removeBotsMenuInfo.background.generic.y     = 240-166;
00252     removeBotsMenuInfo.background.width         = 466;
00253     removeBotsMenuInfo.background.height        = 332;
00254 
00255     removeBotsMenuInfo.arrows.generic.type      = MTYPE_BITMAP;
00256     removeBotsMenuInfo.arrows.generic.name      = ART_ARROWS;
00257     removeBotsMenuInfo.arrows.generic.flags     = QMF_INACTIVE;
00258     removeBotsMenuInfo.arrows.generic.x         = 200;
00259     removeBotsMenuInfo.arrows.generic.y         = 128;
00260     removeBotsMenuInfo.arrows.width             = 64;
00261     removeBotsMenuInfo.arrows.height            = 128;
00262 
00263     removeBotsMenuInfo.up.generic.type          = MTYPE_BITMAP;
00264     removeBotsMenuInfo.up.generic.flags         = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;
00265     removeBotsMenuInfo.up.generic.x             = 200;
00266     removeBotsMenuInfo.up.generic.y             = 128;
00267     removeBotsMenuInfo.up.generic.id            = ID_UP;
00268     removeBotsMenuInfo.up.generic.callback      = UI_RemoveBotsMenu_UpEvent;
00269     removeBotsMenuInfo.up.width                 = 64;
00270     removeBotsMenuInfo.up.height                = 64;
00271     removeBotsMenuInfo.up.focuspic              = ART_ARROWUP;
00272 
00273     removeBotsMenuInfo.down.generic.type        = MTYPE_BITMAP;
00274     removeBotsMenuInfo.down.generic.flags       = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;
00275     removeBotsMenuInfo.down.generic.x           = 200;
00276     removeBotsMenuInfo.down.generic.y           = 128+64;
00277     removeBotsMenuInfo.down.generic.id          = ID_DOWN;
00278     removeBotsMenuInfo.down.generic.callback    = UI_RemoveBotsMenu_DownEvent;
00279     removeBotsMenuInfo.down.width               = 64;
00280     removeBotsMenuInfo.down.height              = 64;
00281     removeBotsMenuInfo.down.focuspic            = ART_ARROWDOWN;
00282 
00283     for( n = 0, y = 120; n < count; n++, y += 20 ) {
00284         removeBotsMenuInfo.bots[n].generic.type     = MTYPE_PTEXT;
00285         removeBotsMenuInfo.bots[n].generic.flags    = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;
00286         removeBotsMenuInfo.bots[n].generic.id       = ID_BOTNAME0 + n;
00287         removeBotsMenuInfo.bots[n].generic.x        = 320 - 56;
00288         removeBotsMenuInfo.bots[n].generic.y        = y;
00289         removeBotsMenuInfo.bots[n].generic.callback = UI_RemoveBotsMenu_BotEvent;
00290         removeBotsMenuInfo.bots[n].string           = removeBotsMenuInfo.botnames[n];
00291         removeBotsMenuInfo.bots[n].color            = color_orange;
00292         removeBotsMenuInfo.bots[n].style            = UI_LEFT|UI_SMALLFONT;
00293     }
00294 
00295     removeBotsMenuInfo.delete.generic.type      = MTYPE_BITMAP;
00296     removeBotsMenuInfo.delete.generic.name      = ART_DELETE0;
00297     removeBotsMenuInfo.delete.generic.flags     = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;
00298     removeBotsMenuInfo.delete.generic.id        = ID_DELETE;
00299     removeBotsMenuInfo.delete.generic.callback  = UI_RemoveBotsMenu_DeleteEvent;
00300     removeBotsMenuInfo.delete.generic.x         = 320+128-128;
00301     removeBotsMenuInfo.delete.generic.y         = 256+128-64;
00302     removeBotsMenuInfo.delete.width             = 128;
00303     removeBotsMenuInfo.delete.height            = 64;
00304     removeBotsMenuInfo.delete.focuspic          = ART_DELETE1;
00305 
00306     removeBotsMenuInfo.back.generic.type        = MTYPE_BITMAP;
00307     removeBotsMenuInfo.back.generic.name        = ART_BACK0;
00308     removeBotsMenuInfo.back.generic.flags       = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;
00309     removeBotsMenuInfo.back.generic.id          = ID_BACK;
00310     removeBotsMenuInfo.back.generic.callback    = UI_RemoveBotsMenu_BackEvent;
00311     removeBotsMenuInfo.back.generic.x           = 320-128;
00312     removeBotsMenuInfo.back.generic.y           = 256+128-64;
00313     removeBotsMenuInfo.back.width               = 128;
00314     removeBotsMenuInfo.back.height              = 64;
00315     removeBotsMenuInfo.back.focuspic            = ART_BACK1;
00316 
00317     Menu_AddItem( &removeBotsMenuInfo.menu, &removeBotsMenuInfo.background );
00318     Menu_AddItem( &removeBotsMenuInfo.menu, &removeBotsMenuInfo.banner );
00319     Menu_AddItem( &removeBotsMenuInfo.menu, &removeBotsMenuInfo.arrows );
00320     Menu_AddItem( &removeBotsMenuInfo.menu, &removeBotsMenuInfo.up );
00321     Menu_AddItem( &removeBotsMenuInfo.menu, &removeBotsMenuInfo.down );
00322     for( n = 0; n < count; n++ ) {
00323         Menu_AddItem( &removeBotsMenuInfo.menu, &removeBotsMenuInfo.bots[n] );
00324     }
00325     Menu_AddItem( &removeBotsMenuInfo.menu, &removeBotsMenuInfo.delete );
00326     Menu_AddItem( &removeBotsMenuInfo.menu, &removeBotsMenuInfo.back );
00327 
00328     removeBotsMenuInfo.baseBotNum = 0;
00329     removeBotsMenuInfo.selectedBotNum = 0;
00330     removeBotsMenuInfo.bots[0].color = color_white;
00331 }

Here is the call graph for this function:

void UI_RemoveBotsMenu_SetBotNames void   )  [static]
 

Definition at line 87 of file ui_removebots.c.

References removeBotsMenuInfo_t::baseBotNum, removeBotsMenuInfo_t::botClientNums, removeBotsMenuInfo_t::botnames, CS_PLAYERS, Info_ValueForKey(), MAX_INFO_STRING, n, removeBotsMenuInfo_t::numBots, Q_CleanStr(), Q_strncpyz(), removeBotsMenuInfo, and trap_GetConfigString().

Referenced by UI_RemoveBotsMenu_DownEvent(), UI_RemoveBotsMenu_Init(), and UI_RemoveBotsMenu_UpEvent().

00087                                                   {
00088     int     n;
00089     char    info[MAX_INFO_STRING];
00090 
00091     for ( n = 0; (n < 7) && (removeBotsMenuInfo.baseBotNum + n < removeBotsMenuInfo.numBots); n++ ) {
00092         trap_GetConfigString( CS_PLAYERS + removeBotsMenuInfo.botClientNums[removeBotsMenuInfo.baseBotNum + n], info, MAX_INFO_STRING );
00093         Q_strncpyz( removeBotsMenuInfo.botnames[n], Info_ValueForKey( info, "n" ), sizeof(removeBotsMenuInfo.botnames[n]) );
00094         Q_CleanStr( removeBotsMenuInfo.botnames[n] );
00095     }
00096 
00097 }

Here is the call graph for this function:

void UI_RemoveBotsMenu_UpEvent void *  ptr,
int  event
[static]
 

Definition at line 148 of file ui_removebots.c.

References removeBotsMenuInfo_t::baseBotNum, removeBotsMenuInfo, and UI_RemoveBotsMenu_SetBotNames().

00148                                                               {
00149     if (event != QM_ACTIVATED) {
00150         return;
00151     }
00152 
00153     if( removeBotsMenuInfo.baseBotNum > 0 ) {
00154         removeBotsMenuInfo.baseBotNum--;
00155         UI_RemoveBotsMenu_SetBotNames();
00156     }
00157 }

Here is the call graph for this function:


Variable Documentation

removeBotsMenuInfo_t removeBotsMenuInfo [static]
 

Definition at line 79 of file ui_removebots.c.

Referenced by UI_RemoveBotsMenu(), UI_RemoveBotsMenu_BotEvent(), UI_RemoveBotsMenu_DeleteEvent(), UI_RemoveBotsMenu_DownEvent(), UI_RemoveBotsMenu_GetBots(), UI_RemoveBotsMenu_Init(), UI_RemoveBotsMenu_SetBotNames(), and UI_RemoveBotsMenu_UpEvent().


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