diff options
| author | oy <Tom_Adams@web.de> | 2012-01-10 00:49:31 +0100 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2012-01-10 00:49:31 +0100 |
| commit | dfe91338f03534a6c8ed596f16742e7a1617d78e (patch) | |
| tree | 4f2f93488745628c56dbd4d29d8b482dc584a724 /src/game/server/gamecontext.cpp | |
| parent | 9251796c3a8e3f31f9aa52ef84b9e0ce475d2f9b (diff) | |
| download | zcatch-dfe91338f03534a6c8ed596f16742e7a1617d78e.tar.gz zcatch-dfe91338f03534a6c8ed596f16742e7a1617d78e.zip | |
added pause command. Closes #15
Diffstat (limited to 'src/game/server/gamecontext.cpp')
| -rw-r--r-- | src/game/server/gamecontext.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/game/server/gamecontext.cpp b/src/game/server/gamecontext.cpp index fdd78f60..87b9b3b7 100644 --- a/src/game/server/gamecontext.cpp +++ b/src/game/server/gamecontext.cpp @@ -1036,6 +1036,16 @@ void CGameContext::ConTuneDump(IConsole::IResult *pResult, void *pUserData) } } +void CGameContext::ConPause(IConsole::IResult *pResult, void *pUserData) +{ + CGameContext *pSelf = (CGameContext *)pUserData; + + if(pSelf->m_pController->IsGameOver()) + return; + + pSelf->m_World.m_Paused ^= 1; +} + void CGameContext::ConChangeMap(IConsole::IResult *pResult, void *pUserData) { CGameContext *pSelf = (CGameContext *)pUserData; @@ -1409,6 +1419,7 @@ void CGameContext::OnConsoleInit() Console()->Register("tune_reset", "", CFGFLAG_SERVER, ConTuneReset, this, "Reset tuning"); Console()->Register("tune_dump", "", CFGFLAG_SERVER, ConTuneDump, this, "Dump tuning"); + Console()->Register("pause", "", CFGFLAG_SERVER, ConPause, this, "Pause/unpause game"); Console()->Register("change_map", "?r", CFGFLAG_SERVER|CFGFLAG_STORE, ConChangeMap, this, "Change map"); Console()->Register("restart", "?i", CFGFLAG_SERVER|CFGFLAG_STORE, ConRestart, this, "Restart in x seconds (0 = abort)"); Console()->Register("broadcast", "r", CFGFLAG_SERVER, ConBroadcast, this, "Broadcast message"); |