Fix CLI args
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user