aboutsummaryrefslogtreecommitdiff
path: root/engines/wintermute/base
diff options
context:
space:
mode:
authorEinar Johan Trøan Sømåen2012-08-07 13:51:22 +0200
committerEinar Johan Trøan Sømåen2012-08-07 13:51:22 +0200
commit6b159d71ab212feb4e93bae412a7352ead59241b (patch)
treec9e035ee75ab09334f20332218eab2589f712bd7 /engines/wintermute/base
parente32b79bff1260f8d2853404f750acc22209a323b (diff)
downloadscummvm-rg350-6b159d71ab212feb4e93bae412a7352ead59241b.tar.gz
scummvm-rg350-6b159d71ab212feb4e93bae412a7352ead59241b.tar.bz2
scummvm-rg350-6b159d71ab212feb4e93bae412a7352ead59241b.zip
WINTERMUTE: Remove g_wintermute.
Diffstat (limited to 'engines/wintermute/base')
-rw-r--r--engines/wintermute/base/base_engine.cpp6
-rw-r--r--engines/wintermute/base/base_engine.h4
-rw-r--r--engines/wintermute/base/base_persistence_manager.cpp2
-rw-r--r--engines/wintermute/base/saveload.cpp2
-rw-r--r--engines/wintermute/base/sound/base_sound_manager.cpp2
5 files changed, 13 insertions, 3 deletions
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<WinterMute::BaseEngine> {
void init();
BaseFileManager *_fileManager;
@@ -45,6 +46,7 @@ class BaseEngine : public Common::Singleton<WinterMute::BaseEngine> {
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;
}