From 007776ba16ad34320d6665ad646b64aa46615bf3 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 22 Jun 2017 06:48:23 -0400 Subject: TITANIC: Add German handling to getSuffixedWord --- engines/titanic/true_talk/tt_vocab.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'engines/titanic') diff --git a/engines/titanic/true_talk/tt_vocab.cpp b/engines/titanic/true_talk/tt_vocab.cpp index dcd6a2258f..4ec7354534 100644 --- a/engines/titanic/true_talk/tt_vocab.cpp +++ b/engines/titanic/true_talk/tt_vocab.cpp @@ -232,6 +232,27 @@ TTword *TTvocab::getSuffixedWord(TTstring &str) const { TTstring tempStr(str); TTword *word = nullptr; + if (g_vm->isGerman()) { + static const char *const SUFFIXES[13] = { + "est", "em", "en", "er", "es", "et", "st", + "s", "e", "n", "t" + }; + + for (int idx = 0; idx < 13; ++idx) { + if (tempStr.hasSuffix(SUFFIXES[idx])) { + tempStr.deleteSuffix(strlen(SUFFIXES[idx])); + word = getPrimeWord(tempStr); + if (word) + break; + tempStr = str; + } + } + + if (word) + word->setSynStr(str); + return word; + } + if (tempStr.hasSuffix("s")) { tempStr.deleteSuffix(1); word = getPrimeWord(tempStr); -- cgit v1.2.3