summaryrefslogtreecommitdiff
path: root/src/yuzu/configuration
diff options
context:
space:
mode:
authorgerman77 <juangerman-13@hotmail.com>2021-06-27 14:02:38 -0500
committerMonsterDruide1 <5958456@gmail.com>2021-09-18 23:22:42 +0200
commite6c4bf52f0eb2c9c78e983ffbc667891463d3253 (patch)
treed01a5189842a1c210b98588cb2b38ad89a11a322 /src/yuzu/configuration
parent9bb6580d89efb76534d9395bc052459d5f58e7c4 (diff)
input_common/tas: Add swap controller
Diffstat (limited to 'src/yuzu/configuration')
-rw-r--r--src/yuzu/configuration/config.cpp5
-rw-r--r--src/yuzu/configuration/configure_input_player_widget.cpp34
-rw-r--r--src/yuzu/configuration/configure_tas.ui3
3 files changed, 23 insertions, 19 deletions
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index 99e318a8f..a0dfa06df 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -1205,6 +1205,11 @@ void Config::SaveControlValues() {
WriteBasicSetting(Settings::values.emulate_analog_keyboard);
WriteBasicSetting(Settings::values.mouse_panning_sensitivity);
+ WriteSetting(QStringLiteral("enable_tas"), Settings::values.tas_enable, false);
+ WriteSetting(QStringLiteral("loop_tas"), Settings::values.tas_loop, false);
+ WriteSetting(QStringLiteral("swap_tas_controllers"), Settings::values.tas_swap_controllers,
+ true);
+ WriteSetting(QStringLiteral("tas_pause_on_load"), Settings::values.pause_tas_on_load, true);
qt_config->endGroup();
}
diff --git a/src/yuzu/configuration/configure_input_player_widget.cpp b/src/yuzu/configuration/configure_input_player_widget.cpp
index b905fc73d..ba3720c03 100644
--- a/src/yuzu/configuration/configure_input_player_widget.cpp
+++ b/src/yuzu/configuration/configure_input_player_widget.cpp
@@ -175,10 +175,7 @@ void PlayerControlPreview::ResetInputs() {
}
void PlayerControlPreview::UpdateInput() {
- if (controller_callback.update != nullptr) {
- controller_callback.update(std::move(true));
- }
- if (!is_enabled && !mapping_active) {
+ if (!is_enabled && !mapping_active && !Settings::values.tas_enable) {
return;
}
bool input_changed = false;
@@ -223,20 +220,25 @@ void PlayerControlPreview::UpdateInput() {
}
}
- ControllerInput input{};
if (input_changed) {
update();
- input.changed = true;
- }
- input.axis_values[Settings::NativeAnalog::LStick] = {
- axis_values[Settings::NativeAnalog::LStick].value.x(),
- axis_values[Settings::NativeAnalog::LStick].value.y()};
- input.axis_values[Settings::NativeAnalog::RStick] = {
- axis_values[Settings::NativeAnalog::RStick].value.x(),
- axis_values[Settings::NativeAnalog::RStick].value.y()};
- input.button_values = button_values;
- if (controller_callback.input != nullptr) {
- controller_callback.input(std::move(input));
+ ControllerInput input{
+ .axis_values =
+ {std::pair<float, float>{axis_values[Settings::NativeAnalog::LStick].value.x(),
+ axis_values[Settings::NativeAnalog::LStick].value.y()},
+ std::pair<float, float>{axis_values[Settings::NativeAnalog::RStick].value.x(),
+ axis_values[Settings::NativeAnalog::RStick].value.y()}},
+ .button_values = button_values,
+ .changed = true,
+ };
+
+ if (controller_callback.input != nullptr) {
+ controller_callback.input(std::move(input));
+ }
+ }
+
+ if (controller_callback.update != nullptr) {
+ controller_callback.update(std::move(true));
}
if (mapping_active) {
diff --git a/src/yuzu/configuration/configure_tas.ui b/src/yuzu/configuration/configure_tas.ui
index 906e073ff..445904d8f 100644
--- a/src/yuzu/configuration/configure_tas.ui
+++ b/src/yuzu/configuration/configure_tas.ui
@@ -31,9 +31,6 @@
</item>
<item row="1" column="0" colspan="4">
<widget class="QCheckBox" name="tas_control_swap">
- <property name="enabled">
- <bool>false</bool>
- </property>
<property name="text">
<string>Automatic controller profile swapping</string>
</property>