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

Strangerke noreply at scummvm.org
Thu Nov 21 08:12:10 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:
b1558d933c M4: RIDDLE: Room 701: Start implementing Daemon (up to trigger 60)


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

Commit Message:
M4: RIDDLE: Room 701: Start implementing Daemon (up to trigger 60)

Changed paths:
    engines/m4/riddle/rooms/section7/room701.cpp
    engines/m4/riddle/rooms/section7/room701.h


diff --git a/engines/m4/riddle/rooms/section7/room701.cpp b/engines/m4/riddle/rooms/section7/room701.cpp
index 12687c21369..9f9f1855b3f 100644
--- a/engines/m4/riddle/rooms/section7/room701.cpp
+++ b/engines/m4/riddle/rooms/section7/room701.cpp
@@ -355,7 +355,242 @@ void Room701::parser() {
 }
 
 void Room701::daemon() {
-	warning("STUB - 701 Daemon");
+	switch (_G(kernel).trigger) {
+	case 19:
+		digi_play("701_s01", 3, 127, 19, -1);
+		break;
+
+	case 40:
+		_field88 = 1;
+		player_set_commands_allowed(false);
+		player_update_info(_G(my_walker), &_G(player_info));
+		_safariShadow3Mach = series_place_sprite("SAFARI SHADOW 3", 0, _G(player_info).x, _G(player_info).y, _G(player_info).scale, 3840);
+		setGlobals1(_ripTrekHandTalkPos3Series, 1, 4, 4, 4, 0, 5, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+		sendWSMessage_110000(_G(my_walker), 1040);
+		digi_play("701R01", 1, 255, -1, -1);
+
+		break;
+
+	case 41:
+		sendWSMessage_150000(_G(my_walker), -1);
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 11, 13, -1, _agentTalkLoopTjSeries, 11, 13, 1);
+		sendWSMessage_1a0000(_agentPoshExpressMach, 11);
+		digi_play("701X01", 1, 255, 71, -1);
+
+		break;
+
+	case 42:
+		setGlobals1(_ripTrekTalkerPos3Series, 1, 1, 1, 5, 1, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+		sendWSMessage_110000(_G(my_walker), -1);
+		digi_play("701R02", 1, 255, 43, -1);
+
+		break;
+
+	case 43:
+		sendWSMessage_120000(_G(my_walker), -1);
+		subDaemon_D447C();
+		sendWSMessage_150000(_G(my_walker), -1);
+
+		if (_field50 == 1) {
+			_field8C = 1;
+			_agentPoshExpressMach02 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 768, false, triggerMachineByHashCallback, "agent posh express");
+			ws_hide_walker(_G(my_walker));
+			sendWSMessage_10000(1, _agentPoshExpressMach02, _701rp01Series, 1, 11, -1, _701rp01Series, 11, 11, 0);
+			sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 11, 13, -1, _agentTalkLoopTjSeries, 11, 13, 1);
+			sendWSMessage_1a0000(_agentPoshExpressMach, 11);
+			digi_play("701X02", 1, 255, 2200, -1);
+
+		} else if (_field50 > 0) {
+			_field8C = 1;
+			_agentPoshExpressMach02 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 768, 0, triggerMachineByHashCallback, "agent posh express");
+			ws_hide_walker(_G(my_walker));
+			sendWSMessage_10000(1, _agentPoshExpressMach02, _701rp01Series, 1, 11, -1, _701rp01Series, 11, 11, 0);
+			sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 11, 13, -1, _agentTalkLoopTjSeries, 11, 13, 1);
+			sendWSMessage_1a0000(_agentPoshExpressMach, 11);
+			digi_play("701X03", 1, 255, 2200, -1);
+
+		} else {
+			kernel_timing_trigger(1, (_field134 == 1) ? 44 : 95, nullptr);
+		}
+
+		break;
+
+	case 44:
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 12, 12, 45, _agentTalkLoopTjSeries, 12, 12, 0);
+
+		break;
+
+	case 45:
+		setGlobals1(_ripTrekTalkerPos3Series, 1, 1, 1, 5, 1, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+		sendWSMessage_110000(_G(my_walker), -1);
+		digi_play("701R03", 1, 255, 47, -1);
+
+		break;
+
+	case 46:
+		sendWSMessage_110000(_G(my_walker), -1);
+		digi_play("701R03", 1, 255, 47, -1);
+
+		break;
+
+	case 47:
+		sendWSMessage_120000(_G(my_walker), -1);
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 11, 13, -1, _agentTalkLoopTjSeries, 11, 13, 1);
+		sendWSMessage_1a0000(_agentPoshExpressMach, 11);
+		digi_play("701X04", 1, 255, 48, -1);
+
+		break;
+
+	case 48:
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 12, 12, -1, _agentTalkLoopTjSeries, 12, 12, 0);
+		sendWSMessage_150000(_G(my_walker), 948);
+
+		break;
+
+	case 49:
+		sendWSMessage_10000(1, _agentPoshExpressMach02, _701rp01Series, 11, 11, -1, _701rp01Series, 11, 11, 0);
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 11, 13, -1, _agentTalkLoopTjSeries, 11, 13, 1);
+		sendWSMessage_1a0000(_agentPoshExpressMach, 11);
+		digi_play("701X05", 1, 255, 50, -1);
+
+		break;
+
+	case 50:
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 12, 12, -1, _agentTalkLoopTjSeries, 12, 12, 0);
+		sendWSMessage_10000(1, _agentPoshExpressMach02, _701rp01Series, 11, 11, -1, _701rp01Series, 11, 19, 4);
+		sendWSMessage_1a0000(_agentPoshExpressMach02, 11);
+		digi_play("701R05", 1, 255, 51, -1);
+
+		break;
+
+	case 51:
+		sendWSMessage_10000(1, _agentPoshExpressMach02, _701rp01Series, 11, 11, -1, _701rp01Series, 11, 11, 0);
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 11, 13, -1, _agentTalkLoopTjSeries, 13, 13, 1);
+		sendWSMessage_1a0000(_agentPoshExpressMach, 11);
+		digi_play("701X06", 1, 255, 52, -1);
+
+		break;
+
+	case 52:
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 12, 12, -1, _agentTalkLoopTjSeries, 12, 12, 0);
+		sendWSMessage_10000(1, _agentPoshExpressMach02, _701rp01Series, 11, 11, -1, _701rp01Series, 11, 19, 4);
+		sendWSMessage_1a0000(_agentPoshExpressMach02, 11);
+		digi_play("701R06", 1, 255, 53, -1);
+
+		break;
+
+	case 53:
+		sendWSMessage_10000(1, _agentPoshExpressMach02, _701rp01Series, 11, 11, -1, _701rp01Series, 11, 11, 0);
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 11, 13, -1, _agentTalkLoopTjSeries, 13, 13, 1);
+		sendWSMessage_1a0000(_agentPoshExpressMach, 11);
+		digi_play("701X07", 1, 255, 54, -1);
+
+		break;
+
+	case 54:
+		terminateMachine(_agentPoshExpressMach02);
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentShowMapSeries, 1, 47, 55, _agentShowMapSeries, 47, 47, 0);
+
+		break;
+
+	case 55:
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentShowMapSeries, 47, 50, -1, _agentShowMapSeries, 47, 50, 1);
+		sendWSMessage_1a0000(_agentPoshExpressMach, 11);
+		digi_play("701X07A", 1, 255, 56, -1);
+
+		break;
+
+	case 56:
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentShowMapSeries, 47, 1, 73, _agentShowMapSeries, 1, 1, 0);
+
+		break;
+
+	case 57:
+		sendWSMessage_10000(1, _agentPoshExpressMach02, _701rp01Series, 11, 11, -1, _701rp01Series, 11, 11, 4);
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 11, 13, -1, _agentTalkLoopTjSeries, 11, 13, 1);
+		sendWSMessage_1a0000(_agentPoshExpressMach, 11);
+		digi_play("701X08", 1, 255, 58);
+
+		break;
+
+	case 58:
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 12, 12, -1, _agentTalkLoopTjSeries, 12, 12, 0);
+		sendWSMessage_10000(1, _agentPoshExpressMach02, _701rp01Series, 11, 19, -1, _701rp01Series, 10, 19, 4);
+		sendWSMessage_1a0000(_agentPoshExpressMach02, 9);
+		digi_play("701R08", 1, 255, 59);
+
+		break;
+
+	case 59:
+		sendWSMessage_10000(1, _agentPoshExpressMach02, _701rp01Series, 11, 1, 60, _701rp01Series, 1, 1, 0);
+
+		break;
+
+	case 60:
+		terminateMachine(_agentPoshExpressMach02);
+		terminateMachine(_safariShadow3Mach);
+		ws_unhide_walker(_G(my_walker));
+		player_set_commands_allowed(true);
+
+		break;
+
+	case 71:
+	case 72:
+	case 73:
+	case 74:
+	case 75:
+	case 76:
+	case 80:
+	case 81:
+	case 82:
+	case 83:
+	case 84:
+	case 85:
+	case 86:
+	case 88:
+	case 89:
+	case 90:
+	case 91:
+	case 92:
+	case 93:
+	case 94:
+	case 95:
+	case 96:
+	case 97:
+	case 100:
+	case 101:
+	case 102:
+	case 103:
+	case 110:
+	case 111:
+	case 948:
+	case 1040:
+	case 1080:
+	case 1083:
+	case 1089:
+	case 2200:
+	case 2201:
+	case 2300:
+	case 2301:
+	case 2302:
+	case 2303:
+	case 2304:
+	case 2305:
+	case 2306:
+	case 2307:
+	case 2501:
+	case 2504:
+	case 2506:
+	case 2509:
+	case 2600:
+	case 2601:
+	case 2700:
+	case 2701:
+	case 2702:
+		warning("Not yet implemented");
+	default:
+		break;
+	}
 }
 
 void Room701::conv701a() {
@@ -438,6 +673,10 @@ void Room701::conv701a() {
 	digi_play(digiName, 1, 255, 1, -1);
 }
 
+void Room701::subDaemon_D447C() {
+	warning("STUB - subDaemon_D447C()");
+}
+
 } // namespace Rooms
 } // namespace Riddle
 } // namespace M4
diff --git a/engines/m4/riddle/rooms/section7/room701.h b/engines/m4/riddle/rooms/section7/room701.h
index 45f99ff7b7b..66b52dcd86a 100644
--- a/engines/m4/riddle/rooms/section7/room701.h
+++ b/engines/m4/riddle/rooms/section7/room701.h
@@ -41,6 +41,7 @@ public:
 
 private:
 	void conv701a();
+	void subDaemon_D447C();
 
 	const char *_itemDigiName = nullptr;
 	Common::String _convDigiName_1 = "";
@@ -70,8 +71,11 @@ private:
 	int32 _ripTrekTalkerPos3Series = 0;
 	
 	machine *_agentPoshExpressMach = nullptr;
+	machine *_agentPoshExpressMach02 = nullptr;
+	machine *_safariShadow3Mach = nullptr;
 };
 
+
 } // namespace Rooms
 } // namespace Riddle
 } // namespace M4




More information about the Scummvm-git-logs mailing list