{ "game.use_native_sp_graphics_engine", "true" },
{ "game.use_masked_pushing", "false" },
{ "game.use_masked_elements", "false" },
+ { "game.keep_panel_open_when_restarting", "false" },
{ "game.tile_size", "32" },
{ "[player].boring_delay_fixed", "1000" },
}
#endif
+static boolean checkCloseGamePanelDoor(boolean restarting)
+{
+ // do not close game panel door if game restart was triggered by CE action
+ if (game.restart_level)
+ return FALSE;
+
+ // do not close game panel door if configured to keep open when restarting game
+ if (restarting && game.keep_panel_open_when_restarting)
+ return FALSE;
+
+ // always close game panel door in all other cases
+ return TRUE;
+}
+
void InitGame(void)
{
static int last_level_nr = -1;
// cover BD screen before closing game panel door
CoverScreen();
- if (!game.restart_level)
+ if (checkCloseGamePanelDoor(restarting))
CloseDoor(DOOR_CLOSE_1);
if (level_editor_test_game)
boolean use_masked_pushing;
boolean use_masked_elements;
boolean use_masked_elements_initial;
+ boolean keep_panel_open_when_restarting;
int forced_scroll_x;
int forced_scroll_y;
int forced_scroll_delay_value;