changed function logic for changing fullscreen/scaling/vsync to match
[rocksndiamonds.git] / src / tools.c
index 4affe1366d5aa2f75718bcf80a83423b3585b7df..6fab5c19b378316e002cc4247bc34fcee288a863 100644 (file)
@@ -9243,24 +9243,30 @@ void PlaySoundSelecting(void)
 #endif
 }
 
-void ToggleFullscreenOrChangeWindowScalingIfNeeded(void)
+void ToggleFullscreenIfNeeded(void)
 {
-  if (setup.fullscreen != video.fullscreen_enabled &&
-      video.fullscreen_available)
-  {
-    SDLSetWindowFullscreen(setup.fullscreen);
+  // if setup and video fullscreen state are already matching, nothing do do
+  if (setup.fullscreen == video.fullscreen_enabled ||
+      !video.fullscreen_available)
+    return;
 
-    // set setup value according to successfully changed fullscreen mode
-    setup.fullscreen = video.fullscreen_enabled;
-  }
-  else if (setup.window_scaling_percent != video.window_scaling_percent &&
-          !video.fullscreen_enabled)
-  {
-    SDLSetWindowScaling(setup.window_scaling_percent);
+  SDLSetWindowFullscreen(setup.fullscreen);
 
-    // set setup value according to successfully changed window scaling
-    setup.window_scaling_percent = video.window_scaling_percent;
-  }
+  // set setup value according to successfully changed fullscreen mode
+  setup.fullscreen = video.fullscreen_enabled;
+}
+
+void ChangeWindowScalingIfNeeded(void)
+{
+  // if setup and video window scaling are already matching, nothing do do
+  if (setup.window_scaling_percent == video.window_scaling_percent ||
+      video.fullscreen_enabled)
+    return;
+
+  SDLSetWindowScaling(setup.window_scaling_percent);
+
+  // set setup value according to successfully changed window scaling
+  setup.window_scaling_percent = video.window_scaling_percent;
 }
 
 void ChangeVsyncModeIfNeeded(void)