X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=021dfcdc3fc046691115548736f33eff5a07d4d8;hp=05b5fb67aef066db9bfcbddcc85c4960fdb32cd0;hb=de580a24cb58b43281f0b2af3d4d6079d78fcb5d;hpb=32268018f78f1c8bc911a0111fb475ccd1144cbf diff --git a/src/screens.c b/src/screens.c index 05b5fb67..021dfcdc 100644 --- a/src/screens.c +++ b/src/screens.c @@ -3865,6 +3865,8 @@ static void DrawInfoScreen(void) void DrawInfoScreen_FromMainMenu(int nr) { + int fade_mask = REDRAW_FIELD; + if (nr < INFO_MODE_MAIN || nr >= MAX_INFO_MODES) return; @@ -3875,8 +3877,26 @@ void DrawInfoScreen_FromMainMenu(int nr) info_mode = nr; info_screens_from_main = TRUE; + if (redraw_mask & REDRAW_ALL) + fade_mask = REDRAW_ALL; + + if (CheckFadeAll()) + fade_mask = REDRAW_ALL; + + UnmapAllGadgets(); + FadeMenuSoundsAndMusic(); + FadeSetEnterScreen(); + FadeOut(fade_mask); + + FadeSkipNextFadeOut(); + + // needed if different viewport properties defined for info screen + ChangeViewportPropertiesIfNeeded(); + + SetMainBackgroundImage(IMG_BACKGROUND_INFO); + DrawInfoScreen(); }