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

dreammaster noreply at scummvm.org
Sun Feb 9 04:04:32 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:
b8a1353583 M4: RIDDLE: Fix getting charcoal
d42bc49568 M4: RIDDLE: Fix looking at pottery


Commit: b8a135358330944b528611a4d3de6f9f29aa7c19
    https://github.com/scummvm/scummvm/commit/b8a135358330944b528611a4d3de6f9f29aa7c19
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2025-02-08T19:58:06-08:00

Commit Message:
M4: RIDDLE: Fix getting charcoal

Changed paths:
    engines/m4/riddle/rooms/section2/room205.cpp


diff --git a/engines/m4/riddle/rooms/section2/room205.cpp b/engines/m4/riddle/rooms/section2/room205.cpp
index 17490fd6a27..e1bf4250489 100644
--- a/engines/m4/riddle/rooms/section2/room205.cpp
+++ b/engines/m4/riddle/rooms/section2/room205.cpp
@@ -537,7 +537,7 @@ void Room205::parser() {
 				break;
 
 			case 3:
-				kernel_examine_inventory_object("PING CHARCOAL", nullptr, 5, 1, 144, 271, 4, nullptr, -1);
+				kernel_examine_inventory_object("PING CHARCOAL", 5, 1, 144, 271, 4, nullptr, -1);
 				break;
 
 			case 4:


Commit: d42bc49568f6c0ace541d53985232507a45facde
    https://github.com/scummvm/scummvm/commit/d42bc49568f6c0ace541d53985232507a45facde
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2025-02-08T20:04:21-08:00

Commit Message:
M4: RIDDLE: Fix looking at pottery

Changed paths:
    engines/m4/platform/sound/digi.cpp
    engines/m4/riddle/flags.h
    engines/m4/riddle/rooms/section8/room801.cpp
    engines/m4/riddle/rooms/section8/room802.cpp


diff --git a/engines/m4/platform/sound/digi.cpp b/engines/m4/platform/sound/digi.cpp
index 38be5b66f31..673ac994286 100644
--- a/engines/m4/platform/sound/digi.cpp
+++ b/engines/m4/platform/sound/digi.cpp
@@ -241,6 +241,7 @@ void digi_unload(const Common::String &name) {
 }
 
 int32 digi_play(const char *name, uint channel, int32 vol, int32 trigger, int32 room_num) {
+	warning("digi_play: %s", name);
 	return _G(digi).play(name, channel, vol, trigger, room_num);
 }
 
diff --git a/engines/m4/riddle/flags.h b/engines/m4/riddle/flags.h
index 4290e32dee5..71c91030903 100644
--- a/engines/m4/riddle/flags.h
+++ b/engines/m4/riddle/flags.h
@@ -286,7 +286,7 @@ enum Flag {
 	V249 = 249,
 	V250 = 250,
 	V251 = 251,
-	V252 = 252,
+	kTerracottaSoldiers = 252,
 	V253 = 253,
 	V254 = 254,
 	V255 = 255,
diff --git a/engines/m4/riddle/rooms/section8/room801.cpp b/engines/m4/riddle/rooms/section8/room801.cpp
index ebf7d753204..384affb1224 100644
--- a/engines/m4/riddle/rooms/section8/room801.cpp
+++ b/engines/m4/riddle/rooms/section8/room801.cpp
@@ -86,7 +86,7 @@ void Room801::init() {
 	if (_G(game).previous_room == 850) {
 		_G(flags)[V250] = 0;
 		_G(flags)[V251] = 0;
-		_G(flags)[V252] = 0;
+		_G(flags)[kTerracottaSoldiers] = 0;
 		_G(flags)[V273] = 0;
 		_cellarDoorOpened = 0;
 
@@ -274,38 +274,56 @@ void Room801::parser() {
 	else if (lookFl && player_said("pottery")) {
 		switch (_G(kernel).trigger) {
 		case -1:
+			if (_G(flags)[kTerracottaSoldiers]) {
+				digi_play("801r22", 1);
+			} else {
+				player_set_commands_allowed(false);
+				ws_hide_walker();
+				_ripAnimationMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x100,
+					false, triggerMachineByHashCallback, "rip kneel to pottery");
+				sendWSMessage_10000(1, _ripAnimationMach, _ripKneelPotterySeries, 1, 3, 1,
+					_ripKneelPotterySeries, 3, 3, 0);
+				digi_play("801r19", 1, 255, 1);
+			}
 			break;
 		case 1:
 			if (_counter == 0)
 				++_counter;
 			else
-				sendWSMessage_10000(1, _ripAnimationMach, _ripEntersRootCellarSeries, 3, 42, 2, _ripEntersRootCellarSeries, 42, 42, 0);
+				sendWSMessage_10000(1, _ripAnimationMach, _ripKneelPotterySeries, 3, 42, 2,
+					_ripKneelPotterySeries, 42, 42, 0);
 			break;
 		case 2:
+			_counter = 0;
 			digi_play("801r20", 1, 255, 3, -1);
-			sendWSMessage_10000(1, _mcTrekMach, _meiPrattleLoopSeries, 31, 40, 3, _meiPrattleLoopSeries, 40, 40, 0);
+			sendWSMessage_10000(1, _mcTrekMach, _meiPrattleLoopSeries, 31, 40, 3,
+				_meiPrattleLoopSeries, 40, 40, 0);
 			break;
 		case 3:
 			if (_counter == 0)
 				++_counter;
 			else {
 				_counter = 0;
-				sendWSMessage_10000(1, _ripAnimationMach, _ripEntersRootCellarSeries, 42, 26, 4, _ripEntersRootCellarSeries, 26, 26, 0);
-				sendWSMessage_10000(1, _mcTrekMach, _meiPrattleLoopSeries, 37, 40, 4, _meiPrattleLoopSeries, 37, 40, 1);
+				sendWSMessage_10000(1, _ripAnimationMach, _ripKneelPotterySeries, 42, 26, 4,
+					_ripKneelPotterySeries, 26, 26, 0);
+				sendWSMessage_10000(1, _mcTrekMach, _meiPrattleLoopSeries, 37, 40, 4,
+					_meiPrattleLoopSeries, 37, 40, 1);
 				digi_play("801m10", 1, 255, 4, -1);
 			}
 			break;
 		case 4:
-			if (_counter == 2)
+			if (_counter < 2)
 				++_counter;
 			else {
 				_counter = 0;
-				sendWSMessage_10000(1, _mcTrekMach, _meiPrattleLoopSeries, 40, 40, 5, _meiPrattleLoopSeries, 40, 40, 0);
-				sendWSMessage_10000(1, _ripAnimationMach, _ripKneelPotterySeries, 26, 42, 5, _ripKneelPotterySeries, 42, 42, 0);
+				sendWSMessage_10000(1, _mcTrekMach, _meiPrattleLoopSeries, 40, 40, 5,
+					_meiPrattleLoopSeries, 40, 40, 0);
+				sendWSMessage_10000(1, _ripAnimationMach, _ripKneelPotterySeries, 26, 42, 5,
+					_ripKneelPotterySeries, 42, 42, 0);
 			}
 			break;
 		case 5:
-			if (_counter == 1)
+			if (_counter < 1)
 				++_counter;
 			else {
 				_counter = 0;
@@ -313,11 +331,14 @@ void Room801::parser() {
 			}
 			break;
 		case 6:
-			sendWSMessage_10000(1, _ripAnimationMach, _ripKneelPotterySeries, 42, 26, 7, _ripKneelPotterySeries, 26, 26, 0);
+			sendWSMessage_10000(1, _ripAnimationMach, _ripKneelPotterySeries, 42, 26, 7,
+				_ripKneelPotterySeries, 26, 26, 0);
 			break;
 		case 7:
-			sendWSMessage_10000(1, _ripAnimationMach, _ripKneelPotterySeries, 26, 1, 8, _ripKneelPotterySeries, 1, 1, 0);
-			sendWSMessage_10000(1, _mcTrekMach, _meiPrattleLoopSeries, 37, 40, 9, _meiPrattleLoopSeries, 37, 40, 1);
+			sendWSMessage_10000(1, _ripAnimationMach, _ripKneelPotterySeries, 26, 1, 8,
+				_ripKneelPotterySeries, 1, 1, 0);
+			sendWSMessage_10000(1, _mcTrekMach, _meiPrattleLoopSeries, 37, 40, 9,
+				_meiPrattleLoopSeries, 37, 40, 1);
 			digi_play("801m11", 1, 255, 9, -1);
 			break;
 		case 8:
@@ -330,11 +351,12 @@ void Room801::parser() {
 				++_counter;
 			else {
 				_counter = 0;
-				sendWSMessage_10000(1, _mcTrekMach, _meiPrattleLoopSeries, 40, 31, 10, _meiPrattleLoopSeries, 31, 31, 0);
+				sendWSMessage_10000(1, _mcTrekMach, _meiPrattleLoopSeries, 40, 31, 10,
+					_meiPrattleLoopSeries, 31, 31, 0);
 			}
 			break;
 		case 10:
-			_G(flags)[V252] = 1;
+			_G(flags)[kTerracottaSoldiers] = 1;
 			player_set_commands_allowed(true);
 			break;
 		default:
@@ -518,7 +540,7 @@ void Room801::parser() {
 	}
 
 	else if (talkFl && player_said("farmer")) {
-		if (_G(flags)[V252] || _G(flags)[V253] || _G(flags)[V255]) {
+		if (_G(flags)[kTerracottaSoldiers] || _G(flags)[V253] || _G(flags)[V255]) {
 			ws_hide_walker(_G(my_walker));
 			player_set_commands_allowed(false);
 			_ripAnimationMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 167, 303, 49, 1280, true, triggerMachineByHashCallback, "rip talking to farmer");
@@ -539,7 +561,7 @@ void Room801::parser() {
 			_G(kernel).trigger_mode = KT_PARSE;
 			conv_load("conv801a", 10, 10, 747);
 			conv_set_shading(65);
-			conv_export_value(conv_get_handle(), _G(flags)[V252], 0);
+			conv_export_value(conv_get_handle(), _G(flags)[kTerracottaSoldiers], 0);
 			conv_export_value(conv_get_handle(), _G(flags)[V255], 1);
 			conv_export_value(conv_get_handle(), _G(flags)[V253], 2);
 
diff --git a/engines/m4/riddle/rooms/section8/room802.cpp b/engines/m4/riddle/rooms/section8/room802.cpp
index b957e8a6387..9b146a85244 100644
--- a/engines/m4/riddle/rooms/section8/room802.cpp
+++ b/engines/m4/riddle/rooms/section8/room802.cpp
@@ -180,7 +180,7 @@ void Room802::parser() {
 	}
 
 	else if (lookFl && player_said("wall") && _G(flags)[V255] == 0) {
-		if (_G(flags)[V252]) {
+		if (_G(flags)[kTerracottaSoldiers]) {
 			_G(kernel).trigger_mode = KT_DAEMON;
 			kernel_trigger_dispatchx(kernel_trigger_create(14));
 			_G(kernel).trigger_mode = KT_PARSE;
@@ -238,7 +238,7 @@ void Room802::parser() {
 				digi_play("802r09", 1, 255, 2, -1);
 			} else if (_G(flags)[V254]){
 				digi_play("802r15", 1, 255, 2, -1);
-			} else if (_G(flags)[V252]) {
+			} else if (_G(flags)[kTerracottaSoldiers]) {
 				digi_play("802r02", 1, 255, 2, -1);
 			} else {
 				digi_play("802r03", 1, 255, 2, -1);




More information about the Scummvm-git-logs mailing list