diff options
author | johndoe123 | 2011-08-04 12:23:34 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:39:34 +0200 |
commit | 5fcc3af23bc0838283693e34ac9e073aca773821 (patch) | |
tree | 354764d771e3112825fa8c2e7eb2dc52f83db5d6 /engines/neverhood/gamemodule.cpp | |
parent | 9d12661537db2229fe08102a8c2491e0647826a4 (diff) | |
download | scummvm-rg350-5fcc3af23bc0838283693e34ac9e073aca773821.tar.gz scummvm-rg350-5fcc3af23bc0838283693e34ac9e073aca773821.tar.bz2 scummvm-rg350-5fcc3af23bc0838283693e34ac9e073aca773821.zip |
NEVERHOOD: Implement Module2000
Diffstat (limited to 'engines/neverhood/gamemodule.cpp')
-rw-r--r-- | engines/neverhood/gamemodule.cpp | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/engines/neverhood/gamemodule.cpp b/engines/neverhood/gamemodule.cpp index 16824e9ba8..7408c25fbd 100644 --- a/engines/neverhood/gamemodule.cpp +++ b/engines/neverhood/gamemodule.cpp @@ -29,6 +29,7 @@ #include "neverhood/module1500.h" #include "neverhood/module1700.h" #include "neverhood/module1800.h" +#include "neverhood/module2000.h" #include "neverhood/module2300.h" #include "neverhood/module3000.h" @@ -227,7 +228,7 @@ void GameModule::startup() { //createModule1700(-1); //createModule1700(1); //createModule1400(-1); -#if 1 +#if 0 _vm->gameState().sceneNum = 10; createModule3000(-1); #endif @@ -235,6 +236,10 @@ void GameModule::startup() { _vm->gameState().sceneNum = 0; createModule1800(-1); #endif +#if 1 + _vm->gameState().sceneNum = 0; + createModule2000(-1); +#endif } void GameModule::createModule1000(int which) { @@ -284,11 +289,7 @@ void GameModule::updateModule1200() { void GameModule::createModule1400(int which) { setGlobalVar(0x91080831, 0x00AD0012); - //_childObject = new Module1400(_vm, this, which); - - _vm->gameState().sceneNum = 9; - _childObject = new Module3000(_vm, this, -1); - + _childObject = new Module1400(_vm, this, which); SetUpdateHandler(&GameModule::updateModule1400); } @@ -384,6 +385,25 @@ void GameModule::updateModule1800() { } } +void GameModule::createModule2000(int which) { + setGlobalVar(0x91080831, 0x08250000); + _childObject = new Module2000(_vm, this, which); + SetUpdateHandler(&GameModule::updateModule2000); +} + +void GameModule::updateModule2000() { + if (!_childObject) + return; + _childObject->handleUpdate(); + if (_done) { + _done = false; + delete _childObject; + _childObject = NULL; + // TODO createModule2900(4); + _childObject->handleUpdate(); + } +} + void GameModule::createModule2300(int which) { setGlobalVar(0x91080831, 0x1A214010); _childObject = new Module2300(_vm, this, which); |