diff options
author | Einar Johan Trøan Sømåen | 2012-07-29 02:59:14 +0200 |
---|---|---|
committer | Einar Johan Trøan Sømåen | 2012-07-29 03:41:07 +0200 |
commit | 482a5fb467e6694fb54c75f718563992657edf97 (patch) | |
tree | 6a88e4cc022c62276e53f3dceb8bbc7c5dabe18f /engines/wintermute/base/base_engine.cpp | |
parent | 9b5cf8f1bafd5aa0dba9194a8f04e58724652891 (diff) | |
download | scummvm-rg350-482a5fb467e6694fb54c75f718563992657edf97.tar.gz scummvm-rg350-482a5fb467e6694fb54c75f718563992657edf97.tar.bz2 scummvm-rg350-482a5fb467e6694fb54c75f718563992657edf97.zip |
WINTERMUTE: Make the BaseEngine-singleton use Common::Singleton as super-class
Diffstat (limited to 'engines/wintermute/base/base_engine.cpp')
-rw-r--r-- | engines/wintermute/base/base_engine.cpp | 47 |
1 files changed, 12 insertions, 35 deletions
diff --git a/engines/wintermute/base/base_engine.cpp b/engines/wintermute/base/base_engine.cpp index cd6e9c9e3b..0185d973fa 100644 --- a/engines/wintermute/base/base_engine.cpp +++ b/engines/wintermute/base/base_engine.cpp @@ -32,24 +32,17 @@ #include "engines/wintermute/base/base_engine.h" #include "engines/wintermute/wintermute.h" #include "common/system.h" +namespace Common { +DECLARE_SINGLETON(WinterMute::BaseEngine); +} namespace WinterMute { -BaseEngine *BaseEngine::_instance = 0; - /* -class BaseEngine { - static BaseEngine *_instance; - BaseEngine(); - BaseFileManager *_fileManager; - BaseRegistry *_registry; -public: - ~BaseEngine(); - BaseEngine *getInstance(); - BaseFileManager *getFileMan() { return _fileManager; } - BaseRegistry *getRegistry() { return _registry; } -};*/ BaseEngine::BaseEngine() { - + _fileManager = NULL; + _registry = NULL; + _gameRef = NULL; + _gameId = ""; } void BaseEngine::init() { @@ -63,25 +56,9 @@ BaseEngine::~BaseEngine() { delete _registry; } -BaseEngine *BaseEngine::getInstance() { - if (!_instance) - assert(0); - return _instance; -} - void BaseEngine::createInstance(const Common::String &gameid) { - if (_instance) { - delete _instance; - _instance = NULL; - } - _instance = new BaseEngine(); - _instance->_gameId = gameid; - _instance->init(); -} - -void BaseEngine::destroyInstance() { - delete _instance; - _instance = NULL; + instance()._gameId = gameid; + instance().init(); } void BaseEngine::LOG(bool res, const char *fmt, ...) { @@ -98,11 +75,11 @@ void BaseEngine::LOG(bool res, const char *fmt, ...) { vsprintf(buff, fmt, va); va_end(va); - if (_instance && _instance->_gameRef) { - _instance->_gameRef->LOG("%s", buff); + if (instance()._gameRef) { + instance()._gameRef->LOG("%s", buff); } else { debugCN(kWinterMuteDebugLog, "%02d:%02d:%02d: %s\n", hours, mins, secs, buff); } } -} // end of namespace WinterMute
\ No newline at end of file +} // end of namespace WinterMute |