diff --git a/base/engine.h b/base/engine.h index 96fd3af9700..1519158fc8c 100644 --- a/base/engine.h +++ b/base/engine.h @@ -25,10 +25,6 @@ #include "common/str.h" #include "common/system.h" -extern const char *gScummVMVersion; // e.g. "0.4.1" -extern const char *gScummVMBuildDate; // e.g. "2003-06-24" -extern const char *gScummVMFullVersion; // e.g. "ScummVM 0.4.1 (2003-06-24)" - class SoundMixer; class Timer; @@ -61,4 +57,3 @@ public: extern Engine *g_engine; #endif - diff --git a/base/gameDetector.cpp b/base/gameDetector.cpp index 98f91a37960..340184e5890 100644 --- a/base/gameDetector.cpp +++ b/base/gameDetector.cpp @@ -25,6 +25,7 @@ #include "base/engine.h" #include "base/gameDetector.h" #include "base/plugins.h" +#include "base/version.h" #include "common/config-manager.h" #include "common/scaler.h" // Only for gfx_modes @@ -371,6 +372,7 @@ void GameDetector::parseCommandLine(int argc, char **argv) { DO_OPTION_CMD('v', "version") printf("%s\n", gScummVMFullVersion); + printf("Features compiled in: %s\n", gScummVMFeatures); exit(0); END_OPTION diff --git a/base/main.cpp b/base/main.cpp index bf33c750840..a5575ea5a8f 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -32,6 +32,7 @@ #include "base/engine.h" #include "base/gameDetector.h" #include "base/plugins.h" +#include "base/version.h" #include "common/config-manager.h" #include "common/scaler.h" // For GFX_NORMAL #include "common/timer.h" @@ -85,7 +86,31 @@ const char *gScummVMVersion = "0.5.7cvs"; const char *gScummVMBuildDate = __DATE__ " " __TIME__; const char *gScummVMFullVersion = "ScummVM 0.5.7cvs (" __DATE__ " " __TIME__ ")"; +const char *gScummVMFeatures = +#ifdef USE_VORBIS + "Vorbis " +#endif +#ifdef USE_FLAC + "FLAC " +#endif + +#ifdef USE_MAD + "MP3 " +#endif + +#ifdef USE_ALSA + "ALSA " +#endif + +#ifdef USE_ZLIB + "zLib " +#endif + +#ifdef USE_MPEG2 + "MPEG2 " +#endif + ; #if defined(WIN32) && defined(NO_CONSOLE) #include diff --git a/base/version.h b/base/version.h new file mode 100644 index 00000000000..ea75d7a479c --- /dev/null +++ b/base/version.h @@ -0,0 +1,29 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2002-2004 The ScummVM project + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Header$ + */ + +#ifndef VERSION_H +#define VERSION_H + +extern const char *gScummVMVersion; // e.g. "0.4.1" +extern const char *gScummVMBuildDate; // e.g. "2003-06-24" +extern const char *gScummVMFullVersion; // e.g. "ScummVM 0.4.1 (2003-06-24)" +extern const char *gScummVMFeatures; // e.g. "ALSA MPEG2 zLib" + +#endif diff --git a/gui/about.cpp b/gui/about.cpp index c0b478704b9..c90c1fe9ad2 100644 --- a/gui/about.cpp +++ b/gui/about.cpp @@ -20,6 +20,7 @@ #include "stdafx.h" #include "base/engine.h" +#include "base/version.h" #include "gui/about.h" #include "gui/newgui.h" #include "gui/widget.h" @@ -27,27 +28,33 @@ namespace GUI { AboutDialog::AboutDialog() - : Dialog(10, 20, 300, 144) { - addButton((_w - kButtonWidth) / 2, 120, "OK", kCloseCmd, '\r'); // Close dialog - FIXME + : Dialog(10, 20, 300, 154) { + + addButton((_w - kButtonWidth) / 2, 130, "OK", kCloseCmd, '\r'); // Close dialog - FIXME Common::String version("ScummVM "); version += gScummVMVersion; - new StaticTextWidget(this, 10, 10, _w - 20, kLineHeight, version, kTextAlignCenter); + new StaticTextWidget(this, 0, 10, _w, kLineHeight, version, kTextAlignCenter); Common::String date("(built on "); date += gScummVMBuildDate; date += ')'; - new StaticTextWidget(this, 10, 20, _w - 20, kLineHeight, date, kTextAlignCenter); + new StaticTextWidget(this, 0, 20, _w, kLineHeight, date, kTextAlignCenter); + Common::String features("Supports: "); + features += gScummVMFeatures; + new StaticTextWidget(this, 0, 30, _w, kLineHeight, features, kTextAlignCenter ); + + // TODO: Probably should display something regarding GPL - new StaticTextWidget(this, 10, 35, _w - 20, kLineHeight, "Copyright (C) 2002-2004 The ScummVM project", kTextAlignCenter); - new StaticTextWidget(this, 10, 45, _w - 20, kLineHeight, "http://www.scummvm.org", kTextAlignCenter); + new StaticTextWidget(this, 0, 45, _w, kLineHeight, "Copyright (C) 2002-2004 The ScummVM project", kTextAlignCenter); + new StaticTextWidget(this, 0, 55, _w, kLineHeight, "http://www.scummvm.org", kTextAlignCenter); - new StaticTextWidget(this, 10, 65, _w - 20, kLineHeight, "LucasArts SCUMM Games (C) LucasArts", kTextAlignCenter); - new StaticTextWidget(this, 10, 75, _w - 20, kLineHeight, "Humongous SCUMM Games (C) Humongous", kTextAlignCenter); - new StaticTextWidget(this, 10, 85, _w - 20, kLineHeight, "Simon the Sorcerer (C) Adventure Soft", kTextAlignCenter); - new StaticTextWidget(this, 10, 95, _w - 20, kLineHeight, "Beneath a Steel Sky (C) Revolution", kTextAlignCenter); - new StaticTextWidget(this, 10, 105, _w - 20, kLineHeight, "Broken Sword Games (C) Revolution", kTextAlignCenter); + new StaticTextWidget(this, 0, 75, _w, kLineHeight, "LucasArts SCUMM Games (C) LucasArts", kTextAlignCenter); + new StaticTextWidget(this, 0, 85, _w, kLineHeight, "Humongous SCUMM Games (C) Humongous", kTextAlignCenter); + new StaticTextWidget(this, 0, 95, _w, kLineHeight, "Simon the Sorcerer (C) Adventure Soft", kTextAlignCenter); + new StaticTextWidget(this, 0, 105, _w, kLineHeight, "Beneath a Steel Sky (C) Revolution", kTextAlignCenter); + new StaticTextWidget(this, 0, 115, _w, kLineHeight, "Broken Sword Games (C) Revolution", kTextAlignCenter); } } // End of namespace GUI diff --git a/gui/console.cpp b/gui/console.cpp index 36e00593744..bf08633bee4 100644 --- a/gui/console.cpp +++ b/gui/console.cpp @@ -23,6 +23,7 @@ #include "gui/ScrollBarWidget.h" #include "base/engine.h" +#include "base/version.h" #ifdef NEW_FONT_CODE #include "gui/font.h" diff --git a/gui/launcher.cpp b/gui/launcher.cpp index 0d4603816c6..20f67a650f6 100644 --- a/gui/launcher.cpp +++ b/gui/launcher.cpp @@ -25,6 +25,7 @@ #include "base/engine.h" #include "base/gameDetector.h" #include "base/plugins.h" +#include "base/version.h" #include "common/config-manager.h" #include "common/util.h" diff --git a/scumm/imuse.cpp b/scumm/imuse.cpp index e2ad18c2a70..e26078f55f5 100644 --- a/scumm/imuse.cpp +++ b/scumm/imuse.cpp @@ -22,6 +22,8 @@ #include "stdafx.h" +#include "base/version.h" + #include "common/util.h" #include "scumm/imuse.h"