X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=5752a49d0e2308913a6bc3971af728be68904a6c;hp=7181f75029922116de9eb5cfa60d19b3f8b0404c;hb=fd054e61ac10b62524efcac1e8438e432cded86a;hpb=aafc5189b2b9550dd03dfcc7213e28bec2bca63b diff --git a/src/screens.c b/src/screens.c index 7181f750..5752a49d 100644 --- a/src/screens.c +++ b/src/screens.c @@ -1394,6 +1394,8 @@ void DrawMainMenu() /* needed if last screen was the playing screen, invoked from level editor */ if (level_editor_test_game) { + CloseDoor(DOOR_CLOSE_ALL); + SetGameStatus(GAME_MODE_EDITOR); DrawLevelEd(); @@ -2155,8 +2157,6 @@ static void DrawInfoScreen_Main() FreeScreenGadgets(); CreateScreenGadgets(); - CloseDoor(DOOR_CLOSE_2); - /* (needed after displaying title screens which disable auto repeat) */ KeyboardAutoRepeatOn(); @@ -2166,10 +2166,10 @@ static void DrawInfoScreen_Main() ChangeViewportPropertiesIfNeeded(); - OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW); - ClearField(); + OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW); + DrawTextSCentered(mSY - SY + 16, FONT_TITLE_1, "Info Screen"); info_info = info_info_main; @@ -2191,11 +2191,6 @@ static void DrawInfoScreen_Main() PlayMenuSound(); PlayMenuMusic(); -#if 1 - // needed after returning from title screens with different window size - OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW); -#endif - DrawMaskedBorder(fade_mask); FadeIn(fade_mask); @@ -3667,14 +3662,12 @@ static void DrawChooseTree(TreeInfo **ti_ptr) FreeScreenGadgets(); CreateScreenGadgets(); - CloseDoor(DOOR_CLOSE_2); - FadeOut(fade_mask); - OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW); - ClearField(); + OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW); + HandleChooseTree(0, 0, 0, 0, MB_MENU_INITIALIZE, ti_ptr); MapScreenTreeGadgets(*ti_ptr); @@ -4153,9 +4146,6 @@ void DrawHallOfFame(int highlight_position) { int fade_mask = REDRAW_FIELD; - /* required before door position may be changed in next step */ - CloseDoor(DOOR_CLOSE_ALL); - /* needed if different viewport properties defined for scores */ ChangeViewportPropertiesIfNeeded(); @@ -5780,17 +5770,15 @@ static void DrawSetupScreen_Generic() FreeScreenGadgets(); CreateScreenGadgets(); - CloseDoor(DOOR_CLOSE_2); - if (redraw_mask & REDRAW_ALL) redraw_all = TRUE; FadeOut(fade_mask); - OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW); - ClearField(); + OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW); + if (setup_mode == SETUP_MODE_MAIN) { setup_info = setup_info_main;