[Scummvm-git-logs] scummvm master -> 035e8a9ec16c92b9b880499ddc3bad070e983238

dreammaster noreply at scummvm.org
Tue Feb 4 06:31:11 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:
4a8bcf293b M4: RIDDLE: Work around blank vocab hotspot in room 510
035e8a9ec1 M4: RIDDLE: Cleanup and fixes for pushing altar post


Commit: 4a8bcf293bae12557dec306af3a54e8b3f00ff95
    https://github.com/scummvm/scummvm/commit/4a8bcf293bae12557dec306af3a54e8b3f00ff95
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2025-02-03T22:31:01-08:00

Commit Message:
M4: RIDDLE: Work around blank vocab hotspot in room 510

Changed paths:
    engines/m4/riddle/gui/interface.cpp


diff --git a/engines/m4/riddle/gui/interface.cpp b/engines/m4/riddle/gui/interface.cpp
index c071d43a5bb..d89dbaf2be0 100644
--- a/engines/m4/riddle/gui/interface.cpp
+++ b/engines/m4/riddle/gui/interface.cpp
@@ -296,12 +296,14 @@ ControlStatus Interface::trackHotspots(int event, int x, int y) {
 			Common::strlcpy(_verbText, hotspot->verb, 40);
 		}
 
-		Common::String tmp = (g_engine->getLanguage() == Common::EN_ANY) ?
-			hotspot->vocab : hotspot->prep;
+		Common::String vocab(hotspot->vocab ? hotspot->vocab : "");
+		Common::String prep(hotspot->prep ? hotspot->prep : "");
+
+		Common::String tmp = (g_engine->getLanguage() == Common::EN_ANY) ? vocab : prep;
 		tmp.toUppercase();
 		_textField->set_string(tmp.c_str());
 
-		tmp = hotspot->vocab;
+		tmp = vocab;
 		tmp.toUppercase();
 		Common::strlcpy(_nounText, tmp.c_str(), 40);
 


Commit: 035e8a9ec16c92b9b880499ddc3bad070e983238
    https://github.com/scummvm/scummvm/commit/035e8a9ec16c92b9b880499ddc3bad070e983238
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2025-02-03T22:31:01-08:00

Commit Message:
M4: RIDDLE: Cleanup and fixes for pushing altar post

Changed paths:
    engines/m4/riddle/rooms/section5/room510.cpp
    engines/m4/riddle/rooms/section5/room510.h


