[Scummvm-git-logs] scummvm master -> 0025f9ad29d0e11f7888e23ad7b48430350b4ace

Strangerke noreply at scummvm.org
Wed Jan 8 07:02:52 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:
0025f9ad29 M4: RIDDLE: Room 808: Start working on daemon


Commit: 0025f9ad29d0e11f7888e23ad7b48430350b4ace
    https://github.com/scummvm/scummvm/commit/0025f9ad29d0e11f7888e23ad7b48430350b4ace
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2025-01-08T08:02:38+01:00

Commit Message:
M4: RIDDLE: Room 808: Start working on daemon

Changed paths:
    engines/m4/riddle/rooms/section8/room808.cpp
    engines/m4/riddle/rooms/section8/room808.h


diff --git a/engines/m4/riddle/rooms/section8/room808.cpp b/engines/m4/riddle/rooms/section8/room808.cpp
index 647126e5f11..76379c18d52 100644
--- a/engines/m4/riddle/rooms/section8/room808.cpp
+++ b/engines/m4/riddle/rooms/section8/room808.cpp
@@ -274,6 +274,57 @@ void Room808::parser() {
 }
 
 void Room808::daemon() {
+	switch (_G(kernel).trigger) {
+	case 1:
+		player_set_commands_allowed(true);
+		room808_sub1(0, 0);
+		room808_sub1(1, 0);
+		room808_sub1(2, 0);
+		room808_sub1(3, 0);
+		room808_sub1(4, 0);
+		room808_sub1(_G(flags[V094]), 1);
+		addMcHotspot(_G(flags[V097]));
+
+		if (_G(flags[V097]) == 0) {
+			_meiChienHandsBehindBackSeries = series_load("MEI CHIEN HANDS BEHIND BACK", -1, nullptr);
+			setGlobals3(_meiChienHandsBehindBackSeries, 1, 17);
+			subD7916(_mcTrekMach, -1);
+		}
+
+		kernel_timing_trigger(imath_ranged_rand(1200, 1800), 18);
+		
+		break;
+		
+	case 2:
+	case 3:
+	case 4:
+	case 6:
+	case 7:
+	case 8:
+	case 9:
+	case 10:
+	case 11:
+	case 12:
+	case 13:
+	case 14:
+	case 15:
+	case 16:
+	case 17:
+	case 18:
+	case 19:
+	case 20:
+	case 21:
+	case 22:
+	case 23:
+	case 24:
+	case 25:
+	case 26:
+	case 966:
+	case 967:
+		
+	default:
+		break;
+	}
 	// TODO Not implemented yet
 }
 
@@ -310,6 +361,51 @@ bool Room808::getWalkPath(machine *machine, int32 walk_x, int32 walk_y) {
 	return retVal;
 }
 
+void Room808::room808_sub1(int i, int i1) {
+	//TODO Not implemented yet
+}
+
+void Room808::addMcHotspot(int32 val1) {
+	for (HotSpotRec* curr = _G(currentSceneDef).hotspots; curr != nullptr; curr = curr->next) {
+		if (scumm_stricmp(curr->vocab, "MEI CHEN")) {
+			hotspot_delete_record(_G(currentSceneDef).hotspots, curr);
+			break;
+		}
+	}
+
+	HotSpotRec *newHotspot;
+	switch (val1) {
+	case 0:
+		newHotspot = hotspot_new(100, 170, 124, 241);
+		hotspot_newVerb(newHotspot, "TALK TO");
+		hotspot_newVocab(newHotspot, "MEI CHEN");
+
+		newHotspot->cursor_number = 7;
+		newHotspot->feet_x = 128;
+		newHotspot->feet_y = 221;
+		newHotspot->facing = 7;
+
+		break;
+
+	case 1:
+		newHotspot = hotspot_new(336, 74, 352, 117);
+		hotspot_newVerb(newHotspot, "TALK TO");
+		hotspot_newVocab(newHotspot, "MEI CHEN");
+
+		newHotspot->cursor_number = 7;
+		newHotspot->feet_x = 32767;
+		newHotspot->feet_y = 32767;
+		newHotspot->facing = 0;
+
+		break;
+
+	default:
+		error("addMcHotspot - unexpected value");
+	}
+
+	_G(currentSceneDef).hotspots = hotspot_add(_G(currentSceneDef).hotspots, newHotspot, true);
+}
+
 } // namespace Rooms
 } // namespace Riddle
 } // namespace M4
diff --git a/engines/m4/riddle/rooms/section8/room808.h b/engines/m4/riddle/rooms/section8/room808.h
index e30b92ac123..50db81a2e89 100644
--- a/engines/m4/riddle/rooms/section8/room808.h
+++ b/engines/m4/riddle/rooms/section8/room808.h
@@ -22,15 +22,15 @@
 #ifndef M4_RIDDLE_ROOMS_SECTION8_ROOM808_H
 #define M4_RIDDLE_ROOMS_SECTION8_ROOM808_H
 
-#include "m4/riddle/rooms/room.h"
+#include "m4/riddle/rooms/section8/section8_room.h"
 
 namespace M4 {
 namespace Riddle {
 namespace Rooms {
 
-class Room808 : public Room {
+class Room808 : public Section8Room {
 public:
-	Room808() : Room() {}
+	Room808() : Section8Room() {}
 	~Room808() override {}
 
 	void preload() override;
@@ -42,6 +42,8 @@ public:
 
 private:
 	bool getWalkPath(machine *machine, int32 walk_x, int32 walk_y);
+	void room808_sub1(int i, int i1);
+	void addMcHotspot(int32 val1);
 
 	int32 _807Rp04Series = 0;
 	int32 _808McupSeries = 0;
@@ -50,6 +52,7 @@ private:
 	int32 _808RpupSeries = 0;
 	int32 _mctd61Series = 0;
 	int32 _mctd82aSeries = 0;
+	int32 _meiChienHandsBehindBackSeries = 0;
 	int32 _ripLooksAroundInAweSeries = 0;
 	int32 _ripMedReach1HandPos2Series = 0;
 	int32 _ripPos3LookAroundSeries = 0;




More information about the Scummvm-git-logs mailing list