X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=1748b1aa9adad2a11c185f7138aeeccd8e553fa6;hb=0d94a23b362fe86e235879506500512a1a6d1486;hp=94eb8895e723a87c1731916810607f865d30370e;hpb=d0409bd76aa84a8745ec2ea6d8a5480c8bea0bcd;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 94eb8895..1748b1aa 100644 --- a/src/screens.c +++ b/src/screens.c @@ -18,7 +18,7 @@ #include "editor.h" #include "files.h" #include "tape.h" -#include "cartoons.h" +#include "anim.h" #include "network.h" #include "init.h" #include "config.h" @@ -278,7 +278,10 @@ static struct { { STR_SPECIAL_RENDERING_OFF, "Off (May show artifacts, fast)" }, { STR_SPECIAL_RENDERING_BITMAP, "Bitmap/Texture mode (slower)" }, +#if DEBUG + // this mode may work under certain conditions, but does not work on Windows { STR_SPECIAL_RENDERING_TARGET, "Target Texture mode (slower)" }, +#endif { STR_SPECIAL_RENDERING_DOUBLE, "Double Texture mode (slower)" }, { NULL, NULL }, @@ -1361,8 +1364,6 @@ void DrawTitleScreen() KeyboardAutoRepeatOff(); HandleTitleScreen(0, 0, 0, 0, MB_MENU_INITIALIZE); - - StopAnimation(); } boolean CheckTitleScreen(boolean levelset_has_changed) @@ -1448,9 +1449,6 @@ void DrawMainMenu() return; } - /* needed if different viewport properties defined for menues */ - ChangeViewportPropertiesIfNeeded(); - if (redraw_mask & REDRAW_ALL) fade_mask = REDRAW_ALL; @@ -1459,7 +1457,10 @@ void DrawMainMenu() FadeOut(fade_mask); - SetDrawtoField(DRAW_BACKBUFFER); + /* needed if different viewport properties defined for menues */ + ChangeViewportPropertiesIfNeeded(); + + SetDrawtoField(DRAW_TO_BACKBUFFER); /* level_nr may have been set to value over handicap with level editor */ if (setup.handicap && level_nr > leveldir_current->handicap_level) @@ -1521,8 +1522,6 @@ void DrawMainMenu() SetMouseCursor(CURSOR_DEFAULT); - InitAnimation(); - OpenDoor(DOOR_CLOSE_1 | DOOR_OPEN_2); } @@ -1663,9 +1662,9 @@ void HandleTitleScreen(int mx, int my, int dx, int dy, int button) sound = getTitleSound(tci); music = getTitleMusic(tci); - if (sound == SND_UNDEFINED || sound != last_sound) - FadeSounds(); - if (music == MUS_UNDEFINED || music != last_music) + if (last_sound != SND_UNDEFINED && sound != last_sound) + FadeSound(last_sound); + if (last_music != MUS_UNDEFINED && music != last_music) FadeMusic(); fading = getTitleFading(tci); @@ -1848,8 +1847,6 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) } else if (pos == MAIN_CONTROL_LEVEL_NUMBER && !button) { - StopAnimation(); - CloseDoor(DOOR_CLOSE_2); SetGameStatus(GAME_MODE_LEVELNR); @@ -1886,8 +1883,6 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) { if (leveldir_first) { - StopAnimation(); - CloseDoor(DOOR_CLOSE_2); SetGameStatus(GAME_MODE_LEVELS); @@ -1905,8 +1900,6 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) } else if (pos == MAIN_CONTROL_SCORES) { - StopAnimation(); - CloseDoor(DOOR_CLOSE_2); SetGameStatus(GAME_MODE_SCORES); @@ -1919,8 +1912,6 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) !strEqual(setup.player_name, "Artsoft")) Request("This level is read only!", REQ_CONFIRM); - StopAnimation(); - CloseDoor(DOOR_CLOSE_2); SetGameStatus(GAME_MODE_EDITOR); @@ -1931,8 +1922,6 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) } else if (pos == MAIN_CONTROL_INFO) { - StopAnimation(); - CloseDoor(DOOR_CLOSE_2); SetGameStatus(GAME_MODE_INFO); @@ -1945,14 +1934,10 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) } else if (pos == MAIN_CONTROL_GAME) { - StopAnimation(); - StartGameActions(options.network, setup.autorecord, level.random_seed); } else if (pos == MAIN_CONTROL_SETUP) { - StopAnimation(); - CloseDoor(DOOR_CLOSE_2); SetGameStatus(GAME_MODE_SETUP); @@ -2209,8 +2194,6 @@ static void DrawInfoScreen_Main() DrawMaskedBorder(fade_mask); FadeIn(fade_mask); - - InitAnimation(); } static void changeSetupValue(int, int, int); @@ -2708,8 +2691,6 @@ void DrawInfoScreen_Elements() HandleInfoScreen_Elements(MB_MENU_INITIALIZE); FadeIn(REDRAW_FIELD); - - InitAnimation(); } void HandleInfoScreen_Elements(int button) @@ -3689,8 +3670,6 @@ static void DrawChooseTree(TreeInfo **ti_ptr) DrawMaskedBorder(fade_mask); FadeIn(fade_mask); - - InitAnimation(); } static void drawChooseTreeList(int first_entry, int num_page_entries, @@ -4155,9 +4134,6 @@ void DrawHallOfFame(int highlight_position) { int fade_mask = REDRAW_FIELD; - /* needed if different viewport properties defined for scores */ - ChangeViewportPropertiesIfNeeded(); - if (CheckIfGlobalBorderHasChanged()) fade_mask = REDRAW_ALL; @@ -4179,7 +4155,8 @@ void DrawHallOfFame(int highlight_position) FadeOut(fade_mask); - InitAnimation(); + /* needed if different viewport properties defined for scores */ + ChangeViewportPropertiesIfNeeded(); PlayMenuSound(); PlayMenuMusic(); @@ -4707,16 +4684,14 @@ static void execSetupGraphics_setRenderingModes() static void execSetupGraphics() { + // update "setup.window_scaling_percent" from list selection + // (in this case, window scaling was changed on setup screen) if (setup_mode == SETUP_MODE_CHOOSE_WINDOW_SIZE) - { - // update "setup.window_scaling_percent" from list selection execSetupGraphics_setWindowSizes(FALSE); - } - else - { - // update list selection from "setup.window_scaling_percent" - execSetupGraphics_setWindowSizes(TRUE); - } + + // update list selection from "setup.window_scaling_percent" + // (window scaling may have changed by resizing the window) + execSetupGraphics_setWindowSizes(TRUE); execSetupGraphics_setScalingTypes(); execSetupGraphics_setRenderingModes(); @@ -5590,7 +5565,6 @@ static Key getSetupKey() } } - DoAnimation(); BackToFront(); } @@ -5890,8 +5864,6 @@ static void DrawSetupScreen_Generic() DrawMaskedBorder(fade_mask); FadeIn(fade_mask); - - InitAnimation(); } void HandleSetupScreen_Generic(int mx, int my, int dx, int dy, int button) @@ -5939,8 +5911,6 @@ void DrawSetupScreen_Input() HandleSetupScreen_Input(0, 0, 0, 0, MB_MENU_INITIALIZE); FadeIn(REDRAW_FIELD); - - InitAnimation(); } static void setJoystickDeviceToNr(char *device_name, int device_nr) @@ -6221,8 +6191,6 @@ void CustomizeKeyboard(int player_nr) FadeIn(REDRAW_FIELD); - InitAnimation(); - while (!finished) { if (PendingEvent()) /* got event */ @@ -6304,14 +6272,12 @@ void CustomizeKeyboard(int player_nr) } } - DoAnimation(); BackToFront(); } /* write new key bindings back to player setup */ setup.input[player_nr].key = custom_key; - StopAnimation(); DrawSetupScreen_Input(); } @@ -6375,7 +6341,6 @@ static boolean CalibrateJoystickMain(int player_nr) FadeIn(REDRAW_FIELD); while (Joystick(player_nr) & JOY_BUTTON); /* wait for released button */ - InitAnimation(); while (result < 0) { @@ -6457,7 +6422,6 @@ static boolean CalibrateJoystickMain(int player_nr) } } - DoAnimation(); BackToFront(); } @@ -6468,8 +6432,6 @@ static boolean CalibrateJoystickMain(int player_nr) new_joystick_xmiddle = joy_x; new_joystick_ymiddle = joy_y; - StopAnimation(); - /* wait until the last pressed button was released */ while (Joystick(player_nr) & JOY_BUTTON) {