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

Go to the source code of this file.
Data Structures | |
| struct | arenaservers_t |
| struct | pinglist_t |
| struct | servernode_s |
| struct | table_t |
Defines | |
| #define | ART_ARROWS0 "menu/art/arrows_vert_0" |
| #define | ART_ARROWS_DOWN "menu/art/arrows_vert_bot" |
| #define | ART_ARROWS_UP "menu/art/arrows_vert_top" |
| #define | ART_BACK0 "menu/art/back_0" |
| #define | ART_BACK1 "menu/art/back_1" |
| #define | ART_CONNECT0 "menu/art/fight_0" |
| #define | ART_CONNECT1 "menu/art/fight_1" |
| #define | ART_CREATE0 "menu/art/create_0" |
| #define | ART_CREATE1 "menu/art/create_1" |
| #define | ART_PUNKBUSTER "menu/art/pblogo" |
| #define | ART_REFRESH0 "menu/art/refresh_0" |
| #define | ART_REFRESH1 "menu/art/refresh_1" |
| #define | ART_REMOVE0 "menu/art/delete_0" |
| #define | ART_REMOVE1 "menu/art/delete_1" |
| #define | ART_SPECIFY0 "menu/art/specify_0" |
| #define | ART_SPECIFY1 "menu/art/specify_1" |
| #define | ART_UNKNOWNMAP "menu/art/unknownmap" |
| #define | AS_FAVORITES 3 |
| #define | AS_GLOBAL 2 |
| #define | AS_LOCAL 0 |
| #define | AS_MPLAYER 1 |
| #define | GAMES_ALL 0 |
| #define | GAMES_CTF 4 |
| #define | GAMES_FFA 1 |
| #define | GAMES_TEAMPLAY 2 |
| #define | GAMES_TOURNEY 3 |
| #define | GR_LETTERS 31 |
| #define | GR_LOGO 30 |
| #define | ID_BACK 18 |
| #define | ID_CONNECT 22 |
| #define | ID_CREATE 21 |
| #define | ID_GAMETYPE 11 |
| #define | ID_LIST 15 |
| #define | ID_MASTER 10 |
| #define | ID_PUNKBUSTER 24 |
| #define | ID_REFRESH 19 |
| #define | ID_REMOVE 23 |
| #define | ID_SCROLL_DOWN 17 |
| #define | ID_SCROLL_UP 16 |
| #define | ID_SHOW_EMPTY 14 |
| #define | ID_SHOW_FULL 13 |
| #define | ID_SORTKEY 12 |
| #define | ID_SPECIFY 20 |
| #define | MAX_ADDRESSLENGTH 64 |
| #define | MAX_GLOBALSERVERS 128 |
| #define | MAX_HOSTNAMELENGTH 22 |
| #define | MAX_LEAGUELENGTH 28 |
| #define | MAX_LISTBOXITEMS 128 |
| #define | MAX_LISTBOXWIDTH 68 |
| #define | MAX_LOCALSERVERS 128 |
| #define | MAX_MAPNAMELENGTH 16 |
| #define | MAX_PINGREQUESTS 32 |
| #define | MAX_STATUSLENGTH 64 |
| #define | SORT_CLIENTS 2 |
| #define | SORT_GAME 3 |
| #define | SORT_HOST 0 |
| #define | SORT_MAP 1 |
| #define | SORT_PING 4 |
Typedefs | |
| typedef servernode_s | servernode_t |
Functions | |
| void | ArenaServers_Cache (void) |
| int QDECL | ArenaServers_Compare (const void *arg1, const void *arg2) |
| void | ArenaServers_DoRefresh (void) |
| void | ArenaServers_Event (void *ptr, int event) |
| void | ArenaServers_Go (void) |
| void | ArenaServers_Insert (char *adrstr, char *info, int pingtime) |
| void | ArenaServers_InsertFavorites (void) |
| void | ArenaServers_LoadFavorites (void) |
| int | ArenaServers_MaxPing (void) |
| void | ArenaServers_MenuDraw (void) |
| void | ArenaServers_MenuInit (void) |
| sfxHandle_t | ArenaServers_MenuKey (int key) |
| void | ArenaServers_Remove (void) |
| void | ArenaServers_SaveChanges (void) |
| void | ArenaServers_SetType (int type) |
| void | ArenaServers_Sort (int type) |
| void | ArenaServers_StartRefresh (void) |
| void | ArenaServers_StopRefresh (void) |
| void | ArenaServers_UpdateMenu (void) |
| void | ArenaServers_UpdatePicture (void) |
| void | Punkbuster_ConfirmDisable (qboolean result) |
| void | Punkbuster_ConfirmEnable (qboolean result) |
| void | UI_ArenaServersMenu (void) |
Variables | |
| arenaservers_t | g_arenaservers |
| int | g_emptyservers |
| servernode_t | g_favoriteserverlist [MAX_FAVORITESERVERS] |
| int | g_fullservers |
| int | g_gametype |
| servernode_t | g_globalserverlist [MAX_GLOBALSERVERS] |
| servernode_t | g_localserverlist [MAX_LOCALSERVERS] |
| servernode_t | g_mplayerserverlist [MAX_GLOBALSERVERS] |
| int | g_numfavoriteservers |
| int | g_numglobalservers |
| int | g_numlocalservers |
| int | g_nummplayerservers |
| int | g_servertype |
| int | g_sortkey |
| char * | gamenames [] |
| const char * | master_items [] |
| char * | netnames [] |
| const char * | punkbuster_items [] |
| const char * | punkbuster_msg [] |
| char | quake3worldMessage [] = "Visit www.quake3world.com - News, Community, Events, Files" |
| const char * | servertype_items [] |
| const char * | sortkey_items [] |
|
|
Definition at line 56 of file ui_servers2.c. Referenced by ArenaServers_Cache(). |
|
|
Definition at line 58 of file ui_servers2.c. Referenced by ArenaServers_Cache(). |
|
|
Definition at line 57 of file ui_servers2.c. Referenced by ArenaServers_Cache(). |
|
|
Definition at line 46 of file ui_servers2.c. |
|
|
Definition at line 47 of file ui_servers2.c. |
|
|
Definition at line 54 of file ui_servers2.c. Referenced by ArenaServers_Cache(). |
|
|
Definition at line 55 of file ui_servers2.c. Referenced by ArenaServers_Cache(). |
|
|
Definition at line 48 of file ui_servers2.c. Referenced by ArenaServers_Cache(). |
|
|
Definition at line 49 of file ui_servers2.c. Referenced by ArenaServers_Cache(). |
|
|
Definition at line 62 of file ui_servers2.c. Referenced by ArenaServers_Cache(). |
|
|
Definition at line 52 of file ui_servers2.c. Referenced by ArenaServers_Cache(). |
|
|
Definition at line 53 of file ui_servers2.c. Referenced by ArenaServers_Cache(). |
|
|
Definition at line 60 of file ui_servers2.c. |
|
|
Definition at line 61 of file ui_servers2.c. |
|
|
Definition at line 50 of file ui_servers2.c. Referenced by ArenaServers_Cache(). |
|
|
Definition at line 51 of file ui_servers2.c. Referenced by ArenaServers_Cache(). |
|
|
Definition at line 59 of file ui_servers2.c. Referenced by ArenaServers_Cache(). |
|
|
Definition at line 86 of file ui_servers2.c. |
|
|
Definition at line 85 of file ui_servers2.c. |
|
|
Definition at line 83 of file ui_servers2.c. |
|
|
Definition at line 84 of file ui_servers2.c. |
|
|
Definition at line 94 of file ui_servers2.c. Referenced by ArenaServers_StartRefresh(), and ArenaServers_UpdateMenu(). |
|
|
Definition at line 98 of file ui_servers2.c. Referenced by ArenaServers_StartRefresh(), and ArenaServers_UpdateMenu(). |
|
|
Definition at line 95 of file ui_servers2.c. Referenced by ArenaServers_StartRefresh(), and ArenaServers_UpdateMenu(). |
|
|
Definition at line 96 of file ui_servers2.c. Referenced by ArenaServers_StartRefresh(), and ArenaServers_UpdateMenu(). |
|
|
Definition at line 97 of file ui_servers2.c. Referenced by ArenaServers_StartRefresh(), and ArenaServers_UpdateMenu(). |
|
|
Definition at line 81 of file ui_servers2.c. |
|
|
Definition at line 80 of file ui_servers2.c. |
|
|
Definition at line 72 of file ui_servers2.c. |
|
|
Definition at line 76 of file ui_servers2.c. Referenced by ArenaServers_Event(). |
|
|
Definition at line 75 of file ui_servers2.c. |
|
|
Definition at line 65 of file ui_servers2.c. Referenced by ArenaServers_Event(). |
|
|
Definition at line 69 of file ui_servers2.c. |
|
|
Definition at line 64 of file ui_servers2.c. Referenced by ArenaServers_Event(). |
|
|
Definition at line 78 of file ui_servers2.c. Referenced by ArenaServers_Event(). |
|
|
Definition at line 73 of file ui_servers2.c. Referenced by ArenaServers_Event(). |
|
|
Definition at line 77 of file ui_servers2.c. Referenced by ArenaServers_Event(). |
|
|
Definition at line 71 of file ui_servers2.c. Referenced by ArenaServers_Event(). |
|
|
Definition at line 70 of file ui_servers2.c. Referenced by ArenaServers_Event(). |
|
|
Definition at line 68 of file ui_servers2.c. Referenced by ArenaServers_Event(). |
|
|
Definition at line 67 of file ui_servers2.c. Referenced by ArenaServers_Event(). |
|
|
Definition at line 66 of file ui_servers2.c. Referenced by ArenaServers_Event(). |
|
|
Definition at line 74 of file ui_servers2.c. Referenced by ArenaServers_Event(). |
|
|
Definition at line 37 of file ui_servers2.c. Referenced by ArenaServers_DoRefresh(), ArenaServers_Insert(), ArenaServers_LoadFavorites(), and ArenaServers_Remove(). |
|
|
Definition at line 35 of file ui_servers2.c. |
|
|
Definition at line 38 of file ui_servers2.c. Referenced by ArenaServers_Insert(). |
|
|
Definition at line 43 of file ui_servers2.c. |
|
|
Definition at line 40 of file ui_servers2.c. |
|
|
Definition at line 44 of file ui_servers2.c. Referenced by ArenaServers_UpdateMenu(). |
|
|
Definition at line 41 of file ui_servers2.c. |
|
|
Definition at line 39 of file ui_servers2.c. Referenced by ArenaServers_Insert(). |
|
|
Definition at line 36 of file ui_servers2.c. |
|
|
Definition at line 42 of file ui_servers2.c. Referenced by ArenaServers_UpdateMenu(). |
|
|
Definition at line 90 of file ui_servers2.c. Referenced by ArenaServers_Compare(), LAN_CompareServers(), and UI_FeederItemText(). |
|
|
Definition at line 91 of file ui_servers2.c. Referenced by ArenaServers_Compare(), LAN_CompareServers(), and UI_FeederItemText(). |
|
|
Definition at line 88 of file ui_servers2.c. Referenced by ArenaServers_Compare(), LAN_CompareServers(), and UI_FeederItemText(). |
|
|
Definition at line 89 of file ui_servers2.c. Referenced by ArenaServers_Compare(), LAN_CompareServers(), and UI_FeederItemText(). |
|
|
Definition at line 92 of file ui_servers2.c. Referenced by ArenaServers_Compare(), LAN_CompareServers(), and UI_FeederItemText(). |
|
|
Here is the call graph for this function:

|
||||||||||||
|
Definition at line 274 of file ui_servers2.c. References f1(), f2(), servernode_s::gametype, servernode_s::hostname, servernode_s::mapname, servernode_s::maxclients, servernode_s::numclients, servernode_s::pingtime, Q_stricmp(), QDECL, servernode_t, SORT_CLIENTS, SORT_GAME, SORT_HOST, SORT_MAP, and SORT_PING. Referenced by ArenaServers_Sort(), ArenaServers_StopRefresh(), and ArenaServers_UpdateMenu(). 00274 {
00275 float f1;
00276 float f2;
00277 servernode_t* t1;
00278 servernode_t* t2;
00279
00280 t1 = (servernode_t *)arg1;
00281 t2 = (servernode_t *)arg2;
00282
00283 switch( g_sortkey ) {
00284 case SORT_HOST:
00285 return Q_stricmp( t1->hostname, t2->hostname );
00286
00287 case SORT_MAP:
00288 return Q_stricmp( t1->mapname, t2->mapname );
00289
00290 case SORT_CLIENTS:
00291 f1 = t1->maxclients - t1->numclients;
00292 if( f1 < 0 ) {
00293 f1 = 0;
00294 }
00295
00296 f2 = t2->maxclients - t2->numclients;
00297 if( f2 < 0 ) {
00298 f2 = 0;
00299 }
00300
00301 if( f1 < f2 ) {
00302 return 1;
00303 }
00304 if( f1 == f2 ) {
00305 return 0;
00306 }
00307 return -1;
00308
00309 case SORT_GAME:
00310 if( t1->gametype < t2->gametype ) {
00311 return -1;
00312 }
00313 if( t1->gametype == t2->gametype ) {
00314 return 0;
00315 }
00316 return 1;
00317
00318 case SORT_PING:
00319 if( t1->pingtime < t2->pingtime ) {
00320 return -1;
00321 }
00322 if( t1->pingtime > t2->pingtime ) {
00323 return 1;
00324 }
00325 return Q_stricmp( t1->hostname, t2->hostname );
00326 }
00327
00328 return 0;
00329 }
|
Here is the call graph for this function:

