Skip to content

Commit

Permalink
NEVERHOOD: Clean up Module2300 (like the ones before)
Browse files Browse the repository at this point in the history
- Also fix previous modules (oops)
  • Loading branch information
johndoe123 authored and wjp committed May 8, 2013
1 parent 1993d41 commit 61e2a6f
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 39 deletions.
4 changes: 2 additions & 2 deletions engines/neverhood/module1100.cpp
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion engines/neverhood/module1800.cpp
Expand Up @@ -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);
Expand Down
70 changes: 35 additions & 35 deletions engines/neverhood/module2300.cpp
Expand Up @@ -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 {
Expand All @@ -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);
}

}

Expand All @@ -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;
Expand All @@ -108,52 +112,48 @@ 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);
createScene(1, 2);
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);
Expand All @@ -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);
}
Expand Down
3 changes: 2 additions & 1 deletion engines/neverhood/module2300.h
Expand Up @@ -36,7 +36,8 @@ class Module2300 : public Module {
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();
Expand Down

0 comments on commit 61e2a6f

Please sign in to comment.