[Scummvm-git-logs] scummvm master -> 298a511da5045d9a0296059ab65ba5e05ea47417
dwatteau
noreply at scummvm.org
Fri Mar 28 04:53:15 UTC 2025
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
3c20a0cb05 SCUMM: Add detection entry for fan-made Italian translation of Loom FM-TOWNS
4c5242e6c3 SCUMM: Add detection entry for fan-made Italian translation of Indy3 VGA
0f9f9d2568 SCUMM: Add detection entry for fan-made Italian translation of Indy3 TOWNS
298a511da5 SCUMM: Detect and reject the seriously corrupted "ryf's Indy3act" French translation
Commit: 3c20a0cb0509ea66201b8f622be095e257aeb8c3
https://github.com/scummvm/scummvm/commit/3c20a0cb0509ea66201b8f622be095e257aeb8c3
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2025-03-28T03:30:18+01:00
Commit Message:
SCUMM: Add detection entry for fan-made Italian translation of Loom FM-TOWNS
This is the 'tsm/Carmine' translation from OldGamesItalia.
Reported by luke-70it in Trac#15744.
Changed paths:
devtools/scumm-md5.txt
engines/scumm/scumm-md5.h
diff --git a/devtools/scumm-md5.txt b/devtools/scumm-md5.txt
index ae997422dd6..e2c2802694b 100644
--- a/devtools/scumm-md5.txt
+++ b/devtools/scumm-md5.txt
@@ -203,6 +203,7 @@ loom Loom
# 37f56ceb13e401a7ac7d9e6b37fecaf7 5748 ru DOS EGA EGA Fan translation PRCA RuSCUMM v1.1 (uses custom launcher)
cd46c9f122272d02bbf79332ff521898 5748 ru DOS EGA EGA Fan translation PRCA RuSCUMM v1.2 16 Mar 07
303708df4166067540a5c481eceb04ef 7540 ru FM-TOWNS FM-TOWNS - Fan translation PRCA RuSCUMM v1.0 16 Mar 07
+ 2edee19abf8ab2868b09c5959683dbd4 7540 it FM-TOWNS FM-TOWNS - Fan translation tsm/Carmine OldGamesItalia
monkey The Secret of Monkey Island
c666a998af90d81db447eccba9f72c8d -1 en Atari No AdLib EGA -
diff --git a/engines/scumm/scumm-md5.h b/engines/scumm/scumm-md5.h
index 97815fd5759..31bfe64ad06 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 Mon Mar 24 17:34:20 2025
+ This file was generated by the md5table tool on Thu Mar 27 21:33:00 2025
DO NOT EDIT MANUALLY!
*/
@@ -170,6 +170,7 @@ static const MD5Table md5table[] = {
{ "2d9d46f23cb07bbc90b8ad464d3e4ff8", "atlantis", "Mac", "CD", -1, Common::EN_ANY, Common::kPlatformMacintosh },
{ "2e85f7aa054930c692a5b1bed1dfc295", "football2002", "", "Patched", -1, Common::EN_ANY, Common::kPlatformUnknown },
{ "2e8a1f76ea33bc5e04347646feee173d", "pajama3", "", "", -1, Common::DE_DEU, Common::kPlatformUnknown },
+ { "2edee19abf8ab2868b09c5959683dbd4", "loom", "FM-TOWNS", "", 7540, Common::IT_ITA, Common::kPlatformFMTowns },
{ "2f7583da072d027057983c43bb3fa53f", "spyfox", "HE 100", "", 49742, Common::EN_GRB, Common::kPlatformWii },
{ "2fe369ad70f52a8cf7ad6077ee64f81a", "loom", "EGA", "EGA", 5748, Common::DE_DEU, Common::kPlatformAmiga },
{ "303708df4166067540a5c481eceb04ef", "loom", "FM-TOWNS", "", 7540, Common::RU_RUS, Common::kPlatformFMTowns },
Commit: 4c5242e6c384ad47d0e2fdccc6969e404fef878c
https://github.com/scummvm/scummvm/commit/4c5242e6c384ad47d0e2fdccc6969e404fef878c
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2025-03-28T04:04:53+01:00
Commit Message:
SCUMM: Add detection entry for fan-made Italian translation of Indy3 VGA
2007 translation from OldGamesItalia.
Reported by luke-70it in Trac#15744.
Changed paths:
devtools/scumm-md5.txt
engines/scumm/scumm-md5.h
diff --git a/devtools/scumm-md5.txt b/devtools/scumm-md5.txt
index e2c2802694b..448e6a9186c 100644
--- a/devtools/scumm-md5.txt
+++ b/devtools/scumm-md5.txt
@@ -161,6 +161,7 @@ indy3 Indiana Jones and the Last Crusade
f3c4ed6101b4c26c762b2dfb16b1481d 6295 fr DOS VGA VGA Fan translation atp-fr.com, v0.9a
cb8feea195746e042368e2b738766d8b -1 ko DOS VGA VGA Fan translation ScummVM-Kor
+ e893df6788fc63fef936dd531f9712ec 6295 it DOS VGA VGA Fan translation OldGamesItalia (2007)
275786f0f6894d1fe1ab5f1d103bb814 6295 ru DOS VGA VGA Fan translation
loom Loom
diff --git a/engines/scumm/scumm-md5.h b/engines/scumm/scumm-md5.h
index 31bfe64ad06..66055ef5dc0 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 Thu Mar 27 21:33:00 2025
+ This file was generated by the md5table tool on Fri Mar 28 02:49:06 2025
DO NOT EDIT MANUALLY!
*/
@@ -725,6 +725,7 @@ static const MD5Table md5table[] = {
{ "e6cd81b25ab1453a8a6d3482118c391e", "pass", "", "", 7857, Common::EN_ANY, Common::kPlatformDOS },
{ "e72bb4c2b613db2cf50f89ff6350e70a", "ft", "", "", -1, Common::ES_ESP, Common::kPlatformUnknown },
{ "e781230da44a44e2f0770edb2b3b3633", "maniac", "V2", "V2", 1988, Common::EN_ANY, Common::kPlatformAmiga },
+ { "e893df6788fc63fef936dd531f9712ec", "indy3", "VGA", "VGA", 6295, Common::IT_ITA, Common::kPlatformDOS },
{ "e8d0697906e53fee8b7e9f5652696da8", "atlantis", "", "CD", 11915, Common::JA_JPN, Common::kPlatformDOS },
{ "e9271b3d0694c7101f10d675ab7c0133", "freddi4", "HE 99", "", -1, Common::IT_ITA, Common::kPlatformWindows },
{ "e94c7cc3686fce406d3c91b5eae5a72d", "zak", "V2", "V2", 1916, Common::EN_ANY, Common::kPlatformAmiga },
Commit: 0f9f9d25688d3ada7e5d03fdfa06447822554a47
https://github.com/scummvm/scummvm/commit/0f9f9d25688d3ada7e5d03fdfa06447822554a47
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2025-03-28T04:05:54+01:00
Commit Message:
SCUMM: Add detection entry for fan-made Italian translation of Indy3 TOWNS
v1.0 2007 translation from Glorifindel at OldGamesItalia/IAGTG.
Reported by luke-70it in Trac#15744.
Changed paths:
devtools/scumm-md5.txt
engines/scumm/scumm-md5.h
diff --git a/devtools/scumm-md5.txt b/devtools/scumm-md5.txt
index 448e6a9186c..c83eaf93068 100644
--- a/devtools/scumm-md5.txt
+++ b/devtools/scumm-md5.txt
@@ -163,6 +163,7 @@ indy3 Indiana Jones and the Last Crusade
cb8feea195746e042368e2b738766d8b -1 ko DOS VGA VGA Fan translation ScummVM-Kor
e893df6788fc63fef936dd531f9712ec 6295 it DOS VGA VGA Fan translation OldGamesItalia (2007)
275786f0f6894d1fe1ab5f1d103bb814 6295 ru DOS VGA VGA Fan translation
+ b27efc535df2bc2db998947c15ce57fb 7552 it FM-TOWNS FM-TOWNS - Fan translation Glorifindel at OldGamesItalia/IAGTG (2007), v1.0
loom Loom
4dc780f1bc587a193ce8a97652791438 5748 en Amiga EGA EGA - Antti Leimi, Andrea Petrucci
diff --git a/engines/scumm/scumm-md5.h b/engines/scumm/scumm-md5.h
index 66055ef5dc0..61146b0a53c 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 Fri Mar 28 02:49:06 2025
+ This file was generated by the md5table tool on Fri Mar 28 03:02:43 2025
DO NOT EDIT MANUALLY!
*/
@@ -577,6 +577,7 @@ static const MD5Table md5table[] = {
{ "b100abf7ff83146df50db78dbd5e9cfa", "freddicove", "HE 100", "", 41182, Common::FR_FRA, Common::kPlatformUnknown },
{ "b23f7cd7c304d7dff08e92a96120d5b4", "zak", "V1", "V1", 1896, Common::EN_ANY, Common::kPlatformDOS },
{ "b250d0f9cc83f80ced56fe11a4fb057c", "maniac", "V2", "V2", 1988, Common::EN_ANY, Common::kPlatformDOS },
+ { "b27efc535df2bc2db998947c15ce57fb", "indy3", "FM-TOWNS", "", 7552, Common::IT_ITA, Common::kPlatformFMTowns },
{ "b289a2a8cbedbf45786e0b4ad2f510f1", "samnmax", "Floppy", "Floppy", -1, Common::IT_ITA, Common::kPlatformDOS },
{ "b2bc1df014ca9a563396cce691e9f23a", "socks", "HE 99", "", 13668, Common::FR_FRA, Common::kPlatformWindows },
{ "b47be81e39a9710f6f595f7b527b60f8", "puttrace", "HE 99", "", 32923, Common::EN_GRB, Common::kPlatformWindows },
Commit: 298a511da5045d9a0296059ab65ba5e05ea47417
https://github.com/scummvm/scummvm/commit/298a511da5045d9a0296059ab65ba5e05ea47417
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2025-03-28T05:52:47+01:00
Commit Message:
SCUMM: Detect and reject the seriously corrupted "ryf's Indy3act" French translation
This is a very old fan-made translation (circa 2001-2002), if not one
of the first ones, targeted at the VGA release of Indy3.
Problem is that it used very poor tooling (mostly a hex editor and
luck I believe, trying not to change any game offset) and it deeply
corrupted several .LFL files in the process, also inserting bogus
data in some opcodes.
Rejecting it feels safer, we don't want bug reports about a release
having some many corrupted resources.
Checked against a copy I had on a 2004 hard drive⦠and I do remember
already hitting deep issues when playing this translation, back in
the ScummVM 0.7-0.8 days.
Good news is that alternatives exist (with much better grammar and
spelling along the way), and as far as I can remember, ScummTr was
precisely created for the French ATP team in response to the poor
results of this first attempt.
(Night work sponsored by my sleep paralysis demons.)
Changed paths:
engines/scumm/metaengine.cpp
diff --git a/engines/scumm/metaengine.cpp b/engines/scumm/metaengine.cpp
index 49f2c4660ce..97970d00d37 100644
--- a/engines/scumm/metaengine.cpp
+++ b/engines/scumm/metaengine.cpp
@@ -365,6 +365,38 @@ Common::Error ScummMetaEngine::createInstance(OSystem *syst, Engine **engine,
debug(1, "Using MD5 '%s'", res.md5.c_str());
}
+ bool foundCorruptedFanTranslation = false;
+
+ // Some fan-made translations used bad tools or techniques which deeply
+ // corrupted the resources of the game, making them buggy or even crash.
+ //
+ // One such example is a French translation of Indy3 VGA (ca. 2001-2002),
+ // known as "ryf's Indy3act", which contains corrupted opcodes in at least
+ // 07.LFL, 34.LFL and 72.LFL.
+ if (res.md5 == "1875b90fade138c9253a8e967007031a" && !strcmp(res.game.gameid, "indy3") && res.game.platform == Common::kPlatformDOS && (res.game.features & GF_OLD256)) {
+ Common::String md5OtherRes;
+ Common::FSNode resFile;
+ Common::File f;
+
+ // Look for 07.LFL, since this translation shares the English 00.LFL file
+ if (searchFSNode(fslist, "07.LFL", resFile))
+ f.open(resFile);
+ if (f.isOpen()) {
+ md5OtherRes = Common::computeStreamMD5AsString(f, kMD5FileSizeLimit);
+ f.close();
+ }
+
+ if (!md5OtherRes.empty() && md5OtherRes == "0f08943f6cda84ae4fb9b1b1af4f3c58")
+ foundCorruptedFanTranslation = true;
+ }
+
+ if (foundCorruptedFanTranslation) {
+ // Like ADGF_UNSUPPORTED, but cheap
+ GUIErrorMessage(_("This fan-made translation is not supported, because it is known to contain\n"
+ "corrupted resources that might make it crash or seriously misbehave."));
+ return Common::kUnsupportedGameidError;
+ }
+
// We don't support the "Lite" version off puttzoo iOS because it contains
// the full game.
if (!strcmp(res.game.gameid, "puttzoo") && !strcmp(res.extra, "Lite")) {
More information about the Scummvm-git-logs
mailing list