Просмотр исходного кода

main: TAS Playback state label

During script playback/recording, the user has to see what happens currently. For that, a new label has been added to the bottom-left corner, always displaying the current state of the TASing system.
MonsterDruide1 5 лет назад
Родитель
Сommit
3a7b37238b
2 измененных файлов с 10 добавлено и 0 удалено
  1. 9 0
      src/yuzu/main.cpp
  2. 1 0
      src/yuzu/main.h

+ 9 - 0
src/yuzu/main.cpp

@@ -30,6 +30,8 @@
 #include "core/hle/service/am/applet_oe.h"
 #include "core/hle/service/am/applets/applets.h"
 
+#include "input_common/tas/tas_input.h"
+
 // These are wrappers to avoid the calls to CreateDirectory and CreateFile because of the Windows
 // defines.
 static FileSys::VirtualDir VfsFilesystemCreateDirectoryWrapper(
@@ -824,6 +826,12 @@ void GMainWindow::InitializeWidgets() {
     });
     statusBar()->insertPermanentWidget(0, renderer_status_button);
 
+    TASlabel = new QLabel();
+    TASlabel->setObjectName(QStringLiteral("TASlabel"));
+    TASlabel->setText(tr("TAS not running"));
+    TASlabel->setFocusPolicy(Qt::NoFocus);
+    statusBar()->insertPermanentWidget(0, TASlabel);
+
     statusBar()->setVisible(true);
     setStyleSheet(QStringLiteral("QStatusBar::item{border: none;}"));
 }
@@ -2894,6 +2902,7 @@ void GMainWindow::UpdateStatusBar() {
         return;
     }
 
+    TASlabel->setText(tr(input_subsystem->GetTas()->GetStatusDescription().c_str())); 
     auto& system = Core::System::GetInstance();
     auto results = system.GetAndResetPerfStats();
     auto& shader_notify = system.GPU().ShaderNotify();

+ 1 - 0
src/yuzu/main.h

@@ -318,6 +318,7 @@ private:
     QLabel* emu_speed_label = nullptr;
     QLabel* game_fps_label = nullptr;
     QLabel* emu_frametime_label = nullptr;
+    QLabel* TASlabel;
     QPushButton* gpu_accuracy_button = nullptr;
     QPushButton* renderer_status_button = nullptr;
     QPushButton* dock_status_button = nullptr;