mirror of https://github.com/stella-emu/stella.git
When saving snapshots, now the messages are printed to the screen (instead
of stderr). Fixed the X11 version wrt to merging changes into the main properties file. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@141 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
b2fdecf86e
commit
b93d8d186d
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: mainSDL.cxx,v 1.36 2002-11-11 22:09:07 stephena Exp $
|
// $Id: mainSDL.cxx,v 1.37 2002-11-12 01:50:06 stephena Exp $
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
@ -1286,9 +1286,13 @@ void handleEvents()
|
||||||
void takeSnapshot()
|
void takeSnapshot()
|
||||||
{
|
{
|
||||||
#ifdef HAVE_PNG
|
#ifdef HAVE_PNG
|
||||||
|
string message;
|
||||||
|
|
||||||
if(!snapshot)
|
if(!snapshot)
|
||||||
{
|
{
|
||||||
cerr << "Snapshot support disabled.\n";
|
message = "Snapshots disabled";
|
||||||
|
theConsole->mediaSource().showMessage(message,
|
||||||
|
MESSAGE_INTERVAL * settings->theDesiredFrameRate);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1336,11 +1340,21 @@ void takeSnapshot()
|
||||||
snapshot->savePNG(filename, theConsole->mediaSource(), settings->theWindowSize);
|
snapshot->savePNG(filename, theConsole->mediaSource(), settings->theWindowSize);
|
||||||
|
|
||||||
if(access(filename.c_str(), F_OK) == 0)
|
if(access(filename.c_str(), F_OK) == 0)
|
||||||
cerr << "Snapshot saved as " << filename << endl;
|
{
|
||||||
|
message = "Snapshot saved";
|
||||||
|
theConsole->mediaSource().showMessage(message,
|
||||||
|
MESSAGE_INTERVAL * settings->theDesiredFrameRate);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
cerr << "Couldn't create snapshot " << filename << endl;
|
{
|
||||||
|
message = "Snapshot not saved";
|
||||||
|
theConsole->mediaSource().showMessage(message,
|
||||||
|
MESSAGE_INTERVAL * settings->theDesiredFrameRate);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
cerr << "Snapshot mode not supported.\n";
|
string message = "Snapshots unsupported";
|
||||||
|
theConsole->mediaSource().showMessage(message,
|
||||||
|
MESSAGE_INTERVAL * settings->theDesiredFrameRate);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: mainX11.cxx,v 1.31 2002-11-11 21:11:48 stephena Exp $
|
// $Id: mainX11.cxx,v 1.32 2002-11-12 01:50:06 stephena Exp $
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
@ -210,6 +210,10 @@ static bool isCentered = false;
|
||||||
// Indicates the current state to use for state saving
|
// Indicates the current state to use for state saving
|
||||||
static uInt32 currentState = 0;
|
static uInt32 currentState = 0;
|
||||||
|
|
||||||
|
static string homePropertiesFile;
|
||||||
|
static string systemPropertiesFile;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This routine should be called once the console is created to setup
|
This routine should be called once the console is created to setup
|
||||||
the X11 connection and open a window for us to use. Return false if any
|
the X11 connection and open a window for us to use. Return false if any
|
||||||
|
@ -683,10 +687,18 @@ void handleEvents()
|
||||||
{
|
{
|
||||||
if(event.xkey.state & Mod1Mask)
|
if(event.xkey.state & Mod1Mask)
|
||||||
{
|
{
|
||||||
string newPropertiesFile = getenv("HOME");
|
if(settings->theMergePropertiesFlag) // Attempt to merge with propertiesSet
|
||||||
newPropertiesFile = newPropertiesFile + "/" + \
|
{
|
||||||
theConsole->properties().get("Cartridge.Name") + ".pro";
|
theConsole->saveProperties(homePropertiesFile, true);
|
||||||
theConsole->saveProperties(newPropertiesFile);
|
}
|
||||||
|
else // Save to file in home directory
|
||||||
|
{
|
||||||
|
string newPropertiesFile = getenv("HOME");
|
||||||
|
newPropertiesFile = newPropertiesFile + "/" + \
|
||||||
|
theConsole->properties().get("Cartridge.Name") + ".pro";
|
||||||
|
replace(newPropertiesFile.begin(), newPropertiesFile.end(), ' ', '_');
|
||||||
|
theConsole->saveProperties(newPropertiesFile);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1184,9 +1196,13 @@ bool createCursors()
|
||||||
void takeSnapshot()
|
void takeSnapshot()
|
||||||
{
|
{
|
||||||
#ifdef HAVE_PNG
|
#ifdef HAVE_PNG
|
||||||
|
string message;
|
||||||
|
|
||||||
if(!snapshot)
|
if(!snapshot)
|
||||||
{
|
{
|
||||||
cerr << "Snapshot support disabled.\n";
|
message = "Snapshots disabled";
|
||||||
|
theConsole->mediaSource().showMessage(message,
|
||||||
|
MESSAGE_INTERVAL * settings->theDesiredFrameRate);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1234,11 +1250,21 @@ void takeSnapshot()
|
||||||
snapshot->savePNG(filename, theConsole->mediaSource(), settings->theWindowSize);
|
snapshot->savePNG(filename, theConsole->mediaSource(), settings->theWindowSize);
|
||||||
|
|
||||||
if(access(filename.c_str(), F_OK) == 0)
|
if(access(filename.c_str(), F_OK) == 0)
|
||||||
cerr << "Snapshot saved as " << filename << endl;
|
{
|
||||||
|
message = "Snapshot saved";
|
||||||
|
theConsole->mediaSource().showMessage(message,
|
||||||
|
MESSAGE_INTERVAL * settings->theDesiredFrameRate);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
cerr << "Couldn't create snapshot " << filename << endl;
|
{
|
||||||
|
message = "Snapshot not saved";
|
||||||
|
theConsole->mediaSource().showMessage(message,
|
||||||
|
MESSAGE_INTERVAL * settings->theDesiredFrameRate);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
cerr << "Snapshot mode not supported.\n";
|
string message = "Snapshots unsupported";
|
||||||
|
theConsole->mediaSource().showMessage(message,
|
||||||
|
MESSAGE_INTERVAL * settings->theDesiredFrameRate);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1278,7 +1304,7 @@ void usage()
|
||||||
{
|
{
|
||||||
static const char* message[] = {
|
static const char* message[] = {
|
||||||
"",
|
"",
|
||||||
"X Stella version 1.2",
|
"X Stella version 1.3",
|
||||||
"",
|
"",
|
||||||
"Usage: stella.x11 [option ...] file",
|
"Usage: stella.x11 [option ...] file",
|
||||||
"",
|
"",
|
||||||
|
@ -1314,6 +1340,8 @@ void usage()
|
||||||
" -Dwidth Sets \"Display.Width\"",
|
" -Dwidth Sets \"Display.Width\"",
|
||||||
" -Dystart Sets \"Display.YStart\"",
|
" -Dystart Sets \"Display.YStart\"",
|
||||||
" -Dheight Sets \"Display.Height\"",
|
" -Dheight Sets \"Display.Height\"",
|
||||||
|
" -Dmerge <0|1> Merge changed properties into properties file,",
|
||||||
|
" or save into a separate file",
|
||||||
#endif
|
#endif
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
@ -1334,9 +1362,14 @@ void usage()
|
||||||
*/
|
*/
|
||||||
bool setupProperties(PropertiesSet& set)
|
bool setupProperties(PropertiesSet& set)
|
||||||
{
|
{
|
||||||
string homePropertiesFile = getenv("HOME");
|
bool useMemList = false;
|
||||||
homePropertiesFile += "/.stella/stella.pro";
|
|
||||||
string systemPropertiesFile = "/etc/stella.pro";
|
#ifdef DEVELOPER_SUPPORT
|
||||||
|
// If the user wishes to merge any property modifications to the
|
||||||
|
// PropertiesSet file, then the PropertiesSet file MUST be loaded
|
||||||
|
// into memory.
|
||||||
|
useMemList = settings->theMergePropertiesFlag;
|
||||||
|
#endif
|
||||||
|
|
||||||
// Check to see if the user has specified an alternate .pro file.
|
// Check to see if the user has specified an alternate .pro file.
|
||||||
// If it exists, use it.
|
// If it exists, use it.
|
||||||
|
@ -1344,26 +1377,25 @@ bool setupProperties(PropertiesSet& set)
|
||||||
{
|
{
|
||||||
if(access(settings->theAlternateProFile.c_str(), R_OK) == 0)
|
if(access(settings->theAlternateProFile.c_str(), R_OK) == 0)
|
||||||
{
|
{
|
||||||
set.load(settings->theAlternateProFile,
|
set.load(settings->theAlternateProFile, &Console::defaultProperties(), useMemList);
|
||||||
&Console::defaultProperties(), false);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cerr << "ERROR: Couldn't find \"" << settings->theAlternateProFile <<
|
cerr << "ERROR: Couldn't find \"" << settings->theAlternateProFile
|
||||||
"\" properties file." << endl;
|
<< "\" properties file." << endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(access(homePropertiesFile.c_str(), R_OK) == 0)
|
if(access(homePropertiesFile.c_str(), R_OK) == 0)
|
||||||
{
|
{
|
||||||
set.load(homePropertiesFile, &Console::defaultProperties(), false);
|
set.load(homePropertiesFile, &Console::defaultProperties(), useMemList);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if(access(systemPropertiesFile.c_str(), R_OK) == 0)
|
else if(access(systemPropertiesFile.c_str(), R_OK) == 0)
|
||||||
{
|
{
|
||||||
set.load(systemPropertiesFile, &Console::defaultProperties(), false);
|
set.load(systemPropertiesFile, &Console::defaultProperties(), useMemList);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1434,6 +1466,7 @@ void cleanup()
|
||||||
/**
|
/**
|
||||||
Creates some directories under $HOME.
|
Creates some directories under $HOME.
|
||||||
Required directories are $HOME/.stella and $HOME/.stella/state
|
Required directories are $HOME/.stella and $HOME/.stella/state
|
||||||
|
Also sets up various locations for properties files, etc.
|
||||||
*/
|
*/
|
||||||
bool setupDirs()
|
bool setupDirs()
|
||||||
{
|
{
|
||||||
|
@ -1455,6 +1488,10 @@ bool setupDirs()
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
homePropertiesFile = getenv("HOME");
|
||||||
|
homePropertiesFile += "/.stella/stella.pro";
|
||||||
|
systemPropertiesFile = "/etc/stella.pro";
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1573,6 +1610,7 @@ int main(int argc, char* argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call handleEvents here to see if user pressed pause
|
// Call handleEvents here to see if user pressed pause
|
||||||
|
startTime = getTicks();
|
||||||
handleEvents();
|
handleEvents();
|
||||||
if(thePauseIndicator)
|
if(thePauseIndicator)
|
||||||
{
|
{
|
||||||
|
@ -1581,7 +1619,6 @@ int main(int argc, char* argv[])
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
startTime = getTicks();
|
|
||||||
theConsole->mediaSource().update();
|
theConsole->mediaSource().update();
|
||||||
sound.updateSound(theConsole->mediaSource());
|
sound.updateSound(theConsole->mediaSource());
|
||||||
updateDisplay(theConsole->mediaSource());
|
updateDisplay(theConsole->mediaSource());
|
||||||
|
@ -1620,13 +1657,13 @@ int main(int argc, char* argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
startTime = getTicks();
|
startTime = getTicks();
|
||||||
|
handleEvents();
|
||||||
if(!thePauseIndicator)
|
if(!thePauseIndicator)
|
||||||
{
|
{
|
||||||
theConsole->mediaSource().update();
|
theConsole->mediaSource().update();
|
||||||
sound.updateSound(theConsole->mediaSource());
|
sound.updateSound(theConsole->mediaSource());
|
||||||
}
|
}
|
||||||
updateDisplay(theConsole->mediaSource());
|
updateDisplay(theConsole->mediaSource());
|
||||||
handleEvents();
|
|
||||||
|
|
||||||
currentTime = getTicks();
|
currentTime = getTicks();
|
||||||
virtualTime += timePerFrame;
|
virtualTime += timePerFrame;
|
||||||
|
|
Loading…
Reference in New Issue