29 #ifndef __MULTIPLAYERGAME_H__
30 #define __MULTIPLAYERGAME_H__
63 FLAGSTATUS_INBASE = 0,
103 const int MP_CTF_MAXPOINTS = 25;
123 SND_FLAG_CAPTURED_YOURS,
124 SND_FLAG_CAPTURED_THEIRS,
126 SND_FLAG_TAKEN_YOURS,
127 SND_FLAG_TAKEN_THEIRS,
128 SND_FLAG_DROPPED_YOURS,
129 SND_FLAG_DROPPED_THEIRS,
151 bool Draw(
int clientNum );
186 void PlayTeamSound(
int toTeam,
snd_evt_t evt,
const char *shader =
NULL );
255 void CastVote(
int clientNum,
bool vote );
263 void SwitchToTeam(
int clientNum,
int oldteam,
int newteam );
265 void ProcessChatMessage(
int clientNum,
bool team,
const char *
name,
const char *text,
const char *sound );
289 void ClearHUDStatus(
void );
290 int GetFlagPoints(
int team );
291 void SetFlagMsg(
bool b );
292 bool IsFlagMsgOn(
void );
296 int player_blue_flag;
372 idItemTeam * teamFlags[ 2 ];
377 const char * gameTypeVoteMap[ GAME_COUNT ];
404 bool PointLimitHit(
void );
406 int WinningTeam(
void );
431 void TeamScore(
int entityNumber,
int team,
int delta );
437 void FindTeamFlags(
void );
443 idItemTeam * GetTeamFlag(
int team );
444 flagStatus_t GetFlagStatus(
int team );
445 void TeamScoreCTF(
int team,
int delta );
446 void PlayerScoreCTF(
int playerIdx,
int delta );
448 int GetFlagCarrier(
int team );
449 void UpdateScoreboardFlagStatus(
void );
451 void SetBestGametype(
const char * map );
452 void ReloadScoreboard();
456 idStr GetBestGametype(
const char* map,
const char* gametype );
void DrawScoreBoard(idPlayer *player)
void VoiceChat(const idCmdArgs &args, bool team)
bool IsGametypeTeamBased(void)
void ClientReadWarmupTime(const idBitMsg &msg)
void ProcessVoiceChat(int clientNum, bool team, int index)
idUserInterface * scoreBoard
idUserInterface * mainGui
const char * HandleGuiCommands(const char *menuCommand)
idPlayer * FragLimitHit(void)
void PlayerStats(int clientNum, char *data, const int len)
GLenum GLsizei GLenum format
static void MessageMode_f(const idCmdArgs &args)
const int MP_PLAYER_MINFRAGS
void UpdateScoreboard(idUserInterface *scoreBoard, idPlayer *player)
void PlayGlobalSound(int to, snd_evt_t evt, const char *shader=NULL)
const int NUM_CHAT_NOTIFY
void ClientCallVote(vote_flags_t voteIndex, const char *voteValue)
void UpdateRankColor(idUserInterface *gui, const char *mask, int i, const idVec3 &vec)
void SwitchToTeam(int clientNum, int oldteam, int newteam)
void EnterGame(int clientNum)
void SpawnPlayer(int clientNum)
void CheckAbortGame(void)
void WantKilled(int clientNum)
static const char * MPGuis[]
void PrintMessageEvent(int to, msg_evt_t evt, int parm1=-1, int parm2=-1)
static const char * GameStateStrings[STATE_COUNT]
bool EnoughClientsToPlay(void)
void CheckRespawns(idPlayer *spectator=NULL)
const int MP_PLAYER_MAXPING
void ClientUpdateVote(vote_result_t result, int yesCount, int noCount)
void ServerStartVote(int clientNum, vote_flags_t voteIndex, const char *voteValue)
void ThrottleUserInfo(void)
struct mpChatLine_s mpChatLine_t
idMultiplayerGame::gameState_t GetGameState(void) const
int currentTourneyPlayer[2]
void PlayerDeath(idPlayer *dead, idPlayer *killer, bool telefrag)
void UpdateTourneyLine(void)
void DumpTourneyLine(void)
void NewState(gameState_t news, idPlayer *player=NULL)
void ClientReadStartState(const idBitMsg &msg)
idPlayer * FragLeader(void)
static const char * ThrottleVarsInEnglish[]
mpPlayerState_t playerState[MAX_CLIENTS]
bool IsInGame(int clientNum)
void FillTourneySlots(void)
void AddChatLine(const char *fmt,...) id_attribute((format(printf
static void CallVote_f(const idCmdArgs &args)
void CastVote(int clientNum, bool vote)
bool IsPureReady(void) const
mpChatLine_t chatHistory[NUM_CHAT_NOTIFY]
GLsizei GLsizei GLenum GLenum const GLvoid * data
void void UpdateMainGui(void)
static void VoiceChatTeam_f(const idCmdArgs &args)
bool CanPlay(idPlayer *p)
idUserInterface * StartMenu(void)
idPlayer * rankedPlayers[MAX_CLIENTS]
void PlayerVote(int clientNum, playerVote_t vote)
idUserInterface * guiChat
void TeamScore(int entityNumber, int team, int delta)
static const int ThrottleDelay[]
void ServerWriteInitialReliableMessages(int clientNum)
bool WantRespawn(idPlayer *p)
void ClientStartVote(int clientNum, const char *voteString)
const int MP_PLAYER_MAXFRAGS
void MessageMode(const idCmdArgs &args)
idUserInterface * msgmodeGui
void WriteToSnapshot(idBitMsgDelta &msg) const
static const char * ThrottleVars[]
const char * GameTime(void)
void ToggleSpectate(void)
void ProcessChatMessage(int clientNum, bool team, const char *name, const char *text, const char *sound)
static const char * GlobalSoundStrings[SND_COUNT]
idUserInterface * spectateGui
bool IsGametypeFlagBased(void)
static void Vote_f(const idCmdArgs &args)
const int MP_PLAYER_MAXWINS
static void ForceReady_f(const idCmdArgs &args)
static void DropWeapon_f(const idCmdArgs &args)
bool AllPlayersReady(void)
void DropWeapon(int clientNum)
void ReadFromSnapshot(const idBitMsgDelta &msg)
void UpdateWinsLosses(idPlayer *winner)
int NumActualClients(bool countSpectators, int *teamcount=NULL)
struct mpPlayerState_s mpPlayerState_t
void ClearFrags(int clientNum)
void ServerClientConnect(int clientNum)
void ServerCallVote(int clientNum, const idBitMsg &msg)
void CycleTourneyPlayers(void)
const int FRAGLIMIT_DELAY
void UpdateHud(idPlayer *player, idUserInterface *hud)
void DisconnectClient(int clientNum)
static void VoiceChat_f(const idCmdArgs &args)
int kickVoteMap[MAX_CLIENTS]