[Scummvm-git-logs] scummvm master -> 5312bb57d064c1eb2781a91cae3ae1334825f389

Strangerke noreply at scummvm.org
Mon Mar 10 22:15:30 UTC 2025


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:
5312bb57d0 M4: RIDDLE: Some cleanup in room 406, fix putting back the billiard ball


Commit: 5312bb57d064c1eb2781a91cae3ae1334825f389
    https://github.com/scummvm/scummvm/commit/5312bb57d064c1eb2781a91cae3ae1334825f389
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2025-03-10T23:14:57+01:00

Commit Message:
M4: RIDDLE: Some cleanup in room 406, fix putting back the billiard ball

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


diff --git a/engines/m4/riddle/rooms/section4/room406.cpp b/engines/m4/riddle/rooms/section4/room406.cpp
index ab0942d3e6c..e0aadad3127 100644
--- a/engines/m4/riddle/rooms/section4/room406.cpp
+++ b/engines/m4/riddle/rooms/section4/room406.cpp
@@ -302,7 +302,7 @@ void Room406::daemon() {
 		terminateMachineAndNull(_painting);
 		digi_play("406_s07", 2, 255, 311);
 		_paintingOpening = series_load("406 PAINTING OPENING");
-		_painting = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
+		_painting = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, false,
 			triggerMachineByHashCallbackAlways, "HUTCH painting opens");
 		sendWSMessage_10000(1, _painting, _paintingOpening, 30, 1, 312,
 			_paintingOpening, 1, 1, 0);
