/* 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 = INVENTORY_COUNT - 1) { _fieldD8 = 1; break; } if (inv_player_has(Inventory::get_name(_invItemNum))) { inv_move_object(Inventory::get_name(_invItemNum), 999); player_set_commands_allowed(true); player_set_commands_allowed(false); kernel_timing_trigger(30, 577, nullptr); } else { kernel_timing_trigger(1, 577, nullptr); } ++_invItemNum; break; case 578: if (!_fieldD8) { kernel_timing_trigger(10, 578, nullptr); } else { _fieldD8 = 0; series_unload(_205ShenGouStaresSeries); series_unload(_205all5Series); digi_unload("205r07"); terminateMachine(_205all0Mach); series_unload(_205rtlk3Series); terminateMachine(_candlemanShadow3Mach); _205GunPointedSeries = series_load("205 GUN POINTED", -1, nullptr); _205all0Mach = series_stream("205SRISE", 5, 0, 580); } break; case 580: midi_play("suspens2", 255, false, 581, 949); _205GunPointedMach = series_play("205 GUN POINTED", 0, 16, 582, 5, 0, 100, 0, 0, 0, 4); break; case 581: if (!_fieldD8) { kernel_timing_trigger(10, 581, nullptr); } else { _fieldD8 = 0; terminateMachine(_205GunPointedMach); series_play("205 GUN POINTED", 0, 0, 584, 5, 0, 100, 0, 0, 12, -1); } break; case 582: _fieldD8 = 0; _205rtlk4Series = series_load("205RTLK4", -1, nullptr); digi_preload("205r09", -1); _205strlk1Series = series_load("205STLK1", -1, nullptr); digi_preload("205s02", -1); digi_preload("205r08", -1); _fieldD8 = 1; break; case 583: terminateMachine(_205GunPointedMach); series_play("205 GUN POINTED", 0, 0, 584, 5, 0, 100, 0, 0, 4, -1); break; case 584: digi_play("205r08", 1, 255, 585, -1); _candlemanShadow3Mach = series_show("CANDLEMAN SHADOW3", 0xf00, 16, -1, -1, 0, 61, 312, 283); _205all0Mach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, false, triggerMachineByHashCallback, "rip talker"); sendWSMessage_10000(1, _205all0Mach, _205rtlk4Series, 1, 10, -1, _205rtlk4Series, 2, 10, 4); break; case 585: digi_play("205r09", 1, 255, 586, -1); break; case 586: series_unload(_205GunPointedSeries); terminateMachine(_205all0Mach); series_unload(_205rtlk4Series); digi_play("205s02", 1, 255, 588, -1); _shenSuitGunWalkerMach = series_play("205STLK1", 0xf00, 16, 589, 5, 0, 100, 0, 0, 0, -1); break; case 589: if (!_fieldD8) { kernel_timing_trigger(10, 589, nullptr); } else { _fieldD8 = 0; kernel_timing_trigger(10, 590, nullptr); } break; case 590: digi_preload("205r10", -1); digi_play("205r10", 1, 255, 593, -1); _205rtlk5Series = series_load("205RTLK5", -1, nullptr); _205all6Series = series_load("205ALL6", -1, nullptr); _205RipGetsBitchSlappedSeries = series_load("205 RIP GETS BITCH SLAPPED", -1, nullptr); digi_preload("205_s07", -1); digi_preload("205_s08", -1); digi_preload("205_s22", -1); terminateMachine(_candlemanShadow3Mach); terminateMachine(_shenSuitGunWalkerMach); series_unload(_205strlk1Series); _205all0Mach = series_play("205RTLK5", 0xf00, 16, 592, 5, 0, 100, 0, 0, 0, -1); break; case 593: if (!_fieldD8) { kernel_timing_trigger(10, 593, nullptr); } else { _fieldD8 = 0; terminateMachine(_205all0Mach); series_unload(_205rtlk5Series); series_play("205ALL6", 0x300, 0, 594, 5, 0, 100, 0, 0, 0, 10); } break; case 594: digi_play("205_s07", 2, 255, -1, -1); series_play("205ALL6", 0x300, 0, 595, 5, 0, 100, 0, 0, 11, 19); break; case 595: digi_play("205_s08", 2, 255, -1, -1); series_play("205ALL6", 0x300, 0, 596, 5, 0, 100, 0, 0, 20, 40); break; case 596: _205CharcoalSpriteMach = series_show("205 CHARCOAL SPRITE", 0x7fff, 16, -1, -1, 0, 100, 0, 0); _205GunPointedMach = series_show("205 GUN IN BRAZIER", 0x300, 16, -1, -1, 0, 100, 0, 0); hotspot_set_active(_G(currentSceneDef).hotspots, "CHARCOAL", true); series_play("205ALL6", 0x300, 0, 597, 5, 0, 100, 0, 0, 41, -1); break; case 597: _205MeiStanderMach = series_show("205 MEI SPRITE TO FILL IN", 0xf05, 16, -1, -1, 0, 100, 0, 0); series_play("205 RIP GETS BITCH SLAPPED", 3584, 0, 598, 5, 0, 100, 0, 0, 0, 11); break; case 598: digi_play("205_s22", 2, 255, -1, -1); _205all0Mach = series_play("205 RIP GETS BITCH SLAPPED", 3584, 16, 599, 5, 0, 100, 0, 0, 12, -1); break; case 599: series_unload(_205all6Series); digi_unload("205r08"); digi_unload("205r09"); digi_unload("205r10"); digi_unload("205s02"); digi_unload("205_s07"); digi_unload("205_s08"); kernel_timing_trigger(imath_ranged_rand(1200, 1800), 901, nullptr); _askUnhideMyWalkerFl = true; kernel_timing_trigger(10, 1000, nullptr); break; case 666: other_save_game_for_resurrection(); _G(game).setRoom(413); break; case 669: sendWSMessage_150000(_G(my_walker), 670); break; case 670: _fieldDC = 0; _fieldE0 = 0; other_save_game_for_resurrection(); _G(game).setRoom(413); break; case 901: if (_fieldE0 || !player_commands_allowed()) { kernel_timing_trigger(60, 901, nullptr); } else if (_G(flags)[V024]) { digi_stop(1); switch (imath_ranged_rand(1, 2)) { case 1: digi_play("205_s24", 1, 255, -1, -1); break; case 2: digi_play("205_s25", 1, 255, -1, -1); break; default: break; } } else { player_set_commands_allowed(false); intr_cancel_sentence(); digi_stop(1); series_play("205 gun fire", 0x300, 0, -1, 3, 0, 100, 0, 0, 0,-1); switch (_G(flags)[V027]) { case 0: digi_play("205_s26", 1, 255, -1, -1); kernel_timing_trigger(10, 902, nullptr); break; case 1: digi_play("205_s27", 1, 255, -1, -1); kernel_timing_trigger(10, 902, nullptr); break; case 2: digi_play("205_s28", 1, 255, -1, -1); kernel_timing_trigger(10, 902, nullptr); break; case 3: kernel_timing_trigger(10, 906, nullptr); break; default: break; } } break; case 902: player_update_info(_G(my_walker), &_G(player_info)); ws_walk(_G(my_walker), _G(player_info).x, _G(player_info).y, nullptr, 903, 1, true); break; case 903: setGlobals1(_ripGetsShotSeries, 1, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); sendWSMessage_110000(_G(my_walker), 904); break; case 904: sendWSMessage_140000(_G(my_walker), 905); break; case 905: _fieldDC = 0; ++_G(flags)[V027]; player_set_commands_allowed(true); kernel_timing_trigger(imath_ranged_rand(1200, 1800), 901, nullptr); break; case 906: player_update_info(_G(my_walker), &_G(player_info)); if (_G(player_info).x < 170) { ws_walk(_G(my_walker), 190, _G(player_info).y, nullptr, 907, 1, true); } else if (_G(player_info).x <= 470) { kernel_timing_trigger(10, 907, nullptr); } else { ws_walk(_G(my_walker), 450, _G(player_info).y, nullptr, 907, 1, true); } break; case 907: digi_stop(1); midi_stop(); digi_play("205_s29", 1, 255, -1, -1); setGlobals1(_ripGetsShotSeries, 14, 32, 32, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); sendWSMessage_110000(_G(my_walker), 908); break; case 908: kernel_timing_trigger(60, 909, nullptr); break; case 909: player_set_commands_allowed(false); disable_player_commands_and_fade_init(910); break; case 910: sendWSMessage_150000(_G(my_walker), 666); break; case 1000: _G(flags)[V029] = 1; midi_play("vines", 191, true, -1, 949); digi_preload("205_s09", -1); digi_preload("205_s10", -1); digi_preload("205_s11", -1); digi_preload("205_s13", -1); digi_preload("205_s14", -1); digi_preload("205_s15", -1); digi_preload("205_s16", -1); digi_preload("205_s17", -1); digi_preload("205_s18", -1); digi_preload("205_s19", -1); digi_preload("205_s20", -1); digi_preload("205_s21", -1); digi_preload("205_s24", -1); digi_preload("205_s25", -1); digi_preload("205_s26", -1); digi_preload("205_s27", -1); digi_preload("205_s28", -1); digi_preload("205_s29", -1); _205Fite1Series = series_load("205FITE1", -1, nullptr); _205Fite2Series = series_load("205FITE2", -1, nullptr); if (_askUnhideMyWalkerFl) { _askUnhideMyWalkerFl = false; ws_unhide_walker(_G(my_walker)); ws_demand_location(_G(my_walker), 340, 284); ws_demand_facing(_G(my_walker), 1); player_set_commands_allowed(true); } terminateMachine(_205all0Mach); terminateMachine(_205MeiStanderMach); // WORKAROUND: this case can be called by init(), when the // sprite series hasn't actually been loaded if (_205RipGetsBitchSlappedSeries != 0) series_unload(_205RipGetsBitchSlappedSeries); series_play("205FITE1", 0xf05, 0, 1001, 5, 0, 100, 0, 0, 0, 15); break; case 1001: switch (imath_ranged_rand(1, 2)) { case 1: digi_play("205_s09", 2, 255, -1, -1); break; case 2: digi_play("205_s10", 2, 255, -1, -1); break; default: break; } series_play("205FITE1", 0xf05, 0, 1002, 5, 0, 100, 0, 0, 16, 29); break; case 1002: switch (imath_ranged_rand(1, 2)) { case 1: digi_play("205_s09", 2, 255, -1, -1); break; case 2: digi_play("205_s10", 2, 255, -1, -1); break; default: break; } series_play("205FITE1", 0xf05, 0, 1003, 5, 0, 100, 0, 0, 30, 41); break; case 1003: switch (imath_ranged_rand(1, 2)) { case 1: digi_play("205_s09", 2, 255, -1, -1); break; case 2: digi_play("205_s10", 2, 255, -1, -1); break; default: break; } _205all0Mach = series_play("205FITE1", 0xf05, 16, 1004, 5, 0, 100, 0, 0, 42, -1); break; case 1004: terminateMachine(_205all0Mach); series_unload(_205Fite1Series); series_play("205FITE2", 0xf05, 0, 1005, 5, 0, 100, 0, 0, 0, 29); break; case 1005: digi_play("205_s14", 2, 255, -1, -1); series_play("205FITE2", 0xf05, 0, 1006, 5, 0, 100, 0, 0, 30, 54); break; case 1006: digi_play("205_s14", 2, 255, -1, -1); series_play("205FITE2", 0xf05, 0, 1007, 5, 0, 100, 0, 0, 55, 66); break; case 1007: switch (imath_ranged_rand(1, 2)) { case 1: digi_play("205_s09", 2, 255, -1, -1); break; case 2: digi_play("205_s10", 2, 255, -1, -1); break; default: break; } series_play("205FITE2", 0xf05, 0, 1008, 5, 0, 100, 0, 0, 67, 80); break; case 1008: digi_play("205_s11", 2, 255, -1, -1); series_play("205FITE2", 0xf05, 0, 1009, 5, 0, 100, 0, 0, 81, 91); break; case 1009: digi_play("205_s13", 2, 255, -1, -1); series_play("205FITE2", 0xf05, 0, 1010, 5, 0, 100, 0, 0, 92, 108); break; case 1010: digi_play("205_s11", 2, 255, -1, -1); series_play("205FITE2", 0xf05, 0, 1011, 5, 0, 100, 0, 0, 109, 131); break; case 1011: digi_play("205_s14", 2, 255, -1, -1); _205all0Mach = series_play("205FITE2", 0xf05, 16, 1013, 5, 0, 100, 0, 0, 132, -1); break; case 1013: if (_fieldDC) { kernel_timing_trigger(60, 1013, nullptr); } else { _fieldDC = 1; _205Fite3Series = series_load("205FITE3", -1, nullptr); terminateMachine(_205all0Mach); series_unload(_205Fite2Series); _205all0Mach = series_show("205FITE3", 0xf05, 16, -1, -1, 0, 100, 0, 0); _205Fite4Series = series_load("205FITE4", -1, nullptr); _fieldDC = 0; kernel_timing_trigger(10, 1015, nullptr); } break; case 1014: _fieldE4 = 1; break; case 1015: if (!_field1A0) { kernel_timing_trigger(10, 1017, nullptr); } else if (_fieldDC) { kernel_timing_trigger(60, 1015, nullptr); } else if (!_fieldE4) { kernel_timing_trigger(10, 1015, nullptr); } else { _fieldDC = 1; series_unload(_205Fite4Series); _205all7Series = series_load("205ALL7", -1, nullptr); _fieldDC = 0; ws_walk(_G(my_walker), 482, 351, nullptr, 1016, 3, true); } break; case 1016: ws_hide_walker(_G(my_walker)); terminateMachine(_205all0Mach); series_unload(_205Fite3Series); series_play("205ALL7", 256, 0, 1037, 7, 0, 100, 0, 0, 9, -1); break; case 1017: terminateMachine(_205all0Mach); series_play("205FITE3", 0xf05, 0, 1018, 5, 0, 100, 0, 0, 0, 13); break; case 1018: switch (imath_ranged_rand(1, 2)) { case 1: digi_play("205_s09", 2, 255, -1, -1); break; case 2: digi_play("205_s10", 2, 255, -1, -1); break; default: break; } series_play("205FITE3", 0xf05, 0, 1019, 5, 0, 100, 0, 0, 14, 26); break; case 1019: digi_play("205_s14", 2, 255, -1); series_play("205FITE3", 0xf05, 0, 1020, 5, 0, 100, 0, 0, 27, 36); break; case 1020: switch (imath_ranged_rand(1, 8)) { case 1: digi_play("205_s15", 2, 255, -1, -1); break; case 2: digi_play("205_s16", 2, 255, -1, -1); break; case 3: digi_play("205_s17", 2, 255, -1, -1); break; case 4: digi_play("205_s18", 2, 255, -1, -1); break; case 5: digi_play("205_s19", 2, 255, -1, -1); break; case 6: digi_play("205_s20", 2, 255, -1, -1); break; case 7: digi_play("205_s21", 2, 255, -1, -1); break; case 8: digi_play("205_s11", 2, 255, -1, -1); break; default: break; } series_play("205FITE3", 0xf05, 0, 1021, 5, 0, 100, 0, 0, 37, 45); break; case 1021: switch (imath_ranged_rand(1, 8)) { case 1: digi_play("205_s15", 2, 255, -1, -1); break; case 2: digi_play("205_s16", 2, 255, -1, -1); break; case 3: digi_play("205_s17", 2, 255, -1, -1); break; case 4: digi_play("205_s18", 2, 255, -1, -1); break; case 5: digi_play("205_s19", 2, 255, -1, -1); break; case 6: digi_play("205_s20", 2, 255, -1, -1); break; case 7: digi_play("205_s21", 2, 255, -1, -1); break; case 8: digi_play("205_s11", 2, 255, -1, -1); break; default: break; } _205all0Mach = series_play("205FITE3", 0xf05, 16, 1022, 5, 0, 100, 0, 0, 46, -1); break; case 1022: if (!_field198) { kernel_timing_trigger(10, 1027, nullptr); } else if (_fieldDC) { player_set_commands_allowed(false); _fieldE0 = 1; kernel_timing_trigger(60, 1022); } else { player_set_commands_allowed(false); intr_cancel_sentence(); series_unload(_205Fite4Series); _fieldDC = 1; _fieldE0 = 1; series_unload(_205Fite3Series); terminateMachine(_205all0Mach); series_play("205KILLM", 0xf05, 0, 1023, 7, 0, 100, 0, 0, 0, -1); } break; case 1023: midi_stop(); digi_play("205m02", 1, 255, -1, -1); ws_walk(_G(my_walker), 339, 285, nullptr, 1024, 1, true); break; case 1024: series_play("205KILLR", 0xf05, 16, -1, 7, 0, 100, 0, 0, 0, -1); setGlobals1(_ripGetsShotSeries, 1, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); sendWSMessage_110000(_G(my_walker), 1026); break; case 1026: disable_player_commands_and_fade_init(669); break; case 1027: terminateMachine(_205all0Mach); series_play("205FITE4", 0xf05, 0, 1028, 7, 0, 100, 0, 0, 0, 27); break; case 1028: switch (imath_ranged_rand(1, 2)) { case 1: digi_play("205_s09", 2, 255, -1, -1); break; case 2: digi_play("205_s10", 2, 255, -1, -1); break; default: break; } series_play("205FITE4", 0xf05, 0, 1029, 5, 0, 100, 0, 0, 28, 35); break; case 1029: switch (imath_ranged_rand(1, 2)) { case 1: digi_play("205_s09", 2, 255, -1, -1); break; case 2: digi_play("205_s10", 2, 255, -1, -1); break; default: break; } series_play("205FITE4", 0xf05, 0, 1030, 5, 0, 100, 0, 0, 36, 47); break; case 1030: switch (imath_ranged_rand(1, 2)) { case 1: digi_play("205_s09", 2, 255, -1, -1); break; case 2: digi_play("205_s10", 2, 255, -1, -1); break; default: break; } series_play("205FITE4", 0xf05, 0, 1031, 5, 0, 100, 0, 0, 48, 62); break; case 1031: digi_play("205_s14", 2, 255, -1, -1); series_play("205FITE4", 0xf05, 0, 1032, 5, 0, 100, 0, 0, 63, 70); break; case 1032: digi_play("205_s14", 2, 255, -1, -1); series_play("205FITE4", 0xf05, 0, 1033, 5, 0, 100, 0, 0, 71, 82); break; case 1033: switch (imath_ranged_rand(1, 8)) { case 1: digi_play("205_s15", 2, 255, -1, -1); break; case 2: digi_play("205_s16", 2, 255, -1, -1); break; case 3: digi_play("205_s17", 2, 255, -1, -1); break; case 4: digi_play("205_s18", 2, 255, -1, -1); break; case 5: digi_play("205_s19", 2, 255, -1, -1); break; case 6: digi_play("205_s20", 2, 255, -1, -1); break; case 7: digi_play("205_s21", 2, 255, -1, -1); break; case 8: digi_play("205_s11", 2, 255, -1, -1); break; default: break; } series_play("205FITE4", 0xf05, 0, 1034, 5, 0, 100, 0, 0, 83, 86); break; case 1034: switch (imath_ranged_rand(1, 8)) { case 1: digi_play("205_s15", 2, 255, -1, -1); break; case 2: digi_play("205_s16", 2, 255, -1, -1); break; case 3: digi_play("205_s17", 2, 255, -1, -1); break; case 4: digi_play("205_s18", 2, 255, -1, -1); break; case 5: digi_play("205_s19", 2, 255, -1, -1); break; case 6: digi_play("205_s20", 2, 255, -1, -1); break; case 7: digi_play("205_s21", 2, 255, -1, -1); break; case 8: digi_play("205_s11", 2, 255, -1, -1); break; default: break; } series_play("205FITE4", 0xf05, 0, 1035, 5, 0, 100, 0, 0, 87, 106); break; case 1035: digi_play("205_s14", 2, 255, -1, -1); series_play("205FITE4", 0xf05, 0, 1036, 5, 0, 100, 0, 0, 107, -1); break; case 1036: _205all0Mach = series_show("205FITE3", 0xf05, 16, -1, -1, 0, 100, 0, 0); kernel_timing_trigger(10, 1015, nullptr); break; case 1037: _fieldDC = 1; terminateMachine(_205TabletsMach); series_unload(_205TabletsSeries); series_unload(_205all7Series); digi_preload("205_s31", -1); digi_preload("205_s31a", -1); _205rp1Mach = series_stream("205 TABLETS FALL", 7, 0, 1040); series_stream_break_on_frame(_205rp1Mach, 20, 1038); break; case 1038: digi_play("205_S31", 1, 255, -1, -1); series_stream_break_on_frame(_205rp1Mach, 55, 1039); break; case 1039: midi_stop(); digi_play("205_S31a", 1, 255, -1, -1); break; case 1040: terminateMachine(_205rp1Mach); ws_unhide_walker(_G(my_walker)); ws_demand_facing(_G(my_walker), 1); ws_demand_location(_G(my_walker), 494, 351); _205MeiStanderMach = series_show("205 MEI STANDER" ,3584, 16, -1, -1, 0, 100, 0, 0); _candlemanShadow3Mach = series_show("CANDLEMAN SHADOW5", 0xf00, 16, -1, -1, 0, 50, 314, 248); series_show("205 TABLETS DOWN", 0xf00, 16, -1, -1, 0, 100, 0, 0); series_show("205GLASS", 0xf00, 16, -1, -1, 0, 100, 0, 0); kernel_timing_trigger(180, 1041, nullptr); break; case 1041: ws_walk(_G(my_walker), 324, 252, nullptr, 1042, 11, true); _G(flags)[V028] = 1; break; case 1042: ws_hide_walker(_G(my_walker)); terminateMachine(_205MeiStanderMach); _safariShadow1Mach = series_show("SAFARI SHADOW 2", 0xf00, 16, -1, -1, 0, 51, 324, 252); series_play("205ALL8", 256, 0, 1043, 7, 0, 100, 0, 0, 0, -1); digi_play("205M03", 1, 255, 1044, -1); break; case 1043: _205all0Mach = series_show("205ALL8", 256, 16, -1, -1, 24, 100, 0, 0); break; case 1044: digi_play("205R44", 1, 255, 1045, -1); break; case 1045: terminateMachine(_205all0Mach); terminateMachine(_safariShadow1Mach); _205all9Mach = series_play("205ALL9", 256, 16, 1046, 7, 0, 100, 0, 0, 0, 24); break; case 1046: kernel_timing_trigger(90, 1047); break; case 1047: terminateMachine(_205all9Mach); series_play("205ALL9", 256, 0, 1048, 7, 0, 100, 0, 0, 25, -1); break; case 1048: _safariShadow1Mach = series_show("SAFARI SHADOW 3", 0xf00, 16, -1, -1, 0, 53, 304, 257); _205MeiStanderMach = series_play("205MTLK2", 1792, 16, -1, 7, 0, 100, 0, 0, 0, -1); digi_play("205M04", 1, 255, 1049, -1); break; case 1049: terminateMachine(_205MeiStanderMach); _205rp1Mach = series_play("205RTLK6", 256, 16, -1, 7, 0, 100, 0, 0, 0, -1); digi_play("205R45", 1, 255, 1050, -1); break; case 1050: terminateMachine(_205rp1Mach); _205MeiStanderMach = series_show("205 MEI STANDER", 0xf05, 16, -1, -1, 0, 100, 0, 0); terminateMachine(_safariShadow1Mach); ws_unhide_walker(_G(my_walker)); ws_demand_location(_G(my_walker), 302, 257); ws_demand_facing(_G(my_walker), 3); ws_walk(_G(my_walker), 382, 265, nullptr, 1051, 2, true); break; case 1051: setGlobals1(_ripTrekLowReachPos2Series, 1, 16, 16, 16, 0, 16, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); sendWSMessage_110000(_G(my_walker), 1052); break; case 1052: digi_play("205R46", 1, 255, 1053, -1); break; case 1053: sendWSMessage_120000(_G(my_walker), 1054); break; case 1054: sendWSMessage_150000(_G(my_walker), -1); hotspot_set_active(_G(currentSceneDef).hotspots, "TABLET ", false); hotspot_set_active(_G(currentSceneDef).hotspots, "RIGHT TABLET", false); hotspot_set_active(_G(currentSceneDef).hotspots, "FALLEN TABLETS", true); hotspot_set_active(_G(currentSceneDef).hotspots, "GLASSES", true); hotspot_set_active(_G(currentSceneDef).hotspots, "MASTER LU'S TABLET", true); // Note - The original was not disabling this hotspot, but it's weird the crushed enemy is still active of course... // Furthermore, it you exit and re-enter the room, the init properly disables the hotspot. // Thus, the hotspot is now disabled in ScummVM too... hotspot_set_active(_G(currentSceneDef).hotspots, "SHEN GUO", false); player_set_commands_allowed(true); _fieldDC = 0; break; case 1055: _field198 = 1; break; default: break; } } void Room205::syncGame(Common::Serializer &s) { s.syncAsSint32LE(_fieldD8); s.syncAsSint32LE(_fieldDC); s.syncAsSint32LE(_fieldE0); s.syncAsSint32LE(_fieldE4); s.syncAsSint32LE(_field198); s.syncAsSint32LE(_field19C); s.syncAsSint32LE(_field1A0); s.syncAsByte(_askUnhideMyWalkerFl); s.syncAsByte(_showMeiTalkFl); } } // namespace Rooms } // namespace Riddle } // namespace M4