aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood
diff options
context:
space:
mode:
authorjohndoe1232012-10-23 17:15:35 +0000
committerWillem Jan Palenstijn2013-05-08 20:47:35 +0200
commit61e2a6f81d570c52485f610e84316ce63c9bfcba (patch)
tree79a025279d60244c40ced1aea3a78eedb381d14c /engines/neverhood
parent1993d4165a8d2e3d2b956113b903899e0de4c6fa (diff)
downloadscummvm-rg350-61e2a6f81d570c52485f610e84316ce63c9bfcba.tar.gz
scummvm-rg350-61e2a6f81d570c52485f610e84316ce63c9bfcba.tar.bz2
scummvm-rg350-61e2a6f81d570c52485f610e84316ce63c9bfcba.zip
NEVERHOOD: Clean up Module2300 (like the ones before)
- Also fix previous modules (oops)
Diffstat (limited to 'engines/neverhood')
-rw-r--r--engines/neverhood/module1100.cpp4
-rw-r--r--engines/neverhood/module1800.cpp2
-rw-r--r--engines/neverhood/module2300.cpp70
-rw-r--r--engines/neverhood/module2300.h3
4 files changed, 40 insertions, 39 deletions
diff --git a/engines/neverhood/module1100.cpp b/engines/neverhood/module1100.cpp
index 6dcc5f9235..cc6284b0cc 100644
--- a/engines/neverhood/module1100.cpp
+++ b/engines/neverhood/module1100.cpp
@@ -66,7 +66,7 @@ void Module1100::createScene(int sceneNum, int which) {
static const uint32 kSmackerFileHashList07[] = {0x00290321, 0x01881000, 0};
debug("Module1100::createScene(%d, %d)", sceneNum, which);
_sceneNum = sceneNum;
- switch (_vm->gameState().sceneNum) {
+ switch (_sceneNum) {
case 0:
_vm->gameState().sceneNum = 0;
_countdown = 65;
@@ -206,7 +206,7 @@ void Module1100::updateScene() {
break;
}
} else {
- switch (_vm->gameState().sceneNum) {
+ switch (_sceneNum) {
case 0:
if (navigationScene()->isWalkingForward() && _countdown != 0 && (--_countdown == 0)) {
_vm->_soundMan->playTwoSounds(0x0002C818, 0x48498E46, 0x50399F64, 0);
diff --git a/engines/neverhood/module1800.cpp b/engines/neverhood/module1800.cpp
index fbb9483219..30bffb9a79 100644
--- a/engines/neverhood/module1800.cpp
+++ b/engines/neverhood/module1800.cpp
@@ -170,7 +170,7 @@ void Module1800::updateScene() {
break;
}
} else {
- switch (_vm->gameState().sceneNum) {
+ switch (_sceneNum) {
case 0:
if (navigationScene()->isWalkingForward() && navigationScene()->getNavigationIndex() == 2)
_vm->_soundMan->setTwoSoundsPlayFlag(false);
diff --git a/engines/neverhood/module2300.cpp b/engines/neverhood/module2300.cpp
index 9b1945a6e6..2c43afef38 100644
--- a/engines/neverhood/module2300.cpp
+++ b/engines/neverhood/module2300.cpp
@@ -36,9 +36,9 @@ Module2300::Module2300(NeverhoodEngine *vm, Module *parentModule, int which)
_vm->_soundMan->addSoundList(0x1A214010, kModule2300SoundList);
_vm->_soundMan->setSoundListParams(kModule2300SoundList, true, 50, 600, 10, 150);
- _flag = getGlobalVar(V_WALL_BROKEN) == 0;
+ _isWallBroken = getGlobalVar(V_WALL_BROKEN) != 0;
- if (_flag) {
+ if (_isWallBroken) {
_vm->_soundMan->setSoundVolume(0x90F0D1C3, 0);
_vm->_soundMan->playSoundLooping(0x90F0D1C3);
} else {
@@ -48,19 +48,18 @@ Module2300::Module2300(NeverhoodEngine *vm, Module *parentModule, int which)
_vm->_soundMan->playTwoSounds(0x1A214010, 0x48498E46, 0x50399F64, 0);
_vm->_soundMan->playTwoSounds(0x1A214010, 0x41861371, 0x43A2507F, 0);
- if (which < 0) {
+ if (which < 0)
createScene(_vm->gameState().sceneNum, -1);
- } else if (which == 1) {
+ else if (which == 1)
createScene(2, 0);
- } else if (which == 2) {
+ else if (which == 2)
createScene(3, 0);
- } else if (which == 3) {
+ else if (which == 3)
createScene(4, -1);
- } else if (which == 4) {
+ else if (which == 4)
createScene(1, 3);
- } else {
+ else
createScene(0, 1);
- }
}
@@ -70,34 +69,39 @@ Module2300::~Module2300() {
void Module2300::createScene(int sceneNum, int which) {
debug("Module2300::createScene(%d, %d)", sceneNum, which);
- _vm->gameState().sceneNum = sceneNum;
- switch (_vm->gameState().sceneNum) {
+ _sceneNum = sceneNum;
+ switch (_sceneNum) {
case 0:
+ _vm->gameState().sceneNum = 0;
createNavigationScene(0x004B67B8, which);
break;
case 1:
+ _vm->gameState().sceneNum = 1;
createNavigationScene(0x004B67E8, which);
- if (_flag) {
+ if (_isWallBroken) {
_soundVolume = 15;
_vm->_soundMan->setSoundVolume(0x90F0D1C3, 15);
}
break;
case 2:
+ _vm->gameState().sceneNum = 2;
createNavigationScene(0x004B6878, which);
break;
case 3:
- if (getGlobalVar(V_WALL_BROKEN)) {
+ _vm->gameState().sceneNum = 3;
+ if (getGlobalVar(V_WALL_BROKEN))
createNavigationScene(0x004B68F0, which);
- } else {
+ else {
_vm->_soundMan->setSoundVolume(0x90F0D1C3, _soundVolume);
createNavigationScene(0x004B68A8, which);
- if (_flag) {
+ if (_isWallBroken) {
_soundVolume = 87;
_vm->_soundMan->setSoundVolume(0x90F0D1C3, 87);
}
}
break;
case 4:
+ _vm->gameState().sceneNum = 4;
_vm->_soundMan->setTwoSoundsPlayFlag(true);
createSmackerScene(0x20080A0B, true, true, false);
break;
@@ -108,42 +112,38 @@ void Module2300::createScene(int sceneNum, int which) {
void Module2300::updateScene() {
if (!updateChild()) {
- switch (_vm->gameState().sceneNum) {
+ switch (_sceneNum) {
case 0:
- if (_moduleResult == 1) {
+ if (_moduleResult == 1)
createScene(1, 4);
- } else {
+ else
leaveModule(0);
- }
break;
case 1:
- if (_moduleResult == 1) {
+ if (_moduleResult == 1)
createScene(0, 0);
- } else if (_moduleResult == 2) {
+ else if (_moduleResult == 2)
createScene(2, 1);
- } else if (_moduleResult == 3) {
+ else if (_moduleResult == 3)
createScene(1, 3);
- } else if (_moduleResult == 4) {
+ else if (_moduleResult == 4)
createScene(3, 1);
- } else if (_moduleResult == 5) {
+ else if (_moduleResult == 5)
leaveModule(3);
- } else {
+ else
leaveModule(4);
- }
break;
case 2:
- if (_moduleResult == 1) {
+ if (_moduleResult == 1)
leaveModule(3);
- } else {
+ else
createScene(1, 5);
- }
break;
case 3:
- if (_moduleResult == 1) {
+ if (_moduleResult == 1)
leaveModule(2);
- } else {
+ else
createScene(1, 1);
- }
break;
case 4:
_vm->_soundMan->setTwoSoundsPlayFlag(false);
@@ -151,9 +151,9 @@ void Module2300::updateScene() {
break;
}
} else {
- switch (_vm->gameState().sceneNum) {
+ switch (_sceneNum) {
case 1:
- if (_flag && navigationScene()->isWalkingForward() && navigationScene()->getNavigationIndex() == 4 &&
+ if (_isWallBroken && navigationScene()->isWalkingForward() && navigationScene()->getNavigationIndex() == 4 &&
navigationScene()->getFrameNumber() % 2) {
_soundVolume++;
_vm->_soundMan->setSoundVolume(0x90F0D1C3, _soundVolume);
@@ -166,7 +166,7 @@ void Module2300::updateScene() {
}
break;
case 3:
- if (_flag && navigationScene()->isWalkingForward() && navigationScene()->getFrameNumber() % 2) {
+ if (_isWallBroken && navigationScene()->isWalkingForward() && navigationScene()->getFrameNumber() % 2) {
_soundVolume--;
_vm->_soundMan->setSoundVolume(0x90F0D1C3, _soundVolume);
}
diff --git a/engines/neverhood/module2300.h b/engines/neverhood/module2300.h
index ed39a45b35..64f6c6d937 100644
--- a/engines/neverhood/module2300.h
+++ b/engines/neverhood/module2300.h
@@ -36,7 +36,8 @@ public:
Module2300(NeverhoodEngine *vm, Module *parentModule, int which);
virtual ~Module2300();
protected:
- bool _flag;
+ int _sceneNum;
+ bool _isWallBroken;
int _soundVolume;
void createScene(int sceneNum, int which);
void updateScene();