ControlGroup/Slider: Return state data by value

Makes it less error-prone to get state data from sliders (no need
to pass any locals), and also allows direct assignment, letting the
retrieved data be const.
This commit is contained in:
Lioncash
2018-07-13 11:49:05 -04:00
parent 4c30b9e14d
commit 918d448b5b
4 changed files with 25 additions and 25 deletions

View File

@ -30,14 +30,14 @@ Slider::Slider(const std::string& name_) : Slider(name_, name_)
{
}
void Slider::GetState(ControlState* const slider)
Slider::StateData Slider::GetState()
{
const ControlState deadzone = numeric_settings[0]->GetValue();
const ControlState state = controls[1]->control_ref->State() - controls[0]->control_ref->State();
if (fabs(state) > deadzone)
*slider = (state - (deadzone * sign(state))) / (1 - deadzone);
else
*slider = 0;
return {(state - (deadzone * sign(state))) / (1 - deadzone)};
return {0.0};
}
} // namespace ControllerEmu