Fix CLI args

This commit is contained in:
SimoneN64
2024-08-16 00:13:49 +02:00
parent 74a45787b9
commit 38859deaf1
7 changed files with 14 additions and 16 deletions

View File

@@ -12,7 +12,7 @@ void Core::Stop() {
cpu->Reset(); 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); return cpu->GetMem().mmio.si.pif.movie.Load(path);
} }

View File

@@ -10,7 +10,7 @@ struct Core {
Core(ParallelRDP&); Core(ParallelRDP&);
void Stop(); void Stop();
void LoadROM(const std::string&); void LoadROM(const std::string&);
bool LoadTAS(const fs::path&); bool LoadTAS(const fs::path&) const;
void Run(float volumeL, float volumeR); void Run(float volumeL, float volumeR);
void Serialize(); void Serialize();
void Deserialize(); void Deserialize();

View File

@@ -52,8 +52,6 @@ struct MupenMovie {
n64::Controller NextInputs(); n64::Controller NextInputs();
bool IsLoaded() const { return !loadedTasMovie.empty(); } bool IsLoaded() const { return !loadedTasMovie.empty(); }
private: private:
std::string filename = "";
std::string game = "";
std::vector<u8> loadedTasMovie = {}; std::vector<u8> loadedTasMovie = {};
TASMovieHeader loadedTasMovieHeader = {}; TASMovieHeader loadedTasMovieHeader = {};
uint32_t loadedTasMovieIndex = 0; uint32_t loadedTasMovieIndex = 0;

View File

@@ -53,6 +53,9 @@ void KaizenQt::dropEvent(QDropEvent* event) {
} }
void KaizenQt::LoadROM(const QString& fileName) noexcept { 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->start();
emuThread->core.LoadROM(fileName.toStdString()); emuThread->core.LoadROM(fileName.toStdString());
} }
@@ -61,8 +64,8 @@ void KaizenQt::closeEvent(QCloseEvent*) {
emuThread->Stop(); emuThread->Stop();
} }
void KaizenQt::LoadTAS(const QString& fileName) noexcept { void KaizenQt::LoadTAS(const QString& fileName) const noexcept {
emuThread->core.LoadTAS(fileName.toStdString()); emuThread->core.LoadTAS(fs::path(fileName.toStdString()));
} }
void KaizenQt::keyPressEvent(QKeyEvent *e) { void KaizenQt::keyPressEvent(QKeyEvent *e) {

View File

@@ -27,7 +27,7 @@ class KaizenQt : public QWidget {
Q_OBJECT Q_OBJECT
public: public:
KaizenQt() noexcept; KaizenQt() noexcept;
void LoadTAS(const QString& path) noexcept; void LoadTAS(const QString& path) const noexcept;
void LoadROM(const QString& path) noexcept; void LoadROM(const QString& path) noexcept;
void dropEvent(QDropEvent*) override; void dropEvent(QDropEvent*) override;
void dragEnterEvent(QDragEnterEvent*) override; void dragEnterEvent(QDragEnterEvent*) override;

View File

@@ -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)"); "All supported types (*.zip *.ZIP *.7z *.7Z *.rar *.RAR *.tar *.TAR *.n64 *.N64 *.v64 *.V64 *.z64 *.Z64)");
if (!file_name.isEmpty()) { if (!file_name.isEmpty()) {
view.actionPause->setEnabled(true);
view.actionReset->setEnabled(true);
view.actionStop->setEnabled(true);
emit OpenROM(file_name); emit OpenROM(file_name);
view.vulkanWidget->show(); view.vulkanWidget->show();
} }

View File

@@ -10,15 +10,15 @@ int main(int argc, char** argv) {
QCommandLineParser parser; QCommandLineParser parser;
parser.setApplicationDescription(QCoreApplication::applicationName()); parser.setApplicationDescription(QCoreApplication::applicationName());
parser.addHelpOption(); parser.addHelpOption();
parser.addPositionalArgument("rom", "Rom to launch from command-line"); parser.addOptions({{"rom", "Rom to launch from command-line", "path"},
parser.addPositionalArgument("m64", "Mupen Movie to replay"); {"movie", "Mupen Movie to replay", "path"}});
parser.process(app); parser.process(app);
KaizenQt kaizenQt; KaizenQt kaizenQt;
if (parser.positionalArguments().size() > 0) { if (parser.isSet("rom")) {
kaizenQt.LoadROM(parser.positionalArguments().first()); kaizenQt.LoadROM(parser.value("rom"));
if (parser.positionalArguments().size() > 1) { if (parser.isSet("movie")) {
kaizenQt.LoadTAS(parser.positionalArguments()[1]); kaizenQt.LoadTAS(parser.value("movie"));
} }
} }