Browse Source

Enable D-Pad / Left stick navigation in stores

pull/1234/head
Gleb Mazovetskiy 5 years ago committed by Anders Jenbo
parent
commit
f7b5fbbdc7
  1. 2
      SourceX/controls/game_controls.cpp
  2. 12
      SourceX/controls/plrctrls.cpp

2
SourceX/controls/game_controls.cpp

@ -315,7 +315,7 @@ bool GetGameAction(const SDL_Event &event, ControllerButtonEvent ctrl_event, Gam
// DPad navigation is handled separately for these.
if (gmenu_is_active() || questlog)
if (gmenu_is_active() || questlog || stextflag != STORE_NONE)
{
switch (ctrl_event.button) {
case ControllerButton_BUTTON_DPAD_UP:

12
SourceX/controls/plrctrls.cpp

@ -832,6 +832,16 @@ void QuestLogMove(AxisDirection move_dir)
QuestlogDown();
}
void StoreMove(AxisDirection move_dir)
{
static AxisDirectionRepeater repeater;
move_dir = repeater.Get(move_dir);
if (move_dir.y == AxisDirectionY_UP)
STextUp();
else if (move_dir.y == AxisDirectionY_DOWN)
STextDown();
}
typedef void (*HandleLeftStickOrDPadFn)(dvl::AxisDirection);
HandleLeftStickOrDPadFn GetLeftStickOrDPadGameUIHandler()
@ -846,6 +856,8 @@ HandleLeftStickOrDPadFn GetLeftStickOrDPadGameUIHandler()
return &SpellBookMove;
} else if (questlog) {
return &QuestLogMove;
} else if (stextflag != STORE_NONE) {
return &StoreMove;
}
return NULL;
}

Loading…
Cancel
Save