|
|
Definition at line 834 of file ui_servers2.c. References pinglist_t::adrstr, ArenaServers_Insert(), ArenaServers_MaxPing(), ArenaServers_StopRefresh(), ArenaServers_UpdateMenu(), arenaservers_t::currentping, EXEC_NOW, arenaservers_t::favoriteaddresses, g_arenaservers, g_servertype, i, j, MAX_ADDRESSLENGTH, MAX_INFO_STRING, MAX_PINGREQUESTS, arenaservers_t::nextpingtime, arenaservers_t::numfavoriteaddresses, arenaservers_t::numqueriedservers, arenaservers_t::pinglist, Q_stricmp(), uiStatic_t::realtime, arenaservers_t::refreshtime, pinglist_t::start, strcpy(), time(), trap_Cmd_ExecuteText(), trap_LAN_ClearPing(), trap_LAN_GetPing(), trap_LAN_GetPingInfo(), trap_LAN_GetPingQueueCount(), trap_LAN_GetServerAddressString(), trap_LAN_GetServerCount(), uis, and va(). Referenced by ArenaServers_MenuDraw(). 00835 {
00836 int i;
00837 int j;
00838 int time;
00839 int maxPing;
00840 char adrstr[MAX_ADDRESSLENGTH];
00841 char info[MAX_INFO_STRING];
00842
00843 if (uis.realtime < g_arenaservers.refreshtime)
00844 {
00845 if (g_servertype != AS_FAVORITES) {
00846 if (g_servertype == AS_LOCAL) {
00847 if (!trap_LAN_GetServerCount(g_servertype)) {
00848 return;
00849 }
00850 }
00851 if (trap_LAN_GetServerCount(g_servertype) < 0) {
00852 // still waiting for response
00853 return;
00854 }
00855 }
00856 }
00857
00858 if (uis.realtime < g_arenaservers.nextpingtime)
00859 {
00860 // wait for time trigger
00861 return;
00862 }
00863
00864 // trigger at 10Hz intervals
00865 g_arenaservers.nextpingtime = uis.realtime + 10;
00866
00867 // process ping results
00868 maxPing = ArenaServers_MaxPing();
00869 for (i=0; i<MAX_PINGREQUESTS; i++)
00870 {
00871 trap_LAN_GetPing( i, adrstr, MAX_ADDRESSLENGTH, &time );
00872 if (!adrstr[0])
00873 {
00874 // ignore empty or pending pings
00875 continue;
00876 }
00877
00878 // find ping result in our local list
00879 for (j=0; j<MAX_PINGREQUESTS; j++)
00880 if (!Q_stricmp( adrstr, g_arenaservers.pinglist[j].adrstr ))
00881 break;
00882
00883 if (j < MAX_PINGREQUESTS)
00884 {
00885 // found it
00886 if (!time)
00887 {
00888 time = uis.realtime - g_arenaservers.pinglist[j].start;
00889 if (time < maxPing)
00890 {
00891 // still waiting
00892 continue;
00893 }
00894 }
00895
00896 if (time > maxPing)
00897 {
00898 // stale it out
00899 info[0] = '\0';
00900 time = maxPing;
00901 }
00902 else
00903 {
00904 trap_LAN_GetPingInfo( i, info, MAX_INFO_STRING );
00905 }
00906
00907 // insert ping results
00908 ArenaServers_Insert( adrstr, info, time );
00909
00910 // clear this query from internal list
00911 g_arenaservers.pinglist[j].adrstr[0] = '\0';
00912 }
00913
00914 // clear this query from external list
00915 trap_LAN_ClearPing( i );
00916 }
00917
00918 // get results of servers query
00919 // counts can increase as servers respond
00920 if (g_servertype == AS_FAVORITES) {
00921 g_arenaservers.numqueriedservers = g_arenaservers.numfavoriteaddresses;
00922 } else {
00923 g_arenaservers.numqueriedservers = trap_LAN_GetServerCount(g_servertype);
00924 }
00925
00926 // if (g_arenaservers.numqueriedservers > g_arenaservers.maxservers)
00927 // g_arenaservers.numqueriedservers = g_arenaservers.maxservers;
00928
00929 // send ping requests in reasonable bursts
00930 // iterate ping through all found servers
00931 for (i=0; i<MAX_PINGREQUESTS && g_arenaservers.currentping < g_arenaservers.numqueriedservers; i++)
00932 {
00933 if (trap_LAN_GetPingQueueCount() >= MAX_PINGREQUESTS)
00934 {
00935 // ping queue is full
00936 break;
00937 }
00938
00939 // find empty slot
00940 for (j=0; j<MAX_PINGREQUESTS; j++)
00941 if (!g_arenaservers.pinglist[j].adrstr[0])
00942 break;
00943
00944 if (j >= MAX_PINGREQUESTS)
00945 // no empty slots available yet - wait for timeout
00946 break;
00947
00948 // get an address to ping
00949
00950 if (g_servertype == AS_FAVORITES) {
00951 strcpy( adrstr, g_arenaservers.favoriteaddresses[g_arenaservers.currentping] );
00952 } else {
00953 trap_LAN_GetServerAddressString(g_servertype, g_arenaservers.currentping, adrstr, MAX_ADDRESSLENGTH );
00954 }
00955
00956 strcpy( g_arenaservers.pinglist[j].adrstr, adrstr );
00957 g_arenaservers.pinglist[j].start = uis.realtime;
00958
00959 trap_Cmd_ExecuteText( EXEC_NOW, va( "ping %s\n", adrstr ) );
00960
00961 // advance to next server
00962 g_arenaservers.currentping++;
00963 }
00964
00965 if (!trap_LAN_GetPingQueueCount())
00966 {
00967 // all pings completed
00968 ArenaServers_StopRefresh();
00969 return;
00970 }
00971
00972 // update the user interface with ping status
00973 ArenaServers_UpdateMenu();
00974 }
|
Here is the call graph for this function:

|
||||||||||||
Here is the call graph for this function:

|
|
Definition at line 337 of file ui_servers2.c. References servernode_s::adrstr, menulist_s::curvalue, EXEC_APPEND, g_arenaservers, arenaservers_t::list, table_t::servernode, servernode_t, arenaservers_t::table, trap_Cmd_ExecuteText(), and va(). Referenced by ArenaServers_Event(). 00337 {
00338 servernode_t* servernode;
00339
00340 servernode = g_arenaservers.table[g_arenaservers.list.curvalue].servernode;
00341 if( servernode ) {
00342 trap_Cmd_ExecuteText( EXEC_APPEND, va( "connect %s\n", servernode->adrstr ) );
00343 }
00344 }
|
Here is the call graph for this function:

|
||||||||||||||||
|
Definition at line 611 of file ui_servers2.c. References servernode_s::adrstr, ArenaServers_MaxPing(), atoi, servernode_s::bPB, g_arenaservers, g_servertype, servernode_s::gamename, gamenames, servernode_s::gametype, servernode_s::hostname, i, Info_ValueForKey(), servernode_s::mapname, MAX_ADDRESSLENGTH, MAX_HOSTNAMELENGTH, MAX_MAPNAMELENGTH, servernode_s::maxclients, servernode_s::maxPing, arenaservers_t::maxservers, servernode_s::minPing, servernode_s::nettype, servernode_s::numclients, arenaservers_t::numservers, servernode_s::pingtime, Q_CleanStr(), Q_strncpyz(), Q_strupr(), s, arenaservers_t::serverlist, and servernode_t. Referenced by ArenaServers_DoRefresh(), and ArenaServers_InsertFavorites(). 00612 {
00613 servernode_t* servernodeptr;
00614 char* s;
00615 int i;
00616
00617
00618 if ((pingtime >= ArenaServers_MaxPing()) && (g_servertype != AS_FAVORITES))
00619 {
00620 // slow global or local servers do not get entered
00621 return;
00622 }
00623
00624 if (*g_arenaservers.numservers >= g_arenaservers.maxservers) {
00625 // list full;
00626 servernodeptr = g_arenaservers.serverlist+(*g_arenaservers.numservers)-1;
00627 } else {
00628 // next slot
00629 servernodeptr = g_arenaservers.serverlist+(*g_arenaservers.numservers);
00630 (*g_arenaservers.numservers)++;
00631 }
00632
00633 Q_strncpyz( servernodeptr->adrstr, adrstr, MAX_ADDRESSLENGTH );
00634
00635 Q_strncpyz( servernodeptr->hostname, Info_ValueForKey( info, "hostname"), MAX_HOSTNAMELENGTH );
00636 Q_CleanStr( servernodeptr->hostname );
00637 Q_strupr( servernodeptr->hostname );
00638
00639 Q_strncpyz( servernodeptr->mapname, Info_ValueForKey( info, "mapname"), MAX_MAPNAMELENGTH );
00640 Q_CleanStr( servernodeptr->mapname );
00641 Q_strupr( servernodeptr->mapname );
00642
00643 servernodeptr->numclients = atoi( Info_ValueForKey( info, "clients") );
00644 servernodeptr->maxclients = atoi( Info_ValueForKey( info, "sv_maxclients") );
00645 servernodeptr->pingtime = pingtime;
00646 servernodeptr->minPing = atoi( Info_ValueForKey( info, "minPing") );
00647 servernodeptr->maxPing = atoi( Info_ValueForKey( info, "maxPing") );
00648 servernodeptr->bPB = atoi( Info_ValueForKey( info, "punkbuster") );
00649
00650 /*
00651 s = Info_ValueForKey( info, "nettype" );
00652 for (i=0; ;i++)
00653 {
00654 if (!netnames[i])
00655 {
00656 servernodeptr->nettype = 0;
00657 break;
00658 }
00659 else if (!Q_stricmp( netnames[i], s ))
00660 {
00661 servernodeptr->nettype = i;
00662 break;
00663 }
00664 }
00665 */
00666 servernodeptr->nettype = atoi(Info_ValueForKey(info, "nettype"));
00667
00668 s = Info_ValueForKey( info, "game");
00669 i = atoi( Info_ValueForKey( info, "gametype") );
00670 if( i < 0 ) {
00671 i = 0;
00672 }
00673 else if( i > 11 ) {
00674 i = 12;
00675 }
00676 if( *s ) {
00677 servernodeptr->gametype = i;//-1;
00678 Q_strncpyz( servernodeptr->gamename, s, sizeof(servernodeptr->gamename) );
00679 }
00680 else {
00681 servernodeptr->gametype = i;
00682 Q_strncpyz( servernodeptr->gamename, gamenames[i], sizeof(servernodeptr->gamename) );
00683 }
00684 }
|
Here is the call graph for this function:

|
|
Definition at line 694 of file ui_servers2.c. References servernode_s::adrstr, ArenaServers_Insert(), ArenaServers_MaxPing(), arenaservers_t::favoriteaddresses, g_arenaservers, g_favoriteserverlist, i, Info_SetValueForKey(), j, arenaservers_t::numfavoriteaddresses, and Q_stricmp(). Referenced by ArenaServers_StopRefresh(). 00695 {
00696 int i;
00697 int j;
00698 char info[MAX_INFO_STRING];
00699
00700 // resync existing results with new or deleted cvars
00701 info[0] = '\0';
00702 Info_SetValueForKey( info, "hostname", "No Response" );
00703 for (i=0; i<g_arenaservers.numfavoriteaddresses; i++)
00704 {
00705 // find favorite address in refresh list
00706 for (j=0; j<g_numfavoriteservers; j++)
00707 if (!Q_stricmp(g_arenaservers.favoriteaddresses[i],g_favoriteserverlist[j].adrstr))
00708 break;
00709
00710 if ( j >= g_numfavoriteservers)
00711 {
00712 // not in list, add it
00713 ArenaServers_Insert( g_arenaservers.favoriteaddresses[i], info, ArenaServers_MaxPing() );
00714 }
00715 }
00716 }
|
Here is the call graph for this function:

