diff options
author | johndoe123 | 2011-07-05 13:28:43 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:30:58 +0200 |
commit | 9d0e90bcd2fc392a66d213b64dc07ccd32d438b4 (patch) | |
tree | 8c35ddf113b8bc082413b3ce81efbe6929a53268 /engines/neverhood/gamemodule.cpp | |
parent | 21eb88053caa4cc7167f81dba9afc7f0ef89996d (diff) | |
download | scummvm-rg350-9d0e90bcd2fc392a66d213b64dc07ccd32d438b4.tar.gz scummvm-rg350-9d0e90bcd2fc392a66d213b64dc07ccd32d438b4.tar.bz2 scummvm-rg350-9d0e90bcd2fc392a66d213b64dc07ccd32d438b4.zip |
NEVERHOOD: Add skeleton for Module1000
- Add dummies for game variable access
Diffstat (limited to 'engines/neverhood/gamemodule.cpp')
-rw-r--r-- | engines/neverhood/gamemodule.cpp | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/engines/neverhood/gamemodule.cpp b/engines/neverhood/gamemodule.cpp index 3f4ad4b536..93687f9866 100644 --- a/engines/neverhood/gamemodule.cpp +++ b/engines/neverhood/gamemodule.cpp @@ -22,6 +22,7 @@ #include "neverhood/gamemodule.h" +#include "neverhood/module1000.h" #include "neverhood/module1500.h" namespace Neverhood { @@ -84,12 +85,14 @@ uint32 GameModule::handleMessage(int messageNum, const MessageParam ¶m, Enti void GameModule::startup() { // TODO: Displaying of error text probably not needed in ScummVM - createModule1500(0); +// createModule1500(0); // Logos and intro video + + createModule1000(0); } void GameModule::createModule1500(int which) { _someFlag1 = false; - // TODO *getGlobalGameVarValuePtr(0x91080831) = 0x0F10114; + _vm->setGlobalVar(0x91080831, 0x00F10114); _childObject = new Module1500(_vm, this, which, true); SetUpdateHandler(&GameModule::updateModule1500); } @@ -102,8 +105,28 @@ void GameModule::updateModule1500() { _done = false; delete _childObject; _childObject = NULL; + createModule1000(0); + _childObject->handleUpdate(); + } +} + +void GameModule::createModule1000(int which) { + _vm->setGlobalVar(0x91080831, 0x03294419); + _childObject = new Module1000(_vm, this, which); + SetUpdateHandler(&GameModule::updateModule1000); +} + +void GameModule::updateModule1000() { + if (!_childObject) + return; + _childObject->handleUpdate(); + if (_done) { + _done = false; + // TODO _resourceTable3.load(); + delete _childObject; + _childObject = NULL; error("Done..."); - // TODO createModule1000(); + // TODO createModule2300(); // TODO _childObject->handleUpdate(); } } |