mirror of https://github.com/stella-emu/stella.git
Added shortcut for temporarily starting Stella in a rom directory
other than that specified by 'romdir'. I'm not going to document this functionality, since it's a convenience function that will probably only be used by me anyway. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2333 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
06de98d05d
commit
0138086583
|
@ -109,7 +109,6 @@ int main(int argc, char* argv[])
|
|||
// Take care of commandline arguments
|
||||
theOSystem->logMessage("Loading commandline arguments ...\n", 2);
|
||||
string romfile = theOSystem->settings().loadCommandLine(argc, argv);
|
||||
FilesystemNode romnode(romfile);
|
||||
|
||||
// Finally, make sure the settings are valid
|
||||
// We do it once here, so the rest of the program can assume valid settings
|
||||
|
@ -137,7 +136,8 @@ int main(int argc, char* argv[])
|
|||
else if(theOSystem->settings().getBool("rominfo"))
|
||||
{
|
||||
theOSystem->logMessage("Showing output from 'rominfo' ...\n", 2);
|
||||
if(argc > 1 && romnode.exists())
|
||||
FilesystemNode romnode(romfile);
|
||||
if(argc > 1 && romnode.exists() && !romnode.isDirectory())
|
||||
theOSystem->logMessage(theOSystem->getROMInfo(romfile), 0);
|
||||
else
|
||||
theOSystem->logMessage("ERROR: ROM doesn't exist\n", 0);
|
||||
|
@ -163,14 +163,19 @@ int main(int argc, char* argv[])
|
|||
//// Main loop ////
|
||||
// First we check if a ROM is specified on the commandline. If so, and if
|
||||
// the ROM actually exists, use it to create a new console.
|
||||
// Next we check if a directory is specified on the commandline. If so,
|
||||
// open the rom launcher in that directory.
|
||||
// If not, use the built-in ROM launcher. In this case, we enter 'launcher'
|
||||
// mode and let the main event loop take care of opening a new console/ROM.
|
||||
if(argc == 1 || romfile == "" || !romnode.exists() || romnode.isDirectory())
|
||||
FilesystemNode romnode(romfile);
|
||||
if(romfile == "" || romnode.isDirectory())
|
||||
{
|
||||
theOSystem->logMessage("Attempting to use ROM launcher ...\n", 2);
|
||||
if(theOSystem->settings().getBool("uselauncher"))
|
||||
{
|
||||
if(!theOSystem->createLauncher())
|
||||
bool launcherOpened = romfile != "" ?
|
||||
theOSystem->createLauncher(romnode.getPath()) : theOSystem->createLauncher();
|
||||
if(!launcherOpened)
|
||||
return Cleanup();
|
||||
}
|
||||
else
|
||||
|
@ -180,7 +185,7 @@ int main(int argc, char* argv[])
|
|||
return Cleanup();
|
||||
}
|
||||
}
|
||||
else if(theOSystem->createConsole(romfile))
|
||||
else if(theOSystem->createConsole(romnode.getPath()))
|
||||
{
|
||||
if(theOSystem->settings().getBool("takesnapshot"))
|
||||
{
|
||||
|
|
|
@ -592,8 +592,10 @@ void OSystem::deleteConsole()
|
|||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
bool OSystem::createLauncher()
|
||||
bool OSystem::createLauncher(const string& startdir)
|
||||
{
|
||||
mySettings->setString("tmpromdir", startdir);
|
||||
|
||||
myEventHandler->reset(EventHandler::S_LAUNCHER);
|
||||
if(createFrameBuffer() != kSuccess)
|
||||
{
|
||||
|
|
|
@ -338,9 +338,12 @@ class OSystem
|
|||
/**
|
||||
Creates a new ROM launcher, to select a new ROM to emulate.
|
||||
|
||||
@param startdir The directory to use when opening the launcher;
|
||||
if blank, use 'romdir' setting.
|
||||
|
||||
@return True on successful creation, otherwise false
|
||||
*/
|
||||
bool createLauncher();
|
||||
bool createLauncher(const string& startdir = "");
|
||||
|
||||
/**
|
||||
Gets all possible info about the ROM by creating a temporary
|
||||
|
|
|
@ -233,7 +233,9 @@ const string& LauncherDialog::selectedRomMD5()
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void LauncherDialog::loadConfig()
|
||||
{
|
||||
const string& romdir = instance().settings().getString("romdir");
|
||||
const string& tmpromdir = instance().settings().getString("tmpromdir");
|
||||
const string& romdir = tmpromdir != "" ? tmpromdir :
|
||||
instance().settings().getString("romdir");
|
||||
|
||||
// When romdir hasn't been set, it probably indicates that this is the first
|
||||
// time running Stella; in this case, we should prompt the user
|
||||
|
|
|
@ -1964,7 +1964,7 @@
|
|||
2D91752309BA903B0026E9FF /* Deployment */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
.,
|
||||
"$(HOME)/Library/Frameworks",
|
||||
|
|
Loading…
Reference in New Issue