// ASS U ME's enumeration order as far as task specific orders, OFFENSE is zero, CAMP is last // static void CG_NextOrder_f( void ) { clientInfo_t *ci = cgs.clientinfo + cg.snap->ps.clientNum; if (ci) { if (!ci->teamLeader && sortedTeamPlayers[cg_currentSelectedPlayer.integer] != cg.snap->ps.clientNum) { return; } } if (cgs.currentOrder < TEAMTASK_CAMP) { cgs.currentOrder++; if (cgs.currentOrder == TEAMTASK_RETRIEVE) { if (!CG_OtherTeamHasFlag()) { cgs.currentOrder++; } } if (cgs.currentOrder == TEAMTASK_ESCORT) { if (!CG_YourTeamHasFlag()) { cgs.currentOrder++; } } } else { cgs.currentOrder = TEAMTASK_OFFENSE; } cgs.orderPending = qtrue; cgs.orderTime = cg.time + 3000; }
// ASS U ME's enumeration order as far as task specific orders, OFFENSE is zero, CAMP is last // static void CG_NextOrder_f( int localPlayerNum ) { localPlayer_t *player; playerInfo_t *pi; int playerNum; int team; player = &cg.localPlayers[ localPlayerNum ]; if ( player->playerNum == -1 ) { return; } playerNum = cg.snap->pss[ localPlayerNum ].playerNum; team = cg.snap->pss[ localPlayerNum ].persistant[PERS_TEAM]; pi = cgs.playerinfo + playerNum; if (pi) { if (!pi->teamLeader && sortedTeamPlayers[team][cg_currentSelectedPlayer[localPlayerNum].integer] != playerNum) { return; } } if (player->currentOrder < TEAMTASK_CAMP) { player->currentOrder++; if (player->currentOrder == TEAMTASK_RETRIEVE) { if (!CG_OtherTeamHasFlag()) { player->currentOrder++; } } if (player->currentOrder == TEAMTASK_ESCORT) { if (!CG_YourTeamHasFlag()) { player->currentOrder++; } } } else { player->currentOrder = TEAMTASK_OFFENSE; } player->orderPending = qtrue; player->orderTime = cg.time + 3000; }
// THINKABOUTME: should these be exclusive or inclusive.. // qboolean CG_OwnerDrawVisible(int flags) { if (flags & CG_SHOW_TEAMINFO) { return (cg_currentSelectedPlayer.integer == numSortedTeamPlayers); } if (flags & CG_SHOW_NOTEAMINFO) { return !(cg_currentSelectedPlayer.integer == numSortedTeamPlayers); } if (flags & CG_SHOW_OTHERTEAMHASFLAG) { return CG_OtherTeamHasFlag(); } if (flags & CG_SHOW_YOURTEAMHASENEMYFLAG) { return CG_YourTeamHasFlag(); } if (flags & (CG_SHOW_BLUE_TEAM_HAS_REDFLAG | CG_SHOW_RED_TEAM_HAS_BLUEFLAG)) { if (flags & CG_SHOW_BLUE_TEAM_HAS_REDFLAG && (cgs.redflag == FLAG_TAKEN || cgs.flagStatus == FLAG_TAKEN_RED)) { return qtrue; } else if (flags & CG_SHOW_RED_TEAM_HAS_BLUEFLAG && (cgs.blueflag == FLAG_TAKEN || cgs.flagStatus == FLAG_TAKEN_BLUE)) { return qtrue; } return qfalse; } if (flags & CG_SHOW_ANYTEAMGAME) { if( cgs.gametype >= GT_TEAM) { return qtrue; } } if (flags & CG_SHOW_ANYNONTEAMGAME) { if( cgs.gametype < GT_TEAM) { return qtrue; } } if (flags & CG_SHOW_CTF) { if( cgs.gametype == GT_CTF || cgs.gametype == GT_CTY ) { return qtrue; } } if (flags & CG_SHOW_HEALTHCRITICAL) { if (cg.snap->ps.stats[STAT_HEALTH] < 25) { return qtrue; } } if (flags & CG_SHOW_HEALTHOK) { if (cg.snap->ps.stats[STAT_HEALTH] >= 25) { return qtrue; } } if (flags & CG_SHOW_SINGLEPLAYER) { if( cgs.gametype == GT_SINGLE_PLAYER ) { return qtrue; } } if (flags & CG_SHOW_TOURNAMENT) { if( cgs.gametype == GT_DUEL || cgs.gametype == GT_POWERDUEL ) { return qtrue; } } if (flags & CG_SHOW_DURINGINCOMINGVOICE) { } if (flags & CG_SHOW_IF_PLAYER_HAS_FLAG) { if (cg.snap->ps.powerups[PW_REDFLAG] || cg.snap->ps.powerups[PW_BLUEFLAG] || cg.snap->ps.powerups[PW_NEUTRALFLAG]) { return qtrue; } } return qfalse; }