[Scummvm-git-logs] scummvm master -> 3c2a58f89c775dea38b1ae01fc8ad5a1247026e4
dreammaster
noreply at scummvm.org
Thu Sep 12 05:26:14 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
3c2a58f89c M4: RIDDLE: In progress room 504 daemon
Commit: 3c2a58f89c775dea38b1ae01fc8ad5a1247026e4
https://github.com/scummvm/scummvm/commit/3c2a58f89c775dea38b1ae01fc8ad5a1247026e4
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-09-11T22:25:58-07:00
Commit Message:
M4: RIDDLE: In progress room 504 daemon
Changed paths:
engines/m4/graphics/krn_pal.cpp
engines/m4/graphics/krn_pal.h
engines/m4/riddle/rooms/section5/room504.cpp
engines/m4/riddle/rooms/section5/room504.h
diff --git a/engines/m4/graphics/krn_pal.cpp b/engines/m4/graphics/krn_pal.cpp
index b47b7e49a35..85196187d81 100644
--- a/engines/m4/graphics/krn_pal.cpp
+++ b/engines/m4/graphics/krn_pal.cpp
@@ -341,6 +341,12 @@ void kernel_examine_inventory_object(const char *picName, RGB8 *pal, int steps,
pauseEngines();
}
+void kernel_examine_inventory_object(const char *picName, int steps, int delay,
+ int32 x, int32 y, int32 triggerNum, const char *digiName, int32 digiTrigger) {
+ kernel_examine_inventory_object(picName, _G(master_palette), steps, delay,
+ x, y, triggerNum, digiName, digiTrigger);
+}
+
void kernel_unexamine_inventory_object(RGB8 *pal, int steps, int delay) {
if (!_GP(seriesAnim8) || _GP(seriesHash) < 0)
return;
diff --git a/engines/m4/graphics/krn_pal.h b/engines/m4/graphics/krn_pal.h
index ebda617268f..810cf72d205 100644
--- a/engines/m4/graphics/krn_pal.h
+++ b/engines/m4/graphics/krn_pal.h
@@ -121,6 +121,8 @@ void DAC_tint_range(const RGB8 *tintColor, int32 percent, int32 firstPalEntry, i
void kernel_examine_inventory_object(const char *picName, RGB8 *pal,
int steps, int delay, int32 x, int32 y, int32 trigger,
const char *digiName, int32 digiTrigger);
+void kernel_examine_inventory_object(const char *picName, int steps, int delay,
+ int32 x, int32 y, int32 triggerNum, const char *digiName = nullptr, int32 digiTrigger = -1);
void kernel_unexamine_inventory_object(RGB8 *pal, int steps, int delay);
void remap_buffer_with_luminance_map(Buffer *src, int32 x1, int32 y1, int32 x2, int32 y2);
diff --git a/engines/m4/riddle/rooms/section5/room504.cpp b/engines/m4/riddle/rooms/section5/room504.cpp
index 717d762124e..8bdcc89747d 100644
--- a/engines/m4/riddle/rooms/section5/room504.cpp
+++ b/engines/m4/riddle/rooms/section5/room504.cpp
@@ -23,12 +23,19 @@
#include "m4/graphics/gr_series.h"
#include "m4/riddle/vars.h"
#include "m4/gui/gui_vmng.h"
+#include "m4/adv_r/other.h"
#include "m4/m4.h"
namespace M4 {
namespace Riddle {
namespace Rooms {
+static const int16 NORMAL_DIRS[] = { 200, -1 };
+static const char *NORMAL_NAMES[] = { "menendez walker 3" };
+static const int16 SHADOW_DIRS[] = { 210, -1 };
+static const char *SHADOW_NAMES[] = { "menendez walker shadow 3" };
+
+
void Room504::init() {
_trigger1 = -1;
@@ -100,6 +107,711 @@ void Room504::init() {
}
void Room504::daemon() {
+ switch (_G(kernel).trigger) {
+ case 501:
+ player_update_info();
+
+ if (_G(player_info).x <= 550) {
+ _volume = 127;
+ } else if (_G(player_info).x <= 978) {
+ _volume = (float)_G(player_info).x * -0.119158878 + 193.0373832;
+ } else if (_G(player_info).x > 978 && _G(player_info).x <= 1919) {
+ _volume = (float)_G(player_info).x * -0.040648246 + 116.2539851;
+ }
+
+ digi_change_panning(3, _volume);
+ kernel_timing_trigger(60, 501);
+ break;
+
+ case 502:
+ _val2 = 1;
+ _convState1 = 1;
+ _trigger2 = -1;
+ _trigger3 = -1;
+ _mzDigs = series_load("504 MZ DIGS");
+ _mzStandsTalks = series_load("504 MZ STANDS TALKS");
+ _mzMachine = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xb00, 0,
+ triggerMachineByHashCallbackNegative, "Emilio Menendez Machine");
+ kernel_timing_trigger(1, 503);
+ break;
+
+ case 503:
+ if (_trigger2 != -1 && _convState1 == 2 && _val2 == 2) {
+ kernel_trigger_dispatchx(_trigger2);
+ _trigger2 = -1;
+ }
+
+ if (_trigger3 != -1 && _convState1 == 1 && _val2 == 1) {
+ kernel_trigger_dispatchx(_trigger3);
+ _trigger3 = -1;
+ }
+
+ if (_trigger3 != -1 && _convState1 == 5 && _val2 == 5) {
+ kernel_trigger_dispatchx(_trigger3);
+ _trigger3 = -1;
+ }
+
+ if (_trigger3 != -1 && _convState1 == 9 && _val2 == 9) {
+ kernel_trigger_dispatchx(_trigger3);
+ _trigger3 = -1;
+ }
+
+ if (_trigger3 != -1 && _convState1 == 15 && _val2 == 15) {
+ kernel_trigger_dispatchx(_trigger3);
+ _trigger3 = -1;
+ }
+
+ kernel_timing_trigger(1, 504);
+ break;
+
+ case 504:
+ // TODO
+ switch (_val2) {
+ case 1:
+ break;
+ }
+ break;
+
+ case 508:
+ _G(kernel).trigger_mode = KT_PARSE;
+ conv_load("con504a", 10, 10, 747);
+ _val3 = inv_player_has("PERUVIAN INTI") ? 1 : 0;
+ conv_export_pointer_curr(&_val3, 0);
+ conv_play();
+ break;
+
+ case 509:
+ _convState1 = 2;
+ _trigger2 = kernel_trigger_create(510);
+ break;
+
+ case 510:
+ _convState1 = 1;
+ _convState2 = 9;
+
+ if (!_G(flags)[V040]) {
+ _G(flags)[V040] = 1;
+ setMiscItems();
+ }
+ break;
+
+ case 513:
+ _convState2 = 1;
+ _convState1 = 2;
+ _trigger2 = kernel_trigger_create(514);
+ break;
+
+ case 514:
+ _convState2 = 5;
+ _trigger4 = kernel_trigger_create(515);
+ break;
+
+ case 516:
+ _convState2 = 5;
+ _convState1 = 6;
+ break;
+
+ case 520:
+ _convState2 = 1;
+ sendWSMessage_10000(1, _mzMachine, _mzSeries1, 21, 29, 503,
+ _mzStandsTalks, 11, 11, 4);
+ _convState1 = 2;
+ _val2 = 2;
+ _trigger2 = kernel_trigger_create(521);
+ break;
+
+ case 523:
+ _convState2 = 1;
+ _convState1 = 16;
+ break;
+
+ case 524:
+ _trigger1 = kernel_trigger_create(525);
+ break;
+
+ case 529:
+ _convState2 = 3;
+ digi_play("504R16", 1, 255, 530);
+ break;
+
+ case 530:
+ _convState2 = 1;
+ sendWSMessage_10000(1, _mzMachine, _mzSeries2, 60, 61, -1,
+ _mzSeries2, 60, 62, 4);
+ digi_play("504Z17", 1, 255, 531);
+ break;
+
+ case 533:
+ _shovel = series_place_sprite("504shov", 0, 0, 0, 100, 0xf00);
+ _trigger4 = kernel_trigger_create(534);
+ break;
+
+ case 534:
+ digi_unload("504_S07");
+ ws_walk_load_walker_series(NORMAL_DIRS, NORMAL_NAMES);
+ ws_walk_load_shadow_series(SHADOW_DIRS, SHADOW_NAMES);
+ terminateMachineAndNull(_mzMachine);
+ series_unload(_mzSeries2);
+ digi_unload("504_S02D");
+
+ _menendez = triggerMachineByHash_3000(8, 16, NORMAL_DIRS, SHADOW_DIRS,
+ 1005, 155, 9, triggerMachineByHashCallback3000, "Emilio Menendez Walker");
+ sendWSMessage_10000(_menendez, -_G(game_buff_ptr)->x1 - 30,
+ 155, 9, 536, 1);
+ kernel_timing_trigger(150, 535);
+ break;
+
+ case 535:
+ case 539:
+ _convState2 = 13;
+ break;
+
+ case 536:
+ _convState2 = 10;
+ digi_play("504R17", 1, 255, 537);
+ break;
+
+ case 537:
+ _convState2 = 13;
+ digi_play("504Z18", 1, 255, 538);
+ break;
+
+ case 540:
+ _convState2 = 10;
+ digi_play("504R18A", 1, 255, 541);
+ break;
+
+ case 541:
+ kernel_timing_trigger(5, 542);
+ break;
+
+ case 542:
+ _convState2 = 11;
+ _trigger4 = kernel_trigger_create(543);
+ break;
+
+ case 543:
+ kernel_timing_trigger(5, 544);
+ break;
+
+ case 544:
+ _convState2 = 7;
+ _trigger4 = kernel_trigger_create(545);
+ break;
+
+ case 545:
+ sendWSMessage_60000(_menendez);
+ kernel_timing_trigger(5, 745);
+ _G(flags)[V141] = 1;
+ setMiscItems();
+ _convState2 = 9;
+ break;
+
+ case 549:
+ _convState2 = 3;
+ digi_play("504R51", 1, 255, 550);
+ break;
+
+ case 550:
+ _convState2 = 1;
+ _convState1 = 2;
+ _trigger2 = kernel_trigger_create(551);
+ break;
+
+ case 551:
+ _convState2 = 5;
+ _trigger4 = kernel_trigger_create(552);
+ break;
+
+ case 552:
+ _convState2 = 6;
+ digi_play("504R13", 1, 255, 553);
+ break;
+
+ case 554:
+ _convState1 = 2;
+ _trigger2 = kernel_trigger_create(555);
+ break;
+
+ case 555:
+ _convState2 = 1;
+ digi_play("504Z12", 1, 255, 556);
+ break;
+
+ case 556:
+ _convState1 = 1;
+ _trigger1 = kernel_trigger_create(557);
+ break;
+
+ case 557:
+ _convState2 = 9;
+ break;
+
+ case 558:
+ player_set_commands_allowed(false);
+ digi_preload("504_S05");
+ _flag1 = false;
+ _ripStep = series_stream("RIP STEP UP TO R PLATFORM", 5, 0, 560);
+ series_stream_break_on_frame(_ripStep, 1, 559);
+ break;
+
+ case 559:
+ case 571:
+ case 715:
+ case 735:
+ ws_hide_walker();
+ break;
+
+ case 560:
+ series_stream("504 SHUFFLE TO ROPE", 5, 0, 561);
+ break;
+
+ case 561:
+ terminateMachineAndNull(_rope);
+ _ripStep = series_stream("504 RIP CROSS R TO L", 5, 0, 562);
+ series_stream_break_on_frame(_ripStep, 103, 563);
+ break;
+
+ case 562:
+ series_stream("504 RIP R TO L FINISH CROSS", 5, 0, 564);
+ break;
+
+ case 563:
+ digi_play("504_S05", 1);
+ break;
+
+ case 564:
+ _rope = series_place_sprite("ROPE SPRITE", 0, 0, 0, 100, 0xe00);
+ series_stream("RIP STEP DOWN ON LEFT", 5, 0, 565);
+ break;
+
+ case 565:
+ ws_unhide_walker();
+ ws_demand_location(170, 145, 1);
+ _flag1 = false;
+ kernel_timing_trigger(5, 566);
+ break;
+
+ case 567:
+ player_update_info();
+ digi_preload("COM125");
+ _ripWipe = series_load("504WIPE");
+ _ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100,
+ _G(player_info).depth, 0, triggerMachineByHashCallbackNegative,
+ "Rip Delta Machine State");
+ sendWSMessage_10000(1, _ripley, _ripWipe, 1, 6, 568,
+ _ripWipe, 6, 6, 0);
+ break;
+
+ case 570:
+ player_set_commands_allowed(false);
+ digi_preload("504_S05");
+ _ripStep = series_stream("RIP STEP UP ON LEFT", 5, 0, 572);
+ series_stream_break_on_frame(_ripStep, 1, 571);
+ break;
+
+ case 572:
+ _ripStep = series_stream("504 RIP L TO R CROSS", 5, 0, 574);
+ series_stream_break_on_frame(_ripStep, 45, 573);
+ terminateMachineAndNull(_rope);
+ break;
+
+ case 573:
+ digi_play("504_S05", 1);
+ break;
+
+ case 574:
+ series_stream("504 RIP L TO R FINISH CROSS", 5, 0, 575);
+ break;
+
+ case 575:
+ _rope = series_place_sprite("ROPE SPRITE", 0, 0, 0, 100, 0xe00);
+ series_stream("504 SHUFFLE FROM ROPE", 5, 0, 576);
+ break;
+
+ case 576:
+ _ripStep = series_stream("RIP STEP OFF R PLATFORM", 5, 0, 578);
+ series_stream_break_on_frame(_ripStep, 27, 577);
+ break;
+
+ case 577:
+ digi_play("COM125", 1);
+ break;
+
+ case 581:
+ _vineMachine2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
+ triggerMachineByHashCallbackNegative, "Rope Falling to the Ground");
+ sendWSMessage_10000(1, _vineMachine2, _vineTie, 1, 6, 582, _vineTie, 6, 6, 0);
+ break;
+
+ case 582:
+ switch (_val1) {
+ case 1:
+ inv_move_object("ROPE", 504);
+ break;
+ case 2:
+ inv_move_object("GREEN VINE", 504);
+ break;
+ case 3:
+ inv_move_object("BROWN VINE", 504);
+ break;
+ case 4:
+ inv_move_object("VINES", 4);
+ break;
+ default:
+ break;
+ }
+
+ setVines();
+ sendWSMessage_120000(583);
+ break;
+
+ case 583:
+ sendWSMessage_150000(584);
+ terminateMachineAndNull(_vineMachine2);
+ break;
+
+ case 588:
+ sendWSMessage_120000(589);
+ break;
+
+ case 592:
+ sendWSMessage_120000(593);
+ break;
+
+ case 606:
+ terminateMachineAndNull(_vineMachine2);
+ sendWSMessage_120000(607);
+ break;
+
+ case 607:
+ switch (_val1) {
+ case 1:
+ inv_give_to_player("ROPE");
+ kernel_examine_inventory_object("PING ROPE",
+ 5, 1, 449, 90, 608);
+ break;
+
+ case 2:
+ inv_give_to_player("GREEN VINE");
+ kernel_examine_inventory_object("PING GREEN VINE",
+ 5, 1, 449, 90, 608);
+ break;
+
+ case 3:
+ inv_give_to_player("BROWN VINE");
+ kernel_examine_inventory_object("PING BROWN VINE",
+ 5, 1, 449, 90, 608);
+ break;
+
+ case 4:
+ inv_give_to_player("VINES");
+ kernel_examine_inventory_object("PING VINES",
+ 5, 1, 449, 90, 608);
+ break;
+
+ default:
+ break;
+ }
+ break;
+
+ case 633:
+ switch (_val1) {
+ case 1:
+ _G(flags)[V154] = 0;
+ inv_move_object("ROPE", 504);
+ break;
+ case 2:
+ _G(flags)[V152] = 0;
+ inv_move_object("GREEN VINE", 504);
+ break;
+ case 3:
+ _G(flags)[V153] = 0;
+ inv_move_object("BROWN VINE", 504);
+ break;
+ case 4:
+ _G(flags)[V171] = 0;
+ inv_move_object("VINES", 504);
+ break;
+ default:
+ break;
+ }
+
+ setVines();
+ terminateMachineAndNull(_vineMachine2);
+ sendWSMessage_120000(634);
+ break;
+
+ case 634:
+ sendWSMessage_150000(635);
+ terminateMachineAndNull(_vineMachine2);
+ break;
+
+ case 641:
+ _vineTie = series_load("504 R VINE TIE BEFORE THROW");
+ _vine = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
+ triggerMachineByHashCallbackNegative, "Vine Unrolling as Tied");
+ sendWSMessage_10000(1, _vine, _vineTie, 1, 6, 642, _vineTie, 6, 6, 0);
+ break;
+
+
+ case 657:
+ _convState2 = 5;
+ _trigger4 = kernel_trigger_create(658);
+ break;
+
+ case 658:
+ _convState2 = 6;
+ digi_play(conv_sound_to_play(), 1, 255, 549);
+ break;
+
+ case 659:
+ _convState2 = 5;
+ _convState1 = 5;
+ _trigger3 = kernel_trigger_create(659);
+ break;
+
+ case 660:
+ _convState2 = 1;
+ _convState1 = 2;
+ _trigger2 = kernel_trigger_create(661);
+ break;
+
+ case 661:
+ _convState1 = 9;
+ _trigger3 = kernel_trigger_create(662);
+ break;
+
+ case 662:
+ _trigger1 = kernel_trigger_create(663);
+ break;
+
+ case 663:
+ inv_give_to_player("SHRUNKEN HEAD");
+ _convState2 = 4;
+ _trigger4 = kernel_trigger_create(664);
+ break;
+
+ case 664:
+ kernel_examine_inventory_object("PING SHRUNKEN HEAD",
+ 5, 1, 136, 120, 665);
+ break;
+
+ case 665:
+ _convState1 = 2;
+ _convState2 = 1;
+ _trigger2 = kernel_trigger_create(666);
+ break;
+
+ case 666:
+ _trigger1 = kernel_trigger_create(667);
+ break;
+
+ case 667:
+ case 674:
+ conv_resume();
+ break;
+
+ case 669:
+ _convState1 = 15;
+ _trigger3 = kernel_trigger_create(670);
+ break;
+
+ case 670:
+ _convState2 = 8;
+ _trigger4 = kernel_trigger_create(671);
+ break;
+
+ case 671:
+ digi_play(conv_sound_to_play(), 1, 255, 672);
+ break;
+
+ case 672:
+ _convState1 = 2;
+ _convState2 = 1;
+ _trigger1 = kernel_trigger_create(673);
+ break;
+
+ case 673:
+ _trigger2 = kernel_trigger_create(674);
+ break;
+
+ case 696:
+ switch (_val1) {
+ case 1:
+ inv_give_to_player("ROPE");
+ kernel_examine_inventory_object("PING ROPE",
+ 5, 1, 105, 60, 697);
+ break;
+
+ case 2:
+ inv_give_to_player("GREEN VINE");
+ kernel_examine_inventory_object("PING GREEN VINE",
+ 5, 1, 105, 60, 697);
+ break;
+
+ case 3:
+ inv_give_to_player("BROWN VINE");
+ kernel_examine_inventory_object("PING BROWN VINE",
+ 5, 1, 105, 60, 697);
+ break;
+
+ case 4:
+ inv_give_to_player("VINES");
+ kernel_examine_inventory_object("PING VINES",
+ 5, 1, 105, 60, 697);
+ break;
+
+ default:
+ break;
+ }
+ break;
+
+ case 703:
+ switch (_val1) {
+ case 1:
+ inv_give_to_player("ROPE");
+ kernel_examine_inventory_object("PING ROPE",
+ 5, 1, 105, 60, 704);
+ break;
+
+ case 2:
+ inv_give_to_player("GREEN VINE");
+ kernel_examine_inventory_object("PING GREEN VINE",
+ 5, 1, 105, 60, 704);
+ break;
+
+ case 3:
+ inv_give_to_player("BROWN VINE");
+ kernel_examine_inventory_object("PING BROWN VINE",
+ 5, 1, 105, 60, 704);
+ break;
+
+ case 4:
+ inv_give_to_player("VINES");
+ kernel_examine_inventory_object("PING VINES",
+ 5, 1, 105, 60, 704);
+ break;
+
+ default:
+ break;
+ }
+ break;
+
+ case 707:
+ player_set_commands_allowed(false);
+ digi_play("504R45", 1, 255, 708);
+ break;
+
+ case 714:
+ player_set_commands_allowed(false);
+ digi_preload("504_S09");
+ digi_preload("504_S03");
+ digi_preload("504_S05");
+ _ripStep = series_stream("RIP STEP UP ON LEFT", 5, 0, 716);
+ series_stream_break_on_frame(_ripStep, 1, 715);
+ ws_hide_walker();
+ break;
+
+ case 716:
+ _ripStep = series_stream("504 RIP L TO R CROSS", 5, 0, 718);
+ series_stream_break_on_frame(_ripStep, 45, 717);
+ terminateMachineAndNull(_rope);
+ break;
+
+ case 717:
+ digi_play("504_S05", 1);
+ break;
+
+ case 718:
+ digi_play("504_S09", 1, 255, 719);
+ _ripStep = series_stream("504 RIP L TO R FALLS", 5, 0, -1);
+ series_stream_break_on_frame(_ripStep, 27, 721);
+ break;
+
+ case 720:
+ digi_play("504_S03", 1);
+ break;
+
+ case 722:
+ pal_fade_init(21, 255, 0, 30, 723);
+ interface_hide();
+ break;
+
+ case 723:
+ case 744:
+ other_save_game_for_resurrection();
+ _G(game).setRoom(413);
+ break;
+
+ case 725:
+ player_set_commands_allowed(false);
+ digi_play("504R45", 1, 255, 726);
+ break;
+
+ case 734:
+ player_set_commands_allowed(false);
+ digi_preload("504_s09");
+ digi_preload("504_s03");
+ digi_preload("504_s05");
+ _flag1 = false;
+ _ripStep = series_stream("RIP STEP UP TO R PLATFORM", 5, 0, 736);
+ series_stream_break_on_frame(_ripStep, 1, 735);
+ break;
+
+ case 736:
+ series_stream("504 SHUFFLE TO ROPE", 5, 0, 737);
+ break;
+
+ case 737:
+ terminateMachineAndNull(_rope);
+ _ripStep = series_stream("504 RIP CROSS R TO L", 5, 0, 739);
+ series_stream_break_on_frame(_ripStep, 103, 738);
+ break;
+
+ case 738:
+ digi_play("504_S05", 1);
+ break;
+
+ case 739:
+ digi_play("504_S09", 1, 255, 740);
+ _ripStep = series_stream("504 RIP R TO L FALL", 5, 0, -1);
+ series_stream_break_on_frame(_ripStep, 25, 742);
+ break;
+
+ case 741:
+ digi_play("504_S03", 1);
+ break;
+
+ case 743:
+ pal_fade_init(21, 255, 0, 30, 744);
+ interface_hide();
+ break;
+
+ case 748:
+ _G(game).setRoom(501);
+ inv_move_object("ROPE", 504);
+ break;
+
+ case 751:
+ digi_play("504R44", 1, 255, 752);
+ break;
+
+ case 755:
+ player_set_commands_allowed(false);
+ digi_play("504R45", 1, 255, 756);
+ break;
+
+ case 756:
+ player_set_commands_allowed(false);
+ ws_walk(546, 143, nullptr, 757, 11);
+ break;
+
+ // TODO: Various switch cases
+
+ default:
+ break;
+ }
}
void Room504::pre_parser() {
@@ -217,7 +929,7 @@ void Room504::parser() {
break;
case 3:
_convState2 = 1;
- _convState = 2;
+ _convState1 = 2;
_trigger2 = kernel_trigger_create(4);
break;
case 4:
@@ -1409,7 +2121,7 @@ void Room504::conv504a() {
if (_G(kernel).trigger == 1) {
if (who <= 0)
- _convState = 2;
+ _convState1 = 2;
else if (who == 1)
_convState2 = 1;
@@ -1417,12 +2129,12 @@ void Room504::conv504a() {
} else {
if (who <= 0) {
if (node == 8 && entry == 3) {
- _convState = 10;
+ _convState1 = 10;
} else if (node == 19 && entry == 2) {
_G(kernel).trigger_mode = KT_DAEMON;
kernel_timing_trigger(1, 669);
} else {
- _convState = 4;
+ _convState1 = 4;
if (sound)
digi_play(sound, 1, 255, 1);
diff --git a/engines/m4/riddle/rooms/section5/room504.h b/engines/m4/riddle/rooms/section5/room504.h
index 120fc735b0f..c8dae22ecca 100644
--- a/engines/m4/riddle/rooms/section5/room504.h
+++ b/engines/m4/riddle/rooms/section5/room504.h
@@ -35,11 +35,17 @@ private:
int _upSteps = 0;
int _downSteps = 0;
int _volume = 0;
- int _convState = 0;
+ int _convState1 = 0;
int _convState2 = 0;
int _ripSketching = 0;
int _ripLowReach = 0;
int _ripMedReach = 0;
+ int _ripWipe = 0;
+ int _mzDigs = 0;
+ int _mzStandsTalks = 0;
+ int _mzSeries1 = 0;
+ int _mzSeries2 = 0;
+ int _vineTie = 0;
machine *_vines1 = nullptr;
machine *_vines2 = nullptr;
@@ -51,6 +57,11 @@ private:
machine *_shovel = nullptr;
machine *_driftwood = nullptr;
machine *_pole = nullptr;
+ machine *_mzMachine = nullptr;
+ machine *_menendez = nullptr;
+ machine *_vineMachine2 = nullptr;
+ machine *_ripStep = nullptr;
+ machine *_vine = nullptr;
bool _flag1 = false;
bool _flag2 = false;
bool _flag3 = false;
@@ -58,7 +69,11 @@ private:
int _trigger1 = 0;
int _trigger2 = 0;
+ int _trigger3 = 0;
+ int _trigger4 = 0;
int _val1 = 0;
+ int _val2 = 0;
+ int32 _val3 = 0;
void setVines();
void freeVines();
More information about the Scummvm-git-logs
mailing list