diff options
author | johndoe123 | 2012-10-23 09:39:18 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:47:34 +0200 |
commit | 097f1f27bbb5c00f0cad7216161b2064a73ebd2b (patch) | |
tree | d12d76339785fc0081caf31a98f47e0fe9eed12e /engines | |
parent | f744e60e0ef6bb959f9adb9f7a1d1dcc1eba2b09 (diff) | |
download | scummvm-rg350-097f1f27bbb5c00f0cad7216161b2064a73ebd2b.tar.gz scummvm-rg350-097f1f27bbb5c00f0cad7216161b2064a73ebd2b.tar.bz2 scummvm-rg350-097f1f27bbb5c00f0cad7216161b2064a73ebd2b.zip |
NEVERHOOD: Clean up Module1200 (like the ones before)
Diffstat (limited to 'engines')
-rw-r--r-- | engines/neverhood/gamemodule.cpp | 8 | ||||
-rw-r--r-- | engines/neverhood/module1200.cpp | 277 | ||||
-rw-r--r-- | engines/neverhood/module1200.h | 14 |
3 files changed, 107 insertions, 192 deletions
diff --git a/engines/neverhood/gamemodule.cpp b/engines/neverhood/gamemodule.cpp index fe732580a8..d6da2af3d3 100644 --- a/engines/neverhood/gamemodule.cpp +++ b/engines/neverhood/gamemodule.cpp @@ -284,9 +284,9 @@ void GameModule::startup() { */ //setGlobalVar(V_ENTRANCE_OPEN, 0); //setGlobalVar(V_DOOR_SPIKES_OPEN, 1); - setGlobalVar(V_CREATURE_ANGRY, 1); + //setGlobalVar(V_CREATURE_ANGRY, 1); setGlobalVar(V_RADIO_ENABLED, 1); - setGlobalVar(V_TNT_DUMMY_BUILT, 1); + //setGlobalVar(V_TNT_DUMMY_BUILT, 1); setGlobalVar(V_FLYTRAP_RING_DOOR, 1); setGlobalVar(V_TV_JOKE_TOLD, 1); /* @@ -316,8 +316,8 @@ void GameModule::startup() { */ _vm->gameState().which = 3; - _vm->gameState().sceneNum = 8; - createModule(1100, -1); + _vm->gameState().sceneNum = 0; + createModule(1200, -1); #endif #if 0 _vm->gameState().sceneNum = 0; diff --git a/engines/neverhood/module1200.cpp b/engines/neverhood/module1200.cpp index e6442a0585..98ec012fb5 100644 --- a/engines/neverhood/module1200.cpp +++ b/engines/neverhood/module1200.cpp @@ -29,15 +29,12 @@ Module1200::Module1200(NeverhoodEngine *vm, Module *parentModule, int which) SetMessageHandler(&Module1200::handleMessage); - debug("Module1200: which = %d", which); - - if (which < 0) { + if (which < 0) createScene(_vm->gameState().sceneNum, -1); - } else if (which == 1) { + else if (which == 1) createScene(0, 2); - } else { + else createScene(0, 0); - } _vm->_soundMan->addMusic(0x00478311, 0x62222CAE); _vm->_soundMan->startMusic(0x62222CAE, 0, 0); @@ -49,15 +46,18 @@ Module1200::~Module1200() { void Module1200::createScene(int sceneNum, int which) { debug("Module1200::createScene(%d, %d)", sceneNum, which); - _vm->gameState().sceneNum = sceneNum; - switch (_vm->gameState().sceneNum) { + _sceneNum = sceneNum; + switch (_sceneNum) { case 0: + _vm->gameState().sceneNum = 0; _childObject = new Scene1201(_vm, this, which); break; case 1: - _childObject = new Scene1202(_vm, this, which); + _vm->gameState().sceneNum = 1; + _childObject = new Scene1202(_vm, this); break; case 2: + _vm->gameState().sceneNum = 2; _vm->_soundMan->stopMusic(0x62222CAE, 0, 0); createSmackerScene(0x31890001, true, true, false); setGlobalVar(V_SEEN_CREATURE_EXPLODE_VID, 1); @@ -69,19 +69,17 @@ void Module1200::createScene(int sceneNum, int which) { void Module1200::updateScene() { if (!updateChild()) { - switch (_vm->gameState().sceneNum) { + switch (_sceneNum) { case 0: - if (_moduleResult == 1) { + if (_moduleResult == 1) createScene(1, 0); - } else if (_moduleResult == 2) { - if (getGlobalVar(V_CREATURE_EXPLODED) && !getGlobalVar(V_SEEN_CREATURE_EXPLODE_VID)) { + else if (_moduleResult == 2) { + if (getGlobalVar(V_CREATURE_EXPLODED) && !getGlobalVar(V_SEEN_CREATURE_EXPLODE_VID)) createScene(2, -1); - } else { + else leaveModule(1); - } - } else { + } else leaveModule(0); - } break; case 1: createScene(0, 1); @@ -101,78 +99,41 @@ static const uint32 kScene1201InitArray[] = { }; static const NPoint kScene1201PointArray[] = { - {218, 193}, - {410, 225}, - {368, 277}, - {194, 227}, - {366, 174}, - {458, 224}, - {242, 228}, - {512, 228}, - {458, 277}, - {217, 233}, - {458, 173}, - {410, 276}, - {203, 280}, - {371, 226}, - {508, 279}, - {230, 273}, - {410, 171}, - {493, 174} + {218, 193}, {410, 225}, {368, 277}, + {194, 227}, {366, 174}, {458, 224}, + {242, 228}, {512, 228}, {458, 277}, + {217, 233}, {458, 173}, {410, 276}, + {203, 280}, {371, 226}, {508, 279}, + {230, 273}, {410, 171}, {493, 174} }; static const uint32 kScene1201TntFileHashList1[] = { - 0x2098212D, - 0x1600437E, - 0x1600437E, - 0x00A840E3, - 0x1A1830F6, - 0x1A1830F6, - 0x00212062, - 0x384010B6, - 0x384010B6, - 0x07A01080, - 0xD80C2837, - 0xD80C2837, - 0x03A22092, - 0xD8802CB6, - 0xD8802CB6, - 0x03A93831, - 0xDA460476, - 0xDA460476 + 0x2098212D, 0x1600437E, 0x1600437E, + 0x00A840E3, 0x1A1830F6, 0x1A1830F6, + 0x00212062, 0x384010B6, 0x384010B6, + 0x07A01080, 0xD80C2837, 0xD80C2837, + 0x03A22092, 0xD8802CB6, 0xD8802CB6, + 0x03A93831, 0xDA460476, 0xDA460476 }; static const uint32 kScene1201TntFileHashList2[] = { - 0x3040C676, - 0x10914448, - 0x10914448, - 0x3448A066, - 0x1288C049, - 0x1288C049, - 0x78C0E026, - 0x3098D05A, - 0x3098D05A, - 0x304890E6, - 0x1284E048, - 0x1284E048, - 0xB140A1E6, - 0x5088A068, - 0x5088A068, - 0x74C4C866, - 0x3192C059, - 0x3192C059 + 0x3040C676, 0x10914448, 0x10914448, + 0x3448A066, 0x1288C049, 0x1288C049, + 0x78C0E026, 0x3098D05A, 0x3098D05A, + 0x304890E6, 0x1284E048, 0x1284E048, + 0xB140A1E6, 0x5088A068, 0x5088A068, + 0x74C4C866, 0x3192C059, 0x3192C059 }; SsScene1201Tnt::SsScene1201Tnt(NeverhoodEngine *vm, uint32 elemIndex, uint32 pointIndex, int16 clipY2) - : StaticSprite(vm, 900), _field7A(-1) { + : StaticSprite(vm, 900) { int16 x = kScene1201PointArray[pointIndex].x; int16 y = kScene1201PointArray[pointIndex].y; - if (x < 300) { + if (x < 300) loadSprite(kScene1201TntFileHashList1[elemIndex], kSLFDefDrawOffset | kSLFDefPosition, 50); - } else { + else loadSprite(kScene1201TntFileHashList2[elemIndex], kSLFCenteredDrawOffset | kSLFSetPosition, 50, x, y); - } setClipRect(0, 0, 640, clipY2); } @@ -203,7 +164,7 @@ uint32 AsScene1201Tape::handleMessage(int messageNum, const MessageParam ¶m, return messageResult; } -AsScene1201TntManRope::AsScene1201TntManRope(NeverhoodEngine *vm, bool flag) +AsScene1201TntManRope::AsScene1201TntManRope(NeverhoodEngine *vm, bool isDummyHanging) : AnimatedSprite(vm, 1200) { SetUpdateHandler(&AnimatedSprite::update); @@ -211,7 +172,7 @@ AsScene1201TntManRope::AsScene1201TntManRope(NeverhoodEngine *vm, bool flag) createSurface(10, 34, 149); _x = 202; _y = -32; - if (flag) { + if (isDummyHanging) { startAnimation(0x928F0C10, 15, -1); _newStickFrameIndex = STICK_LAST_FRAME; } else { @@ -224,9 +185,8 @@ uint32 AsScene1201TntManRope::handleMessage(int messageNum, const MessageParam & uint32 messageResult = Sprite::handleMessage(messageNum, param, sender); switch (messageNum) { case 0x100D: - if (param.asInteger() == 0x02060018) { + if (param.asInteger() == 0x02060018) playSound(0, 0x47900E06); - } break; case 0x2006: startAnimation(0x928F0C10, 1, -1); @@ -236,7 +196,7 @@ uint32 AsScene1201TntManRope::handleMessage(int messageNum, const MessageParam & return messageResult; } -AsScene1201RightDoor::AsScene1201RightDoor(NeverhoodEngine *vm, Sprite *klayman, bool flag) +AsScene1201RightDoor::AsScene1201RightDoor(NeverhoodEngine *vm, Sprite *klayman, bool isOpen) : AnimatedSprite(vm, 1100), _klayman(klayman), _countdown(0) { createSurface1(0xD088AC30, 100); @@ -245,7 +205,7 @@ AsScene1201RightDoor::AsScene1201RightDoor(NeverhoodEngine *vm, Sprite *klayman, SetUpdateHandler(&AsScene1201RightDoor::update); SetMessageHandler(&AsScene1201RightDoor::handleMessage); _newStickFrameIndex = STICK_LAST_FRAME; - if (flag) { + if (isOpen) { startAnimation(0xD088AC30, -1, -1); _newStickFrameIndex = STICK_LAST_FRAME; _countdown = 25; @@ -256,9 +216,8 @@ AsScene1201RightDoor::AsScene1201RightDoor(NeverhoodEngine *vm, Sprite *klayman, } void AsScene1201RightDoor::update() { - if (_countdown != 0 && (--_countdown == 0)) { + if (_countdown != 0 && (--_countdown == 0)) stCloseDoor(); - } AnimatedSprite::update(); } @@ -348,11 +307,10 @@ uint32 AsScene1201TntMan::handleMessage(int messageNum, const MessageParam ¶ uint32 messageResult = Sprite::handleMessage(messageNum, param, sender); switch (messageNum) { case 0x100D: - if (param.asInteger() == 0x092870C0) { + if (param.asInteger() == 0x092870C0) sendMessage(_asTntManRope, 0x2006, 0); - } else if (param.asInteger() == 0x11CA0144) { + else if (param.asInteger() == 0x11CA0144) playSound(0, 0x51800A04); - } break; case 0x1011: sendMessage(_parentScene, 0x2002, 0); @@ -479,9 +437,8 @@ uint32 AsScene1201Match::hmOnDoorFrameAboutToMove(int messageNum, const MessageP uint32 messageResult = Sprite::handleMessage(messageNum, param, sender); switch (messageNum) { case 0x100D: - if (param.asInteger() == 0x86668011) { + if (param.asInteger() == 0x86668011) playSound(0); - } break; } return messageResult; @@ -571,13 +528,12 @@ AsScene1201Creature::AsScene1201Creature(NeverhoodEngine *vm, Scene *parentScene } void AsScene1201Creature::update() { - bool oldFlag = _klaymanTooClose; + bool oldKlaymanTooClose = _klaymanTooClose; _klaymanTooClose = _klayman->getX() >= 385; - if (_klaymanTooClose != oldFlag) + if (_klaymanTooClose != oldKlaymanTooClose) stWaiting(); - if (_countdown1 != 0 && (--_countdown1 == 0)) { + if (_countdown != 0 && (--_countdown == 0)) gotoNextState(); - } updateAnim(); handleSpriteUpdate(); updatePosition(); @@ -587,9 +543,8 @@ uint32 AsScene1201Creature::hmWaiting(int messageNum, const MessageParam ¶m, uint32 messageResult = Sprite::handleMessage(messageNum, param, sender); switch (messageNum) { case 0x100D: - if (param.asInteger() == 0x02060018) { + if (param.asInteger() == 0x02060018) playSound(0, 0xCD298116); - } break; case 0x2004: GotoState(&AsScene1201Creature::stStartReachForTntDummy); @@ -632,7 +587,7 @@ void AsScene1201Creature::stWaiting() { startAnimation(0x08081513, 0, -1); SetMessageHandler(&AsScene1201Creature::hmWaiting); NextState(&AsScene1201Creature::stPincerSnap); - _countdown1 = 36; + _countdown = 36; } void AsScene1201Creature::stPincerSnap() { @@ -647,20 +602,20 @@ void AsScene1201Creature::stStartReachForTntDummy() { startAnimation(0x08081513, 0, -1); SetMessageHandler(&AsScene1201Creature::hmWaiting); NextState(&AsScene1201Creature::stReachForTntDummy); - _countdown1 = 48; + _countdown = 48; } void AsScene1201Creature::stReachForTntDummy() { startAnimation(0x5A201453, 0, -1); SetMessageHandler(&AsScene1201Creature::hmWaiting); - _countdown1 = 0; + _countdown = 0; } void AsScene1201Creature::stPincerSnapKlayman() { startAnimation(0xCA287133, 0, -1); SetMessageHandler(&AsScene1201Creature::hmPincerSnapKlayman); NextState(&AsScene1201Creature::stWaiting); - _countdown1 = 0; + _countdown = 0; } AsScene1201LeftDoor::AsScene1201LeftDoor(NeverhoodEngine *vm, Sprite *klayman) @@ -712,9 +667,8 @@ Scene1201::Scene1201(NeverhoodEngine *vm, Module *parentModule, int which) if (!getSubVar(VA_IS_PUZZLE_INIT, 0xE8058B52)) { setSubVar(VA_IS_PUZZLE_INIT, 0xE8058B52, 1); - for (uint32 index = 0; index < 18; index++) { + for (uint32 index = 0; index < 18; index++) setSubVar(VA_TNT_POSITIONS, index, kScene1201InitArray[index]); - } } insertMouse433(0x9A2C0409); @@ -748,12 +702,15 @@ Scene1201::Scene1201(NeverhoodEngine *vm, Module *parentModule, int which) _asKlaymanHead = insertSprite<AsScene1201KlaymanHead>(); if (which < 0) { + // Restoring game insertKlayman<KmScene1201>(364, 333); setMessageList(0x004AEC08); } else if (which == 3) { + // Klaymen standing after the weasel exploded insertKlayman<KmScene1201>(400, 329); setMessageList(0x004AEC08); } else if (which == 2) { + // Klaymen entering from the right if (getGlobalVar(V_CREATURE_ANGRY) && !getGlobalVar(V_CREATURE_EXPLODED)) { insertKlayman<KmScene1201>(374, 333); setMessageList(0x004AEC08); @@ -762,6 +719,7 @@ Scene1201::Scene1201(NeverhoodEngine *vm, Module *parentModule, int which) setMessageList(0x004AEC20); } } else if (which == 1) { + // Klaymen returning from the TNT console if (getGlobalVar(V_KLAYMAN_IS_DELTA_X)) { insertKlayman<KmScene1201>(364, 333); _klayman->setDoDeltaX(1); @@ -770,6 +728,7 @@ Scene1201::Scene1201(NeverhoodEngine *vm, Module *parentModule, int which) } setMessageList(0x004AEC30); } else { + // Klaymen entering from the left insertKlayman<KmScene1201>(0, 336); setMessageList(0x004AEC10); } @@ -848,11 +807,10 @@ Scene1201::Scene1201(NeverhoodEngine *vm, Module *parentModule, int which) tntIndex++; } - if (getGlobalVar(V_CREATURE_ANGRY) && !getGlobalVar(V_CREATURE_EXPLODED)) { + if (getGlobalVar(V_CREATURE_ANGRY) && !getGlobalVar(V_CREATURE_EXPLODED)) setRectList(0x004AEE18); - } else { + else setRectList(0x004AED88); - } } @@ -861,9 +819,8 @@ Scene1201::Scene1201(NeverhoodEngine *vm, Module *parentModule, int which) _asLeftDoor = insertSprite<AsScene1201LeftDoor>(_klayman); _asLeftDoor->setClipRect(x1, tempSprite->getDrawRect().y, tempSprite->getDrawRect().x2(), 480); - if (getGlobalVar(V_CREATURE_ANGRY) && getGlobalVar(V_MATCH_STATUS) == 0) { + if (getGlobalVar(V_CREATURE_ANGRY) && getGlobalVar(V_MATCH_STATUS) == 0) setGlobalVar(V_MATCH_STATUS, 1); - } _asMatch = NULL; @@ -898,23 +855,22 @@ uint32 Scene1201::handleMessage(int messageNum, const MessageParam ¶m, Entit if (param.asInteger() == 0x07053000) { _creatureExploded = true; sendMessage(_asCreature, 0x2004, 0); - } else if (param.asInteger() == 0x140E5744) { + } else if (param.asInteger() == 0x140E5744) sendMessage(_asCreature, 0x2005, 0); - } else if (param.asInteger() == 0x40253C40) { + else if (param.asInteger() == 0x40253C40) { _canAcceptInput = false; sendMessage(_asCreature, 0x2006, 0); } else if (param.asInteger() == 0x090EB048) { - if (_klayman->getX() < 572) { + if (_klayman->getX() < 572) setMessageList2(0x004AEC90); - } else { + else setMessageList2(0x004AEC20); - } } break; case 0x2001: - if (getGlobalVar(V_MATCH_STATUS) == 0) { + if (getGlobalVar(V_MATCH_STATUS) == 0) setMessageList2(0x004AECB0); - } else { + else { sendEntityMessage(_klayman, 0x1014, _asMatch); setMessageList2(0x004AECC0); } @@ -927,11 +883,10 @@ uint32 Scene1201::handleMessage(int messageNum, const MessageParam ¶m, Entit } else if (getGlobalVar(V_MATCH_STATUS) == 3) { // Light the TNT dummy if we have the match sendEntityMessage(_klayman, 0x1014, _asTntMan); - if (_klayman->getX() > _asTntMan->getX()) { + if (_klayman->getX() > _asTntMan->getX()) setMessageList(0x004AECD0); - } else { + else setMessageList(0x004AECE0); - } } break; case 0x4814: @@ -960,45 +915,21 @@ static const uint32 kScene1202Table[] = { }; static const NPoint kScene1202Points[] = { - {203, 140}, - {316, 212}, - {277, 264}, - {176, 196}, - {275, 159}, - {366, 212}, - {230, 195}, - {412, 212}, - {368, 263}, - {204, 192}, - {365, 164}, - {316, 262}, - {191, 255}, - {280, 213}, - {406, 266}, - {214, 254}, - {316, 158}, - {402, 161} + {203, 140}, {316, 212}, {277, 264}, + {176, 196}, {275, 159}, {366, 212}, + {230, 195}, {412, 212}, {368, 263}, + {204, 192}, {365, 164}, {316, 262}, + {191, 255}, {280, 213}, {406, 266}, + {214, 254}, {316, 158}, {402, 161} }; static const uint32 kScene1202FileHashes[] = { - 0x1AC00B8, - 0x1AC14B8, - 0x1AC14B8, - 0x1AC30B8, - 0x1AC14B8, - 0x1AC14B8, - 0x1AC00B8, - 0x1AC14B8, - 0x1AC14B8, - 0x1AC90B8, - 0x1AC18B8, - 0x1AC18B8, - 0x1AC30B8, - 0x1AC14B8, - 0x1AC14B8, - 0x1AC50B8, - 0x1AC14B8, - 0x1AC14B8 + 0x1AC00B8, 0x1AC14B8, 0x1AC14B8, + 0x1AC30B8, 0x1AC14B8, 0x1AC14B8, + 0x1AC00B8, 0x1AC14B8, 0x1AC14B8, + 0x1AC90B8, 0x1AC18B8, 0x1AC18B8, + 0x1AC30B8, 0x1AC14B8, 0x1AC14B8, + 0x1AC50B8, 0x1AC14B8, 0x1AC14B8 }; AsScene1202TntItem::AsScene1202TntItem(NeverhoodEngine *vm, Scene *parentScene, int itemIndex) @@ -1056,9 +987,9 @@ void AsScene1202TntItem::stChangePositionFadeIn() { _x = kScene1202Points[_newPosition].x; _y = kScene1202Points[_newPosition].y; startAnimation(kScene1202FileHashes[_itemIndex], 6, -1); + _playBackwards = true; SetMessageHandler(&AsScene1202TntItem::hmChangePosition); NextState(&AsScene1202TntItem::stChangePositionDone); - _playBackwards = true; } void AsScene1202TntItem::stChangePositionDone() { @@ -1066,15 +997,14 @@ void AsScene1202TntItem::stChangePositionDone() { stShowIdle(); } -Scene1202::Scene1202(NeverhoodEngine *vm, Module *parentModule, int which) +Scene1202::Scene1202(NeverhoodEngine *vm, Module *parentModule) : Scene(vm, parentModule, true), _paletteResource(vm), - _flag(true), _soundFlag(false), _counter(0), _clickedIndex(-1) { + _soundToggle(true), _isPuzzleSolved(false), _counter(0), _clickedIndex(-1) { SetMessageHandler(&Scene1202::handleMessage); SetUpdateHandler(&Scene1202::update); setBackground(0x60210ED5); - setPalette(0x60210ED5); addEntity(_palette); @@ -1083,16 +1013,15 @@ Scene1202::Scene1202(NeverhoodEngine *vm, Module *parentModule, int which) insertMouse435(0x10ED160A, 20, 620); - for (int i = 0; i < 18; i++) { - _asTntItems[i] = insertSprite<AsScene1202TntItem>(this, i); - _vm->_collisionMan->addSprite(_asTntItems[i]); + for (int tntIndex = 0; tntIndex < 18; tntIndex++) { + _asTntItems[tntIndex] = insertSprite<AsScene1202TntItem>(this, tntIndex); + _vm->_collisionMan->addSprite(_asTntItems[tntIndex]); } insertStaticSprite(0x8E8419C1, 1100); - if (getGlobalVar(V_TNT_DUMMY_BUILT)) { + if (getGlobalVar(V_TNT_DUMMY_BUILT)) SetMessageHandler(&Scene1202::hmSolved); - } playSound(0, 0x40106542); loadSound(1, 0x40005446); @@ -1102,15 +1031,13 @@ Scene1202::Scene1202(NeverhoodEngine *vm, Module *parentModule, int which) } Scene1202::~Scene1202() { - if (isSolved()) { + if (isSolved()) setGlobalVar(V_TNT_DUMMY_BUILT, 1); - } } void Scene1202::update() { Scene::update(); - if (_soundFlag) { - debug("CHECK SOLVED"); + if (_isPuzzleSolved) { if (!isSoundPlaying(3)) leaveScene(0); } else if (_counter == 0 && isSolved()) { @@ -1120,7 +1047,7 @@ void Scene1202::update() { _palette->copyToBasePalette(_paletteData); _palette->startFadeToPalette(24); playSound(3); - _soundFlag = true; + _isPuzzleSolved = true; } else if (_clickedIndex >= 0 && _counter == 0) { int destIndex = kScene1202Table[_clickedIndex]; sendMessage(_asTntItems[_clickedIndex], 0x2001, getSubVar(VA_TNT_POSITIONS, destIndex)); @@ -1130,12 +1057,8 @@ void Scene1202::update() { setSubVar(VA_TNT_POSITIONS, _clickedIndex, temp); _counter = 2; _clickedIndex = -1; - if (_flag) { - playSound(1); - } else { - playSound(2); - } - _flag = !_flag; + playSound(_soundToggle ? 1 : 2); + _soundToggle = !_soundToggle; } } @@ -1144,9 +1067,8 @@ uint32 Scene1202::handleMessage(int messageNum, const MessageParam ¶m, Entit Scene::handleMessage(messageNum, param, sender); switch (messageNum) { case 0x0001: - if ((param.asPoint().x <= 20 || param.asPoint().x >= 620) && !_soundFlag) { + if ((param.asPoint().x <= 20 || param.asPoint().x >= 620) && !_isPuzzleSolved) leaveScene(0); - } break; case 0x2000: _clickedIndex = (int)param.asInteger(); @@ -1162,21 +1084,14 @@ uint32 Scene1202::hmSolved(int messageNum, const MessageParam ¶m, Entity *se Scene::handleMessage(messageNum, param, sender); switch (messageNum) { case 0x0001: - if (param.asPoint().x <= 20 || param.asPoint().x >= 620) { + if (param.asPoint().x <= 20 || param.asPoint().x >= 620) leaveScene(0); - } break; } return 0; } bool Scene1202::isSolved() { - - debug("isSolved() %d %d %d %d %d %d", - getSubVar(VA_TNT_POSITIONS, 0), getSubVar(VA_TNT_POSITIONS, 3), - getSubVar(VA_TNT_POSITIONS, 6), getSubVar(VA_TNT_POSITIONS, 9), - getSubVar(VA_TNT_POSITIONS, 12), getSubVar(VA_TNT_POSITIONS, 15)); - return getSubVar(VA_TNT_POSITIONS, 0) == 0 && getSubVar(VA_TNT_POSITIONS, 3) == 3 && getSubVar(VA_TNT_POSITIONS, 6) == 6 && getSubVar(VA_TNT_POSITIONS, 9) == 9 && diff --git a/engines/neverhood/module1200.h b/engines/neverhood/module1200.h index a0e9c9f902..1fe607d308 100644 --- a/engines/neverhood/module1200.h +++ b/engines/neverhood/module1200.h @@ -36,6 +36,7 @@ public: Module1200(NeverhoodEngine *vm, Module *parentModule, int which); virtual ~Module1200(); protected: + int _sceneNum; void createScene(int sceneNum, int which); void updateScene(); }; @@ -53,14 +54,14 @@ protected: class AsScene1201TntManRope : public AnimatedSprite { public: - AsScene1201TntManRope(NeverhoodEngine *vm, bool flag); + AsScene1201TntManRope(NeverhoodEngine *vm, bool isDummyHanging); protected: uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); }; class AsScene1201RightDoor : public AnimatedSprite { public: - AsScene1201RightDoor(NeverhoodEngine *vm, Sprite *klayman, bool flag); + AsScene1201RightDoor(NeverhoodEngine *vm, Sprite *klayman, bool isOpen); protected: Sprite *_klayman; int _countdown; @@ -129,7 +130,7 @@ public: protected: Scene *_parentScene; Sprite *_klayman; - int _countdown1; + int _countdown; bool _klaymanTooClose; void update(); uint32 hmWaiting(int messageNum, const MessageParam ¶m, Entity *sender); @@ -156,7 +157,6 @@ public: SsScene1201Tnt(NeverhoodEngine *vm, uint32 elemIndex, uint32 pointIndex, int16 clipY2); protected: uint32 _elemIndex; - int16 _field7A; }; class Scene1201 : public Scene { @@ -195,7 +195,7 @@ protected: class Scene1202 : public Scene { public: - Scene1202(NeverhoodEngine *vm, Module *parentModule, int which); + Scene1202(NeverhoodEngine *vm, Module *parentModule); virtual ~Scene1202(); protected: PaletteResource _paletteResource; @@ -203,8 +203,8 @@ protected: int _counter; int _clickedIndex; byte _paletteData[1024]; - bool _soundFlag; - bool _flag; + bool _isPuzzleSolved; + bool _soundToggle; void update(); uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); uint32 hmSolved(int messageNum, const MessageParam ¶m, Entity *sender); |