diff options
author | johndoe123 | 2012-10-23 17:15:35 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:47:35 +0200 |
commit | 61e2a6f81d570c52485f610e84316ce63c9bfcba (patch) | |
tree | 79a025279d60244c40ced1aea3a78eedb381d14c /engines/neverhood | |
parent | 1993d4165a8d2e3d2b956113b903899e0de4c6fa (diff) | |
download | scummvm-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.cpp | 4 | ||||
-rw-r--r-- | engines/neverhood/module1800.cpp | 2 | ||||
-rw-r--r-- | engines/neverhood/module2300.cpp | 70 | ||||
-rw-r--r-- | engines/neverhood/module2300.h | 3 |
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(); |