mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 13:27:45 -07:00
ControllerEmu: Remove nunchuk stick data hax.
This commit is contained in:
parent
29172fab9e
commit
649e49c9e2
@ -67,31 +67,11 @@ void Nunchuk::BuildDesiredExtensionState(DesiredExtensionState* target_state)
|
|||||||
DataFormat nc_data = {};
|
DataFormat nc_data = {};
|
||||||
|
|
||||||
// stick
|
// stick
|
||||||
bool override_occurred = false;
|
|
||||||
const ControllerEmu::AnalogStick::StateData stick_state =
|
const ControllerEmu::AnalogStick::StateData stick_state =
|
||||||
m_stick->GetState(m_input_override_function, &override_occurred);
|
m_stick->GetState(m_input_override_function);
|
||||||
nc_data.jx = MapFloat<u8>(stick_state.x, STICK_CENTER, 0, STICK_RANGE);
|
nc_data.jx = MapFloat<u8>(stick_state.x, STICK_CENTER, 0, STICK_RANGE);
|
||||||
nc_data.jy = MapFloat<u8>(stick_state.y, STICK_CENTER, 0, STICK_RANGE);
|
nc_data.jy = MapFloat<u8>(stick_state.y, STICK_CENTER, 0, STICK_RANGE);
|
||||||
|
|
||||||
if (!override_occurred)
|
|
||||||
{
|
|
||||||
// Some terribly coded games check whether to move with a check like
|
|
||||||
//
|
|
||||||
// if (x != 0 && y != 0)
|
|
||||||
// do_movement(x, y);
|
|
||||||
//
|
|
||||||
// With keyboard controls, these games break if you simply hit one
|
|
||||||
// of the axes. Adjust this if you're hitting one of the axes so that
|
|
||||||
// we slightly tweak the other axis.
|
|
||||||
if (nc_data.jx != STICK_CENTER || nc_data.jy != STICK_CENTER)
|
|
||||||
{
|
|
||||||
if (nc_data.jx == STICK_CENTER)
|
|
||||||
++nc_data.jx;
|
|
||||||
if (nc_data.jy == STICK_CENTER)
|
|
||||||
++nc_data.jy;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// buttons
|
// buttons
|
||||||
u8 buttons = 0;
|
u8 buttons = 0;
|
||||||
m_buttons->GetState(&buttons, nunchuk_button_bitmasks.data(), m_input_override_function);
|
m_buttons->GetState(&buttons, nunchuk_button_bitmasks.data(), m_input_override_function);
|
||||||
|
@ -50,13 +50,6 @@ AnalogStick::StateData AnalogStick::GetState() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
AnalogStick::StateData AnalogStick::GetState(const InputOverrideFunction& override_func) const
|
AnalogStick::StateData AnalogStick::GetState(const InputOverrideFunction& override_func) const
|
||||||
{
|
|
||||||
bool override_occurred = false;
|
|
||||||
return GetState(override_func, &override_occurred);
|
|
||||||
}
|
|
||||||
|
|
||||||
AnalogStick::StateData AnalogStick::GetState(const InputOverrideFunction& override_func,
|
|
||||||
bool* override_occurred) const
|
|
||||||
{
|
{
|
||||||
StateData state = GetState();
|
StateData state = GetState();
|
||||||
if (!override_func)
|
if (!override_func)
|
||||||
@ -65,13 +58,11 @@ AnalogStick::StateData AnalogStick::GetState(const InputOverrideFunction& overri
|
|||||||
if (const std::optional<ControlState> x_override = override_func(name, X_INPUT_OVERRIDE, state.x))
|
if (const std::optional<ControlState> x_override = override_func(name, X_INPUT_OVERRIDE, state.x))
|
||||||
{
|
{
|
||||||
state.x = *x_override;
|
state.x = *x_override;
|
||||||
*override_occurred = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (const std::optional<ControlState> y_override = override_func(name, Y_INPUT_OVERRIDE, state.y))
|
if (const std::optional<ControlState> y_override = override_func(name, Y_INPUT_OVERRIDE, state.y))
|
||||||
{
|
{
|
||||||
state.y = *y_override;
|
state.y = *y_override;
|
||||||
*override_occurred = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return state;
|
return state;
|
||||||
|
@ -22,7 +22,6 @@ public:
|
|||||||
|
|
||||||
StateData GetState() const;
|
StateData GetState() const;
|
||||||
StateData GetState(const InputOverrideFunction& override_func) const;
|
StateData GetState(const InputOverrideFunction& override_func) const;
|
||||||
StateData GetState(const InputOverrideFunction& override_func, bool* override_occurred) const;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Control* GetModifierInput() const override;
|
Control* GetModifierInput() const override;
|
||||||
|
Loading…
Reference in New Issue
Block a user