|
|
Definition at line 726 of file ui_servers2.c. References ArenaServers_MaxPing(), arenaservers_t::favoriteaddresses, g_arenaservers, g_favoriteserverlist, g_numfavoriteservers, i, j, MAX_ADDRESSLENGTH, MAX_FAVORITESERVERS, memcpy(), memset(), arenaservers_t::numfavoriteaddresses, servernode_s::pingtime, Q_stricmp(), Q_strncpyz(), qboolean, servernode_t, strcpy(), trap_Cvar_VariableStringBuffer(), and va(). Referenced by ArenaServers_MenuInit(). 00727 {
00728 int i;
00729 int j;
00730 int numtempitems;
00731 char emptyinfo[MAX_INFO_STRING];
00732 char adrstr[MAX_ADDRESSLENGTH];
00733 servernode_t templist[MAX_FAVORITESERVERS];
00734 qboolean found;
00735
00736 found = qfalse;
00737 emptyinfo[0] = '\0';
00738
00739 // copy the old
00740 memcpy( templist, g_favoriteserverlist, sizeof(servernode_t)*MAX_FAVORITESERVERS );
00741 numtempitems = g_numfavoriteservers;
00742
00743 // clear the current for sync
00744 memset( g_favoriteserverlist, 0, sizeof(servernode_t)*MAX_FAVORITESERVERS );
00745 g_numfavoriteservers = 0;
00746
00747 // resync existing results with new or deleted cvars
00748 for (i=0; i<MAX_FAVORITESERVERS; i++)
00749 {
00750 trap_Cvar_VariableStringBuffer( va("server%d",i+1), adrstr, MAX_ADDRESSLENGTH );
00751 if (!adrstr[0])
00752 continue;
00753
00754 // quick sanity check to avoid slow domain name resolving
00755 // first character must be numeric
00756 if (adrstr[0] < '0' || adrstr[0] > '9')
00757 continue;
00758
00759 // favorite server addresses must be maintained outside refresh list
00760 // this mimics local and global netadr's stored in client
00761 // these can be fetched to fill ping list
00762 strcpy( g_arenaservers.favoriteaddresses[g_numfavoriteservers], adrstr );
00763
00764 // find this server in the old list
00765 for (j=0; j<numtempitems; j++)
00766 if (!Q_stricmp( templist[j].adrstr, adrstr ))
00767 break;
00768
00769 if (j < numtempitems)
00770 {
00771 // found server - add exisiting results
00772 memcpy( &g_favoriteserverlist[g_numfavoriteservers], &templist[j], sizeof(servernode_t) );
00773 found = qtrue;
00774 }
00775 else
00776 {
00777 // add new server
00778 Q_strncpyz( g_favoriteserverlist[g_numfavoriteservers].adrstr, adrstr, MAX_ADDRESSLENGTH );
00779 g_favoriteserverlist[g_numfavoriteservers].pingtime = ArenaServers_MaxPing();
00780 }
00781
00782 g_numfavoriteservers++;
00783 }
00784
00785 g_arenaservers.numfavoriteaddresses = g_numfavoriteservers;
00786
00787 if (!found)
00788 {
00789 // no results were found, reset server list
00790 // list will be automatically refreshed when selected
00791 g_numfavoriteservers = 0;
00792 }
00793 }
|
Here is the call graph for this function:

|
|
Definition at line 258 of file ui_servers2.c. References trap_Cvar_VariableValue(). Referenced by ArenaServers_DoRefresh(), ArenaServers_Insert(), ArenaServers_InsertFavorites(), and ArenaServers_LoadFavorites(). 00258 {
00259 int maxPing;
00260
00261 maxPing = (int)trap_Cvar_VariableValue( "cl_maxPing" );
00262 if( maxPing < 100 ) {
00263 maxPing = 100;
00264 }
00265 return maxPing;
00266 }
|
Here is the call graph for this function:

|
|
Definition at line 1284 of file ui_servers2.c. References ArenaServers_DoRefresh(), g_arenaservers, arenaservers_t::menu, Menu_Draw(), and arenaservers_t::refreshservers. 01285 {
01286 if (g_arenaservers.refreshservers)
01287 ArenaServers_DoRefresh();
01288
01289 Menu_Draw( &g_arenaservers.menu );
01290 }
|
Here is the call graph for this function:

|
Here is the call graph for this function:

|
|
Definition at line 1298 of file ui_servers2.c. References ArenaServers_Remove(), ArenaServers_SaveChanges(), ArenaServers_StopRefresh(), ArenaServers_UpdateMenu(), g_arenaservers, g_servertype, K_DEL, K_MOUSE2, K_SPACE, arenaservers_t::list, arenaservers_t::menu, Menu_DefaultKey(), Menu_ItemAtCursor(), arenaservers_t::refreshservers, and sfxHandle_t. 01298 {
01299 if( key == K_SPACE && g_arenaservers.refreshservers ) {
01300 ArenaServers_StopRefresh();
01301 return menu_move_sound;
01302 }
01303
01304 if( ( key == K_DEL || key == K_KP_DEL ) && ( g_servertype == AS_FAVORITES ) &&
01305 ( Menu_ItemAtCursor( &g_arenaservers.menu) == &g_arenaservers.list ) ) {
01306 ArenaServers_Remove();
01307 ArenaServers_UpdateMenu();
01308 return menu_move_sound;
01309 }
01310
01311 if( key == K_MOUSE2 || key == K_ESCAPE ) {
01312 ArenaServers_StopRefresh();
01313 ArenaServers_SaveChanges();
01314 }
01315
01316
01317 return Menu_DefaultKey( &g_arenaservers.menu, key );
01318 }
|
Here is the call graph for this function:

|
|
Definition at line 553 of file ui_servers2.c. References servernode_s::adrstr, arenaservers_t::currentping, menulist_s::curvalue, arenaservers_t::favoriteaddresses, g_arenaservers, g_favoriteserverlist, g_numfavoriteservers, i, arenaservers_t::list, MAX_ADDRESSLENGTH, memcpy(), arenaservers_t::numfavoriteaddresses, menulist_s::numitems, arenaservers_t::numqueriedservers, Q_stricmp(), table_t::servernode, servernode_t, and arenaservers_t::table. Referenced by ArenaServers_Event(), and ArenaServers_MenuKey(). 00554 {
00555 int i;
00556 servernode_t* servernodeptr;
00557 table_t* tableptr;
00558
00559 if (!g_arenaservers.list.numitems)
00560 return;
00561
00562 // remove selected item from display list
00563 // items are in scattered order due to sort and cull
00564 // perform delete on list box contents, resync all lists
00565
00566 tableptr = &g_arenaservers.table[g_arenaservers.list.curvalue];
00567 servernodeptr = tableptr->servernode;
00568
00569 // find address in master list
00570 for (i=0; i<g_arenaservers.numfavoriteaddresses; i++)
00571 if (!Q_stricmp(g_arenaservers.favoriteaddresses[i],servernodeptr->adrstr))
00572 break;
00573
00574 // delete address from master list
00575 if (i <= g_arenaservers.numfavoriteaddresses-1)
00576 {
00577 if (i < g_arenaservers.numfavoriteaddresses-1)
00578 {
00579 // shift items up
00580 memcpy( &g_arenaservers.favoriteaddresses[i], &g_arenaservers.favoriteaddresses[i+1], (g_arenaservers.numfavoriteaddresses - i - 1)*sizeof(MAX_ADDRESSLENGTH));
00581 }
00582 g_arenaservers.numfavoriteaddresses--;
00583 }
00584
00585 // find address in server list
00586 for (i=0; i<g_numfavoriteservers; i++)
00587 if (&g_favoriteserverlist[i] == servernodeptr)
00588 break;
00589
00590 // delete address from server list
00591 if (i <= g_numfavoriteservers-1)
00592 {
00593 if (i < g_numfavoriteservers-1)
00594 {
00595 // shift items up
00596 memcpy( &g_favoriteserverlist[i], &g_favoriteserverlist[i+1], (g_numfavoriteservers - i - 1)*sizeof(servernode_t));
00597 }
00598 g_numfavoriteservers--;
00599 }
00600
00601 g_arenaservers.numqueriedservers = g_arenaservers.numfavoriteaddresses;
00602 g_arenaservers.currentping = g_arenaservers.numfavoriteaddresses;
00603 }
|
Here is the call graph for this function:

