Example #1
0
void Module2100::updateScene() {
	if (!updateChild()) {
		switch (_sceneNum) {
		case 0:
			if (_moduleResult == 1) {
				setGlobalVar(V_DOOR_PASSED, 1);
				leaveModule(0);
			} else
				leaveModule(1);
			break;
		}
	}
}
Example #2
0
void Module2000::updateScene() {
	if (!updateChild()) {
		switch (_sceneNum) {
		case 0:
			if (_moduleResult == 1)
				leaveModule(0);
			else
				createScene(1, 0);
			break;
		case 1:
			if (_moduleResult == 0) {
				if (getGlobalVar(V_WORLDS_JOINED))
					createScene(1, 0);
				else
					createScene(2, -1);
			} else if (_moduleResult == 1)
				createScene(1, 1);
			else if (_moduleResult == 2)
				createScene(0, 0);
			break;
		case 2:
			createScene(1, 0);
			break;
		}
	}
}
Example #3
0
void Module2900::updateScene() {
	if (!updateChild()) {
		switch (_sceneNum) {
		case 0:
			if (_moduleResult == (uint32)-1) {
				leaveModule((uint32)-1);
			} else {
				_teleporterModuleResult = _moduleResult;
				switch (getGlobalVar(V_TELEPORTER_WHICH)) {
				case 0:
					createScene(3, 4);
					break;
				case 1:
					createScene(2, 2);
					break;
				case 2:
					createScene(5, 2);
					break;
				case 3:
					createScene(4, 2);
					break;
				case 4:
					createScene(6, 2);
					break;
				case 5:
					createScene(1, 2);
					break;
				default:
					leaveModule(_moduleResult);
					break;
				}
			}
			break;
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
		case 6:
			leaveModule(_teleporterModuleResult);
			break;
		}
	}
}
Example #4
0
void Module1900::updateScene() {
	if (!updateChild()) {
		switch (_sceneNum) {
		case 0:
			if (_moduleResult == 1)
				createScene(6, 0);
			else
				leaveModule(0);
			break;
		case 6:
			createScene(0, 1);
			break;
		}
	}
}
Example #5
0
void Module1200::updateScene() {
	if (!updateChild()) {
		switch (_sceneNum) {
		case 0:
			if (_moduleResult == 1)
				createScene(1, 0);
			else if (_moduleResult == 2) {
				if (getGlobalVar(V_CREATURE_EXPLODED) && !getGlobalVar(V_SEEN_CREATURE_EXPLODE_VID))
					createScene(2, -1);
				else
					leaveModule(1);
			} else
				leaveModule(0);
			break;
		case 1:
			createScene(0, 1);
			break;
		case 2:
			_vm->_soundMan->startMusic(0x62222CAE, 0, 0);
			createScene(0, 3);
			break;
		}
	}
}
Example #6
0
void Module1500::updateScene() {
	if (!updateChild()) {
		switch (_sceneNum) {
		case 0:
			createScene(1, -1);
			break;
		case 1:
			createScene(2, -1);
			break;
		case 3:
			createScene(0, -1);
			break;
		default:
			leaveModule(0);
			break;
		}
	}
}
Example #7
0
void Module2300::updateScene() {
	if (!updateChild()) {
		switch (_sceneNum) {
		case 0:
			if (_moduleResult == 1)
				createScene(1, 4);
			else
				leaveModule(0);
			break;
		case 1:
			if (_moduleResult == 1)
				createScene(0, 0);
			else if (_vm->isDemo())
				createScene(9999, 0);
			else if (_moduleResult == 2)
				createScene(2, 1);
			else if (_moduleResult == 3)
				createScene(1, 3);
			else if (_moduleResult == 4)
				createScene(3, 1);
			else if (_moduleResult == 5)
				leaveModule(3);
			else
				leaveModule(4);
			break;
		case 2:
			if (_moduleResult == 1)
				leaveModule(1);
			else
				createScene(1, 5);
			break;
		case 3:
			if (_moduleResult == 1)
				leaveModule(2);
			else
				createScene(1, 1);
			break;
		case 4:
			_vm->_soundMan->setTwoSoundsPlayFlag(false);
			createScene(1, 2);
			break;
		case 9999:
			createScene(1, -1);
			break;
		}
	} else {
		switch (_sceneNum) {
		case 1:
			if (_isWallBroken && navigationScene()->isWalkingForward() && navigationScene()->getNavigationIndex() == 4 &&
				navigationScene()->getFrameNumber() % 2) {
				_soundVolume++;
				_vm->_soundMan->setSoundVolume(0x90F0D1C3, _soundVolume);
			}
			if (navigationScene()->isWalkingForward() && navigationScene()->getNavigationIndex() == 0 &&
				navigationScene()->getFrameNumber() == 50) {
				_vm->_soundMan->playTwoSounds(0x1A214010, 0x48498E46, 0x50399F64, 0);
				_vm->_soundMan->setSoundVolume(0x48498E46, 70);
				_vm->_soundMan->setSoundVolume(0x50399F64, 70);
			}
			break;
		case 3:
			if (_isWallBroken && navigationScene()->isWalkingForward() && navigationScene()->getFrameNumber() % 2) {
				_soundVolume--;
				_vm->_soundMan->setSoundVolume(0x90F0D1C3, _soundVolume);
			}
			break;
		}
	}
}
Example #8
0
void Module1600::updateScene() {
	if (!updateChild()) {
		switch (_sceneNum) {
		case 0:
			if (_moduleResult == 0)
				createScene(2, 0);
			else if (_moduleResult == 1)
				createScene(1, 0);
			else if (_moduleResult == 2)
				leaveModule(4);
			break;
		case 1:
			if (_moduleResult == 0)
				createScene(1001, -1);
			else if (_moduleResult == 1)
				createScene(0, 3);
			break;
		case 2:
			if (_moduleResult == 0)
				createScene(3, 0);
			else if (_moduleResult == 1)
				createScene(0, 2);
			break;
		case 3:
			if (_moduleResult == 0)
				createScene(5, 0);
			else if (_moduleResult == 2)
				createScene(6, 0);
			else if (_moduleResult == 3)
				createScene(2, 1);
			else if (_moduleResult == 4)
				createScene(4, 0);
			break;
		case 4:
			if (_moduleResult == 0)
				leaveModule(1);
			else if (_moduleResult == 1)
				createScene(3, 1);
			break;
		case 5:
			if (_moduleResult == 0)
				leaveModule(2);
			else if (_moduleResult == 1)
				createScene(3, 3);
			break;
		case 6:
			if (_moduleResult == 0)
				createScene(8, -1);
			else if (_moduleResult == 1)
				createScene(3, 5);
			break;
		case 7:
			createScene(6, 1);
			break;
		case 8:
			if (_moduleResult == 0)
				createScene(6, 0);
			else
				createScene(7, 0);
			break;
		case 1001:
			createScene(1, 0);
			break;
		}
	}
}
Example #9
0
void Module2600::updateScene() {
	if (!updateChild()) {
		switch (_sceneNum) {
		case 0:
			if (_moduleResult == 1)
				createScene(1, 3);
			else
				leaveModule(0);
			break;
		case 1:
			if (_moduleResult == 0)
				createScene(6, 0);
			else if (_moduleResult == 1)
				createScene(0, 0);
			else if (_moduleResult == 2)
				createScene(2, 1);
			else if (_moduleResult == 3)
				createScene(3, 0);
			break;
		case 2:
			if (_moduleResult == 0)
				createScene(1, 0);
			else if (_moduleResult == 1) {
				if (_vm->isDemo())
					createScene(9999, -1);
				else
					createScene(1002, -1);
			}
			break;
		case 3:
			if (_moduleResult == 0) {
				if (getGlobalVar(V_CREATURE_ANGRY))
					createScene(4, 0);
				else
					createScene(1003, -1);
			} else if (_moduleResult == 2)
				createScene(1, 1);
			else if (_moduleResult == 3) {
				if (getGlobalVar(V_CREATURE_ANGRY))
					createScene(4, 0);
				else {
					setGlobalVar(V_CREATURE_ANGRY, 1);
					createScene(7, -1);
				}
			}
			break;
		case 4:
			if (_moduleResult == 0)
				leaveModule(1);
			else
				createScene(3, 1);
			break;
		case 6:
			if (_moduleResult == 0) {
				if (_vm->isDemo())
					createScene(9999, -1);
				else
					createScene(1006, -1);
			}
			else if (_moduleResult == 1)
				createScene(1, 2);
			break;
		case 7:
			leaveModule(0);
			break;
		case 8:
			createScene(1008, -1);
			break;
		case 1002:
			createScene(2, 1);
			break;
		case 1003:
			createScene(3, 0);
			break;
		case 1006:
			createScene(8, -1);
			break;
		case 1008:
			createScene(6, 0);
			break;
		case 9999:
			createScene(_vm->gameState().sceneNum, -1);
			break;
		}
	}
}
Example #10
0
void Module1100::updateScene() {
	if (!updateChild()) {
		switch (_sceneNum) {
		case 0:
			_countdown = 0;
			_vm->_soundMan->playTwoSounds(0x0002C818, 0x48498E46, 0x50399F64, 0);
			_vm->_soundMan->setSoundVolume(0x48498E46, 65);
			_vm->_soundMan->setSoundVolume(0x50399F64, 65);
			if (_moduleResult == 0)
				createScene(1, 0);
			else if (_moduleResult == 1)
				createScene(8, 0);
			break;
		case 1:
			_vm->_soundMan->playTwoSounds(0x0002C818, 0x41861371, 0x43A2507F, 0);
			if (getGlobalVar(V_ROBOT_HIT)) {
				if (_moduleResult == 0)
					createScene(6, -1);
				else if (_moduleResult == 1)
					createScene(0, 1);
			} else {
				if (_moduleResult == 0)
					createScene(2, 0);
				else if (_moduleResult == 1)
					createScene(0, 1);
			}
			break;
		case 2:
			_vm->_soundMan->setSoundParams(0x74E01054, false, 0, 0, 0, 0);
			if (_navigationAreaType == 3)
				createScene(7, -1);
			else if (_moduleResult == 1)
				createScene(3, 0);
			else if (_moduleResult == 2)
				createScene(1002, -1);
			break;
		case 3:
			if (_moduleResult == 0)
				createScene(4, 0);
			else if (_moduleResult == 1)
				createScene(2, 3);
			break;
		case 4:
			if (_moduleResult == 0)
				createScene(3, 0);
			else if (_moduleResult == 1)
				createScene(5, -1);
			break;
		case 5:
			_vm->_soundMan->setTwoSoundsPlayFlag(false);
			if (getGlobalVar(V_ROBOT_TARGET))
				createScene(3, 0);
			else
				createScene(4, 0);
			break;
		case 6:
			_vm->_soundMan->setTwoSoundsPlayFlag(false);
			leaveModule(1);
			break;
		case 7:
			_vm->_soundMan->setTwoSoundsPlayFlag(false);
			createScene(2, 2);
			break;
		case 8:
			if (_moduleResult == 0)
				createScene(0, 0);
			else if (_moduleResult == 1)
				leaveModule(0);
			break;
		case 1002:
			_vm->_soundMan->setTwoSoundsPlayFlag(false);
			_countdown = 0;
			_vm->_soundMan->playTwoSounds(0x0002C818, 0x48498E46, 0x50399F64, 0);
			createScene(1, 1);
			break;
		}
	} else {
		switch (_sceneNum) {
		case 0:
			if (navigationScene()->isWalkingForward() && _countdown != 0 && (--_countdown == 0)) {
				_vm->_soundMan->playTwoSounds(0x0002C818, 0x48498E46, 0x50399F64, 0);
				_vm->_soundMan->setSoundVolume(0x48498E46, 65);
				_vm->_soundMan->setSoundVolume(0x50399F64, 65);
			}
			break;
		case 1:
			if (navigationScene()->isWalkingForward() && _countdown != 0 && (--_countdown == 0))
				_vm->_soundMan->playTwoSounds(0x0002C818, 0x41861371, 0x43A2507F, 0);
			break;
		case 2:
			_vm->_soundMan->setSoundParams(0x74E01054, !navigationScene()->isWalkingForward(), 0, 0, 0, 0);
			break;
		case 5:
		case 6:
		case 7:
		case 1002:
			if (_countdown != 0 && (--_countdown == 0)) {
				_vm->_soundMan->playTwoSounds(0x0002C818, 0x48498E46, 0x50399F64, 0);
				_vm->_soundMan->setSoundVolume(0x48498E46, 65);
				_vm->_soundMan->setSoundVolume(0x50399F64, 65);
			}
			break;
		}
	}
}