[Scummvm-git-logs] scummvm master -> 317ca82705ec03a488c8f7d341cbca916f42ade7

dwatteau noreply at scummvm.org
Wed Sep 17 08:52:15 UTC 2025


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

Summary:
79bebb1d5b SCUMM: Add support for Catalan MM
1a1f0f5aef SCUMM: Add MD5 for Catalan translations
3f75a66804 SCUMM: Add Catalan hardcoded dialogs
5728f1f693 SCUMM: Fix bug that breaks hardcoded dialogs
317ca82705 SCUMM: Fix bug that shows wrong hardcoded dialogs


Commit: 79bebb1d5b455053bc0384877750c1af35ab856f
    https://github.com/scummvm/scummvm/commit/79bebb1d5b455053bc0384877750c1af35ab856f
Author: Ivan L. Negrell (jibun86 at gmail.com)
Date: 2025-09-17T10:52:10+02:00

Commit Message:
SCUMM: Add support for Catalan MM

- Add MM Catalan font and special characters
- Add MM Catalan prepositions
- Add MD5 detection entries for Catalan translation of MM

Changed paths:
    devtools/scumm-md5.txt
    engines/scumm/charset-fontdata.cpp
    engines/scumm/script_v2.cpp
    engines/scumm/scumm-md5.h


diff --git a/devtools/scumm-md5.txt b/devtools/scumm-md5.txt
index 6c95e91cec3..db1d89f6a38 100644
--- a/devtools/scumm-md5.txt
+++ b/devtools/scumm-md5.txt
@@ -88,6 +88,11 @@ maniac	Maniac Mansion
 	f0d294891b813d3dcc525b89bc318815	1988	ru	DOS	V2	V2	-	Fan translation?, sev
 	06865ea0fae1aeef2d6b96d8ae7ecc41	1988	ru	DOS	V2	V2	-	Fan translation	PRCA RuSCUMM 1.0
 	7c731228dc1cdc33ed426313d89d07e7	1988	he	DOS	V2	V2	-	Hebrew fan translation
+	
+	7f7595394bf236c3c803ad283b8535f7	1972	ca	DOS	V1	V1	-	Fan translation by Ce Trencada
+	bea8f1b2466375099948801380ae5560	1972	ca	DOS	V1	V1 Updated	-	Fan translation by Ce Trencada
+	210982c683b979d3cf42db3c84f20a0f	1988	ca	DOS	V2	V2	-	Fan translation by Ce Trencada
+	7a73651b127460c07e0bdf3631508152	1988	ca	DOS	V2	V2 Updated	-	Fan translation by Ce Trencada
 
 zak	Zak McKracken and the Alien Mindbenders
 	254fede2f15dbb32a23760d601b01816	1914	en	C64	V1	-	-
diff --git a/engines/scumm/charset-fontdata.cpp b/engines/scumm/charset-fontdata.cpp
index 7633ef58b63..302bc0e4cec 100644
--- a/engines/scumm/charset-fontdata.cpp
+++ b/engines/scumm/charset-fontdata.cpp
@@ -620,6 +620,29 @@ static const byte hebrewCharsetDataV2[] = {
 		0x00, 0xf8, 0x44, 0x44, 0x44, 0x44, 0xc4, 0x00,
 };
 