|
|
Definition at line 1069 of file ui_servers2.c. References arenaservers_t::favoriteaddresses, g_arenaservers, i, arenaservers_t::numfavoriteaddresses, trap_Cvar_Set(), and va(). Referenced by ArenaServers_Event(), and ArenaServers_MenuKey(). 01070 {
01071 int i;
01072
01073 for (i=0; i<g_arenaservers.numfavoriteaddresses; i++)
01074 trap_Cvar_Set( va("server%d",i+1), g_arenaservers.favoriteaddresses[i] );
01075
01076 for (; i<MAX_FAVORITESERVERS; i++)
01077 trap_Cvar_Set( va("server%d",i+1), "" );
01078 }
|
Here is the call graph for this function:

|
Here is the call graph for this function:

|
|
Definition at line 1086 of file ui_servers2.c. References ArenaServers_Compare(), g_arenaservers, g_sortkey, arenaservers_t::numservers, qsort(), arenaservers_t::serverlist, and servernode_t. Referenced by ArenaServers_Event(). 01086 {
01087 if( g_sortkey == type ) {
01088 return;
01089 }
01090
01091 g_sortkey = type;
01092 qsort( g_arenaservers.serverlist, *g_arenaservers.numservers, sizeof( servernode_t ), ArenaServers_Compare);
01093 }
|
Here is the call graph for this function:

|
|
Definition at line 982 of file ui_servers2.c. References pinglist_t::adrstr, ArenaServers_UpdateMenu(), AS_GLOBAL, arenaservers_t::currentping, menulist_s::curvalue, EXEC_APPEND, g_arenaservers, g_servertype, GAMES_ALL, GAMES_CTF, GAMES_FFA, GAMES_TEAMPLAY, GAMES_TOURNEY, arenaservers_t::gametype, i, arenaservers_t::maxservers, memset(), arenaservers_t::nextpingtime, arenaservers_t::numqueriedservers, arenaservers_t::numservers, arenaservers_t::pinglist, uiStatic_t::realtime, arenaservers_t::refreshservers, arenaservers_t::refreshtime, arenaservers_t::serverlist, strcat(), strcpy(), strlen(), trap_Cmd_ExecuteText(), trap_Cvar_VariableStringBuffer(), trap_Cvar_VariableValue(), trap_LAN_ClearPing(), uis, and va(). Referenced by ArenaServers_Event(), and ArenaServers_SetType(). 00983 {
00984 int i;
00985 char myargs[32], protocol[32];
00986
00987 memset( g_arenaservers.serverlist, 0, g_arenaservers.maxservers*sizeof(table_t) );
00988
00989 for (i=0; i<MAX_PINGREQUESTS; i++)
00990 {
00991 g_arenaservers.pinglist[i].adrstr[0] = '\0';
00992 trap_LAN_ClearPing( i );
00993 }
00994
00995 g_arenaservers.refreshservers = qtrue;
00996 g_arenaservers.currentping = 0;
00997 g_arenaservers.nextpingtime = 0;
00998 *g_arenaservers.numservers = 0;
00999 g_arenaservers.numqueriedservers = 0;
01000
01001 // allow max 5 seconds for responses
01002 g_arenaservers.refreshtime = uis.realtime + 5000;
01003
01004 // place menu in zeroed state
01005 ArenaServers_UpdateMenu();
01006
01007 if( g_servertype == AS_LOCAL ) {
01008 trap_Cmd_ExecuteText( EXEC_APPEND, "localservers\n" );
01009 return;
01010 }
01011
01012 if( g_servertype == AS_GLOBAL || g_servertype == AS_MPLAYER ) {
01013 if( g_servertype == AS_GLOBAL ) {
01014 i = 0;
01015 }
01016 else {
01017 i = 1;
01018 }
01019
01020 switch( g_arenaservers.gametype.curvalue ) {
01021 default:
01022 case GAMES_ALL:
01023 myargs[0] = 0;
01024 break;
01025
01026 case GAMES_FFA:
01027 strcpy( myargs, " ffa" );
01028 break;
01029
01030 case GAMES_TEAMPLAY:
01031 strcpy( myargs, " team" );
01032 break;
01033
01034 case GAMES_TOURNEY:
01035 strcpy( myargs, " tourney" );
01036 break;
01037
01038 case GAMES_CTF:
01039 strcpy( myargs, " ctf" );
01040 break;
01041 }
01042
01043
01044 if (g_emptyservers) {
01045 strcat(myargs, " empty");
01046 }
01047
01048 if (g_fullservers) {
01049 strcat(myargs, " full");
01050 }
01051
01052 protocol[0] = '\0';
01053 trap_Cvar_VariableStringBuffer( "debug_protocol", protocol, sizeof(protocol) );
01054 if (strlen(protocol)) {
01055 trap_Cmd_ExecuteText( EXEC_APPEND, va( "globalservers %d %s%s\n", i, protocol, myargs ));
01056 }
01057 else {
01058 trap_Cmd_ExecuteText( EXEC_APPEND, va( "globalservers %d %d%s\n", i, (int)trap_Cvar_VariableValue( "protocol" ), myargs ) );
01059 }
01060 }
01061 }
|
Here is the call graph for this function:

|
Here is the call graph for this function:

