diff options
Diffstat (limited to 'engines/sherlock/fixed_text.cpp')
-rw-r--r-- | engines/sherlock/fixed_text.cpp | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/engines/sherlock/fixed_text.cpp b/engines/sherlock/fixed_text.cpp index cbee944120..4679fe58b8 100644 --- a/engines/sherlock/fixed_text.cpp +++ b/engines/sherlock/fixed_text.cpp @@ -27,6 +27,183 @@ namespace Sherlock { +static const char *const fixedJournalTextEN[] = { + // Holmes asked/said... + "Holmes asked me, ", + "Holmes asked the Inspector, ", + "Holmes asked %s, ", + "Holmes said to me, ", + "Holmes said to the Inspector, ", + "Holmes said to %s, ", + // I asked/said... + "I replied, ", + "The reply was, ", + // Holmes/I/The Inspector/Person asked/said (without "Then" prefix) + "Holmes asked, ", + "Holmes said, ", + "I asked, ", + "I said, ", + "The Inspector asked, ", + "The Inspector said, ", + "%s asked, ", + "%s said, ", + // Then Holmes/I/The Inspector/Person asked/said + "Then Holmes asked, ", + "Then Holmes said, ", + "Then I asked, ", + "Then I said, ", + "Then the Inspector asked, ", + "Then the Inspector said, ", + "Then %s asked, ", + "Then %s said, " +}; + +static const char *const fixedJournalTextDE[] = { + // Holmes asked/said... + "Holmes fragte mich, ", + "Holmes fragte Inspektor Lestrade, ", + "Holmes fragte %s, ", + "Holmes sagte mir, ", + "Holmes sagte Inspektor Lestrade, ", + "Holmes sagte %s, ", + // I asked/said... + "Ich antwortete, ", + "Die Antwort lautete, ", + // Holmes/I/The Inspector/Person asked/said (without "Then" prefix) + "Holmes fragte, ", // original: "fragte Holmes" + "Holmes sagte, ", // original: "sagte Holmes" + "Ich fragte, ", // original: "fragte Ich" + "Ich sagte, ", // original: "sagte Ich" + "Der Inspektor fragte, ", + "Der Inspektor sagte, ", + "%s fragte, ", + "%s sagte, ", + // Then Holmes/I/The Inspector/Person asked/said + "Dann fragte Holmes, ", + "Dann sagte Holmes, ", + "Dann fragte ich, ", // original: "Dann sagte Ich" + "Dann sagte ich, ", // original: "Dann sagte Ich" + "Dann fragte der Inspektor, ", + "Dann sagte der Inspektor, ", + "Dann fragte %s, ", + "Dann sagte %s, " +}; + +// Only used for Sherlock Holmes 2, so special characters should use the SH2 charset +// small a w/ accent grave: 0x85 / octal 205 +// small e w/ accent acute: 0x82 / octal 202 +// small e w/ accent grave: 0x8A / octal 212 +// small e w/ circonflexe: 0x88 / octal 210 +// small cedilla: 0x87 / octal 207 +static const char *const fixedJournalTextFR[] = { + // Holmes asked/said... + "Holmes me demanda, ", // original: "Holmes m'a demand\202, " + "Holmes demanda \205 l'inspecteur, ", // original: "Holmes a demand\202 \205 l'inspecteur, " + "Holmes demanda \205 %s, ", // original: "Holmes a demand\202 \205 %s, " + "Holmes me dit, ", // original: "Holmes m'a dit, " + "Holmes dit \205 l'inspecteur, ", // original: "Holmes a dit \205 l'inspecteur, " + "Holmes dit \205 %s, ", // original: "Holmes a dit \205 %s, " + // I asked/said... + "Je r\202pondis, ", // original: "J'ai r\202pondu, ", + "La r\202ponse fut, ", + // Holmes/I/The Inspector/Person asked/said (without "Then" prefix) + "Holmes demanda, ", // original: "Holmes a demand\202, " + "Holmes dit, ", + "Je demandai, ", // original: "J'ai demand\202, " + "Je dis, ", // original: "J'ai dit, " + "L'inspecteur demanda, ", // original: ""L'inspecteur a demand\202, " + "L'inspecteur dit, ", + "%s demanda, ", // original: "%s a demand\202, " + "%s dit, ", + // Then Holmes/I/The Inspector/Person asked/said + "Alors Holmes demanda, ", // original: it seems "puis"/"then" was not used/removed. They instead added a space character, so sentences looked weird + "Alors Holmes dit, ", + "Alors je demandai, ", + "Alors je dis, ", + "Alors l'inspecteur demanda, ", + "Alors l'inspecteur dit, ", + "Alors %s demanda, ", + "Alors %s dit, " +}; + +// Sherlock Holmes 1+2: +// small e w/ accent bottom to top : 0x82 / octal 202 +// big E w/ accent bottom to top : 0x90 / octal 220 +// small a w/ accent bottom to top : 0xA0 / octal 240 +// small i w/ accent bottom to top : 0xA1 / octal 241 +// small o w/ accent bottom to top : 0xA2 / octal 242 +// small u w/ accent bottom to top : 0xA3 / octal 243 +// small n w/ wavy line : 0xA4 / octal 244 +// big N w/ wavy line : 0xA5 / octal 245 +// small a w/ under line : 0xA6 / octal 246 +// small o w/ under line : 0xA7 / octal 247 +// inverted question mark : 0xA8 / octal 250 +static const char *const fixedJournalTextES[] = { + // Holmes asked/said... + "Holmes me pregunt\242, ", // original: "Holmes me pidi\242, ", + "Holmes pregunt\242 al Inspector, ", // original: "el inspector"? + "Holmes pregunt\242 %s, ", + "Holmes me dijo, ", + "Holmes dijo al Inspector, ", // original: "el inspector"? + "Holmes dijo a %s, ", // original: "Holmes dijo a %s, " + // I asked/said... + "Yo content\202, ", // original: "Yo respond\241, ", + "La respuesta fue, ", + // Holmes/I/The Inspector/Person asked/said (without "Then" prefix) + "Holmes pregunt\242, ", + "Holmes dijo, ", + "Yo pregunt\202, ", // original: "Yo pregunt\242, ", + "Yo dije, ", + "El Inspector pregunt\242, ", + "El Inspector dijo, ", + "%s pregunt\242, ", + "%s dijo, ", + // Then Holmes/I/The Inspector/Person asked/said + "Despu\202s Holmes pregunt\242, ", // original: added "Entonces" instead of "Despues" + "Despu\202s Holmes dijo, ", + "Despu\202s yo pregunt\202, ", // "pregunt\242, " + "Despu\202s yo dije, ", + "Despu\202s el Inspector pregunt\242, ", + "Despu\202s el Inspector dijo, ", + "Despu\202s %s pregunt\242, ", + "Despu\202s %s dijo, " +}; + +FixedText::FixedText(SherlockEngine *vm) { + _vm = vm; + + // Figure out which fixed texts to use + Common::Language curLanguage = _vm->getLanguage(); + + switch (curLanguage) { + case Common::EN_ANY: + // Used by Sherlock Holmes 1+2 + _fixedJournalTextArray = fixedJournalTextEN; + _fixedObjectPickedUpText = "Picked up %s"; + break; + case Common::DE_DEU: + // Used by Sherlock Holmes 1+2 + _fixedJournalTextArray = fixedJournalTextDE; + _fixedObjectPickedUpText = "%s eingesteckt"; + break; + case Common::FR_FRA: + // Used by Sherlock Holmes 2 + _fixedJournalTextArray = fixedJournalTextFR; + _fixedObjectPickedUpText = ""; // Not used, because there is no French Sherlock Holmes 1 + break; + case Common::ES_ESP: + // Used by Sherlock Holmes 1+2 + _fixedJournalTextArray = fixedJournalTextES; + _fixedObjectPickedUpText = "Cogido/a %s"; + break; + default: + // Default to English + _fixedJournalTextArray = fixedJournalTextEN; + _fixedObjectPickedUpText = "Picked up %s"; + break; + } +} + FixedText *FixedText::init(SherlockEngine *vm) { if (vm->getGameID() == GType_SerratedScalpel) return new Scalpel::ScalpelFixedText(vm); @@ -34,5 +211,12 @@ FixedText *FixedText::init(SherlockEngine *vm) { return new Tattoo::TattooFixedText(vm); } +const char *FixedText::getJournalText(int fixedJournalTextId) { + return _fixedJournalTextArray[fixedJournalTextId]; +} + +const char *FixedText::getObjectPickedUpText() { + return _fixedObjectPickedUpText; +} } // End of namespace Sherlock |