changed level story related settings from ".INFO[STORY]" to ".STORY"
authorHolger Schemel <holger.schemel@virtion.de>
Tue, 12 Nov 2024 17:48:47 +0000 (18:48 +0100)
committerHolger Schemel <holger.schemel@virtion.de>
Tue, 12 Nov 2024 18:35:52 +0000 (19:35 +0100)
src/conf_gfx.c
src/conf_mus.c
src/conf_snd.c
src/events.c
src/game.c
src/init.c
src/main.c
src/main.h
src/screens.c
src/screens.h

index a580c3cbef17ba39622bbd45ae4ba9b55369b648..137dfce9ca1acbb2608ccea7331bee61d8043a5f 100644 (file)
@@ -8603,7 +8603,7 @@ struct ConfigInfo image_config[] =
   { "background.INFO[VERSION]",                                UNDEFINED_FILENAME              },
   { "background.INFO[LEVELSET]",                       UNDEFINED_FILENAME              },
   { "background.INFO[LEVEL]",                          UNDEFINED_FILENAME              },
-  { "background.INFO[STORY]",                          UNDEFINED_FILENAME              },
+  { "background.STORY",                                        UNDEFINED_FILENAME              },
   { "background.SETUP",                                        UNDEFINED_FILENAME              },
   { "background.PLAYING",                              UNDEFINED_FILENAME              },
   { "background.DOOR",                                 UNDEFINED_FILENAME              },
@@ -9240,8 +9240,8 @@ struct ConfigInfo image_config[] =
   { "menu.draw_yoffset.INFO[LEVELSET]",                        "0"                             },
   { "menu.draw_xoffset.INFO[LEVEL]",                   "0"                             },
   { "menu.draw_yoffset.INFO[LEVEL]",                   "0"                             },
-  { "menu.draw_xoffset.INFO[STORY]",                   "0"                             },
-  { "menu.draw_yoffset.INFO[STORY]",                   "0"                             },
+  { "menu.draw_xoffset.STORY",                         "0"                             },
+  { "menu.draw_yoffset.STORY",                         "0"                             },
   { "menu.draw_xoffset.SETUP",                         "0"                             },
   { "menu.draw_yoffset.SETUP",                         "0"                             },
   { "menu.draw_xoffset.SETUP[GAME]",                   "0"                             },
@@ -9307,7 +9307,7 @@ struct ConfigInfo image_config[] =
   { "menu.left_spacing.INFO[VERSION]",                 "16"                            },
   { "menu.left_spacing.INFO[LEVELSET]",                        "16"                            },
   { "menu.left_spacing.INFO[LEVEL]",                   "16"                            },
-  { "menu.left_spacing.INFO[STORY]",                   "16"                            },
+  { "menu.left_spacing.STORY",                         "16"                            },
   { "menu.left_spacing.SETUP[INPUT]",                  "16"                            },
 
   { "menu.middle_spacing.SCOREINFO",                   "32"                            },
@@ -9324,7 +9324,7 @@ struct ConfigInfo image_config[] =
   { "menu.right_spacing.INFO[VERSION]",                        "16"                            },
   { "menu.right_spacing.INFO[LEVELSET]",               "16"                            },
   { "menu.right_spacing.INFO[LEVEL]",                  "16"                            },
-  { "menu.right_spacing.INFO[STORY]",                  "16"                            },
+  { "menu.right_spacing.STORY",                                "16"                            },
   { "menu.right_spacing.SETUP[INPUT]",                 "16"                            },
 
   { "menu.top_spacing.SCOREINFO",                      "96"                            },
@@ -9337,7 +9337,7 @@ struct ConfigInfo image_config[] =
   { "menu.top_spacing.INFO[VERSION]",                  "96"                            },
   { "menu.top_spacing.INFO[LEVELSET]",                 "96"                            },
   { "menu.top_spacing.INFO[LEVEL]",                    "96"                            },
