mirror of
https://github.com/OpenMW/openmw.git
synced 2025-12-02 08:34:31 +00:00
Add menu click sounds to some menus when activated by the controller
This commit is contained in:
parent
2dfe1ef7b1
commit
c35e0d7336
13 changed files with 39 additions and 4 deletions
|
|
@ -557,15 +557,16 @@ namespace MWGui
|
||||||
if (isFilterListOpen)
|
if (isFilterListOpen)
|
||||||
{
|
{
|
||||||
// When the filter list combo box is open, send all inputs to it.
|
// When the filter list combo box is open, send all inputs to it.
|
||||||
if (arg.button == SDL_CONTROLLER_BUTTON_A)
|
if (arg.button == SDL_CONTROLLER_BUTTON_A || arg.button == SDL_CONTROLLER_BUTTON_Y)
|
||||||
{
|
{
|
||||||
// Select the highlighted entry in the combo box and close it.
|
// Select the highlighted entry in the combo box and close it.
|
||||||
int index = mFilterValue->getIndexSelected();
|
int index = mFilterValue->getIndexSelected();
|
||||||
mFilterValue->setIndexSelected(index);
|
mFilterValue->setIndexSelected(index);
|
||||||
onFilterChanged(mFilterValue, index);
|
onFilterChanged(mFilterValue, index);
|
||||||
MWBase::Environment::get().getWindowManager()->setKeyFocusWidget(mNameEdit); // Close list
|
MWBase::Environment::get().getWindowManager()->setKeyFocusWidget(mNameEdit); // Close list
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_B || arg.button == SDL_CONTROLLER_BUTTON_Y)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
||||||
{
|
{
|
||||||
// Close the list without selecting anything
|
// Close the list without selecting anything
|
||||||
mFilterValue->clearIndexSelected();
|
mFilterValue->clearIndexSelected();
|
||||||
|
|
@ -610,6 +611,7 @@ namespace MWGui
|
||||||
MWBase::Environment::get().getWindowManager()->setKeyFocusWidget(mFilterValue);
|
MWBase::Environment::get().getWindowManager()->setKeyFocusWidget(mFilterValue);
|
||||||
MWBase::Environment::get().getWindowManager()->injectKeyPress(MyGUI::KeyCode::ArrowDown, 0, false);
|
MWBase::Environment::get().getWindowManager()->injectKeyPress(MyGUI::KeyCode::ArrowDown, 0, false);
|
||||||
}
|
}
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_LEFTSHOULDER)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_LEFTSHOULDER)
|
||||||
onDecreaseButtonTriggered();
|
onDecreaseButtonTriggered();
|
||||||
|
|
|
||||||
|
|
@ -177,7 +177,10 @@ namespace MWGui
|
||||||
bool PersuasionDialog::onControllerButtonEvent(const SDL_ControllerButtonEvent& arg)
|
bool PersuasionDialog::onControllerButtonEvent(const SDL_ControllerButtonEvent& arg)
|
||||||
{
|
{
|
||||||
if (arg.button == SDL_CONTROLLER_BUTTON_A)
|
if (arg.button == SDL_CONTROLLER_BUTTON_A)
|
||||||
|
{
|
||||||
onPersuade(mButtons[mControllerFocus]);
|
onPersuade(mButtons[mControllerFocus]);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
||||||
onCancel(mCancelButton);
|
onCancel(mCancelButton);
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_UP)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_UP)
|
||||||
|
|
@ -960,6 +963,7 @@ namespace MWGui
|
||||||
onGoodbyeActivated();
|
onGoodbyeActivated();
|
||||||
else
|
else
|
||||||
onSelectListItem(mTopicsList->getItemNameAt(mControllerFocus), mControllerFocus);
|
onSelectListItem(mTopicsList->getItemNameAt(mControllerFocus), mControllerFocus);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1001,6 +1001,7 @@ namespace MWGui
|
||||||
onFilterChanged(mFilterApparel);
|
onFilterChanged(mFilterApparel);
|
||||||
else if (mFilterMisc->getStateSelected())
|
else if (mFilterMisc->getStateSelected())
|
||||||
onFilterChanged(mFilterMagic);
|
onFilterChanged(mFilterMagic);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_RIGHTSHOULDER)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_RIGHTSHOULDER)
|
||||||
{
|
{
|
||||||
|
|
@ -1014,6 +1015,7 @@ namespace MWGui
|
||||||
onFilterChanged(mFilterMisc);
|
onFilterChanged(mFilterMisc);
|
||||||
else if (mFilterMisc->getStateSelected())
|
else if (mFilterMisc->getStateSelected())
|
||||||
onFilterChanged(mFilterAll);
|
onFilterChanged(mFilterAll);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -388,6 +388,7 @@ namespace MWGui
|
||||||
{
|
{
|
||||||
if (mControllerFocus >= 0 && mControllerFocus < mAttributeButtons.size())
|
if (mControllerFocus >= 0 && mControllerFocus < mAttributeButtons.size())
|
||||||
onAttributeClicked(mAttributeButtons[mControllerFocus]);
|
onAttributeClicked(mAttributeButtons[mControllerFocus]);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Item Gold Up"));
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_X)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_X)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -144,7 +144,10 @@ namespace MWGui
|
||||||
{
|
{
|
||||||
if ((arg.button == SDL_CONTROLLER_BUTTON_A && !mGemBox->getVisible())
|
if ((arg.button == SDL_CONTROLLER_BUTTON_A && !mGemBox->getVisible())
|
||||||
|| arg.button == SDL_CONTROLLER_BUTTON_Y)
|
|| arg.button == SDL_CONTROLLER_BUTTON_Y)
|
||||||
|
{
|
||||||
onSelectItem(mGemIcon);
|
onSelectItem(mGemIcon);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
||||||
onCancel(mCancelButton);
|
onCancel(mCancelButton);
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -158,7 +158,10 @@ namespace MWGui
|
||||||
{
|
{
|
||||||
if ((arg.button == SDL_CONTROLLER_BUTTON_A && !mToolBox->getVisible())
|
if ((arg.button == SDL_CONTROLLER_BUTTON_A && !mToolBox->getVisible())
|
||||||
|| arg.button == SDL_CONTROLLER_BUTTON_Y)
|
|| arg.button == SDL_CONTROLLER_BUTTON_Y)
|
||||||
|
{
|
||||||
onSelectItem(mToolIcon);
|
onSelectItem(mToolIcon);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
||||||
onCancel(mCancelButton);
|
onCancel(mCancelButton);
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -535,6 +535,7 @@ namespace MWGui
|
||||||
onOkButtonClicked(mOkButton);
|
onOkButtonClicked(mOkButton);
|
||||||
else
|
else
|
||||||
onCancelButtonClicked(mCancelButton);
|
onCancelButtonClicked(mCancelButton);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
||||||
{
|
{
|
||||||
|
|
@ -546,6 +547,7 @@ namespace MWGui
|
||||||
index = wrap(index + 1, mCharacterSelection->getItemCount());
|
index = wrap(index + 1, mCharacterSelection->getItemCount());
|
||||||
mCharacterSelection->setIndexSelected(index);
|
mCharacterSelection->setIndexSelected(index);
|
||||||
onCharacterSelected(mCharacterSelection, index);
|
onCharacterSelected(mCharacterSelection, index);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_UP)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_UP)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1146,7 +1146,7 @@ namespace MWGui
|
||||||
uint32_t index = mSettingsTab->getIndexSelected();
|
uint32_t index = mSettingsTab->getIndexSelected();
|
||||||
index = wrap(index - 1, mSettingsTab->getItemCount());
|
index = wrap(index - 1, mSettingsTab->getItemCount());
|
||||||
mSettingsTab->setIndexSelected(index);
|
mSettingsTab->setIndexSelected(index);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_RIGHTSHOULDER)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_RIGHTSHOULDER)
|
||||||
|
|
@ -1154,7 +1154,7 @@ namespace MWGui
|
||||||
uint32_t index = mSettingsTab->getIndexSelected();
|
uint32_t index = mSettingsTab->getIndexSelected();
|
||||||
index = wrap(index + 1, mSettingsTab->getItemCount());
|
index = wrap(index + 1, mSettingsTab->getItemCount());
|
||||||
mSettingsTab->setIndexSelected(index);
|
mSettingsTab->setIndexSelected(index);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -401,11 +401,15 @@ namespace MWGui
|
||||||
onOkButtonClicked(mOkButton);
|
onOkButtonClicked(mOkButton);
|
||||||
else if (button == mDeleteButton)
|
else if (button == mDeleteButton)
|
||||||
onDeleteButtonClicked(mDeleteButton);
|
onDeleteButtonClicked(mDeleteButton);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
||||||
onCancelButtonClicked(mCancelButton);
|
onCancelButtonClicked(mCancelButton);
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_X)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_X)
|
||||||
|
{
|
||||||
onOkButtonClicked(mOkButton);
|
onOkButtonClicked(mOkButton);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_UP)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_UP)
|
||||||
{
|
{
|
||||||
if (mControllerFocus == 0)
|
if (mControllerFocus == 0)
|
||||||
|
|
@ -1036,10 +1040,12 @@ namespace MWGui
|
||||||
if (!mRightColumn && mAvailableFocus >= 0 && mAvailableFocus < mAvailableButtons.size())
|
if (!mRightColumn && mAvailableFocus >= 0 && mAvailableFocus < mAvailableButtons.size())
|
||||||
{
|
{
|
||||||
onAvailableEffectClicked(mAvailableButtons[mAvailableFocus]);
|
onAvailableEffectClicked(mAvailableButtons[mAvailableFocus]);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
}
|
}
|
||||||
else if (mRightColumn && mEffectFocus >= 0 && mEffectFocus < mEffectButtons.size())
|
else if (mRightColumn && mEffectFocus >= 0 && mEffectFocus < mEffectButtons.size())
|
||||||
{
|
{
|
||||||
onEditEffect(mEffectButtons[mEffectFocus].second);
|
onEditEffect(mEffectButtons[mEffectFocus].second);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_UP)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_UP)
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,7 @@ namespace MWGui
|
||||||
if (arg.button == SDL_CONTROLLER_BUTTON_A)
|
if (arg.button == SDL_CONTROLLER_BUTTON_A)
|
||||||
{
|
{
|
||||||
onOkClicked(nullptr);
|
onOkClicked(nullptr);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -717,6 +717,7 @@ namespace MWGui
|
||||||
onFilterChanged(mFilterApparel);
|
onFilterChanged(mFilterApparel);
|
||||||
else if (mFilterMisc->getStateSelected())
|
else if (mFilterMisc->getStateSelected())
|
||||||
onFilterChanged(mFilterMagic);
|
onFilterChanged(mFilterMagic);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_RIGHTSHOULDER)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_RIGHTSHOULDER)
|
||||||
{
|
{
|
||||||
|
|
@ -730,6 +731,7 @@ namespace MWGui
|
||||||
onFilterChanged(mFilterMisc);
|
onFilterChanged(mFilterMisc);
|
||||||
else if (mFilterMisc->getStateSelected())
|
else if (mFilterMisc->getStateSelected())
|
||||||
onFilterChanged(mFilterAll);
|
onFilterChanged(mFilterAll);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_RIGHTSTICK ||
|
else if (arg.button == SDL_CONTROLLER_BUTTON_RIGHTSTICK ||
|
||||||
arg.button == SDL_CONTROLLER_BUTTON_DPAD_UP ||
|
arg.button == SDL_CONTROLLER_BUTTON_DPAD_UP ||
|
||||||
|
|
|
||||||
|
|
@ -259,7 +259,10 @@ namespace MWGui
|
||||||
if (arg.button == SDL_CONTROLLER_BUTTON_A)
|
if (arg.button == SDL_CONTROLLER_BUTTON_A)
|
||||||
{
|
{
|
||||||
if (mControllerFocus >= 0 && mControllerFocus < mDestinationButtons.size())
|
if (mControllerFocus >= 0 && mControllerFocus < mDestinationButtons.size())
|
||||||
|
{
|
||||||
onTravelButtonClick(mDestinationButtons[mControllerFocus]);
|
onTravelButtonClick(mDestinationButtons[mControllerFocus]);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -339,11 +339,17 @@ namespace MWGui
|
||||||
bool WaitDialog::onControllerButtonEvent(const SDL_ControllerButtonEvent& arg)
|
bool WaitDialog::onControllerButtonEvent(const SDL_ControllerButtonEvent& arg)
|
||||||
{
|
{
|
||||||
if (arg.button == SDL_CONTROLLER_BUTTON_A)
|
if (arg.button == SDL_CONTROLLER_BUTTON_A)
|
||||||
|
{
|
||||||
onWaitButtonClicked(mWaitButton);
|
onWaitButtonClicked(mWaitButton);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_B)
|
||||||
onCancelButtonClicked(mCancelButton);
|
onCancelButtonClicked(mCancelButton);
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_X && mUntilHealedButton->getVisible())
|
else if (arg.button == SDL_CONTROLLER_BUTTON_X && mUntilHealedButton->getVisible())
|
||||||
|
{
|
||||||
onUntilHealedButtonClicked(mUntilHealedButton);
|
onUntilHealedButtonClicked(mUntilHealedButton);
|
||||||
|
MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("Menu Click"));
|
||||||
|
}
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_LEFT)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_LEFT)
|
||||||
MWBase::Environment::get().getWindowManager()->injectKeyPress(MyGUI::KeyCode::ArrowDown, 0, false);
|
MWBase::Environment::get().getWindowManager()->injectKeyPress(MyGUI::KeyCode::ArrowDown, 0, false);
|
||||||
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_RIGHT)
|
else if (arg.button == SDL_CONTROLLER_BUTTON_DPAD_RIGHT)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue