Quellcode durchsuchen

Resolution change detection.
Makes sure that automatic resolution changes resulting from canvas mode switches are applied.

OTHGMars vor 2 Jahren
Ursprung
Commit
582751ae42
1 geänderte Dateien mit 6 neuen und 0 gelöschten Zeilen
  1. 6 0
      Templates/BaseGame/game/data/UI/guis/optionsMenu.tscript

+ 6 - 0
Templates/BaseGame/game/data/UI/guis/optionsMenu.tscript

@@ -106,6 +106,7 @@ function OptionsMenu::onOpen(%this)
    }
    }
    
    
    %this.unappliedChanges.empty();
    %this.unappliedChanges.empty();
+   $pref::Video::displayDeviceId = "";
    
    
    OptionsMenuCategoryList.setAsActiveMenuList();
    OptionsMenuCategoryList.setAsActiveMenuList();
    
    
@@ -442,6 +443,11 @@ function populateDisplaySettingsList()
       %resolution = _makePrettyResString(%resolution);
       %resolution = _makePrettyResString(%resolution);
    
    
       OptionsMenuSettingsList.addOptionRow("Resolution", "$pref::Video::Resolution", %resolutionList, false, "",  true, "Resolution of the game window", %resolution);
       OptionsMenuSettingsList.addOptionRow("Resolution", "$pref::Video::Resolution", %resolutionList, false, "",  true, "Resolution of the game window", %resolution);
+
+      // If the requested resolution could not be set, mark the control and pref as changed.
+      %resControl = OptionsMenuSettingsList.getObject(OptionsMenuSettingsList.getCount()-1);
+      if (%resControl.getCurrentOption() !$= %resolution)
+         %resControl.onChange();
    }
    }
    
    
    OptionsMenuSettingsList.addOptionBoolRow("VSync", "$pref::Video::enableVerticalSync", $YesNoList, false, "",  true, "", "");
    OptionsMenuSettingsList.addOptionBoolRow("VSync", "$pref::Video::enableVerticalSync", $YesNoList, false, "",  true, "", "");