diff options
author | Sven Hesse | 2012-06-18 17:44:04 +0200 |
---|---|---|
committer | Sven Hesse | 2012-06-18 17:44:04 +0200 |
commit | 2e16e7fc4c6983db99ae99be9a420ba4549be35e (patch) | |
tree | 264868f55b40c05c1bc680584360bb362037c603 /engines | |
parent | 892ca3a9c57a948254a2779821a24576f82a77d6 (diff) | |
download | scummvm-rg350-2e16e7fc4c6983db99ae99be9a420ba4549be35e.tar.gz scummvm-rg350-2e16e7fc4c6983db99ae99be9a420ba4549be35e.tar.bz2 scummvm-rg350-2e16e7fc4c6983db99ae99be9a420ba4549be35e.zip |
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.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/gob/draw.h | 2 | ||||
-rw-r--r-- | engines/gob/draw_v2.cpp | 39 |
2 files changed, 41 insertions, 0 deletions
diff --git a/engines/gob/draw.h b/engines/gob/draw.h index 24c5550ea5..1359df632f 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 d9b7a12639..b637ecbd2b 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 |