aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2003-09-08 15:38:34 +0000
committerMax Horn2003-09-08 15:38:34 +0000
commitf23a34c9e5cd236c2454c2dee716841d9dd58acd (patch)
treeea2b309b1146a4d028aa787d6be50f1e44aad914
parentea0fcaaea0287e05cbcb883f83153b15c7ee68e8 (diff)
downloadscummvm-rg350-f23a34c9e5cd236c2454c2dee716841d9dd58acd.tar.gz
scummvm-rg350-f23a34c9e5cd236c2454c2dee716841d9dd58acd.tar.bz2
scummvm-rg350-f23a34c9e5cd236c2454c2dee716841d9dd58acd.zip
renamed VersionSettings -> TargetSettings and also renamed some of its members; added GameDetector::findTarget; made launcher use that new method; some initial preparations for Plugin code
svn-id: r10092
-rw-r--r--common/engine.h10
-rw-r--r--common/gameDetector.cpp80
-rw-r--r--common/gameDetector.h13
-rw-r--r--common/module.mk1
-rw-r--r--common/plugins.cpp46
-rw-r--r--common/plugins.h73
-rw-r--r--gui/launcher.cpp78
-rw-r--r--scumm/scummvm.cpp6
-rw-r--r--simon/simon.cpp4
-rw-r--r--sky/sky.cpp4
-rw-r--r--sword2/logic.cpp2
-rw-r--r--sword2/sword2.cpp4
12 files changed, 226 insertions, 95 deletions
diff --git a/common/engine.h b/common/engine.h
index bed622bcf2..2ad6c3f638 100644
--- a/common/engine.h
+++ b/common/engine.h
@@ -49,7 +49,7 @@ enum GameId {
class SoundMixer;
class GameDetector;
class Timer;
-struct VersionSettings;
+struct TargetSettings;
/* FIXME - BIG HACK for MidiEmu */
extern OSystem *g_system;
@@ -101,22 +101,22 @@ void checkHeap();
// 1) Clean seperation from the game modules (scumm, simon) and the generic code
// 2) Faster (compiler doesn't have to parse lengthy header files)
#ifndef DISABLE_SCUMM
-extern const VersionSettings *Engine_SCUMM_targetList();
+extern const TargetSettings *Engine_SCUMM_targetList();
extern Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst);
#endif
#ifndef DISABLE_SIMON
extern Engine *Engine_SIMON_create(GameDetector *detector, OSystem *syst);
-extern const VersionSettings *Engine_SIMON_targetList();
+extern const TargetSettings *Engine_SIMON_targetList();
#endif
#ifndef DISABLE_SKY
-extern const VersionSettings *Engine_SKY_targetList();
+extern const TargetSettings *Engine_SKY_targetList();
extern Engine *Engine_SKY_create(GameDetector *detector, OSystem *syst);
#endif
#ifndef DISABLE_SWORD2
-extern const VersionSettings *Engine_SWORD2_targetList();
+extern const TargetSettings *Engine_SWORD2_targetList();
extern Engine *Engine_SWORD2_create(GameDetector *detector, OSystem *syst);
#endif
diff --git a/common/gameDetector.cpp b/common/gameDetector.cpp
index e1880c9bfc..6192600788 100644
--- a/common/gameDetector.cpp
+++ b/common/gameDetector.cpp
@@ -100,7 +100,7 @@ static const char USAGE_STRING[] =
;
#endif
// This contains a pointer to a list of all supported games.
-const VersionSettings *version_settings = NULL;
+const TargetSettings *version_settings = NULL;
static const struct GraphicsMode gfx_modes[] = {
{"normal", "Normal (no scaling)", GFX_NORMAL},
@@ -159,9 +159,9 @@ static const struct MusicDriver music_drivers[] = {
{0, 0, 0}
};
-static int countVersions(const VersionSettings *v) {
+static int countVersions(const TargetSettings *v) {
int count;
- for (count = 0; v->filename; v++, count++)
+ for (count = 0; v->targetName; v++, count++)
;
return count;
}
@@ -220,49 +220,49 @@ GameDetector::GameDetector() {
// Gather & combine the target lists from the modules
#ifndef DISABLE_SCUMM
- const VersionSettings *scummVersions = Engine_SCUMM_targetList();
+ const TargetSettings *scummVersions = Engine_SCUMM_targetList();
int scummCount = countVersions(scummVersions);
totalCount += scummCount;
#endif
#ifndef DISABLE_SIMON
- const VersionSettings *simonVersions = Engine_SIMON_targetList();
+ const TargetSettings *simonVersions = Engine_SIMON_targetList();
int simonCount = countVersions(simonVersions);
totalCount += simonCount;
#endif
#ifndef DISABLE_SKY
- const VersionSettings *skyVersions = Engine_SKY_targetList();
+ const TargetSettings *skyVersions = Engine_SKY_targetList();
int skyCount = countVersions(skyVersions);
totalCount += skyCount;
#endif
#ifndef DISABLE_SWORD2
- const VersionSettings *sword2Versions = Engine_SWORD2_targetList();
+ const TargetSettings *sword2Versions = Engine_SWORD2_targetList();
int sword2Count = countVersions(sword2Versions);
totalCount += sword2Count;
#endif
- VersionSettings *v = (VersionSettings *)calloc(totalCount + 1, sizeof(VersionSettings));
+ TargetSettings *v = (TargetSettings *)calloc(totalCount + 1, sizeof(TargetSettings));
version_settings = v;
#ifndef DISABLE_SCUMM
- memcpy(v, scummVersions, scummCount * sizeof(VersionSettings));
+ memcpy(v, scummVersions, scummCount * sizeof(TargetSettings));
v += scummCount;
#endif
#ifndef DISABLE_SIMON
- memcpy(v, simonVersions, simonCount * sizeof(VersionSettings));
+ memcpy(v, simonVersions, simonCount * sizeof(TargetSettings));
v += simonCount;
#endif
#ifndef DISABLE_SKY
- memcpy(v, skyVersions, skyCount * sizeof(VersionSettings));
+ memcpy(v, skyVersions, skyCount * sizeof(TargetSettings));
v += skyCount;
#endif
#ifndef DISABLE_SWORD2
- memcpy(v, sword2Versions, sword2Count * sizeof(VersionSettings));
+ memcpy(v, sword2Versions, sword2Count * sizeof(TargetSettings));
v += sword2Count;
#endif
@@ -273,7 +273,7 @@ GameDetector::GameDetector() {
GameDetector::~GameDetector() {
// This is a previously allocated chunck (line 224)
// so we need to free it to prevent memory leak
- VersionSettings *v = (VersionSettings *)version_settings;
+ TargetSettings *v = (TargetSettings *)version_settings;
free(v);
}
#endif
@@ -349,20 +349,33 @@ void GameDetector::updateconfig() {
}
void GameDetector::list_games() {
- const VersionSettings *v = version_settings;
+ const TargetSettings *v = version_settings;
const char *config;
printf("Game Full Title Config\n"
"---------------- ------------------------------------------------------ -------\n");
- while (v->filename && v->gamename) {
- config = (g_config->has_domain(v->filename)) ? "Yes" : "";
- printf("%-17s%-56s%s\n", v->filename, v->gamename, config);
+ while (v->targetName && v->description) {
+ config = (g_config->has_domain(v->targetName)) ? "Yes" : "";
+ printf("%-17s%-56s%s\n", v->targetName, v->description, config);
v++;
}
}
+const TargetSettings *GameDetector::findTarget(const char *targetName) const {
+ // Find the TargetSettings for this target
+ const TargetSettings *target = version_settings;
+ assert(targetName);
+ while (target->targetName) {
+ if (!scumm_stricmp(target->targetName, targetName)) {
+ return target;
+ }
+ target++;
+ }
+ return 0;
+}
+
void GameDetector::parseCommandLine(int argc, char **argv) {
int i;
char *s;
@@ -678,7 +691,7 @@ bool GameDetector::parseMusicDriver(const char *s) {
}
bool GameDetector::detectGame() {
- const VersionSettings *gnl = version_settings;
+ const TargetSettings *target;
const char *realGame, *basename;
_game.id = 0;
_gameText.clear();
@@ -687,23 +700,22 @@ bool GameDetector::detectGame() {
if (!realGame)
realGame = _gameFileName.c_str();
printf("Looking for %s\n", realGame);
-
- do {
- if (!scumm_stricmp(realGame, gnl->filename)) {
- _game = *gnl;
- if ((basename = g_config->get("basename"))) {
- // FIXME: What is this good for?
- _game.filename = basename;
- }
- _gameText = gnl->gamename;
- printf("Trying to start game '%s'\n",gnl->gamename);
- return true;
+
+ target = findTarget(realGame);
+
+ if (target) {
+ _game = *target;
+ if ((basename = g_config->get("basename"))) {
+ // FIXME: What is this good for?
+ _game.targetName = basename;
}
- } while ((++gnl)->filename);
-
- printf("Failed game detection\n");
-
- return false;
+ _gameText = _game.description;
+ printf("Trying to start game '%s'\n", _game.description);
+ return true;
+ } else {
+ printf("Failed game detection\n");
+ return false;
+ }
}
const ScummVM::String& GameDetector::getGameName() {
diff --git a/common/gameDetector.h b/common/gameDetector.h
index 347539d74d..dd8d770d43 100644
--- a/common/gameDetector.h
+++ b/common/gameDetector.h
@@ -69,9 +69,9 @@ enum MidiDriverType {
MDT_PREFER_NATIVE = 8
};
-struct VersionSettings {
- const char *filename;
- const char *gamename;
+struct TargetSettings {
+ const char *targetName;
+ const char *description;
byte id, version;
int midi; // MidiDriverType values
uint32 features;
@@ -96,9 +96,6 @@ struct Language {
int id;
};
-extern const VersionSettings *version_settings;
-
-
class GameDetector {
typedef ScummVM::String String;
@@ -142,7 +139,7 @@ public:
int _midi_driver;
String _gameFileName;
- VersionSettings _game;
+ TargetSettings _game;
int _gfx_mode;
bool _default_gfx_mode;
@@ -163,6 +160,8 @@ public:
int parseGraphicsMode(const char *s);
void updateconfig();
+
+ const TargetSettings *findTarget(const char *targetName) const;
protected:
String _gameText;
diff --git a/common/module.mk b/common/module.mk
index e0e898335f..411ee17926 100644
--- a/common/module.mk
+++ b/common/module.mk
@@ -5,6 +5,7 @@ MODULE_OBJS = \
common/file.o \
common/gameDetector.o \
common/main.o \
+ common/plugins.o \
common/scaler.o \
common/str.o \
common/timer.o \
diff --git a/common/plugins.cpp b/common/plugins.cpp
new file mode 100644
index 0000000000..cdfae734be
--- /dev/null
+++ b/common/plugins.cpp
@@ -0,0 +1,46 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2001 Ludvig Strigeus
+ * Copyright (C) 2001-2003 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$
+ *
+ */
+
+#include "common/plugins.h"
+#include "common/engine.h"
+
+
+PluginManager::PluginManager() {
+}
+
+PluginManager::~PluginManager() {
+ // Explicitly unload all loaded plugins
+ unloadPlugins();
+}
+
+void PluginManager::loadPlugins() {
+ // TODO
+}
+
+void PluginManager::unloadPlugins() {
+ int i;
+ for (i = 0; i < _plugins.size(); i++) {
+ _plugins[i]->unloadPlugin();
+ delete _plugins[i];
+ }
+ _plugins.clear();
+}
diff --git a/common/plugins.h b/common/plugins.h
new file mode 100644
index 0000000000..141f433202
--- /dev/null
+++ b/common/plugins.h
@@ -0,0 +1,73 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2001 Ludvig Strigeus
+ * Copyright (C) 2001-2003 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 COMMON_PLUGINS_H
+#define COMMON_PLUGINS_H
+
+#include "common/list.h"
+
+class Engine;
+class GameDetector;
+class OSystem;
+struct TargetSettings;
+
+/**
+ * Abstract base class for the plugin system.
+ * Subclasses for this can be used to wrap both static and dynamic
+ * plugins.
+ */
+class Plugin {
+public:
+ virtual void loadPlugin() {}
+ virtual void unloadPlugin() {}
+
+ virtual const char *getName() const = 0;
+ virtual int getVersion() const = 0;
+
+ virtual const TargetSettings *getTargets() const = 0;
+ virtual Engine *createInstance(GameDetector *detector, OSystem *syst) const = 0;
+};
+
+/**
+ * Instances of this class manage all plugins, including loading them,
+ * making wrapper objects of class Plugin available, and unloading them.
+ *
+ * @todo Add support for dynamic plugins (this may need additional API, e.g. for a plugin path)
+ */
+class PluginManager {
+protected:
+ typedef ScummVM::List<Plugin *> PluginList;
+
+ PluginList _plugins;
+
+public:
+ PluginManager();
+ ~PluginManager();
+
+ void loadPlugins();
+ void unloadPlugins();
+
+ const PluginList &getPlugins() { return _plugins; }
+};
+
+
+#endif
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 2246ae7ed9..0ecde0da95 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -42,7 +42,7 @@ enum {
kQuitCmd = 'QUIT'
};
-typedef ScummVM::List<const VersionSettings *> GameList;
+typedef ScummVM::List<const TargetSettings *> GameList;
/*
* A dialog that allows the user to edit a config game entry.
@@ -72,7 +72,7 @@ class EditGameDialog : public Dialog {
typedef ScummVM::String String;
typedef ScummVM::StringList StringList;
public:
- EditGameDialog(NewGui *gui, Config &config, const String &domain);
+ EditGameDialog(NewGui *gui, const String &domain, const TargetSettings *target);
virtual void handleCommand(CommandSender *sender, uint32 cmd, uint32 data);
@@ -85,26 +85,18 @@ protected:
CheckboxWidget *_amigaCheckbox;
};
-EditGameDialog::EditGameDialog(NewGui *gui, Config &config, const String &domain)
- : Dialog(gui, 8, 50, 320 - 2 * 8, 200 - 2 * 40), _config(config), _domain(domain) {
+EditGameDialog::EditGameDialog(NewGui *gui, const String &domain, const TargetSettings *target)
+ : Dialog(gui, 8, 50, 320 - 2 * 8, 200 - 2 * 40), _config(*g_config), _domain(domain) {
+
// Determine the description string
- String gameid(_config.get("gameid", _domain));
String description(_config.get("description", _domain));
- const VersionSettings *v = version_settings;
-
- if (gameid.isEmpty())
- gameid = _domain;
-
- // Find the VersionSettings for this gameid
- while (v->filename) {
- if (!scumm_stricmp(v->filename, gameid.c_str())) {
- break;
- }
- v++;
- }
if (description.isEmpty()) {
- description = v->gamename;
+ description = target->description;
}
+
+ // Determine whether this is a SCUMM game
+ bool isScumm = (GID_SCUMM_FIRST <= target->id && target->id <= GID_SCUMM_LAST);
+
// Label & edit widget for the game ID
new StaticTextWidget(this, 10, 10, 40, kLineHeight, "ID: ", kTextAlignRight);
@@ -126,7 +118,7 @@ EditGameDialog::EditGameDialog(NewGui *gui, Config &config, const String &domain
_fullscreenCheckbox->setState(_config.getBool("fullscreen", false, _domain));
// Display 'Amiga' checkbox, but only for Scumm games.
- if (GID_SCUMM_FIRST <= v->id && v->id <= GID_SCUMM_LAST) {
+ if (isScumm) {
_amigaCheckbox = new CheckboxWidget(this, 15, 82, 200, 16, "Amiga Version", 0, 'A');
_amigaCheckbox->setState(_config.getBool("amiga", false, _domain));
} else {
@@ -221,9 +213,14 @@ void LauncherDialog::close() {
Dialog::close();
}
+// FIXME: EVIL HACK! remove use of version_settings by introducing
+// proper APIs for accessing/searching them
+extern const TargetSettings *version_settings;
+
+
void LauncherDialog::updateListing() {
int i;
- const VersionSettings *v = version_settings;
+ const TargetSettings *v = version_settings;
ScummVM::StringList l;
// Retrieve a list of all games defined in the config file
@@ -237,9 +234,9 @@ void LauncherDialog::updateListing() {
name = domains[i];
if (description.isEmpty()) {
v = version_settings;
- while (v->filename) {
- if (!scumm_stricmp(v->filename, name.c_str())) {
- description = v->gamename;
+ while (v->targetName) {
+ if (!scumm_stricmp(v->targetName, name.c_str())) {
+ description = v->description;
break;
}
v++;
@@ -276,8 +273,8 @@ GameList findGame(FilesystemNode *dir) {
// Iterate over all known games and for each check if it might be
// the game in the presented directory.
- const VersionSettings *v = version_settings;
- while (v->filename && v->gamename) {
+ const TargetSettings *v = version_settings;
+ while (v->targetName && v->description) {
// Determine the 'detectname' for this game, that is, the name of a
// file that *must* be presented if the directory contains the data
@@ -288,9 +285,9 @@ GameList findGame(FilesystemNode *dir) {
strcat(detectName2, ".");
detectName3[0] = '\0';
} else {
- strcpy(detectName, v->filename);
- strcpy(detectName2, v->filename);
- strcpy(detectName3, v->filename);
+ strcpy(detectName, v->targetName);
+ strcpy(detectName2, v->targetName);
+ strcpy(detectName3, v->targetName);
strcat(detectName, ".000");
if (v->version >= 7) {
strcat(detectName2, ".la0");
@@ -301,11 +298,11 @@ GameList findGame(FilesystemNode *dir) {
// Iterate over all files in the given directory
for (i = 0; i < size; i++) {
- const char *filename = (*files)[i].displayName().c_str();
+ const char *targetName = (*files)[i].displayName().c_str();
- if ((0 == scumm_stricmp(detectName, filename)) ||
- (0 == scumm_stricmp(detectName2, filename)) ||
- (0 == scumm_stricmp(detectName3, filename))) {
+ if ((0 == scumm_stricmp(detectName, targetName)) ||
+ (0 == scumm_stricmp(detectName2, targetName)) ||
+ (0 == scumm_stricmp(detectName3, targetName))) {
// Match found, add to list of candidates, then abort inner loop.
list.push_back(v);
break;
@@ -341,7 +338,7 @@ void LauncherDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat
// ...so let's determine a list of candidates, games that
// could be contained in the specified directory.
GameList candidates = findGame(dir);
- const VersionSettings *v = 0;
+ const TargetSettings *v = 0;
if (candidates.isEmpty()) {
// No game was found in the specified directory
@@ -355,7 +352,7 @@ void LauncherDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat
StringList list;
int i;
for (i = 0; i < candidates.size(); i++)
- list.push_back(candidates[i]->gamename);
+ list.push_back(candidates[i]->description);
ChooserDialog dialog(_gui, "Pick the game:", list);
i = dialog.runModal();
@@ -367,7 +364,7 @@ void LauncherDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat
// The auto detector or the user made a choice.
// Pick a domain name which does not yet exist (after all, we
// are *adding* a game to the config, not replacing).
- String domain(v->filename);
+ String domain(v->targetName);
if (g_config->has_domain(domain)) {
char suffix = 'a';
domain += suffix;
@@ -376,13 +373,13 @@ void LauncherDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat
suffix++;
domain += suffix;
}
- g_config->set("gameid", v->filename, domain);
- g_config->set("description", v->gamename, domain);
+ g_config->set("gameid", v->targetName, domain);
+ g_config->set("description", v->description, domain);
}
g_config->set("path", dir->path(), domain);
// Display edit dialog for the new entry
- EditGameDialog editDialog(_gui, *g_config, domain);
+ EditGameDialog editDialog(_gui, domain, v);
if (editDialog.runModal()) {
// User pressed OK, so make changes permanent
@@ -419,7 +416,10 @@ void LauncherDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat
// This is useful because e.g. MonkeyVGA needs Adlib music to have decent
// music support etc.
assert(item >= 0);
- EditGameDialog editDialog(_gui, *g_config, _domains[item]);
+ const char *gameId = g_config->get("gameid", _domains[item]);
+ if (!gameId)
+ gameId = _domains[item].c_str();
+ EditGameDialog editDialog(_gui, _domains[item], _detector.findTarget(gameId));
if (editDialog.runModal()) {
// User pressed OK, so make changes permanent
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp
index cfa6caf7a9..d3f6b35026 100644
--- a/scumm/scummvm.cpp
+++ b/scumm/scummvm.cpp
@@ -66,7 +66,7 @@ extern NewGui *g_gui;
extern uint16 _debugLevel;
extern uint16 _demo_mode;
-static const VersionSettings scumm_settings[] = {
+static const TargetSettings scumm_settings[] = {
/* Scumm Version 1 */
/* Scumm Version 2 */
@@ -228,7 +228,7 @@ static const VersionSettings scumm_settings[] = {
{NULL, NULL, 0, 0, MDT_NONE, 0, NULL}
};
-const VersionSettings *Engine_SCUMM_targetList() {
+const TargetSettings *Engine_SCUMM_targetList() {
return scumm_settings;
}
@@ -613,7 +613,7 @@ Scumm::Scumm (GameDetector *detector, OSystem *syst)
_debugLevel = detector->_debugLevel;
_dumpScripts = detector->_dumpScripts;
_bootParam = detector->_bootParam;
- _exe_name = strdup(detector->_game.filename);
+ _exe_name = strdup(detector->_game.targetName);
_game_name = strdup(detector->_gameFileName.c_str());
_gameId = detector->_game.id;
_version = detector->_game.version;
diff --git a/simon/simon.cpp b/simon/simon.cpp
index e66b5cf62d..68fe1ce9ea 100644
--- a/simon/simon.cpp
+++ b/simon/simon.cpp
@@ -39,7 +39,7 @@ extern bool draw_keyboard;
#endif
-static const VersionSettings simon_settings[] = {
+static const TargetSettings simon_settings[] = {
// Simon the Sorcerer 1 & 2 (not SCUMM games)
{"simon1dos", "Simon the Sorcerer 1 (DOS)", GID_SIMON_FIRST, 99, MDT_ADLIB | MDT_NATIVE, GAME_SIMON1DOS, "GAMEPC"},
{"simon1amiga", "Simon the Sorcerer 1 (Amiga)", GID_SIMON_FIRST, 99, MDT_NONE, GAME_SIMON1AMIGA, "gameamiga"},
@@ -55,7 +55,7 @@ static const VersionSettings simon_settings[] = {
{NULL, NULL, 0, 0, MDT_NONE, 0, NULL}
};
-const VersionSettings *Engine_SIMON_targetList() {
+const TargetSettings *Engine_SIMON_targetList() {
return simon_settings;
}
diff --git a/sky/sky.cpp b/sky/sky.cpp
index 310803c0f0..e8fcd62780 100644
--- a/sky/sky.cpp
+++ b/sky/sky.cpp
@@ -59,13 +59,13 @@ extern bool draw_keyboard;
#undef WITH_DEBUG_CHEATS
-static const VersionSettings sky_settings[] = {
+static const TargetSettings sky_settings[] = {
/* Beneath a Steel Sky */
{"sky", "Beneath a Steel Sky", GID_SKY_FIRST, 99, MDT_ADLIB | MDT_NATIVE | MDT_PREFER_NATIVE, 0, "sky.dsk" },
{NULL, NULL, 0, 0, MDT_NONE, 0, NULL}
};
-const VersionSettings *Engine_SKY_targetList() {
+const TargetSettings *Engine_SKY_targetList() {
return sky_settings;
}
diff --git a/sword2/logic.cpp b/sword2/logic.cpp
index 533d8c3e9b..61a6ba8367 100644
--- a/sword2/logic.cpp
+++ b/sword2/logic.cpp
@@ -95,7 +95,7 @@ int logic::Process_session(void) //Tony6June96 (first run 21Oct96)
if (head->fileType!=GAME_OBJECT)
Con_fatal_error("Logic_engine %d not an object", ID);
- cur_object_hub = (_object_hub *) (head+1);
+ cur_object_hub = (_object_hub *) (head+1);
// Zdebug(" %d id(%d) pc(%d)", cur_object_hub->logic_level, cur_object_hub->script_id[cur_object_hub->logic_level], cur_object_hub->script_pc[cur_object_hub->logic_level]);
diff --git a/sword2/sword2.cpp b/sword2/sword2.cpp
index d7cfcde395..5889613a1a 100644
--- a/sword2/sword2.cpp
+++ b/sword2/sword2.cpp
@@ -78,7 +78,7 @@ uint8 stepOneCycle=0; // for use while game paused
//------------------------------------------------------------------------------------
-static const VersionSettings sword2_settings[] = {
+static const TargetSettings sword2_settings[] = {
/* Broken Sword 2 */
{"sword2", "Broken Sword II", GID_SWORD2, 99, MDT_ADLIB | MDT_NATIVE, GF_DEFAULT_TO_1X_SCALER, "players.clu" },
{"sword2demo", "Broken Sword II (Demo)", GID_SWORD2_DEMO, 99, MDT_ADLIB | MDT_NATIVE, GF_DEFAULT_TO_1X_SCALER, "players.clu" },
@@ -87,7 +87,7 @@ static const VersionSettings sword2_settings[] = {
Sword2State *g_sword2 = NULL;
-const VersionSettings *Engine_SWORD2_targetList() {
+const TargetSettings *Engine_SWORD2_targetList() {
return sword2_settings;
}