diff options
author | bunnei <bunneidev@gmail.com> | 2021-09-18 16:30:06 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-18 16:30:06 -0700 |
commit | 6e376c27a327d8e123efafe49370a304cec20221 (patch) | |
tree | a11be198f5f4933a68c8cc5cfc183e08c3b01fcb /src/yuzu/configuration/configure_input_player_widget.cpp | |
parent | 35f46fc079d9534df7850eca3ce29e89e04d8914 (diff) | |
parent | 75d8ec1e9f474ce6c2bfc0b8ebe574ca44f9f3d8 (diff) |
Merge pull request #6485 from MonsterDruide1/tas
input_common: TAS with script playback & recording
Diffstat (limited to 'src/yuzu/configuration/configure_input_player_widget.cpp')
-rw-r--r-- | src/yuzu/configuration/configure_input_player_widget.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/yuzu/configuration/configure_input_player_widget.cpp b/src/yuzu/configuration/configure_input_player_widget.cpp index 9c890ed5d..da328d904 100644 --- a/src/yuzu/configuration/configure_input_player_widget.cpp +++ b/src/yuzu/configuration/configure_input_player_widget.cpp @@ -175,7 +175,7 @@ void PlayerControlPreview::ResetInputs() { } void PlayerControlPreview::UpdateInput() { - if (!is_enabled && !mapping_active) { + if (!is_enabled && !mapping_active && !Settings::values.tas_enable) { return; } bool input_changed = false; @@ -222,6 +222,19 @@ void PlayerControlPreview::UpdateInput() { if (input_changed) { update(); + if (controller_callback.input != nullptr) { + 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, + }; + controller_callback.input(std::move(input)); + } } if (mapping_active) { @@ -229,6 +242,10 @@ void PlayerControlPreview::UpdateInput() { } } +void PlayerControlPreview::SetCallBack(ControllerCallback callback_) { + controller_callback = std::move(callback_); +} + void PlayerControlPreview::paintEvent(QPaintEvent* event) { QFrame::paintEvent(event); QPainter p(this); |