mirror of https://github.com/mgba-emu/mgba.git
Qt: Fix passing command line options
This commit is contained in:
parent
742296b8b9
commit
cf8e84a1f8
1
CHANGES
1
CHANGES
|
@ -66,6 +66,7 @@ Bugfixes:
|
||||||
- GBA Cheats: Fix Pro Action Replay and GameShark issues when used together
|
- GBA Cheats: Fix Pro Action Replay and GameShark issues when used together
|
||||||
- Qt: Fix analog buttons not getting unmapped
|
- Qt: Fix analog buttons not getting unmapped
|
||||||
- GBA Video: Prevent tiles < 512 from being used in modes 3 - 5
|
- GBA Video: Prevent tiles < 512 from being used in modes 3 - 5
|
||||||
|
- Qt: Fix passing command line options
|
||||||
Misc:
|
Misc:
|
||||||
- Qt: Handle saving input settings better
|
- Qt: Handle saving input settings better
|
||||||
- Debugger: Free watchpoints in addition to breakpoints
|
- Debugger: Free watchpoints in addition to breakpoints
|
||||||
|
|
|
@ -115,8 +115,8 @@ ConfigController::ConfigController(QObject* parent)
|
||||||
m_opts.rewindBufferCapacity = 0;
|
m_opts.rewindBufferCapacity = 0;
|
||||||
m_opts.useBios = true;
|
m_opts.useBios = true;
|
||||||
m_opts.suspendScreensaver = true;
|
m_opts.suspendScreensaver = true;
|
||||||
GBAConfigLoadDefaults(&m_config, &m_opts);
|
|
||||||
GBAConfigLoad(&m_config);
|
GBAConfigLoad(&m_config);
|
||||||
|
GBAConfigLoadDefaults(&m_config, &m_opts);
|
||||||
GBAConfigMap(&m_config, &m_opts);
|
GBAConfigMap(&m_config, &m_opts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,7 +126,11 @@ ConfigController::~ConfigController() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ConfigController::parseArguments(GBAArguments* args, int argc, char* argv[]) {
|
bool ConfigController::parseArguments(GBAArguments* args, int argc, char* argv[]) {
|
||||||
return ::parseArguments(args, &m_config, argc, argv, 0);
|
if (::parseArguments(args, &m_config, argc, argv, 0)) {
|
||||||
|
GBAConfigMap(&m_config, &m_opts);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ConfigOption* ConfigController::addOption(const char* key) {
|
ConfigOption* ConfigController::addOption(const char* key) {
|
||||||
|
|
|
@ -45,14 +45,21 @@ GBAApp::GBAApp(int& argc, char* argv[])
|
||||||
Display::setDriver(static_cast<Display::Driver>(m_configController.getQtOption("displayDriver").toInt()));
|
Display::setDriver(static_cast<Display::Driver>(m_configController.getQtOption("displayDriver").toInt()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GBAArguments args;
|
||||||
|
bool loaded = m_configController.parseArguments(&args, argc, argv);
|
||||||
|
if (loaded && args.showHelp) {
|
||||||
|
usage(argv[0], 0);
|
||||||
|
::exit(0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Window* w = new Window(&m_configController);
|
Window* w = new Window(&m_configController);
|
||||||
connect(w, &Window::destroyed, [this]() {
|
connect(w, &Window::destroyed, [this]() {
|
||||||
m_windows[0] = nullptr;
|
m_windows[0] = nullptr;
|
||||||
});
|
});
|
||||||
m_windows[0] = w;
|
m_windows[0] = w;
|
||||||
|
|
||||||
GBAArguments args;
|
if (loaded) {
|
||||||
if (m_configController.parseArguments(&args, argc, argv)) {
|
|
||||||
w->argumentsPassed(&args);
|
w->argumentsPassed(&args);
|
||||||
} else {
|
} else {
|
||||||
w->loadConfig();
|
w->loadConfig();
|
||||||
|
|
Loading…
Reference in New Issue