Exemplo n.º 1
0
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();
}
Exemplo n.º 2
0
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();
}
Exemplo n.º 3
0
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();
}
Exemplo n.º 4
0
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();
}
Exemplo n.º 5
0
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();
}