aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/gamemodule.cpp
diff options
context:
space:
mode:
authorjohndoe1232013-03-02 21:25:38 +0000
committerWillem Jan Palenstijn2013-05-08 20:47:43 +0200
commit583f9abaf98f64895546b75573e9442ca47426e3 (patch)
tree81b2cb6521b700fa767ad14bcb891a1f16b5fe6d /engines/neverhood/gamemodule.cpp
parent9b6d813d412a636b1c02511065ab1466e0f6c5e0 (diff)
downloadscummvm-rg350-583f9abaf98f64895546b75573e9442ca47426e3.tar.gz
scummvm-rg350-583f9abaf98f64895546b75573e9442ca47426e3.tar.bz2
scummvm-rg350-583f9abaf98f64895546b75573e9442ca47426e3.zip
NEVERHOOD: Fix some logic bugs and minor changes
- Fix video speed in the very last scene (Scene1317) - Fix back door not opening in Scene1401 - Fix projector not moving in Scene1402 - Fix projector not appearing in Scene1403 - Fix wrong Klaymen walking in Scene2205 - Fix wrong scene change in Module2300 - Fix symbols not appearing in Scene3011 - Define out some remaining logic debug code - Remove some obsolete comments - Reduce debug output - Use a List instead of an Array when building the microtiles rectangles
Diffstat (limited to 'engines/neverhood/gamemodule.cpp')
-rw-r--r--engines/neverhood/gamemodule.cpp70
1 files changed, 8 insertions, 62 deletions
diff --git a/engines/neverhood/gamemodule.cpp b/engines/neverhood/gamemodule.cpp
index 1246a5b962..99aea5d938 100644
--- a/engines/neverhood/gamemodule.cpp
+++ b/engines/neverhood/gamemodule.cpp
@@ -84,7 +84,6 @@ GameModule::GameModule(NeverhoodEngine *vm)
}
GameModule::~GameModule() {
-
_vm->_soundMan->deleteSoundGroup(0x002D0031);
delete _childObject;
_childObject = NULL;
@@ -196,7 +195,8 @@ void GameModule::initMemoryPuzzle() {
}
setSubVar(VA_IS_PUZZLE_INIT, 0xC8606803, 1);
- // DEBUG>>> Some debug code: Leave two matching tiles open
+ // DEBUG Enable to autosolve all tiles and leave only two matching tiles open
+#if 0
for (int i = 0; i < 48; i++)
setSubVar(VA_IS_TILE_MATCH, i, 1);
int debugIndex = 0;
@@ -207,7 +207,7 @@ void GameModule::initMemoryPuzzle() {
break;
}
}
- // <<<DEBUG
+#endif
}
}
@@ -345,8 +345,9 @@ uint32 GameModule::handleMessage(int messageNum, const MessageParam &param, Enti
}
void GameModule::startup() {
-#if 0
- createModule(1500, 0); // Logos and intro video // Real game start
+#if 1
+ // Logos and intro video // Real game start
+ createModule(1500, 0);
#else
// DEBUG>>>
/*
@@ -395,63 +396,7 @@ void GameModule::startup() {
#if 1
_vm->gameState().which = 0;
_vm->gameState().sceneNum = 0;
- createModule(1000, -1);
-#endif
-#if 0
- _vm->gameState().sceneNum = 5;
- _vm->gameState().which = 0;
- createModule(2800, -1);
-#endif
-#if 0
- _vm->gameState().sceneNum = 0;
- createModule(2000, -1);
-#endif
-#if 0
- _vm->gameState().sceneNum = 5;
- createModule(2200, -1);
-#endif
-#if 0
- _vm->gameState().sceneNum = 7;
- createModule(2200, -1);
-#endif
-#if 0
- _vm->gameState().sceneNum = 1;
- createModule(1000, -1);
-#endif
-#if 0
- _vm->gameState().sceneNum = 8;
- _vm->gameState().which = 1;
- createModule(1600, -1);
-#endif
-#if 0
- _vm->gameState().sceneNum = 6;
- createModule(1900, -1);
-#endif
-#if 0
- _vm->gameState().sceneNum = 0;
- createModule(2100, 3);
-#endif
-#if 0
- _vm->gameState().sceneNum = 8;
- createModule(2600, -1);
-#endif
-#if 0
- _vm->gameState().which = 0;
- _vm->gameState().sceneNum = 1;
- createModule(2700, -1);
-#endif
-#if 0
- _vm->gameState().sceneNum = 1;
- createModule(2800, -1);
-#endif
-#if 0
- _vm->gameState().which = 0;
- _vm->gameState().sceneNum = 0;
- createModule(2500, -1);
-#endif
-#if 0
- _vm->gameState().sceneNum = 1;
- createModule(2300, -1);
+ createModule(2400, 0);
#endif
#endif
@@ -739,6 +684,7 @@ void GameModule::updateModule() {
createModule(2300, 1);
break;
case 2300:
+ debug("module 23000 _moduleResult : %d", _moduleResult);
if (_moduleResult == 2)
createModule(1200, 0);
else if (_moduleResult == 0)