From 582751ae42bccf316404549c41159444367bddc8 Mon Sep 17 00:00:00 2001 From: OTHGMars Date: Thu, 29 Sep 2022 03:39:03 -0400 Subject: [PATCH] Resolution change detection. Makes sure that automatic resolution changes resulting from canvas mode switches are applied. --- Templates/BaseGame/game/data/UI/guis/optionsMenu.tscript | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Templates/BaseGame/game/data/UI/guis/optionsMenu.tscript b/Templates/BaseGame/game/data/UI/guis/optionsMenu.tscript index 2c01e62c5..8722f9902 100644 --- a/Templates/BaseGame/game/data/UI/guis/optionsMenu.tscript +++ b/Templates/BaseGame/game/data/UI/guis/optionsMenu.tscript @@ -106,6 +106,7 @@ function OptionsMenu::onOpen(%this) } %this.unappliedChanges.empty(); + $pref::Video::displayDeviceId = ""; OptionsMenuCategoryList.setAsActiveMenuList(); @@ -442,6 +443,11 @@ function populateDisplaySettingsList() %resolution = _makePrettyResString(%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, "", "");