From 6b159d71ab212feb4e93bae412a7352ead59241b Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Tue, 7 Aug 2012 13:51:22 +0200 Subject: WINTERMUTE: Remove g_wintermute. --- engines/wintermute/base/base_engine.cpp | 6 ++++++ engines/wintermute/base/base_engine.h | 4 ++++ engines/wintermute/base/base_persistence_manager.cpp | 2 +- engines/wintermute/base/saveload.cpp | 2 +- engines/wintermute/base/sound/base_sound_manager.cpp | 2 +- 5 files changed, 13 insertions(+), 3 deletions(-) (limited to 'engines/wintermute/base') diff --git a/engines/wintermute/base/base_engine.cpp b/engines/wintermute/base/base_engine.cpp index 04088d299e..c31777c866 100644 --- a/engines/wintermute/base/base_engine.cpp +++ b/engines/wintermute/base/base_engine.cpp @@ -30,6 +30,7 @@ #include "engines/wintermute/base/base_game.h" #include "engines/wintermute/base/base_engine.h" #include "engines/wintermute/wintermute.h" +#include "engines/wintermute/system/sys_class_registry.h" #include "common/system.h" namespace Common { DECLARE_SINGLETON(WinterMute::BaseEngine); @@ -40,6 +41,7 @@ namespace WinterMute { BaseEngine::BaseEngine() { _fileManager = NULL; _gameRef = NULL; + _classReg = NULL; _rnd = NULL; _gameId = ""; } @@ -48,10 +50,14 @@ void BaseEngine::init() { _fileManager = new BaseFileManager(); // Don't forget to register your random source _rnd = new Common::RandomSource("WinterMute"); + _classReg = new SystemClassRegistry(); + _classReg->registerClasses(); } BaseEngine::~BaseEngine() { delete _fileManager; + delete _rnd; + delete _classReg; } void BaseEngine::createInstance(const Common::String &gameid) { diff --git a/engines/wintermute/base/base_engine.h b/engines/wintermute/base/base_engine.h index 253ef048ab..04199715af 100644 --- a/engines/wintermute/base/base_engine.h +++ b/engines/wintermute/base/base_engine.h @@ -38,6 +38,7 @@ namespace WinterMute { class BaseFileManager; class BaseRegistry; class BaseGame; +class SystemClassRegistry; class BaseEngine : public Common::Singleton { void init(); BaseFileManager *_fileManager; @@ -45,6 +46,7 @@ class BaseEngine : public Common::Singleton { BaseGame *_gameRef; // We need random numbers Common::RandomSource *_rnd; + SystemClassRegistry *_classReg; public: BaseEngine(); ~BaseEngine(); @@ -53,6 +55,8 @@ public: Common::RandomSource *getRandomSource() { return _rnd; } uint32 randInt(int from, int to); + + SystemClassRegistry *getClassRegistry(){ return _classReg; } BaseGame *getGameRef() { return _gameRef; } BaseFileManager *getFileManager() { return _fileManager; } static void LOG(bool res, const char *fmt, ...); diff --git a/engines/wintermute/base/base_persistence_manager.cpp b/engines/wintermute/base/base_persistence_manager.cpp index 4236203292..e6ed5cb7e0 100644 --- a/engines/wintermute/base/base_persistence_manager.cpp +++ b/engines/wintermute/base/base_persistence_manager.cpp @@ -371,7 +371,7 @@ bool BasePersistenceManager::saveFile(const Common::String &filename) { byte *buffer = ((Common::MemoryWriteStreamDynamic *)_saveStream)->getData(); uint32 bufferSize = ((Common::MemoryWriteStreamDynamic *)_saveStream)->size(); - Common::SaveFileManager *saveMan = g_wintermute->getSaveFileMan(); + Common::SaveFileManager *saveMan = ((WinterMuteEngine *)g_engine)->getSaveFileMan(); Common::OutSaveFile *file = saveMan->openForSaving(filename); file->write(prefixBuffer, prefixSize); file->write(buffer, bufferSize); diff --git a/engines/wintermute/base/saveload.cpp b/engines/wintermute/base/saveload.cpp index 5b51749b43..fe987c0b2a 100644 --- a/engines/wintermute/base/saveload.cpp +++ b/engines/wintermute/base/saveload.cpp @@ -194,7 +194,7 @@ bool SaveLoad::isSaveSlotUsed(int slot) { bool SaveLoad::emptySaveSlot(int slot) { Common::String filename = getSaveSlotFilename(slot); BasePersistenceManager *pm = new BasePersistenceManager(); - g_wintermute->getSaveFileMan()->removeSavefile(pm->getFilenameForSlot(slot)); + ((WinterMuteEngine *)g_engine)->getSaveFileMan()->removeSavefile(pm->getFilenameForSlot(slot)); delete pm; return true; } diff --git a/engines/wintermute/base/sound/base_sound_manager.cpp b/engines/wintermute/base/sound/base_sound_manager.cpp index ed475ec31c..95b7d040ab 100644 --- a/engines/wintermute/base/sound/base_sound_manager.cpp +++ b/engines/wintermute/base/sound/base_sound_manager.cpp @@ -184,7 +184,7 @@ bool BaseSoundMgr::setVolume(Audio::Mixer::SoundType type, int volume) { case Audio::Mixer::kPlainSoundType: error("Plain sound type shouldn't be used in WME"); } - g_wintermute->syncSoundSettings(); + g_engine->syncSoundSettings(); return STATUS_OK; } -- cgit v1.2.3