summaryrefslogtreecommitdiff
path: root/src/yuzu/configuration/configure_input_player_widget.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-09-18 16:30:06 -0700
committerGitHub <noreply@github.com>2021-09-18 16:30:06 -0700
commit6e376c27a327d8e123efafe49370a304cec20221 (patch)
treea11be198f5f4933a68c8cc5cfc183e08c3b01fcb /src/yuzu/configuration/configure_input_player_widget.cpp
parent35f46fc079d9534df7850eca3ce29e89e04d8914 (diff)
parent75d8ec1e9f474ce6c2bfc0b8ebe574ca44f9f3d8 (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.cpp19
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);