diff --git a/projects/mtg/include/GameOptions.h b/projects/mtg/include/GameOptions.h index d41eff737..89b3f462b 100644 --- a/projects/mtg/include/GameOptions.h +++ b/projects/mtg/include/GameOptions.h @@ -29,10 +29,10 @@ public: MUSICVOLUME, SFXVOLUME, DIFFICULTY, - PLASMAEFFECT, OSD, CLOSEDHAND, HANDDIRECTION, + REVERSETRIGGERS, INTERRUPT_SECONDS, //My interrupts INTERRUPTMYSPELLS, diff --git a/projects/mtg/src/ActionStack.cpp b/projects/mtg/src/ActionStack.cpp index 2f43634d6..9b8b19d4f 100644 --- a/projects/mtg/src/ActionStack.cpp +++ b/projects/mtg/src/ActionStack.cpp @@ -684,12 +684,13 @@ void ActionStack::endOfInterruption(){ bool ActionStack::CheckUserInput(u32 key){ + u32 trigger = (options[Options::REVERSETRIGGERS].number ? PSP_CTRL_RTRIGGER : PSP_CTRL_LTRIGGER); if (mode == ACTIONSTACK_STANDARD){ if (askIfWishesToInterrupt){ if (PSP_CTRL_CROSS == key){ setIsInterrupting(askIfWishesToInterrupt); return true; - }else if ((PSP_CTRL_CIRCLE == key) || (PSP_CTRL_RTRIGGER == key) ){ + }else if ((PSP_CTRL_CIRCLE == key) || (trigger == key) ){ cancelInterruptOffer(); return true; }else if ((PSP_CTRL_SQUARE == key)){ diff --git a/projects/mtg/src/CardSelector.cpp b/projects/mtg/src/CardSelector.cpp index f7d96f3d1..79caa8206 100644 --- a/projects/mtg/src/CardSelector.cpp +++ b/projects/mtg/src/CardSelector.cpp @@ -131,7 +131,7 @@ bool CardSelector::CheckUserInput(u32 key) case PSP_CTRL_DOWN: active = closest(cards, limitor, active); break; - case PSP_CTRL_LTRIGGER: + case PSP_CTRL_TRIANGLE: showBig = !showBig; return true; default: diff --git a/projects/mtg/src/GameStateOptions.cpp b/projects/mtg/src/GameStateOptions.cpp index 3f3f1607f..dd48ac7c6 100644 --- a/projects/mtg/src/GameStateOptions.cpp +++ b/projects/mtg/src/GameStateOptions.cpp @@ -45,6 +45,7 @@ void GameStateOptions::Start() optionsList = NEW OptionsList("Game"); optionsList->Add(NEW OptionClosedHand(Options::CLOSEDHAND, "Closed hand")); optionsList->Add(NEW OptionHandDirection(Options::HANDDIRECTION, "Hand direction")); + optionsList->Add(NEW OptionInteger(Options::REVERSETRIGGERS, "Reverse left and right triggers")); optionsTabs->Add(optionsList); optionsList = NEW OptionsList("Profiles"); diff --git a/projects/mtg/src/GuiCombat.cpp b/projects/mtg/src/GuiCombat.cpp index 889383f2b..c7bb2bdaf 100644 --- a/projects/mtg/src/GuiCombat.cpp +++ b/projects/mtg/src/GuiCombat.cpp @@ -232,7 +232,14 @@ bool GuiCombat::CheckUserInput(u32 key) addOne(active, step); break; case PSP_CTRL_SQUARE: + active = activeAtk = NULL; cursor_pos = OK; + break; case PSP_CTRL_RTRIGGER: + if (!options[Options::REVERSETRIGGERS].number) return false; + active = activeAtk = NULL; cursor_pos = OK; + break; + case PSP_CTRL_LTRIGGER: + if (options[Options::REVERSETRIGGERS].number) return false; active = activeAtk = NULL; cursor_pos = OK; break; } diff --git a/projects/mtg/src/GuiHand.cpp b/projects/mtg/src/GuiHand.cpp index 864467d9f..a96d40877 100644 --- a/projects/mtg/src/GuiHand.cpp +++ b/projects/mtg/src/GuiHand.cpp @@ -134,8 +134,7 @@ void GuiHandSelf::Repos() bool GuiHandSelf::CheckUserInput(u32 key) { - //u32 trigger = options[REVERSE_TRIGGERS]; - u32 trigger = PSP_CTRL_LTRIGGER; + u32 trigger = (options[Options::REVERSETRIGGERS].number ? PSP_CTRL_LTRIGGER : PSP_CTRL_RTRIGGER); if (trigger == key) { state = (Open == state ? Closed : Open); diff --git a/projects/mtg/src/MTGGamePhase.cpp b/projects/mtg/src/MTGGamePhase.cpp index dbc62f1d6..ad535da82 100644 --- a/projects/mtg/src/MTGGamePhase.cpp +++ b/projects/mtg/src/MTGGamePhase.cpp @@ -40,7 +40,8 @@ void MTGGamePhase::Update(float dt){ bool MTGGamePhase::CheckUserInput(u32 key){ GameObserver * game = GameObserver::GetInstance(); if (activeState == INACTIVE){ - if ((PSP_CTRL_RTRIGGER == key) && game->currentActionPlayer == game->currentlyActing()) + u32 trigger = (options[Options::REVERSETRIGGERS].number ? PSP_CTRL_RTRIGGER : PSP_CTRL_LTRIGGER); + if ((trigger == key) && game->currentActionPlayer == game->currentlyActing()) { activeState = ACTIVE; game->userRequestNextGamePhase();