diff options
author | lolbot-iichan | 2019-06-29 18:01:39 +0300 |
---|---|---|
committer | Filippos Karapetis | 2019-07-16 20:24:42 +0300 |
commit | 4bb82a8dae26e8bd56a8bc943c97959d37fb36ea (patch) | |
tree | d1c7f466df3cfbcf38a7de0b3754397467e14dd1 /engines/wintermute/base/base_game.cpp | |
parent | 64406b09a8f6bdf6f9dd63d3ab9fcd334739550d (diff) | |
download | scummvm-rg350-4bb82a8dae26e8bd56a8bc943c97959d37fb36ea.tar.gz scummvm-rg350-4bb82a8dae26e8bd56a8bc943c97959d37fb36ea.tar.bz2 scummvm-rg350-4bb82a8dae26e8bd56a8bc943c97959d37fb36ea.zip |
WINTERMUTE: Add dummy implementation of Directory global object
Source:
http://docs.dead-code.org/wme/generated/scripting_ref_directory.html
Diffstat (limited to 'engines/wintermute/base/base_game.cpp')
-rw-r--r-- | engines/wintermute/base/base_game.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp index 576f8e60ba..0c9862fa0d 100644 --- a/engines/wintermute/base/base_game.cpp +++ b/engines/wintermute/base/base_game.cpp @@ -105,6 +105,7 @@ BaseGame::BaseGame(const Common::String &targetName) : BaseObject(this), _target _keyboardState = nullptr; _mathClass = nullptr; + _directoryClass = nullptr; _debugLogFile = nullptr; _debugDebugMode = false; @@ -244,6 +245,7 @@ BaseGame::~BaseGame() { delete _cachedThumbnail; delete _mathClass; + delete _directoryClass; delete _transMgr; delete _scEngine; @@ -261,6 +263,7 @@ BaseGame::~BaseGame() { _cachedThumbnail = nullptr; _mathClass = nullptr; + _directoryClass = nullptr; _transMgr = nullptr; _scEngine = nullptr; @@ -415,6 +418,11 @@ bool BaseGame::initialize1() { break; } + _directoryClass = makeSXDirectory(this); + if (_directoryClass == nullptr) { + break; + } + #if EXTENDED_DEBUGGER_ENABLED _scEngine = new DebuggableScEngine(this); #else @@ -451,6 +459,7 @@ bool BaseGame::initialize1() { return STATUS_OK; } else { delete _mathClass; + delete _directoryClass; delete _keyboardState; delete _transMgr; delete _surfaceStorage; @@ -2747,6 +2756,16 @@ bool BaseGame::externalCall(ScScript *script, ScStack *stack, ScStack *thisStack } ////////////////////////////////////////////////////////////////////////// + // Directory + ////////////////////////////////////////////////////////////////////////// + else if (strcmp(name, "Directory") == 0) { + thisObj = thisStack->getTop(); + + thisObj->setNative(makeSXDirectory(_gameRef)); + stack->pushNULL(); + } + + ////////////////////////////////////////////////////////////////////////// // Date ////////////////////////////////////////////////////////////////////////// else if (strcmp(name, "Date") == 0) { |