First pass at showing runtime info in the About window. This is useful for

determining whether we're running in 32 or 64-bit mode on a particular
system (especially in OSX, where the same app could contain up to 4 actual
builds).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1889 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2009-10-25 22:34:40 +00:00
parent 665d78455f
commit aaf30c2f28
5 changed files with 39 additions and 19 deletions

View File

@ -89,24 +89,35 @@ OSystem::OSystem()
myRomFile(""),
myRomMD5(""),
myFeatures(""),
myBuildInfo(""),
myFont(NULL),
myConsoleFont(NULL)
{
#ifdef DISPLAY_OPENGL
myFeatures += "OpenGL ";
#endif
#ifdef SOUND_SUPPORT
myFeatures += "Sound ";
#endif
#ifdef JOYSTICK_SUPPORT
myFeatures += "Joystick ";
#endif
#ifdef DEBUGGER_SUPPORT
myFeatures += "Debugger ";
#endif
#ifdef CHEATCODE_SUPPORT
myFeatures += "Cheats";
#endif
// Get built-in features
#ifdef DISPLAY_OPENGL
myFeatures += "OpenGL ";
#endif
#ifdef SOUND_SUPPORT
myFeatures += "Sound ";
#endif
#ifdef JOYSTICK_SUPPORT
myFeatures += "Joystick ";
#endif
#ifdef DEBUGGER_SUPPORT
myFeatures += "Debugger ";
#endif
#ifdef CHEATCODE_SUPPORT
myFeatures += "Cheats";
#endif
// Get build info
ostringstream info;
const SDL_version* ver = SDL_Linked_Version();
info << "Build " << "TODO" << ", using ";
info << "SDL " << (int)ver->major << "." << (int)ver->minor << "." << (int)ver->patch << " ";
info << "[" << " " << "]";
myBuildInfo = info.str();
#if 0
// Debugging info for the GUI widgets

View File

@ -346,6 +346,13 @@ class OSystem
*/
const string& features() const { return myFeatures; }
/**
The build information for Stella (SDL version, architecture, etc).
@return The build info
*/
const string& buildInfo() const { return myBuildInfo; }
/**
Calculate the MD5sum of the given file.
@ -505,6 +512,7 @@ class OSystem
string myRomMD5;
string myFeatures;
string myBuildInfo;
// The font object to use when space is very limited
GUI::Font* mySmallFont;

View File

@ -43,7 +43,7 @@ AboutDialog::AboutDialog(OSystem* osystem, DialogContainer* parent,
// Set real dimensions
_w = 52 * fontWidth + 8;
_h = 10 * lineHeight + 20;
_h = 11 * lineHeight + 20;
// Add Previous, Next and Close buttons
xpos = 10; ypos = _h - buttonHeight - 10;
@ -109,8 +109,9 @@ void AboutDialog::updateStrings(int page, int lines, string& title)
title = string("Stella ") + STELLA_VERSION;
ADD_ATEXT("\\CA multi-platform Atari 2600 VCS emulator");
ADD_ATEXT(string("\\C\\c2") + instance().features());
ADD_ATEXT(string("\\C\\c2") + instance().buildInfo());
ADD_ALINE;
ADD_ATEXT("\\CCopyright (C) 1995-2009 The Stella team");
ADD_ATEXT("\\CCopyright (C) 1995-2009 The Stella Team");
ADD_ATEXT("\\Chttp://stella.sourceforge.net");
ADD_ALINE;
ADD_ATEXT("Stella is free software released under the GNU GPL");

View File

@ -37,7 +37,7 @@ class AboutDialog : public Dialog
~AboutDialog();
protected:
enum { kLINES_PER_PAGE = 8 };
enum { kLINES_PER_PAGE = 9 };
ButtonWidget* myNextButton;
ButtonWidget* myPrevButton;

View File

@ -1822,7 +1822,7 @@
2D91752309BA903B0026E9FF /* Deployment */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
FRAMEWORK_SEARCH_PATHS = (
.,
"$(HOME)/Library/Frameworks",