[Scummvm-git-logs] scummvm branch-3-0 -> 507325292dc83312e598c6c8fdf8b6eed57f1391
Strangerke
noreply at scummvm.org
Tue Jan 6 22:30:35 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
507325292d M4: RIDDLE: Fix bug #16059 - Ripley stuck in Mocha's stairs
Commit: 507325292dc83312e598c6c8fdf8b6eed57f1391
https://github.com/scummvm/scummvm/commit/507325292dc83312e598c6c8fdf8b6eed57f1391
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-01-06T23:30:27+01:00
Commit Message:
M4: RIDDLE: Fix bug #16059 - Ripley stuck in Mocha's stairs
Changed paths:
engines/m4/riddle/rooms/section5/room506.cpp
engines/m4/riddle/rooms/section5/room506.h
diff --git a/engines/m4/riddle/rooms/section5/room506.cpp b/engines/m4/riddle/rooms/section5/room506.cpp
index ad8dd3854dc..6d3d66a63be 100644
--- a/engines/m4/riddle/rooms/section5/room506.cpp
+++ b/engines/m4/riddle/rooms/section5/room506.cpp
@@ -39,7 +39,7 @@ void Room506::preload() {
}
void Room506::init() {
- _flag2 = _flag3 = _towerFlag = false;
+ _darkPaletteSet = _lightPaletteSet = _towerFlag = false;
if (_G(game).previous_room != KERNEL_RESTORING_GAME)
_flag1 = true;
@@ -101,13 +101,14 @@ void Room506::init() {
MoveScreenDelta(-432, 0);
ws_demand_location(_G(my_walker), 754, 242, 8);
ws_walk(_G(my_walker), 697, 247, nullptr, 502, 8);
+ player_set_commands_allowed(false);
break;
}
if (_flag1)
restorePalette();
else
- setupPalette();
+ setDarkPalette();
}
void Room506::daemon() {
@@ -173,6 +174,8 @@ void Room506::pre_parser() {
} else {
ws_walk(_G(my_walker), _destX, _destY, nullptr, -1, _destFacing);
}
+
+ setDarkPalette();
break;
case 1002:
@@ -191,12 +194,12 @@ void Room506::pre_parser() {
if (_G(player).need_to_walk || _G(player).ready_to_walk || _G(player).waiting_for_walk) {
_towerFlag = !scumm_strnicmp(_G(player).verb, "IN TOWER", 8);
- if (_G(player).walk_x < 900 && _flag2 && !player_said(" ") && !player_said(" ")) {
+ if (_G(player).walk_x < 900 && _darkPaletteSet && !player_said(" ") && !player_said(" ")) {
saveWalk();
ws_walk(_G(my_walker), 717, 144, nullptr, 1000, 1);
}
- if (_G(player).walk_x > 900 && _flag3 && !player_said(" ") && !player_said(" ")) {
+ if (_G(player).walk_x > 900 && _lightPaletteSet && !player_said(" ") && !player_said(" ")) {
saveWalk();
ws_walk(_G(my_walker), 995, 308, nullptr, 1001, 1);
}
@@ -392,7 +395,7 @@ void Room506::parser() {
}
if (player_said(" ")) {
- setupPalette();
+ setDarkPalette();
ws_walk(_G(my_walker), 1039, 328, nullptr, -1, 4);
if (_towerFlag)
@@ -406,9 +409,9 @@ void Room506::parser() {
}
void Room506::restorePalette() {
- if (!_flag3) {
- _flag3 = true;
- _flag2 = false;
+ if (!_lightPaletteSet) {
+ _lightPaletteSet = true;
+ _darkPaletteSet = false;
hotspot_set_active(" ", false);
hotspot_set_active(" ", true);
@@ -423,10 +426,10 @@ void Room506::restorePalette() {
}
}
-void Room506::setupPalette() {
- if (!_flag2) {
- _flag2 = true;
- _flag3 = false;
+void Room506::setDarkPalette() {
+ if (!_darkPaletteSet) {
+ _darkPaletteSet = true;
+ _lightPaletteSet = false;
hotspot_set_active(" ", true);
hotspot_set_active(" ", false);
diff --git a/engines/m4/riddle/rooms/section5/room506.h b/engines/m4/riddle/rooms/section5/room506.h
index 8de8887fc5b..270b90687c2 100644
--- a/engines/m4/riddle/rooms/section5/room506.h
+++ b/engines/m4/riddle/rooms/section5/room506.h
@@ -32,8 +32,8 @@ class Room506 : public Room {
private:
RGB8 _palette[59] = {};
bool _flag1 = false;
- bool _flag2 = false;
- bool _flag3 = false;
+ bool _darkPaletteSet = false;
+ bool _lightPaletteSet = false;
bool _towerFlag = false;
int _destX = 0, _destY = 0;
int _destFacing = 0;
@@ -44,7 +44,7 @@ private:
int _ripLowReach = 0;
void restorePalette();
- void setupPalette();
+ void setDarkPalette();
void saveWalk();
public:
More information about the Scummvm-git-logs
mailing list