(svn r1648) -Fix: server can now pause and unpause a game through the console. Use 'pause' and 'unpause'

This commit is contained in:
darkvater 2005-01-24 21:33:44 +00:00
parent 6151c1044a
commit e05f961eed
3 changed files with 29 additions and 3 deletions

View File

@ -379,6 +379,28 @@ DEF_CONSOLE_CMD(ConBanList)
return NULL; return NULL;
} }
DEF_CONSOLE_CMD(ConPauseGame)
{
if (_pause == 0) {
DoCommandP(0, 1, 0, NULL, CMD_PAUSE);
IConsolePrint(_iconsole_color_default, "Game paused.");
} else
IConsolePrint(_iconsole_color_default, "Game is already paused.");
return NULL;
}
DEF_CONSOLE_CMD(ConUnPauseGame)
{
if (_pause != 0) {
DoCommandP(0, 0, 0, NULL, CMD_PAUSE);
IConsolePrint(_iconsole_color_default, "Game unpaused.");
} else
IConsolePrint(_iconsole_color_default, "Game is already unpaused.");
return NULL;
}
DEF_CONSOLE_CMD(ConRcon) DEF_CONSOLE_CMD(ConRcon)
{ {
if (argc < 3) { if (argc < 3) {
@ -1264,6 +1286,10 @@ void IConsoleStdLibRegister(void)
IConsoleCmdHook("unban", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient); IConsoleCmdHook("unban", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
IConsoleCmdRegister("banlist", ConBanList); IConsoleCmdRegister("banlist", ConBanList);
IConsoleCmdHook("banlist", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient); IConsoleCmdHook("banlist", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
IConsoleCmdRegister("pause", ConPauseGame);
IConsoleCmdHook("pause", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
IConsoleCmdRegister("unpause", ConUnPauseGame);
IConsoleCmdHook("unpause", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
IConsoleAliasRegister("clean_company", "reset_company %A"); IConsoleAliasRegister("clean_company", "reset_company %A");

View File

@ -175,7 +175,7 @@ int32 CmdChangePresidentName(int x, int y, uint32 flags, uint32 p1, uint32 p2)
int32 CmdPause(int x, int y, uint32 flags, uint32 p1, uint32 p2) int32 CmdPause(int x, int y, uint32 flags, uint32 p1, uint32 p2)
{ {
if (flags & DC_EXEC) { if (flags & DC_EXEC) {
_pause += p1?1:-1; _pause += (p1 == 1) ? 1 : -1;
if (_pause == (byte)-1) _pause = 0; if (_pause == (byte)-1) _pause = 0;
InvalidateWindow(WC_STATUS_BAR, 0); InvalidateWindow(WC_STATUS_BAR, 0);
InvalidateWindow(WC_MAIN_TOOLBAR, 0); InvalidateWindow(WC_MAIN_TOOLBAR, 0);