From 3d668080162d9cbc0e926630e9225be5d7144913 Mon Sep 17 00:00:00 2001 From: Greenlamp Date: Thu, 9 May 2024 20:21:26 +0200 Subject: [PATCH] fix visual selection of default gamepad --- src/ui/settings-gamepad-ui-handler.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ui/settings-gamepad-ui-handler.ts b/src/ui/settings-gamepad-ui-handler.ts index 98a3ad991e3..77caa34f301 100644 --- a/src/ui/settings-gamepad-ui-handler.ts +++ b/src/ui/settings-gamepad-ui-handler.ts @@ -117,7 +117,9 @@ export default class SettingsGamepadUiHandler extends UiHandler { super.show(args); const settings: object = localStorage.hasOwnProperty('settingsGamepad') ? JSON.parse(localStorage.getItem('settingsGamepad')) : {}; - Object.keys(settingGamepadDefaults).forEach((setting, s) => this.setOptionCursor(s, settings.hasOwnProperty(setting) ? settings[setting] : settingGamepadDefaults[setting])); + // in the menu, for each line, we set the cursor position for each option, either on the previously selected, or the default value. + // if it's the default gamepad, we always want it by default to be on the very first option. never on "Change" + Object.keys(settingGamepadDefaults).forEach((setting, s) => this.setOptionCursor(s, settings.hasOwnProperty(setting) ? ( setting === SettingGamepad.Default_Controller ? 0 : settings[setting]) : settingGamepadDefaults[setting])); this.settingsContainer.setVisible(true); this.setCursor(0);