This fixes a bug in commit
90028d7d. It occurs when "ask on game over"
is disabled, the player has died in a game and a key to restart the
game is pressed (like "restart game", "replay & pause before end" or
"quick load game"), which causes the newly started game to immediately
freeze (although it can still be stopped with the "space" or "escape"
key).
int initial_move_dir = MV_DOWN;
int i, j, x, y;
+ // required to prevent handling game actions when moving doors (via "checkGameEnded()")
+ game.InitGameRequested = TRUE;
+
// required here to update video display before fading (FIX THIS)
DrawMaskedBorder(REDRAW_DOOR_2);
}
SetPlayfieldMouseCursorEnabled(!game.use_mouse_actions);
+
+ game.InitGameRequested = FALSE;
}
void UpdateEngineValues(int actual_scroll_x, int actual_scroll_y,
boolean checkGameEnded(void)
{
+ // required to prevent handling game actions when moving doors (during "InitGame()")
+ if (game.InitGameRequested)
+ return FALSE;
+
return (checkGameSolved() || checkGameFailed());
}
int LevelSolved_CountingHealth;
boolean RestartGameRequested;
+ boolean InitGameRequested;
};
struct PlayerInfo