When running a game from the command line, exit after emulation stops.

This "run once" behavior is more in line with expectations of a command
line invocation and matches what the nowx build does.

Personally, this makes the main build do everything the nowx build does
and more.

However, if you feel that the main build still doesn't have feature parity
with nowx, please say so now, so we can fix it and kill off nowx.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5855 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Soren Jorvang 2010-07-08 17:25:20 +00:00
parent a4a61ae95c
commit 17e6c16bf1
4 changed files with 12 additions and 15 deletions

View File

@ -23,11 +23,10 @@ System Requirements:
Usage: Dolphin [-h] [-d] [-l] [-e <str>] [-V <str>] [-A <str>] [-P <str>] [-W <str>] Usage: Dolphin [-h] [-d] [-l] [-e <str>] [-V <str>] [-A <str>] [-P <str>] [-W <str>]
-h, --help Show this help message -h, --help Show this help message
-d, --debugger Opens the debugger -d, --debugger Opens the debugger
-l, --logger Opens The Logger -l, --logger Opens the logger
-e, --elf=<str> Loads an elf file -e, --exec=<str> Loads the specified file (DOL, ELF, WAD, GCM, ISO)
-V, --video_plugin=<str> Specify a video plugin -V, --video_plugin=<str> Specify a video plugin
-A, --audio_plugin=<str> Specify an audio plugin -A, --audio_plugin=<str> Specify an audio plugin
-P, --pad_plugin=<str> Specify a pad plugin
-W, --wiimote_plugin=<str> Specify a wiimote plugin -W, --wiimote_plugin=<str> Specify a wiimote plugin
[Libraries] [Libraries]

View File

@ -68,7 +68,7 @@ SConfig::~SConfig()
void SConfig::SaveSettings() void SConfig::SaveSettings()
{ {
NOTICE_LOG(BOOT, "Saving Settings to %s", File::GetUserPath(F_DOLPHINCONFIG_IDX)); NOTICE_LOG(BOOT, "Saving settings");
IniFile ini; IniFile ini;
ini.Load(File::GetUserPath(F_DOLPHINCONFIG_IDX)); // load first to not kill unknown stuff ini.Load(File::GetUserPath(F_DOLPHINCONFIG_IDX)); // load first to not kill unknown stuff

View File

@ -903,6 +903,12 @@ void CFrame::DoStop()
// Clean framerate indications from the status bar. // Clean framerate indications from the status bar.
m_pStatusBar->SetStatusText(wxT(" "), 0); m_pStatusBar->SetStatusText(wxT(" "), 0);
extern bool LoadFile;
// If an executable was specified on the command-line, exit now.
if (LoadFile)
Close(true);
} }
} }

View File

@ -55,7 +55,7 @@ END_EVENT_TABLE()
bool wxMsgAlert(const char*, const char*, bool, int); bool wxMsgAlert(const char*, const char*, bool, int);
CFrame* main_frame = NULL; CFrame* main_frame = NULL;
static bool LoadFile = false; bool LoadFile = false;
static wxString FileToLoad; static wxString FileToLoad;
#ifdef WIN32 #ifdef WIN32
@ -113,7 +113,7 @@ bool DolphinApp::OnInit()
wxCMD_LINE_SWITCH, "d", "debugger", "Opens the debugger" wxCMD_LINE_SWITCH, "d", "debugger", "Opens the debugger"
}, },
{ {
wxCMD_LINE_SWITCH, "l", "logger", "Opens The Logger" wxCMD_LINE_SWITCH, "l", "logger", "Opens the logger"
}, },
{ {
wxCMD_LINE_OPTION, "e", "exec", "Loads the specified file (DOL, ELF, WAD, GCM, ISO)", wxCMD_LINE_OPTION, "e", "exec", "Loads the specified file (DOL, ELF, WAD, GCM, ISO)",
@ -127,10 +127,6 @@ bool DolphinApp::OnInit()
wxCMD_LINE_OPTION, "A", "audio_plugin","Specify an audio plugin", wxCMD_LINE_OPTION, "A", "audio_plugin","Specify an audio plugin",
wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL
}, },
{
wxCMD_LINE_OPTION, "P", "pad_plugin","Specify a pad plugin",
wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL
},
{ {
wxCMD_LINE_OPTION, "W", "wiimote_plugin","Specify a wiimote plugin", wxCMD_LINE_OPTION, "W", "wiimote_plugin","Specify a wiimote plugin",
wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL
@ -151,7 +147,7 @@ bool DolphinApp::OnInit()
wxCMD_LINE_SWITCH, _("d"), _("debugger"), wxT("Opens the debugger") wxCMD_LINE_SWITCH, _("d"), _("debugger"), wxT("Opens the debugger")
}, },
{ {
wxCMD_LINE_SWITCH, _("l"), _("logger"), wxT("Opens The Logger") wxCMD_LINE_SWITCH, _("l"), _("logger"), wxT("Opens the logger")
}, },
{ {
wxCMD_LINE_OPTION, _("e"), _("exec"), wxT("Loads the specified file (DOL, ELF, WAD, GCM, ISO)"), wxCMD_LINE_OPTION, _("e"), _("exec"), wxT("Loads the specified file (DOL, ELF, WAD, GCM, ISO)"),
@ -165,10 +161,6 @@ bool DolphinApp::OnInit()
wxCMD_LINE_OPTION, _("A"), _("audio_plugin"), wxT("Specify an audio plugin"), wxCMD_LINE_OPTION, _("A"), _("audio_plugin"), wxT("Specify an audio plugin"),
wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL
}, },
{
wxCMD_LINE_OPTION, _("P"), _("pad_plugin"), wxT("Specify a pad plugin"),
wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL
},
{ {
wxCMD_LINE_OPTION, _("W"), _("wiimote_plugin"), wxT("Specify a wiimote plugin"), wxCMD_LINE_OPTION, _("W"), _("wiimote_plugin"), wxT("Specify a wiimote plugin"),
wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL