aboutsummaryrefslogtreecommitdiff
path: root/engines/wintermute/base/base_engine.cpp
diff options
context:
space:
mode:
authorEinar Johan Trøan Sømåen2012-07-29 02:59:14 +0200
committerEinar Johan Trøan Sømåen2012-07-29 03:41:07 +0200
commit482a5fb467e6694fb54c75f718563992657edf97 (patch)
tree6a88e4cc022c62276e53f3dceb8bbc7c5dabe18f /engines/wintermute/base/base_engine.cpp
parent9b5cf8f1bafd5aa0dba9194a8f04e58724652891 (diff)
downloadscummvm-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.cpp47
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