mirror of https://github.com/OpenTTD/OpenTTD
Fix 8f3d1ec: "restart" did not always restart your current game
In the sequence: - Load a game - Start a newgame (via console) - Restart a game (via console) Gave you the loaded game back, not the new game.pull/8557/head
parent
fe86bf8bf6
commit
ff89f5f4c6
|
@ -928,6 +928,10 @@ static void MakeNewGameDone()
|
|||
static void MakeNewGame(bool from_heightmap, bool reset_settings)
|
||||
{
|
||||
_game_mode = GM_NORMAL;
|
||||
if (!from_heightmap) {
|
||||
/* "reload" command needs to know what mode we were in. */
|
||||
_file_to_saveload.SetMode(SLO_INVALID, FT_INVALID, DFT_INVALID);
|
||||
}
|
||||
|
||||
ResetGRFConfig(true);
|
||||
|
||||
|
@ -943,6 +947,8 @@ static void MakeNewEditorWorldDone()
|
|||
static void MakeNewEditorWorld()
|
||||
{
|
||||
_game_mode = GM_EDITOR;
|
||||
/* "reload" command needs to know what mode we were in. */
|
||||
_file_to_saveload.SetMode(SLO_INVALID, FT_INVALID, DFT_INVALID);
|
||||
|
||||
ResetGRFConfig(true);
|
||||
|
||||
|
@ -1052,9 +1058,9 @@ void SwitchToMode(SwitchMode new_mode)
|
|||
SwitchToMode(_switch_mode);
|
||||
break;
|
||||
}
|
||||
/* No break here, to enter the next case:
|
||||
* Restart --> 'Random game' with current settings */
|
||||
FALLTHROUGH;
|
||||
|
||||
MakeNewGame(false, new_mode == SM_NEWGAME);
|
||||
break;
|
||||
|
||||
case SM_NEWGAME: // New Game --> 'Random game'
|
||||
if (_network_server) {
|
||||
|
|
Loading…
Reference in New Issue