Merge pull request #7664 from jordan-woyak/kill-button-threshold

ControllerEmu: Killed the button group threshold setting.
This commit is contained in:
Léo Lam 2019-01-16 21:33:05 +01:00 committed by GitHub
commit e19ee2ad4f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 6 deletions

View File

@ -26,6 +26,7 @@
#include "DolphinQt/Settings.h" #include "DolphinQt/Settings.h"
#include "InputCommon/ControlReference/ControlReference.h" #include "InputCommon/ControlReference/ControlReference.h"
#include "InputCommon/ControllerEmu/ControlGroup/Buttons.h"
#include "InputCommon/ControllerEmu/ControllerEmu.h" #include "InputCommon/ControllerEmu/ControllerEmu.h"
#include "InputCommon/ControllerInterface/ControllerInterface.h" #include "InputCommon/ControllerInterface/ControllerInterface.h"
#include "InputCommon/ControllerInterface/Device.h" #include "InputCommon/ControllerInterface/Device.h"
@ -81,7 +82,7 @@ MappingButton::MappingButton(MappingWidget* widget, ControlReference* ref, bool
QFont f = m_parent->font(); QFont f = m_parent->font();
QPalette p = m_parent->palette(); QPalette p = m_parent->palette();
if (state != 0) if (state > ControllerEmu::Buttons::ACTIVATION_THRESHOLD)
{ {
f.setBold(true); f.setBold(true);
p.setColor(QPalette::ButtonText, Qt::red); p.setColor(QPalette::ButtonText, Qt::red);

View File

@ -19,6 +19,6 @@ Buttons::Buttons(const std::string& name_) : Buttons(name_, name_)
Buttons::Buttons(const std::string& ini_name, const std::string& group_name) Buttons::Buttons(const std::string& ini_name, const std::string& group_name)
: ControlGroup(ini_name, group_name, GroupType::Buttons) : ControlGroup(ini_name, group_name, GroupType::Buttons)
{ {
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Threshold"), 0.5));
} }
} // namespace ControllerEmu } // namespace ControllerEmu

View File

@ -24,11 +24,13 @@ public:
{ {
for (auto& control : controls) for (auto& control : controls)
{ {
if (control->control_ref->State() > numeric_settings[0]->GetValue()) // threshold if (control->control_ref->State() > ACTIVATION_THRESHOLD)
*buttons |= *bitmasks; *buttons |= *bitmasks;
bitmasks++; bitmasks++;
} }
} }
static constexpr ControlState ACTIVATION_THRESHOLD = 0.5;
}; };
} // namespace ControllerEmu } // namespace ControllerEmu

View File

@ -41,14 +41,14 @@ void ModifySettingsButton::GetState()
if (!associated_settings_toggle[i]) if (!associated_settings_toggle[i])
{ {
// not toggled // not toggled
associated_settings[i] = state > numeric_settings[0]->GetValue(); associated_settings[i] = state > ACTIVATION_THRESHOLD;
} }
else else
{ {
// toggle (loading savestates does not en-/disable toggle) // toggle (loading savestates does not en-/disable toggle)
// after we passed the threshold, we en-/disable. but after that, we don't change it // after we passed the threshold, we en-/disable. but after that, we don't change it
// anymore // anymore
if (!threshold_exceeded[i] && state > numeric_settings[0]->GetValue()) if (!threshold_exceeded[i] && state > ACTIVATION_THRESHOLD)
{ {
associated_settings[i] = !associated_settings[i]; associated_settings[i] = !associated_settings[i];
@ -60,7 +60,7 @@ void ModifySettingsButton::GetState()
threshold_exceeded[i] = true; threshold_exceeded[i] = true;
} }
if (state < numeric_settings[0]->GetValue()) if (state < ACTIVATION_THRESHOLD)
threshold_exceeded[i] = false; threshold_exceeded[i] = false;
} }
} }