-  { "menu.top_spacing.INFO[STORY]",                    "96"                            },
+  { "menu.top_spacing.STORY",                          "96"                            },
   { "menu.top_spacing.SETUP[INPUT]",                   "96"                            },
 
   { "menu.bottom_spacing.SCOREINFO",                   "32"                            },
@@ -9350,7 +9350,7 @@ struct ConfigInfo image_config[] =
   { "menu.bottom_spacing.INFO[VERSION]",               "32"                            },
   { "menu.bottom_spacing.INFO[LEVELSET]",              "32"                            },
   { "menu.bottom_spacing.INFO[LEVEL]",                 "32"                            },
-  { "menu.bottom_spacing.INFO[STORY]",                 "32"                            },
+  { "menu.bottom_spacing.STORY",                       "32"                            },
   { "menu.bottom_spacing.SETUP[INPUT]",                        "32"                            },
 
   { "menu.paragraph_spacing.SCOREINFO",                        "-2"                            },
@@ -9363,7 +9363,7 @@ struct ConfigInfo image_config[] =
   { "menu.paragraph_spacing.INFO[VERSION]",            "-2"                            },
   { "menu.paragraph_spacing.INFO[LEVELSET]",           "-3"                            },
   { "menu.paragraph_spacing.INFO[LEVEL]",              "-3"                            },
-  { "menu.paragraph_spacing.INFO[STORY]",              "-3"                            },
+  { "menu.paragraph_spacing.STORY",                    "-3"                            },
   { "menu.paragraph_spacing.SETUP[INPUT]",             "-1"                            },
 
   { "menu.headline1_spacing.SCOREINFO",                        "-2"                            },
@@ -9376,7 +9376,7 @@ struct ConfigInfo image_config[] =
   { "menu.headline1_spacing.INFO[VERSION]",            "-2"                            },
   { "menu.headline1_spacing.INFO[LEVELSET]",           "-2"                            },
   { "menu.headline1_spacing.INFO[LEVEL]",              "-2"                            },
-  { "menu.headline1_spacing.INFO[STORY]",              "-2"                            },
+  { "menu.headline1_spacing.STORY",                    "-2"                            },
   { "menu.headline1_spacing.SETUP[INPUT]",             "-2"                            },
 
   { "menu.headline2_spacing.SCOREINFO",                        "-1"                            },
@@ -9389,7 +9389,7 @@ struct ConfigInfo image_config[] =
   { "menu.headline2_spacing.INFO[VERSION]",            "-1"                            },
   { "menu.headline2_spacing.INFO[LEVELSET]",           "-1"                            },
   { "menu.headline2_spacing.INFO[LEVEL]",              "-1"                            },
-  { "menu.headline2_spacing.INFO[STORY]",              "-1"                            },
+  { "menu.headline2_spacing.STORY",                    "-1"                            },
   { "menu.headline2_spacing.SETUP[INPUT]",             "-1"                            },
 
   { "menu.line_spacing.SCOREINFO",                     "0"                             },
@@ -9402,7 +9402,7 @@ struct ConfigInfo image_config[] =
   { "menu.line_spacing.INFO[VERSION]",                 "0"                             },
   { "menu.line_spacing.INFO[LEVELSET]",                        "0"                             },
   { "menu.line_spacing.INFO[LEVEL]",                   "0"                             },
-  { "menu.line_spacing.INFO[STORY]",                   "0"                             },
+  { "menu.line_spacing.STORY",                         "0"                             },
   { "menu.line_spacing.SETUP[INPUT]",                  "0"                             },
 
   { "menu.extra_spacing.SCOREINFO",                    "2"                             },
@@ -9415,7 +9415,7 @@ struct ConfigInfo image_config[] =
   { "menu.extra_spacing.INFO[VERSION]",                        "2"                             },
   { "menu.extra_spacing.INFO[LEVELSET]",               "2"                             },
   { "menu.extra_spacing.INFO[LEVEL]",                  "2"                             },
-  { "menu.extra_spacing.INFO[STORY]",                  "2"                             },
+  { "menu.extra_spacing.STORY",                                "2"                             },
   { "menu.extra_spacing.SETUP[INPUT]",                 "2"                             },
 
   { "menu.text.title.x",                               "-1"                            },
