[Scummvm-git-logs] scummvm master -> e13e9355dac4b42656000288124ba3f63c8a3b8f

dreammaster noreply at scummvm.org
Tue Nov 19 07:14:45 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:
e13e9355da M4: RIDDLE: Add missing using plank on urns in room 403


Commit: e13e9355dac4b42656000288124ba3f63c8a3b8f
    https://github.com/scummvm/scummvm/commit/e13e9355dac4b42656000288124ba3f63c8a3b8f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-11-18T23:14:39-08:00

Commit Message:
M4: RIDDLE: Add missing using plank on urns in room 403

Changed paths:
    engines/m4/riddle/rooms/section4/room403.cpp
    engines/m4/riddle/rooms/section4/room403.h


diff --git a/engines/m4/riddle/rooms/section4/room403.cpp b/engines/m4/riddle/rooms/section4/room403.cpp
index 4a5e91836c5..2cbd2c2d4f8 100644
--- a/engines/m4/riddle/rooms/section4/room403.cpp
+++ b/engines/m4/riddle/rooms/section4/room403.cpp
@@ -1558,9 +1558,7 @@ void Room403::pre_parser() {
 	}
 
 	if (player_said("PLANK", "URN") || player_said("EDGER", "URN")) {
-		_G(player).need_to_walk = false;
-		_G(player).ready_to_walk = true;
-		_G(player).waiting_for_walk = false;
+		_G(player).resetWalk();
 
 		kernel_timing_trigger(1, 69, KT_PARSE, KT_PREPARSE);
 	}
@@ -1715,8 +1713,10 @@ void Room403::parser() {
 		}
 	} else if (player_said("EDGER", "BELL") && inv_player_has("EDGER")) {
 		edgerBell();
+	} else if (player_said("PLANK", "URN")) {
+		plankUrn();
 	} else if (player_said("EDGER", "URN")) {
-		// No implementation
+		edgerUrn();
 	} else if ((player_said("STEP LADDER", "TOMB") ||
 			player_said("STEP LADDER", "STAIRS")) &&
 			stepLadderTomb()) {
@@ -1981,6 +1981,44 @@ void Room403::edgerBell() {
 	}
 }
 
+void Room403::plankUrn() {
+	switch (_G(kernel).trigger) {
+	case 69:
+		player_set_commands_allowed(false);
+		ws_walk(1110, 322, nullptr, 1, 11);
+		_plank = 2;
+		break;
+
+	case 1:
+		_ripPutBoard = series_load("RIPLEY PUTS BOARD ON POTS");
+		ws_hide_walker();
+		_ripOnLadder = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x300, 0,
+			triggerMachineByHashCallback, "RIP plants plank");
+		sendWSMessage_10000(1, _ripOnLadder, _ripPutBoard, 1, 41, 2,
+			_ripPutBoard, 41, 41, 0);
+		break;
+
+	case 2:
+		digi_play("403_s07", 2);
+		sendWSMessage_10000(1, _ripOnLadder, _ripPutBoard, 41, 57, 3,
+			_ripPutBoard, 57, 57, 0);
+		break;
+
+	case 3:
+		_board = series_place_sprite("1 SPRITE OF BOARD", 0, 0, 0, 100, 0xf00);
+		hotspot_set_active("PLANK", true);
+		inv_move_object("PLANK", 403);
+		terminateMachineAndNull(_ripOnLadder);
+		ws_unhide_walker();
+		series_unload(_ripPutBoard);
+		player_set_commands_allowed(true);
+		break;
+
+	default:
+		break;
+	}
+}
+
 bool Room403::edgerUrn() {
 	switch (_G(kernel).trigger) {
 	case 1:
diff --git a/engines/m4/riddle/rooms/section4/room403.h b/engines/m4/riddle/rooms/section4/room403.h
index f70f286f689..b626a8541a1 100644
--- a/engines/m4/riddle/rooms/section4/room403.h
+++ b/engines/m4/riddle/rooms/section4/room403.h
@@ -80,6 +80,7 @@ private:
 	void conv403a();
 	void conv403a1();
 	void edgerBell();
+	void plankUrn();
 	bool edgerUrn();
 	bool stepLadderTomb();
 	bool takePlank();




More information about the Scummvm-git-logs mailing list