mirror of
https://github.com/OpenMW/openmw.git
synced 2025-10-20 16:16:36 +00:00
Use wrap helper function to simplify some controller handler logic
This commit is contained in:
parent
f03f242e4a
commit
23c733ef94
6 changed files with 13 additions and 50 deletions
|
@ -488,10 +488,7 @@ namespace MWGui
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
mButtons[mControllerFocus]->setStateSelected(false);
|
mButtons[mControllerFocus]->setStateSelected(false);
|
||||||
if (mControllerFocus == 0)
|
mControllerFocus = wrap(mControllerFocus - 1, mButtons.size());
|
||||||
mControllerFocus = mButtons.size() - 1;
|
|
||||||
else
|
|
||||||
mControllerFocus--;
|
|
||||||
mButtons[mControllerFocus]->setStateSelected(true);
|
mButtons[mControllerFocus]->setStateSelected(true);
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_DOWN)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_DOWN)
|
||||||
|
@ -502,10 +499,7 @@ namespace MWGui
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
mButtons[mControllerFocus]->setStateSelected(false);
|
mButtons[mControllerFocus]->setStateSelected(false);
|
||||||
if (mControllerFocus == mButtons.size() - 1)
|
mControllerFocus = wrap(mControllerFocus + 1, mButtons.size());
|
||||||
mControllerFocus = 0;
|
|
||||||
else
|
|
||||||
mControllerFocus++;
|
|
||||||
mButtons[mControllerFocus]->setStateSelected(true);
|
mButtons[mControllerFocus]->setStateSelected(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -715,19 +709,13 @@ namespace MWGui
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_LEFT)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_LEFT)
|
||||||
{
|
{
|
||||||
mButtons[mControllerFocus]->setStateSelected(false);
|
mButtons[mControllerFocus]->setStateSelected(false);
|
||||||
if (mControllerFocus == 0)
|
mControllerFocus = wrap(mControllerFocus - 1, mButtons.size());
|
||||||
mControllerFocus = mButtons.size() - 1;
|
|
||||||
else
|
|
||||||
mControllerFocus--;
|
|
||||||
mButtons[mControllerFocus]->setStateSelected(true);
|
mButtons[mControllerFocus]->setStateSelected(true);
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_RIGHT)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_RIGHT)
|
||||||
{
|
{
|
||||||
mButtons[mControllerFocus]->setStateSelected(false);
|
mButtons[mControllerFocus]->setStateSelected(false);
|
||||||
if (mControllerFocus == mButtons.size() - 1)
|
mControllerFocus = wrap(mControllerFocus + 1, mButtons.size());
|
||||||
mControllerFocus = 0;
|
|
||||||
else
|
|
||||||
mControllerFocus++;
|
|
||||||
mButtons[mControllerFocus]->setStateSelected(true);
|
mButtons[mControllerFocus]->setStateSelected(true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -183,19 +183,13 @@ namespace MWGui
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_UP)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_UP)
|
||||||
{
|
{
|
||||||
mButtons[mControllerFocus]->setStateSelected(false);
|
mButtons[mControllerFocus]->setStateSelected(false);
|
||||||
if (mControllerFocus == 0)
|
mControllerFocus = wrap(mControllerFocus - 1, mButtons.size());
|
||||||
mControllerFocus = mButtons.size() - 1;
|
|
||||||
else
|
|
||||||
mControllerFocus--;
|
|
||||||
mButtons[mControllerFocus]->setStateSelected(true);
|
mButtons[mControllerFocus]->setStateSelected(true);
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_DOWN)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_DOWN)
|
||||||
{
|
{
|
||||||
mButtons[mControllerFocus]->setStateSelected(false);
|
mButtons[mControllerFocus]->setStateSelected(false);
|
||||||
if (mControllerFocus == mButtons.size() - 1)
|
mControllerFocus = wrap(mControllerFocus + 1, mButtons.size());
|
||||||
mControllerFocus = 0;
|
|
||||||
else
|
|
||||||
mControllerFocus++;
|
|
||||||
mButtons[mControllerFocus]->setStateSelected(true);
|
mButtons[mControllerFocus]->setStateSelected(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -764,9 +764,7 @@ namespace
|
||||||
{
|
{
|
||||||
// Scroll through the list of quests or topics
|
// Scroll through the list of quests or topics
|
||||||
mButtons[mSelectedQuest]->setStateSelected(false);
|
mButtons[mSelectedQuest]->setStateSelected(false);
|
||||||
mSelectedQuest--;
|
mSelectedQuest = MWGui::wrap(mSelectedQuest - 1, mButtons.size());
|
||||||
if (mSelectedQuest < 0)
|
|
||||||
mSelectedQuest = mButtons.size() - 1;
|
|
||||||
mButtons[mSelectedQuest]->setStateSelected(true);
|
mButtons[mSelectedQuest]->setStateSelected(true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -777,9 +775,7 @@ namespace
|
||||||
{
|
{
|
||||||
// Scroll through the list of quests or topics
|
// Scroll through the list of quests or topics
|
||||||
mButtons[mSelectedQuest]->setStateSelected(false);
|
mButtons[mSelectedQuest]->setStateSelected(false);
|
||||||
mSelectedQuest++;
|
mSelectedQuest = MWGui::wrap(mSelectedQuest + 1, mButtons.size());
|
||||||
if (mSelectedQuest > mButtons.size() - 1)
|
|
||||||
mSelectedQuest = 0;
|
|
||||||
mButtons[mSelectedQuest]->setStateSelected(true);
|
mButtons[mSelectedQuest]->setStateSelected(true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -461,10 +461,7 @@ namespace MWGui
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
mButtons[mControllerFocus]->setStateSelected(false);
|
mButtons[mControllerFocus]->setStateSelected(false);
|
||||||
if (mControllerFocus == 0)
|
mControllerFocus = wrap(mControllerFocus - 1, mButtons.size());
|
||||||
mControllerFocus = mButtons.size() - 1;
|
|
||||||
else
|
|
||||||
mControllerFocus--;
|
|
||||||
mButtons[mControllerFocus]->setStateSelected(true);
|
mButtons[mControllerFocus]->setStateSelected(true);
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_RIGHT)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_RIGHT)
|
||||||
|
@ -475,10 +472,7 @@ namespace MWGui
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
mButtons[mControllerFocus]->setStateSelected(false);
|
mButtons[mControllerFocus]->setStateSelected(false);
|
||||||
if (mControllerFocus == mButtons.size() - 1)
|
mControllerFocus = wrap(mControllerFocus + 1, mButtons.size());
|
||||||
mControllerFocus = 0;
|
|
||||||
else
|
|
||||||
mControllerFocus++;
|
|
||||||
mButtons[mControllerFocus]->setStateSelected(true);
|
mButtons[mControllerFocus]->setStateSelected(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -520,10 +520,7 @@ namespace MWGui
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_Y)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_Y)
|
||||||
{
|
{
|
||||||
uint32_t index = mCharacterSelection->getIndexSelected();
|
uint32_t index = mCharacterSelection->getIndexSelected();
|
||||||
if (index >= mCharacterSelection->getItemCount() - 1)
|
index = wrap(index + 1, mCharacterSelection->getItemCount());
|
||||||
index = 0;
|
|
||||||
else
|
|
||||||
index++;
|
|
||||||
mCharacterSelection->setIndexSelected(index);
|
mCharacterSelection->setIndexSelected(index);
|
||||||
onCharacterSelected(mCharacterSelection, index);
|
onCharacterSelected(mCharacterSelection, index);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1144,10 +1144,7 @@ namespace MWGui
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_LEFTSHOULDER)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_LEFTSHOULDER)
|
||||||
{
|
{
|
||||||
uint32_t index = mSettingsTab->getIndexSelected();
|
uint32_t index = mSettingsTab->getIndexSelected();
|
||||||
if (index <= 0)
|
index = wrap(index - 1, mSettingsTab->getItemCount());
|
||||||
index = mSettingsTab->getItemCount() - 1;
|
|
||||||
else
|
|
||||||
index--;
|
|
||||||
mSettingsTab->setIndexSelected(index);
|
mSettingsTab->setIndexSelected(index);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -1155,10 +1152,7 @@ namespace MWGui
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_RIGHTSHOULDER)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_RIGHTSHOULDER)
|
||||||
{
|
{
|
||||||
uint32_t index = mSettingsTab->getIndexSelected();
|
uint32_t index = mSettingsTab->getIndexSelected();
|
||||||
if (index >= mSettingsTab->getItemCount() - 1)
|
index = wrap(index + 1, mSettingsTab->getItemCount());
|
||||||
index = 0;
|
|
||||||
else
|
|
||||||
index++;
|
|
||||||
mSettingsTab->setIndexSelected(index);
|
mSettingsTab->setIndexSelected(index);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in a new issue