Merge pull request #8963 from jordan-woyak/gcpad-gate-adj

HW/GCPadEmu: Adjust gate radius values to more closely match the real hardware.
This commit is contained in:
LC 2020-07-19 12:11:58 -04:00 committed by GitHub
commit d48056c1cd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 8 deletions

View file

@ -64,14 +64,10 @@ GCPad::GCPad(const unsigned int index) : m_index(index)
}
// sticks
constexpr auto main_gate_radius =
ControlState(MAIN_STICK_GATE_RADIUS) / GCPadStatus::MAIN_STICK_RADIUS;
groups.emplace_back(m_main_stick = new ControllerEmu::OctagonAnalogStick(
"Main Stick", _trans("Control Stick"), main_gate_radius));
constexpr auto c_gate_radius = ControlState(C_STICK_GATE_RADIUS) / GCPadStatus::C_STICK_RADIUS;
"Main Stick", _trans("Control Stick"), MAIN_STICK_GATE_RADIUS));
groups.emplace_back(m_c_stick = new ControllerEmu::OctagonAnalogStick(
"C-Stick", _trans("C Stick"), c_gate_radius));
"C-Stick", _trans("C Stick"), C_STICK_GATE_RADIUS));
// triggers
groups.emplace_back(m_triggers = new ControllerEmu::MixedTriggers(_trans("Triggers")));

View file

@ -46,8 +46,9 @@ public:
void LoadDefaults(const ControllerInterface& ciface) override;
static const u8 MAIN_STICK_GATE_RADIUS = 87;
static const u8 C_STICK_GATE_RADIUS = 74;
// Values averaged from multiple genuine GameCube controllers.
static constexpr ControlState MAIN_STICK_GATE_RADIUS = 0.7937125;
static constexpr ControlState C_STICK_GATE_RADIUS = 0.7221375;
private:
ControllerEmu::Buttons* m_buttons;