From 6a76f96fc49281f198b2667312cf588ac41dd993 Mon Sep 17 00:00:00 2001 From: +KZ Date: Mon, 29 Jul 2024 11:32:42 -0400 Subject: [PATCH] TDM add snap and remove gameflag_flags --- src/game/server/gamemodes/dm.cpp | 2 +- src/game/server/gamemodes/tdm.cpp | 17 ++++++++++++++++- src/game/server/gamemodes/tdm.h | 1 + 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/game/server/gamemodes/dm.cpp b/src/game/server/gamemodes/dm.cpp index 61ef7c9d44c..edf5c0fa2d1 100644 --- a/src/game/server/gamemodes/dm.cpp +++ b/src/game/server/gamemodes/dm.cpp @@ -6,7 +6,7 @@ CGameControllerDM::CGameControllerDM(class CGameContext *pGameServer) : CGameControllerInstagib(pGameServer) { - m_GameFlags = GAMEFLAG_FLAGS; + m_GameFlags = 0; } CGameControllerDM::~CGameControllerDM() = default; diff --git a/src/game/server/gamemodes/tdm.cpp b/src/game/server/gamemodes/tdm.cpp index d98d52024c9..bbcf648cacd 100644 --- a/src/game/server/gamemodes/tdm.cpp +++ b/src/game/server/gamemodes/tdm.cpp @@ -6,7 +6,7 @@ CGameControllerTDM::CGameControllerTDM(class CGameContext *pGameServer) : CGameControllerDM(pGameServer) { - m_GameFlags = GAMEFLAG_TEAMS | GAMEFLAG_FLAGS; + m_GameFlags = GAMEFLAG_TEAMS; } CGameControllerTDM::~CGameControllerTDM() = default; @@ -54,3 +54,18 @@ int CGameControllerTDM::OnCharacterDeath(class CCharacter *pVictim, class CPlaye } return false; } + +void CGameControllerTDM::Snap(int SnappingClient) +{ + IGameController::Snap(SnappingClient); + + CNetObj_GameData *pGameDataObj = (CNetObj_GameData *)Server()->SnapNewItem(NETOBJTYPE_GAMEDATA, 0, sizeof(CNetObj_GameData)); + if(!pGameDataObj) + return; + + pGameDataObj->m_TeamscoreRed = m_aTeamscore[TEAM_RED]; + pGameDataObj->m_TeamscoreBlue = m_aTeamscore[TEAM_BLUE]; + + pGameDataObj->m_FlagCarrierRed = 0; + pGameDataObj->m_FlagCarrierBlue = 0; +} diff --git a/src/game/server/gamemodes/tdm.h b/src/game/server/gamemodes/tdm.h index 92126266b2d..c4ca9bca2cd 100644 --- a/src/game/server/gamemodes/tdm.h +++ b/src/game/server/gamemodes/tdm.h @@ -9,6 +9,7 @@ class CGameControllerTDM : public CGameControllerDM CGameControllerTDM(class CGameContext *pGameServer); ~CGameControllerTDM(); + virtual void Snap(int SnappingClient) override; virtual int OnCharacterDeath(class CCharacter *pVictim, class CPlayer *pKiller, int Weapon) override; void Tick() override; };