[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