diff options
author | Max Horn | 2006-04-15 20:36:41 +0000 |
---|---|---|
committer | Max Horn | 2006-04-15 20:36:41 +0000 |
commit | 68cb7f52c8dd64ccfe8f28e847b530c8835175c3 (patch) | |
tree | 635011611fbc8592289b85c0b704d5a0cec057ea | |
parent | ad45318328e23b76e346414c62ef4c22d8ebe059 (diff) | |
download | scummvm-rg350-68cb7f52c8dd64ccfe8f28e847b530c8835175c3.tar.gz scummvm-rg350-68cb7f52c8dd64ccfe8f28e847b530c8835175c3.tar.bz2 scummvm-rg350-68cb7f52c8dd64ccfe8f28e847b530c8835175c3.zip |
- Renamed ConfigManager::getActiveDomain to getActiveDomainName, and added a new getActiveDomain method that returns a pointer to the actual active *domain*
- Added Engine::_targetName whose value is computed from the name of the active domain
- Removed GameDetector::_targetName, instead code now uses either Engine::_targetName or the name of the active domain
- This in turn allowed for removing usage of GameDetector in many places
svn-id: r21916
42 files changed, 171 insertions, 207 deletions
diff --git a/backends/PalmOS/Src/cd_aeroplayer.cpp b/backends/PalmOS/Src/cd_aeroplayer.cpp index 949963bcd0..d70bf572c9 100755 --- a/backends/PalmOS/Src/cd_aeroplayer.cpp +++ b/backends/PalmOS/Src/cd_aeroplayer.cpp @@ -30,7 +30,7 @@ AeroCDPlayer::AeroCDPlayer(OSystem *sys) { _sys = sys; - StrCopy(gameP, ConfMan.getActiveDomain().c_str()); + StrCopy(gameP, ConfMan.getActiveDomainName().c_str()); } bool AeroCDPlayer::init() { diff --git a/backends/PalmOS/Src/cd_pockettunes.cpp b/backends/PalmOS/Src/cd_pockettunes.cpp index b979ed0b44..75574b9802 100644 --- a/backends/PalmOS/Src/cd_pockettunes.cpp +++ b/backends/PalmOS/Src/cd_pockettunes.cpp @@ -28,7 +28,7 @@ PckTunesCDPlayer::PckTunesCDPlayer(OSystem *sys) { _sys = sys; - StrCopy(gameP, ConfMan.getActiveDomain().c_str()); + StrCopy(gameP, ConfMan.getActiveDomainName().c_str()); } bool PckTunesCDPlayer::init() { diff --git a/base/engine.cpp b/base/engine.cpp index f64b1ec68c..a01a7df533 100644 --- a/base/engine.cpp +++ b/base/engine.cpp @@ -24,7 +24,6 @@ #include <malloc.h> #endif #include "base/engine.h" -#include "base/gameDetector.h" #include "common/config-manager.h" #include "common/file.h" #include "common/timer.h" @@ -37,7 +36,9 @@ Engine *g_engine = 0; Engine::Engine(OSystem *syst) - : _system(syst), _gameDataPath(ConfMan.get("path")) { + : _system(syst), + _gameDataPath(ConfMan.get("path")), + _targetName(ConfMan.getActiveDomainName()){ g_engine = this; _mixer = new Audio::Mixer(); @@ -55,9 +56,9 @@ Engine::~Engine() { g_engine = NULL; } -void Engine::initCommonGFX(GameDetector &detector, bool defaultTo1XScaler) { +void Engine::initCommonGFX(bool defaultTo1XScaler) { const Common::ConfigManager::Domain *transientDomain = ConfMan.getDomain(Common::ConfigManager::kTransientDomain); - const Common::ConfigManager::Domain *gameDomain = ConfMan.getDomain(detector._targetName); + const Common::ConfigManager::Domain *gameDomain = ConfMan.getActiveDomain(); assert(transientDomain); diff --git a/base/engine.h b/base/engine.h index a786a73cc3..6cf4158e15 100644 --- a/base/engine.h +++ b/base/engine.h @@ -25,7 +25,6 @@ #include "common/scummsys.h" #include "common/str.h" -class GameDetector; class OSystem; namespace Audio { class Mixer; @@ -42,6 +41,7 @@ public: Common::Timer * _timer; protected: + const Common::String _targetName; // target name for saves const Common::String _gameDataPath; Common::SaveFileManager *_saveFileMan; @@ -56,7 +56,7 @@ public: * Init the engine. * @return 0 for success, else an error code. */ - virtual int init(GameDetector &detector) = 0; + virtual int init() = 0; /** * Start the main engine loop. @@ -69,7 +69,7 @@ public: /** Specific for each engine: prepare error string. */ virtual void errorString(const char *buf_input, char *buf_output); - void initCommonGFX(GameDetector &detector, bool defaultTo1XScaler); + void initCommonGFX(bool defaultTo1XScaler); /** On some systems, check if the game appears to be run from CD. */ void checkCD(); diff --git a/base/gameDetector.cpp b/base/gameDetector.cpp index ad74752fcf..dbe9e7fb16 100644 --- a/base/gameDetector.cpp +++ b/base/gameDetector.cpp @@ -578,11 +578,10 @@ void GameDetector::processSettings(Common::String &target, Common::StringMap &se void GameDetector::setTarget(const String &target) { - _targetName = target; ConfMan.setActiveDomain(target); // Make sure the gameid is set in the config manager, and that it is lowercase. - String gameid(_targetName); + String gameid(target); if (ConfMan.hasKey("gameid")) gameid = ConfMan.get("gameid"); gameid.toLowercase(); @@ -592,7 +591,7 @@ void GameDetector::setTarget(const String &target) { const Plugin *GameDetector::detectMain() { const Plugin *plugin = 0; - if (_targetName.empty()) { + if (ConfMan.getActiveDomainName().empty()) { warning("No game was specified..."); return 0; } @@ -602,7 +601,7 @@ const Plugin *GameDetector::detectMain() { if (plugin == 0) { printf("Failed game detection\n"); - warning("%s is an invalid target. Use the --list-targets option to list targets", _targetName.c_str()); + warning("%s is an invalid target. Use the --list-targets option to list targets", ConfMan.getActiveDomainName().c_str()); return 0; } diff --git a/base/gameDetector.h b/base/gameDetector.h index dc09262368..1c474a8946 100644 --- a/base/gameDetector.h +++ b/base/gameDetector.h @@ -27,7 +27,6 @@ #include "common/str.h" #include "common/config-manager.h" -class GameDetector; class OSystem; class Plugin; @@ -69,8 +68,6 @@ public: void processSettings(Common::String &target, Common::StringMap &settings); const Plugin *detectMain(); - String _targetName; - public: static GameDescriptor findGame(const String &gameName, const Plugin **plugin = NULL); diff --git a/base/main.cpp b/base/main.cpp index 1b01bdcbd5..b2bae600fe 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -157,7 +157,7 @@ static bool launcherDialog(GameDetector &detector, OSystem &system) { return (dlg.runModal() != -1); } -static int runGame(const Plugin *plugin, GameDetector &detector, OSystem &system, const Common::String &edebuglevels) { +static int runGame(const Plugin *plugin, OSystem &system, const Common::String &edebuglevels) { // We add it here, so MD5-based detection will be able to // read mixed case files if (ConfMan.hasKey("path")) @@ -166,12 +166,12 @@ static int runGame(const Plugin *plugin, GameDetector &detector, OSystem &system Common::File::addDefaultDirectory("."); // Create the game engine - Engine *engine = plugin->createInstance(&detector, &system); + Engine *engine = plugin->createInstance(&system); if (!engine) { // TODO: Show an error dialog or so? //GUI::MessageDialog alert("ScummVM could not find any game in the specified directory!"); //alert.runModal(); - warning("Failed to instantiate engine for target %s", detector._targetName.c_str()); + warning("Failed to instantiate engine for target %s", ConfMan.getActiveDomainName().c_str()); return 0; } @@ -179,13 +179,13 @@ static int runGame(const Plugin *plugin, GameDetector &detector, OSystem &system Common::enableSpecialDebugLevelList(edebuglevels); // Set the window caption to the game name - Common::String caption(ConfMan.get("description", detector._targetName)); + Common::String caption(ConfMan.get("description")); Common::String desc = GameDetector::findGame(ConfMan.get("gameid")).description; if (caption.empty() && !desc.empty()) caption = desc; if (caption.empty()) - caption = detector._targetName; + caption = ConfMan.getActiveDomainName(); // Use the domain (=target) name if (!caption.empty()) { system.setWindowCaption(caption.c_str()); } @@ -208,7 +208,7 @@ static int runGame(const Plugin *plugin, GameDetector &detector, OSystem &system int result; // Init the engine (this might change the screen parameters - result = engine->init(detector); + result = engine->init(); // Run the game engine if the initialization was successful. if (result == 0) { @@ -314,7 +314,7 @@ extern "C" int scummvm_main(int argc, char *argv[]) { setupDummyPalette(system); // Unless a game was specified, show the launcher dialog - if (detector._targetName.empty()) { + if (ConfMan.getActiveDomainName().empty()) { running = launcherDialog(detector, system); // Discard any command line options. Those that affect the graphics @@ -335,7 +335,7 @@ extern "C" int scummvm_main(int argc, char *argv[]) { // to save memory PluginManager::instance().unloadPluginsExcept(plugin); - int result = runGame(plugin, detector, system, specialDebug); + int result = runGame(plugin, system, specialDebug); if (result == 0) break; diff --git a/base/plugins.cpp b/base/plugins.cpp index 80f19bd775..8cb1e1e6ae 100644 --- a/base/plugins.cpp +++ b/base/plugins.cpp @@ -23,13 +23,12 @@ #include "common/stdafx.h" #include "backends/fs/fs.h" -#include "base/gameDetector.h" #include "base/plugins.h" #include "base/engine.h" #include "common/util.h" /** Type of factory functions which make new Engine objects. */ -typedef Engine *(*EngineFactory)(GameDetector *detector, OSystem *syst); +typedef Engine *(*EngineFactory)(OSystem *syst); typedef const char *(*NameFunc)(); typedef GameDescriptor (*GameIDQueryFunc)(const char *gameid); @@ -117,9 +116,9 @@ public: const char *getName() const { return _plugin->_name; } - Engine *createInstance(GameDetector *detector, OSystem *syst) const { + Engine *createInstance(OSystem *syst) const { assert(_plugin->_ef); - return (*_plugin->_ef)(detector, syst); + return (*_plugin->_ef)(syst); } GameList getSupportedGames() const { return _plugin->_games; } @@ -158,9 +157,9 @@ public: const char *getName() const { return _name.c_str(); } - Engine *createInstance(GameDetector *detector, OSystem *syst) const { + Engine *createInstance(OSystem *syst) const { assert(_ef); - return (*_ef)(detector, syst); + return (*_ef)(syst); } GameList getSupportedGames() const { return _games; } diff --git a/base/plugins.h b/base/plugins.h index 8e5efcf2ea..5b758221a2 100644 --- a/base/plugins.h +++ b/base/plugins.h @@ -31,7 +31,6 @@ class Engine; class FSList; -class GameDetector; class OSystem; /** List of games. */ @@ -85,7 +84,7 @@ public: virtual GameDescriptor findGame(const char *gameid) const = 0; virtual DetectedGameList detectGames(const FSList &fslist) const = 0; - virtual Engine *createInstance(GameDetector *detector, OSystem *syst) const = 0; + virtual Engine *createInstance(OSystem *syst) const = 0; }; @@ -107,7 +106,7 @@ public: * - DetectedGameList Engine_##ID##_detectGames(const FSList &fslist) * -> scans through the given file list (usually the contents of a directory), * and attempts to detects games present in that location. - * - Engine *Engine_##ID##_create(GameDetector *detector, OSystem *syst) + * - Engine *Engine_##ID##_create(OSystem *syst) * -> factory function, create an instance of the Engine class. * * @todo add some means to query the plugin API version etc. @@ -131,7 +130,7 @@ public: PLUGIN_EXPORT const char *PLUGIN_name() { return name; } \ PLUGIN_EXPORT GameList PLUGIN_gameIDList() { return Engine_##ID##_gameIDList(); } \ PLUGIN_EXPORT GameDescriptor PLUGIN_findGameID(const char *gameid) { return Engine_##ID##_findGameID(gameid); } \ - PLUGIN_EXPORT Engine *PLUGIN_createEngine(GameDetector *detector, OSystem *syst) { return Engine_##ID##_create(detector, syst); } \ + PLUGIN_EXPORT Engine *PLUGIN_createEngine(OSystem *syst) { return Engine_##ID##_create(syst); } \ PLUGIN_EXPORT DetectedGameList PLUGIN_detectGames(const FSList &fslist) { return Engine_##ID##_detectGames(fslist); } \ } \ void dummyFuncToAllowTrailingSemicolon() @@ -146,7 +145,7 @@ class PluginRegistrator { friend class StaticPlugin; public: typedef GameDescriptor (*GameIDQueryFunc)(const char *gameid); - typedef Engine *(*EngineFactory)(GameDetector *detector, OSystem *syst); + typedef Engine *(*EngineFactory)(OSystem *syst); typedef DetectedGameList (*DetectFunc)(const FSList &fslist); protected: diff --git a/common/config-manager.h b/common/config-manager.h index 10313f64d5..d2336a289f 100644 --- a/common/config-manager.h +++ b/common/config-manager.h @@ -142,7 +142,9 @@ public: void flushToDisk(); void setActiveDomain(const String &domName); - const String & getActiveDomain() const { return _activeDomainName; } + Domain * getActiveDomain() { return _activeDomain; } + const Domain * getActiveDomain() const { return _activeDomain; } + const String & getActiveDomainName() const { return _activeDomainName; } // void addDomain(const String &domName); void removeGameDomain(const String &domName); diff --git a/common/savefile.cpp b/common/savefile.cpp index 1cdc29bfb3..5124ef8958 100644 --- a/common/savefile.cpp +++ b/common/savefile.cpp @@ -48,7 +48,7 @@ const char *SaveFileManager::getSavePath() const { // Work around a bug (#999122) in the original 0.6.1 release of // ScummVM, which would insert a bad savepath value into config files. if (0 == strcmp(dir, "None")) { - ConfMan.removeKey("savepath", ConfMan.getActiveDomain()); + ConfMan.removeKey("savepath", ConfMan.getActiveDomainName()); ConfMan.flushToDisk(); dir = ConfMan.get("savepath").c_str(); } diff --git a/engines/cine/cine.cpp b/engines/cine/cine.cpp index 2e3d042aab..9f504b76f0 100644 --- a/engines/cine/cine.cpp +++ b/engines/cine/cine.cpp @@ -28,7 +28,6 @@ #include "common/config-manager.h" #include "common/system.h" -#include "base/gameDetector.h" #include "base/plugins.h" #include "backends/fs/fs.h" @@ -111,15 +110,15 @@ DetectedGameList Engine_CINE_detectGames(const FSList &fslist) { return detectedGames; } -Engine *Engine_CINE_create(GameDetector *detector, OSystem *syst) { - return new Cine::CineEngine(detector, syst); +Engine *Engine_CINE_create(OSystem *syst) { + return new Cine::CineEngine(syst); } REGISTER_PLUGIN(CINE, "CINE Engine"); namespace Cine { -CineEngine::CineEngine(GameDetector *detector, OSystem *syst) : Engine(syst) { +CineEngine::CineEngine(OSystem *syst) : Engine(syst) { Common::addSpecialDebugLevel(kCineDebugScript, "Script", "Script debug level"); // Setup mixer @@ -132,9 +131,12 @@ CineEngine::CineEngine(GameDetector *detector, OSystem *syst) : Engine(syst) { const Cine::GameSettings *g; + const char *gameid = ConfMan.get("gameid").c_str(); for (g = Cine::cine_settings; g->gameid; ++g) - if (!scumm_stricmp(g->gameid, detector->_targetName.c_str())) + if (!scumm_stricmp(g->gameid, gameid)) { _gameId = g->id; + break; + } gameType = _gameId; } @@ -146,10 +148,10 @@ void CineEngine::errorString(const char *buf1, char *buf2) { strcpy(buf2, buf1); } -int CineEngine::init(GameDetector &detector) { +int CineEngine::init() { // Initialize backend _system->beginGFXTransaction(); - initCommonGFX(detector, false); + initCommonGFX(false); _system->initSize(320, 200); _system->endGFXTransaction(); diff --git a/engines/cine/cine.h b/engines/cine/cine.h index dac07c63b0..40e730fd70 100644 --- a/engines/cine/cine.h +++ b/engines/cine/cine.h @@ -58,12 +58,12 @@ class CineEngine : public Engine { void errorString(const char *buf_input, char *buf_output); protected: - int init(GameDetector & detector); + int init(); int go(); void shutdown(); public: - CineEngine(GameDetector *detector, OSystem *syst); + CineEngine(OSystem *syst); virtual ~CineEngine(); int getGameId() { return _gameId; diff --git a/engines/gob/gob.cpp b/engines/gob/gob.cpp index 3538e01b65..4a968bb4b3 100644 --- a/engines/gob/gob.cpp +++ b/engines/gob/gob.cpp @@ -21,7 +21,6 @@ */ #include "common/stdafx.h" -#include "base/gameDetector.h" #include "base/plugins.h" #include "backends/fs/fs.h" #include "common/config-manager.h" @@ -127,7 +126,7 @@ static const PlainGameDescriptor gob_list[] = { #define MAX_TIME_DELTA 100 -GobEngine::GobEngine(GameDetector *detector, OSystem * syst, uint32 features) +GobEngine::GobEngine(OSystem * syst, uint32 features) : Engine(syst) { // Setup mixer if (!_mixer->isReady()) { @@ -189,7 +188,7 @@ void GobEngine::shutdown() { _system->quit(); } -int GobEngine::init(GameDetector &detector) { +int GobEngine::init() { _game = new Game(this); _snd = new Snd(this); _video = new Video(this); @@ -223,7 +222,7 @@ int GobEngine::init(GameDetector &detector) { _music = new Music(this); _system->beginGFXTransaction(); - initCommonGFX(detector, false); + initCommonGFX(false); _system->initSize(320, 200); _system->endGFXTransaction(); @@ -339,7 +338,7 @@ DetectedGameList Engine_GOB_detectGames(const FSList &fslist) { return detectedGames; } -Engine *Engine_GOB_create(GameDetector * detector, OSystem *syst) { +Engine *Engine_GOB_create(OSystem *syst) { // Detect game features based on MD5 uint8 md5sum[16]; char md5str[32 + 1]; @@ -358,12 +357,8 @@ Engine *Engine_GOB_create(GameDetector * detector, OSystem *syst) { // TODO // Fallback. Maybe we will be able to determine game type from game // data contents - Common::String realGame; + Common::String realGame(ConfMan.get("gameid")); uint32 features; - if (ConfMan.hasKey("gameid")) - realGame = ConfMan.get("gameid"); - else - realGame = detector->_targetName; if (!scumm_stricmp(realGame.c_str(), "gob2")) features = GF_GOB2; else @@ -385,7 +380,7 @@ Engine *Engine_GOB_create(GameDetector * detector, OSystem *syst) { printf("Unknown MD5 (%s)! Please report the details (language, platform, etc.) of this game to the ScummVM team\n", md5str); } - return new GobEngine(detector, syst, features); + return new GobEngine(syst, features); } REGISTER_PLUGIN(GOB, "Gob Engine"); diff --git a/engines/gob/gob.h b/engines/gob/gob.h index a3e53787d4..8d2bb1271a 100644 --- a/engines/gob/gob.h +++ b/engines/gob/gob.h @@ -85,10 +85,10 @@ class GobEngine : public Engine { protected: int go(); - int init(GameDetector &detector); + int init(); public: - GobEngine(GameDetector * detector, OSystem * syst, uint32 features); + GobEngine(OSystem *syst, uint32 features); virtual ~GobEngine(); void shutdown(); diff --git a/engines/kyra/kyra.cpp b/engines/kyra/kyra.cpp index 48d58796d1..328d407768 100644 --- a/engines/kyra/kyra.cpp +++ b/engines/kyra/kyra.cpp @@ -24,7 +24,6 @@ #include "backends/fs/fs.h" -#include "base/gameDetector.h" #include "base/plugins.h" #include "common/config-manager.h" @@ -205,15 +204,15 @@ DetectedGameList Engine_KYRA_detectGames(const FSList &fslist) { return detectedGames; } -Engine *Engine_KYRA_create(GameDetector *detector, OSystem *system) { - return new KyraEngine(detector, system); +Engine *Engine_KYRA_create(OSystem *system) { + return new KyraEngine(system); } REGISTER_PLUGIN(KYRA, "Legend of Kyrandia Engine"); namespace Kyra { -KyraEngine::KyraEngine(GameDetector *detector, OSystem *system) +KyraEngine::KyraEngine(OSystem *system) : Engine(system) { _seq_Forest = _seq_KallakWriting = _seq_KyrandiaLogo = _seq_KallakMalcolm = _seq_MalcolmTree = _seq_WestwoodLogo = _seq_Demo1 = _seq_Demo2 = _seq_Demo3 = @@ -326,9 +325,9 @@ KyraEngine::KyraEngine(GameDetector *detector, OSystem *system) } } -int KyraEngine::init(GameDetector &detector) { +int KyraEngine::init() { _system->beginGFXTransaction(); - initCommonGFX(detector, false); + initCommonGFX(false); //for debug reasons (see Screen::updateScreen) //_system->initSize(640, 200); _system->initSize(320, 200); @@ -506,7 +505,6 @@ int KyraEngine::init(GameDetector &detector) { _mousePressFlag = false; - _targetName = detector._targetName; _menuDirectlyToLoad = false; _lastMusicCommand = 0; diff --git a/engines/kyra/kyra.h b/engines/kyra/kyra.h index 13f51c3111..d5a26f9c19 100644 --- a/engines/kyra/kyra.h +++ b/engines/kyra/kyra.h @@ -246,7 +246,7 @@ public: MUSIC_INTRO = 0 }; - KyraEngine(GameDetector *detector, OSystem *system); + KyraEngine(OSystem *system); ~KyraEngine(); void errorString(const char *buf_input, char *buf_output); @@ -476,7 +476,7 @@ public: protected: int go(); - int init(GameDetector &detector); + int init(); void startup(); void mainLoop(); @@ -781,8 +781,6 @@ protected: bool _configSounds; uint8 _configVoice; - Common::String _targetName; - int _curMusicTheme; int _newMusicTheme; int16 _lastMusicCommand; diff --git a/engines/lure/lure.cpp b/engines/lure/lure.cpp index 7a617052d5..84d035b318 100644 --- a/engines/lure/lure.cpp +++ b/engines/lure/lure.cpp @@ -24,7 +24,6 @@ #include "backends/fs/fs.h" -#include "base/gameDetector.h" #include "base/plugins.h" #include "common/config-manager.h" @@ -155,7 +154,7 @@ DetectedGameList Engine_LURE_detectGames(const FSList &fslist) { return detectedGames; } -Engine *Engine_LURE_create(GameDetector *detector, OSystem *system) { +Engine *Engine_LURE_create(OSystem *system) { return new LureEngine(system); } @@ -252,9 +251,9 @@ void LureEngine::detectGame() { } } -int LureEngine::init(GameDetector &detector) { +int LureEngine::init() { _system->beginGFXTransaction(); - initCommonGFX(detector, false); + initCommonGFX(false); _system->initSize(FULL_SCREEN_WIDTH, FULL_SCREEN_HEIGHT); _system->endGFXTransaction(); diff --git a/engines/lure/lure.h b/engines/lure/lure.h index 489c45b893..d980b97bb2 100644 --- a/engines/lure/lure.h +++ b/engines/lure/lure.h @@ -58,7 +58,7 @@ public: LureEngine(OSystem *system); ~LureEngine(); - virtual int init(GameDetector &detector); + virtual int init(); virtual int go(); virtual void errorString(const char *buf_input, char *buf_output); void quitGame(); diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp index d1219fb59e..c87ccd6695 100644 --- a/engines/queen/queen.cpp +++ b/engines/queen/queen.cpp @@ -24,7 +24,6 @@ #include "backends/fs/fs.h" -#include "base/gameDetector.h" #include "base/plugins.h" #include "common/config-manager.h" @@ -129,7 +128,7 @@ DetectedGameList Engine_QUEEN_detectGames(const FSList &fslist) { return detectedGames; } -Engine *Engine_QUEEN_create(GameDetector *detector, OSystem *syst) { +Engine *Engine_QUEEN_create(OSystem *syst) { return new Queen::QueenEngine(syst); } @@ -404,9 +403,9 @@ int QueenEngine::go() { return 0; } -int QueenEngine::init(GameDetector &detector) { +int QueenEngine::init() { _system->beginGFXTransaction(); - initCommonGFX(detector, false); + initCommonGFX(false); _system->initSize(GAME_SCREEN_WIDTH, GAME_SCREEN_HEIGHT); _system->endGFXTransaction(); diff --git a/engines/queen/queen.h b/engines/queen/queen.h index 3b7f448ea0..2077f42a34 100644 --- a/engines/queen/queen.h +++ b/engines/queen/queen.h @@ -25,7 +25,6 @@ #include "base/engine.h" -class GameDetector; namespace Common { class InSaveFile; } @@ -136,7 +135,7 @@ protected: void errorString(const char *buf_input, char *buf_output); int go(); - int init(GameDetector &detector); + int init(); int _talkSpeed; diff --git a/engines/saga/game.cpp b/engines/saga/game.cpp index 4154173f33..10c009b8f1 100644 --- a/engines/saga/game.cpp +++ b/engines/saga/game.cpp @@ -31,7 +31,6 @@ #include "common/hashmap.h" #include "common/config-manager.h" #include "base/plugins.h" -#include "base/gameDetector.h" #include "backends/fs/fs.h" #include "saga/rscfile.h" @@ -84,8 +83,8 @@ DetectedGameList Engine_SAGA_detectGames(const FSList &fslist) { return Saga::GAME_detectGames(fslist); } -Engine *Engine_SAGA_create(GameDetector *detector, OSystem *syst) { - return new Saga::SagaEngine(detector, syst); +Engine *Engine_SAGA_create(OSystem *syst) { + return new Saga::SagaEngine(syst); } REGISTER_PLUGIN(SAGA, "SAGA Engine"); diff --git a/engines/saga/gfx.cpp b/engines/saga/gfx.cpp index cdb445df8d..940eb01927 100644 --- a/engines/saga/gfx.cpp +++ b/engines/saga/gfx.cpp @@ -36,9 +36,9 @@ namespace Saga { -Gfx::Gfx(SagaEngine *vm, OSystem *system, int width, int height, GameDetector &detector) : _vm(vm), _system(system) { +Gfx::Gfx(SagaEngine *vm, OSystem *system, int width, int height) : _vm(vm), _system(system) { _system->beginGFXTransaction(); - _vm->initCommonGFX(detector, (width > 320)); + _vm->initCommonGFX(width > 320); _system->initSize(width, height); _system->endGFXTransaction(); diff --git a/engines/saga/gfx.h b/engines/saga/gfx.h index ff96cbf081..2c0f4df600 100644 --- a/engines/saga/gfx.h +++ b/engines/saga/gfx.h @@ -134,7 +134,7 @@ class SagaEngine; class Gfx { public: - Gfx(SagaEngine *vm, OSystem *system, int width, int height, GameDetector &detector); + Gfx(SagaEngine *vm, OSystem *system, int width, int height); ~Gfx(); Surface *getBackBuffer() { return &_backBuffer; diff --git a/engines/saga/saga.cpp b/engines/saga/saga.cpp index f0d4184f64..2a8f0e1802 100644 --- a/engines/saga/saga.cpp +++ b/engines/saga/saga.cpp @@ -23,7 +23,6 @@ */ #include "common/stdafx.h" -#include "base/gameDetector.h" #include "common/file.h" #include "common/config-manager.h" @@ -58,9 +57,8 @@ namespace Saga { #define MAX_TIME_DELTA 100 -SagaEngine::SagaEngine(GameDetector *detector, OSystem *syst) - : Engine(syst), - _targetName(detector->_targetName) { +SagaEngine::SagaEngine(OSystem *syst) + : Engine(syst) { _leftMouseButtonPressed = _rightMouseButtonPressed = false; @@ -148,7 +146,7 @@ void SagaEngine::errorString(const char *buf1, char *buf2) { strcpy(buf2, buf1); } -int SagaEngine::init(GameDetector &detector) { +int SagaEngine::init() { _soundVolume = ConfMan.getInt("sfx_volume") / 25; _musicVolume = ConfMan.getInt("music_volume") / 25; _subtitlesEnabled = ConfMan.getBool("subtitles"); @@ -186,7 +184,7 @@ int SagaEngine::init(GameDetector &detector) { _previousTicks = _system->getMillis(); // Initialize graphics - _gfx = new Gfx(this, _system, getDisplayWidth(), getDisplayHeight(), detector); + _gfx = new Gfx(this, _system, getDisplayWidth(), getDisplayHeight()); // Graphics driver should be initialized before console _console = new Console(this); diff --git a/engines/saga/saga.h b/engines/saga/saga.h index 0ba23b4948..450b21ec71 100644 --- a/engines/saga/saga.h +++ b/engines/saga/saga.h @@ -573,9 +573,9 @@ class SagaEngine : public Engine { protected: int go(); - int init(GameDetector &detector); + int init(); public: - SagaEngine(GameDetector * detector, OSystem * syst); + SagaEngine(OSystem *syst); virtual ~SagaEngine(); void shutDown() { _quit = true; } @@ -666,8 +666,6 @@ public: } private: - Common::String _targetName; - uint _saveFilesMaxCount; uint _saveFilesCount; SaveFileData _saveFiles[MAX_SAVES]; diff --git a/engines/scumm/cursor.cpp b/engines/scumm/cursor.cpp index 1d64c42328..6e86ad5644 100644 --- a/engines/scumm/cursor.cpp +++ b/engines/scumm/cursor.cpp @@ -93,8 +93,8 @@ static const byte default_v6_cursor[] = { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0x00,0x0F,0x00, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, }; -ScummEngine_v5::ScummEngine_v5(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine(detector, syst, gs, md5sum, subst) { +ScummEngine_v5::ScummEngine_v5(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine(syst, gs, md5sum, subst) { for (int i = 0; i < 4; i++) { memcpy(_cursorImages[i], default_cursor_images[i], 32); diff --git a/engines/scumm/debugger.cpp b/engines/scumm/debugger.cpp index 98359f084c..0f37947467 100644 --- a/engines/scumm/debugger.cpp +++ b/engines/scumm/debugger.cpp @@ -82,7 +82,7 @@ ScummDebugger::ScummDebugger(ScummEngine *s) DVar_Register("scumm_roomresource", &_vm->_roomResource, DVAR_INT, 0); DVar_Register("scumm_vars", &_vm->_scummVars, DVAR_INTARRAY, _vm->_numVariables); - DVar_Register("scumm_gamename", &_vm->_targetName, DVAR_STRING, 0); +// DVar_Register("scumm_gamename", &_vm->_targetName, DVAR_STRING, 0); DVar_Register("scumm_exename", &_vm->_baseName, DVAR_STRING, 0); DVar_Register("scumm_gameid", &_vm->_game.id, DVAR_BYTE, 0); diff --git a/engines/scumm/he/intern_he.h b/engines/scumm/he/intern_he.h index da349d004a..0fd51d5d8d 100644 --- a/engines/scumm/he/intern_he.h +++ b/engines/scumm/he/intern_he.h @@ -51,7 +51,7 @@ protected: Common::File _hFileTable[17]; public: - ScummEngine_v60he(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) : ScummEngine_v6(detector, syst, gs, md5sum, subst) {} + ScummEngine_v60he(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) : ScummEngine_v6(syst, gs, md5sum, subst) {} virtual void scummInit(); @@ -116,7 +116,7 @@ protected: bool _skipProcessActors; public: - ScummEngine_v70he(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_v70he(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); ~ScummEngine_v70he(); Wiz *_wiz; @@ -182,7 +182,7 @@ protected: class ScummEngine_v71he : public ScummEngine_v70he { public: - ScummEngine_v71he(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_v71he(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); protected: virtual void saveOrLoad(Serializer *s); @@ -237,7 +237,7 @@ protected: WizParameters _wizParams; public: - ScummEngine_v72he(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_v72he(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); virtual void scummInit(); @@ -348,7 +348,7 @@ protected: int32 _heSndResId, _curSndId, _sndPtrOffs, _sndTmrOffs; public: - ScummEngine_v80he(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_v80he(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); protected: virtual void setupOpcodes(); @@ -421,7 +421,7 @@ protected: int32 _curSpriteGroupId; public: - ScummEngine_v90he(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_v90he(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); ~ScummEngine_v90he(); virtual void scummInit(); @@ -518,7 +518,7 @@ protected: class ScummEngine_v99he : public ScummEngine_v90he { public: - ScummEngine_v99he(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) : ScummEngine_v90he(detector, syst, gs, md5sum, subst) {} + ScummEngine_v99he(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) : ScummEngine_v90he(syst, gs, md5sum, subst) {} virtual void scummInit(); @@ -549,7 +549,7 @@ protected: const OpcodeEntryV100he *_opcodesV100he; public: - ScummEngine_v100he(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) : ScummEngine_v99he(detector, syst, gs, md5sum, subst) {} + ScummEngine_v100he(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) : ScummEngine_v99he(syst, gs, md5sum, subst) {} protected: virtual void setupOpcodes(); diff --git a/engines/scumm/intern.h b/engines/scumm/intern.h index d31dbf298d..530f3a36ed 100644 --- a/engines/scumm/intern.h +++ b/engines/scumm/intern.h @@ -50,7 +50,7 @@ protected: byte _cursorHotspots[2 * 4]; public: - ScummEngine_v5(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_v5(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); protected: virtual void setupOpcodes(); @@ -193,7 +193,7 @@ protected: */ class ScummEngine_v4 : public ScummEngine_v5 { public: - ScummEngine_v4(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_v4(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); virtual void scummInit(); @@ -212,7 +212,7 @@ protected: */ class ScummEngine_v3 : public ScummEngine_v4 { public: - ScummEngine_v3(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_v3(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); protected: virtual void readRoomsOffsets(); @@ -224,7 +224,7 @@ protected: */ class ScummEngine_v3old : public ScummEngine_v3 { public: - ScummEngine_v3old(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_v3old(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); protected: virtual void readResTypeList(int id, const char *name); @@ -257,7 +257,7 @@ protected: int8 _mouseOverBoxV2; public: - ScummEngine_v2(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_v2(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); virtual void scummInit(); @@ -403,7 +403,7 @@ protected: int _currentMode; public: - ScummEngine_c64(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_c64(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); virtual void scummInit(); @@ -555,7 +555,7 @@ protected: public: - ScummEngine_v6(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_v6(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); virtual void scummInit(); @@ -784,7 +784,7 @@ protected: #ifndef DISABLE_SCUMM_7_8 class ScummEngine_v7 : public ScummEngine_v6 { public: - ScummEngine_v7(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_v7(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); ~ScummEngine_v7(); struct LangIndexNode { @@ -865,7 +865,7 @@ protected: ObjectNameId *_objectIDMap; public: - ScummEngine_v8(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine_v8(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); ~ScummEngine_v8(); protected: diff --git a/engines/scumm/plugin.cpp b/engines/scumm/plugin.cpp index ac9bcfc0bd..f1087040b7 100644 --- a/engines/scumm/plugin.cpp +++ b/engines/scumm/plugin.cpp @@ -25,7 +25,6 @@ #include "backends/fs/fs.h" -#include "base/gameDetector.h" #include "base/plugins.h" #include "common/config-manager.h" @@ -1618,7 +1617,7 @@ DetectedGameList Engine_SCUMM_detectGames(const FSList &fslist) { * * This is heavily based on our MD5 detection scheme. */ -Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) { +Engine *Engine_SCUMM_create(OSystem *syst) { Engine *engine; const char *gameid = ConfMan.get("gameid").c_str(); @@ -1811,65 +1810,65 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) { case 1: case 2: if (game.id == GID_MANIAC && game.platform == Common::kPlatformC64) - engine = new ScummEngine_c64(detector, syst, game, md5sum, subst); + engine = new ScummEngine_c64(syst, game, md5sum, subst); else - engine = new ScummEngine_v2(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v2(syst, game, md5sum, subst); break; case 3: if (game.features & GF_OLD_BUNDLE) - engine = new ScummEngine_v3old(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v3old(syst, game, md5sum, subst); else - engine = new ScummEngine_v3(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v3(syst, game, md5sum, subst); break; case 4: - engine = new ScummEngine_v4(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v4(syst, game, md5sum, subst); break; case 5: - engine = new ScummEngine_v5(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v5(syst, game, md5sum, subst); break; case 6: switch (game.heversion) { #ifndef DISABLE_HE case 100: - engine = new ScummEngine_v100he(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v100he(syst, game, md5sum, subst); break; case 99: - engine = new ScummEngine_v99he(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v99he(syst, game, md5sum, subst); break; case 98: case 95: case 90: - engine = new ScummEngine_v90he(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v90he(syst, game, md5sum, subst); break; case 80: - engine = new ScummEngine_v80he(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v80he(syst, game, md5sum, subst); break; case 73: case 72: - engine = new ScummEngine_v72he(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v72he(syst, game, md5sum, subst); break; case 71: - engine = new ScummEngine_v71he(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v71he(syst, game, md5sum, subst); break; case 70: - engine = new ScummEngine_v70he(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v70he(syst, game, md5sum, subst); break; #endif #ifndef PALMOS_68K case 61: - engine = new ScummEngine_v60he(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v60he(syst, game, md5sum, subst); break; #endif default: - engine = new ScummEngine_v6(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v6(syst, game, md5sum, subst); } break; #ifndef DISABLE_SCUMM_7_8 case 7: - engine = new ScummEngine_v7(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v7(syst, game, md5sum, subst); break; case 8: - engine = new ScummEngine_v8(detector, syst, game, md5sum, subst); + engine = new ScummEngine_v8(syst, game, md5sum, subst); break; #endif default: diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index ed846fa7b9..949c35f0d1 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -25,7 +25,6 @@ #include "backends/fs/fs.h" -#include "base/gameDetector.h" #include "base/plugins.h" #include "common/config-manager.h" @@ -81,7 +80,7 @@ namespace Scumm { ScummEngine *g_scumm = 0; -ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) +ScummEngine::ScummEngine(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) : Engine(syst), _game(gs), _substResFileName(subst), @@ -89,8 +88,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const GameSettin _currentScript(0xFF), // Let debug() work on init stage gdi(this), res(this), - _pauseDialog(0), _mainMenuDialog(0), _versionDialog(0), - _targetName(detector->_targetName) { + _pauseDialog(0), _mainMenuDialog(0), _versionDialog(0) { // Copy MD5 checksum memcpy(_gameMD5, md5sum, 16); @@ -677,22 +675,22 @@ ScummEngine::~ScummEngine() { delete _debugger; } -ScummEngine_v4::ScummEngine_v4(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine_v5(detector, syst, gs, md5sum, subst) { +ScummEngine_v4::ScummEngine_v4(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine_v5(syst, gs, md5sum, subst) { _resourceHeaderSize = 6; } -ScummEngine_v3::ScummEngine_v3(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine_v4(detector, syst, gs, md5sum, subst) { +ScummEngine_v3::ScummEngine_v3(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine_v4(syst, gs, md5sum, subst) { } -ScummEngine_v3old::ScummEngine_v3old(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine_v3(detector, syst, gs, md5sum, subst) { +ScummEngine_v3old::ScummEngine_v3old(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine_v3(syst, gs, md5sum, subst) { _resourceHeaderSize = 4; } -ScummEngine_v2::ScummEngine_v2(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine_v3old(detector, syst, gs, md5sum, subst) { +ScummEngine_v2::ScummEngine_v2(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine_v3old(syst, gs, md5sum, subst) { VAR_SENTENCE_VERB = 0xFF; VAR_SENTENCE_OBJECT1 = 0xFF; @@ -705,14 +703,14 @@ ScummEngine_v2::ScummEngine_v2(GameDetector *detector, OSystem *syst, const Game VAR_CLICK_OBJECT = 0xFF; } -ScummEngine_c64::ScummEngine_c64(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine_v2(detector, syst, gs, md5sum, subst) { +ScummEngine_c64::ScummEngine_c64(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine_v2(syst, gs, md5sum, subst) { _currentMode = 0; } -ScummEngine_v6::ScummEngine_v6(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine(detector, syst, gs, md5sum, subst) { +ScummEngine_v6::ScummEngine_v6(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine(syst, gs, md5sum, subst) { _blastObjectQueuePos = 0; memset(_blastObjectQueue, 0, sizeof(_blastObjectQueue)); _blastTextQueuePos = 0; @@ -733,8 +731,8 @@ ScummEngine_v6::ScummEngine_v6(GameDetector *detector, OSystem *syst, const Game } #ifndef DISABLE_HE -ScummEngine_v70he::ScummEngine_v70he(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine_v60he(detector, syst, gs, md5sum, subst) { +ScummEngine_v70he::ScummEngine_v70he(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine_v60he(syst, gs, md5sum, subst) { if (_game.platform == Common::kPlatformMacintosh && (_game.heversion >= 72 && _game.heversion <= 73)) _resExtractor = new MacResExtractor(this); else @@ -765,16 +763,16 @@ ScummEngine_v70he::~ScummEngine_v70he() { free(_storedFlObjects); } -ScummEngine_v71he::ScummEngine_v71he(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine_v70he(detector, syst, gs, md5sum, subst) { +ScummEngine_v71he::ScummEngine_v71he(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine_v70he(syst, gs, md5sum, subst) { _auxBlocksNum = 0; memset(_auxBlocks, 0, sizeof(_auxBlocks)); _auxEntriesNum = 0; memset(_auxEntries, 0, sizeof(_auxEntries)); } -ScummEngine_v72he::ScummEngine_v72he(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine_v71he(detector, syst, gs, md5sum, subst) { +ScummEngine_v72he::ScummEngine_v72he(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine_v71he(syst, gs, md5sum, subst) { VAR_NUM_ROOMS = 0xFF; VAR_NUM_SCRIPTS = 0xFF; VAR_NUM_SOUNDS = 0xFF; @@ -784,8 +782,8 @@ ScummEngine_v72he::ScummEngine_v72he(GameDetector *detector, OSystem *syst, cons VAR_POLYGONS_ONLY = 0xFF; } -ScummEngine_v80he::ScummEngine_v80he(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine_v72he(detector, syst, gs, md5sum, subst) { +ScummEngine_v80he::ScummEngine_v80he(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine_v72he(syst, gs, md5sum, subst) { _heSndResId = 0; _curSndId = 0; _sndPtrOffs = 0; @@ -797,8 +795,8 @@ ScummEngine_v80he::ScummEngine_v80he(GameDetector *detector, OSystem *syst, cons VAR_COLOR_DEPTH = 0xFF; } -ScummEngine_v90he::ScummEngine_v90he(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine_v80he(detector, syst, gs, md5sum, subst) { +ScummEngine_v90he::ScummEngine_v90he(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine_v80he(syst, gs, md5sum, subst) { _sprite = new Sprite(this); VAR_NUM_SPRITE_GROUPS = 0xFF; @@ -822,8 +820,8 @@ ScummEngine_v90he::~ScummEngine_v90he() { #endif #ifndef DISABLE_SCUMM_7_8 -ScummEngine_v7::ScummEngine_v7(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine_v6(detector, syst, gs, md5sum, subst) { +ScummEngine_v7::ScummEngine_v7(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine_v6(syst, gs, md5sum, subst) { _verbCharset = 0; _existLanguageFile = false; _languageBuffer = NULL; @@ -836,8 +834,8 @@ ScummEngine_v7::~ScummEngine_v7() { free(_languageIndex); } -ScummEngine_v8::ScummEngine_v8(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) - : ScummEngine_v7(detector, syst, gs, md5sum, subst) { +ScummEngine_v8::ScummEngine_v8(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst) + : ScummEngine_v7(syst, gs, md5sum, subst) { _objectIDMap = 0; } @@ -850,7 +848,7 @@ ScummEngine_v8::~ScummEngine_v8() { #pragma mark --- Initialization --- #pragma mark - -int ScummEngine::init(GameDetector &detector) { +int ScummEngine::init() { // Initialize backend _system->beginGFXTransaction(); @@ -867,7 +865,7 @@ int ScummEngine::init(GameDetector &detector) { _system->initSize(_screenWidth, _screenHeight, (ConfMan.getBool("force_1x_overlay") ? 1 : 2)); defaultTo1XScaler = (_screenWidth > 320); } - initCommonGFX(detector, defaultTo1XScaler); + initCommonGFX(defaultTo1XScaler); _system->endGFXTransaction(); // On some systems it's not safe to run CD audio games from the CD. diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h index ee4ef84bf6..489e897afb 100644 --- a/engines/scumm/scumm.h +++ b/engines/scumm/scumm.h @@ -41,7 +41,6 @@ namespace GUI { class Dialog; } using GUI::Dialog; -class GameDetector; namespace Common { class InSaveFile; class OutSaveFile; @@ -445,14 +444,14 @@ protected: public: // Constructor / Destructor - ScummEngine(GameDetector *detector, OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); + ScummEngine(OSystem *syst, const GameSettings &gs, uint8 md5sum[16], SubstResFileNames subst); virtual ~ScummEngine(); /** Startup function, main loop. */ int go(); // Init functions - int init(GameDetector &detector); + int init(); virtual void setupScummVars(); virtual void initScummVars(); @@ -739,7 +738,6 @@ public: protected: int _resourceHeaderSize; Common::String _baseName; // This is the name we use for opening resource files - Common::String _targetName; // This is the game the user calls it, so use for saving byte _resourceMapper[128]; byte *_heV7DiskOffsets; uint32 *_heV7RoomIntOffsets; diff --git a/engines/simon/game.cpp b/engines/simon/game.cpp index 29d1df7bfb..0adf22cb65 100644 --- a/engines/simon/game.cpp +++ b/engines/simon/game.cpp @@ -24,7 +24,6 @@ #include "backends/fs/fs.h" -#include "base/gameDetector.h" #include "base/plugins.h" #include "common/config-manager.h" @@ -112,7 +111,7 @@ DetectedGameList Engine_SIMON_detectGames(const FSList &fslist) { return Simon::GAME_detectGames(fslist); } -Engine *Engine_SIMON_create(GameDetector *detector, OSystem *syst) { +Engine *Engine_SIMON_create(OSystem *syst) { const char *gameid = ConfMan.get("gameid").c_str(); for (const ObsoleteGameID *o = obsoleteGameIDsTable; o->from; ++o) { diff --git a/engines/simon/simon.cpp b/engines/simon/simon.cpp index 9cade56ed5..405d2dbe7e 100644 --- a/engines/simon/simon.cpp +++ b/engines/simon/simon.cpp @@ -24,7 +24,6 @@ #include "backends/fs/fs.h" -#include "base/gameDetector.h" #include "common/config-manager.h" #include "common/file.h" @@ -484,7 +483,7 @@ SimonEngine::SimonEngine(OSystem *syst) File::addDefaultDirectory(_gameDataPath + "SPEECH/"); } -int SimonEngine::init(GameDetector &detector) { +int SimonEngine::init() { // Detect game if (!initGame()) { @@ -509,7 +508,7 @@ int SimonEngine::init(GameDetector &detector) { _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, ConfMan.getInt("music_volume")); _system->beginGFXTransaction(); - initCommonGFX(detector, getGameType() == GType_FF); + initCommonGFX(getGameType() == GType_FF); _system->initSize(_screenWidth, _screenHeight); _system->endGFXTransaction(); diff --git a/engines/simon/simon.h b/engines/simon/simon.h index cbe6c7935e..52a292014c 100644 --- a/engines/simon/simon.h +++ b/engines/simon/simon.h @@ -35,8 +35,6 @@ #include "simon/sound.h" #include "simon/vga.h" -class GameDetector; - namespace Simon { /* Various other settings */ @@ -1044,7 +1042,7 @@ protected: void resfile_read(void *dst, uint32 offs, uint32 size); - int init(GameDetector &detector); + int init(); int go(); void openGameFile(); diff --git a/engines/sky/sky.cpp b/engines/sky/sky.cpp index 636b12683b..f3b286a5ea 100644 --- a/engines/sky/sky.cpp +++ b/engines/sky/sky.cpp @@ -24,7 +24,6 @@ #include "backends/fs/fs.h" -#include "base/gameDetector.h" #include "base/plugins.h" #include "common/config-manager.h" @@ -111,7 +110,7 @@ DetectedGameList Engine_SKY_detectGames(const FSList &fslist) { return detectedGames; } -Engine *Engine_SKY_create(GameDetector *detector, OSystem *syst) { +Engine *Engine_SKY_create(OSystem *syst) { return new Sky::SkyEngine(syst); } @@ -306,9 +305,9 @@ int SkyEngine::go() { return 0; } -int SkyEngine::init(GameDetector &detector) { +int SkyEngine::init() { _system->beginGFXTransaction(); - initCommonGFX(detector, false); + initCommonGFX(false); _system->initSize(320, 200); _system->endGFXTransaction(); diff --git a/engines/sky/sky.h b/engines/sky/sky.h index 00f16a0ea6..40b4630597 100644 --- a/engines/sky/sky.h +++ b/engines/sky/sky.h @@ -26,8 +26,6 @@ #include "common/stdafx.h" #include "base/engine.h" -class GameDetector; - namespace Sky { struct SystemVars { @@ -98,7 +96,7 @@ protected: uint32 _lastSaveTime; - int init(GameDetector &detector); + int init(); void initItemList(); void initVirgin(); diff --git a/engines/sword1/sword1.cpp b/engines/sword1/sword1.cpp index 7db5e26e2e..6f11859a92 100644 --- a/engines/sword1/sword1.cpp +++ b/engines/sword1/sword1.cpp @@ -117,8 +117,8 @@ DetectedGameList Engine_SWORD1_detectGames(const FSList &fslist) { return detectedGames; } -Engine *Engine_SWORD1_create(GameDetector *detector, OSystem *syst) { - return new SwordEngine(detector, syst); +Engine *Engine_SWORD1_create(OSystem *syst) { + return new SwordEngine(syst); } REGISTER_PLUGIN(SWORD1, "Broken Sword"); @@ -131,7 +131,7 @@ void SwordEngine::errorString(const char *buf1, char *buf2) { strcpy(buf2, buf1); } -SwordEngine::SwordEngine(GameDetector *detector, OSystem *syst) +SwordEngine::SwordEngine(OSystem *syst) : Engine(syst) { if (0 == scumm_stricmp(ConfMan.get("gameid").c_str(), "sword1demo")) @@ -166,10 +166,10 @@ SwordEngine::~SwordEngine() { delete _resMan; } -int SwordEngine::init(GameDetector &detector) { +int SwordEngine::init() { _system->beginGFXTransaction(); - initCommonGFX(detector, true); + initCommonGFX(true); _system->initSize(640, 480); _system->endGFXTransaction(); diff --git a/engines/sword1/sword1.h b/engines/sword1/sword1.h index a41685ad75..50c0150743 100644 --- a/engines/sword1/sword1.h +++ b/engines/sword1/sword1.h @@ -25,7 +25,6 @@ #include "base/engine.h" #include "common/util.h" -#include "base/gameDetector.h" #include "sword1/sworddefs.h" namespace Sword1 { @@ -71,7 +70,7 @@ struct SystemVars { class SwordEngine : public Engine { void errorString(const char *buf_input, char *buf_output); public: - SwordEngine(GameDetector *detector, OSystem *syst); + SwordEngine(OSystem *syst); virtual ~SwordEngine(); static SystemVars _systemVars; void reinitialize(void); @@ -79,7 +78,7 @@ public: uint32 _features; protected: int go(); - int init(GameDetector &detector); + int init(); private: void delay(int32 amount); diff --git a/engines/sword2/sword2.cpp b/engines/sword2/sword2.cpp index 32ce29c0f0..0d354a3f35 100644 --- a/engines/sword2/sword2.cpp +++ b/engines/sword2/sword2.cpp @@ -23,7 +23,6 @@ #include "backends/fs/fs.h" -#include "base/gameDetector.h" #include "base/plugins.h" #include "common/config-manager.h" @@ -112,15 +111,15 @@ DetectedGameList Engine_SWORD2_detectGames(const FSList &fslist) { return detectedGames; } -Engine *Engine_SWORD2_create(GameDetector *detector, OSystem *syst) { - return new Sword2::Sword2Engine(detector, syst); +Engine *Engine_SWORD2_create(OSystem *syst) { + return new Sword2::Sword2Engine(syst); } REGISTER_PLUGIN(SWORD2, "Broken Sword 2"); namespace Sword2 { -Sword2Engine::Sword2Engine(GameDetector *detector, OSystem *syst) : Engine(syst) { +Sword2Engine::Sword2Engine(OSystem *syst) : Engine(syst) { // Add default file directories Common::File::addDefaultDirectory(_gameDataPath + "CLUSTERS/"); Common::File::addDefaultDirectory(_gameDataPath + "SWORD2/"); @@ -134,8 +133,6 @@ Sword2Engine::Sword2Engine(GameDetector *detector, OSystem *syst) : Engine(syst) else _features = 0; - _targetName = detector->_targetName; - _bootParam = ConfMan.getInt("boot_param"); _saveSlot = ConfMan.getInt("save_slot"); @@ -243,12 +240,12 @@ void Sword2Engine::setupPersistentResources() { _resman->openResource(CUR_PLAYER_ID); } -int Sword2Engine::init(GameDetector &detector) { +int Sword2Engine::init() { // Get some falling RAM and put it in your pocket, never let it slip // away _system->beginGFXTransaction(); - initCommonGFX(detector, true); + initCommonGFX(true); _screen = new Screen(this, 640, 480); _system->endGFXTransaction(); diff --git a/engines/sword2/sword2.h b/engines/sword2/sword2.h index f3aff6b0fb..31ab253830 100644 --- a/engines/sword2/sword2.h +++ b/engines/sword2/sword2.h @@ -36,7 +36,6 @@ #define MAX_starts 100 #define MAX_description 100 -class GameDetector; class OSystem; namespace Sword2 { @@ -121,10 +120,10 @@ private: StartUp _startList[MAX_starts]; public: - Sword2Engine(GameDetector *detector, OSystem *syst); + Sword2Engine(OSystem *syst); ~Sword2Engine(); int go(); - int init(GameDetector &detector); + int init(); void registerDefaultSettings(); void readSettings(); @@ -138,7 +137,6 @@ public: bool _quit; uint32 _features; - Common::String _targetName; // target name for saves MemoryManager *_memory; ResourceManager *_resman; |