[Scummvm-git-logs] scummvm master -> 0c7ccfce5db777ff25dcfd33aabdd722afb4a94e

Strangerke noreply at scummvm.org
Tue Nov 19 21:21:58 UTC 2024


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

Summary:
bb715c2c1f M4: RIDDLE: Room 204 - Add syncGame
0c7ccfce5d M4: RIDDLE: Start working on room 701 (preload, init, preparser)


Commit: bb715c2c1f9a1755ef42a464d1095db366f4519d
    https://github.com/scummvm/scummvm/commit/bb715c2c1f9a1755ef42a464d1095db366f4519d
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-11-19T22:20:53+01:00

Commit Message:
M4: RIDDLE: Room 204 - Add syncGame

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 f3bede1f2f5..b9c5e1cbcdc 100644
--- a/engines/m4/riddle/rooms/section2/room204.cpp
+++ b/engines/m4/riddle/rooms/section2/room204.cpp
@@ -2892,6 +2892,11 @@ void Room204::daemon() {
 
 }
 
+void Room204::syncGame(Common::Serializer &s) {
+	s.syncAsSint32LE(_dword1A189C);
+	s.syncAsSint32LE(_dword1A1898);
+}
+
 void Room204::initWalkerSeries() {
 	ws_walk_load_walker_series(S8_SHADOW_DIRS2, S8_SHADOW_NAMES2, false);
 	ws_walk_load_walker_series(S8_SHADOW_DIRS1, S8_SHADOW_NAMES1, false);
diff --git a/engines/m4/riddle/rooms/section2/room204.h b/engines/m4/riddle/rooms/section2/room204.h
index baa02473d95..277c4d65773 100644
--- a/engines/m4/riddle/rooms/section2/room204.h
+++ b/engines/m4/riddle/rooms/section2/room204.h
@@ -38,6 +38,7 @@ public:
 	void pre_parser() override;
 	void parser() override;
 	void daemon() override;
+	void syncGame(Common::Serializer &s) override;
 
 private:
 	void addLookMalletHotspot();


Commit: 0c7ccfce5db777ff25dcfd33aabdd722afb4a94e
    https://github.com/scummvm/scummvm/commit/0c7ccfce5db777ff25dcfd33aabdd722afb4a94e
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-11-19T22:20:53+01:00

Commit Message:
M4: RIDDLE: Start working on room 701 (preload, init, preparser)

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 c678446ea4a..0ffc7bc48f4 100644
--- a/engines/m4/riddle/rooms/section7/room701.cpp
+++ b/engines/m4/riddle/rooms/section7/room701.cpp
@@ -27,10 +27,81 @@ namespace M4 {
 namespace Riddle {
 namespace Rooms {
 
+void Room701::preload() {
+	_G(player).walker_type = WALKER_ALT;
+	_G(player).shadow_type = SHADOW_ALT;
+	LoadWSAssets("OTHER SCRIPT", _G(master_palette));
+}
+
 void Room701::init() {
+	if (_G(flags[V286]))
+		_G(flags[V224]) = 1;
+
+	_itemDigiName = nullptr;
+	_field8C = 0;
+	_field50 = 0;
+	_field9E = -1;
+	_field130 = 0;
+
+	if (_G(game).previous_room == KERNEL_RESTORING_GAME) {
+		_agentTalkLoopTjSeries = series_load("AGENT TALK LOOP TJ", -1, nullptr);
+		_agentGetTelegramSeries = series_load("AGENT  GET TELEGRAM", -1, nullptr);
+		_agentShowMapSeries = series_load("AGENT SHOW MAP", -1, nullptr);
+		_agentGiveParcelSeries = series_load("AGENT  GIVE PARCEL", -1, nullptr);
+		_701rp01Series = series_load("701RP01", -1, nullptr);
+		_ripTrekHandTalkPos3Series = series_load("RIP TREK HAND TALK POS3", -1, nullptr);
+		_ripTrekTalkerPos3Series = series_load("RIP TREK TALKER POS3", -1, nullptr);
+		_ripTrekMedReachPos3Series = series_load("RIP TREK MED REACH POS3", -1, nullptr);
+		_701rp99Series = series_load("701RP99", -1, nullptr);
+		_agentPoshExpressMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 1792, false, triggerMachineByHashCallback, "agent posh express");
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 13, 13, -1, _agentTalkLoopTjSeries, 13, 13, 0);
+	} else {
+		_field88 = 0;
+
+		player_set_commands_allowed(false);
+		_agentTalkLoopTjSeries = series_load("AGENT TALK LOOP TJ", -1, nullptr);
+		_agentGetTelegramSeries = series_load("AGENT  GET TELEGRAM", -1, nullptr);
+		_agentShowMapSeries = series_load("AGENT SHOW MAP", -1, nullptr);
+		_agentGiveParcelSeries = series_load("AGENT  GIVE PARCEL", -1, nullptr);
+		_701rp01Series = series_load("701RP01", -1, nullptr);
+		_ripTrekHandTalkPos3Series = series_load("RIP TREK HAND TALK POS3", -1, nullptr);
+		_ripTrekTalkerPos3Series = series_load("RIP TREK TALKER POS3", -1, nullptr);
+		_ripTrekMedReachPos3Series = series_load("RIP TREK MED REACH POS3", -1, nullptr);
+		_701rp99Series = series_load("701RP99", -1, nullptr);
+		_agentPoshExpressMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 1792, false, triggerMachineByHashCallback, "agent posh express");
+		sendWSMessage_10000(1, _agentPoshExpressMach, _agentTalkLoopTjSeries, 13, 13, -1, _agentTalkLoopTjSeries, 13, 13, 0);
+
+		++_G(flags[V006]);
+		if (setItemsPlacedFlags()) {
+			_field88 = 1;
+			_itemDigiName = getItemsPlacedDigi();
+			++_field50;
+		}
+
+		ws_demand_location(_G(my_walker), 50, 264);
+		ws_demand_facing(_G(my_walker), 3);
+		_field134 = 0;
+		ws_walk(_G(my_walker), 352, 251, nullptr, player_been_here(701) ? 80 : 40, 3, true);
+	}
+
+	digi_preload("701_s01", -1);
+	digi_play_loop("701_s01", 2, 45, -1, -1);
+}
+
+void Room701::pre_parser() {
+	if (player_said("rm702") && !_field88) {
+		_G(player).need_to_walk = false;
+		_G(player).ready_to_walk = true;
+		_G(player).waiting_for_walk = false;
+	}
+}
+
+void Room701::parser() {
+	warning("STUB - 701 Parser");
 }
 
 void Room701::daemon() {
+	warning("STUB - 701 Daemon");
 }
 
 } // namespace Rooms
diff --git a/engines/m4/riddle/rooms/section7/room701.h b/engines/m4/riddle/rooms/section7/room701.h
index 8420bd65578..253f8ccfc89 100644
--- a/engines/m4/riddle/rooms/section7/room701.h
+++ b/engines/m4/riddle/rooms/section7/room701.h
@@ -33,8 +33,33 @@ public:
 	Room701() : Room() {}
 	~Room701() override {}
 
+	void preload() override;
 	void init() override;
+	void pre_parser() override;
+	void parser() override;
 	void daemon() override;
+
+private:
+	const char *_itemDigiName = nullptr;
+
+	int32 _field50 = 0;
+	int32 _field88 = 0;
+	int32 _field8C = 0;
+	int32 _field9E = 0;
+	int32 _field130 = 0;
+	int32 _field134 = 0;
+
+	int32 _701rp01Series = 0;
+	int32 _701rp99Series = 0;
+	int32 _agentGetTelegramSeries = 0;
+	int32 _agentGiveParcelSeries = 0;
+	int32 _agentShowMapSeries = 0;
+	int32 _agentTalkLoopTjSeries = 0;
+	int32 _ripTrekHandTalkPos3Series = 0;
+	int32 _ripTrekMedReachPos3Series = 0;
+	int32 _ripTrekTalkerPos3Series = 0;
+	
+	machine *_agentPoshExpressMach = nullptr;
 };
 
 } // namespace Rooms




More information about the Scummvm-git-logs mailing list