setup.internal.program_copyright);
}
-int effectiveGameStatus()
-{
- if (game_status == GAME_MODE_INFO && info_mode == INFO_MODE_TITLE)
- return GAME_MODE_TITLE;
-
- return game_status;
-}
-
void DrawTitleScreenImage(int nr, boolean initial)
{
int graphic = getTitleScreenGraphic(nr, initial);
if (CheckTitleScreen(levelset_has_changed))
{
+ game_status_last_screen = GAME_MODE_MAIN;
game_status = GAME_MODE_TITLE;
DrawTitleScreen();
last_sound = SND_UNDEFINED;
last_music = MUS_UNDEFINED;
- if (game_status == GAME_MODE_INFO)
+ if (game_status_last_screen == GAME_MODE_INFO)
{
if (num_title_screens == 0)
{
FadeSoundsAndMusic();
FadeOut(REDRAW_ALL);
+
+ /* only required to update logic for redrawing global border */
+ ClearField();
}
if (tci->is_image)
}
else if (button == MB_MENU_CHOICE)
{
- if (game_status == GAME_MODE_INFO && num_title_screens == 0)
+ if (game_status_last_screen == GAME_MODE_INFO && num_title_screens == 0)
{
FadeSetEnterScreen();
+ game_status = GAME_MODE_INFO;
info_mode = INFO_MODE_MAIN;
+
DrawInfoScreen();
return;
/* force full menu screen redraw after displaying title screens */
redraw_mask = REDRAW_ALL;
- if (game_status == GAME_MODE_INFO)
+ if (game_status_last_screen == GAME_MODE_INFO)
{
+ game_status = GAME_MODE_INFO;
info_mode = INFO_MODE_MAIN;
DrawInfoScreen();
void DrawInfoScreen_TitleScreen()
{
+ game_status_last_screen = GAME_MODE_INFO;
+ game_status = GAME_MODE_TITLE;
+
DrawTitleScreen();
}