[Scummvm-git-logs] scummvm master -> 07e04aeb20c773d362d9202b5a7392ce1780a770

dreammaster noreply at scummvm.org
Sun Oct 27 05:17:23 UTC 2024


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

Summary:
5f1ec8ff94 M4: RIDDLE: Add missing room 201 daemon code
cac06eae66 M4: RIDDLE: Naming of facing parameter in sendWSMessage_10000
07e04aeb20 M4: RIDDLE: Remove redundant checks if globals is initialized


Commit: 5f1ec8ff94cf317efe71b881d3583d158cd82d2f
    https://github.com/scummvm/scummvm/commit/5f1ec8ff94cf317efe71b881d3583d158cd82d2f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-10-26T19:11:46-07:00

Commit Message:
M4: RIDDLE: Add missing room 201 daemon code

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


diff --git a/engines/m4/riddle/rooms/section2/room201.cpp b/engines/m4/riddle/rooms/section2/room201.cpp
index 17c8bd1d621..1c8967c4731 100644
--- a/engines/m4/riddle/rooms/section2/room201.cpp
+++ b/engines/m4/riddle/rooms/section2/room201.cpp
@@ -28,6 +28,38 @@ namespace M4 {
 namespace Riddle {
 namespace Rooms {
 
+static const char *LOOK[][2] = {
+	{ "VASE",          "201r08" },
+	{ "POSTCARD RACK", "201r09" },
+	{ "POSTER",        "201r10" },
+	{ "WINDOW",        "201r11" },
+	{ "MAGAZINES",     "201r12" },
+	{ "AGENT",         "201r13" },
+	{ "RUG",           "201r14" },
+	{ "LAMP",          "201r37" },
+	{ "PLANT",         "201r38" },
+	{ "SOFA",          "201r39" },
+	{ "CHAIR",         "201r39" },
+	{ "PHONE",         "201r40" },
+	{ nullptr, nullptr }
+};
+
+static const char *TAKE[][2] = {
+	{ "POSTCARD RACK", "201r19" },
+	{ "MAGAZINES",     "201r20" },
+	{ "VASE",          "201r41" },
+	{ "RUG",           "201r42" },
+	{ nullptr, nullptr }
+};
+
+static const char *USE[][2] = {
+	{ "MONEY WITH AGENT", "201r43" },
+	{ "SOFA",             "201r44" },
+	{ "CHAIR",            "201r44" },
+	{ "PHONE",            "201r45" },
+	{ nullptr, nullptr }
+};
+
 Room201::Room201() : Section2Room() {
 	Common::fill(_items, _items + 12, 0);
 	Common::fill(_itemFlags, _itemFlags + 12, 0);
@@ -454,6 +486,7 @@ void Room201::daemon() {
 		_conv1 = 8;
 		_trigger10 = _trigger11 = _trigger12 = -1;
 		_flag3 = false;
+		kernel_timing_trigger(1, 511);
 		break;
 
 	case 509:
@@ -532,8 +565,20 @@ void Room201::daemon() {
 			default:
 				break;
 			}
-		} else {
+		} else if (_num3 == 9) {
+			switch (_conv1) {
+			case 8:
+				sendWSMessage_10000(1, _agent, _guyWriting, 23, 32, 510, _guyWriting, 32, 23, 1);
+				break;
+
+			case 9:
+				sendWSMessage_10000(1, _agent, _guyWriting, 22, 22, 510, _guyWriting, 22, 22, 0);
+				break;
 
+			default:
+				sendWSMessage_10000(1, _agent, _guyWriting, 22, 2, 510, _guyWriting, 1, 1, 0);
+				break;
+			}
 		}
 		break;
 
@@ -631,6 +676,20 @@ void Room201::daemon() {
 		_num2 = 1;
 		break;
 
+	case 1999:
+		ws_get_walker_info(_mei0, &_G(player_info).x, &_G(player_info).y,
+			&_G(player_info).scale, &_G(player_info).depth, &_G(player_info).facing);
+		_mei2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, _G(player_info).x, _G(player_info).y,
+			_G(player_info).scale, 0x900, 0, triggerMachineByHashCallback, "Mei Chen other states machine");
+		series_place_sprite("candleman shadow4", 0, _G(player_info).x, _G(player_info).y,
+			_G(player_info).scale, 0xf00);
+		sendWSMessage_10000(1, _mei2, _meiWalk, 1, 1, 2000, _meiWalk, 1, 1, 0);
+		sendWSMessage_60000(_mei0);
+		kernel_timing_trigger(1, 9300);
+		_val5 = _val6 = 0;
+		_trigger9 = _val8 = _val9 = -1;
+		break;
+
 	case 2000:
 		if (_val5 == 0 && _val6 == 0 && _trigger9 != -1) {
 			kernel_trigger_dispatchx(_trigger9);
@@ -1438,42 +1497,12 @@ void Room201::daemon() {
 		break;
 
 	default:
+		if (_G(kernel).trigger < 9999)
+			error("Unhandled trigger");
 		break;
 	}
 }
 
-static const char *LOOK[][2] = {
-	{ "VASE",          "201r08" },
-	{ "POSTCARD RACK", "201r09" },
-	{ "POSTER",        "201r10" },
-	{ "WINDOW",        "201r11" },
-	{ "MAGAZINES",     "201r12" },
-	{ "AGENT",         "201r13" },
-	{ "RUG",           "201r14" },
-	{ "LAMP",          "201r37" },
-	{ "PLANT",         "201r38" },
-	{ "SOFA",          "201r39" },
-	{ "CHAIR",         "201r39" },
-	{ "PHONE",         "201r40" },
-	{ nullptr, nullptr }
-};
-
-static const char *TAKE[][2] = {
-	{ "POSTCARD RACK", "201r19" },
-	{ "MAGAZINES",     "201r20" },
-	{ "VASE",          "201r41" },
-	{ "RUG",           "201r42" },
-	{ nullptr, nullptr }
-};
-
-static const char *USE[][2] = {
-	{ "MONEY WITH AGENT", "201r43" },
-	{ "SOFA",             "201r44" },
-	{ "CHAIR",            "201r44" },
-	{ "PHONE",            "201r45" },
-	{ nullptr, nullptr }
-};
-
 void Room201::parser() {
 	bool lookFlag = player_said_any("look", "look at");
 	bool takeFlag = player_said("take");


Commit: cac06eae66fb5ad2b38c7beb9415f5d973b3e9bd
    https://github.com/scummvm/scummvm/commit/cac06eae66fb5ad2b38c7beb9415f5d973b3e9bd
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-10-26T21:47:03-07:00

Commit Message:
M4: RIDDLE: Naming of facing parameter in sendWSMessage_10000

Changed paths:
    engines/m4/riddle/triggers.cpp
    engines/m4/riddle/triggers.h


diff --git a/engines/m4/riddle/triggers.cpp b/engines/m4/riddle/triggers.cpp
index 8a51d9e4b49..36e59ae8ff4 100644
--- a/engines/m4/riddle/triggers.cpp
+++ b/engines/m4/riddle/triggers.cpp
@@ -108,16 +108,16 @@ void sendWSMessage_10000(int val1, machine *mach, int series1, int val3,
 	sendWSMessage(STARTWALK << 16, 0, mach, 0, nullptr, 1);
 }
 
-void sendWSMessage_10000(machine *mach, int destX, int destY, int index, int trigger, int val4) {
-	static const byte NUMS[14] = { 0, 0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 9, 0 };
+void sendWSMessage_10000(machine *mach, int destX, int destY, int facing, int trigger, int complete_walk) {
+	static const byte FACINGS[14] = { 0, 0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 9, 0 };
 
 	_G(globals)[GLB_TEMP_1] = destX << 16;
 	_G(globals)[GLB_TEMP_2] = destY << 16;
 	_G(globals)[GLB_TEMP_3] = MulSF16((destY << 16) - _G(globals)[V002], _G(globals)[V006])
 		+ _G(globals)[V004];
-	_G(globals)[GLB_TEMP_4] = (index > 0 ? NUMS[index] : -1) << 16;
+	_G(globals)[GLB_TEMP_4] = (facing > 0 ? FACINGS[facing] : -1) << 16;
 	_G(globals)[GLB_TEMP_5] = kernel_trigger_create(trigger);
-	_G(globals)[GLB_TEMP_6] = val4 << 16;
+	_G(globals)[GLB_TEMP_6] = complete_walk << 16;
 
 	sendWSMessage(STARTWALK << 16, 0, mach, 0, nullptr, 1);
 }
diff --git a/engines/m4/riddle/triggers.h b/engines/m4/riddle/triggers.h
index b3e8bdcf70d..bb9d57dcc57 100644
--- a/engines/m4/riddle/triggers.h
+++ b/engines/m4/riddle/triggers.h
@@ -42,8 +42,8 @@ extern void setGlobals4(int series, int val2, int val3, int val4);
 
 extern void sendWSMessage_10000(int val1, machine *mach, int val2, int val3,
 	int val4, int trigger, int series2, int val6, int val7, int val8);
-extern void sendWSMessage_10000(machine *mach, int destX, int destY, int index,
-	int trigger, int val4);
+extern void sendWSMessage_10000(machine *mach, int destX, int destY, int facing,
+	int trigger, int complete_walk);
 
 machine *triggerMachineByHash_3000(int myHash, int dataHash,
 	int normalDir, int shadowDir, int param1, int param2,


Commit: 07e04aeb20c773d362d9202b5a7392ce1780a770
    https://github.com/scummvm/scummvm/commit/07e04aeb20c773d362d9202b5a7392ce1780a770
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-10-26T21:51:02-07:00

Commit Message:
M4: RIDDLE: Remove redundant checks if globals is initialized

Changed paths:
    engines/m4/adv_r/adv_walk.cpp
    engines/m4/graphics/gr_series.cpp


diff --git a/engines/m4/adv_r/adv_walk.cpp b/engines/m4/adv_r/adv_walk.cpp
index f0b77e89d88..c5d31111479 100644
--- a/engines/m4/adv_r/adv_walk.cpp
+++ b/engines/m4/adv_r/adv_walk.cpp
@@ -115,9 +115,6 @@ void ws_walk(machine *myWalker, int32 x, int32 y, GrBuff **, int16 trigger, int3
 	if (!myWalker || !myWalker->myAnim8)
 		error_show(FL, 'W:-(');
 
-	if (!_G(globals))
-		error_show(FL, 'OOM1');
-
 	// Get walker's current location
 	currX = myWalker->myAnim8->myRegs[IDX_X] >> 16;
 	currY = myWalker->myAnim8->myRegs[IDX_Y] >> 16;
@@ -266,7 +263,7 @@ void ws_demand_facing(machine *myWalker, int32 facing) {
 void ws_demand_location(machine *myWalker, int32 x, int32 y, int facing) {
 	frac16 s;
 
-	if (!myWalker || !myWalker->myAnim8 || !_G(globals)) {
+	if (!myWalker || !myWalker->myAnim8) {
 		term_message("demand locn, no walker");
 		return;
 	}
@@ -393,7 +390,7 @@ void ws_get_walker_info(machine *myWalker, int32 *x, int32 *y, int32 *s, int32 *
 	Anim8 *myAnim8;
 	const int8 facings[10] = { 1, 2, 3, 4, 5, 7, 8, 9, 10, 11 };
 
-	if (!myWalker || !myWalker->myAnim8 || !_G(globals)) {
+	if (!myWalker || !myWalker->myAnim8) {
 		error_show(FL, 'W:-(');
 		return;
 	}
diff --git a/engines/m4/graphics/gr_series.cpp b/engines/m4/graphics/gr_series.cpp
index 7ac98e7e1ab..a1d3cd5ccb1 100644
--- a/engines/m4/graphics/gr_series.cpp
+++ b/engines/m4/graphics/gr_series.cpp
@@ -29,8 +29,6 @@
 
 namespace M4 {
 
-#define CHECK_SERIES if (!_G(globals)) error_show(FL, 'SERI');
-
 void Series::play(const char *seriesName, frac16 layer, uint32 flags,
 		int16 triggerNum, int32 frameRate, int32 loopCount, int32 s,
 		int32 x, int32 y, int32 firstFrame, int32 lastFrame) {
@@ -184,8 +182,6 @@ machine *series_stream(const char *seriesName, int32 frameRate, int32 layer, int
 }
 
 bool series_stream_break_on_frame(machine *m, int32 frameNum, int32 trigger) {
-	CHECK_SERIES
-
 	// Parameter verification
 	if (!m)
 		return false;
@@ -200,8 +196,6 @@ bool series_stream_break_on_frame(machine *m, int32 frameNum, int32 trigger) {
 }
 
 void series_set_frame_rate(machine *m, int32 newFrameRate) {
-	CHECK_SERIES
-
 	if ((!m) || (!m->myAnim8) || !verifyMachineExists(m)) {
 		if (g_engine->getGameType() == GType_Burger)
 			error_show(FL, 'SSFR');
@@ -212,9 +206,7 @@ void series_set_frame_rate(machine *m, int32 newFrameRate) {
 }
 
 machine *series_show(const char *seriesName, frac16 layer, uint32 flags, int16 triggerNum,
-	int32 duration, int32 index, int32 s, int32 x, int32 y) {
-	CHECK_SERIES
-
+		int32 duration, int32 index, int32 s, int32 x, int32 y) {
 	int32 myAssetIndex;
 	RGB8 *tempPalettePtr = nullptr;
 
@@ -260,8 +252,6 @@ machine *series_show_sprite(const char *seriesName, int32 index, int32 layer) {
 machine *series_play(const char *seriesName, frac16 layer, uint32 flags, int16 triggerNum,
 		int32 frameRate, int32 loopCount, int32 s, int32 x, int32 y,
 		int32 firstFrame, int32 lastFrame) {
-	CHECK_SERIES
-
 	int32 myAssetIndex;
 	RGB8 *tempPalettePtr = nullptr;
 




More information about the Scummvm-git-logs mailing list