summaryrefslogtreecommitdiff
path: root/src/yuzu
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuzu')
-rw-r--r--src/yuzu/configuration/configure_input_player_widget.cpp3
-rw-r--r--src/yuzu/debugger/controller.cpp16
-rw-r--r--src/yuzu/debugger/controller.h3
-rw-r--r--src/yuzu/main.cpp21
-rw-r--r--src/yuzu/main.h1
5 files changed, 24 insertions, 20 deletions
diff --git a/src/yuzu/configuration/configure_input_player_widget.cpp b/src/yuzu/configuration/configure_input_player_widget.cpp
index e4383676a..b905fc73d 100644
--- a/src/yuzu/configuration/configure_input_player_widget.cpp
+++ b/src/yuzu/configuration/configure_input_player_widget.cpp
@@ -175,6 +175,9 @@ void PlayerControlPreview::ResetInputs() {
}
void PlayerControlPreview::UpdateInput() {
+ if (controller_callback.update != nullptr) {
+ controller_callback.update(std::move(true));
+ }
if (!is_enabled && !mapping_active) {
return;
}
diff --git a/src/yuzu/debugger/controller.cpp b/src/yuzu/debugger/controller.cpp
index 822d033d1..a745699bf 100644
--- a/src/yuzu/debugger/controller.cpp
+++ b/src/yuzu/debugger/controller.cpp
@@ -41,7 +41,8 @@ void ControllerDialog::refreshConfiguration() {
constexpr std::size_t player = 0;
widget->SetPlayerInputRaw(player, players[player].buttons, players[player].analogs);
widget->SetControllerType(players[player].controller_type);
- ControllerCallback callback{[this](ControllerInput input) { InputController(input); }};
+ ControllerCallback callback{[this](ControllerInput input) { InputController(input); },
+ [this](bool update) { UpdateController(update); }};
widget->SetCallBack(callback);
widget->repaint();
widget->SetConnectedStatus(players[player].connected);
@@ -74,10 +75,6 @@ void ControllerDialog::hideEvent(QHideEvent* ev) {
QWidget::hideEvent(ev);
}
-void ControllerDialog::RefreshTasFile() {
- input_subsystem->GetTas()->RefreshTasFile();
-}
-
void ControllerDialog::InputController(ControllerInput input) {
u32 buttons = 0;
int index = 0;
@@ -86,4 +83,11 @@ void ControllerDialog::InputController(ControllerInput input) {
index++;
}
input_subsystem->GetTas()->RecordInput(buttons, input.axis_values);
-} \ No newline at end of file
+}
+
+void ControllerDialog::UpdateController(bool update) {
+ if (!update) {
+ return;
+ }
+ input_subsystem->GetTas()->UpdateThread();
+}
diff --git a/src/yuzu/debugger/controller.h b/src/yuzu/debugger/controller.h
index f2f6653f7..448d24b67 100644
--- a/src/yuzu/debugger/controller.h
+++ b/src/yuzu/debugger/controller.h
@@ -25,6 +25,7 @@ struct ControllerInput {
struct ControllerCallback {
std::function<void(ControllerInput)> input;
+ std::function<void(bool)> update;
};
class ControllerDialog : public QWidget {
@@ -43,8 +44,8 @@ protected:
void hideEvent(QHideEvent* ev) override;
private:
- void RefreshTasFile();
void InputController(ControllerInput input);
+ void UpdateController(bool update);
QAction* toggle_view_action = nullptr;
QFileSystemWatcher* watcher = nullptr;
PlayerControlPreview* widget;
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 820e31fa7..6c2835a2f 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -196,7 +196,6 @@ GMainWindow::GMainWindow()
config{std::make_unique<Config>()}, vfs{std::make_shared<FileSys::RealVfsFilesystem>()},
provider{std::make_unique<FileSys::ManualContentProvider>()} {
Common::Log::Initialize();
- Settings::values.inputSubsystem = input_subsystem;
LoadTranslation();
setAcceptDrops(true);
@@ -2903,16 +2902,17 @@ void GMainWindow::UpdateWindowTitle(std::string_view title_name, std::string_vie
}
}
-static std::string GetTasStateDescription(TasInput::TasState state) {
- switch (state) {
+QString GMainWindow::GetTasStateDescription() const {
+ auto [tas_status, current_tas_frame, total_tas_frames] = input_subsystem->GetTas()->GetStatus();
+ switch (tas_status) {
case TasInput::TasState::Running:
- return "Running";
+ return tr("TAS state: Running %1/%2").arg(current_tas_frame).arg(total_tas_frames);
case TasInput::TasState::Recording:
- return "Recording";
+ return tr("TAS state: Recording %1").arg(total_tas_frames);
case TasInput::TasState::Stopped:
- return "Stopped";
+ return tr("TAS state: Idle %1/%2").arg(current_tas_frame).arg(total_tas_frames);
default:
- return "INVALID STATE";
+ return tr("INVALID TAS STATE");
}
}
@@ -2923,12 +2923,7 @@ void GMainWindow::UpdateStatusBar() {
}
if (Settings::values.tas_enable) {
- auto [tas_status, current_tas_frame, total_tas_frames] =
- input_subsystem->GetTas()->GetStatus();
- tas_label->setText(tr("%1 TAS %2/%3")
- .arg(tr(GetTasStateDescription(tas_status).c_str()))
- .arg(current_tas_frame)
- .arg(total_tas_frames));
+ tas_label->setText(GetTasStateDescription());
} else {
tas_label->clear();
}
diff --git a/src/yuzu/main.h b/src/yuzu/main.h
index 867a0003c..610b59ee5 100644
--- a/src/yuzu/main.h
+++ b/src/yuzu/main.h
@@ -301,6 +301,7 @@ private:
void OpenURL(const QUrl& url);
void LoadTranslation();
void OpenPerGameConfiguration(u64 title_id, const std::string& file_name);
+ QString GetTasStateDescription() const;
Ui::MainWindow ui;