[Scummvm-git-logs] scummvm master -> 87ec0e0b40b15e41013f80e5a45a6dd4002f5548

dreammaster noreply at scummvm.org
Thu Feb 22 03:31:33 UTC 2024


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

Summary:
87ec0e0b40 M4: Fix softlock for savegames done when satelitte dish moved


Commit: 87ec0e0b40b15e41013f80e5a45a6dd4002f5548
    https://github.com/scummvm/scummvm/commit/87ec0e0b40b15e41013f80e5a45a6dd4002f5548
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-02-21T19:31:25-08:00

Commit Message:
M4: Fix softlock for savegames done when satelitte dish moved

Changed paths:
    engines/m4/burger/flags.cpp
    engines/m4/burger/flags.h
    engines/m4/burger/rooms/section1/room103.cpp
    engines/m4/riddle/flags.h


diff --git a/engines/m4/burger/flags.cpp b/engines/m4/burger/flags.cpp
index 6892ab4885a..bfdd6c5d6e5 100644
--- a/engines/m4/burger/flags.cpp
+++ b/engines/m4/burger/flags.cpp
@@ -169,7 +169,7 @@ void Flags::reset1() {
 	(*this)[V017] = 0;
 	(*this)[V018] = 0;
 	(*this)[V019] = 0;
-	(*this)[V023] = 0;
+	(*this)[kHarryComingToRoof] = 0;
 	(*this)[WAKE_UP_STOLIE_COUNT] = 0;
 	(*this)[V028] = 0;
 	(*this)[V031] = 0;
diff --git a/engines/m4/burger/flags.h b/engines/m4/burger/flags.h
index 2bf1be4a15e..38b9b6e28ff 100644
--- a/engines/m4/burger/flags.h
+++ b/engines/m4/burger/flags.h
@@ -55,7 +55,7 @@ enum {
 	V020 =  20,
 	V021 =  21,
 	V022 =  22,
-	V023 =  23,
+	kHarryComingToRoof =  23,
 	V024 =  24,
 	V025 =  25,
 	V026 =  26,
diff --git a/engines/m4/burger/rooms/section1/room103.cpp b/engines/m4/burger/rooms/section1/room103.cpp
index 74b069864d6..0e528f9d93e 100644
--- a/engines/m4/burger/rooms/section1/room103.cpp
+++ b/engines/m4/burger/rooms/section1/room103.cpp
@@ -126,6 +126,9 @@ void Room103::init() {
 
 	switch (_G(game).previous_room) {
 	case KERNEL_RESTORING_GAME:
+		// WORKAROUND: If you save a game after moving the satellite dish, but before Harry arrives,
+		// restoring the save wouldn't have Harry arrive, and you'd softlock trying to leave the roof
+		_G(flags)[kHarryComingToRoof] = 0;
 		break;
 
 	case 101:
@@ -145,7 +148,7 @@ void Room103::init() {
 		break;
 	}
 
-	if (_G(flags)[V023]) {
+	if (_G(flags)[kHarryComingToRoof]) {
 		_series1 = series_play("103wi06", 0x500, 0, -1, 100, -1, 100, 0, 0, 0, 0);
 	} else {
 		_series1 = series_play("103wi05", 0x500, 0, -1, 100, -1, 100, 0, 0, 0, 0);
@@ -229,7 +232,7 @@ void Room103::daemon() {
 		break;
 
 	case 7:
-		_G(flags)[V023] = 0;
+		_G(flags)[kHarryComingToRoof] = 0;
 		_G(flags)[GLB_TEMP_3] = _G(flags).get_boonsville_time_and_display() + 1800;
 		_G(flags)[V012] = 2;
 		pal_fade_init(_G(kernel).first_fade, 255, 0, 30, 1001);
@@ -460,7 +463,7 @@ void Room103::daemon() {
 			wilbur_speech("103w003", 15);
 		}
 
-		_G(flags)[V023] = 1;
+		_G(flags)[kHarryComingToRoof] = 1;
 		_G(flags)[V024] = 1;
 		_flag1 = true;
 		_val7 = 0;
@@ -477,7 +480,7 @@ void Room103::daemon() {
 		break;
 
 	case 17:
-		_G(flags)[V023] = 0;
+		_G(flags)[kHarryComingToRoof] = 0;
 		_G(wilbur_should) = 6;
 		_G(flags)[kDisableFootsteps] = 0;
 		ws_walk(325, 173, 0, 10016);
@@ -611,7 +614,7 @@ void Room103::daemon() {
 		case 8:
 			_val2 = 2;
 
-			if (!_G(flags)[V023])
+			if (!_G(flags)[kHarryComingToRoof])
 				pal_fade_init(_G(kernel).first_fade, 255, 0, 30, 1001);
 			break;
 
@@ -639,7 +642,7 @@ void Room103::parser() {
 	_G(kernel).trigger_mode = KT_DAEMON;
 
 	if (!_G(walker).wilbur_said(SAID)) {
-		if (player_said("gear", "satellite dish") && _G(flags)[V023] == 0) {
+		if (player_said("gear", "satellite dish") && _G(flags)[kHarryComingToRoof] == 0) {
 			_G(wilbur_should) = 4;
 			kernel_trigger_dispatch_now(kCHANGE_WILBUR_ANIMATION);
 			player_set_commands_allowed(false);
diff --git a/engines/m4/riddle/flags.h b/engines/m4/riddle/flags.h
index c5827542a9e..f10e3adedd2 100644
--- a/engines/m4/riddle/flags.h
+++ b/engines/m4/riddle/flags.h
@@ -55,7 +55,7 @@ enum {
 	V020 =  20,
 	V021 =  21,
 	V022 =  22,
-	V023 =  23,
+	kHarryComingToRoof =  23,
 	V024 =  24,
 	V025 =  25,
 	V026 =  26,




More information about the Scummvm-git-logs mailing list