From 38859deaf1709d793fb3cab473ff468c4b43eb76 Mon Sep 17 00:00:00 2001 From: SimoneN64 Date: Fri, 16 Aug 2024 00:13:49 +0200 Subject: [PATCH] Fix CLI args --- src/backend/Core.cpp | 2 +- src/backend/Core.hpp | 2 +- src/backend/core/mmio/PIF/MupenMovie.hpp | 2 -- src/frontend/KaizenQt.cpp | 7 +++++-- src/frontend/KaizenQt.hpp | 2 +- src/frontend/MainWindow.cpp | 3 --- src/frontend/main.cpp | 12 ++++++------ 7 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/backend/Core.cpp b/src/backend/Core.cpp index a3834919..6bd65f21 100644 --- a/src/backend/Core.cpp +++ b/src/backend/Core.cpp @@ -12,7 +12,7 @@ void Core::Stop() { cpu->Reset(); } -bool Core::LoadTAS(const fs::path &path) { +bool Core::LoadTAS(const fs::path &path) const { return cpu->GetMem().mmio.si.pif.movie.Load(path); } diff --git a/src/backend/Core.hpp b/src/backend/Core.hpp index d80a2e00..a253ee15 100644 --- a/src/backend/Core.hpp +++ b/src/backend/Core.hpp @@ -10,7 +10,7 @@ struct Core { Core(ParallelRDP&); void Stop(); void LoadROM(const std::string&); - bool LoadTAS(const fs::path&); + bool LoadTAS(const fs::path&) const; void Run(float volumeL, float volumeR); void Serialize(); void Deserialize(); diff --git a/src/backend/core/mmio/PIF/MupenMovie.hpp b/src/backend/core/mmio/PIF/MupenMovie.hpp index acdc7b60..d03f94b3 100644 --- a/src/backend/core/mmio/PIF/MupenMovie.hpp +++ b/src/backend/core/mmio/PIF/MupenMovie.hpp @@ -52,8 +52,6 @@ struct MupenMovie { n64::Controller NextInputs(); bool IsLoaded() const { return !loadedTasMovie.empty(); } private: - std::string filename = ""; - std::string game = ""; std::vector loadedTasMovie = {}; TASMovieHeader loadedTasMovieHeader = {}; uint32_t loadedTasMovieIndex = 0; diff --git a/src/frontend/KaizenQt.cpp b/src/frontend/KaizenQt.cpp index c6803404..d8e636db 100644 --- a/src/frontend/KaizenQt.cpp +++ b/src/frontend/KaizenQt.cpp @@ -53,6 +53,9 @@ void KaizenQt::dropEvent(QDropEvent* event) { } void KaizenQt::LoadROM(const QString& fileName) noexcept { + mainWindow->view.actionPause->setEnabled(true); + mainWindow->view.actionReset->setEnabled(true); + mainWindow->view.actionStop->setEnabled(true); emuThread->start(); emuThread->core.LoadROM(fileName.toStdString()); } @@ -61,8 +64,8 @@ void KaizenQt::closeEvent(QCloseEvent*) { emuThread->Stop(); } -void KaizenQt::LoadTAS(const QString& fileName) noexcept { - emuThread->core.LoadTAS(fileName.toStdString()); +void KaizenQt::LoadTAS(const QString& fileName) const noexcept { + emuThread->core.LoadTAS(fs::path(fileName.toStdString())); } void KaizenQt::keyPressEvent(QKeyEvent *e) { diff --git a/src/frontend/KaizenQt.hpp b/src/frontend/KaizenQt.hpp index 21f1cdd7..c7503751 100644 --- a/src/frontend/KaizenQt.hpp +++ b/src/frontend/KaizenQt.hpp @@ -27,7 +27,7 @@ class KaizenQt : public QWidget { Q_OBJECT public: KaizenQt() noexcept; - void LoadTAS(const QString& path) noexcept; + void LoadTAS(const QString& path) const noexcept; void LoadROM(const QString& path) noexcept; void dropEvent(QDropEvent*) override; void dragEnterEvent(QDragEnterEvent*) override; diff --git a/src/frontend/MainWindow.cpp b/src/frontend/MainWindow.cpp index 85b58fef..49fd151f 100644 --- a/src/frontend/MainWindow.cpp +++ b/src/frontend/MainWindow.cpp @@ -19,9 +19,6 @@ void MainWindowController::ConnectSignalsToSlots() noexcept { "All supported types (*.zip *.ZIP *.7z *.7Z *.rar *.RAR *.tar *.TAR *.n64 *.N64 *.v64 *.V64 *.z64 *.Z64)"); if (!file_name.isEmpty()) { - view.actionPause->setEnabled(true); - view.actionReset->setEnabled(true); - view.actionStop->setEnabled(true); emit OpenROM(file_name); view.vulkanWidget->show(); } diff --git a/src/frontend/main.cpp b/src/frontend/main.cpp index 5e08594d..24f7c314 100644 --- a/src/frontend/main.cpp +++ b/src/frontend/main.cpp @@ -10,15 +10,15 @@ int main(int argc, char** argv) { QCommandLineParser parser; parser.setApplicationDescription(QCoreApplication::applicationName()); parser.addHelpOption(); - parser.addPositionalArgument("rom", "Rom to launch from command-line"); - parser.addPositionalArgument("m64", "Mupen Movie to replay"); + parser.addOptions({{"rom", "Rom to launch from command-line", "path"}, + {"movie", "Mupen Movie to replay", "path"}}); parser.process(app); KaizenQt kaizenQt; - if (parser.positionalArguments().size() > 0) { - kaizenQt.LoadROM(parser.positionalArguments().first()); - if (parser.positionalArguments().size() > 1) { - kaizenQt.LoadTAS(parser.positionalArguments()[1]); + if (parser.isSet("rom")) { + kaizenQt.LoadROM(parser.value("rom")); + if (parser.isSet("movie")) { + kaizenQt.LoadTAS(parser.value("movie")); } }