static void CG_CompleteBuy( void ) { int i; if( cgs.clientinfo[ cg.clientNum ].team != TEAM_HUMANS ) { return; } for( i = 0; i < UP_NUM_UPGRADES; i++ ) { const upgradeAttributes_t *item = BG_Upgrade( i ); if ( item->purchasable && item->team == TEAM_HUMANS ) { trap_CompleteCallback( item->name ); } } trap_CompleteCallback( "grenade" ); // called "gren" elsewhere, so special-case it for( i = 0; i < WP_NUM_WEAPONS; i++ ) { const weaponAttributes_t *item = BG_Weapon( i ); if ( item->purchasable && item->team == TEAM_HUMANS ) { trap_CompleteCallback( item->name ); } } }
static void CG_CompleteItem( void ) { int i = 0; if( cgs.clientinfo[ cg.clientNum ].team == TEAM_ALIENS ) { return; } trap_CompleteCallback( "weapon" ); for( i = 0; i < UP_NUM_UPGRADES; i++ ) { const upgradeAttributes_t *item = BG_Upgrade( i ); if ( item->usable ) { trap_CompleteCallback( item->name ); } } for( i = 0; i < WP_NUM_WEAPONS; i++ ) { const weaponAttributes_t *item = BG_Weapon( i ); if( item->team == TEAM_HUMANS ) { trap_CompleteCallback( item->name ); } } }
static void CG_CompleteSell( void ) { if( cgs.clientinfo[ cg.clientNum ].team != TEAM_HUMANS ) { return; } trap_CompleteCallback( "weapons" ); trap_CompleteCallback( "upgrades" ); CG_CompleteBuy( ); }
static void CG_CompleteBuy() { if( cgs.clientinfo[ cg.clientNum ].team != TEAM_HUMANS ) { return; } trap_CompleteCallback( "-all" ); trap_CompleteCallback( "-weapons" ); trap_CompleteCallback( "-upgrades" ); CG_CompleteBuy_internal( true ); }
static void CG_CompleteClass( void ) { int i = 0; if ( cgs.clientinfo[ cg.clientNum ].team == TEAM_ALIENS ) { for ( i = PCL_ALIEN_BUILDER0; i < PCL_HUMAN; i++ ) { trap_CompleteCallback( BG_Class( i )->name ); } } else if ( cgs.clientinfo[ cg.clientNum ].team == TEAM_HUMANS ) { trap_CompleteCallback( BG_Weapon( WP_HBUILD )->name ); trap_CompleteCallback( BG_Weapon( WP_MACHINEGUN )->name ); } }
static void CG_CompleteClass() { int i = 0; if ( cgs.clientinfo[ cg.clientNum ].team == TEAM_ALIENS ) { // TODO: Add iterator for alien/human classes for ( i = PCL_ALIEN_BUILDER0; i < PCL_HUMAN_NAKED; i++ ) { trap_CompleteCallback( BG_Class( i )->name ); } } else if ( cgs.clientinfo[ cg.clientNum ].team == TEAM_HUMANS ) { trap_CompleteCallback( BG_Weapon( WP_HBUILD )->name ); trap_CompleteCallback( BG_Weapon( WP_MACHINEGUN )->name ); } }
static void CG_CompleteVsay( void ) { voice_t *voice = cgs.voices; voiceCmd_t *voiceCmd = voice->cmds; while ( voiceCmd != NULL ) { trap_CompleteCallback( voiceCmd->cmd ); voiceCmd = voiceCmd->next; } }
static void CG_CompleteTeamVote( void ) { int i = 0; static const char vote[][ 16 ] = { "kick", "spectate", "denybuild", "allowbuild", "admitdefeat", "poll" }; for( i = 0; i < ARRAY_LEN( vote ); i++ ) { trap_CompleteCallback( vote[i] ); } }
static void CG_CompleteGive( void ) { int i = 0; static const char give[][ 12 ] = { "all", "health", "funds", "stamina", "poison", "gas", "ammo" }; for( i = 0; i < ARRAY_LEN( give ); i++ ) { trap_CompleteCallback( give[i] ); } }
static void CG_CompleteBuild( void ) { int i; for ( i = 0; i < BA_NUM_BUILDABLES; i++ ) { const buildableAttributes_t *item = BG_Buildable( i ); if ( item->team == cgs.clientinfo[ cg.clientNum ].team ) { trap_CompleteCallback( item->name ); } } }
static void CG_CompleteGive() { unsigned i = 0; static const char give[][ 12 ] = { "all", "health", "funds", "stamina", "poison", "fuel", "ammo", "momentum", "bp" }; for( i = 0; i < ARRAY_LEN( give ); i++ ) { trap_CompleteCallback( give[i] ); } }
static void CG_CompleteBeacon() { int i; for ( i = BCT_NONE + 1; i < NUM_BEACON_TYPES; i++ ) { const beaconAttributes_t *item = BG_Beacon( i ); if ( !( item->flags & BCF_RESERVED ) ) { trap_CompleteCallback( item->name ); } } }
static void CG_CompleteVote( void ) { int i = 0; static const char vote[][ 16 ] = { "kick", "spectate", "mute", "unmute", "sudden_death", "extend", "draw", "map_restart", "map", "layout", "nextmap", "poll" }; for( i = 0; i < ARRAY_LEN( vote ); i++ ) { trap_CompleteCallback( vote[i] ); } }
static void CG_CompleteName( void ) { int i; clientInfo_t *ci; for ( i = 0; i < MAX_CLIENTS; i++ ) { char name[ MAX_NAME_LENGTH ]; ci = &cgs.clientinfo[ i ]; strcpy( name, ci->name ); if ( !ci->infoValid ) { continue; } trap_CompleteCallback( Q_CleanStr( name ) ); } }
static void CG_CompleteBuy_internal( bool negatives ) { int i; for( i = 0; i < UP_NUM_UPGRADES; i++ ) { const upgradeAttributes_t *item = BG_Upgrade( i ); if ( item->purchasable && item->team == TEAM_HUMANS ) { trap_CompleteCallback( item->name ); if ( negatives ) { trap_CompleteCallback( va( "-%s", item->name ) ); } } } trap_CompleteCallback( "grenade" ); // called "gren" elsewhere, so special-case it if ( negatives ) { trap_CompleteCallback( "-grenade" ); i = BG_GetPlayerWeapon( &cg.snap->ps ); } for( i = 0; i < WP_NUM_WEAPONS; i++ ) { const weaponAttributes_t *item = BG_Weapon( i ); if ( item->purchasable && item->team == TEAM_HUMANS ) { trap_CompleteCallback( item->name ); if ( negatives ) { trap_CompleteCallback( va( "-%s", BG_Weapon( i )->name ) ); } } } }