[Scummvm-git-logs] scummvm master -> 0f0448a0ee5d6bad5946359c8836939da264a832

Strangerke noreply at scummvm.org
Wed Feb 12 19:34:42 UTC 2025


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
bfba5656be M4: RIDDLE: Fix calls to ws_walk in room group 4 (WIP) and 5
0f0448a0ee M4: RIDDLE: Fix a bug in parser/edgeUrn/case 69 in room 403


Commit: bfba5656be8f70e10daa9e84ef9f996095f1c8ef
    https://github.com/scummvm/scummvm/commit/bfba5656be8f70e10daa9e84ef9f996095f1c8ef
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2025-02-12T20:34:28+01:00

Commit Message:
M4: RIDDLE: Fix calls to ws_walk in room group 4 (WIP) and 5

Changed paths:
    engines/m4/riddle/rooms/section4/room403.cpp
    engines/m4/riddle/rooms/section4/room404.cpp
    engines/m4/riddle/rooms/section4/room405.cpp
    engines/m4/riddle/rooms/section4/room406.cpp
    engines/m4/riddle/rooms/section4/room407.cpp
    engines/m4/riddle/rooms/section4/room408.cpp
    engines/m4/riddle/rooms/section4/room409.cpp
    engines/m4/riddle/rooms/section5/room501.cpp
    engines/m4/riddle/rooms/section5/room504.cpp


