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

Strangerke noreply at scummvm.org
Thu Nov 14 08:57:11 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:
b236f7b0c5 M4: RIDDLE: Room 204: Partial implementation of Daemon (2 sub-functions)


Commit: b236f7b0c5093a77824f0eb70b77d7bd1251296e
    https://github.com/scummvm/scummvm/commit/b236f7b0c5093a77824f0eb70b77d7bd1251296e
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-11-14T09:56:54+01:00

Commit Message:
M4: RIDDLE: Room 204: Partial implementation of Daemon (2 sub-functions)

Changed paths:
    engines/m4/riddle/rooms/section2/room204.cpp
    engines/m4/riddle/rooms/section2/room204.h


diff --git a/engines/m4/riddle/rooms/section2/room204.cpp b/engines/m4/riddle/rooms/section2/room204.cpp
index cb986e8e038..febe3cf932d 100644
--- a/engines/m4/riddle/rooms/section2/room204.cpp
+++ b/engines/m4/riddle/rooms/section2/room204.cpp
@@ -1353,7 +1353,7 @@ void Room204::daemon() {
 		break;
 
 	case 593:
-		subDaemon_215F4();
+		initPriestWalker();
 		kernel_timing_trigger(20, 594, nullptr);
 
 		break;
@@ -1407,12 +1407,12 @@ void Room204::daemon() {
 	case 604:
 		switch (_field134) {
 		case 1:
-			sendWSMessage_10000(1, _priestTurningStateMach, _field74_series, 2, 2, 603, _field74_series, 2, 2, 0);
+			sendWSMessage_10000(1, _priestTurningStateMach, _priestWalkerSeries, 2, 2, 603, _priestWalkerSeries, 2, 2, 0);
 			break;
 
 		case 2: {
 			int32 rnd = imath_ranged_rand(1, 2);
-			sendWSMessage_10000(1, _priestTurningStateMach, _field74_series, 1, rnd, 603, _field74_series, rnd, rnd, 0);
+			sendWSMessage_10000(1, _priestTurningStateMach, _priestWalkerSeries, 1, rnd, 603, _priestWalkerSeries, rnd, rnd, 0);
 			}
 
 			break;
@@ -1629,7 +1629,7 @@ void Room204::daemon() {
 		break;
 
 	case 632:
-		subDaemon_F601();
+		deleteMeiCheiHotspot();
 		addMovingMeiHotspot();
 		_fieldE0 = _fieldE4_walkerDestX;
 
@@ -1799,7 +1799,7 @@ void Room204::daemon() {
 		_fieldE0 = 555;
 
 		subDaemon_ADBB0();
-		subDaemon_F601();
+		deleteMeiCheiHotspot();
 		addMovingMeiHotspot();
 		player_set_commands_allowed(true);
 
@@ -1969,7 +1969,7 @@ void Room204::daemon() {
 		kernel_timing_trigger(120, 1995, nullptr);
 		_fieldDC = 1;
 		_fieldE0 = 555;
-		subDaemon_F601();
+		deleteMeiCheiHotspot();
 		addMovingMeiHotspot();
 		player_set_commands_allowed(true);
 
@@ -2144,8 +2144,17 @@ void Room204::game_set_scale(int32 frontY, int32 backY, int32 frontS, int32 back
 	warning("STUB - game_set_scale");
 }
 
-void Room204::subDaemon_215F4() {
-	warning("STUB - subDaemon_215F4");
+void Room204::initPriestWalker() {
+	_field138 = 1;
+	_field134 = 1;
+	_field13C_triggerNum = -1;
+	_field140 = 0;
+	_field144_triggerNum = -1;
+	_priestTurningStateMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 360, 305, 100, 2048, false, triggerMachineByHashCallback, "Young Priest State Machine");
+	_priestWalkerSeries = series_load("PRIEST WALKER", -1, nullptr);
+	sendWSMessage_10000(1, _priestTurningStateMach, _priestWalkerSeries, 2, 2, 603, _priestWalkerSeries, 2, 2, 0);
+
+	_field138 = 1;
 }
 
 void Room204::subDaemon_21781() {
@@ -2156,8 +2165,13 @@ void Room204::subDaemon_ADBB0() {
 	warning("STUB - subDaemon_ADBB0");
 }
 
-void Room204::subDaemon_F601() {
-	warning("STUB - subDaemon_F601");
+void Room204::deleteMeiCheiHotspot() {
+	for (HotSpotRec *hs = _G(currentSceneDef).hotspots; hs; hs = hs->next) {
+		if (!strcmp(hs->vocab, "MEI CHEN")) {
+			hotspot_delete_record(_G(currentSceneDef).hotspots, hs);
+			break;
+		}
+	}
 }
 
 
diff --git a/engines/m4/riddle/rooms/section2/room204.h b/engines/m4/riddle/rooms/section2/room204.h
index b08de80eae5..41841a2cb67 100644
--- a/engines/m4/riddle/rooms/section2/room204.h
+++ b/engines/m4/riddle/rooms/section2/room204.h
@@ -40,17 +40,17 @@ public:
 	void daemon() override;
 
 private:
-	void initWalkerSeries();
+	void addLookMalletHotspot();
 	void addMovingMeiHotspot();
 	void deleteMalletHotspot();
-	void addLookMalletHotspot();
+	void deleteMeiCheiHotspot();
+	void game_set_scale(int32 frontY, int32 backY, int32 frontS, int32 backS);
+	void initWalkerSeries();
+	void initPriestWalker();
 
 	void subDaemon_ADB7C();
-	void game_set_scale(int32 frontY, int32 backY, int32 frontS, int32 backS);
-	void subDaemon_215F4();
 	void subDaemon_21781();
 	void subDaemon_ADBB0();
-	void subDaemon_F601();
 	
 	int32 _dword1A189C = 0;
 
@@ -65,9 +65,7 @@ private:
 	int32 _field44_triggerNum = 0;
 	int32 _field48_triggerNum = 0;
 	int32 _field68 = 0;
-	int32 _field74_series = 0;
 	int32 _field78_series = 0;
-	int32 _ripTrekMedReachHandPos1Series = 0;
 	int32 _fieldBC_trigger = 0;
 	int32 _fieldC0_trigger = 0;
 	int32 _fieldC4 = 0;
@@ -120,12 +118,14 @@ private:
 	int32 _meiTrekRtHandOutPos2Series = 0;
 	int32 _meiTrekTalkerPos4Series = 0;
 	int32 _priestTurnsFrom3To9Series = 0;
+	int32 _priestWalkerSeries = 0;
 	int32 _ripDropsSeries = 0;
 	int32 _ripSketchingInNotebookPos2Series = 0;
 	int32 _ripTrekHandTalkPos3Series = 0;
 	int32 _ripTrekHeadTurnPos5Series = 0;
 	int32 _ripTrekLHandTalkPos4Series = 0;
 	int32 _ripTrekLowReachPos2Series = 0;
+	int32 _ripTrekMedReachHandPos1Series = 0;
 	int32 _ripTrekTalkerPos3Series = 0;
 
 	machine *_204pu05Mach = nullptr;




More information about the Scummvm-git-logs mailing list