aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--base/engine.h5
-rw-r--r--base/gameDetector.cpp2
-rw-r--r--base/main.cpp25
-rw-r--r--base/version.h29
-rw-r--r--gui/about.cpp31
-rw-r--r--gui/console.cpp1
-rw-r--r--gui/launcher.cpp1
-rw-r--r--scumm/imuse.cpp2
8 files changed, 79 insertions, 17 deletions
diff --git a/base/engine.h b/base/engine.h
index 96fd3af970..1519158fc8 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 98f91a3796..340184e589 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 bf33c75084..a5575ea5a8 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 <cstdio>
diff --git a/base/version.h b/base/version.h
new file mode 100644
index 0000000000..ea75d7a479
--- /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 c0b478704b..c90c1fe9ad 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, 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, 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, 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 36e0059374..bf08633bee 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 0d4603816c..20f67a650f 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 e2ad18c2a7..e26078f55f 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"