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();
}
bool Core::LoadTAS(const fs::path &path) {
bool Core::LoadTAS(const fs::path &path) const {
return cpu->GetMem().mmio.si.pif.movie.Load(path);
}

View File

@@ -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();

View File

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

View File

@@ -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) {

View File

@@ -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;

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)");
if (!file_name.isEmpty()) {
view.actionPause->setEnabled(true);
view.actionReset->setEnabled(true);
view.actionStop->setEnabled(true);
emit OpenROM(file_name);
view.vulkanWidget->show();
}

View File

@@ -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"));
}
}