[Scummvm-git-logs] scummvm master -> 9e7be1127b65ae59943204a3aaa39926fa97e632

dreammaster noreply at scummvm.org
Fri Nov 15 06:43:04 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:
9e7be1127b M4: RIDDLE: Walking fixes for room 402


Commit: 9e7be1127b65ae59943204a3aaa39926fa97e632
    https://github.com/scummvm/scummvm/commit/9e7be1127b65ae59943204a3aaa39926fa97e632
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-11-14T22:42:51-08:00

Commit Message:
M4: RIDDLE: Walking fixes for room 402

Changed paths:
    engines/m4/riddle/rooms/section4/room402.cpp


diff --git a/engines/m4/riddle/rooms/section4/room402.cpp b/engines/m4/riddle/rooms/section4/room402.cpp
index 29d6896ac47..50c6b27366d 100644
--- a/engines/m4/riddle/rooms/section4/room402.cpp
+++ b/engines/m4/riddle/rooms/section4/room402.cpp
@@ -377,10 +377,11 @@ void Room402::daemon() {
 	case 55:
 		terminateMachineAndNull(_ripEnterLeave);
 		series_unload(_ripDownStairs);
+		ws_unhide_walker();
 		ws_demand_location(345, 275, 3);
 		ws_walk(375, 279, nullptr,
 			(_G(flags)[V131] == 402) ? 56 : 50,
-			1);
+			4);
 		break;
 
 	case 56:
@@ -1401,23 +1402,14 @@ void Room402::pre_parser() {
 	bool takeFlag = player_said("take");
 	bool lookFlag = player_said_any("look", "look at");
 
-	if (lookFlag && player_said(" ")) {
-		_G(player).need_to_walk = false;
-		_G(player).ready_to_walk = true;
-		_G(player).waiting_for_walk = false;
-	}
+	if (lookFlag && player_said(" "))
+		_G(player).resetWalk();
 
-	if (player_said("journal") && !takeFlag && !lookFlag && _G(kernel).trigger == -1) {
-		_G(player).need_to_walk = false;
-		_G(player).ready_to_walk = true;
-		_G(player).waiting_for_walk = false;
-	}
+	if (player_said("journal") && !takeFlag && !lookFlag && _G(kernel).trigger == -1)
+		_G(player).resetWalk();
 
-	if (player_said("DANZIG") && !player_said("ENTER", "DANZIG")) {
-		_G(player).need_to_walk = false;
-		_G(player).ready_to_walk = true;
-		_G(player).waiting_for_walk = false;
-	}
+	if (player_said("DANZIG") && !player_said("ENTER", "DANZIG"))
+		_G(player).resetWalk();
 
 	if (!_G(flags)[V112] && !player_said("WALK TO") &&
 		(!talkFlag || !player_said("WOLF")) &&
@@ -1433,32 +1425,25 @@ void Room402::pre_parser() {
 		_val12 = 2000;
 		_val13 = 2240;
 
-		_G(kernel).trigger_mode = KT_DAEMON;
 		_G(flags)[V111]++;
-		kernel_timing_trigger(1, 110);
-	} else if (_G(flags)[V116] || !player_said("WOLF") || (
-		(!player_said("US DOLLARS") || !inv_player_has("US DOLLARS")) &&
-		(!player_said("CHINESE YUAN") || !inv_player_has("CHINESE YUAN")) &&
-		(!player_said("PERUVIAN INTI") || !inv_player_has("PERUVIAN INTI")) &&
-		(!player_said("SIKKIMESE RUPEE") || !inv_player_has("SIKKIMESE RUPEE"))
-	)) {
+		kernel_timing_trigger(1, 110, KT_DAEMON, KT_PREPARSE);
+
+	} else if (!_G(flags)[V116] && player_said("WOLF") && (
+			HAS("US DOLLARS") || HAS("CHINESE YUAN") ||
+			HAS("PERUVIAN INTI") || HAS("SIKKIMESE RUPEE"))) {
+		player_set_commands_allowed(false);
+		_G(flags)[V116] = 1;
+		intr_cancel_sentence();
+		kernel_timing_trigger(1, 230, KT_DAEMON, KT_PREPARSE);
+	} else {
 		if (talkFlag && player_said("WOLF"))
 			intr_cancel_sentence();
 
 		player_set_commands_allowed(false);
 		_val12 = 2000;
 		_val13 = 2250;
-		_G(kernel).trigger_mode = KT_DAEMON;
-		kernel_timing_trigger(1, 110);
-	} else {
-		player_set_commands_allowed(false);
-		_G(flags)[V116] = 1;
-		intr_cancel_sentence();
-		_G(kernel).trigger_mode = KT_DAEMON;
-		kernel_timing_trigger(1, 230);
+		kernel_timing_trigger(1, 110, KT_DAEMON, KT_PREPARSE);
 	}
-
-	_G(kernel).trigger_mode = KT_PREPARSE;
 }
 
 void Room402::parser() {




More information about the Scummvm-git-logs mailing list