index fdf27ea5adafa97119656282ec38284f4e00d188..851d78400ca7eb6021a807906f7006d8d35e348a 100644 (file)
@@ -42,7 +42,7 @@ struct ConfigInfo music_config[] =
   { "background.INFO[VERSION]",                        UNDEFINED_FILENAME              },
   { "background.INFO[LEVELSET]",               UNDEFINED_FILENAME              },
   { "background.INFO[LEVEL]",                  UNDEFINED_FILENAME              },
-  { "background.INFO[STORY]",                  UNDEFINED_FILENAME              },
+  { "background.STORY",                                UNDEFINED_FILENAME              },
   { "background.SETUP",                                UNDEFINED_FILENAME              },
 
   { "background.titlescreen_initial_1",                UNDEFINED_FILENAME              },
index e3bb555fa3772bfc19a1c6fe4cd3aafbba0d02ee..01061b1e1fa85c7b897830253fae4b57f95ec064 100644 (file)
@@ -425,7 +425,7 @@ struct ConfigInfo sound_config[] =
   { "background.INFO[VERSION]",                        UNDEFINED_FILENAME              },
   { "background.INFO[LEVELSET]",               UNDEFINED_FILENAME              },
   { "background.INFO[LEVEL]",                  UNDEFINED_FILENAME              },
-  { "background.INFO[STORY]",                  UNDEFINED_FILENAME              },
+  { "background.STORY",                                UNDEFINED_FILENAME              },
   { "background.SETUP",                                UNDEFINED_FILENAME              },
 
   { "background.titlescreen_initial_1",                UNDEFINED_FILENAME              },
index d4a612edec888ed38cbd955b61f16753837c9c19..3603e32c09b7489e83aacbef0e07d6454dd67cfc 100644 (file)
@@ -1817,6 +1817,10 @@ void HandleButton(int mx, int my, int button, int button_nr)
       HandleInfoScreen(mx, my, 0, 0, button);
       break;
 
+    case GAME_MODE_STORY:
+      HandleStoryScreen(mx, my, 0, 0, button);
+      break;
+
     case GAME_MODE_SETUP:
       HandleSetupScreen(mx, my, 0, 0, button);
       break;
@@ -2444,6 +2448,7 @@ void HandleKey(Key key, int key_status)
     case GAME_MODE_LEVELNR:
     case GAME_MODE_SETUP:
     case GAME_MODE_INFO:
+    case GAME_MODE_STORY:
     case GAME_MODE_SCORES:
     case GAME_MODE_SCOREINFO:
 
@@ -2468,6 +2473,8 @@ void HandleKey(Key key, int key_status)
            HandleSetupScreen(0, 0, 0, 0, MB_MENU_CHOICE);
          else if (game_status == GAME_MODE_INFO)
            HandleInfoScreen(0, 0, 0, 0, (key == KSYM_space ? MB_MENU_CONTINUE : MB_MENU_CHOICE));
+         else if (game_status == GAME_MODE_STORY)
+           HandleStoryScreen(0, 0, 0, 0, (key == KSYM_space ? MB_MENU_CONTINUE : MB_MENU_CHOICE));
          else if (game_status == GAME_MODE_SCORES)
            HandleHallOfFame(0, 0, 0, 0, MB_MENU_CHOICE);
          else if (game_status == GAME_MODE_SCOREINFO)
@@ -2490,6 +2497,8 @@ void HandleKey(Key key, int key_status)
            HandleSetupScreen(0, 0, 0, 0, MB_MENU_LEAVE);
          else if (game_status == GAME_MODE_INFO)
            HandleInfoScreen(0, 0, 0, 0, MB_MENU_LEAVE);
+         else if (game_status == GAME_MODE_STORY)
+           HandleStoryScreen(0, 0, 0, 0, MB_MENU_LEAVE);
          else if (game_status == GAME_MODE_SCORES)
            HandleHallOfFame(0, 0, 0, 0, MB_MENU_LEAVE);
          else if (game_status == GAME_MODE_SCOREINFO)