diff --git a/engines/m4/riddle/rooms/section5/room510.cpp b/engines/m4/riddle/rooms/section5/room510.cpp
index cee43fbac62..802de53a757 100644
--- a/engines/m4/riddle/rooms/section5/room510.cpp
+++ b/engines/m4/riddle/rooms/section5/room510.cpp
@@ -372,7 +372,7 @@ void Room510::parser() {
 			break;
 		}
 	} else if (takeFlag && player_said_any("VINES ", "ROPE ", "GREEN VINE ", "BROWN VINE ")) {
-		if (!parserSub())
+		if (!useAltarPost())
 			return;
 	} else if (takeFlag && _G(flags)[V170] != 1 &&
 		player_said_any("VINES", "ROPE", "GREEN VINE", "BROWN VINE") && takeVinesRope()) {
@@ -492,16 +492,22 @@ void Room510::parser() {
 	} else if (useFlag && player_said_any("ALTAR POST", "ALTAR POST ")) {
 		switch (_G(kernel).trigger) {
 		case -1:
+		case 1:
+		case 2:
+		case 3:
 		case 4:
 		case 7:
+		case 8:
+		case 9:
+		case 10:
 		case 11:
 		case 666:
-			if (!parserSub())
+			if (!useAltarPost())
 				return;
 			break;
 
 		default:
-			return;
+			break;
 		}
 	} else if (player_said("WOODEN LADDER", "ALTAR") && inv_player_has("WOODEN LADDER")) {
 		if (_G(flags)[V169])
@@ -814,30 +820,29 @@ void Room510::parser() {
 	_G(player).command_ready = false;
 }
 
-bool Room510::parserSub() {
+bool Room510::useAltarPost() {
 	switch (_G(kernel.trigger)) {
 	case -1:
-		ws_walk(382, 111, nullptr, 666, 11, true);
+		ws_walk(382, 111, nullptr, 666, 11);
 		break;
 
 	case 1:
-		ws_unhide_walker(_G(my_walker));
-		terminateMachine(_statue);
-		_statue = nullptr;
+		ws_unhide_walker();
+		terminateMachineAndNull(_statue);
+
 		if (_G(flags[V169]) <= 0) {
-			_statue = series_play(" 510 STATUE LAYED DOWN", 2560, 16, -1, 5, 0, 100, 0, 0, 0, -1);
+			_statue = series_play(" 510 STATUE LAYED DOWN", 0xa00, 16, -1, 5, 0, 100, 0, 0, 0, -1);
 			kernel_timing_trigger(1, 2, nullptr);
 			hotspot_set_active("ALTAR POST", false);
 			hotspot_set_active("ALTAR POST ", true);
 			kernel_load_variant("510lock1");
 		} else if (_G(flags[V169]) <= 2) {
-			_statue = series_play(" 510 STATUE", 2560, 16, -1, 5, 0, 100, 0, 0, 0, -1);
-			kernel_timing_trigger(1, 2, nullptr);
+			_statue = series_play(" 510 STATUE", 0xa00, 16, -1, 5, 0, 100, 0, 0, 0, -1);
+			kernel_timing_trigger(1, 2);
 			hotspot_set_active("ALTAR POST", true);
 			hotspot_set_active("ALTAR POST ", false);
 			kernel_load_variant("510lock0");
 		}
-
 		break;
 
 	case 2:
@@ -848,21 +853,20 @@ bool Room510::parserSub() {
 			break;
 
 		case 1:
-			kernel_timing_trigger(1, 4, nullptr);
+			kernel_timing_trigger(1, 4);
 			break;
 
 		case 2:
-			kernel_timing_trigger(1, 8, nullptr);
+			kernel_timing_trigger(1, 8);
 			break;
 
 		default:
 			break;
 		}
-
 		break;
 
 	case 3:
-		digi_play("510_s02", 2, 255, -1, -1);
+		digi_play("510_s02", 2);
 		break;
 
 	case 4:
@@ -878,76 +882,69 @@ bool Room510::parserSub() {
 			break;
 
 		case 2:
-			terminateMachine(_rope);
-			_rope = nullptr;
+			terminateMachineAndNull(_rope);
+
 			if (inv_object_is_here("ROPE")) {
 				inv_give_to_player("ROPE");
-				hotspot_set_active(_G(currentSceneDef).hotspots, "ROPE ", false);
+				hotspot_set_active("ROPE ", false);
 			}
 
 			if (inv_object_is_here("GREEN VINE")) {
 				inv_give_to_player("GREEN VINE");
-				hotspot_set_active(_G(currentSceneDef).hotspots, "GREEN VINE ", false);
+				hotspot_set_active("GREEN VINE ", false);
 			}
 
 			if (inv_object_is_here("BROWN VINE")) {
 				inv_give_to_player("BROWN VINE");
-				hotspot_set_active(_G(currentSceneDef).hotspots, "BROWN VINE ", false);
+				hotspot_set_active("BROWN VINE ", false);
 			}
 
 			if (inv_object_is_here("VINES")) {
 				inv_give_to_player("VINES");
-				hotspot_set_active(_G(currentSceneDef).hotspots, "VINES ", false);
+				hotspot_set_active("VINES ", false);
 			}
 
-			sendWSMessage_140000(_G(my_walker), 11);
-
+			sendWSMessage_140000(11);
 			break;
 
 		default:
 			break;
 		}
-
 		break;
 
 	case 7:
 		return false;
 
 	case 8:
-		_ripLowReach4 = series_load("RIP TREK LOW REACHER POS1", -1, nullptr);
-		kernel_timing_trigger(1, 9, nullptr);
-
+		_ripLowReach4 = series_load("RIP TREK LOW REACHER POS1");
+		kernel_timing_trigger(1, 9);
 		break;
 
 	case 9:
-		setGlobals1(_ripLowReach4, 1, 28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-		sendWSMessage_110000(_G(my_walker), 10);
-
+		setGlobals1(_ripLowReach4, 1, 28, 28, 28);
+		sendWSMessage_110000(10);
 		break;
 
 	case 10:
-		terminateMachine(_rope);
-		_rope = nullptr;
+		terminateMachineAndNull(_rope);
 
 		if (inv_object_is_here("ROPE")) {
-			_rope = series_play("510 STATUE AND ROPE", 3840, 18, 4, 5, 0, 100, 0, 0, 0);
+			_rope = series_play("510 STATUE AND ROPE", 0xf00, 18, 4, 5);
 		}
 
 		if (inv_object_is_here("GREEN VINE") || inv_object_is_here("BROWN VINE")) {
-			_rope = series_play("510 STATUE AND ANY VINE", 3840, 18, 4, 5, 0, 100, 0, 0, 0);
+			_rope = series_play("510 STATUE AND ANY VINE", 0xf00, 18, 4, 5);
 		}
 
 		if (inv_object_is_here("VINES")) {
-			_rope = series_play("510 STATUE AND COMBO VINES", 3840, 18, 4, 5, 0, 100, 0, 0, 0);
+			_rope = series_play("510 STATUE AND COMBO VINES", 0xf00, 18, 4, 5);
 		}
-
 		break;
 
 	case 11:
 		series_unload(_ripLowReach4);
 		_G(flags[V169]) = 0;
 		player_set_commands_allowed(true);
-
 		break;
 
 	case 666:
@@ -966,14 +963,16 @@ bool Room510::parserSub() {
 		}
 
 		player_set_commands_allowed(false);
-		kernel_timing_trigger(130, 3, nullptr);
-		ws_hide_walker(_G(my_walker));
-
-		if (_G(flags[V169]) <= 0)
-			_statue = series_play("510 RIP LOWERS STATUE", 2560, 16, 1, 5, 0, 100, 0, 0, 0, -1);
-		else if (_G(flags[V169]) == 1)
-			_statue = series_play("510 RIP LOWERS STATUE", 2560, 18, 1, 5, 0, 100, 0, 0, 0, -1);
+		kernel_timing_trigger(130, 3);
+		ws_hide_walker();
 
+		if (_G(flags[V169]) <= 0) {
+			terminateMachineAndNull(_statue);
+			_statue = series_play("510 RIP LOWERS STATUE", 0xa00, 16, 1, 5);
+		} else if (_G(flags[V169]) == 1) {
+			terminateMachineAndNull(_statue);
+			_statue = series_play("510 RIP LOWERS STATUE", 0xa00, 18, 1, 5);
+		}
 		break;
 
 	default:
diff --git a/engines/m4/riddle/rooms/section5/room510.h b/engines/m4/riddle/rooms/section5/room510.h
index 19a324edd2f..427bd6f9a2c 100644
--- a/engines/m4/riddle/rooms/section5/room510.h
+++ b/engines/m4/riddle/rooms/section5/room510.h
@@ -48,7 +48,7 @@ private:
 	machine *_pu03 = nullptr;
 	bool _flag1 = false;
 
-	bool parserSub();
+	bool useAltarPost();
 	bool takeVinesRope();
 	void useVines();
 	void woodenLadder();




More information about the Scummvm-git-logs mailing list