diff options
Diffstat (limited to 'src/engine/server')
| -rw-r--r-- | src/engine/server/server.cpp | 13 | ||||
| -rw-r--r-- | src/engine/server/server.h | 4 |
2 files changed, 14 insertions, 3 deletions
diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp index 45cec1e4..05e56a74 100644 --- a/src/engine/server/server.cpp +++ b/src/engine/server/server.cpp @@ -178,6 +178,8 @@ CServer::CServer() : m_DemoRecorder(&m_SnapshotDelta) m_pCurrentMapData = 0; m_CurrentMapSize = 0; + + m_MapReload = 0; Init(); } @@ -1039,9 +1041,9 @@ int CServer::Run() int NewTicks = 0; // load new map TODO: don't poll this - if(str_comp(g_Config.m_SvMap, m_aCurrentMap) != 0 || g_Config.m_SvMapReload) + if(str_comp(g_Config.m_SvMap, m_aCurrentMap) != 0 || m_MapReload) { - g_Config.m_SvMapReload = 0; + m_MapReload = 0; // load map if(LoadMap(g_Config.m_SvMap)) @@ -1270,6 +1272,11 @@ void CServer::ConStopRecord(IConsole::IResult *pResult, void *pUser) ((CServer *)pUser)->m_DemoRecorder.Stop(); } +void CServer::ConMapReload(IConsole::IResult *pResult, void *pUser) +{ + ((CServer *)pUser)->m_MapReload = 1; +} + void CServer::ConchainSpecialInfoupdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData) { pfnCallback(pResult, pCallbackUserData); @@ -1290,6 +1297,8 @@ void CServer::RegisterCommands() Console()->Register("record", "s", CFGFLAG_SERVER, ConRecord, this, ""); Console()->Register("stoprecord", "", CFGFLAG_SERVER, ConStopRecord, this, ""); + + Console()->Register("reload", "", CFGFLAG_SERVER, ConMapReload, this, ""); Console()->Chain("sv_name", ConchainSpecialInfoupdate, this); Console()->Chain("password", ConchainSpecialInfoupdate, this); diff --git a/src/engine/server/server.h b/src/engine/server/server.h index 6904085a..7d56bd33 100644 --- a/src/engine/server/server.h +++ b/src/engine/server/server.h @@ -25,7 +25,7 @@ class CSnapIDPool int m_LastTimed; int m_Usage; int m_InUsage; - + public: CSnapIDPool(); @@ -105,6 +105,7 @@ public: int64 m_GameStartTime; //int m_CurrentGameTick; int m_RunServer; + int m_MapReload; char m_aBrowseinfoGametype[16]; int m_BrowseinfoProgression; @@ -181,6 +182,7 @@ public: static void ConShutdown(IConsole::IResult *pResult, void *pUser); static void ConRecord(IConsole::IResult *pResult, void *pUser); static void ConStopRecord(IConsole::IResult *pResult, void *pUser); + static void ConMapReload(IConsole::IResult *pResult, void *pUser); static void ConchainSpecialInfoupdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData); void RegisterCommands(); |