diff options
Diffstat (limited to 'engines/neverhood/gamemodule.cpp')
-rw-r--r-- | engines/neverhood/gamemodule.cpp | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/engines/neverhood/gamemodule.cpp b/engines/neverhood/gamemodule.cpp index 31330f97f5..f4159f3087 100644 --- a/engines/neverhood/gamemodule.cpp +++ b/engines/neverhood/gamemodule.cpp @@ -25,6 +25,7 @@ #include "neverhood/graphics.h" #include "neverhood/module1000.h" #include "neverhood/module1200.h" +#include "neverhood/module1300.h" #include "neverhood/module1400.h" #include "neverhood/module1500.h" #include "neverhood/module1700.h" @@ -241,10 +242,14 @@ void GameModule::startup() { _vm->gameState().sceneNum = 0; createModule2000(-1); #endif -#if 1 +#if 0 _vm->gameState().sceneNum = 46; createModule2200(-1); #endif +#if 1 + _vm->gameState().sceneNum = 1; + createModule1300(-1); +#endif } void GameModule::createModule1000(int which) { @@ -292,6 +297,30 @@ void GameModule::updateModule1200() { } } +void GameModule::createModule1300(int which) { + setGlobalVar(0x91080831, 0x0061C090); + _childObject = new Module1300(_vm, this, which); + SetUpdateHandler(&GameModule::updateModule1300); +} + +void GameModule::updateModule1300() { + if (!_childObject) + return; + _childObject->handleUpdate(); + if (_done) { + _done = false; + delete _childObject; + _childObject = NULL; + if (_field20 == 1) { + // TODO _gameState.clear(); + // TODO GameModule_handleKeyEscape + } else { + // TODO createModule2900(0); + _childObject->handleUpdate(); + } + } +} + void GameModule::createModule1400(int which) { setGlobalVar(0x91080831, 0x00AD0012); _childObject = new Module1400(_vm, this, which); |