@@ -340,9 +340,9 @@ void Room406::daemon() {
 }
 
 void Room406::pre_parser() {
-	bool lookFlag = player_said_any("look", "look at");
-	bool takeFlag = player_said("take");
-	bool useFlag = player_said_any("push", "pull", "gear", "open", "close");
+	const bool lookFlag = player_said_any("look", "look at");
+	const bool takeFlag = player_said("take");
+	const bool useFlag = player_said_any("push", "pull", "gear", "open", "close");
 
 	if (useFlag && player_said_any("BILLIARD TABLE", "BILLIARD TABLE ")) {
 		_G(player).resetWalk();
@@ -388,9 +388,9 @@ void Room406::pre_parser() {
 
 #define LOOK(ITEM) (lookFlag && player_said(ITEM) && inv_object_is_here(ITEM))
 void Room406::parser() {
-	bool lookFlag = player_said_any("look", "look at");
-	bool takeFlag = player_said("take");
-	bool useFlag = player_said_any("push", "pull", "gear", "open", "close");
+	const bool lookFlag = player_said_any("look", "look at");
+	const bool takeFlag = player_said("take");
+	const bool useFlag = player_said_any("push", "pull", "gear", "open", "close");
 
 	if (takeFlag && player_said("ENVELOPE")) {
 		switch (_G(kernel).trigger) {
@@ -400,7 +400,7 @@ void Room406::parser() {
 				hotspot_set_active("ENVELOPE", false);
 				terminateMachineAndNull(_envelope);
 				kernel_examine_inventory_object("PING ENVELOPE", _G(master_palette),
-					5, 1, 398, 220, 8, 0, -1);
+					5, 1, 398, 220, 8, nullptr, -1);
 			}
 			break;
 		case 8:
@@ -486,7 +486,7 @@ void Room406::parser() {
 			_G(flags)[kCrackedMirror] = 1;
 			_lookMirror = series_load("406 RIP LOOKS MIRROR");
 			ws_hide_walker();
-			_ripAction = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x700, 0,
+			_ripAction = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x700, false,
 				triggerMachineByHashCallbackAlways, "rip looks at mirror");
 			sendWSMessage_10000(1, _ripAction, _lookMirror, 1, 17, 2,
 				_lookMirror, 17, 17, 0);
@@ -581,7 +581,7 @@ void Room406::parser() {
 			_tableRaises = series_load("808 BILLIARDS TABLE RAISES");
 			digi_play("406_s11", 2);
 			terminateMachineAndNull(_billiardTable);
-			_billiardTable = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x200, 0,
+			_billiardTable = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x200, false,
 				triggerMachineByHashCallbackAlways, "Table raises");
 			sendWSMessage_10000(1, _billiardTable, _tableRaises, 1, 24, 6,
 				_tableRaises, 24, 24, 0);
@@ -791,7 +791,7 @@ void Room406::parser() {
 			terminateMachineAndNull(_desk);
 			_deskOpening = series_load("406 DESK OPENING");
 			digi_play("406_s05", 2, 255, -1, 406);
-			_desk = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x500, 0,
+			_desk = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x500, false,
 				triggerMachineByHashCallbackAlways, "writing desk opens");
 			sendWSMessage_10000(1, _desk, _deskOpening, 1, 15, 2,
 				_deskOpening, 15, 15, 0);
@@ -828,7 +828,7 @@ void Room406::parser() {
 			terminateMachineAndNull(_desk);
 			_deskOpening = series_load("406 DESK OPENING");
 			digi_play("406_s05", 2, 255, -1, 406);
-			_desk = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x500, 0,
+			_desk = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x500, false,
 				triggerMachineByHashCallbackAlways, "writing desk opens");
 			sendWSMessage_10000(1, _desk, _deskOpening, 15, 1, 2,
 				_deskOpening, 1, 1, 0);
@@ -866,7 +866,7 @@ void Room406::parser() {
 				terminateMachineAndNull(_gamesCabinet);
 				_cabinetOpens = series_load("406 GAMES CABINET OPENS");
 				digi_play("950_s36", 2, 255, -1, 950);
-				_gamesCabinet = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, 0,
+				_gamesCabinet = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, false,
 					triggerMachineByHashCallbackAlways, "game cabinet opens");
 				sendWSMessage_10000(1, _gamesCabinet, _cabinetOpens, 1, 10, 2,
 					_cabinetOpens, 10, 10, 0);
@@ -909,7 +909,7 @@ void Room406::parser() {
 			terminateMachineAndNull(_gamesCabinet);
 			_cabinetOpens = series_load("406 GAMES CABINET OPENS");
 			digi_play("950_s36", 2, 255, -1, 950);
-			_gamesCabinet = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, 0,
+			_gamesCabinet = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, false,
 				triggerMachineByHashCallbackAlways, "game cabinet opens");
 			sendWSMessage_10000(1, _gamesCabinet, _cabinetOpens, 10, 1, 2,
 				_cabinetOpens, 1, 1, 0);
@@ -953,7 +953,7 @@ void Room406::parser() {
 			terminateMachineAndNull(_gamesCabinet);
 			_cabinetOpens = series_load("406 GAMES CABINET OPENS");
 			digi_play("950_s36", 2, 255, -1, 950);
-			_gamesCabinet = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, 0,
+			_gamesCabinet = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, false,
 				triggerMachineByHashCallbackAlways, "game cabinet opens");
 			sendWSMessage_10000(1, _gamesCabinet, _cabinetOpens, 10, 1, 2,
 				_cabinetOpens, 1, 1, 0);
@@ -1149,7 +1149,7 @@ bool Room406::takeBilliardBall() {
 		inv_give_to_player("BILLIARD BALL");
 		hotspot_set_active("BILLIARD BALL", false);
 		kernel_examine_inventory_object("PING BILLIARD BALL", _G(master_palette),
-			5, 1, 125, 240, 3, 0, -1);
+			5, 1, 125, 240, 3, nullptr, -1);
 		return true;
 
 	case 3:
@@ -1181,7 +1181,7 @@ bool Room406::billiardBallOnTable() {
 			player_set_commands_allowed(false);
 			_pickupBall = series_load("406 RIP PICKUP BALL");
 			ws_hide_walker();
-			_ripAction = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
+			_ripAction = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, false,
 				triggerMachineByHashCallbackAlways, "RIP picks up ball");
 			sendWSMessage_10000(1, _ripAction, _pickupBall, 1, 14, 2,
 				_pickupBall, 14, 14, 0);
@@ -1189,6 +1189,24 @@ bool Room406::billiardBallOnTable() {
 		}
 		break;
 
+	case 2:
+		_poolBall = series_place_sprite("BILLIARD BALL", 0, 0, 0, 100, 512);
+		inv_move_object("BILLIARD BALL", 406);
+		hotspot_set_active(_G(currentSceneDef).hotspots, "BILLIARD BALL", true);		
+		sendWSMessage_10000(1, _ripAction, _pickupBall, 14, 1, 4, _pickupBall, 1, 1, 0);
+		return true;
+		
+	case 4:
+		terminateMachine(_ripAction);
+		ws_unhide_walker(_G(my_walker));
+		series_unload(_pickupBall);
+		player_set_commands_allowed(true);
+		return true;
+		
+	case 69:
+		ws_walk(_G(my_walker), 180, 348, nullptr, 1, 4, true);
+		return true;
+		
 	default:
 		break;
 	}
@@ -1211,7 +1229,7 @@ void Room406::useSwitchPaintingOpen() {
 		terminateMachineAndNull(_painting);
 		_paintingOpening = series_load("406 PAINTING OPENING");
 		digi_play("406_s07", 2, 255, 69);
-		_painting = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
+		_painting = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, false,
 			triggerMachineByHashCallbackAlways, "HUTCH painting opens");
 		sendWSMessage_10000(1, _painting, _paintingOpening, 30, 1, 2,
 			_paintingOpening, 1, 1, 0);
@@ -1259,7 +1277,7 @@ void Room406::useSwitchPaintingClosed() {
 		terminateMachineAndNull(_painting);
 		_paintingOpening = series_load("406 PAINTING OPENING");
 		digi_play("406_s07", 2, 255, 69);
-		_painting = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
+		_painting = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, false,
 			triggerMachineByHashCallbackAlways, "HUTCH painting opens");
 		sendWSMessage_10000(1, _painting, _paintingOpening, 1, 30, 2,
 			_paintingOpening, 30, 30, 0);
@@ -1365,7 +1383,7 @@ bool Room406::lookBilliardBall() {
 			digi_preload("406_s12");
 			terminateMachineAndNull(_poolBall);
 			ws_hide_walker();
-			_poolBall = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
+			_poolBall = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, false,
 				triggerMachineByHashCallbackAlways, "RIP throws ball");
 			sendWSMessage_10000(1, _poolBall, _ripThrowsBall, 1, 31, 2,
 				_ripThrowsBall, 31, 31, 0);




More information about the Scummvm-git-logs mailing list