[Scummvm-git-logs] scummvm master -> f5eaef736d74b96709cafdc73a2a38e7ed1bd0d5

dwatteau noreply at scummvm.org
Wed Sep 18 23:32:35 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:
e3b491c0fa SCUMM: MONKEY2: Promote Trac#2826 to `kEnhGameBreakingBugFixes` enhancement
f5eaef736d SCUMM: Add confirmed size/version for 8-disk EGA French Monkey1


Commit: e3b491c0fa979571cb816987892e01a3c2cd7316
    https://github.com/scummvm/scummvm/commit/e3b491c0fa979571cb816987892e01a3c2cd7316
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2024-09-19T01:17:39+02:00

Commit Message:
SCUMM: MONKEY2: Promote Trac#2826 to `kEnhGameBreakingBugFixes` enhancement

I've checked the original DOS/English floppy release coming with my LRG
Monkey Island Anthology set, and yes, the original would indeed print a
fatal "Object 1047 not found in room XX" error in this case. It really is
a script error in the earliest releases, as was said in the ticket above,
many moons ago.

This workaround fixes a fatal error, so it can be marked as a
kEnhGameBreakingBugFixes enhancement. We just replicate what the Macintosh
release did in order to prevent this problem, back then.

(If anyone is brave enough to check how the Special Edition behaves in this
case, I'd be curious to know... did they hardcode a fix in the interpreter
too?...)

Changed paths:
    engines/scumm/script.cpp


diff --git a/engines/scumm/script.cpp b/engines/scumm/script.cpp
index b8c5b2ae99b..6582ea3ffd8 100644
--- a/engines/scumm/script.cpp
+++ b/engines/scumm/script.cpp
@@ -171,11 +171,19 @@ int ScummEngine::getVerbEntrypoint(int obj, int entry) {
 	// WORKAROUND for bug #2826: Disallow pulling the rope if it's
 	// already in the player's inventory.
 	//
-	// TODO: it would be nice to explore what the impacted original
-	// interpreter did in this case, and decide which Enhancement
-	// value we give to this, but so far, I couldn't locate an
-	// original release (interpreter?) showing this issue.  -dwa
-	if (_game.id == GID_MONKEY2 && obj == 1047 && entry == 6 && whereIsObject(obj) == WIO_INVENTORY) {
+	// Doing so would cause fatal errors, such as "Object 1047 not
+	// found in room 98" in (at least) the original DOS/English
+	// release, if one loads the savegame in the bug ticket above,
+	// and pulls the rope after moving to the first room on the
+	// right. The same error happened with the original interpreter.
+	//
+	// Script 97-1047 was fixed in later releases, in different ways.
+	// On Amiga, a getObjectOwner() check was added; the Macintosh
+	// release completely disables pulling the rope, instead. We
+	// choose to follow the latter, as it's simpler, and the former
+	// made Guybrush silent when trying to trigger this action.
+	if (_game.id == GID_MONKEY2 && obj == 1047 && entry == 6 && whereIsObject(obj) == WIO_INVENTORY &&
+		enhancementEnabled(kEnhGameBreakingBugFixes)) {
 		return 0;
 	}
 


Commit: f5eaef736d74b96709cafdc73a2a38e7ed1bd0d5
    https://github.com/scummvm/scummvm/commit/f5eaef736d74b96709cafdc73a2a38e7ed1bd0d5
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2024-09-19T01:22:34+02:00

Commit Message:
SCUMM: Add confirmed size/version for 8-disk EGA French Monkey1

Hinted by one of the preservationists helping Aaron Giles, thanks!

Changed paths:
    devtools/scumm-md5.txt
    engines/scumm/scumm-md5.h


diff --git a/devtools/scumm-md5.txt b/devtools/scumm-md5.txt
index 2ad7d5f9608..4686d7f9958 100644
--- a/devtools/scumm-md5.txt
+++ b/devtools/scumm-md5.txt
@@ -209,7 +209,7 @@ monkey	The Secret of Monkey Island
 	0a41311d462b6639fc45297b9044bf16	-1	es	Atari	No AdLib	EGA	-
 
 	49210e124e4c2b30f1290a9ef6306301	8357	en	DOS	EGA	EGA	8 disk v1.0, 9/18/90	Fingolfin
-	1dd3c11ea4439adfe681e4e405b624e1	-1	fr	DOS	EGA	EGA	8 disk	Andrea Petrucci
+	1dd3c11ea4439adfe681e4e405b624e1	8357	fr	DOS	EGA	EGA	8 disk v1.0, 9/7/90 II	Andrea Petrucci
 	fc6b6148e80d67939d9a18697c0f626a	8367	de	DOS	EGA	EGA	8 disk	ghoostkilla
 	910e31cffb28226bd68c569668a0d6b4	8367	es	DOS	EGA	EGA	8 disk	Andrea Petrucci
 	1d05cd189e4908f79b57e78a4402f292	8357	en	DOS	EGA	EGA	4 disk	Andrea Petrucci
diff --git a/engines/scumm/scumm-md5.h b/engines/scumm/scumm-md5.h
index 5e104a143ff..83d73b85130 100644
--- a/engines/scumm/scumm-md5.h
+++ b/engines/scumm/scumm-md5.h
@@ -1,5 +1,5 @@
 /*
-  This file was generated by the md5table tool on Sun Jul 07 07:06:56 2024
+  This file was generated by the md5table tool on Wed Sep 18 23:18:26 2024
   DO NOT EDIT MANUALLY!
  */
 
@@ -118,7 +118,7 @@ static const MD5Table md5table[] = {
 	{ "1d05cd189e4908f79b57e78a4402f292", "monkey", "EGA", "EGA", 8357, Common::EN_ANY, Common::kPlatformDOS },
 	{ "1d56c91148cbdfab7a5f3a6040cbb52f", "pajama", "HE 101", "", 66878, Common::FR_FRA, Common::kPlatformWii },
 	{ "1d7a2e1ddcade791e2de0cfceac86725", "pajama", "", "", 66377, Common::FR_FRA, Common::kPlatformUnknown },
-	{ "1dd3c11ea4439adfe681e4e405b624e1", "monkey", "EGA", "EGA", -1, Common::FR_FRA, Common::kPlatformDOS },
+	{ "1dd3c11ea4439adfe681e4e405b624e1", "monkey", "EGA", "EGA", 8357, Common::FR_FRA, Common::kPlatformDOS },
 	{ "1dd7aa088e09f96d06818aa9a9deabe0", "indy3", "Mac", "EGA", 5361, Common::EN_ANY, Common::kPlatformMacintosh },
 	{ "1ed22f601f8b3695804a6583cc3083f1", "puttrace", "HE 98.5", "", 32898, Common::NL_NLD, Common::kPlatformUnknown },
 	{ "1f2e62b5a9c50589fc342285a6bb3a27", "freddi", "HE 73", "", -1, Common::HE_ISR, Common::kPlatformWindows },




More information about the Scummvm-git-logs mailing list