+// Catalan MM font.
+static const byte catalanCharsetDataV2[] = {
+	34, 32,
+	36, 33,
+	37, 37,
+	38, 41,
+	39, 2,
+	47, 38,
+	59, 39,
+	60, 40,
+	61, 16,
+	62, 30,
+	91, 20,
+	92, 19,
+	93, 31,
+	95, 22,
+	123, 29,
+	124, 34,
+	125, 35,
+	126, 36,
+	127, 18,
+};
+
 // Special characters
 static const byte specialCharsetData[] = {
 	0x18, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x18, 0x00,
@@ -652,6 +675,20 @@ static const byte specialCharsetData[] = {
 	0x08, 0x10, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
 	0x10, 0x08, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
 	0x10, 0x08, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00,
+	0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,
+	0x08, 0x10, 0x00, 0x38, 0x18, 0x18, 0x3C, 0x00,
+	0x10, 0x08, 0x3C, 0x66, 0x7E, 0x66, 0x66, 0x00,
+	0x10, 0x08, 0x7E, 0x60, 0x7C, 0x60, 0x7E, 0x00,
+	0x08, 0x10, 0x00, 0x3C, 0x66, 0x66, 0x3C, 0x00,
+	0x08, 0x10, 0x00, 0x66, 0x66, 0x66, 0x3E, 0x00,
+	0x00, 0x6C, 0x00, 0x66, 0x66, 0x66, 0x3E, 0x00,
+	0x08, 0x10, 0x7E, 0x60, 0x7C, 0x60, 0x7E, 0x00,
+	0x10, 0x08, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00,
+	0x08, 0x10, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00,
+	0x08, 0x10, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00,
+	0x08, 0x10, 0x3C, 0x18, 0x18, 0x18, 0x3C, 0x00,
+	0x66, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x3C, 0x00,
+	0x3C, 0x66, 0x60, 0x60, 0x66, 0x3C, 0x18, 0x38,
 };
 
 #ifdef USE_TTS
@@ -714,6 +751,11 @@ CharsetRendererV2::CharsetRendererV2(ScummEngine *vm, Common::Language language)
 		replacementChars = sizeof(hebrewCharsetMapV2) / 2;
 		replacementData = hebrewCharsetDataV2;
 		break;
+	case Common::CA_ESP:
+		replacementMap = catalanCharsetDataV2;
+		replacementChars = sizeof(catalanCharsetDataV2) / 2;
+		replacementData = specialCharsetData;
+		break;
 	default:
 		if (_vm->_game.version == 1 && !(_vm->_game.features & GF_DEMO)) {
 			replacementMap = englishCharsetDataV1;
diff --git a/engines/scumm/script_v2.cpp b/engines/scumm/script_v2.cpp
index 0ae8c03d1ea..241d938aaff 100644
--- a/engines/scumm/script_v2.cpp
+++ b/engines/scumm/script_v2.cpp
@@ -1037,6 +1037,7 @@ void ScummEngine_v2::drawPreposition(int index) {
 			{ " ", " en", " con", " en", " a" },     // Spanish
 			{ " ", " \x7f", " \x7f", " na", " \x7f" },// Russian
 			{ " ", " B", " SN", " SM", " M" },       // Hebrew
+			{ " ", " en", " amb", " en", " a" },     // Catalan
 			};
 		int lang;
 		switch (_language) {
@@ -1058,6 +1059,9 @@ void ScummEngine_v2::drawPreposition(int index) {
 		case Common::HE_ISR:
 			lang = 6;
 			break;
+		case Common::CA_ESP:
+			lang = 7;
+			break;
 		default:
 			lang = 0;	// Default to english
 		}
diff --git a/engines/scumm/scumm-md5.h b/engines/scumm/scumm-md5.h
index 356993d0283..00596afa7e4 100644
--- a/engines/scumm/scumm-md5.h
+++ b/engines/scumm/scumm-md5.h
@@ -130,6 +130,7 @@ static const MD5Table md5table[] = {
 	{ "204453e33456c4faa26e276229fe5b76", "spyfox2", "", "Demo", 14689, Common::DE_DEU, Common::kPlatformWindows },
 	{ "20da6fce37805423966aaa8f3c2426aa", "atlantis", "Amiga", "Floppy", 12035, Common::FR_FRA, Common::kPlatformAmiga },
 	{ "2108d83dcf09f8adb4bc524669c8cf51", "PuttTime", "HE 99", "Updated", 62698, Common::EN_USA, Common::kPlatformUnknown },
+	{ "210982c683b979d3cf42db3c84f20a0f", "maniac", "V2", "V2", 1988, Common::CA_ESP, Common::kPlatformDOS },
 	{ "217cbb42286e2c286d2a511d229d96b9", "basketball", "", "Steam", -1, Common::EN_ANY, Common::kPlatformWindows },
 	{ "21a6592322f92550f144f68a8a4e685e", "dig", "", "", 661316652, Common::FR_FRA, Common::kPlatformMacintosh },
 	{ "21abe302e1b1e2b66d6f5c12e241ebfd", "freddicove", "unenc", "Unencrypted", -1, Common::RU_RUS, Common::kPlatformWindows },
@@ -414,6 +415,7 @@ static const MD5Table md5table[] = {
 	{ "7974365d3dc0f43a2748c975f91ff042", "monkey2", "", "", 11135, Common::ES_ESP, Common::kPlatformDOS },
 	{ "79b05f628586837e7166e82b2279bb50", "loom", "PC-Engine", "", 6532, Common::JA_JPN, Common::kPlatformPCEngine },
 	{ "7a2b6d8e8a645c9d534c8c4edc38a9c9", "freddi4", "HE 99", "Mini Game", 13609, Common::IT_ITA, Common::kPlatformWindows },
+	{ "7a73651b127460c07e0bdf3631508152", "maniac", "V2", "V2 Updated", 1988, Common::CA_ESP, Common::kPlatformDOS },
 	{ "7b4ee071eecadc2d8cd0c3509110825c", "puttzoo", "HE 100", "Remastered", -1, Common::EN_ANY, Common::kPlatformWindows },
 	{ "7bad72e332a59f9fcc1d437f4edad32a", "puttcircus", "", "", -1, Common::RU_RUS, Common::kPlatformUnknown },
 	{ "7c2e76087027eeee9c8f8985f93a1cc5", "freddi4", "", "Demo", 13584, Common::EN_ANY, Common::kPlatformUnknown },
@@ -426,6 +428,7 @@ static const MD5Table md5table[] = {
 	{ "7edd665bbede7ea8b7233f8e650be6f8", "samnmax", "", "CD", 9080, Common::FR_FRA, Common::kPlatformUnknown },
 	{ "7f2578d8d33a9ff525488a2d9ba617e4", "spyfox2", "", "Mini Game", 14689, Common::DE_DEU, Common::kPlatformWindows },
 	{ "7f45ddd6dbfbf8f80c0c0efea4c295bc", "maniac", "V1", "V1", 1972, Common::EN_ANY, Common::kPlatformDOS },
+	{ "7f7595394bf236c3c803ad283b8535f7", "maniac", "V1", "V1", 1972, Common::CA_ESP, Common::kPlatformDOS },
 	{ "7f945525abcd48015adf1632637a44a1", "pajama", "", "Demo", 18354, Common::FR_FRA, Common::kPlatformUnknown },
 	{ "7fbcff27c323499beaedd605e1ebd47d", "indy3", "Steam", "Steam", 561152, Common::EN_ANY, Common::kPlatformWindows },
 	{ "7fc6cdb46b4c9d384c52327f4bca6416", "football", "", "", -1, Common::EN_ANY, Common::kPlatformUnknown },
@@ -607,6 +610,7 @@ static const MD5Table md5table[] = {
 	{ "be2abe172f58db170de3a037daa1dd27", "puttputt", "HE 61", "", -1, Common::JA_JPN, Common::kPlatform3DO },
 	{ "be39a5d4db60e8aa736b9086778cb45c", "spyozon", "", "", 47119, Common::EN_GRB, Common::kPlatformWindows },
 	{ "be83e882b44f2767bc08d4f766ebc347", "maniac", "V2", "V2", -1, Common::DE_DEU, Common::kPlatformAtariST },
+	{ "bea8f1b2466375099948801380ae5560", "maniac", "V1", "V1 Updated", 1972, Common::CA_ESP, Common::kPlatformDOS },
 	{ "bf8b52fdd9a69c67f34e8e9fec72661c", "farm", "HE 71", "Demo", 18149, Common::EN_ANY, Common::kPlatformWindows },
 	{ "bfdf584b01503f0762baded581f6a0a2", "SoccerMLS", "", "", -1, Common::EN_ANY, Common::kPlatformWindows },
 	{ "c0039ad982999c92d0de81910d640fa0", "freddi", "HE 71", "", 26159, Common::NL_NLD, Common::kPlatformWindows },


Commit: 1a1f0f5aef61a20daa0ac738a07647de471f4889
    https://github.com/scummvm/scummvm/commit/1a1f0f5aef61a20daa0ac738a07647de471f4889
Author: Ivan L. Negrell (jibun86 at gmail.com)
Date: 2025-09-17T10:52:10+02:00

Commit Message:
SCUMM: Add MD5 for Catalan translations

- Add MD5 detection entries for Catalan translations
- Update MM Catalan entries to match the rest
- Add missing entry for Catalan in md5table.cpp

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


diff --git a/devtools/md5table.cpp b/devtools/md5table.cpp
index add49f27f86..cbff4585da3 100644
--- a/devtools/md5table.cpp
+++ b/devtools/md5table.cpp
@@ -116,6 +116,7 @@ static const StringMap langMap[] = {
 	{ "nl",		"NL_NLD" },
 	{ "nb",		"NB_NOR" },
 	{ "pl",		"PL_POL" },
+	{ "ca",		"CA_ESP" },
 
 	{ "All",	"UNK_LANG" },
 	{ "All?",	"UNK_LANG" },
diff --git a/devtools/scumm-md5.txt b/devtools/scumm-md5.txt
index db1d89f6a38..1f2edc8dd8f 100644
--- a/devtools/scumm-md5.txt
+++ b/devtools/scumm-md5.txt
@@ -89,10 +89,10 @@ maniac	Maniac Mansion
 	06865ea0fae1aeef2d6b96d8ae7ecc41	1988	ru	DOS	V2	V2	-	Fan translation	PRCA RuSCUMM 1.0
 	7c731228dc1cdc33ed426313d89d07e7	1988	he	DOS	V2	V2	-	Hebrew fan translation
 	
-	7f7595394bf236c3c803ad283b8535f7	1972	ca	DOS	V1	V1	-	Fan translation by Ce Trencada
-	bea8f1b2466375099948801380ae5560	1972	ca	DOS	V1	V1 Updated	-	Fan translation by Ce Trencada
-	210982c683b979d3cf42db3c84f20a0f	1988	ca	DOS	V2	V2	-	Fan translation by Ce Trencada
-	7a73651b127460c07e0bdf3631508152	1988	ca	DOS	V2	V2 Updated	-	Fan translation by Ce Trencada
+	7f7595394bf236c3c803ad283b8535f7	1972	ca	DOS	V1	V1	Fan translation v1.0	Ce Trencada
+	bea8f1b2466375099948801380ae5560	1972	ca	DOS	V1	V1	Fan translation v1.1	Ce Trencada
+	210982c683b979d3cf42db3c84f20a0f	1988	ca	DOS	V2	V2	Fan translation v1.0	Ce Trencada
+	7a73651b127460c07e0bdf3631508152	1988	ca	DOS	V2	V2	Fan translation v1.1	Ce Trencada
 
 zak	Zak McKracken and the Alien Mindbenders
 	254fede2f15dbb32a23760d601b01816	1914	en	C64	V1	-	-
@@ -169,6 +169,13 @@ indy3	Indiana Jones and the Last Crusade
 	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
+	
+	11aa9496368c171096c8daf5a748df49	5361	ca	DOS	EGA	EGA	Fan translation v1.0	Ce Trencada
+	bd54798acec7af5775cadd79f2042b1e	7552	ca	FM-TOWNS	FM-TOWNS	FM-TOWNS	Fan translation v1.0	Ce Trencada
+	58678c123e29c59338cde17fb5dc5753	6295	ca	DOS	VGA	VGA	Fan translation v1.0	Ce Trencada
+	bf7f24990d700329194d375aecc4d853	5361	ca	DOS	EGA	EGA	Fan translation v1.1	Ce Trencada
+	18f13138589306482a6553dec3a5ca7f	7552	ca	FM-TOWNS	FM-TOWNS	FM-TOWNS	Fan translation v1.1	Ce Trencada
+	9f063c54a4119056333d99d38b48e41f	6295	ca	DOS	VGA	VGA	Fan translation v1.1	Ce Trencada
 
 loom	Loom
 	4dc780f1bc587a193ce8a97652791438	5748	en	Amiga	EGA	EGA	-	Antti Leimi, Andrea Petrucci
@@ -276,6 +283,8 @@ monkey	The Secret of Monkey Island
 	60c7b33000059b44465b2ce104a52285	-1	ko	DOS	CD	CD	Fan translation	ScummVM-Kor
 	261cd0da05b12917458d1c816a9d2ec9	8955	pl	DOS	CD	CD	Fan translation	SCUMMPL
 	e222c2020a6e6a93bc13d01224ab73df	8357	ru	DOS	VGA	VGA	Fan translation	PRCA RuSCUMM v1.01 24/10/2021
+	
+	f27dc913b7fb3eb5b48bde1e4a687102	9135	ca	DOS	SE Talkie	Unofficial SE Talkie	Fan translation v1.0	Ce Trencada
 
 pass	Passport to Adventure
 	e6cd81b25ab1453a8a6d3482118c391e	7857	en	DOS	-	-	v1.0 9/14/90	Fingolfin
@@ -356,6 +365,8 @@ atlantis	Indiana Jones and the Fate of Atlantis
 	32765851cd5ed099f8da36a4a6144c7e	-1	ko	DOS	-	CD	Fan translation	ScummVM-Kor
 	add05fa3f50d9264f47638516c9496dd	12035	ru	DOS	-	CD	Fan translation	PRCA RuSCUMM v1.00 23/12/2007
 	b7479cd302cd82f1cd2b5a12186d1401	12030	ru	DOS	-	Floppy	Fan translation	PRCA RuSCUMM v1.00 23/12/2007
+	
+	e0b46640e2aeff477b8d6e98e65113f3	12035	ca	DOS	-	CD	Fan translation v1.0	Ce Trencada
 
 tentacle	Day of the Tentacle
 	acad97ab1c6fc2a5b2d98abf6db4a190	-1	en	All?	Floppy	Floppy	Version A ?
diff --git a/engines/scumm/scumm-md5.h b/engines/scumm/scumm-md5.h
index 00596afa7e4..15cad95ad5d 100644
--- a/engines/scumm/scumm-md5.h
+++ b/engines/scumm/scumm-md5.h
@@ -79,6 +79,7 @@ static const MD5Table md5table[] = {
 	{ "10d8e66cd11049ce64815ebb9fd76eb3", "spyozon", "", "", 47119, Common::FR_FRA, Common::kPlatformUnknown },
 	{ "111b36172bdc9bfe498e135878c03d38", "pajama", "HE 101", "", 66878, Common::NL_NLD, Common::kPlatformWii },
 	{ "114acdc2659a273c220f86ee9edb24c1", "maniac", "V2", "V2", 1988, Common::FR_FRA, Common::kPlatformDOS },
+	{ "11aa9496368c171096c8daf5a748df49", "indy3", "EGA", "EGA", 5361, Common::CA_ESP, Common::kPlatformDOS },
 	{ "11ddf1fde76e3156eb3a38da213f484e", "monkey2", "Amiga", "", -1, Common::IT_ITA, Common::kPlatformAmiga },
 	{ "11e6e244078ff09b0f3832e35420e0a7", "catalog", "", "Demo", 28539, Common::EN_ANY, Common::kPlatformWindows },
 	{ "12cdc256eae5a461bcc9a49975999841", "atlantis", "Floppy", "Demo", 12030, Common::EN_ANY, Common::kPlatformDOS },
@@ -104,6 +105,7 @@ static const MD5Table md5table[] = {
 	{ "183d7464902d40d00800e8ee1f04117c", "maniac", "V2", "V2", 1988, Common::DE_DEU, Common::kPlatformDOS },
 	{ "1875b90fade138c9253a8e967007031a", "indy3", "VGA", "VGA", 6295, Common::EN_ANY, Common::kPlatformDOS },
 	{ "187d315f6b5168f68680dfe8c3d76a3e", "loom", "EGA", "EGA", 5748, Common::HE_ISR, Common::kPlatformDOS },
+	{ "18f13138589306482a6553dec3a5ca7f", "indy3", "FM-TOWNS", "FM-TOWNS", 7552, Common::CA_ESP, Common::kPlatformFMTowns },
 	{ "1900e501a52fbf55bde6e4196f6d2aa6", "zak", "V2", "V2", -1, Common::IT_ITA, Common::kPlatformDOS },
 	{ "190ab1effbfd186cda821b71a9732c7d", "monkey", "SE", "SE", 1242812968, Common::EN_ANY, Common::kPlatformDOS },
 	{ "19263586f749a560c1adf8b3393a9593", "socks", "HE 85", "", -1, Common::RU_RUS, Common::kPlatformWindows },
@@ -302,6 +304,7 @@ static const MD5Table md5table[] = {
 	{ "57a5cfec9ef231a007043cc1917e8988", "freddi", "HE 100", "", -1, Common::EN_ANY, Common::kPlatformWii },
 	{ "57b0d89af79befe1cabce3bece869e7f", "tentacle", "Floppy", "Floppy", -1, Common::DE_DEU, Common::kPlatformDOS },
 	{ "58436e634f4fae1d9973591c2ffa1fcb", "spyfox", "HE 99", "Updated", 49675, Common::EN_GRB, Common::kPlatformUnknown },
+	{ "58678c123e29c59338cde17fb5dc5753", "indy3", "VGA", "VGA", 6295, Common::CA_ESP, Common::kPlatformDOS },
 	{ "589601b676c98b1c0c987bc031ab68b3", "chase", "HE 95", "", 39100, Common::EN_USA, Common::kPlatformUnknown },
 	{ "58c6b76a989650ced0bdf273bf5578f7", "baseball2001", "", "Steam", -1, Common::EN_ANY, Common::kPlatformWindows },
 	{ "58fdf4c7ad13540a734e18f8584cad89", "puttzoo", "", "", -1, Common::EN_ANY, Common::kPlatformMacintosh },
@@ -415,7 +418,7 @@ static const MD5Table md5table[] = {
 	{ "7974365d3dc0f43a2748c975f91ff042", "monkey2", "", "", 11135, Common::ES_ESP, Common::kPlatformDOS },
 	{ "79b05f628586837e7166e82b2279bb50", "loom", "PC-Engine", "", 6532, Common::JA_JPN, Common::kPlatformPCEngine },
 	{ "7a2b6d8e8a645c9d534c8c4edc38a9c9", "freddi4", "HE 99", "Mini Game", 13609, Common::IT_ITA, Common::kPlatformWindows },
-	{ "7a73651b127460c07e0bdf3631508152", "maniac", "V2", "V2 Updated", 1988, Common::CA_ESP, Common::kPlatformDOS },
+	{ "7a73651b127460c07e0bdf3631508152", "maniac", "V2", "V2", 1988, Common::CA_ESP, Common::kPlatformDOS },
 	{ "7b4ee071eecadc2d8cd0c3509110825c", "puttzoo", "HE 100", "Remastered", -1, Common::EN_ANY, Common::kPlatformWindows },
 	{ "7bad72e332a59f9fcc1d437f4edad32a", "puttcircus", "", "", -1, Common::RU_RUS, Common::kPlatformUnknown },
 	{ "7c2e76087027eeee9c8f8985f93a1cc5", "freddi4", "", "Demo", 13584, Common::EN_ANY, Common::kPlatformUnknown },
@@ -521,6 +524,7 @@ static const MD5Table md5table[] = {
 	{ "9d7b67be003fea60be4dcbd193611936", "ft", "Demo", "Demo", 11164, Common::EN_ANY, Common::kPlatformMacintosh },
 	{ "9dc02577bf50d4cfaf3de3fbac06fbe2", "puttmoon", "", "", -1, Common::EN_ANY, Common::kPlatformMacintosh },
 	{ "9e5e0fb43bd22f4628719b7501adb717", "monkey", "No AdLib", "EGA", -1, Common::FR_FRA, Common::kPlatformAtariST },
+	{ "9f063c54a4119056333d99d38b48e41f", "indy3", "VGA", "VGA", 6295, Common::CA_ESP, Common::kPlatformDOS },
 	{ "9f0a200df45c1c6c944cda21c134ff50", "monkey2", "SE Talkie", "Unofficial SE Talkie v0.2", 10835, Common::HE_ISR, Common::kPlatformDOS },
 	{ "9fd66fb3b04703bd50da4356e4202558", "spyfox2", "", "", 51295, Common::EN_GRB, Common::kPlatformUnknown },
 	{ "a00554c31d623fdb9fcb0f924b89b42b", "loom", "Demo", "EGA Demo", 5748, Common::EN_ANY, Common::kPlatformDOS },
@@ -605,12 +609,14 @@ static const MD5Table md5table[] = {
 	{ "bbadf7309c4a2c2763e4bbba3c3be634", "freddi3", "", "Demo", 22718, Common::FR_FRA, Common::kPlatformUnknown },
 	{ "bc4700bc0e12879f6d25d14d6be6cfdd", "spyfox2", "", "", 51286, Common::DE_DEU, Common::kPlatformUnknown },
 	{ "bd126753de619a495f9f22adc951c8d5", "monkey2", "", "", 11135, Common::IT_ITA, Common::kPlatformDOS },
+	{ "bd54798acec7af5775cadd79f2042b1e", "indy3", "FM-TOWNS", "FM-TOWNS", 7552, Common::CA_ESP, Common::kPlatformFMTowns },
 	{ "bd5fd7835335dfce03064d5f77b7f0ae", "dog", "", "", 19681, Common::NL_NLD, Common::kPlatformWindows },
 	{ "bd9c287382310426b8bca0ac19d7d4c9", "fbpack", "", "", 5182, Common::JA_JPN, Common::kPlatformMacintosh },
 	{ "be2abe172f58db170de3a037daa1dd27", "puttputt", "HE 61", "", -1, Common::JA_JPN, Common::kPlatform3DO },
 	{ "be39a5d4db60e8aa736b9086778cb45c", "spyozon", "", "", 47119, Common::EN_GRB, Common::kPlatformWindows },
 	{ "be83e882b44f2767bc08d4f766ebc347", "maniac", "V2", "V2", -1, Common::DE_DEU, Common::kPlatformAtariST },
-	{ "bea8f1b2466375099948801380ae5560", "maniac", "V1", "V1 Updated", 1972, Common::CA_ESP, Common::kPlatformDOS },
+	{ "bea8f1b2466375099948801380ae5560", "maniac", "V1", "V1", 1972, Common::CA_ESP, Common::kPlatformDOS },
+	{ "bf7f24990d700329194d375aecc4d853", "indy3", "EGA", "EGA", 5361, Common::CA_ESP, Common::kPlatformDOS },
 	{ "bf8b52fdd9a69c67f34e8e9fec72661c", "farm", "HE 71", "Demo", 18149, Common::EN_ANY, Common::kPlatformWindows },
 	{ "bfdf584b01503f0762baded581f6a0a2", "SoccerMLS", "", "", -1, Common::EN_ANY, Common::kPlatformWindows },
 	{ "c0039ad982999c92d0de81910d640fa0", "freddi", "HE 71", "", 26159, Common::NL_NLD, Common::kPlatformWindows },
@@ -710,6 +716,7 @@ static const MD5Table md5table[] = {
 	{ "df047cc4792150f601290357566d36a6", "freddi", "HE 90", "Updated", -1, Common::EN_ANY, Common::kPlatformUnknown },
 	{ "e01acc8c12ef44e8f778fe87e5f90f4e", "fbpack", "", "", -1, Common::EN_ANY, Common::kPlatform3DO },
 	{ "e03ed1474ec14de78359970e0457a820", "freddi4", "HE 99", "Demo", 13600, Common::EN_GRB, Common::kPlatformWindows },
+	{ "e0b46640e2aeff477b8d6e98e65113f3", "atlantis", "", "CD", 12035, Common::CA_ESP, Common::kPlatformDOS },
 	{ "e144f5f49d9241d2a9dee2576b3d09cb", "airport", "", "Demo", 51152, Common::EN_ANY, Common::kPlatformWindows },
 	{ "e17db1ddf91b39ca6bbc8ad3ed19e883", "monkey", "FM-TOWNS", "", -1, Common::JA_JPN, Common::kPlatformFMTowns },
 	{ "e1c9998826ce7fa8bde5cc3a5023edec", "moonbase", "1.1", "1.1", -1, Common::EN_ANY, Common::kPlatformWindows },
@@ -763,6 +770,7 @@ static const MD5Table md5table[] = {
 	{ "f1b0e0d587b85052de5534a3847e68fe", "water", "HE 99", "Updated", -1, Common::EN_ANY, Common::kPlatformUnknown },
 	{ "f237bf8a5ef9af78b2a6a4f3901da341", "pajama", "", "Demo", 18354, Common::EN_ANY, Common::kPlatformUnknown },
 	{ "f27b1ba0eadaf2a6617b2b58192d1dbf", "samnmax", "Floppy", "Floppy", 9040, Common::DE_DEU, Common::kPlatformDOS },
+	{ "f27dc913b7fb3eb5b48bde1e4a687102", "monkey", "SE Talkie", "Unofficial SE Talkie", 9135, Common::CA_ESP, Common::kPlatformDOS },
 	{ "f2ec78e50bdc63b70044e9758be10914", "spyfox", "HE 98.5", "Demo", 20141, Common::NL_NLD, Common::kPlatformMacintosh },
 	{ "f3c4ed6101b4c26c762b2dfb16b1481d", "indy3", "VGA", "VGA", 6295, Common::FR_FRA, Common::kPlatformDOS },
 	{ "f3c5d9bf3f091bd1f18dc1013fba5396", "atlantis", "Steam", "Steam", 638976, Common::EN_ANY, Common::kPlatformWindows },


Commit: 3f75a66804988b4d36995820a3656c26f235ca4b
    https://github.com/scummvm/scummvm/commit/3f75a66804988b4d36995820a3656c26f235ca4b
Author: Ivan L. Negrell (jibun86 at gmail.com)
Date: 2025-09-17T10:52:10+02:00

Commit Message:
SCUMM: Add Catalan hardcoded dialogs

Changed paths:
    engines/scumm/dialogs.cpp


diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp
index 807df6b3daf..379a09001a9 100644
--- a/engines/scumm/dialogs.cpp
+++ b/engines/scumm/dialogs.cpp
@@ -493,6 +493,7 @@ void decodeV2String(Common::Language lang, Common::String &str) {
 	static const mapping mapES[] = { { '\0', '\0' } };
 	static const mapping mapRU[] = { { '\0', '\0' } };
 	static const mapping mapSE[] = { { '\0', '\0' } };
+	static const mapping mapCA[] = { { '\0', '\0' } };
 
 	const mapping *map = 0;
 	switch (lang) {
@@ -514,6 +515,9 @@ void decodeV2String(Common::Language lang, Common::String &str) {
 	case Common::SV_SWE:
 		map = mapSE;
 		break;
+	case Common::CA_ESP:
+		map = mapCA;
+		break;
 	default:
 		break;
 	}
@@ -639,6 +643,22 @@ const ResString &InfoDialog::getStaticResString(Common::Language lang, int strin
 			{4, "Spelet pausat. Tryck MELLANSLAG f""\x94""r att forts""\x84""tta."},
 			{5, """\x8e""r du s""\x84""ker p""\x86"" att du vill starta om? (J/N)J"},
 			{6, """\x8e""r du s""\x84""ker p""\x86"" att du vill avsluta? (J/N)J"}
+		},
+		{	// Japanese
+			{1, "Insert Disk %c and Press Button to Continue."}, //Placeholder
+			{2, "Unable to Find %s, (%c%d) Press Button."}, //Placeholder
+			{3, "Error reading disk %c, (%c%d) Press Button."}, //Placeholder
+			{4, "Game paused, press SPACE to continue.  "}, //Placeholder
+			{5, "Are you sure you want to restart? (y/n)y"}, //Placeholder
+			{6, "Are you sure you want to quit? (y/n)y"} //Placeholder
+		},
+		{	// Catalan
+			{1, "Insereix el disc n. Prem ENTER."},
+			{2, "No es troba l'arxiu nn.lfl. Prem ENTER."},
+			{3, "ERROR. Prem una tecla per reintentar."},
+			{4, "Joc en pausa. Prem ESPAI per continuar."},
+			{5, "Segur que vols reiniciar? (S o N)S"},
+			{6, "Segur que vols sortir? (S o N)S"}
 		}
 	};
 
@@ -704,7 +724,8 @@ const ResString &InfoDialog::getStaticResString(Common::Language lang, int strin
 		{0, """\xc2\xa8""Est""\xc2\xa0""s seguro de querer abandonar? (S/N)S"}, // ES
 		{0, "(Y/N)Y"}, // RU - Placeholder: I don't know of any RU version of v3 games
 		{0, "(Y/N)Y"}, // SE - Placeholder: I don't know of any SE version of v3 games
-		{0, "\x96{\x93\x96\x82\xC9\x8FI\x97\xB9\x82\xB5\x82\xC4\x82\xE0\x82\xA2\x82\xA2\x82\xC5\x82\xB7\x82\xA9\x81H  (Y/N)Y"} // JA
+		{0, "\x96{\x93\x96\x82\xC9\x8FI\x97\xB9\x82\xB5\x82\xC4\x82\xE0\x82\xA2\x82\xA2\x82\xC5\x82\xB7\x82\xA9\x81H  (Y/N)Y"}, // JA
+		{0, "Segur que vols sortir? (S/N)S"} // CA
 	};
 
 	// DOTT (CD) doesn't have translations for some menu options, but this was
@@ -785,6 +806,9 @@ const ResString &InfoDialog::getStaticResString(Common::Language lang, int strin
 	case Common::JA_JPN:
 		langIndex = useHardcodedV3QuitPrompt ? 7 : 0;
 		break;
+	case Common::CA_ESP:
+		langIndex = useFixedDottMenuStrings ? 0 : 8;
+		break;
 	default:
 		// Just stick with English.
 		break;


Commit: 5728f1f6936abb4dd8ed859e34cad92b993d33dd
    https://github.com/scummvm/scummvm/commit/5728f1f6936abb4dd8ed859e34cad92b993d33dd
Author: Ivan L. Negrell (jibun86 at gmail.com)
Date: 2025-09-17T10:52:10+02:00

Commit Message:
SCUMM: Fix bug that breaks hardcoded dialogs

- Fixes a bug that checks the wrong dimension of a multi-dimensional array. This bug arose when adding new language dialogs.

Changed paths:
    engines/scumm/dialogs.cpp


diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp
index 379a09001a9..871ab25e45f 100644
--- a/engines/scumm/dialogs.cpp
+++ b/engines/scumm/dialogs.cpp
@@ -826,8 +826,8 @@ const ResString &InfoDialog::getStaticResString(Common::Language lang, int strin
 		return fixedDottMenuStrings[langIndex][stringno];
 	}
 
-	if (stringno + 1 >= ARRAYSIZE(strMap1)) {
-		stringno -= ARRAYSIZE(strMap1) - 1;
+	if (stringno + 1 >= ARRAYSIZE(strMap1[0])) {
+		stringno -= ARRAYSIZE(strMap1[0]);
 		assert(stringno < ARRAYSIZE(strMap2));
 		return strMap2[stringno];
 	}


Commit: 317ca82705ec03a488c8f7d341cbca916f42ade7
    https://github.com/scummvm/scummvm/commit/317ca82705ec03a488c8f7d341cbca916f42ade7
Author: Ivan L. Negrell (jibun86 at gmail.com)
Date: 2025-09-17T10:52:10+02:00

Commit Message:
SCUMM: Fix bug that shows wrong hardcoded dialogs

- Additional fixing

Changed paths:
    engines/scumm/dialogs.cpp


diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp
index 871ab25e45f..590ab2d12ff 100644
--- a/engines/scumm/dialogs.cpp
+++ b/engines/scumm/dialogs.cpp
@@ -826,7 +826,7 @@ const ResString &InfoDialog::getStaticResString(Common::Language lang, int strin
 		return fixedDottMenuStrings[langIndex][stringno];
 	}
 
-	if (stringno + 1 >= ARRAYSIZE(strMap1[0])) {
+	if (stringno >= ARRAYSIZE(strMap1[0])) {
 		stringno -= ARRAYSIZE(strMap1[0]);
 		assert(stringno < ARRAYSIZE(strMap2));
 		return strMap2[stringno];




More information about the Scummvm-git-logs mailing list