aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/gamemodule.cpp
diff options
context:
space:
mode:
authorjohndoe1232011-08-04 12:23:34 +0000
committerWillem Jan Palenstijn2013-05-08 20:39:34 +0200
commit5fcc3af23bc0838283693e34ac9e073aca773821 (patch)
tree354764d771e3112825fa8c2e7eb2dc52f83db5d6 /engines/neverhood/gamemodule.cpp
parent9d12661537db2229fe08102a8c2491e0647826a4 (diff)
downloadscummvm-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.cpp32
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);