[Scummvm-git-logs] scummvm master -> 3031dc6546825dba40445fd03e5b869933655d3a
eriktorbjorn
eriktorbjorn at telia.com
Sat Jul 17 07:35:51 UTC 2021
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:
07617f8c5f SCUMM: Fix bad Maniac Mansion crack in GOG (and Steam?) version
3031dc6546 NEWS: Mention that ScummVM will now try to "uncrack" Maniac Mansion
Commit: 07617f8c5f7b136fb0b873b52e5199654af9ec9c
https://github.com/scummvm/scummvm/commit/07617f8c5f7b136fb0b873b52e5199654af9ec9c
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2021-07-17T09:20:10+02:00
Commit Message:
SCUMM: Fix bad Maniac Mansion crack in GOG (and Steam?) version
The enhanced version of Maniac Mansion currently sold on GOG (and
probably Steam as well) has a one-byte change to the script handling
keypads, presumably to disable the security door copy protection. (Which
ScummVM disables by default anyway, by leaving the door open.)
Unfortunately, this crack was made without any deeper understanding of
the game (said the guy who never ever played the whole thing :-). It
allows you to enter either the correct code, or any code as long as you
get the last symbol wrong. But the script is also used for other keypad
puzzles in the game (e.g. Edna's phone number and safe combination). So
those puzzles are completely nerfed as well.
I have reported this as a bug to both GOG and Disney Games & Apps
Support. GOG has acknowledged that there is a problem, which is more
than Disney has done so far, but it remains unclear whether or not they
will fix it.
Changed paths:
engines/scumm/resource.cpp
diff --git a/engines/scumm/resource.cpp b/engines/scumm/resource.cpp
index b2cc02d266..c012773c05 100644
--- a/engines/scumm/resource.cpp
+++ b/engines/scumm/resource.cpp
@@ -1724,6 +1724,30 @@ void ScummEngine::applyWorkaroundIfNeeded(ResType type, int idx) {
warning("Could not patch MI2 Mac boot script");
delete[] patchedScript;
+ } else
+
+ // There is a cracked version of Maniac Mansion v2 that attempts to
+ // remove the security door copy protection. With it, any code is
+ // accepted as long as you get the last digit wrong. Unfortunately,
+ // it changes a script that is used by all keypads in the game, which
+ // means some puzzles are completely nerfed.
+ //
+ // Even worse, this is the version that GOG (and apparently Steam as
+ // well) are selling. No, seriously! I've reported this as a bug, but
+ // it remains unclear whether or not they will fix it.
+
+ if (_game.id == GID_MANIAC && _game.version == 2 && _game.platform == Common::kPlatformDOS && type == rtScript && idx == 44 && size == 199) {
+ byte *data = getResourceAddress(type, idx);
+
+ if (data[184] == 0) {
+ Common::MemoryReadStream stream(data, size);
+ Common::String md5 = Common::computeStreamMD5AsString(stream);
+
+ if (md5 == "11adc9b47497b26ac2b9627e0982b3fe") {
+ warning("Removing bad copy protection crack from keypad script");
+ data[184] = 1;
+ }
+ }
}
}
Commit: 3031dc6546825dba40445fd03e5b869933655d3a
https://github.com/scummvm/scummvm/commit/3031dc6546825dba40445fd03e5b869933655d3a
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2021-07-17T09:35:06+02:00
Commit Message:
NEWS: Mention that ScummVM will now try to "uncrack" Maniac Mansion
Changed paths:
NEWS.md
diff --git a/NEWS.md b/NEWS.md
index 753ded2d2e..0271a50227 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -115,6 +115,10 @@ For a more comprehensive changelog of the latest experimental code, see:
- Enabled difficulty selection in the version of Monkey Island 2 that was
included on the LucasArts Mac CD Game Pack II compilation. (It had been
disabled along with the copy protection.)
+ - Repair clumsy crack in Maniac Mansion (enhanced)'s keypad script. This
+ means that the GOG (and Steam?) versions no longer will accept incorrect
+ incorrect numbers, e.g. for Edna's phone number. (Why are they selling
+ a cracked version anyway?!)
Tinsel:
- Enabled the Return to Launcher feature.
More information about the Scummvm-git-logs
mailing list