mirror of
https://github.com/OpenMW/openmw.git
synced 2025-12-18 11:43:08 +00:00
Controller mode uses LB/RB in journal and spell list to scroll faster
This commit is contained in:
parent
084e4a3155
commit
6629a186b1
2 changed files with 16 additions and 3 deletions
|
|
@ -911,13 +911,21 @@ namespace
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_LEFTSHOULDER) // LB: Previous Page
|
else if (arg.button == SDL_CONTROLLER_BUTTON_LEFTSHOULDER) // LB: Previous Page
|
||||||
{
|
{
|
||||||
if (!mOptionsMode)
|
// Scroll through the list of quests or topics
|
||||||
|
if (mOptionsMode && (mQuestMode || mTopicsMode))
|
||||||
|
setControllerFocusedQuest(std::max(int(mSelectedQuest) - 5, 0));
|
||||||
|
// Page through the journal
|
||||||
|
else if (!mOptionsMode)
|
||||||
notifyPrevPage(getWidget<MyGUI::Widget>(PrevPageBTN));
|
notifyPrevPage(getWidget<MyGUI::Widget>(PrevPageBTN));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_RIGHTSHOULDER) // RB: Next Page
|
else if (arg.button == SDL_CONTROLLER_BUTTON_RIGHTSHOULDER) // RB: Next Page
|
||||||
{
|
{
|
||||||
if (!mOptionsMode)
|
// Scroll through the list of quests or topics
|
||||||
|
if (mOptionsMode && (mQuestMode || mTopicsMode))
|
||||||
|
setControllerFocusedQuest(std::min(mSelectedQuest + 5, mButtons.size() - 1));
|
||||||
|
// Page through the journal
|
||||||
|
else if (!mOptionsMode)
|
||||||
notifyNextPage(getWidget<MyGUI::Widget>(NextPageBTN));
|
notifyNextPage(getWidget<MyGUI::Widget>(NextPageBTN));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -389,14 +389,19 @@ namespace MWGui
|
||||||
else if (button == SDL_CONTROLLER_BUTTON_RIGHTSHOULDER)
|
else if (button == SDL_CONTROLLER_BUTTON_RIGHTSHOULDER)
|
||||||
{
|
{
|
||||||
// Jump to first item in next group
|
// Jump to first item in next group
|
||||||
|
int newFocus = mControllerFocus;
|
||||||
for (int groupIndex : mGroupIndices)
|
for (int groupIndex : mGroupIndices)
|
||||||
{
|
{
|
||||||
if (groupIndex > mControllerFocus)
|
if (groupIndex > mControllerFocus)
|
||||||
{
|
{
|
||||||
mControllerFocus = groupIndex;
|
newFocus = groupIndex;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// If on last group, jump to bottom of whole list
|
||||||
|
if (newFocus == mControllerFocus)
|
||||||
|
newFocus = mButtons.size() - 1;
|
||||||
|
mControllerFocus = newFocus;
|
||||||
}
|
}
|
||||||
|
|
||||||
mControllerFocus = wrap(mControllerFocus, mButtons.size());
|
mControllerFocus = wrap(mControllerFocus, mButtons.size());
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue