diff --git a/src/common/settings.h b/src/common/settings.h index 7ea4136576..7f17518091 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -706,6 +706,7 @@ struct Values { Setting pause_tas_on_load{linkage, true, "pause_tas_on_load", Category::Controls}; Setting tas_enable{linkage, false, "tas_enable", Category::Controls}; Setting tas_loop{linkage, false, "tas_loop", Category::Controls}; + Setting tas_show_recording_dialog{linkage, true, "tas_show_recording_dialog", Category::Controls}; Setting mouse_panning{ linkage, false, "mouse_panning", Category::Controls, Specialization::Default, false}; diff --git a/src/yuzu/configuration/configure_tas.cpp b/src/yuzu/configuration/configure_tas.cpp index 8bdb987426..75d5a5eeaf 100644 --- a/src/yuzu/configuration/configure_tas.cpp +++ b/src/yuzu/configuration/configure_tas.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project @@ -35,6 +35,7 @@ void ConfigureTasDialog::LoadConfiguration() { ui->tas_enable->setChecked(Settings::values.tas_enable.GetValue()); ui->tas_loop_script->setChecked(Settings::values.tas_loop.GetValue()); ui->tas_pause_on_load->setChecked(Settings::values.pause_tas_on_load.GetValue()); + ui->tas_show_recording_dialog->setChecked(Settings::values.tas_show_recording_dialog.GetValue()); } void ConfigureTasDialog::ApplyConfiguration() { @@ -42,6 +43,7 @@ void ConfigureTasDialog::ApplyConfiguration() { Settings::values.tas_enable.SetValue(ui->tas_enable->isChecked()); Settings::values.tas_loop.SetValue(ui->tas_loop_script->isChecked()); Settings::values.pause_tas_on_load.SetValue(ui->tas_pause_on_load->isChecked()); + Settings::values.tas_show_recording_dialog.SetValue(ui->tas_show_recording_dialog->isChecked()); } void ConfigureTasDialog::SetDirectory(DirectoryTarget target, QLineEdit* edit) { diff --git a/src/yuzu/configuration/configure_tas.ui b/src/yuzu/configuration/configure_tas.ui index da8f2a86c5..5b4bba53b6 100644 --- a/src/yuzu/configuration/configure_tas.ui +++ b/src/yuzu/configuration/configure_tas.ui @@ -78,6 +78,13 @@ + + + + Show recording dialog + + + diff --git a/src/yuzu/main_window.cpp b/src/yuzu/main_window.cpp index 6ead3c4130..bf146fcac8 100644 --- a/src/yuzu/main_window.cpp +++ b/src/yuzu/main_window.cpp @@ -3672,13 +3672,17 @@ void MainWindow::OnTasRecord() { const bool is_recording = input_subsystem->GetTas()->Record(); if (!is_recording) { - is_tas_recording_dialog_active = true; + if (Settings::values.tas_show_recording_dialog.GetValue()) { + is_tas_recording_dialog_active = true; - bool answer = question(this, tr("TAS Recording"), tr("Overwrite file of player 1?"), - QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); + bool answer = question(this, tr("TAS Recording"), tr("Overwrite file of player 1?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); - input_subsystem->GetTas()->SaveRecording(answer); - is_tas_recording_dialog_active = false; + input_subsystem->GetTas()->SaveRecording(answer); + is_tas_recording_dialog_active = false; + } else { + input_subsystem->GetTas()->SaveRecording(true); + } } OnTasStateChanged(); }