summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar ameerj2020-08-10 12:39:42 -0400
committerGravatar ameerj2020-08-10 12:46:14 -0400
commitd6672501ac74b9d0645e97f045ec2d8b9e5da289 (patch)
tree3c47b3398ec56c3d7d752449e5bc7f71b4703265 /src
parentAdd range slider functionality for gc adapter (diff)
downloadyuzu-d6672501ac74b9d0645e97f045ec2d8b9e5da289.tar.gz
yuzu-d6672501ac74b9d0645e97f045ec2d8b9e5da289.tar.xz
yuzu-d6672501ac74b9d0645e97f045ec2d8b9e5da289.zip
Remove UI changes
This PR is now only the Analog devices handling the range value defaulting at 100%
Diffstat (limited to 'src')
-rw-r--r--src/input_common/gcadapter/gc_poller.cpp2
-rw-r--r--src/input_common/sdl/sdl_impl.cpp2
-rw-r--r--src/yuzu/configuration/configure_input_player.cpp25
-rw-r--r--src/yuzu/configuration/configure_input_player.h2
-rw-r--r--src/yuzu/configuration/configure_input_player.ui60
5 files changed, 5 insertions, 86 deletions
diff --git a/src/input_common/gcadapter/gc_poller.cpp b/src/input_common/gcadapter/gc_poller.cpp
index 323b93459..b346fdf8e 100644
--- a/src/input_common/gcadapter/gc_poller.cpp
+++ b/src/input_common/gcadapter/gc_poller.cpp
@@ -233,7 +233,7 @@ std::unique_ptr<Input::AnalogDevice> GCAnalogFactory::Create(const Common::Param
233 const int axis_x = params.Get("axis_x", 0); 233 const int axis_x = params.Get("axis_x", 0);
234 const int axis_y = params.Get("axis_y", 1); 234 const int axis_y = params.Get("axis_y", 1);
235 const float deadzone = std::clamp(params.Get("deadzone", 0.0f), 0.0f, .99f); 235 const float deadzone = std::clamp(params.Get("deadzone", 0.0f), 0.0f, .99f);
236 const float range = std::clamp(params.Get("range", 0.0f), 0.50f, 1.50f); 236 const float range = std::clamp(params.Get("range", 1.0f), 0.50f, 1.50f);
237 237
238 return std::make_unique<GCAnalog>(port, axis_x, axis_y, deadzone, adapter.get(), range); 238 return std::make_unique<GCAnalog>(port, axis_x, axis_y, deadzone, adapter.get(), range);
239} 239}
diff --git a/src/input_common/sdl/sdl_impl.cpp b/src/input_common/sdl/sdl_impl.cpp
index 1853f535d..d76c279d3 100644
--- a/src/input_common/sdl/sdl_impl.cpp
+++ b/src/input_common/sdl/sdl_impl.cpp
@@ -461,7 +461,7 @@ public:
461 const int axis_x = params.Get("axis_x", 0); 461 const int axis_x = params.Get("axis_x", 0);
462 const int axis_y = params.Get("axis_y", 1); 462 const int axis_y = params.Get("axis_y", 1);
463 const float deadzone = std::clamp(params.Get("deadzone", 0.0f), 0.0f, .99f); 463 const float deadzone = std::clamp(params.Get("deadzone", 0.0f), 0.0f, .99f);
464 const float range = std::clamp(params.Get("range", 0.0f), 0.50f, 1.50f); 464 const float range = std::clamp(params.Get("range", 1.0f), 0.50f, 1.50f);
465 auto joystick = state.GetSDLJoystickByGUID(guid, port); 465 auto joystick = state.GetSDLJoystickByGUID(guid, port);
466 466
467 // This is necessary so accessing GetAxis with axis_x and axis_y won't crash 467 // This is necessary so accessing GetAxis with axis_x and axis_y won't crash
diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp
index 8bc86b706..b1850bc95 100644
--- a/src/yuzu/configuration/configure_input_player.cpp
+++ b/src/yuzu/configuration/configure_input_player.cpp
@@ -272,10 +272,6 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
272 ui->sliderRStickDeadzoneAndModifier}; 272 ui->sliderRStickDeadzoneAndModifier};
273 analog_map_deadzone_and_modifier_slider_label = {ui->labelLStickDeadzoneAndModifier, 273 analog_map_deadzone_and_modifier_slider_label = {ui->labelLStickDeadzoneAndModifier,
274 ui->labelRStickDeadzoneAndModifier}; 274 ui->labelRStickDeadzoneAndModifier};
275 ui->sliderLStickRange->setRange(50, 150);
276 ui->sliderRStickRange->setRange(50, 150);
277 analog_map_range_slider = {ui->sliderLStickRange, ui->sliderRStickRange};
278 analog_map_range_slider_label = {ui->labelLStickRange, ui->labelRStickRange};
279 275
280 for (int button_id = 0; button_id < Settings::NativeButton::NumButtons; button_id++) { 276 for (int button_id = 0; button_id < Settings::NativeButton::NumButtons; button_id++) {
281 auto* const button = button_map[button_id]; 277 auto* const button = button_map[button_id];
@@ -368,6 +364,7 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
368 InputCommon::Polling::DeviceType::Analog); 364 InputCommon::Polling::DeviceType::Analog);
369 } 365 }
370 }); 366 });
367
371 connect(analog_map_deadzone_and_modifier_slider[analog_id], &QSlider::valueChanged, 368 connect(analog_map_deadzone_and_modifier_slider[analog_id], &QSlider::valueChanged,
372 [=, this] { 369 [=, this] {
373 const float slider_value = 370 const float slider_value =
@@ -383,15 +380,6 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
383 analogs_param[analog_id].Set("modifier_scale", slider_value / 100.0f); 380 analogs_param[analog_id].Set("modifier_scale", slider_value / 100.0f);
384 } 381 }
385 }); 382 });
386 connect(analog_map_range_slider[analog_id], &QSlider::valueChanged, [=, this] {
387 const float slider_value = analog_map_range_slider[analog_id]->value();
388 const auto engine = analogs_param[analog_id].Get("engine", "");
389 if (engine == "sdl" || engine == "gcpad") {
390 analog_map_range_slider_label[analog_id]->setText(
391 tr("Range: %1%").arg(slider_value));
392 analogs_param[analog_id].Set("range", slider_value / 100.0f);
393 }
394 });
395 } 383 }
396 384
397 connect(ui->buttonClearAll, &QPushButton::clicked, [this] { ClearAll(); }); 385 connect(ui->buttonClearAll, &QPushButton::clicked, [this] { ClearAll(); });
@@ -597,9 +585,6 @@ void ConfigureInputPlayer::UpdateButtonLabels() {
597 auto* const analog_stick_slider_label = 585 auto* const analog_stick_slider_label =
598 analog_map_deadzone_and_modifier_slider_label[analog_id]; 586 analog_map_deadzone_and_modifier_slider_label[analog_id];
599 587
600 auto* const analog_stick_range = analog_map_range_slider[analog_id];
601 auto* const analog_stick_range_label = analog_map_range_slider_label[analog_id];
602
603 if (param.Has("engine")) { 588 if (param.Has("engine")) {
604 if (param.Get("engine", "") == "sdl" || param.Get("engine", "") == "gcpad") { 589 if (param.Get("engine", "") == "sdl" || param.Get("engine", "") == "gcpad") {
605 if (!param.Has("deadzone")) { 590 if (!param.Has("deadzone")) {
@@ -610,14 +595,6 @@ void ConfigureInputPlayer::UpdateButtonLabels() {
610 if (analog_stick_slider->value() == 0) { 595 if (analog_stick_slider->value() == 0) {
611 analog_stick_slider_label->setText(tr("Deadzone: 0%")); 596 analog_stick_slider_label->setText(tr("Deadzone: 0%"));
612 } 597 }
613 if (!param.Has("range")) {
614 param.Set("range", 0.50f);
615 }
616 // QtSlider returns values from 0.0-0.99. We want range to be from 50% to 150%
617 analog_stick_range->setValue(static_cast<int>(param.Get("range", 0.1f) * 100));
618 if (analog_stick_range->value() == 50) {
619 analog_stick_range_label->setText(tr("Range: 50%"));
620 }
621 } else { 598 } else {
622 if (!param.Has("modifier_scale")) { 599 if (!param.Has("modifier_scale")) {
623 param.Set("modifier_scale", 0.5f); 600 param.Set("modifier_scale", 0.5f);
diff --git a/src/yuzu/configuration/configure_input_player.h b/src/yuzu/configuration/configure_input_player.h
index 88cc3b3b1..95afa5375 100644
--- a/src/yuzu/configuration/configure_input_player.h
+++ b/src/yuzu/configuration/configure_input_player.h
@@ -101,8 +101,6 @@ private:
101 analog_map_deadzone_and_modifier_slider; 101 analog_map_deadzone_and_modifier_slider;
102 std::array<QLabel*, Settings::NativeAnalog::NumAnalogs> 102 std::array<QLabel*, Settings::NativeAnalog::NumAnalogs>
103 analog_map_deadzone_and_modifier_slider_label; 103 analog_map_deadzone_and_modifier_slider_label;
104 std::array<QSlider*, Settings::NativeAnalog::NumAnalogs> analog_map_range_slider;
105 std::array<QLabel*, Settings::NativeAnalog::NumAnalogs> analog_map_range_slider_label;
106 104
107 static const std::array<std::string, ANALOG_SUB_BUTTONS_NUM> analog_sub_buttons; 105 static const std::array<std::string, ANALOG_SUB_BUTTONS_NUM> analog_sub_buttons;
108 106
diff --git a/src/yuzu/configuration/configure_input_player.ui b/src/yuzu/configuration/configure_input_player.ui
index 91065dcde..f27a77180 100644
--- a/src/yuzu/configuration/configure_input_player.ui
+++ b/src/yuzu/configuration/configure_input_player.ui
@@ -195,35 +195,7 @@
195 </item> 195 </item>
196 </layout> 196 </layout>
197 </item> 197 </item>
198 <item row="5" column="0" colspan="2"> 198 <item row="5" column="0">
199 <layout class="QVBoxLayout" name="sliderRStickRangeVerticalLayout">
200 <property name="sizeConstraint">
201 <enum>QLayout::SetDefaultConstraint</enum>
202 </property>
203 <item>
204 <layout class="QHBoxLayout" name="sliderRStickRangeHorizontalLayout">
205 <item>
206 <widget class="QLabel" name="labelRStickRange">
207 <property name="text">
208 <string>Range: 0</string>
209 </property>
210 <property name="alignment">
211 <enum>Qt::AlignHCenter</enum>
212 </property>
213 </widget>
214 </item>
215 </layout>
216 </item>
217 <item>
218 <widget class="QSlider" name="sliderRStickRange">
219 <property name="orientation">
220 <enum>Qt::Horizontal</enum>
221 </property>
222 </widget>
223 </item>
224 </layout>
225 </item>
226 <item row="6" column="0">
227 <spacer name="RStick_verticalSpacer"> 199 <spacer name="RStick_verticalSpacer">
228 <property name="orientation"> 200 <property name="orientation">
229 <enum>Qt::Vertical</enum> 201 <enum>Qt::Vertical</enum>
@@ -839,35 +811,7 @@
839 </item> 811 </item>
840 </layout> 812 </layout>
841 </item> 813 </item>
842 <item row="6" column="1" colspan="2"> 814 <item row="6" column="1">
843 <layout class="QVBoxLayout" name="sliderLStickRangeVerticalLayout">
844 <property name="sizeConstraint">
845 <enum>QLayout::SetDefaultConstraint</enum>
846 </property>
847 <item>
848 <layout class="QHBoxLayout" name="sliderLStickRangeHorizontalLayout">
849 <item>
850 <widget class="QLabel" name="labelLStickRange">
851 <property name="text">
852 <string>Range: 0</string>
853 </property>
854 <property name="alignment">
855 <enum>Qt::AlignHCenter</enum>
856 </property>
857 </widget>
858 </item>
859 </layout>
860 </item>
861 <item>
862 <widget class="QSlider" name="sliderLStickRange">
863 <property name="orientation">
864 <enum>Qt::Horizontal</enum>
865 </property>
866 </widget>
867 </item>
868 </layout>
869 </item>
870 <item row="7" column="1">
871 <spacer name="LStick_verticalSpacer"> 815 <spacer name="LStick_verticalSpacer">
872 <property name="orientation"> 816 <property name="orientation">
873 <enum>Qt::Vertical</enum> 817 <enum>Qt::Vertical</enum>