[Scummvm-cvs-logs] scummvm master -> 2e16e7fc4c6983db99ae99be9a420ba4549be35e

DrMcCoy drmccoy at drmccoy.de
Mon Jun 18 17:48:24 CEST 2012


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:
2e16e7fc4c GOB: Add a workaround for the wrong German animal names in Little Red


Commit: 2e16e7fc4c6983db99ae99be9a420ba4549be35e
    https://github.com/scummvm/scummvm/commit/2e16e7fc4c6983db99ae99be9a420ba4549be35e
Author: Sven Hesse (drmccoy at users.sourceforge.net)
Date: 2012-06-18T08:44:04-07:00

Commit Message:
GOB: Add a workaround for the wrong German animal names in Little Red

The DOS, Amiga and Atari version of Little Red come with a small
screen, accessible through the main menu, that lets children read and
listen to animal names in 5 languages: French, German, English,
Spanish and Italian.

Unfortunately, the German names are partially wrong. This is
especially tragic because this is a game for small children and
they're supposed to learn something here. So I deem fixing this a
very good idea.

Just to be sure, someone should probably look over the French,
Spanish and Italian words too.

Changed paths:
    engines/gob/draw.h
    engines/gob/draw_v2.cpp



diff --git a/engines/gob/draw.h b/engines/gob/draw.h
index 24c5550..1359df6 100644
--- a/engines/gob/draw.h
+++ b/engines/gob/draw.h
@@ -258,6 +258,8 @@ public:
 
 private:
 	uint8 _mayorWorkaroundStatus;
+
+	void fixLittleRedStrings();
 };
 
 class Draw_Bargon: public Draw_v2 {
diff --git a/engines/gob/draw_v2.cpp b/engines/gob/draw_v2.cpp
index d9b7a12..b637ecb 100644
--- a/engines/gob/draw_v2.cpp
+++ b/engines/gob/draw_v2.cpp
@@ -805,6 +805,10 @@ void Draw_v2::spriteOperation(int16 operation) {
 		break;
 
 	case DRAW_PRINTTEXT:
+		// WORKAROUND: There's mistakes in Little Red's animal names.
+		//             See this function for details.
+		fixLittleRedStrings();
+
 		len = strlen(_textToPrint);
 		left = _destSpriteX;
 
@@ -933,4 +937,39 @@ void Draw_v2::spriteOperation(int16 operation) {
 	}
 }
 
+/* WORKAROUND: Fix wrong German animal names in Once Upon A Time: Little Red Riding Hood.
+ *
+ * The DOS, Amiga and Atari version of Little Red come with a small screen, accessible
+ * through the main menu, that lets children read and listen to animal names in 5
+ * languages: French, German, English, Spanish and Italian.
+ * Unfortunately, the German names are partially wrong. This is especially tragic
+ * because this is a game for small children and they're supposed to learn something
+ * here. We fix this.
+ *
+ * However, there's also problems with the recorded spoken German names:
+ * - "Der Rabe" has a far too short "a", sounding more like "Rabbe"
+ * - The wrong article for "Schmetterling" is very audible
+ * - In general, the words are way too overpronounced
+ * These are, of course, way harder to fix.
+ */
+
+static const char *kLittleRedStrings[][2] = {
+	{"die Heule"          , "die Eule"},
+	{"das Schmetterling"  , "der Schmetterling"},
+	{"die Vespe"          , "die Wespe"},
+	{"das Eich\224rnchen" , "das Eichh\224rnchen"}
+};
+
+void Draw_v2::fixLittleRedStrings() {
+	if (!_textToPrint || (_vm->getGameType() != kGameTypeLittleRed))
+		return;
+
+	for (int i = 0; i < ARRAYSIZE(kLittleRedStrings); i++) {
+		if (!strcmp(_textToPrint, kLittleRedStrings[i][0])) {
+			_textToPrint = kLittleRedStrings[i][1];
+			return;
+		}
+	}
+}
+
 } // End of namespace Gob






More information about the Scummvm-git-logs mailing list