3#ifndef GAME_SERVER_GAMECONTEXT_H
4#define GAME_SERVER_GAMECONTEXT_H
140 void AddVote(
const char *pDescription,
const char *pCommand);
141 static int MapScan(
const char *pName,
int IsDir,
int DirType,
void *pUserData);
197 void StartVote(
const char *pDesc,
const char *pCommand,
const char *pReason,
const char *pSixupDesc);
248 bool SnapLaserObject(
const CSnapContext &Context,
int SnapId,
const vec2 &To,
const vec2 &From,
int StartTick,
int Owner = -1,
int LaserType = -1,
int Subtype = -1,
int SwitchNumber = -1)
const;
258 void CallVote(
int ClientId,
const char *pDesc,
const char *pCmd,
const char *pReason,
const char *pChatmsg,
const char *pSixupDesc =
nullptr);
263 void SendEmoticon(
int ClientId,
int Emoticon,
int TargetClientId)
const;
267 void SendBroadcast(
const char *pText,
int ClientId,
bool IsImportant =
true);
269 void List(
int ClientId,
const char *pFilter);
282 void OnInit(
const void *pPersistentData)
override;
286 void OnMapChange(
char *pNewMapName,
int MapNameSize)
override;
287 void OnShutdown(
void *pPersistentData)
override;
291 void OnSnap(
int ClientId)
override;
297 void CensorMessage(
char *pCensoredMessage,
const char *pMessage,
int Size);
317 void OnClientDrop(
int ClientId,
const char *pReason)
override;
337 const char *
GameType()
const override;
338 const char *
Version()
const override;
355 void ForceVote(
int EnforcerId,
bool Success);
409 void MoveCharacter(
int ClientId,
int X,
int Y,
bool Raw =
false);
551 bool TryMute(
const NETADDR *pAddr,
int Secs,
const char *pReason,
bool InitialChatDelay);
552 void Mute(
const NETADDR *pAddr,
int Secs,
const char *pDisplayName,
const char *pReason =
"",
bool InitialChatDelay =
false);
554 void VoteMute(
const NETADDR *pAddr,
int Secs,
const char *pReason,
const char *pDisplayName,
int AuthedId);
556 void Whisper(
int ClientId,
char *pStr);
557 void WhisperId(
int ClientId,
int VictimId,
const char *pMessage);
558 void Converse(
int ClientId,
char *pStr);
560 void UnlockTeam(
int ClientId,
int Team)
const;
580 void LogEvent(
const char *Description,
int ClientId);
600 void OnSetAuthed(
int ClientId,
int Level)
override;
Definition: character.h:24
int Team()
Definition: character.cpp:630
Definition: collision.h:34
Definition: eventhandler.h:11
Definition: gamecontext.h:74
static void ConAntibot(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:924
static void ConUnNinja(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:108
static void ConLaser(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:266
void CreatePlayerSpawn(vec2 Pos, CClientMask Mask=CClientMask().set())
Definition: gamecontext.cpp:352
static void ConTuneZone(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3003
int m_NumVoteMutes
Definition: gamecontext.h:550
void CreateFinishEffect(vec2 Pos, CClientMask Mask=CClientMask().set())
Definition: gamecontext.cpp:383
static void ConDumpLog(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:930
static void ConGoRight(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:25
static void ConRules(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:266
static void ConMutes(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:759
void OnClientDrop(int ClientId, const char *pReason) override
Definition: gamecontext.cpp:1732
static void ConMap(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:549
void OnStartInfoNetMessage(const CNetMsg_Cl_StartInfo *pMsg, int ClientId)
Definition: gamecontext.cpp:2857
static void ConPracticeGrenade(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2294
static void ConSetJumps(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:288
CTeeHistorian m_TeeHistorian
Definition: gamecontext.h:91
void OnTick() override
Definition: gamecontext.cpp:1018
void OnCameraInfoNetMessage(const CNetMsg_Cl_CameraInfo *pMsg, int ClientId)
Definition: gamecontext.cpp:2611
bool SnapPickup(const CSnapContext &Context, int SnapId, const vec2 &Pos, int Type, int SubType, int SwitchNumber) const
Definition: gamecontext.cpp:515
CHeap * m_pVoteOptionHeap
Definition: gamecontext.h:232
static void ConTogglePause(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:407
void TeehistorianRecordPlayerJoin(int ClientId, bool Sixup) override
Definition: gamecontext.cpp:1789
void LogEvent(const char *Description, int ClientId)
Definition: ddracecommands.cpp:963
static void ConTimeCP(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2486
void SendChatTarget(int To, const char *pText, int VersionFlags=FLAG_SIX|FLAG_SIXUP) const
Definition: gamecontext.cpp:585
static void ConTeam(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1386
static void ConPracticeUnGrenade(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2343
static void ConEyeEmote(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1523
IConsole * m_pConsole
Definition: gamecontext.h:78
static void ConForcePause(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:470
void AttemptJoinTeam(int ClientId, int Team)
Definition: ddracechat.cpp:1156
void Teleport(CCharacter *pChr, vec2 Pos)
Definition: ddracecommands.cpp:383
void ForceVote(int EnforcerId, bool Success)
Definition: gamecontext.cpp:4859
static void ConUnmuteId(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:732
static void ConGrenade(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:260
int64_t m_VoteCloseTime
Definition: gamecontext.h:205
static void ConToggleInvincible(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:163
void DeleteTempfile()
Definition: gamecontext.cpp:4170
static void ConMove(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:55
void OnMapChange(char *pNewMapName, int MapNameSize) override
Definition: gamecontext.cpp:4179
bool PracticeByDefault() const
Definition: gamecontext.cpp:5038
static void ConchainSpecialMotdupdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition: gamecontext.cpp:3620
static void ConPause(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3136
static void ConGoLeft(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:15
static void ConNinjaJetpack(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1586
static void ConSetEyeEmote(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1489
int m_NumMutes
Definition: gamecontext.h:548
~CGameContext()
Definition: gamecontext.cpp:166
IAntibot * Antibot()
Definition: gamecontext.h:165
IStorage * m_pStorage
Definition: gamecontext.h:80
void SendMotd(int ClientId) const
Definition: gamecontext.cpp:730
CScore * m_pScore
Definition: gamecontext.h:372
static void ConWhispers(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:535
static void ConUnEndlessJump(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:328
void OnSayNetMessage(const CNetMsg_Cl_Say *pMsg, int ClientId, const CUnpacker *pUnpacker)
Definition: gamecontext.cpp:2134
static void ConPracticeWeapons(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2329
void OnIsDDNetLegacyNetMessage(const CNetMsg_Cl_IsDDNetLegacy *pMsg, int ClientId, CUnpacker *pUnpacker)
Definition: gamecontext.cpp:2571
void SendTuningParams(int ClientId, int Zone=0)
Definition: gamecontext.cpp:924
static void ConPracticeToTeleporter(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2150
static void ConDumpAntibot(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:918
bool IsVersionBanned(int Version)
Definition: gamecontext.cpp:4788
CVoteOptionServer * m_pVoteOptionLast
Definition: gamecontext.h:234
bool IsKickVote() const
Definition: gamecontext.h:596
int64_t m_LastMapVote
Definition: gamecontext.h:349
CNetObj_PlayerInput m_aLastPlayerInput[MAX_CLIENTS]
Definition: gamecontext.h:178
static void ConPracticeEndlessJump(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2315
static void ConPracticeJetpack(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2308
static void ConPracticeLiveFreeze(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2277
void ModifyWeapons(IConsole::IResult *pResult, void *pUserData, int Weapon, bool Remove)
Definition: ddracecommands.cpp:354
CLayers m_Layers
Definition: gamecontext.h:82
void CreateDamageInd(vec2 Pos, float AngleMod, int Amount, CClientMask Mask=CClientMask().set())
Definition: gamecontext.cpp:265
CGameWorld m_World
Definition: gamecontext.h:189
static void ConUninvite(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:834
void VoteMute(const NETADDR *pAddr, int Secs, const char *pReason, const char *pDisplayName, int AuthedId)
Definition: ddracecommands.cpp:512
void OnSetTeamNetMessage(const CNetMsg_Cl_SetTeam *pMsg, int ClientId)
Definition: gamecontext.cpp:2524
char m_aVoteCommand[VOTE_CMD_LENGTH]
Definition: gamecontext.h:210
static void ConPracticeUnEndlessHook(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2399
bool m_aPlayerHasInput[MAX_CLIENTS]
Definition: gamecontext.h:179
CMute m_aVoteMutes[MAX_VOTE_MUTES]
Definition: gamecontext.h:549
static void ConPracticeSetJumps(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2322
static void ConDrySave(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:884
void RegisterDDRaceCommands()
Definition: gamecontext.cpp:3693
void OnClientPredictedInput(int ClientId, void *pInput) override
Definition: gamecontext.cpp:1352
CTuningParams m_Tuning
Definition: gamecontext.h:86
CCollision * Collision()
Definition: gamecontext.h:162
static void ConToggleSpecVoted(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:402
static void ConMuteId(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:679
static void ConUnWeapons(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:336
void SendWeaponPickup(int ClientId, int Weapon) const
Definition: gamecontext.cpp:723
static void ConUnJetpack(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:320
CEventHandler m_Events
Definition: gamecontext.h:175
void OnInit(const void *pPersistentData) override
Definition: gamecontext.cpp:3864
static void ConDND(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:521
void ResetTuning()
Definition: gamecontext.cpp:4576
void OnPostSnap() override
Definition: gamecontext.cpp:4397
static void ConLoad(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1014
void ReadCensorList()
Definition: gamecontext.cpp:5020
void CensorMessage(char *pCensoredMessage, const char *pMessage, int Size)
Definition: gamecontext.cpp:2044
static void ConVotes(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3588
bool OnClientDDNetVersionKnown(int ClientId)
Definition: gamecontext.cpp:1837
static void ConGoDown(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:35
void TeehistorianRecordPlayerRejoin(int ClientId) override
Definition: gamecontext.cpp:1805
static void ConJoin(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1429
static void ConPracticeSolo(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2218
CClientMask ClientsMaskExcludeClientVersionAndHigher(int Version) const
Definition: gamecontext.cpp:4842
void CreateDeath(vec2 Pos, int ClientId, CClientMask Mask=CClientMask().set())
Definition: gamecontext.cpp:362
void OnKillNetMessage(const CNetMsg_Cl_Kill *pMsg, int ClientId)
Definition: gamecontext.cpp:2824
void OnMessage(int MsgId, CUnpacker *pUnpacker, int ClientId) override
Definition: gamecontext.cpp:2066
IServer * m_pServer
Definition: gamecontext.h:75
static void ConPracticeDeep(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2257
void UpdatePlayerMaps()
Definition: gamecontext.cpp:4403
CLog m_aLogs[MAX_LOGS]
Definition: gamecontext.h:577
static void ConPracticeLaser(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2301
static void ConPracticeToCheckTeleporter(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2170
CUuid GameUuid() const override
Definition: gamecontext.cpp:4474
static void ConConverse(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1479
@ VOTE_ENFORCE_NO
Definition: gamecontext.h:225
@ VOTE_ENFORCE_NO_ADMIN
Definition: gamecontext.h:227
@ VOTE_ENFORCE_YES_ADMIN
Definition: gamecontext.h:228
@ VOTE_ENFORCE_UNKNOWN
Definition: gamecontext.h:224
@ VOTE_ENFORCE_CANCEL
Definition: gamecontext.h:230
@ VOTE_ENFORCE_ABORT
Definition: gamecontext.h:229
@ VOTE_ENFORCE_YES
Definition: gamecontext.h:226
static void ConMapInfo(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:578
static void ConToTeleporter(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:391
static void ConWeapons(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:296
static void ConHotReload(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3241
static void ConClearVotes(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3472
void SendRecord(int ClientId)
Definition: gamecontext.cpp:4507
static void ConUnGrenade(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:308
static void ConPracticeUnSolo(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2190
static void ConUnLaser(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:314
void OnPreTickTeehistorian() override
Definition: gamecontext.cpp:1000
void OnClientPredictedEarlyInput(int ClientId, void *pInput) override
Definition: gamecontext.cpp:1369
static void ConTeam0Mode(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1306
static void ConPracticeRemoveWeapon(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2420
void MoveCharacter(int ClientId, int X, int Y, bool Raw=false)
Definition: ddracecommands.cpp:73
bool IsSpecVote() const
Definition: gamecontext.h:597
static void ConTunes(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:2990
static void ConWhisper(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1484
CMute m_aMutes[MAX_MUTES]
Definition: gamecontext.h:547
bool m_Resetting
Definition: gamecontext.h:97
static void ConCancelSwap(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:939
void SendChat(int ClientId, int Team, const char *pText, int SpamProtectionClientId=-1, int VersionFlags=FLAG_SIX|FLAG_SIXUP)
Definition: gamecontext.cpp:623
bool VoteUnmute(const NETADDR *pAddr, const char *pDisplayName, int AuthedId)
Definition: ddracecommands.cpp:529
static void ConUnDeep(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:221
static void ConPracticeUnNinja(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2385
static void ConSetTimerType(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1763
void OnSnap(int ClientId) override
Definition: gamecontext.cpp:4369
void OnConsoleInit() override
Definition: gamecontext.cpp:3640
void OnClientPrepareInput(int ClientId, void *pInput) override
Definition: gamecontext.cpp:1333
static void ConReloadCensorlist(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:912
void * PreProcessMsg(int *pMsgId, CUnpacker *pUnpacker, int ClientId)
Definition: gamecontext.cpp:1892
void Destruct(int Resetting)
Definition: gamecontext.cpp:133
static void ConRank(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1053
void ProgressVoteOptions(int ClientId)
Definition: gamecontext.cpp:1413
static void ConRemoveWeapon(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:348
static void ConBroadcast(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3176
static void ConPracticeNinja(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2378
int GetDDRaceTeam(int ClientId) const
Definition: gamecontext.cpp:4571
void OnCallVoteNetMessage(const CNetMsg_Cl_CallVote *pMsg, int ClientId)
Definition: gamecontext.cpp:2246
@ MAX_VOTE_MUTES
Definition: gamecontext.h:537
@ MAX_MUTES
Definition: gamecontext.h:536
void TeehistorianRecordPlayerDrop(int ClientId, const char *pReason) override
Definition: gamecontext.cpp:1797
static void ConRandomUnfinishedMap(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3158
void AddVote(const char *pDescription, const char *pCommand)
Definition: gamecontext.cpp:3278
CUuid m_GameUuid
Definition: gamecontext.h:93
static void ConAddVote(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3269
static void ConTuneSetZoneMsgLeave(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3083
static void ConPracticeEndlessHook(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2392
void OnShowOthersLegacyNetMessage(const CNetMsg_Cl_ShowOthersLegacy *pMsg, int ClientId)
Definition: gamecontext.cpp:2587
void TeehistorianRecordTeamFinish(int TeamId, int TimeTicks) override
Definition: gamecontext.cpp:1829
static void ConPracticeShotgun(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2287
static void ConVoteMute(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:602
static void ConTimes(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:482
bool TryMute(const NETADDR *pAddr, int Secs, const char *pReason, bool InitialChatDelay)
Definition: ddracecommands.cpp:550
void SnapSwitchers(int SnappingClient)
Definition: gamecontext.cpp:426
static void ConPracticeUnDeep(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2246
static void ConSetTeam(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3207
bool RateLimitPlayerVote(int ClientId)
Definition: gamecontext.cpp:4875
void CreateExplosion(vec2 Pos, int Owner, int Weapon, bool NoDamage, int ActivatedTeam, CClientMask Mask=CClientMask().set())
Definition: gamecontext.cpp:294
void SendStartWarning(int ClientId, const char *pMessage)
Definition: gamecontext.cpp:705
CNetObj_PlayerInput GetLastPlayerInput(int ClientId) const
Definition: gamecontext.cpp:205
IEngine * Engine()
Definition: gamecontext.h:160
static void ConUnFreeze(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:201
static void ConFreezeHammer(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:842
ASYNCIO * m_pTeeHistorianFile
Definition: gamecontext.h:92
CPlayer * m_apPlayers[MAX_CLIENTS]
Definition: gamecontext.h:176
static void ConSpecTeam(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1652
static void ConLock(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1074
static void ConSwap(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:815
static void ConTuneParam(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:2905
int PersistentDataSize() const override
Definition: gamecontext.h:333
void CreateSoundGlobal(int Sound, int Target=-1) const
Definition: gamecontext.cpp:408
const char * Version() const override
Definition: gamecontext.cpp:4476
static void ConInfo(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:69
static void ConSetTeamAll(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3227
static void ConchainSettingUpdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition: gamecontext.cpp:3630
static void ConUnlock(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1123
IConfigManager * m_pConfigManager
Definition: gamecontext.h:76
static void ConPracticeCmdList(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:791
int m_VoteEnforce
Definition: gamecontext.h:213
static void ConVote(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3578
CScore * Score()
Definition: gamecontext.h:584
IServer * Server() const
Definition: gamecontext.h:156
void TeehistorianRecordPlayerFinish(int ClientId, int TimeTicks) override
Definition: gamecontext.cpp:1821
static void ConGoUp(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:45
void StartVote(const char *pDesc, const char *pCommand, const char *pReason, const char *pSixupDesc)
Definition: gamecontext.cpp:781
void CreateAllEntities(bool Initial)
Definition: gamecontext.cpp:4069
void LoadMapSettings()
Definition: gamecontext.cpp:4333
static void ConSetDDRTeam(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:808
CTuningParams m_aTuningList[NUM_TUNEZONES]
Definition: gamecontext.h:87
void SendVoteSet(int ClientId)
Definition: gamecontext.cpp:810
static void ConTuneResetZone(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3043
void RegisterChatCommands()
Definition: gamecontext.cpp:3762
void Clear()
Definition: gamecontext.cpp:171
const char * GameType() const override
Definition: gamecontext.cpp:4475
static void ConVoteMutes(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:643
int m_aTeamMapping[MAX_CLIENTS]
Definition: gamecontext.h:182
bool ProcessSpamProtection(int ClientId, bool RespectChatInitialDelay=true)
Definition: gamecontext.cpp:4520
CConfig * Config()
Definition: gamecontext.h:158
CTuningParams * TuningList()
Definition: gamecontext.h:164
static void ConPoints(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2446
CConfig * m_pConfig
Definition: gamecontext.h:77
static void ConPracticeToggleInvincible(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2406
static void ConTeamTop5(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:417
static void ConNinja(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:102
@ MAX_LOG_SECONDS
Definition: gamecontext.h:565
@ MAX_LOGS
Definition: gamecontext.h:566
CCollision m_Collision
Definition: gamecontext.h:83
static void ConUnFreezeHammer(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:860
CMapBugs m_MapBugs
Definition: gamecontext.h:94
static void ConJetpack(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:272
void OnClientDirectInput(int ClientId, void *pInput) override
Definition: gamecontext.cpp:1340
CCharacter * GetPracticeCharacter(IConsole::IResult *pResult)
Definition: ddracechat.cpp:2129
bool IsOptionVote() const
Definition: gamecontext.h:595
bool m_VoteUpdate
Definition: gamecontext.h:206
static void ConTogglePauseVoted(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:412
CGameContext()
Definition: gamecontext.cpp:156
void WhisperId(int ClientId, int VictimId, const char *pMessage)
Definition: gamecontext.cpp:4698
void OnShowDistanceNetMessage(const CNetMsg_Cl_ShowDistance *pMsg, int ClientId)
Definition: gamecontext.cpp:2605
int PersistentClientDataSize() const override
Definition: gamecontext.h:334
static void ConMuteIp(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:699
static void ConPracticeUnLaser(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2350
IConfigManager * ConfigManager() const
Definition: gamecontext.h:157
char m_aSixupVoteDescription[VOTE_DESC_LENGTH]
Definition: gamecontext.h:209
IAntibot * m_pAntibot
Definition: gamecontext.h:81
static void ConAddWeapon(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:342
static void ConRestart(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3167
static void ConTuneSetZoneMsgEnter(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3070
void CreateSound(vec2 Pos, int Sound, CClientMask Mask=CClientMask().set())
Definition: gamecontext.cpp:393
void Converse(int ClientId, char *pStr)
Definition: gamecontext.cpp:4771
static void ConSayTimeAll(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1716
char m_aVoteDescription[VOTE_DESC_LENGTH]
Definition: gamecontext.h:208
const char * NetVersion() const override
Definition: gamecontext.cpp:4477
static void ConToCheckTeleporter(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:407
std::vector< std::string > m_vCensorlist
Definition: gamecontext.h:88
void SendVoteStatus(int ClientId, int Total, int Yes, int No)
Definition: gamecontext.cpp:872
static void ConMute(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:669
static void ConShowOthers(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1601
uint32_t NextUniqueClientId
Definition: gamecontext.h:370
bool PlayerExists(int ClientId) const override
Definition: gamecontext.h:352
void OnShowOthersNetMessage(const CNetMsg_Cl_ShowOthers *pMsg, int ClientId)
Definition: gamecontext.cpp:2596
static void ConModerate(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:785
static void ConShowAll(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1624
void AbortVoteKickOnDisconnect(int ClientId)
Definition: gamecontext.cpp:898
static void ConTeleXY(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1968
int64_t m_NonEmptySince
Definition: gamecontext.h:348
static void ConSayTime(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1673
void OnClientConnected(int ClientId, void *pData) override
Definition: gamecontext.cpp:1677
static void ConForceVote(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3404
static void ConEndlessHook(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:114
static void ConVoteNo(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:877
CSaveHotReloadTee * m_apSavedTees[MAX_CLIENTS]
Definition: gamecontext.h:181
void OnPreSnap() override
Definition: gamecontext.cpp:4396
void OnUpdatePlayerServerInfo(CJsonStringWriter *pJSonWriter, int Id) override
Definition: gamecontext.cpp:4961
static void ConRescueMode(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1850
protocol7::CNetObjHandler m_NetObjHandler7
Definition: gamecontext.h:84
static void ConLastTele(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2101
static void ConKill(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:456
static void CommandCallback(int ClientId, int FlagMask, const char *pCmd, IConsole::IResult *pResult, void *pUser)
Definition: gamecontext.cpp:196
IGameController * m_pController
Definition: gamecontext.h:188
IConsole * Console()
Definition: gamecontext.h:159
static void ConPracticeUnWeapons(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2371
std::shared_ptr< CScoreRandomMapResult > m_SqlRandomMapResult
Definition: gamecontext.h:366
bool RateLimitPlayerMapVote(int ClientId) const
Definition: gamecontext.cpp:4948
void OnClientEnter(int ClientId) override
Definition: gamecontext.cpp:1499
static void ConInvite(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1242
static void ConUnSuper(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:151
CLayers * Layers()
Definition: gamecontext.h:583
static int MapScan(const char *pName, int IsDir, int DirType, void *pUserData)
Definition: gamecontext.cpp:3562
static void ConPracticeUnJetpack(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2357
static void ConLiveFreeze(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:234
void OnChangeInfoNetMessage(const CNetMsg_Cl_ChangeInfo *pMsg, int ClientId)
Definition: gamecontext.cpp:2639
void CreateBirthdayEffect(vec2 Pos, CClientMask Mask=CClientMask().set())
Definition: gamecontext.cpp:373
void EndVote()
Definition: gamecontext.cpp:804
void TeehistorianRecordPlayerName(int ClientId, const char *pName) override
Definition: gamecontext.cpp:1813
int m_VotePos
Definition: gamecontext.h:207
bool m_TeeHistorianActive
Definition: gamecontext.h:90
static void ConToggleTuneParam(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:2939
@ VOTE_TYPE_SPECTATE
Definition: gamecontext.h:591
@ VOTE_TYPE_KICK
Definition: gamecontext.h:590
@ VOTE_TYPE_UNKNOWN
Definition: gamecontext.h:588
@ VOTE_TYPE_OPTION
Definition: gamecontext.h:589
char m_aDeleteTempfile[128]
Definition: gamecontext.h:219
void Whisper(int ClientId, char *pStr)
Definition: gamecontext.cpp:4588
@ FLAG_SIXUP
Definition: gamecontext.h:254
@ FLAG_SIX
Definition: gamecontext.h:253
static void ConPracticeUnLiveFreeze(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2267
static void ConTopPoints(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2467
char m_aaZoneLeaveMsg[NUM_TUNEZONES][256]
Definition: gamecontext.h:215
static void ConTeleTo(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1907
void Construct(int Resetting)
Definition: gamecontext.cpp:77
static void ConPractice(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:634
static void ConSuper(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:138
static void ConUnmute(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:713
static void ConTeamRank(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1032
int m_VoteType
Definition: gamecontext.h:204
static void ConRandomMap(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3149
static void ConUnEndlessHook(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:126
IStorage * Storage()
Definition: gamecontext.h:161
static void ConMapbug(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3096
static void ConShotgun(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:254
static void ConToggleSpec(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:380
static void ConSwitchOpen(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3122
static void ConDeep(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:211
int m_VoteVictim
Definition: gamecontext.h:593
CPrng m_Prng
Definition: gamecontext.h:95
CSaveTeam * m_apSavedTeams[MAX_CLIENTS]
Definition: gamecontext.h:180
void OnVoteNetMessage(const CNetMsg_Cl_Vote *pMsg, int ClientId)
Definition: gamecontext.cpp:2493
static void ConSay(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3201
IEngine * m_pEngine
Definition: gamecontext.h:79
void CreateHammerHit(vec2 Pos, CClientMask Mask=CClientMask().set())
Definition: gamecontext.cpp:284
void SendBroadcast(const char *pText, int ClientId, bool IsImportant=true)
Definition: gamecontext.cpp:749
void List(int ClientId, const char *pFilter)
Definition: gamecontext.cpp:4796
bool m_VoteWillPass
Definition: gamecontext.h:371
bool TryVoteMute(const NETADDR *pAddr, int Secs, const char *pReason)
Definition: ddracecommands.cpp:485
int m_VoteCreator
Definition: gamecontext.h:203
int m_NumVoteOptions
Definition: gamecontext.h:212
CTuningParams * Tuning()
Definition: gamecontext.h:163
void CheckPureTuning()
Definition: gamecontext.cpp:905
void OnSetAuthed(int ClientId, int Level) override
Definition: gamecontext.cpp:4481
static void ConTimeout(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:594
void TeehistorianRecordAntibot(const void *pData, int DataSize) override
Definition: gamecontext.cpp:1781
static void ConPracticeUnShotgun(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2336
void SendChatTeam(int Team, const char *pText) const
Definition: gamecontext.cpp:616
static void ConTeleCursor(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2046
bool SnapLaserObject(const CSnapContext &Context, int SnapId, const vec2 &To, const vec2 &From, int StartTick, int Owner=-1, int LaserType=-1, int Subtype=-1, int SwitchNumber=-1) const
Definition: gamecontext.cpp:480
static void ConSave(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:995
void SendSettings(int ClientId) const
Definition: gamecontext.cpp:737
const CVoteOptionServer * GetVoteOption(int Index) const
Definition: gamecontext.cpp:1400
static void ConTeleport(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:424
static void ConPracticeUnEndlessJump(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2364
void SendEmoticon(int ClientId, int Emoticon, int TargetClientId) const
Definition: gamecontext.cpp:715
static void ConTuneDumpZone(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3026
int GetClientVersion(int ClientId) const
Definition: gamecontext.cpp:4837
static void ConProtectedKill(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2427
static void ConKillPlayer(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:84
static void ConUnSolo(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:181
bool TeeHistorianActive() const
Definition: gamecontext.h:167
void UnlockTeam(int ClientId, int Team) const
Definition: ddracechat.cpp:1147
static void ConTop(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:463
static void ConMe(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1459
static void ConTime(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1740
static void ConFreeze(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:191
static void ConEndlessJump(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:280
bool EmulateBug(int Bug) const
Definition: gamecontext.cpp:218
void Mute(const NETADDR *pAddr, int Secs, const char *pDisplayName, const char *pReason="", bool InitialChatDelay=false)
Definition: ddracecommands.cpp:583
void OnShutdown(void *pPersistentData) override
Definition: gamecontext.cpp:4296
CNetObjHandler m_NetObjHandler
Definition: gamecontext.h:85
static void ConVoteUnmute(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:620
static void ConTuneReset(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:2963
static void ConMoveRaw(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:64
CTeeHistorian * TeeHistorian()
Definition: gamecontext.h:166
static void ConChangeMap(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3143
bool OnClientDataPersist(int ClientId, void *pData) override
Definition: gamecontext.cpp:1664
static void ConRemoveVote(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3335
static void ConCredits(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:19
static void ConList(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:88
char m_aVoteReason[VOTE_REASON_LENGTH]
Definition: gamecontext.h:211
void CallVote(int ClientId, const char *pDesc, const char *pCmd, const char *pReason, const char *pChatmsg, const char *pSixupDesc=nullptr)
Definition: gamecontext.cpp:562
int m_LatestLog
Definition: gamecontext.h:578
static void ConSolo(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:171
char m_aaZoneEnterMsg[NUM_TUNEZONES][256]
Definition: gamecontext.h:214
static void ConAddMapVotes(IConsole::IResult *pResult, void *pUserData)
Definition: gamecontext.cpp:3508
static void ConRescue(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:1815
bool IsClientReady(int ClientId) const override
Definition: gamecontext.cpp:4464
std::vector< SSwitchers > & Switchers()
Definition: gamecontext.h:194
static void ConUnShotgun(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:302
static void ConHelp(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:102
CVoteOptionServer * m_pVoteOptionFirst
Definition: gamecontext.h:233
static void ConUnLiveFreeze(IConsole::IResult *pResult, void *pUserData)
Definition: ddracecommands.cpp:244
static void ConPracticeAddWeapon(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:2413
bool IsClientPlayer(int ClientId) const override
Definition: gamecontext.cpp:4469
static void TeeHistorianWrite(const void *pData, int DataSize, void *pUser)
Definition: gamecontext.cpp:190
bool PlayerModerating() const
Definition: gamecontext.cpp:4854
static void ConUnPractice(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:731
void OnEmoticonNetMessage(const CNetMsg_Cl_Emoticon *pMsg, int ClientId)
Definition: gamecontext.cpp:2745
void FillAntibot(CAntibotRoundData *pData) override
Definition: gamecontext.cpp:223
class CCharacter * GetPlayerChar(int ClientId)
Definition: gamecontext.cpp:211
static void ConSettings(IConsole::IResult *pResult, void *pUserData)
Definition: ddracechat.cpp:141
void OnSetSpectatorModeNetMessage(const CNetMsg_Cl_SetSpectatorMode *pMsg, int ClientId)
Definition: gamecontext.cpp:2617
Definition: gameworld.h:18
CWorldCore m_Core
Definition: gameworld.h:35
Definition: jsonwriter.h:105
Definition: protocol.h:1261
Definition: teehistorian.h:16
Definition: gamecore.h:42
std::vector< SSwitchers > m_vSwitchers
Definition: gamecore.h:173
void(* FCommandCallback)(IResult *pResult, void *pUserData)
Definition: console.h:94
Definition: gamecontroller.h:19
Definition: protocol7.h:1229
@ NUM_TUNEZONES
Definition: protocol.h:138
std::bitset< MAX_CLIENTS > CClientMask
Definition: protocol.h:141
@ MAX_CLIENTS
Definition: protocol.h:88
@ MAX_NAME_LENGTH
Definition: protocol.h:98
Definition: system.cpp:495
Definition: antibot_data.h:98
Definition: gamecontext.h:569
char m_aClientName[MAX_NAME_LENGTH]
Definition: gamecontext.h:574
char m_aDescription[128]
Definition: gamecontext.h:572
bool m_FromServer
Definition: gamecontext.h:571
int64_t m_Timestamp
Definition: gamecontext.h:570
int m_ClientVersion
Definition: gamecontext.h:573
char m_aClientAddrStr[NETADDR_MAXSTRSIZE]
Definition: gamecontext.h:575
Definition: gamecontext.h:540
int m_Expire
Definition: gamecontext.h:542
char m_aReason[128]
Definition: gamecontext.h:543
NETADDR m_Addr
Definition: gamecontext.h:541
bool m_InitialChatDelay
Definition: gamecontext.h:544
Definition: gamecontext.h:149
int m_LastWhisperTo
Definition: gamecontext.h:152
bool m_IsSpectator
Definition: gamecontext.h:150
bool m_IsAfk
Definition: gamecontext.h:151
Definition: gamecontext.h:144
CUuid m_PrevGameUuid
Definition: gamecontext.h:145
Definition: protocol.h:1025
Definition: protocol.h:967
Definition: protocol.h:1001
Definition: protocol.h:1041
Definition: protocol.h:991
Definition: protocol.h:905
Definition: protocol.h:931
Definition: protocol.h:919
Definition: protocol.h:1125
Definition: protocol.h:1101
Definition: protocol.h:1139
Definition: protocol.h:943
Definition: protocol.h:1013
Definition: scoreworker.h:104
Definition: gamecontext.h:59
bool m_Sixup
Definition: gamecontext.h:70
int GetClientVersion() const
Definition: gamecontext.h:65
bool IsSixup() const
Definition: gamecontext.h:66
CSnapContext(int Version, bool Sixup=false)
Definition: gamecontext.h:60
int m_ClientVersion
Definition: gamecontext.h:69
Definition: uuid_manager.h:17
@ NETADDR_MAXSTRSIZE
Definition: types.h:45
@ VOTE_DESC_LENGTH
Definition: voting.h:8
@ VOTE_CMD_LENGTH
Definition: voting.h:9
@ VOTE_REASON_LENGTH
Definition: voting.h:10