diff options
author | Patric Stout <truebrain@openttd.org> | 2021-01-08 16:23:07 +0100 |
---|---|---|
committer | Patric Stout <github@truebrain.nl> | 2021-01-11 20:11:08 +0100 |
commit | 760b0cdc114864e2987a1e9c2b8369cea603a04e (patch) | |
tree | 52766049cb804f51bb093e777237b58d231f13a4 | |
parent | ff89f5f4c6deff65fab5f08f32e6d2bb07c7a632 (diff) | |
download | openttd-760b0cdc114864e2987a1e9c2b8369cea603a04e.tar.xz |
Change: change console command "restart" and add "reload"
The current "restart" command is now called "reload", as that is
what it does.
The old "restart" command is now called "restart", as that is what
it did.
As this has not been in any official release yet, this shouldn't
harm any kitten.
-rw-r--r-- | src/console_cmds.cpp | 18 | ||||
-rw-r--r-- | src/openttd.cpp | 5 | ||||
-rw-r--r-- | src/openttd.h | 1 |
3 files changed, 22 insertions, 2 deletions
diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 356cfc7ab..e1cabd88f 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -1073,6 +1073,23 @@ DEF_CONSOLE_CMD(ConRestart) return true; } +DEF_CONSOLE_CMD(ConReload) +{ + if (argc == 0) { + IConsoleHelp("Reload game. Usage: 'reload'"); + IConsoleHelp("Reloads a game."); + IConsoleHelp(" * if you started from a savegame / scenario / heightmap, that exact same savegame / scenario / heightmap will be loaded."); + IConsoleHelp(" * if you started from a new game, this acts the same as 'restart'."); + return true; + } + + /* Don't copy the _newgame pointers to the real pointers, so call SwitchToMode directly */ + _settings_game.game_creation.map_x = MapLogX(); + _settings_game.game_creation.map_y = FindFirstBit(MapSizeY()); + _switch_mode = SM_RELOADGAME; + return true; +} + /** * Print a text buffer line by line to the console. Lines are separated by '\n'. * @param buf The buffer to print. @@ -2113,6 +2130,7 @@ void IConsoleStdLibRegister() IConsoleCmdRegister("list_aliases", ConListAliases); IConsoleCmdRegister("newgame", ConNewGame); IConsoleCmdRegister("restart", ConRestart); + IConsoleCmdRegister("reload", ConReload); IConsoleCmdRegister("getseed", ConGetSeed); IConsoleCmdRegister("getdate", ConGetDate); IConsoleCmdRegister("getsysdate", ConGetSysDate); diff --git a/src/openttd.cpp b/src/openttd.cpp index 805e591b9..9d28a3fe5 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -1046,9 +1046,9 @@ void SwitchToMode(SwitchMode new_mode) MakeNewEditorWorld(); break; - case SM_RESTARTGAME: // Restart --> Current settings preserved + case SM_RELOADGAME: // Reload with what-ever started the game if (_file_to_saveload.abstract_ftype == FT_SAVEGAME || _file_to_saveload.abstract_ftype == FT_SCENARIO) { - /* Restart current savegame/scenario */ + /* Reload current savegame/scenario */ _switch_mode = _game_mode == GM_EDITOR ? SM_LOAD_SCENARIO : SM_LOAD_GAME; SwitchToMode(_switch_mode); break; @@ -1062,6 +1062,7 @@ void SwitchToMode(SwitchMode new_mode) MakeNewGame(false, new_mode == SM_NEWGAME); break; + case SM_RESTARTGAME: // Restart --> 'Random game' with current settings case SM_NEWGAME: // New Game --> 'Random game' if (_network_server) { seprintf(_network_game_info.map_name, lastof(_network_game_info.map_name), "Random Map"); diff --git a/src/openttd.h b/src/openttd.h index 6568881c4..62651fe7f 100644 --- a/src/openttd.h +++ b/src/openttd.h @@ -25,6 +25,7 @@ enum SwitchMode { SM_NONE, SM_NEWGAME, ///< New Game --> 'Random game'. SM_RESTARTGAME, ///< Restart --> 'Random game' with current settings. + SM_RELOADGAME, ///< Reload the savegame / scenario / heightmap you started the game with. SM_EDITOR, ///< Switch to scenario editor. SM_LOAD_GAME, ///< Load game, Play Scenario. SM_MENU, ///< Switch to game intro menu. |