[Scummvm-git-logs] scummvm master -> 90cca7f237208225f5a20766e91641666f070252
dreammaster
noreply at scummvm.org
Sat Feb 8 03:03:52 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:
9aa6a567a8 M4: RIDDLE: Fixes for Mei not appearing in Temple after loading savegame
90cca7f237 M4: RIDDLE: Fix room 204 crash when Mei stops walking
Commit: 9aa6a567a89ab90481470b5366077b1b699c50ec
https://github.com/scummvm/scummvm/commit/9aa6a567a89ab90481470b5366077b1b699c50ec
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2025-02-07T19:03:42-08:00
Commit Message:
M4: RIDDLE: Fixes for Mei not appearing in Temple after loading savegame
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 7d6dfbe5b6d..143e1c05680 100644
--- a/engines/m4/riddle/rooms/section2/room204.cpp
+++ b/engines/m4/riddle/rooms/section2/room204.cpp
@@ -52,13 +52,13 @@ void Room204::init() {
_G(flags)[V078] = 0;
if (_G(game).previous_room != KERNEL_RESTORING_GAME) {
- _field4 = 0;
+ _meiPresent = false;
_field180 = 0;
_field184 = 0;
_field188 = 0;
if (!player_been_here(205) && (_G(flags)[V056] == 0 || _G(flags)[V049] == 1)) {
- _field4 = 1;
+ _meiPresent = true;
initWalkerSeries();
_G(flags)[V049] = 0;
}
@@ -100,7 +100,7 @@ void Room204::init() {
_G(camera_reacts_to_player) = false;
} else {
kernel_timing_trigger(1, 578, nullptr);
- if (_field4 == 1) {
+ if (_meiPresent) {
initWalkerSeries();
_mcMach = triggerMachineByHash_3000(8, 4, *S2_MEI_NORMAL_DIRS, *S2_MEI_SHADOW_DIRS, _fieldE0_x, 323, _meiMachineFlag ? 10 : 2, Walker::player_walker_callback, "mc walker room 204");
@@ -153,7 +153,7 @@ void Room204::init() {
kernel_timing_trigger(1, 500, nullptr);
} else {
_G(flags)[V068] = 1;
- if (!_field4) {
+ if (!_meiPresent) {
ws_demand_location(_G(my_walker), 1864, 334);
ws_demand_facing(_G(my_walker), 9);
int32 status;
@@ -290,7 +290,7 @@ void Room204::parser() {
}
}
- if (lookFl && player_said("CONFUCIAN ANALECTS ") && !_field4) {
+ if (lookFl && player_said("CONFUCIAN ANALECTS ") && !_meiPresent) {
digi_play("204R52", 1, 255, -1, -1);
goto done;
}
@@ -428,7 +428,7 @@ void Room204::parser() {
}
if (moveAndLookFl) {
- if (!_field4)
+ if (!_meiPresent)
digi_play("204R52", 1, 255, -1, -1);
else {
switch (_G(kernel).trigger) {
@@ -588,7 +588,7 @@ void Room204::parser() {
goto done;
} // (moveAndLookFl)
- if (player_said("walk through") && _field4 == 1) {
+ if (player_said("walk through") && _meiPresent) {
if (_G(flags)[V056] == 1) {
player_set_commands_allowed(false);
kernel_timing_trigger(2, 609, nullptr);
@@ -600,7 +600,7 @@ void Room204::parser() {
goto done;
}
- if (player_said("walk through") && _field4 == 0) {
+ if (player_said("walk through") && !_meiPresent) {
player_set_commands_allowed(false);
_G(kernel).trigger_mode = KT_DAEMON;
ws_walk(_G(my_walker), 1874, 333, nullptr, 710, 3, true);
@@ -2856,6 +2856,58 @@ void Room204::daemon() {
void Room204::syncGame(Common::Serializer &s) {
s.syncAsSint32LE(_dword1A189C);
+
+ s.syncAsSint32LE(_ripleyShould);
+ s.syncAsSint32LE(_ripleyMode);
+ s.syncAsSint32LE(_meiMode);
+ s.syncAsSint32LE(_meiShould);
+
+ s.syncAsSint32LE(_field18_triggerNum);
+ s.syncAsSint32LE(_field24_triggerNum);
+ s.syncAsSint32LE(_field28_triggerNum);
+ s.syncAsSint32LE(_field2C);
+ s.syncAsSint32LE(_field34_x);
+ s.syncAsSint32LE(_field38_y);
+ s.syncAsSint32LE(_field3C_facing);
+ s.syncAsSint32LE(_field40);
+ s.syncAsSint32LE(_field44_triggerNum);
+ s.syncAsSint32LE(_field48_triggerNum);
+ s.syncAsSint32LE(_ripBangsBongSeries);
+ s.syncAsSint32LE(_fieldBC_trigger);
+ s.syncAsSint32LE(_fieldC0_trigger);
+ s.syncAsSint32LE(_fieldC4);
+ s.syncAsSint32LE(_fieldC8_trigger);
+ s.syncAsSint32LE(_fieldCC_trigger);
+ s.syncAsSint32LE(_fieldD8_facing);
+ s.syncAsSint32LE(_fieldE0_x);
+ s.syncAsSint32LE(_fieldE4_walkerDestX);
+ s.syncAsSint32LE(_fieldEC);
+ s.syncAsSint32LE(_fieldF0);
+ s.syncAsSint32LE(_fieldF4);
+ s.syncAsSint32LE(_fieldF8);
+ s.syncAsSint32LE(_fieldFC_infoX);
+ s.syncAsSint32LE(_field100_infoY);
+ s.syncAsSint32LE(_field104);
+ s.syncAsSint32LE(_field108);
+ s.syncAsSint32LE(_field10C_x);
+ s.syncAsSint32LE(_field110_y);
+ s.syncAsSint32LE(_field114_facing);
+ s.syncAsSint32LE(_field118_scale);
+ s.syncAsSint32LE(_field11C_depth);
+ s.syncAsSint32LE(_field124);
+ s.syncAsSint32LE(_field128);
+ s.syncAsSint32LE(_field12C_triggerNum);
+ s.syncAsSint32LE(_field130);
+ s.syncAsSint32LE(_field134);
+ s.syncAsSint32LE(_field138);
+ s.syncAsSint32LE(_field13C_triggerNum);
+ s.syncAsSint32LE(_field140);
+ s.syncAsSint32LE(_field144_triggerNum);
+ s.syncAsSint32LE(_field16C);
+ s.syncAsSint32LE(_field180);
+ s.syncAsSint32LE(_field184);
+ s.syncAsSint32LE(_field188);
+ s.syncAsByte(_meiPresent);
}
void Room204::initWalkerSeries() {
diff --git a/engines/m4/riddle/rooms/section2/room204.h b/engines/m4/riddle/rooms/section2/room204.h
index 6ea7b38c696..e203b35aeec 100644
--- a/engines/m4/riddle/rooms/section2/room204.h
+++ b/engines/m4/riddle/rooms/section2/room204.h
@@ -63,7 +63,7 @@ private:
bool _ripMachineFlag = false;
bool _meiMachineFlag = false;
- int32 _field4 = 0;
+ bool _meiPresent = false;
int32 _ripleyShould = 0;
int32 _ripleyMode = 0;
int32 _field18_triggerNum = 0;
Commit: 90cca7f237208225f5a20766e91641666f070252
https://github.com/scummvm/scummvm/commit/90cca7f237208225f5a20766e91641666f070252
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2025-02-07T19:03:42-08:00
Commit Message:
M4: RIDDLE: Fix room 204 crash when Mei stops walking
Changed paths:
engines/m4/riddle/rooms/section2/room204.cpp
diff --git a/engines/m4/riddle/rooms/section2/room204.cpp b/engines/m4/riddle/rooms/section2/room204.cpp
index 143e1c05680..ca144a1ba47 100644
--- a/engines/m4/riddle/rooms/section2/room204.cpp
+++ b/engines/m4/riddle/rooms/section2/room204.cpp
@@ -3007,7 +3007,7 @@ void Room204::killPriestWalkerMach() {
void Room204::deleteMeiCheiHotspot() {
for (HotSpotRec *hs = _G(currentSceneDef).hotspots; hs; hs = hs->next) {
if (!strcmp(hs->vocab, "MEI CHEN")) {
- hotspot_delete_record(_G(currentSceneDef).hotspots, hs);
+ _G(currentSceneDef).hotspots = hotspot_delete_record(_G(currentSceneDef).hotspots, hs);
break;
}
}
More information about the Scummvm-git-logs
mailing list