diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 1496ac527cb..504fa1af191 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -106,7 +106,8 @@ export default class BattleScene extends SceneBase { public gamepadSupport: boolean = true; public enableTouchControls: boolean = false; public enableVibration: boolean = false; - + public abSwapped: boolean = false; + public disableMenu: boolean = false; public gameData: GameData; @@ -189,15 +190,6 @@ export default class BattleScene extends SceneBase { this.nextCommandPhaseQueue = []; } - /** - * Conditionally swaps the ACTION and CANCEL button - * @param standard When true, uses the default values - */ - setGamepadConfirm(standard: boolean) { - this.gamepadKeyConfig[Button.ACTION] = standard ? 0 : 1; - this.gamepadKeyConfig[Button.CANCEL] = standard ? 1 : 0; - } - loadPokemonAtlas(key: string, atlasPath: string, experimental?: boolean) { if (experimental === undefined) experimental = this.experimentalSprites; diff --git a/src/inputs-controller.ts b/src/inputs-controller.ts index bc981deb16d..a68fcd8057d 100644 --- a/src/inputs-controller.ts +++ b/src/inputs-controller.ts @@ -115,8 +115,8 @@ export class InputsController { gamepadMapping[this.player.mapping.LC_W] = Button.LEFT; gamepadMapping[this.player.mapping.LC_E] = Button.RIGHT; gamepadMapping[this.player.mapping.TOUCH] = Button.SUBMIT; - gamepadMapping[this.player.mapping.RC_S] = Button.ACTION; - gamepadMapping[this.player.mapping.RC_E] = Button.CANCEL; + gamepadMapping[this.player.mapping.RC_S] = this.scene.abSwapped ? Button.CANCEL : Button.ACTION; + gamepadMapping[this.player.mapping.RC_E] = this.scene.abSwapped ? Button.ACTION : Button.CANCEL; gamepadMapping[this.player.mapping.SELECT] = Button.STATS; gamepadMapping[this.player.mapping.START] = Button.MENU; gamepadMapping[this.player.mapping.RB] = Button.CYCLE_SHINY; @@ -163,8 +163,8 @@ export class InputsController { [Button.LEFT]: [keyCodes.LEFT, keyCodes.A], [Button.RIGHT]: [keyCodes.RIGHT, keyCodes.D], [Button.SUBMIT]: [keyCodes.ENTER], - [Button.ACTION]: [keyCodes.SPACE, keyCodes.Z], - [Button.CANCEL]: [keyCodes.BACKSPACE, keyCodes.X], + [Button.ACTION]: [keyCodes.SPACE, this.scene.abSwapped ? keyCodes.X : keyCodes.Z], + [Button.CANCEL]: [keyCodes.BACKSPACE, this.scene.abSwapped ? keyCodes.Z : keyCodes.X], [Button.MENU]: [keyCodes.ESC, keyCodes.M], [Button.STATS]: [keyCodes.SHIFT, keyCodes.C], [Button.CYCLE_SHINY]: [keyCodes.R], diff --git a/src/system/settings.ts b/src/system/settings.ts index e5769dfcce9..3805a35bb95 100644 --- a/src/system/settings.ts +++ b/src/system/settings.ts @@ -152,7 +152,7 @@ export function setSetting(scene: BattleScene, setting: Setting, value: integer) scene.gamepadSupport = settingOptions[setting][value] !== 'Disabled'; break; case Setting.Swap_A_and_B: - scene.setGamepadConfirm(settingOptions[setting][value] !== 'Enabled'); + scene.abSwapped = settingOptions[setting][value] !== 'Disabled'; break; case Setting.Touch_Controls: scene.enableTouchControls = settingOptions[setting][value] !== 'Disabled' && hasTouchscreen();