|
|
Definition at line 376 of file ui_servers2.c. References ArenaServers_Compare(), ArenaServers_UpdatePicture(), AS_GLOBAL, servernode_s::bPB, table_t::buff, Com_sprintf(), count, arenaservers_t::currentping, menulist_s::curvalue, menucommon_s::flags, g_arenaservers, g_emptyservers, g_fullservers, g_servertype, servernode_s::gamename, GAMES_ALL, GAMES_CTF, GAMES_FFA, GAMES_TEAMPLAY, GAMES_TOURNEY, servernode_s::gametype, arenaservers_t::gametype, menubitmap_s::generic, menuradiobutton_s::generic, menulist_s::generic, arenaservers_t::go, servernode_s::hostname, i, j, arenaservers_t::list, servernode_s::mapname, arenaservers_t::master, MAX_LISTBOXWIDTH, MAX_STATUSLENGTH, servernode_s::maxclients, servernode_s::maxPing, servernode_s::minPing, netnames, servernode_s::nettype, servernode_s::numclients, menulist_s::numitems, arenaservers_t::numqueriedservers, arenaservers_t::numservers, servernode_s::pingtime, arenaservers_t::punkbuster, qsort(), arenaservers_t::refresh, arenaservers_t::refreshservers, S_COLOR_YELLOW, arenaservers_t::serverlist, table_t::servernode, servernode_t, arenaservers_t::showempty, arenaservers_t::showfull, arenaservers_t::sortkey, arenaservers_t::status, arenaservers_t::statusbar, strcpy(), menutext_s::string, arenaservers_t::table, and menulist_s::top. Referenced by ArenaServers_DoRefresh(), ArenaServers_Event(), ArenaServers_MenuKey(), ArenaServers_SetType(), ArenaServers_StartRefresh(), and ArenaServers_StopRefresh(). 00376 {
00377 int i;
00378 int j;
00379 int count;
00380 char* buff;
00381 servernode_t* servernodeptr;
00382 table_t* tableptr;
00383 char *pingColor;
00384
00385 if( g_arenaservers.numqueriedservers > 0 ) {
00386 // servers found
00387 if( g_arenaservers.refreshservers && ( g_arenaservers.currentping <= g_arenaservers.numqueriedservers ) ) {
00388 // show progress
00389 Com_sprintf( g_arenaservers.status.string, MAX_STATUSLENGTH, "%d of %d Arena Servers.", g_arenaservers.currentping, g_arenaservers.numqueriedservers);
00390 g_arenaservers.statusbar.string = "Press SPACE to stop";
00391 qsort( g_arenaservers.serverlist, *g_arenaservers.numservers, sizeof( servernode_t ), ArenaServers_Compare);
00392 }
00393 else {
00394 // all servers pinged - enable controls
00395 g_arenaservers.master.generic.flags &= ~QMF_GRAYED;
00396 g_arenaservers.gametype.generic.flags &= ~QMF_GRAYED;
00397 g_arenaservers.sortkey.generic.flags &= ~QMF_GRAYED;
00398 g_arenaservers.showempty.generic.flags &= ~QMF_GRAYED;
00399 g_arenaservers.showfull.generic.flags &= ~QMF_GRAYED;
00400 g_arenaservers.list.generic.flags &= ~QMF_GRAYED;
00401 g_arenaservers.refresh.generic.flags &= ~QMF_GRAYED;
00402 g_arenaservers.go.generic.flags &= ~QMF_GRAYED;
00403 g_arenaservers.punkbuster.generic.flags &= ~QMF_GRAYED;
00404
00405 // update status bar
00406 if( g_servertype == AS_GLOBAL || g_servertype == AS_MPLAYER ) {
00407 g_arenaservers.statusbar.string = quake3worldMessage;
00408 }
00409 else {
00410 g_arenaservers.statusbar.string = "";
00411 }
00412
00413 }
00414 }
00415 else {
00416 // no servers found
00417 if( g_arenaservers.refreshservers ) {
00418 strcpy( g_arenaservers.status.string,"Scanning For Servers." );
00419 g_arenaservers.statusbar.string = "Press SPACE to stop";
00420
00421 // disable controls during refresh
00422 g_arenaservers.master.generic.flags |= QMF_GRAYED;
00423 g_arenaservers.gametype.generic.flags |= QMF_GRAYED;
00424 g_arenaservers.sortkey.generic.flags |= QMF_GRAYED;
00425 g_arenaservers.showempty.generic.flags |= QMF_GRAYED;
00426 g_arenaservers.showfull.generic.flags |= QMF_GRAYED;
00427 g_arenaservers.list.generic.flags |= QMF_GRAYED;
00428 g_arenaservers.refresh.generic.flags |= QMF_GRAYED;
00429 g_arenaservers.go.generic.flags |= QMF_GRAYED;
00430 g_arenaservers.punkbuster.generic.flags |= QMF_GRAYED;
00431 }
00432 else {
00433 if( g_arenaservers.numqueriedservers < 0 ) {
00434 strcpy(g_arenaservers.status.string,"No Response From Master Server." );
00435 }
00436 else {
00437 strcpy(g_arenaservers.status.string,"No Servers Found." );
00438 }
00439
00440 // update status bar
00441 if( g_servertype == AS_GLOBAL || g_servertype == AS_MPLAYER ) {
00442 g_arenaservers.statusbar.string = quake3worldMessage;
00443 }
00444 else {
00445 g_arenaservers.statusbar.string = "";
00446 }
00447
00448 // end of refresh - set control state
00449 g_arenaservers.master.generic.flags &= ~QMF_GRAYED;
00450 g_arenaservers.gametype.generic.flags &= ~QMF_GRAYED;
00451 g_arenaservers.sortkey.generic.flags &= ~QMF_GRAYED;
00452 g_arenaservers.showempty.generic.flags &= ~QMF_GRAYED;
00453 g_arenaservers.showfull.generic.flags &= ~QMF_GRAYED;
00454 g_arenaservers.list.generic.flags |= QMF_GRAYED;
00455 g_arenaservers.refresh.generic.flags &= ~QMF_GRAYED;
00456 g_arenaservers.go.generic.flags |= QMF_GRAYED;
00457 g_arenaservers.punkbuster.generic.flags &= ~QMF_GRAYED;
00458 }
00459
00460 // zero out list box
00461 g_arenaservers.list.numitems = 0;
00462 g_arenaservers.list.curvalue = 0;
00463 g_arenaservers.list.top = 0;
00464
00465 // update picture
00466 ArenaServers_UpdatePicture();
00467 return;
00468 }
00469
00470 // build list box strings - apply culling filters
00471 servernodeptr = g_arenaservers.serverlist;
00472 count = *g_arenaservers.numservers;
00473 for( i = 0, j = 0; i < count; i++, servernodeptr++ ) {
00474 tableptr = &g_arenaservers.table[j];
00475 tableptr->servernode = servernodeptr;
00476 buff = tableptr->buff;
00477
00478 // can only cull valid results
00479 if( !g_emptyservers && !servernodeptr->numclients ) {
00480 continue;
00481 }
00482
00483 if( !g_fullservers && ( servernodeptr->numclients == servernodeptr->maxclients ) ) {
00484 continue;
00485 }
00486
00487 switch( g_gametype ) {
00488 case GAMES_ALL:
00489 break;
00490
00491 case GAMES_FFA:
00492 if( servernodeptr->gametype != GT_FFA ) {
00493 continue;
00494 }
00495 break;
00496
00497 case GAMES_TEAMPLAY:
00498 if( servernodeptr->gametype != GT_TEAM ) {
00499 continue;
00500 }
00501 break;
00502
00503 case GAMES_TOURNEY:
00504 if( servernodeptr->gametype != GT_TOURNAMENT ) {
00505 continue;
00506 }
00507 break;
00508
00509 case GAMES_CTF:
00510 if( servernodeptr->gametype != GT_CTF ) {
00511 continue;
00512 }
00513 break;
00514 }
00515
00516 if( servernodeptr->pingtime < servernodeptr->minPing ) {
00517 pingColor = S_COLOR_BLUE;
00518 }
00519 else if( servernodeptr->maxPing && servernodeptr->pingtime > servernodeptr->maxPing ) {
00520 pingColor = S_COLOR_BLUE;
00521 }
00522 else if( servernodeptr->pingtime < 200 ) {
00523 pingColor = S_COLOR_GREEN;
00524 }
00525 else if( servernodeptr->pingtime < 400 ) {
00526 pingColor = S_COLOR_YELLOW;
00527 }
00528 else {
00529 pingColor = S_COLOR_RED;
00530 }
00531
00532 Com_sprintf( buff, MAX_LISTBOXWIDTH, "%-20.20s %-12.12s %2d/%2d %-8.8s %3s %s%3d " S_COLOR_YELLOW "%s",
00533 servernodeptr->hostname, servernodeptr->mapname, servernodeptr->numclients,
00534 servernodeptr->maxclients, servernodeptr->gamename,
00535 netnames[servernodeptr->nettype], pingColor, servernodeptr->pingtime, servernodeptr->bPB ? "Yes" : "No" );
00536 j++;
00537 }
00538
00539 g_arenaservers.list.numitems = j;
00540 g_arenaservers.list.curvalue = 0;
00541 g_arenaservers.list.top = 0;
00542
00543 // update picture
00544 ArenaServers_UpdatePicture();
00545 }
|
Here is the call graph for this function:

|
|
Definition at line 352 of file ui_servers2.c. References Com_sprintf(), menulist_s::curvalue, g_arenaservers, menubitmap_s::generic, arenaservers_t::list, servernode_s::mapname, arenaservers_t::mappic, menucommon_s::name, menulist_s::numitems, table_t::servernode, servernode_t, menubitmap_s::shader, and arenaservers_t::table. Referenced by ArenaServers_Event(), and ArenaServers_UpdateMenu(). 00352 {
00353 static char picname[64];
00354 servernode_t* servernodeptr;
00355
00356 if( !g_arenaservers.list.numitems ) {
00357 g_arenaservers.mappic.generic.name = NULL;
00358 }
00359 else {
00360 servernodeptr = g_arenaservers.table[g_arenaservers.list.curvalue].servernode;
00361 Com_sprintf( picname, sizeof(picname), "levelshots/%s.tga", servernodeptr->mapname );
00362 g_arenaservers.mappic.generic.name = picname;
00363
00364 }
00365
00366 // force shader update during draw
00367 g_arenaservers.mappic.shader = 0;
00368 }
|
Here is the call graph for this function:

|
|
Definition at line 1165 of file ui_servers2.c. References Com_Clamp(), menulist_s::curvalue, g_arenaservers, arenaservers_t::punkbuster, punkbuster_msg, trap_Cvar_VariableValue(), trap_SetPbClStatus(), and UI_Message(). Referenced by ArenaServers_Event(). 01165 {
01166 if (result)
01167 {
01168 trap_SetPbClStatus(0);
01169 UI_Message( punkbuster_msg );
01170 }
01171 g_arenaservers.punkbuster.curvalue = Com_Clamp( 0, 1, trap_Cvar_VariableValue( "cl_punkbuster" ) );
01172 }
|
Here is the call graph for this function:

|
|
Definition at line 1157 of file ui_servers2.c. References Com_Clamp(), menulist_s::curvalue, g_arenaservers, arenaservers_t::punkbuster, trap_Cvar_VariableValue(), and trap_SetPbClStatus(). Referenced by ArenaServers_Event(). 01157 {
01158 if (result)
01159 {
01160 trap_SetPbClStatus(1);
01161 }
01162 g_arenaservers.punkbuster.curvalue = Com_Clamp( 0, 1, trap_Cvar_VariableValue( "cl_punkbuster" ) );
01163 }
|
Here is the call graph for this function:

|
|
Definition at line 1637 of file ui_servers2.c. References ArenaServers_MenuInit(), g_arenaservers, arenaservers_t::menu, and UI_PushMenu(). 01637 {
01638 ArenaServers_MenuInit();
01639 UI_PushMenu( &g_arenaservers.menu );
01640 }
|
Here is the call graph for this function:

|
|
|
Definition at line 249 of file ui_servers2.c. Referenced by ArenaServers_Event(), ArenaServers_MenuInit(), and ArenaServers_UpdateMenu(). |
|
|
Definition at line 242 of file ui_servers2.c. Referenced by ArenaServers_InsertFavorites(), ArenaServers_LoadFavorites(), and ArenaServers_Remove(). |
|
|
Definition at line 250 of file ui_servers2.c. Referenced by ArenaServers_Event(), ArenaServers_MenuInit(), and ArenaServers_UpdateMenu(). |
|
|
Definition at line 247 of file ui_servers2.c. |
|
|
Definition at line 238 of file ui_servers2.c. |
|
|
Definition at line 240 of file ui_servers2.c. |
|
|
Definition at line 244 of file ui_servers2.c. |
|
|
Definition at line 243 of file ui_servers2.c. Referenced by ArenaServers_LoadFavorites(), and ArenaServers_Remove(). |
|
|
Definition at line 239 of file ui_servers2.c. |
|
|
Definition at line 241 of file ui_servers2.c. |
|
|
Definition at line 245 of file ui_servers2.c. |
|
|
Definition at line 246 of file ui_servers2.c. Referenced by ArenaServers_DoRefresh(), ArenaServers_Insert(), ArenaServers_MenuInit(), ArenaServers_MenuKey(), ArenaServers_SetType(), ArenaServers_StartRefresh(), ArenaServers_StopRefresh(), and ArenaServers_UpdateMenu(). |
|
|
Definition at line 248 of file ui_servers2.c. Referenced by ArenaServers_MenuInit(), and ArenaServers_Sort(). |
|
|
Initial value: {
"DM ",
"1v1",
"SP ",
"Team DM",
"CTF",
"One Flag CTF",
"OverLoad",
"Harvester",
"Rocket Arena 3",
"Q3F",
"Urban Terror",
"OSP",
"???",
0
}
Definition at line 125 of file ui_servers2.c. Referenced by ArenaServers_Insert(). |
|
|
Initial value: {
"Local",
"Internet",
"Favorites",
0
}
Definition at line 100 of file ui_servers2.c. |
|
|
Initial value: {
"???",
"UDP",
"IPX",
NULL
}
Definition at line 142 of file ui_servers2.c. Referenced by ArenaServers_UpdateMenu(). |
|
|
Initial value: {
"Disabled",
"Enabled",
NULL
}
Definition at line 151 of file ui_servers2.c. |
|
|
Initial value: {
"PunkBuster will be",
"disabled the next time",
"Quake III Arena",
"is started.",
NULL
}
Definition at line 157 of file ui_servers2.c. Referenced by Punkbuster_ConfirmDisable(). |
|
|
Definition at line 149 of file ui_servers2.c. |
|
|
Initial value: {
"All",
"Free For All",
"Team Deathmatch",
"Tournament",
"Capture the Flag",
0
}
Definition at line 107 of file ui_servers2.c. |
|
|
Initial value: {
"Server Name",
"Map Name",
"Open Player Spots",
"Game Type",
"Ping Time",
0
}
Definition at line 116 of file ui_servers2.c. |
1.3.9.1