mirror of
https://github.com/OpenMW/openmw.git
synced 2025-10-18 18:16:39 +00:00
Replace semi-janky rstick controller bindings with dpad
This commit is contained in:
parent
2905ed5fb1
commit
190680a3a9
10 changed files with 24 additions and 30 deletions
|
@ -14,6 +14,9 @@ namespace MWGui
|
||||||
getWidget(mImageB, "BtnBImage");
|
getWidget(mImageB, "BtnBImage");
|
||||||
getWidget(mTextB, "BtnBText");
|
getWidget(mTextB, "BtnBText");
|
||||||
|
|
||||||
|
getWidget(mImageDpad, "BtnDpadImage");
|
||||||
|
getWidget(mTextDpad, "BtnDpadText");
|
||||||
|
|
||||||
getWidget(mImageL1, "BtnL1Image");
|
getWidget(mImageL1, "BtnL1Image");
|
||||||
getWidget(mTextL1, "BtnL1Text");
|
getWidget(mTextL1, "BtnL1Text");
|
||||||
|
|
||||||
|
@ -58,6 +61,7 @@ namespace MWGui
|
||||||
int buttonCount = 0;
|
int buttonCount = 0;
|
||||||
buttonCount += updateButton(mTextA, mImageA, buttons->a);
|
buttonCount += updateButton(mTextA, mImageA, buttons->a);
|
||||||
buttonCount += updateButton(mTextB, mImageB, buttons->b);
|
buttonCount += updateButton(mTextB, mImageB, buttons->b);
|
||||||
|
buttonCount += updateButton(mTextDpad, mImageDpad, buttons->dpad);
|
||||||
buttonCount += updateButton(mTextL1, mImageL1, buttons->l1);
|
buttonCount += updateButton(mTextL1, mImageL1, buttons->l1);
|
||||||
buttonCount += updateButton(mTextL2, mImageL2, buttons->l2);
|
buttonCount += updateButton(mTextL2, mImageL2, buttons->l2);
|
||||||
buttonCount += updateButton(mTextL3, mImageL3, buttons->l3);
|
buttonCount += updateButton(mTextL3, mImageL3, buttons->l3);
|
||||||
|
|
|
@ -24,6 +24,9 @@ namespace MWGui
|
||||||
MyGUI::ImageBox* mImageB;
|
MyGUI::ImageBox* mImageB;
|
||||||
MyGUI::TextBox* mTextB;
|
MyGUI::TextBox* mTextB;
|
||||||
|
|
||||||
|
MyGUI::ImageBox* mImageDpad;
|
||||||
|
MyGUI::TextBox* mTextDpad;
|
||||||
|
|
||||||
MyGUI::ImageBox* mImageL1;
|
MyGUI::ImageBox* mImageL1;
|
||||||
MyGUI::TextBox* mTextL1;
|
MyGUI::TextBox* mTextL1;
|
||||||
|
|
||||||
|
|
|
@ -839,7 +839,7 @@ namespace MWGui
|
||||||
mControllerButtons.b = "#{sBack}";
|
mControllerButtons.b = "#{sBack}";
|
||||||
mControllerButtons.x = global ? "#{sLocal}" : "#{sWorld}";
|
mControllerButtons.x = global ? "#{sLocal}" : "#{sWorld}";
|
||||||
mControllerButtons.y = "#{sCenter}";
|
mControllerButtons.y = "#{sCenter}";
|
||||||
mControllerButtons.rStick = Settings::map().mAllowZooming ? "" : "#{sMove}";
|
mControllerButtons.dpad = Settings::map().mAllowZooming ? "" : "#{sMove}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1418,19 +1418,6 @@ namespace MWGui
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MapWindow::onControllerThumbstickEvent(const SDL_ControllerAxisEvent& arg)
|
|
||||||
{
|
|
||||||
if (!Settings::map().mAllowZooming)
|
|
||||||
{
|
|
||||||
int dx = arg.axis == SDL_CONTROLLER_AXIS_RIGHTX ? -30.0f * arg.value / 32767 : 0;
|
|
||||||
int dy = arg.axis == SDL_CONTROLLER_AXIS_RIGHTY ? -30.0f * arg.value / 32767 : 0;
|
|
||||||
shiftMap(dx, dy);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void MapWindow::shiftMap(int dx, int dy)
|
void MapWindow::shiftMap(int dx, int dy)
|
||||||
{
|
{
|
||||||
if (dx == 0 && dy == 0)
|
if (dx == 0 && dy == 0)
|
||||||
|
|
|
@ -272,7 +272,6 @@ namespace MWGui
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||||
bool onControllerThumbstickEvent(const SDL_ControllerAxisEvent& arg) override;
|
|
||||||
void setActiveControllerWindow(bool active) override;
|
void setActiveControllerWindow(bool active) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -41,7 +41,7 @@ namespace MWGui
|
||||||
|
|
||||||
mControllerScrollWidget = mTextView;
|
mControllerScrollWidget = mTextView;
|
||||||
mControllerButtons.b = "#{sClose}";
|
mControllerButtons.b = "#{sClose}";
|
||||||
mControllerButtons.rStick = "#{sScrolldown}";
|
mControllerButtons.dpad = "#{sScrolldown}";
|
||||||
|
|
||||||
center();
|
center();
|
||||||
}
|
}
|
||||||
|
@ -148,17 +148,4 @@ namespace MWGui
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ScrollWindow::onControllerThumbstickEvent(const SDL_ControllerAxisEvent& arg)
|
|
||||||
{
|
|
||||||
if (arg.axis == SDL_CONTROLLER_AXIS_RIGHTY)
|
|
||||||
{
|
|
||||||
MWBase::Environment::get().getInputManager()->setGamepadGuiCursorEnabled(false);
|
|
||||||
|
|
||||||
int scroll = -30.0f * arg.value / 32767;
|
|
||||||
mTextView->setViewOffset(mTextView->getViewOffset() + MyGUI::IntPoint(0, scroll));
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,6 @@ namespace MWGui
|
||||||
void setTakeButtonShow(bool show);
|
void setTakeButtonShow(bool show);
|
||||||
void onKeyButtonPressed(MyGUI::Widget* sender, MyGUI::KeyCode key, MyGUI::Char character);
|
void onKeyButtonPressed(MyGUI::Widget* sender, MyGUI::KeyCode key, MyGUI::Char character);
|
||||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||||
bool onControllerThumbstickEvent(const SDL_ControllerAxisEvent& arg) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Gui::ImageButton* mCloseButton;
|
Gui::ImageButton* mCloseButton;
|
||||||
|
|
|
@ -21,6 +21,7 @@ namespace MWGui
|
||||||
{
|
{
|
||||||
std::string a;
|
std::string a;
|
||||||
std::string b;
|
std::string b;
|
||||||
|
std::string dpad;
|
||||||
std::string l1;
|
std::string l1;
|
||||||
std::string l2;
|
std::string l2;
|
||||||
std::string l3;
|
std::string l3;
|
||||||
|
|
|
@ -12,6 +12,7 @@ set(BUILTIN_DATA_FILES
|
||||||
textures/omw_menu_icon_active.dds
|
textures/omw_menu_icon_active.dds
|
||||||
textures/omw_steam_button_a.dds
|
textures/omw_steam_button_a.dds
|
||||||
textures/omw_steam_button_b.dds
|
textures/omw_steam_button_b.dds
|
||||||
|
textures/omw_steam_button_dpad.dds
|
||||||
textures/omw_steam_button_l1.dds
|
textures/omw_steam_button_l1.dds
|
||||||
textures/omw_steam_button_l2.dds
|
textures/omw_steam_button_l2.dds
|
||||||
textures/omw_steam_button_l3.dds
|
textures/omw_steam_button_l3.dds
|
||||||
|
|
|
@ -36,6 +36,19 @@
|
||||||
<Property key="ReadOnly" value="true"/>
|
<Property key="ReadOnly" value="true"/>
|
||||||
</Widget>
|
</Widget>
|
||||||
|
|
||||||
|
<Widget type="ImageBox" skin="ImageBox" align="Stretch" position="0 0 24 24" name="BtnDpadImage">
|
||||||
|
<Property key="ImageTexture" value="textures\omw_steam_button_dpad.dds"/>
|
||||||
|
<Property key="Colour" value="#ccb589"/>
|
||||||
|
<Property key="Alpha" value="0.7"/>
|
||||||
|
</Widget>
|
||||||
|
<Widget type="TextBox" skin="HeaderText" align="Center" position="0 0 0 48" name="BtnDpadText">
|
||||||
|
<Property key="Caption" value=""/>
|
||||||
|
<Property key="TextAlign" value="Left"/>
|
||||||
|
<Property key="TextShadow" value="true"/>
|
||||||
|
<Property key="TextShadowColour" value="0 0 0"/>
|
||||||
|
<Property key="ReadOnly" value="true"/>
|
||||||
|
</Widget>
|
||||||
|
|
||||||
<Widget type="ImageBox" skin="ImageBox" align="Stretch" position="0 0 24 24" name="BtnAImage">
|
<Widget type="ImageBox" skin="ImageBox" align="Stretch" position="0 0 24 24" name="BtnAImage">
|
||||||
<Property key="ImageTexture" value="textures\omw_steam_button_a.dds"/>
|
<Property key="ImageTexture" value="textures\omw_steam_button_a.dds"/>
|
||||||
<Property key="Colour" value="#ccb589"/>
|
<Property key="Colour" value="#ccb589"/>
|
||||||
|
|
BIN
files/data/textures/omw_steam_button_dpad.dds
Normal file
BIN
files/data/textures/omw_steam_button_dpad.dds
Normal file
Binary file not shown.
Loading…
Reference in a new issue