added setup option to show invisible exit in BD engine
authorHolger Schemel <info@artsoft.org>
Mon, 22 Apr 2024 17:03:39 +0000 (19:03 +0200)
committerHolger Schemel <info@artsoft.org>
Mon, 22 Apr 2024 17:03:39 +0000 (19:03 +0200)
src/files.c
src/game_bd/bd_gameplay.c
src/libgame/system.h
src/screens.c

index 53c877712b787c7140744c4de06c1b75a2d7d076..ce6928b7c43514c9bdb8a191107703652a630a6b 100644 (file)
@@ -10771,6 +10771,10 @@ static struct TokenInfo global_setup_tokens[] =
     TYPE_SWITCH,
     &setup.bd_scroll_delay,                    "bd_scroll_delay"
   },
+  {
+    TYPE_SWITCH,
+    &setup.bd_show_invisible_outbox,           "bd_show_invisible_outbox"
+  },
   {
     TYPE_SWITCH3,
     &setup.bd_smooth_movements,                        "bd_smooth_movements"
@@ -11631,6 +11635,7 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->bd_skip_uncovering = FALSE;
   si->bd_skip_hatching = FALSE;
   si->bd_scroll_delay = TRUE;
+  si->bd_show_invisible_outbox = FALSE;
   si->bd_smooth_movements = AUTO;
   si->bd_pushing_graphics = TRUE;
   si->bd_up_down_graphics = TRUE;
index a981c81bcf8c4037d9625b00ae89f55d81c2ce88..7a4d889c051d49dcc237bef31f3181496f00f2d8 100644 (file)
 #include "main_bd.h"
 
 
-// universal settings
-static boolean gd_no_invisible_outbox = FALSE;
-
-
 void gd_game_free(GdGame *game)
 {
   // stop sounds
@@ -572,7 +568,7 @@ static GdGameState gd_game_main_int(GdGame *game, boolean allow_iterate, boolean
   // however it may do nothing if animcycle was not changed.
   if (game->element_buffer && game->gfx_buffer)
     gd_drawcave_game(game->cave, game->element_buffer, game->last_element_buffer, game->gfx_buffer,
-                    game->bonus_life_flash != 0, game->animcycle, gd_no_invisible_outbox);
+                    game->bonus_life_flash != 0, game->animcycle, setup.bd_show_invisible_outbox);
 
   game->state_counter = counter_next;
 
index 19a9747af9fddd1aa0298e83b526dc532d6cb9e7..6706f2014241f2b935cbbb5fedb6e74ffbda1d32 100644 (file)
@@ -1515,6 +1515,7 @@ struct SetupInfo
   boolean bd_skip_uncovering;
   boolean bd_skip_hatching;
   boolean bd_scroll_delay;
+  boolean bd_show_invisible_outbox;
   int bd_smooth_movements;             // not boolean -- can also be "AUTO"
   int bd_pushing_graphics;             // not boolean -- can also be "AUTO"
   int bd_up_down_graphics;             // not boolean -- can also be "AUTO"
index 7360b9c74392f8bfa39d1ba6ce77e6265177b812..ea44e566826723cb041f72e60b1a8f1cbb72d7e0 100644 (file)
@@ -7976,6 +7976,7 @@ static struct TokenInfo setup_info_engines[] =
   { TYPE_YES_NO_AUTO,  &setup.bd_pushing_graphics,     "Use Player Pushing Graphics:"  },
   { TYPE_YES_NO_AUTO,  &setup.bd_up_down_graphics,     "Use Player Up/Down Graphics:"  },
   { TYPE_YES_NO_AUTO,  &setup.bd_skip_falling_sounds,  "Mute Double Falling Sounds:"   },
+  { TYPE_SWITCH,       &setup.bd_show_invisible_outbox,"Show invisible outbox:"        },
   { TYPE_ENTER_LIST,   &execSetupChoosePaletteC64,     "Color Palette (C64):"          },
   { TYPE_STRING,       &bd_palette_c64_text,           ""                              },
   { TYPE_ENTER_LIST,   &execSetupChoosePaletteC64DTV,  "Color Palette (C64DTV):"       },