about summary refs log tree commit diff
path: root/src/game/server/gamemodes
diff options
context:
space:
mode:
authorTeetime <anton.tsoulos@yahoo.de>2011-10-22 21:01:08 +0200
committerTeetime <anton.tsoulos@yahoo.de>2011-10-22 21:01:08 +0200
commitc1bffb2f297fce988427ae25baef0a8dfd3cf1aa (patch)
treec268cabeb7f1a7270086b25dace5630d77a8159d /src/game/server/gamemodes
parent418340f4114bb4f5e5f9bf80062e870c1d46e2e3 (diff)
downloadzcatch-c1bffb2f297fce988427ae25baef0a8dfd3cf1aa.tar.gz
zcatch-c1bffb2f297fce988427ae25baef0a8dfd3cf1aa.zip
reload map after mode-change to ensure that all is loaded correctly
Diffstat (limited to 'src/game/server/gamemodes')
-rw-r--r--src/game/server/gamemodes/zcatch.cpp7
-rw-r--r--src/game/server/gamemodes/zcatch.hpp3
2 files changed, 10 insertions, 0 deletions
diff --git a/src/game/server/gamemodes/zcatch.cpp b/src/game/server/gamemodes/zcatch.cpp
index a112ac04..eac8a4d3 100644
--- a/src/game/server/gamemodes/zcatch.cpp
+++ b/src/game/server/gamemodes/zcatch.cpp
@@ -10,12 +10,19 @@ CGameController_zCatch::CGameController_zCatch(class CGameContext *pGameServer)
 : IGameController(pGameServer)
 {
 	m_pGameType = "zCatch";
+	m_OldMode = g_Config.m_SvMode;
 }
 
 void CGameController_zCatch::Tick()
 {
 	DoWincheck();
 	IGameController::Tick();
+	
+	if(m_OldMode != g_Config.m_SvMode)
+	{
+		Server()->MapReload();
+		m_OldMode = g_Config.m_SvMode;
+	}
 }
 
 bool CGameController_zCatch::IsZCatch()
diff --git a/src/game/server/gamemodes/zcatch.hpp b/src/game/server/gamemodes/zcatch.hpp
index 64da71cc..58e43f61 100644
--- a/src/game/server/gamemodes/zcatch.hpp
+++ b/src/game/server/gamemodes/zcatch.hpp
@@ -9,6 +9,9 @@
 
 class CGameController_zCatch : public IGameController
 {
+	private:
+	int m_OldMode;
+	
 	public:
 	CGameController_zCatch(class CGameContext *pGameServer);
 	virtual void Tick();