/* ScummVM - Graphic Adventure Engine * * ScummVM is the legal property of its developers, whose names * are too numerous to list here. Please refer to the COPYRIGHT * file distributed with this source distribution. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see = 2) { _ctr1 = 0; player_update_info(_pu, &_G(player_info)); ws_hide_walker(_pu); series_play("SAFARI SHADOW 3", 0xf00, 128, -1, 600, -1, _G(player_info).scale, _G(player_info).x, _G(player_info).y, 0, 0); terminateMachineAndNull(_tt); _untie = series_stream("615ALL1", 6, 0x100, 57); series_stream_break_on_frame(_untie, 47, 55); digi_play("615r04", 1); } else { ++_ctr1; } break; case 55: digi_play("615t05", 1, 255, 60); break; case 57: _tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, false, triggerMachineByHashCallback, "x"); sendWSMessage_10000(1, _tt, _loop0, 1, 1, 60, _loop0, 1, 5, 1); sendWSMessage_1a0000(_tt, 13); break; case 60: if (_ctr1 >= 1) { _ctr1 = 0; terminateMachineAndNull(_tt); _untie = series_stream("615ALL1a", 6, 0x100, 65); digi_play("615r05", 1, 255, 62); } else { ++_ctr1; } break; case 62: digi_play("615t06", 1, 255, 75); break; case 65: _tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, false, triggerMachineByHashCallback, "spleen"); sendWSMessage_10000(1, _tt, _loop1, 1, 1, 75, _loop1, 1, 7, 1); sendWSMessage_1a0000(_tt, 13); break; case 75: if (_ctr1 >= 1) { _ctr1 = 0; terminateMachineAndNull(_tt); _untie = series_stream("615ALL2", 6, 0x100, 80); digi_play("615r06", 1, 255, 80); } else { ++_ctr1; } break; case 80: if (_ctr1 >= 1) { _ctr1 = 0; _tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, false, triggerMachineByHashCallback, "spleen"); sendWSMessage_10000(1, _tt, _loop2, 1, 1, 85, _loop2, 1, 9, 1); sendWSMessage_1a0000(_tt, 13); digi_play("615t07", 1, 255, 85); } else { ++_ctr1; } break; case 85: if (_ctr1 >= 1) { _ctr1 = 0; sendWSMessage_10000(1, _tt, _loop3, 1, 17, 87, _loop3, 18, 18, 1); } else { ++_ctr1; } break; case 87: sendWSMessage_10000(1, _tt, _loop3, 19, 19, 90, _loop3, 19, 23, 1); sendWSMessage_1a0000(_tt, 13); digi_play("615r07", 1, 255, 90); break; case 90: if (_ctr1 >= 1) { _ctr1 = 0; sendWSMessage_10000(1, _tt, _loop4, 1, 13, 93, _loop4, 14, 14, 1); } else { ++_ctr1; } break; case 93: sendWSMessage_10000(1, _tt, _loop4, 15, 15, 96, _loop4, 15, 20, 1); sendWSMessage_1a0000(_tt, 13); digi_play("615t08", 1, 255, 96); break; case 96: if (_ctr1 >= 1) { _ctr1 = 0; sendWSMessage_10000(1, _tt, _loop4, 21, 50, 98, _loop4, 50, 50, 1); sendWSMessage_190000(_tt, 7); digi_play("615t08a", 1, 255, 98); } else { ++_ctr1; } break; case 98: if (_ctr1 >= 1) { _ctr1 = 0; terminateMachineAndNull(_tt); _untie = series_stream("615all3", 6, 0x100, 102); digi_play("615r08", 1, 255, 102); } else { ++_ctr1; } break; case 102: if (_ctr1 >= 1) { _ctr1 = 0; _untie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, false, triggerMachineByHashCallback, "spleen"); sendWSMessage_10000(1, _untie, _loop5, 1, 1, 105, _loop5, 1, 5, 1); sendWSMessage_1a0000(_untie, 15); _tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, false, triggerMachineByHashCallback, "spleen"); sendWSMessage_10000(1, _tt, _loop6, 1, 1, 105, _loop6, 1, 1, 1); digi_play("615r09", 1, 255, 105); } else { ++_ctr1; } break; case 105: if (_ctr1 >= 2) { _ctr1 = 0; sendWSMessage_10000(1, _untie, _loop5, 1, 1, 108, _loop5, 1, 1, 1); sendWSMessage_10000(1, _tt, _loop6, 1, 1, 108, _loop6, 1, 5, 1); sendWSMessage_1a0000(_tt, 13); digi_play("615t09", 1, 255, 108); } else { ++_ctr1; } break; case 108: if (_ctr1 >= 2) { _ctr1 = 0; sendWSMessage_10000(1, _untie, _loop5, 1, 1, 112, _loop5, 1, 5, 1); sendWSMessage_1a0000(_untie, 13); sendWSMessage_10000(1, _tt, _loop6, 1, 1, 112, _loop6, 1, 1, 1); digi_play("615r10", 1, 255, 112); } else { ++_ctr1; } break; case 112: if (_ctr1 >= 2) { _ctr1 = 0; inv_move_object("RONGORONGO TABLET", 615); terminateMachineAndNull(_untie); terminateMachineAndNull(_tt); _G(flags)[V089] = 1; _untie = series_stream("615ALL4", 6, 0x100, 115); digi_play(_G(flags)[V288] ? "615r11" : "615r12", 1, 255, 115); _G(flags)[V288] = 1; } else { ++_ctr1; } break; case 115: if (_ctr1 >= 1) { _ctr1 = 0; _untie = series_stream("615ALL5", 6, 0x100, 120); series_stream_break_on_frame(_untie, 30, 116); digi_play("615r13", 1, 255, 118); } else { ++_ctr1; } break; case 116: series_stream_break_on_frame(_untie, 58, 150); series_set_frame_rate(_untie, 30000); break; case 118: series_set_frame_rate(_untie, 6); ws_OverrideCrunchTime(_untie); digi_play("615t10", 1, 255, 119); break; case 119: _val2 = 1; if (_val2) { series_set_frame_rate(_untie, 6); ws_OverrideCrunchTime(_untie); } else { kernel_timing_trigger(10, 151); } break; case 120: midi_play("love", 255, false, -1, 949); _untie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, false, triggerMachineByHashCallback, "spleen"); sendWSMessage_10000(1, _untie, _loop5, 1, 1, 125, _loop5, 1, 1, 1); sendWSMessage_190000(_untie, 15); sendWSMessage_1a0000(_untie, 15); _tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, false, triggerMachineByHashCallback, "spleen"); sendWSMessage_10000(1, _tt, _loop7, 1, 1, 125, _loop7, 1, 5, 1); sendWSMessage_1a0000(_tt, 13); digi_play("615t10a", 1, 255, 125); break; case 125: if (_ctr1 >= 2) { _ctr1 = 0; sendWSMessage_10000(1, _untie, _loop5, 1, 1, 127, _loop5, 1, 5, 1); sendWSMessage_1a0000(_untie, 13); sendWSMessage_10000(1, _tt, _loop7, 1, 1, 127, _loop7, 1, 1, 1); digi_play("615r14", 1, 255, 127); } else { ++_ctr1; } break; case 127: if (_ctr1 >= 2) { _ctr1 = 0; sendWSMessage_10000(1, _untie, _loop5, 1, 1, 130, _loop5, 1, 1, 1); sendWSMessage_10000(1, _tt, _loop7, 1, 1, 130, _loop7, 1, 5, 1); sendWSMessage_1a0000(_tt, 13); digi_play("615t11", 1, 255, 130); } else { ++_ctr1; } break; case 130: if (_ctr1 >= 2) { _ctr1 = 0; sendWSMessage_10000(1, _tt, _loop7, 1, 1, 133, _loop7, 1, 1, 1); _untie = series_stream("615PU03", 6, 256, -1); series_stream_break_on_frame(_untie, 5, 133); } else { ++_ctr1; } break; case 133: if (_ctr1 >= 1) { _ctr1 = 0; series_stream_break_on_frame(_untie, 94, 135); digi_play("615r15", 1); } else { ++_ctr1; } break; case 135: series_set_frame_rate(_untie, 400); kernel_timing_trigger(60, 140); break; case 140: disable_player_commands_and_fade_init(141); break; case 141: inv_move_object("SPARK PLUG TOOL", NOWHERE); _G(flags)[V203] = 9; _G(flags)[V191] = 0; _G(flags)[kTravelDest] = 4; _G(game).setRoom(495); break; case 150: if (!_val2) { series_set_frame_rate(_untie, 30000); kernel_timing_trigger(10, 151); } break; case 151: if (_val2) { series_set_frame_rate(_untie, 6); ws_OverrideCrunchTime(_untie); } else { kernel_timing_trigger(10, 151); } break; default: break; } } } // namespace Rooms } // namespace Riddle } // namespace M4