@@ -2507,6 +2516,8 @@ void HandleKey(Key key, int key_status)
            HandleSetupScreen(0, 0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
          else if (game_status == GAME_MODE_INFO)
            HandleInfoScreen(0, 0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
+         else if (game_status == GAME_MODE_STORY)
+           HandleStoryScreen(0, 0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
          else if (game_status == GAME_MODE_SCORES)
            HandleHallOfFame(0, 0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
          else if (game_status == GAME_MODE_SCOREINFO)
@@ -2524,6 +2535,8 @@ void HandleKey(Key key, int key_status)
            HandleSetupScreen(0, 0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
          else if (game_status == GAME_MODE_INFO)
            HandleInfoScreen(0, 0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
+         else if (game_status == GAME_MODE_STORY)
+           HandleStoryScreen(0, 0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
          else if (game_status == GAME_MODE_SCORES)
            HandleHallOfFame(0, 0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
          else if (game_status == GAME_MODE_SCOREINFO)
@@ -2760,6 +2773,7 @@ void HandleJoystick(void)
     case GAME_MODE_LEVELNR:
     case GAME_MODE_SETUP:
     case GAME_MODE_INFO:
+    case GAME_MODE_STORY:
     case GAME_MODE_SCORES:
     case GAME_MODE_SCOREINFO:
     {
@@ -2780,6 +2794,8 @@ void HandleJoystick(void)
        HandleSetupScreen(0,0,dx,dy, newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
       else if (game_status == GAME_MODE_INFO)
        HandleInfoScreen(0,0,dx,dy, newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
+      else if (game_status == GAME_MODE_STORY)
+       HandleStoryScreen(0,0,dx,dy, newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
       else if (game_status == GAME_MODE_SCORES)
        HandleHallOfFame(0,0,dx,dy, newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
       else if (game_status == GAME_MODE_SCOREINFO)
index c16b3645d0a227a7d667d92e4f61f9ceef00a6da..0842b9d343261fa126bbaac9a8b948df3184d55f 100644 (file)
@@ -3676,15 +3676,15 @@ void InitGame(void)
   int full_lev_fieldy = lev_fieldy + (BorderElement != EL_EMPTY ? 2 : 0);
   int fade_mask = REDRAW_FIELD;
   boolean restarting = (game_status == GAME_MODE_PLAYING);
-  boolean level_info = (game_status == GAME_MODE_INFO);
+  boolean level_story = (game_status == GAME_MODE_STORY);
   boolean emulate_bd = TRUE;   // unless non-BOULDERDASH elements found
   boolean emulate_sp = TRUE;   // unless non-SUPAPLEX    elements found
   int initial_move_dir = MV_DOWN;
   int i, j, x, y;
 
   // show level info before starting the game (if any exists)
-  if (!level_editor_test_game && !restarting && !level_info && !tape.playing)
-    if (ShowInfoScreen_FromInitGame())
+  if (!level_editor_test_game && !restarting && !level_story && !tape.playing)
+    if (ShowStoryScreen_FromInitGame())
       return;
 
   // required to prevent handling game actions when moving doors (via "checkGameEnded()")
index 8e2780e7a3e22ef85ffb46fb2fe9a9e69feb846b..3a063ee7b7beeab28d5d1a940765de2991654583 100644 (file)
@@ -1880,7 +1880,7 @@ static void InitGraphicInfo(void)
     IMG_BACKGROUND_INFO_VERSION,
     IMG_BACKGROUND_INFO_LEVELSET,
     IMG_BACKGROUND_INFO_LEVEL,
-    IMG_BACKGROUND_INFO_STORY,
+    IMG_BACKGROUND_STORY,
     IMG_BACKGROUND_SETUP,
     IMG_BACKGROUND_PLAYING,
     IMG_BACKGROUND_DOOR,
index 4c7e2e4bc70d027f909d901dfc28aad0f97d029e..34da35e498e0f1060c1cd0938d1973f50927ca22 100644 (file)
@@ -9295,6 +9295,7 @@ struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1 + 1] =
   { ".SCOREINFO",              GFX_SPECIAL_ARG_SCOREINFO,              },
   { ".EDITOR",                 GFX_SPECIAL_ARG_EDITOR,                 },
   { ".INFO",                   GFX_SPECIAL_ARG_INFO,                   },
+  { ".STORY",                  GFX_SPECIAL_ARG_STORY,                  },
   { ".SETUP",                  GFX_SPECIAL_ARG_SETUP,                  },
   { ".PLAYING",                        GFX_SPECIAL_ARG_PLAYING,                },
   { ".DOOR",                   GFX_SPECIAL_ARG_DOOR,                   },
index 4422c99e43434f0f360240b283f0cd0689656c91..acaf07feb86909d0d15ed8f88d3c60949217e4b4 100644 (file)
@@ -2820,6 +2820,7 @@ enum
   GFX_SPECIAL_ARG_SCOREINFO,
   GFX_SPECIAL_ARG_EDITOR,
   GFX_SPECIAL_ARG_INFO,
+  GFX_SPECIAL_ARG_STORY,
   GFX_SPECIAL_ARG_SETUP,
   GFX_SPECIAL_ARG_PLAYING,
   GFX_SPECIAL_ARG_DOOR,
@@ -3090,6 +3091,7 @@ enum
 #define GAME_MODE_SCOREINFO            GFX_SPECIAL_ARG_SCOREINFO
 #define GAME_MODE_EDITOR               GFX_SPECIAL_ARG_EDITOR
 #define GAME_MODE_INFO                 GFX_SPECIAL_ARG_INFO
+#define GAME_MODE_STORY                        GFX_SPECIAL_ARG_STORY
 #define GAME_MODE_SETUP                        GFX_SPECIAL_ARG_SETUP
 #define GAME_MODE_PLAYING              GFX_SPECIAL_ARG_PLAYING
 #define GAME_MODE_PSEUDO_DOOR          GFX_SPECIAL_ARG_DOOR
index bb4cb8b8280cfd1f29fe249e5e250583d333dd21..35a2386b84d0361bca3eed963cf697cd777d0e4e 100644 (file)
@@ -4162,7 +4162,7 @@ static int getInfoScreenBackgroundImage_Generic(void)
          info_mode == INFO_MODE_VERSION  ? IMG_BACKGROUND_INFO_VERSION  :
          info_mode == INFO_MODE_LEVELSET ? IMG_BACKGROUND_INFO_LEVELSET :
          info_mode == INFO_MODE_LEVEL    ? IMG_BACKGROUND_INFO_LEVEL    :
-         info_mode == INFO_MODE_STORY    ? IMG_BACKGROUND_INFO_STORY    :
+         info_mode == INFO_MODE_STORY    ? IMG_BACKGROUND_STORY         :
          IMG_BACKGROUND_INFO);
 }
 
@@ -4174,7 +4174,7 @@ static int getInfoScreenBackgroundSound_Generic(void)
          info_mode == INFO_MODE_VERSION  ? SND_BACKGROUND_INFO_VERSION  :
          info_mode == INFO_MODE_LEVELSET ? SND_BACKGROUND_INFO_LEVELSET :
          info_mode == INFO_MODE_LEVEL    ? SND_BACKGROUND_INFO_LEVEL    :
-         info_mode == INFO_MODE_STORY    ? SND_BACKGROUND_INFO_STORY    :
+         info_mode == INFO_MODE_STORY    ? SND_BACKGROUND_STORY         :
          SND_BACKGROUND_INFO);
 }
 
@@ -4186,7 +4186,7 @@ static int getInfoScreenBackgroundMusic_Generic(void)
          info_mode == INFO_MODE_VERSION  ? MUS_BACKGROUND_INFO_VERSION  :
          info_mode == INFO_MODE_LEVELSET ? MUS_BACKGROUND_INFO_LEVELSET :
          info_mode == INFO_MODE_LEVEL    ? MUS_BACKGROUND_INFO_LEVEL    :
-         info_mode == INFO_MODE_STORY    ? MUS_BACKGROUND_INFO_STORY    :
+         info_mode == INFO_MODE_STORY    ? MUS_BACKGROUND_STORY         :
          MUS_BACKGROUND_INFO);
 }
 
@@ -4327,7 +4327,15 @@ static void DrawInfoScreen_GenericScreen(int screen_nr, int num_screens, int use
 
 static void DrawInfoScreen_Generic(void)
 {
-  SetMainBackgroundImageIfDefined(getInfoScreenBackgroundImage_Generic());
+  if (info_mode == INFO_MODE_STORY)
+  {
+    SetMainBackgroundImage(IMG_BACKGROUND_STORY);
+  }
+  else
+  {
+    SetMainBackgroundImage(IMG_BACKGROUND_INFO);
+    SetMainBackgroundImageIfDefined(getInfoScreenBackgroundImage_Generic());
+  }
 
   UnmapAllGadgets();
   FadeInfoSoundsAndMusic();
@@ -4578,7 +4586,12 @@ static void DrawInfoScreen_FromMainMenuOrInitGame(int nr, boolean from_game_stat
 
   CloseDoor(DOOR_CLOSE_2);
 
-  SetGameStatus(GAME_MODE_INFO);
+  if (from_game_status == GAME_MODE_MAIN)
+    SetGameStatus(GAME_MODE_INFO);
+  else if (from_game_status == GAME_MODE_PLAYING)
+    SetGameStatus(GAME_MODE_STORY);
+  else
+    return;
 
   info_mode = nr;
 
@@ -4600,8 +4613,6 @@ static void DrawInfoScreen_FromMainMenuOrInitGame(int nr, boolean from_game_stat
   // needed if different viewport properties defined for info screen
   ChangeViewportPropertiesIfNeeded();
 
-  SetMainBackgroundImage(IMG_BACKGROUND_INFO);
-
   DrawInfoScreen();
 }
 
@@ -4615,7 +4626,7 @@ void DrawInfoScreen_FromInitGame(int nr)
   DrawInfoScreen_FromMainMenuOrInitGame(nr, GAME_MODE_PLAYING);
 }
 
-boolean ShowInfoScreen_FromInitGame(void)
+boolean ShowStoryScreen_FromInitGame(void)
 {
   if (!hasLevelInfo())
     return FALSE;
@@ -4626,6 +4637,19 @@ boolean ShowInfoScreen_FromInitGame(void)
 
   levelset.level_story_shown[level_nr] = TRUE;
 
+  // copy all ".STORY" settings to ".INFO[STORY]", which is internally used to show story
+  menu.draw_xoffset_info[INFO_MODE_STORY]      = menu.draw_xoffset[GAME_MODE_STORY];
+  menu.draw_yoffset_info[INFO_MODE_STORY]      = menu.draw_yoffset[GAME_MODE_STORY];
+  menu.left_spacing_info[INFO_MODE_STORY]      = menu.left_spacing[GAME_MODE_STORY];
+  menu.right_spacing_info[INFO_MODE_STORY]     = menu.right_spacing[GAME_MODE_STORY];
+  menu.top_spacing_info[INFO_MODE_STORY]       = menu.top_spacing[GAME_MODE_STORY];
+  menu.bottom_spacing_info[INFO_MODE_STORY]    = menu.bottom_spacing[GAME_MODE_STORY];
+  menu.paragraph_spacing_info[INFO_MODE_STORY] = menu.paragraph_spacing[GAME_MODE_STORY];
+  menu.headline1_spacing_info[INFO_MODE_STORY] = menu.headline1_spacing[GAME_MODE_STORY];
+  menu.headline2_spacing_info[INFO_MODE_STORY] = menu.headline2_spacing[GAME_MODE_STORY];
+  menu.line_spacing_info[INFO_MODE_STORY]      = menu.line_spacing[GAME_MODE_STORY];
+  menu.extra_spacing_info[INFO_MODE_STORY]     = menu.extra_spacing[GAME_MODE_STORY];
+
   DrawInfoScreen_FromInitGame(INFO_MODE_STORY);
 
   return TRUE;
@@ -4663,6 +4687,11 @@ void HandleInfoScreen(int mx, int my, int dx, int dy, int button)
     HandleInfoScreen_Main(mx, my, dx, dy, button);
 }
 
+void HandleStoryScreen(int mx, int my, int dx, int dy, int button)
+{
+  HandleInfoScreen(mx, my, dx, dy, button);
+}
+
 
 // ============================================================================
 // type name functions
@@ -11399,6 +11428,8 @@ static void HandleScreenGadgets(struct GadgetInfo *gi)
        HandleSetupScreen(0, 0, 0, -1 * SCROLL_LINE, MB_MENU_MARK);
       else if (game_status == GAME_MODE_INFO)
        HandleInfoScreen(0, 0, 0, -1 * SCROLL_LINE, MB_MENU_MARK);
+      else if (game_status == GAME_MODE_STORY)
+       HandleStoryScreen(0, 0, 0, -1 * SCROLL_LINE, MB_MENU_MARK);
       else if (game_status == GAME_MODE_SCORES)
        HandleHallOfFame(0, 0, 0, -1 * SCROLL_LINE, MB_MENU_MARK);
       break;
@@ -11414,6 +11445,8 @@ static void HandleScreenGadgets(struct GadgetInfo *gi)
        HandleSetupScreen(0, 0, 0, +1 * SCROLL_LINE, MB_MENU_MARK);
       else if (game_status == GAME_MODE_INFO)
        HandleInfoScreen(0, 0, 0, +1 * SCROLL_LINE, MB_MENU_MARK);
+      else if (game_status == GAME_MODE_STORY)
+       HandleStoryScreen(0, 0, 0, +1 * SCROLL_LINE, MB_MENU_MARK);
       else if (game_status == GAME_MODE_SCORES)
        HandleHallOfFame(0, 0, 0, +1 * SCROLL_LINE, MB_MENU_MARK);
       break;
@@ -11429,6 +11462,8 @@ static void HandleScreenGadgets(struct GadgetInfo *gi)
        HandleSetupScreen(0, 0, 999, gi->event.item_position, MB_MENU_INITIALIZE);
       else if (game_status == GAME_MODE_INFO)
        HandleInfoScreen(0, 0, 999, gi->event.item_position, MB_MENU_INITIALIZE);
+      else if (game_status == GAME_MODE_STORY)
+       HandleStoryScreen(0, 0, 999, gi->event.item_position, MB_MENU_INITIALIZE);
       else if (game_status == GAME_MODE_SCORES)
        HandleHallOfFame(0, 0, 999, gi->event.item_position, MB_MENU_INITIALIZE);
       break;
index ff05d5f71806ccd5c98db037a7fefbd911d55352..1ea255ae6c97f49ff20e0e989f49745fd22e2b36 100644 (file)
@@ -26,7 +26,7 @@ void DrawHallOfFame(int);
 void DrawScreenAfterAddingSet(char *, int);
 void DrawInfoScreen_FromMainMenu(int);
 void DrawInfoScreen_FromInitGame(int);
-boolean ShowInfoScreen_FromInitGame(void);
+boolean ShowStoryScreen_FromInitGame(void);
 
 void RedrawSetupScreenAfterFullscreenToggle(void);
 void RedrawSetupScreenAfterScreenRotation(int);
@@ -39,6 +39,7 @@ void HandleChooseLevelNr(int, int, int, int, int);
 void HandleHallOfFame(int, int, int, int, int);
 void HandleScoreInfo(int, int, int, int, int);
 void HandleInfoScreen(int, int, int, int, int);
+void HandleStoryScreen(int, int, int, int, int);
 void HandleSetupScreen(int, int, int, int, int);
 void HandleTypeName(Key);
 void HandleGameActions(void);