Skip to content
Permalink
Browse files

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

ControllerEmu: Killed the button group threshold setting.
  • Loading branch information...
leoetlino committed Jan 16, 2019
2 parents 3892c3a + df43fd9 commit e19ee2ad4f8159a9e8f630c8ebc319c748527da8
@@ -26,6 +26,7 @@
#include "DolphinQt/Settings.h"

#include "InputCommon/ControlReference/ControlReference.h"
#include "InputCommon/ControllerEmu/ControlGroup/Buttons.h"
#include "InputCommon/ControllerEmu/ControllerEmu.h"
#include "InputCommon/ControllerInterface/ControllerInterface.h"
#include "InputCommon/ControllerInterface/Device.h"
@@ -81,7 +82,7 @@ MappingButton::MappingButton(MappingWidget* widget, ControlReference* ref, bool
QFont f = m_parent->font();
QPalette p = m_parent->palette();

if (state != 0)
if (state > ControllerEmu::Buttons::ACTIVATION_THRESHOLD)
{
f.setBold(true);
p.setColor(QPalette::ButtonText, Qt::red);
@@ -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)
: ControlGroup(ini_name, group_name, GroupType::Buttons)
{
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Threshold"), 0.5));
}

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

bitmasks++;
}
}

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

@@ -60,7 +60,7 @@ void ModifySettingsButton::GetState()
threshold_exceeded[i] = true;
}

if (state < numeric_settings[0]->GetValue())
if (state < ACTIVATION_THRESHOLD)
threshold_exceeded[i] = false;
}
}

0 comments on commit e19ee2a

Please sign in to comment.
You can’t perform that action at this time.