diff --git a/engines/m4/riddle/rooms/section4/room403.cpp b/engines/m4/riddle/rooms/section4/room403.cpp
index 8656cb86c65..3039c4816aa 100644
--- a/engines/m4/riddle/rooms/section4/room403.cpp
+++ b/engines/m4/riddle/rooms/section4/room403.cpp
@@ -1976,7 +1976,7 @@ void Room403::plankUrn() {
 	switch (_G(kernel).trigger) {
 	case 69:
 		player_set_commands_allowed(false);
-		ws_walk(1110, 322, nullptr, 1, 11);
+		ws_walk(_G(my_walker), 1110, 322, nullptr, 1, 11);
 		_plank = 2;
 		break;
 
@@ -2041,7 +2041,7 @@ bool Room403::edgerUrn() {
 	case 69:
 		if (inv_player_has("EDGER")) {
 			player_set_commands_allowed(false);
-			ws_walk(1201, 321, 0, 1, 2);
+			ws_walk(_G(my_walker), 1201, 321, 0, 1, 2);
 			return true;
 		}
 		return false;
diff --git a/engines/m4/riddle/rooms/section4/room404.cpp b/engines/m4/riddle/rooms/section4/room404.cpp
index 67389764751..01a0f0ae62c 100644
--- a/engines/m4/riddle/rooms/section4/room404.cpp
+++ b/engines/m4/riddle/rooms/section4/room404.cpp
@@ -87,7 +87,7 @@ void Room404::init() {
 		sendWSMessage_10000(1, _butlerTalks, _butlerTalkLoop, 1, 1, -1,
 			_butlerTalkLoop, 1, 1, 0);
 		ws_demand_location(_G(my_walker), 58, 347, 3);
-		ws_walk(90, 347, nullptr, 50, 3);
+		ws_walk(_G(my_walker), 90, 347, nullptr, 50, 3);
 		break;
 
 	case 406:
@@ -96,7 +96,7 @@ void Room404::init() {
 		sendWSMessage_10000(1, _butlerTalks, _butlerTalkLoop, 1, 1, -1,
 			_butlerTalkLoop, 1, 1, 0);
 		ws_demand_location(_G(my_walker), 174, 268, 3);
-		ws_walk(250, 285, nullptr,
+		ws_walk(_G(my_walker), 250, 285, nullptr,
 			inv_player_has("BILLIARD BALL") ? 70 : 60,
 			3, 1);
 		break;
@@ -127,7 +127,7 @@ void Room404::daemon() {
 
 	switch (_G(kernel).trigger) {
 	case 20:
-		ws_walk(370, 347, nullptr, -1, 1);
+		ws_walk(_G(my_walker), 370, 347, nullptr, -1, 1);
 		break;
 
 	case 21:
@@ -194,7 +194,7 @@ void Room404::daemon() {
 		break;
 
 	case 33:
-		ws_walk(58, 347, nullptr, -1, 9);
+		ws_walk(_G(my_walker), 58, 347, nullptr, -1, 9);
 		kernel_timing_trigger(90, 34);
 		break;
 
@@ -209,7 +209,7 @@ void Room404::daemon() {
 		break;
 
 	case 40:
-		ws_walk(370, 347, nullptr, -1, 1);
+		ws_walk(_G(my_walker), 370, 347, nullptr, -1, 1);
 		break;
 
 	case 42:
@@ -254,7 +254,7 @@ void Room404::daemon() {
 	case 48:
 		_val8 = 2102;
 		digi_play("404r22", 1, 255, 49);
-		ws_walk(368, 349, nullptr, -1, 8);
+		ws_walk(_G(my_walker), 368, 349, nullptr, -1, 8);
 		break;
 
 	case 49:
@@ -274,7 +274,7 @@ void Room404::daemon() {
 
 	case 72:
 		_val8 = 2102;
-		ws_walk(174, 268, nullptr, 73, 9);
+		ws_walk(_G(my_walker), 174, 268, nullptr, 73, 9);
 
 		if (_G(flags)[V128] == 1)
 			digi_play("404r23", 1);
@@ -458,7 +458,7 @@ void Room404::parser() {
 		case -1:
 			player_set_commands_allowed(false);
 			player_update_info();
-			ws_walk(_G(player_info).x, _G(player_info).y + 50, nullptr, -1, 5);
+			ws_walk(_G(my_walker), _G(player_info).x, _G(player_info).y + 50, nullptr, -1, 5);
 			disable_player_commands_and_fade_init(1);
 			break;
 		case 1:
@@ -473,7 +473,7 @@ void Room404::parser() {
 		switch (_G(kernel).trigger) {
 		case -1:
 			player_set_commands_allowed(false);
-			ws_walk(58, 347, nullptr, -1, 9);
+			ws_walk(_G(my_walker), 58, 347, nullptr, -1, 9);
 			disable_player_commands_and_fade_init(1);
 			break;
 		case 1:
@@ -488,7 +488,7 @@ void Room404::parser() {
 		switch (_G(kernel).trigger) {
 		case -1:
 			player_set_commands_allowed(false);
-			ws_walk(58, 347, nullptr, -1, 9);
+			ws_walk(_G(my_walker), 58, 347, nullptr, -1, 9);
 			disable_player_commands_and_fade_init(1);
 			break;
 		case 1:
@@ -527,11 +527,11 @@ void Room404::parser() {
 		digi_play(player_been_here(405) ? "404r08a" : "404r08", 1);
 	} else if (player_said("SITTING ROOM") && (useFlag || takeFlag) &&
 			_G(kernel).trigger >= -1) {
-		ws_walk(115, 350, nullptr, 2, 9);
+		ws_walk(_G(my_walker), 115, 350, nullptr, 2, 9);
 	} else if (lookFlag && player_said("SITTING ROOM")) {
 		switch (_G(kernel).trigger) {
 		case -1:
-			ws_walk(115, 350, nullptr, 2, 9);
+			ws_walk(_G(my_walker), 115, 350, nullptr, 2, 9);
 			break;
 		default:
 			digi_play("404r09", 1);
diff --git a/engines/m4/riddle/rooms/section4/room405.cpp b/engines/m4/riddle/rooms/section4/room405.cpp
index 1abfbe4c448..c314f8378d7 100644
--- a/engines/m4/riddle/rooms/section4/room405.cpp
+++ b/engines/m4/riddle/rooms/section4/room405.cpp
@@ -96,13 +96,13 @@ void Room405::init() {
 	ws_demand_location(_G(my_walker), 155, 370, 9);
 
 	if (player_been_here(405) || _G(kittyScreaming)) {
-		ws_walk(230, 345, nullptr, 50, 2);
+		ws_walk(_G(my_walker), 230, 345, nullptr, 50, 2);
 	} else {
 		ws_walk_load_shadow_series(SHADOW_DIRS, SHADOW_NAMES);
 		ws_walk_load_walker_series(NORMAL_DIRS, NORMAL_NAMES);
 		_baron = triggerMachineByHash_3000(8, 11, *NORMAL_DIRS, *SHADOW_DIRS, 185, 365, 1,
 			triggerMachineByHashCallback3000, "BARON_walker");
-		ws_walk(329, 320, nullptr, 20, 9);
+		ws_walk(_G(my_walker), 329, 320, nullptr, 20, 9);
 	}
 }
 
@@ -827,7 +827,7 @@ void Room405::conv405a1() {
 bool Room405::lookDoor() {
 	switch (_G(kernel).trigger) {
 	case -1:
-		ws_walk(245, 367, nullptr, 2, 9);
+		ws_walk(_G(my_walker), 245, 367, nullptr, 2, 9);
 		return true;
 	case 2:
 		digi_play("405r30", 1);
@@ -843,7 +843,7 @@ bool Room405::lookDoor() {
 bool Room405::useDoor() {
 	switch (_G(kernel).trigger) {
 	case -1:
-		ws_walk(245, 367, nullptr, 2, 9);
+		ws_walk(_G(my_walker), 245, 367, nullptr, 2, 9);
 		return true;
 	case 2:
 		digi_play("405r31", 1);
@@ -858,7 +858,7 @@ bool Room405::useDoor() {
 
 bool Room405::takeDoor() {
 	if (_G(kernel).trigger == 1) {
-		ws_walk(245, 367, nullptr, 2, 9);
+		ws_walk(_G(my_walker), 245, 367, nullptr, 2, 9);
 		return true;
 	}
 
diff --git a/engines/m4/riddle/rooms/section4/room406.cpp b/engines/m4/riddle/rooms/section4/room406.cpp
index e5e4ce61669..48940a5c2ec 100644
--- a/engines/m4/riddle/rooms/section4/room406.cpp
+++ b/engines/m4/riddle/rooms/section4/room406.cpp
@@ -208,7 +208,7 @@ void Room406::init() {
 		}
 
 		ws_demand_location(_G(my_walker), 603, 327, 9);
-		ws_walk(530, 332, nullptr, 300, 9);
+		ws_walk(_G(my_walker), 530, 332, nullptr, 300, 9);
 		break;
 	}
 }
@@ -565,7 +565,7 @@ void Room406::parser() {
 			break;
 		case 69:
 			player_set_commands_allowed(false);
-			ws_walk(205, 333, nullptr, 1, 5);
+			ws_walk(_G(my_walker), 205, 333, nullptr, 1, 5);
 			break;
 		default:
 			break;
diff --git a/engines/m4/riddle/rooms/section4/room407.cpp b/engines/m4/riddle/rooms/section4/room407.cpp
index 2bb31f074bc..8d03e073985 100644
--- a/engines/m4/riddle/rooms/section4/room407.cpp
+++ b/engines/m4/riddle/rooms/section4/room407.cpp
@@ -937,7 +937,7 @@ void Room407::daemon() {
 		break;
 
 	case 190:
-		ws_walk(155, 335, nullptr, 192, 11);
+		ws_walk(_G(my_walker), 155, 335, nullptr, 192, 11);
 		break;
 
 	case 192:
@@ -1108,7 +1108,7 @@ void Room407::daemon() {
 		break;
 
 	case 300:
-		ws_walk(441, 331, nullptr, 302, 1);
+		ws_walk(_G(my_walker), 441, 331, nullptr, 302, 1);
 		break;
 
 	case 302:
@@ -1151,7 +1151,7 @@ void Room407::daemon() {
 		break;
 
 	case 310:
-		ws_walk(441, 331, nullptr, 312, 1);
+		ws_walk(_G(my_walker), 441, 331, nullptr, 312, 1);
 		break;
 
 	case 312:
@@ -1187,7 +1187,7 @@ void Room407::daemon() {
 
 	case 315:
 		series_unload(_ripHiHand1);
-		ws_walk(155, 335, nullptr, 316, 11);
+		ws_walk(_G(my_walker), 155, 335, nullptr, 316, 11);
 		break;
 
 	case 316:
@@ -1375,7 +1375,7 @@ void Room407::daemon() {
 
 	case 362:
 		player_update_info();
-		ws_walk(_G(player_info).x, _G(player_info).y, nullptr, 363, 1);
+		ws_walk(_G(my_walker), _G(player_info).x, _G(player_info).y, nullptr, 363, 1);
 		break;
 
 	case 363:
@@ -1386,7 +1386,7 @@ void Room407::daemon() {
 		break;
 
 	case 364:
-		ws_walk(409, 320, nullptr, 365, 1);
+		ws_walk(_G(my_walker), 409, 320, nullptr, 365, 1);
 		break;
 
 	case 365:
@@ -1481,7 +1481,7 @@ void Room407::daemon() {
 		ws_unhide_walker();
 		sendWSMessage_10000(1, _ripley, _stair, 1, 30, 402, _stair, 30, 30, 0);
 		kernel_timing_trigger(60, 401);
-		ws_walk(347, 331, nullptr, -1, 9);
+		ws_walk(_G(my_walker), 347, 331, nullptr, -1, 9);
 		break;
 
 	case 401:
@@ -3047,7 +3047,7 @@ bool Room407::lookLeverKey() {
 void Room407::gardenHoseSurgicalTube() {
 	switch (_G(kernel).trigger) {
 	case -1:
-		ws_walk(170, 335, nullptr, 0, 11, 1);
+		ws_walk(_G(my_walker), 170, 335, nullptr, 0, 11, 1);
 		break;
 	case 0:
 		if (_valveState1 == 1010) {
@@ -3173,7 +3173,7 @@ void Room407::surgicalTubeFaucetPipe() {
 		break;
 
 	case 777:
-		ws_walk(170, 335, nullptr, 0, 11);
+		ws_walk(_G(my_walker), 170, 335, nullptr, 0, 11);
 		break;
 
 	default:
@@ -3337,7 +3337,7 @@ void Room407::reachLeverKey() {
 
 	case 777:
 		player_set_commands_allowed(false);
-		ws_walk(463, 323, nullptr, 0, 1);
+		ws_walk(_G(my_walker), 463, 323, nullptr, 0, 1);
 		break;
 
 	default:
@@ -3423,7 +3423,7 @@ void Room407::faucetPipeGlassJar() {
 		break;
 
 	case 777:
-		ws_walk(436, 331, nullptr, 70, 1);
+		ws_walk(_G(my_walker), 436, 331, nullptr, 70, 1);
 		break;
 
 	default:
@@ -3469,7 +3469,7 @@ void Room407::gardenHoseFaucetPipe() {
 		break;
 
 	case 777:
-		ws_walk(436, 331, nullptr, 70, 1);
+		ws_walk(_G(my_walker), 436, 331, nullptr, 70, 1);
 		break;
 
 	default:
@@ -4405,7 +4405,7 @@ void Room407::useLeverKey() {
 
 	case 777:
 		player_set_commands_allowed(false);
-		ws_walk(466, 330, nullptr, 1, 1);
+		ws_walk(_G(my_walker), 466, 330, nullptr, 1, 1);
 		break;
 
 	default:
@@ -5024,7 +5024,7 @@ void Room407::takeGardenHose2() {
 		break;
 
 	case 777:
-		ws_walk(170, 335, nullptr, 70, 11);
+		ws_walk(_G(my_walker), 170, 335, nullptr, 70, 11);
 		break;
 
 	default:
@@ -5074,7 +5074,7 @@ void Room407::takeGardenHose3() {
 		break;
 
 	case 777:
-		ws_walk(436, 331, nullptr, 70, 1);
+		ws_walk(_G(my_walker), 436, 331, nullptr, 70, 1);
 		break;
 
 	default:
diff --git a/engines/m4/riddle/rooms/section4/room408.cpp b/engines/m4/riddle/rooms/section4/room408.cpp
index 6effba29a5f..83a608842ca 100644
--- a/engines/m4/riddle/rooms/section4/room408.cpp
+++ b/engines/m4/riddle/rooms/section4/room408.cpp
@@ -58,7 +58,7 @@ void Room408::init() {
 		hotspot_set_active("EDGER", true);
 		inv_move_object("EDGER", 408);
 		ws_demand_location(_G(my_walker), 234, 319, 3);
-		ws_walk(438, 325, nullptr, 400, 1);
+		ws_walk(_G(my_walker), 438, 325, nullptr, 400, 1);
 		
 	} else if (_G(flags)[V139] == 3) {
 		_G(flags)[V139] = 0;
@@ -69,7 +69,7 @@ void Room408::init() {
 		}
 
 		ws_demand_location(_G(my_walker), -20, 345, 3);
-		ws_walk(234, 319, nullptr, 420, 1);
+		ws_walk(_G(my_walker), 234, 319, nullptr, 420, 1);
 
 	} else {
 		if (inv_player_has("TURTLE") && !inv_player_has("EDGER") &&
@@ -119,7 +119,7 @@ void Room408::init() {
 				}
 
 				ws_demand_location(_G(my_walker), -20, 345, 3);
-				ws_walk(35, 345, nullptr, 20, 3);
+				ws_walk(_G(my_walker), 35, 345, nullptr, 20, 3);
 			}
 			break;
 
@@ -172,9 +172,9 @@ void Room408::init() {
 
 			if (_G(flags)[V125] == 3) {
 				series_simple_play("408 turtle popup", 0, true);
-				ws_walk(438, 325, nullptr, 350, 1);
+				ws_walk(_G(my_walker), 438, 325, nullptr, 350, 1);
 			} else {
-				ws_walk(615, 345, nullptr, 30, 9);
+				ws_walk(_G(my_walker), 615, 345, nullptr, 30, 9);
 			}
 			break;
 		}
@@ -467,7 +467,7 @@ void Room408::daemon() {
 		break;
 
 	case 322:
-		ws_walk(414, 336, nullptr, -1, 9);
+		ws_walk(_G(my_walker), 414, 336, nullptr, -1, 9);
 		break;
 
 	case 323:
@@ -495,7 +495,7 @@ void Room408::daemon() {
 
 	case 354:
 		series_unload(_ripLowReacher);
-		ws_walk(234, 319, nullptr, 355, 1);
+		ws_walk(_G(my_walker), 234, 319, nullptr, 355, 1);
 		_ripLowReacher = series_load("RIP TREK MED REACH HAND POS1");
 		break;
 
@@ -517,7 +517,7 @@ void Room408::daemon() {
 
 	case 358:
 		series_unload(_ripLowReacher);
-		ws_walk(-20, 345, nullptr, -1, 9);
+		ws_walk(_G(my_walker), -20, 345, nullptr, -1, 9);
 		kernel_timing_trigger(60, 359);
 		break;
 
@@ -702,7 +702,7 @@ void Room408::parser() {
 		switch (_G(kernel).trigger) {
 		case -1:
 			player_set_commands_allowed(false);
-			ws_walk(-20, 345, nullptr, 1, 9);
+			ws_walk(_G(my_walker), -20, 345, nullptr, 1, 9);
 			break;
 		case 1:
 			disable_player_commands_and_fade_init(2);
@@ -719,7 +719,7 @@ void Room408::parser() {
 		switch (_G(kernel).trigger) {
 		case -1:
 			player_set_commands_allowed(false);
-			ws_walk(660, 345, nullptr, 1, 3);
+			ws_walk(_G(my_walker), 660, 345, nullptr, 1, 3);
 			break;
 		case 1:
 			disable_player_commands_and_fade_init(2);
diff --git a/engines/m4/riddle/rooms/section4/room409.cpp b/engines/m4/riddle/rooms/section4/room409.cpp
index e0e8b7b454c..7d9449f4295 100644
--- a/engines/m4/riddle/rooms/section4/room409.cpp
+++ b/engines/m4/riddle/rooms/section4/room409.cpp
@@ -89,7 +89,7 @@ void Room409::daemon() {
 		break;
 
 	case 353:
-		ws_walk(323, 295, nullptr, 354, 3);
+		ws_walk(_G(my_walker), 323, 295, nullptr, 354, 3);
 		break;
 
 	case 354:
@@ -97,7 +97,7 @@ void Room409::daemon() {
 		break;
 
 	case 355:
-		ws_walk(333, 319, nullptr, 356, 5);
+		ws_walk(_G(my_walker), 333, 319, nullptr, 356, 5);
 		break;
 
 	case 356:
@@ -168,7 +168,7 @@ void Room409::daemon() {
 	case 368:
 		terminateMachineAndNull(_ripley);
 		ws_unhide_walker();
-		ws_walk(379, 330, nullptr, 380, 1);
+		ws_walk(_G(my_walker), 379, 330, nullptr, 380, 1);
 		break;
 
 	case 380:
@@ -187,7 +187,7 @@ void Room409::daemon() {
 		break;
 
 	case 384:
-		ws_walk(377, 332, nullptr, 385, 5);
+		ws_walk(_G(my_walker), 377, 332, nullptr, 385, 5);
 		break;
 
 	case 385:
@@ -238,7 +238,7 @@ void Room409::daemon() {
 		terminateMachineAndNull(_ripley);
 		terminateMachineAndNull(_shadow);
 		ws_unhide_walker();
-		ws_walk(379, 330, nullptr, 403, 1);
+		ws_walk(_G(my_walker), 379, 330, nullptr, 403, 1);
 		break;
 
 	case 403:
@@ -266,7 +266,7 @@ void Room409::daemon() {
 		break;
 
 	case 407:
-		ws_walk(333, 319, nullptr, 408, 5);
+		ws_walk(_G(my_walker), 333, 319, nullptr, 408, 5);
 		_volume = 255;
 		break;
 
diff --git a/engines/m4/riddle/rooms/section5/room501.cpp b/engines/m4/riddle/rooms/section5/room501.cpp
index 25713830a7f..300ff187313 100644
--- a/engines/m4/riddle/rooms/section5/room501.cpp
+++ b/engines/m4/riddle/rooms/section5/room501.cpp
@@ -77,7 +77,7 @@ void Room501::init() {
 		}
 
 		ws_demand_location(_G(my_walker), 588, 267, 9);
-		ws_walk(287, 268, nullptr, 522, 9);
+		ws_walk(_G(my_walker), 287, 268, nullptr, 522, 9);
 		_val5 = 0;
 		_trigger1 = -1;
 		_trigger4 = -1;
@@ -1226,12 +1226,12 @@ void Room501::parser() {
 		switch (_G(kernel).trigger) {
 		case -1:
 		case 666:
-			ws_walk(595, 267, nullptr, 2, 3);
+			ws_walk(_G(my_walker), 595, 267, nullptr, 2, 3);
 			break;
 		case 2:
 			player_set_commands_allowed(false);
 			digi_play("501R40", 1);
-			ws_walk(287, 268, nullptr, 3, 9);
+			ws_walk(_G(my_walker), 287, 268, nullptr, 3, 9);
 			break;
 		case 3:
 			player_set_commands_allowed(true);
@@ -1242,7 +1242,7 @@ void Room501::parser() {
 	} else if (player_said("WALK THROUGH") && player_been_here(504)) {
 		switch (_G(kernel).trigger) {
 		case -1:
-			ws_walk(595, 267, nullptr, 2, 3);
+			ws_walk(_G(my_walker), 595, 267, nullptr, 2, 3);
 			break;
 		case 2:
 			player_set_commands_allowed(false);
diff --git a/engines/m4/riddle/rooms/section5/room504.cpp b/engines/m4/riddle/rooms/section5/room504.cpp
index ec156010116..2e167fee7d1 100644
--- a/engines/m4/riddle/rooms/section5/room504.cpp
+++ b/engines/m4/riddle/rooms/section5/room504.cpp
@@ -85,13 +85,13 @@ void Room504::init() {
 		if (player_been_here(504)) {
 			inv_give_to_player("ROPE");
 			_G(flags)[V154] = 3;
-			ws_walk(183, 207, nullptr, 762, 3);
+			ws_walk(_G(my_walker), 183, 207, nullptr, 762, 3);
 		} else {
 			_G(flags)[V152] = 6;
 			_G(flags)[V153] = 6;
 			_G(flags)[V154] = 2;
 			_G(flags)[V171] = 3;
-			ws_walk(183, 207, nullptr, 655, 3);
+			ws_walk(_G(my_walker), 183, 207, nullptr, 655, 3);
 		}
 
 		_isOnRight = false;
@@ -1002,7 +1002,7 @@ void Room504::daemon() {
 
 	case 566:
 		player_update_info();
-		ws_walk(_G(player_info).x + 10, _G(player_info).y, nullptr, 567, 3);
+		ws_walk(_G(my_walker), _G(player_info).x + 10, _G(player_info).y, nullptr, 567, 3);
 		break;
 
 	case 567:
@@ -2036,7 +2036,7 @@ void Room504::daemon() {
 		break;
 
 	case 708:
-		ws_walk(173, 198, nullptr, 709, 11);
+		ws_walk(_G(my_walker), 173, 198, nullptr, 709, 11);
 		break;
 
 	case 709:
@@ -2059,7 +2059,7 @@ void Room504::daemon() {
 
 	case 711:
 		series_unload(_ripLowReach);
-		ws_walk(200, 153, nullptr, _flag2 ? 570 : 714, 3);
+		ws_walk(_G(my_walker), 200, 153, nullptr, _flag2 ? 570 : 714, 3);
 		break;
 
 	case 714:
@@ -2118,7 +2118,7 @@ void Room504::daemon() {
 		break;
 
 	case 726:
-		ws_walk(530, 161, nullptr, 727, 11);
+		ws_walk(_G(my_walker), 530, 161, nullptr, 727, 11);
 		break;
 
 	case 727:
@@ -2162,7 +2162,7 @@ void Room504::daemon() {
 		if (inv_player_has("SHOVEL")) {
 			kernel_timing_trigger(1, 756);
 		} else {
-			ws_walk(528, 168, nullptr, _flag2 ? 558 : 734, 8);
+			ws_walk(_G(my_walker), 528, 168, nullptr, _flag2 ? 558 : 734, 8);
 		}
 		break;
 
@@ -2221,12 +2221,12 @@ void Room504::daemon() {
 
 	case 746:
 		player_set_commands_allowed(false);
-		ws_walk(50, 226, nullptr, 747, 9);
+		ws_walk(_G(my_walker), 50, 226, nullptr, 747, 9);
 		break;
 
 	case 747:
 		disable_player_commands_and_fade_init(748);
-		ws_walk(0, 226, nullptr, -1, 9);
+		ws_walk(_G(my_walker), 0, 226, nullptr, -1, 9);
 		break;
 
 	case 748:
@@ -2236,11 +2236,11 @@ void Room504::daemon() {
 
 	case 749:
 		player_set_commands_allowed(false);
-		ws_walk(50, 226, nullptr, 750, 9);
+		ws_walk(_G(my_walker), 50, 226, nullptr, 750, 9);
 		break;
 
 	case 750:
-		ws_walk(183, 207, nullptr, 751, 3);
+		ws_walk(_G(my_walker), 183, 207, nullptr, 751, 3);
 		break;
 
 	case 751:
@@ -2259,7 +2259,7 @@ void Room504::daemon() {
 
 	case 756:
 		player_set_commands_allowed(false);
-		ws_walk(546, 143, nullptr, 757, 11);
+		ws_walk(_G(my_walker), 546, 143, nullptr, 757, 11);
 		break;
 
 	case 757:
@@ -2277,7 +2277,7 @@ void Room504::daemon() {
 
 	case 759:
 		series_unload(_ripLowReach);
-		ws_walk(528, 168, nullptr, _flag2 ? 558 : 734, 8);
+		ws_walk(_G(my_walker), 528, 168, nullptr, _flag2 ? 558 : 734, 8);
 		break;
 
 	default:
@@ -2448,7 +2448,7 @@ void Room504::parser() {
 			case -1:
 				player_set_commands_allowed(false);
 				player_update_info();
-				ws_walk(_G(player_info).x, _G(player_info).y, nullptr, -1, 9);
+				ws_walk(_G(my_walker), _G(player_info).x, _G(player_info).y, nullptr, -1, 9);
 				disable_player_commands_and_fade_init(2);
 				break;
 			case 2:
@@ -2462,7 +2462,7 @@ void Room504::parser() {
 			switch (_G(kernel).trigger) {
 			case -1:
 				player_set_commands_allowed(false);
-				ws_walk(183, 207, nullptr, 2, 3);
+				ws_walk(_G(my_walker), 183, 207, nullptr, 2, 3);
 				break;
 			case 2:
 				digi_play("504R44", 1, 255, 3);
@@ -2506,7 +2506,7 @@ void Room504::parser() {
 			player_said_any("ROPE ", "ROPE  ", "ROPE   ") ||
 			player_said_any("GREEN VINE   ", "BROWN VINE   ")) &&
 			lookVines()) {
-		// No implementation
+		// No implementation: lookVines contains digi_play calls which return true
 	} else if (lookFlag && player_said(" ")) {
 		if (_G(flags)[V150]) {
 			digi_play("504R02", 1);
@@ -2821,7 +2821,7 @@ void Room504::parser() {
 		_vineThrowType = 3;
 		_G(flags)[V153] = 5;
 		_G(kernel).trigger_mode = KT_DAEMON;
-		ws_walk(485, 166, nullptr, 675, 11);
+		ws_walk(_G(my_walker), 485, 166, nullptr, 675, 11);
 	} else if (useFlag && player_said("VINES ") &&
 			_G(flags)[V171] == 2 && _isOnRight) {
 		player_set_commands_allowed(false);


Commit: 0f0448a0ee5d6bad5946359c8836939da264a832
    https://github.com/scummvm/scummvm/commit/0f0448a0ee5d6bad5946359c8836939da264a832
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2025-02-12T20:34:28+01:00

Commit Message:
M4: RIDDLE: Fix a bug in parser/edgeUrn/case 69 in room 403

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


diff --git a/engines/m4/riddle/rooms/section4/room403.cpp b/engines/m4/riddle/rooms/section4/room403.cpp
index 3039c4816aa..4a6275416f3 100644
--- a/engines/m4/riddle/rooms/section4/room403.cpp
+++ b/engines/m4/riddle/rooms/section4/room403.cpp
@@ -1417,7 +1417,7 @@ void Room403::daemon() {
 		ws_unhide_walker();
 		series_unload(_ripPutBoard);
 
-		ws_walk(620, 326, nullptr, 1);
+		ws_walk(_G(my_walker), 620, 326, nullptr, -1, 1, true);
 		kernel_timing_trigger(60, 444);
 		break;
 
@@ -2041,7 +2041,7 @@ bool Room403::edgerUrn() {
 	case 69:
 		if (inv_player_has("EDGER")) {
 			player_set_commands_allowed(false);
-			ws_walk(_G(my_walker), 1201, 321, 0, 1, 2);
+			ws_walk(_G(my_walker), 1201, 321, nullptr, 1, 2, true);
 			return true;
 		}
 		return false;
diff --git a/engines/m4/riddle/rooms/section4/room404.cpp b/engines/m4/riddle/rooms/section4/room404.cpp
index 01a0f0ae62c..9175a0c0f3f 100644
--- a/engines/m4/riddle/rooms/section4/room404.cpp
+++ b/engines/m4/riddle/rooms/section4/room404.cpp
@@ -97,8 +97,7 @@ void Room404::init() {
 			_butlerTalkLoop, 1, 1, 0);
 		ws_demand_location(_G(my_walker), 174, 268, 3);
 		ws_walk(_G(my_walker), 250, 285, nullptr,
-			inv_player_has("BILLIARD BALL") ? 70 : 60,
-			3, 1);
+			inv_player_has("BILLIARD BALL") ? 70 : 60, 3, true);
 		break;
 
 	default:




More information about the Scummvm-git-logs mailing list