Changeset - r25620:86e7c867add2
[Not reviewed]
master
0 1 0
Patric Stout - 3 years ago 2021-06-10 18:11:50
truebrain@openttd.org
Change: allow pause/unpause console command in single player too (#9342)
1 file changed with 27 insertions and 4 deletions:
0 comments (0 inline, 0 general)
src/console_cmds.cpp
Show inline comments
 
@@ -160,11 +160,24 @@ DEF_CONSOLE_HOOK(ConHookNoNetwork)
 
	return CHR_ALLOW;
 
}
 

	
 
/**
 
 * Check if are either in singleplayer or a server.
 
 * @return True iff we are either in singleplayer or a server.
 
 */
 
DEF_CONSOLE_HOOK(ConHookServerOrNoNetwork)
 
{
 
	if (_networking && !_network_server) {
 
		if (echo) IConsoleError("This command is only available to a network server.");
 
		return CHR_DISALLOW;
 
	}
 
	return CHR_ALLOW;
 
}
 

	
 
DEF_CONSOLE_HOOK(ConHookNewGRFDeveloperTool)
 
{
 
	if (_settings_client.gui.newgrf_developer_tools) {
 
		if (_game_mode == GM_MENU) {
 
			if (echo) IConsoleError("This command is only available in game and editor.");
 
			if (echo) IConsoleError("This command is only available in-game and in the editor.");
 
			return CHR_DISALLOW;
 
		}
 
		return ConHookNoNetwork(echo);
 
@@ -209,7 +222,7 @@ DEF_CONSOLE_CMD(ConResetEnginePool)
 
	}
 

	
 
	if (_game_mode == GM_MENU) {
 
		IConsoleError("This command is only available in game and editor.");
 
		IConsoleError("This command is only available in-game and in the editor.");
 
		return true;
 
	}
 

	
 
@@ -622,6 +635,11 @@ DEF_CONSOLE_CMD(ConPauseGame)
 
		return true;
 
	}
 

	
 
	if (_game_mode == GM_MENU) {
 
		IConsoleError("This command is only available in-game and in the editor.");
 
		return true;
 
	}
 

	
 
	if ((_pause_mode & PM_PAUSED_NORMAL) == PM_UNPAUSED) {
 
		DoCommandP(0, PM_PAUSED_NORMAL, 1, CMD_PAUSE);
 
		if (!_networking) IConsolePrint(CC_DEFAULT, "Game paused.");
 
@@ -639,6 +657,11 @@ DEF_CONSOLE_CMD(ConUnpauseGame)
 
		return true;
 
	}
 

	
 
	if (_game_mode == GM_MENU) {
 
		IConsoleError("This command is only available in-game and in the editor.");
 
		return true;
 
	}
 

	
 
	if ((_pause_mode & PM_PAUSED_NORMAL) != PM_UNPAUSED) {
 
		DoCommandP(0, PM_PAUSED_NORMAL, 0, CMD_PAUSE);
 
		if (!_networking) IConsolePrint(CC_DEFAULT, "Game unpaused.");
 
@@ -2393,8 +2416,8 @@ void IConsoleStdLibRegister()
 
	IConsole::CmdRegister("unban",                   ConUnBan,            ConHookServerOnly);
 
	IConsole::CmdRegister("banlist",                 ConBanList,          ConHookServerOnly);
 

	
 
	IConsole::CmdRegister("pause",                   ConPauseGame,        ConHookServerOnly);
 
	IConsole::CmdRegister("unpause",                 ConUnpauseGame,      ConHookServerOnly);
 
	IConsole::CmdRegister("pause",                   ConPauseGame,        ConHookServerOrNoNetwork);
 
	IConsole::CmdRegister("unpause",                 ConUnpauseGame,      ConHookServerOrNoNetwork);
 

	
 
	IConsole::CmdRegister("company_pw",              ConCompanyPassword,  ConHookNeedNetwork);
 
	IConsole::AliasRegister("company_password",      "company_pw %+");
0 comments (0 inline, 0 general)