Skip to content

Commit

Permalink
Merge pull request libretro#281 from Karojen/master
Browse files Browse the repository at this point in the history
Add left stick options for IR mode
  • Loading branch information
LibretroAdmin authored Aug 30, 2022
2 parents 645cd0d + 409bfdc commit 016a592
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
19 changes: 19 additions & 0 deletions Source/Core/DolphinLibretro/Input.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -755,6 +755,13 @@ void retro_set_controller_port_device(unsigned port, unsigned device)
wmTilt->SetControlExpression(2, "`" + devAnalog + ":X1-`"); // Left
wmTilt->SetControlExpression(3, "`" + devAnalog + ":X1+`"); // Right
}
if (Libretro::Options::irMode != 3 && Libretro::Options::irMode != 4)
{
wmTilt->SetControlExpression(0, "`" + devAnalog + ":Y0-`"); // Forward
wmTilt->SetControlExpression(1, "`" + devAnalog + ":Y0+`"); // Backward
wmTilt->SetControlExpression(2, "`" + devAnalog + ":X0-`"); // Left
wmTilt->SetControlExpression(3, "`" + devAnalog + ":X0+`"); // Right
}
}
else
{
Expand Down Expand Up @@ -798,6 +805,18 @@ void retro_set_controller_port_device(unsigned port, unsigned device)
static_cast<ControllerEmu::NumericSetting<bool>*>(wmIR->numeric_settings[5].get())
->SetValue(true); // Auto hide
}
else if (Libretro::Options::irMode == 3 || Libretro::Options::irMode == 4)
{
// Set left stick to control the IR
wmIR->SetControlExpression(0, "`" + devAnalog + ":Y0-`"); // Up
wmIR->SetControlExpression(1, "`" + devAnalog + ":Y0+`"); // Down
wmIR->SetControlExpression(2, "`" + devAnalog + ":X0-`"); // Left
wmIR->SetControlExpression(3, "`" + devAnalog + ":X0+`"); // Right
static_cast<ControllerEmu::NumericSetting<bool>*>(wmIR->numeric_settings[4].get())
->SetValue(Libretro::Options::irMode == 3); // Relative input
static_cast<ControllerEmu::NumericSetting<bool>*>(wmIR->numeric_settings[5].get())
->SetValue(true); // Auto hide
}
else
{
// Mouse controls IR
Expand Down
2 changes: 2 additions & 0 deletions Source/Core/DolphinLibretro/Options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,8 @@ Option<bool> fastmem("dolphin_fastmem", "Fastmem", true);
Option<int> irMode("dolphin_ir_mode", "Wiimote IR Mode", 1,
{"Right Stick controls pointer (relative)",
"Right Stick controls pointer (absolute)",
"Left Stick controls pointer (relative)",
"Left Stick controls pointer (absolute)",
"Mouse controls pointer"});
Option<int> irCenter("dolphin_ir_offset", "Wiimote IR Vertical Offset",
{{"10", 10}, {"11", 11}, {"12", 12}, {"13", 13}, {"14", 14}, {"15", 15}, {"16", 16}, {"17", 17}, {"18", 18}, {"19", 19},
Expand Down

0 comments on commit 016a592

Please sign in to comment.