[Scummvm-git-logs] scummvm master -> 07b71995e3544b8ce57c8cd9194a19a0693cd57c
dreammaster
noreply at scummvm.org
Sat Feb 1 04:14:17 UTC 2025
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:
432b05ed0a M4: RIDDLE: Add syncGame for room 407 flags
07b71995e3 M4: RIDDLE: Work around Visual C++ block limit in room 407 parser
Commit: 432b05ed0a9dfabf795870a576b0d12c94a91412
https://github.com/scummvm/scummvm/commit/432b05ed0a9dfabf795870a576b0d12c94a91412
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2025-01-31T19:47:28-08:00
Commit Message:
M4: RIDDLE: Add syncGame for room 407 flags
Changed paths:
engines/m4/riddle/rooms/section4/room407.cpp
engines/m4/riddle/rooms/section4/room407.h
diff --git a/engines/m4/riddle/rooms/section4/room407.cpp b/engines/m4/riddle/rooms/section4/room407.cpp
index 07d96c91613..cea6be4ebee 100644
--- a/engines/m4/riddle/rooms/section4/room407.cpp
+++ b/engines/m4/riddle/rooms/section4/room407.cpp
@@ -2542,6 +2542,57 @@ void Room407::parser() {
_G(player).command_ready = false;
}
+void Room407::syncGame(Common::Serializer &s) {
+ s.syncAsSint16LE(_val1);
+ s.syncAsSint16LE(_val2);
+ s.syncAsSint16LE(_val3);
+ s.syncAsSint16LE(_val4);
+ s.syncAsSint16LE(_drawerState);
+ s.syncAsSint16LE(_val6);
+ s.syncAsSint16LE(_val7);
+ s.syncAsSint16LE(_val8);
+ s.syncAsSint16LE(_val9);
+ s.syncAsSint16LE(_items4State);
+ s.syncAsSint16LE(_xyzzy1);
+ s.syncAsSint16LE(_xyzzy2);
+ s.syncAsSint16LE(_xyzzy3);
+ s.syncAsSint16LE(_xyzzy4);
+ s.syncAsSint16LE(_items3State);
+ s.syncAsSint16LE(_items1State);
+ s.syncAsSint16LE(_xyzzy7);
+ s.syncAsSint16LE(_items2State);
+ s.syncAsSint16LE(_xyzzy9);
+ s.syncAsSint16LE(_xyzzy10);
+ s.syncAsSint16LE(_frotz1);
+ s.syncAsSint16LE(_frotz2);
+ s.syncAsSint16LE(_frotz3);
+ s.syncAsSint16LE(_frotz4);
+ s.syncAsSint16LE(_frotz5);
+ s.syncAsSint16LE(_frotz6);
+ s.syncAsSint16LE(_frotz7);
+ s.syncAsSint16LE(_frotz8);
+ s.syncAsSint16LE(_frotz9);
+ s.syncAsSint16LE(_tabletopState);
+ s.syncAsSint16LE(_pivotState);
+ s.syncAsSint16LE(_fullGlassState);
+ s.syncAsSint16LE(_glassTopState);
+ s.syncAsSint16LE(_glassBottomState);
+ s.syncAsSint16LE(_roofPistonState);
+ s.syncAsSint16LE(_glassGoneState);
+ s.syncAsSint16LE(_comboLockState);
+ s.syncAsSint16LE(_buttonFrame1);
+ s.syncAsSint16LE(_buttonFrame2);
+ s.syncAsSint16LE(_buttonFrame3);
+ s.syncAsSint16LE(_buttonFrame4);
+ s.syncAsSint16LE(_val11);
+ s.syncAsSint16LE(_val15);
+ s.syncAsSint16LE(_val16);
+ s.syncAsSint16LE(_waterFlowTube);
+ s.syncAsSint16LE(_waterFlowFaucet);
+ s.syncAsSint16LE(_waterFlowStem);
+ s.syncAsSint16LE(_codeCorrect);
+}
+
void Room407::setHotspots() {
disableHotspots();
diff --git a/engines/m4/riddle/rooms/section4/room407.h b/engines/m4/riddle/rooms/section4/room407.h
index 363ea8d37da..1cfd42ad10b 100644
--- a/engines/m4/riddle/rooms/section4/room407.h
+++ b/engines/m4/riddle/rooms/section4/room407.h
@@ -258,6 +258,7 @@ public:
void daemon() override;
void pre_parser() override;
void parser() override;
+ void syncGame(Common::Serializer &s) override;
};
} // namespace Rooms
Commit: 07b71995e3544b8ce57c8cd9194a19a0693cd57c
https://github.com/scummvm/scummvm/commit/07b71995e3544b8ce57c8cd9194a19a0693cd57c
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2025-01-31T20:13:50-08:00
Commit Message:
M4: RIDDLE: Work around Visual C++ block limit in room 407 parser
Changed paths:
engines/m4/riddle/rooms/section4/room407.cpp
engines/m4/riddle/rooms/section4/room407.h
diff --git a/engines/m4/riddle/rooms/section4/room407.cpp b/engines/m4/riddle/rooms/section4/room407.cpp
index cea6be4ebee..b718ea3d01a 100644
--- a/engines/m4/riddle/rooms/section4/room407.cpp
+++ b/engines/m4/riddle/rooms/section4/room407.cpp
@@ -297,7 +297,7 @@ void Room407::init() {
_frotz6 = 0;
_frotz7 = 0;
_frotz8 = 0;
- _frotz9 = 0;
+ _lookedAtLever = 0;
_tabletopState = 1031;
_tabletopState = 1031;
_pivotState = 1031;
@@ -1953,7 +1953,7 @@ void Room407::parser() {
leverKey1();
else
leverKey2();
- } if (player_said("FAUCET HANDLE", "AIR VALVE") && _val9 == 1000) {
+ } else if (player_said("FAUCET HANDLE", "AIR VALVE") && _val9 == 1000) {
faucetHandleAirValve();
} else if (player_said("FAUCET PIPE", "FAUCET HANDLE") &&
_val9 == 1000 && _val8 == 1100) {
@@ -2086,7 +2086,15 @@ void Room407::parser() {
break;
}
- } else if (takeFlag && player_said("LETTER")) {
+ } else {
+ goto take;
+ }
+
+ _G(player).command_ready = false;
+ return;
+
+take:
+ if (takeFlag && player_said("LETTER")) {
takeLetter();
} else if (takeFlag && player_said("FAUCET PIPE ") && _val8 == 1130) {
takeFaucetPipe1();
@@ -2571,7 +2579,7 @@ void Room407::syncGame(Common::Serializer &s) {
s.syncAsSint16LE(_frotz6);
s.syncAsSint16LE(_frotz7);
s.syncAsSint16LE(_frotz8);
- s.syncAsSint16LE(_frotz9);
+ s.syncAsSint16LE(_lookedAtLever);
s.syncAsSint16LE(_tabletopState);
s.syncAsSint16LE(_pivotState);
s.syncAsSint16LE(_fullGlassState);
@@ -3000,11 +3008,11 @@ void Room407::periodicTablePopup() {
bool Room407::lookLeverKey() {
switch (_G(kernel).trigger) {
case -1:
- if (_frotz9) {
+ if (_lookedAtLever) {
digi_play("407r26a", 1);
} else {
digi_play("407r26", 1, 255, 2);
- _frotz9 = 1;
+ _lookedAtLever = 1;
}
return true;
diff --git a/engines/m4/riddle/rooms/section4/room407.h b/engines/m4/riddle/rooms/section4/room407.h
index 1cfd42ad10b..7409dbeef50 100644
--- a/engines/m4/riddle/rooms/section4/room407.h
+++ b/engines/m4/riddle/rooms/section4/room407.h
@@ -58,7 +58,7 @@ private:
int _frotz6 = 0;
int _frotz7 = 0;
int _frotz8 = 0;
- int _frotz9 = 0;
+ int _lookedAtLever = 0;
int _tabletopState = 0;
int _pivotState = 0;
int _fullGlassState = 0;
More information about the Scummvm-git-logs
mailing list