void Module2300::createScene(int sceneNum, int which) { debug(1, "Module2300::createScene(%d, %d)", sceneNum, which); _sceneNum = sceneNum; switch (_sceneNum) { case 0: _vm->gameState().sceneNum = 0; createNavigationScene(0x004B67B8, which); break; case 1: _vm->gameState().sceneNum = 1; createNavigationScene(0x004B67E8, which); if (_isWallBroken) { _soundVolume = 15; _vm->_soundMan->setSoundVolume(0x90F0D1C3, 15); } break; case 2: _vm->gameState().sceneNum = 2; createNavigationScene(0x004B6878, which); break; case 3: _vm->gameState().sceneNum = 3; if (getGlobalVar(V_WALL_BROKEN)) createNavigationScene(0x004B68F0, which); else { _vm->_soundMan->setSoundVolume(0x90F0D1C3, _soundVolume); createNavigationScene(0x004B68A8, which); 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; case 9999: createDemoScene(); break; } SetUpdateHandler(&Module2300::updateScene); _childObject->handleUpdate(); }
void Module1600::createScene(int sceneNum, int which) { debug(1, "Module1600::createScene(%d, %d)", sceneNum, which); _sceneNum = sceneNum; switch (_sceneNum) { case 0: _vm->gameState().sceneNum = 0; createNavigationScene(0x004B39D0, which); break; case 1: _vm->gameState().sceneNum = 1; createNavigationScene(0x004B3A30, which); break; case 2: _vm->gameState().sceneNum = 2; createNavigationScene(0x004B3A60, which); break; case 3: _vm->gameState().sceneNum = 3; createNavigationScene(0x004B3A90, which); break; case 4: _vm->gameState().sceneNum = 4; createNavigationScene(0x004B3B20, which); break; case 5: _vm->gameState().sceneNum = 5; createNavigationScene(0x004B3B50, which); break; case 6: _vm->gameState().sceneNum = 6; createNavigationScene(0x004B3B80, which); break; case 7: _vm->gameState().sceneNum = 7; _childObject = new Scene1608(_vm, this, which); break; case 8: _vm->gameState().sceneNum = 8; _childObject = new Scene1609(_vm, this); break; case 1001: _vm->gameState().sceneNum = 1; if (getGlobalVar(V_TALK_COUNTING_INDEX) == 1) createSmackerScene(0x80050200, true, true, false); else if (getGlobalVar(V_TALK_COUNTING_INDEX) == 2) createSmackerScene(0x80090200, true, true, false); else createSmackerScene(0x80000200, true, true, false); if (getGlobalVar(V_TALK_COUNTING_INDEX) >= 2) setGlobalVar(V_TALK_COUNTING_INDEX, 0); else incGlobalVar(V_TALK_COUNTING_INDEX, +1); break; } SetUpdateHandler(&Module1600::updateScene); _childObject->handleUpdate(); }
void Module2000::createScene(int sceneNum, int which) { debug(1, "Module2000::createScene(%d, %d)", sceneNum, which); _sceneNum = sceneNum; switch (_sceneNum) { case 0: _vm->gameState().sceneNum = 0; _childObject = new Scene2001(_vm, this, which); break; case 1: _vm->gameState().sceneNum = 1; createNavigationScene(getGlobalVar(V_WORLDS_JOINED) ? 0x004B7B48 : 0x004B7B00, which); break; case 2: _vm->gameState().sceneNum = 2; setGlobalVar(V_WORLDS_JOINED, 1); setSubVar(V_TELEPORTER_DEST_AVAILABLE, 1, 1); createSmackerScene(0x204B2031, true, true, false); break; } SetUpdateHandler(&Module2000::updateScene); _childObject->handleUpdate(); }
void Module2600::createScene(int sceneNum, int which) { debug("Module2600::createScene(%d, %d)", sceneNum, which); _sceneNum = sceneNum; switch (_sceneNum) { case 0: _vm->gameState().sceneNum = 0; createNavigationScene(0x004B8608, which); break; case 1: _vm->gameState().sceneNum = 1; createNavigationScene(0x004B8638, which); break; case 2: _vm->gameState().sceneNum = 2; createNavigationScene(0x004B86C8, which); break; case 3: _vm->gameState().sceneNum = 3; if (getGlobalVar(V_CREATURE_ANGRY)) createNavigationScene(0x004B8758, which); else createNavigationScene(0x004B86F8, which); break; case 4: _vm->gameState().sceneNum = 4; createNavigationScene(0x004B87B8, which); break; case 6: _vm->gameState().sceneNum = 6; createNavigationScene(0x004B8698, which); break; case 7: _vm->gameState().sceneNum = 7; _vm->_soundMan->deleteGroup(0x40271018); createSmackerScene(0x30090001, true, true, false); break; case 8: _vm->gameState().sceneNum = 8; _childObject = new Scene2609(_vm, this, which); break; case 1002: _vm->gameState().sceneNum = 2; if (getGlobalVar(V_FRUIT_COUNTING_INDEX) == 1) createSmackerScene(0x018C0404, true, true, false); else if (getGlobalVar(V_FRUIT_COUNTING_INDEX) == 2) createSmackerScene(0x018C0407, true, true, false); else createSmackerScene(0x818C0405, true, true, false); if (getGlobalVar(V_FRUIT_COUNTING_INDEX) >= 2) setGlobalVar(V_FRUIT_COUNTING_INDEX, 0); else incGlobalVar(V_FRUIT_COUNTING_INDEX, +1); break; case 1003: _vm->gameState().sceneNum = 3; createSmackerScene(0x001C0007, true, true, false); break; case 1006: _vm->gameState().sceneNum = 6; if (getGlobalVar(V_WATER_RUNNING)) createSmackerScene(0x049A1181, true, true, false); else createSmackerScene(0x04981181, true, true, false); break; case 1008: _vm->gameState().sceneNum = 8; if (getGlobalVar(V_WATER_RUNNING)) createSmackerScene(0x42B80941, true, true, false); else createSmackerScene(0x42980941, true, true, false); break; case 9999: createDemoScene(); break; } SetUpdateHandler(&Module2600::updateScene); _childObject->handleUpdate(); }
void Module1100::createScene(int sceneNum, int which) { static const uint32 kSmackerFileHashList06[] = {0x10880805, 0x1088081D, 0}; static const uint32 kSmackerFileHashList07[] = {0x00290321, 0x01881000, 0}; static const byte kNavigationTypes02[] = {1, 0, 4, 1}; debug(1, "Module1100::createScene(%d, %d)", sceneNum, which); _sceneNum = sceneNum; switch (_sceneNum) { case 0: _vm->gameState().sceneNum = 0; _countdown = 65; createNavigationScene(0x004B8430, which); break; case 1: _vm->gameState().sceneNum = 1; _countdown = 50; createNavigationScene(0x004B8460, which); break; case 2: _vm->gameState().sceneNum = 2; if (getGlobalVar(V_ROBOT_TARGET)) { createNavigationScene(0x004B84F0, which, kNavigationTypes02); } else { createNavigationScene(0x004B8490, which, kNavigationTypes02); } break; case 3: _vm->gameState().sceneNum = 3; if (getGlobalVar(V_ROBOT_TARGET)) { createNavigationScene(0x004B8580, which); } else { createNavigationScene(0x004B8550, which); } break; case 4: _vm->gameState().sceneNum = 4; _childObject = new Scene1105(_vm, this); break; case 5: _vm->gameState().sceneNum = 5; if (getGlobalVar(V_ROBOT_TARGET)) createSmackerScene(0x04180001, true, false, false); else createSmackerScene(0x04180007, true, false, false); break; case 6: _vm->gameState().sceneNum = 6; _vm->_soundMan->deleteSoundGroup(0x0002C818); createSmackerScene(kSmackerFileHashList06, true, true, false); break; case 7: _vm->gameState().sceneNum = 7; _vm->_soundMan->setSoundParams(0x74E01054, false, 0, 0, 0, 0); createSmackerScene(kSmackerFileHashList07, true, true, false); break; case 8: _vm->gameState().sceneNum = 8; _childObject = new Scene1109(_vm, this, which); break; case 1002: _vm->gameState().sceneNum = 2; _countdown = 40; _vm->_soundMan->setTwoSoundsPlayFlag(true); createSmackerScene(0x00012211, true, true, false); break; } SetUpdateHandler(&Module1100::updateScene); _childObject->handleUpdate(); }