aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/gamemodule.cpp
diff options
context:
space:
mode:
authorjohndoe1232011-09-13 12:57:06 +0000
committerWillem Jan Palenstijn2013-05-08 20:39:37 +0200
commitd4030b7a9ffc2a907c80948024f3ee369a08c760 (patch)
tree9f55a9e1a258df6830395b351a68eb9b9bbd34a2 /engines/neverhood/gamemodule.cpp
parent5214284271d0ae050e5f33fe66d0fc0b8cbb94af (diff)
downloadscummvm-rg350-d4030b7a9ffc2a907c80948024f3ee369a08c760.tar.gz
scummvm-rg350-d4030b7a9ffc2a907c80948024f3ee369a08c760.tar.bz2
scummvm-rg350-d4030b7a9ffc2a907c80948024f3ee369a08c760.zip
NEVERHOOD: Start with Module1300 and implement Scene1302
Diffstat (limited to 'engines/neverhood/gamemodule.cpp')
-rw-r--r--engines/neverhood/gamemodule.cpp31
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);