From a5f00662e9ad7f9d093a417ca05c473939b99108 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sun, 12 Mar 2023 13:55:14 +0100 Subject: [PATCH] fixed closing doors simultaneously when aborting restart from level editor --- src/game.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/game.c b/src/game.c index af43302f..643d36e5 100644 --- a/src/game.c +++ b/src/game.c @@ -15639,15 +15639,21 @@ void RequestRestartGame(char *message) boolean has_started_game = hasStartedNetworkGame(); int request_mode = (has_started_game ? REQ_ASK : REQ_CONFIRM); + int door_state = DOOR_CLOSE_1; - if (Request(message, request_mode | REQ_STAY_CLOSED) && has_started_game) + if (Request(message, request_mode | REQ_STAY_OPEN) && has_started_game) { + CloseDoor(door_state); + StartGameActions(network.enabled, setup.autorecord, level.random_seed); } else { - // needed in case of envelope request to close game panel - CloseDoor(DOOR_CLOSE_1); + // if game was invoked from level editor, also close tape recorder door + if (level_editor_test_game) + door_state = DOOR_CLOSE_ALL; + + CloseDoor(door_state); SetGameStatus(GAME_MODE_MAIN); -- 2.34.1