KYRA: Support Russian LoK translation by Siberian GRemlin (#2544)

* KYRA: Support Russian LoK translation by Siberian Gremlin

* Mention source of engine data translation

* Mark Russian CD as fan translation to force subtitles
This commit is contained in:
Dmitry Gladkov 2020-10-18 14:24:11 -07:00 committed by GitHub
parent ad37c20fb4
commit 11368b7d90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 388 additions and 3 deletions

View File

@ -45,7 +45,7 @@
enum {
kKyraDatVersion = 103
kKyraDatVersion = 104
};
const ExtractFilename extractFilenames[] = {

View File

@ -50,6 +50,7 @@ const Game kyra1Games[] = {
{ kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA },
{ kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA },
{ kKyra1, kPlatformDOS, kTalkieVersion, ES_ESP },
{ kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS },
{ kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY },
{ kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN },

View File

@ -46,6 +46,7 @@
#include "resources/lok_dos_cd_german.h"
#include "resources/lok_dos_cd_italian.h"
#include "resources/lok_dos_cd_spanish.h"
#include "resources/lok_dos_cd_russian.h"
#include "resources/lok_dos_cddemo.h"
#include "resources/lok_dos_cddemo_english.h"
@ -667,6 +668,30 @@ static const ResourceProvider resourceProviders[] = {
{ k1GUIStrings, kKyra1, kPlatformDOS, kTalkieVersion, ES_ESP, &k1GUIStringsDOSCDSpanishProvider },
{ k1NewGameString, kKyra1, kPlatformDOS, kTalkieVersion, ES_ESP, &k1NewGameStringDOSCDSpanishProvider },
{ k1ConfigStrings, kKyra1, kPlatformDOS, kTalkieVersion, ES_ESP, &k1ConfigStringsDOSCDSpanishProvider },
{ k1IntroStrings, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1IntroStringsDOSCDRussianProvider },
{ k1ItemNames, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1ItemNamesDOSCDRussianProvider },
{ k1TakenStrings, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1TakenStringsDOSCDRussianProvider },
{ k1PlacedStrings, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1PlacedStringsDOSCDRussianProvider },
{ k1DroppedStrings, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1DroppedStringsDOSCDRussianProvider },
{ k1NoDropStrings, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1NoDropStringsDOSCDRussianProvider },
{ k1PutDownString, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1PutDownStringDOSCDRussianProvider },
{ k1WaitAmuletString, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1WaitAmuletStringDOSCDRussianProvider },
{ k1BlackJewelString, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1BlackJewelStringDOSCDRussianProvider },
{ k1HealingTipString, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1HealingTipStringDOSCDRussianProvider },
{ k1PoisonGoneString, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1PoisonGoneStringDOSCDRussianProvider },
{ k1ThePoisonStrings, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1ThePoisonStringsDOSCDRussianProvider },
{ k1FluteStrings, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1FluteStringsDOSCDRussianProvider },
{ k1WispJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1WispJewelStringsDOSCDRussianProvider },
{ k1MagicJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1MagicJewelStringsDOSCDRussianProvider },
{ k1FlaskFullString, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1FlaskFullStringDOSCDRussianProvider },
{ k1FullFlaskString, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1FullFlaskStringDOSCDRussianProvider },
{ k1OutroHomeString, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1OutroHomeStringDOSCDRussianProvider },
{ k1VeryCleverString, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1VeryCleverStringDOSCDRussianProvider },
{ k1GUIStrings, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1GUIStringsDOSCDRussianProvider },
{ k1NewGameString, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1NewGameStringDOSCDRussianProvider },
{ k1ConfigStrings, kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS, &k1ConfigStringsDOSCDRussianProvider },
{ k1KallakWritingSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1KallakWritingSeqFMTownsProvider },
{ k1MalcolmTreeSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1MalcolmTreeSeqFMTownsProvider },
{ k1WestwoodLogoSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1WestwoodLogoSeqFMTownsProvider },

View File

@ -0,0 +1,340 @@
// Includes engine data originally translated by Siberian GRemlin.
static const char *const k1IntroStringsDOSCDRussian[51] = {
"This is a text test - 1",
"This is a text test - 2",
"\xC7\xE4\xF0\xE0\xE2\xF1\xF2\xE2\xF3\xE9\x2C\x20\xCA\xE0\xEB\xEB\xE0\xEA\x21",
"\xC2\xE5\xEB\xE8\xEA\xE8\xE9\x20\xEF\xF0\xE5\xE4\xE2\xEE\xE4\xE8\xF2\xE5\xEB\xFC\x20\xEA\xEE\xF0\xEE\xEB\xE5\xE2\xF1\xEA\xE8\xF5\x20\xEC\xE0\xE3\xEE\xE2\x21",
"\xDF\x20\xF2\xE5\xE1\xFF\x20\xED\xE0\xEF\xF3\xE3\xE0\xEB\x3F",
"\xCC\xE0\xEB\xEA\xEE\xEB\xFC\xEC\x21",
"\xDF\x20\xF1\xEB\xFB\xF8\xE0\xEB\x20\xE2\xF7\xE5\xF0\xE0\x20\xEE\x20\xF2\xE2\xEE\xB8\xEC\x20\xEF\xEE\xE1\xE5\xE3\xE5\x2E",
"\xC8\x20\xEE\xE6\xE8\xE4\xE0\xEB\x2C\x20\xF7\xF2\xEE\x20\xF2\xFB\x20\xEF\xF0\xE8\xE4\xB8\xF8\xFC\x20\xF0\xE0\xED\xFC\xF8\xE5\x2E",
"\xCA\xF3\xE4\xE0\x20\xEC\xED\xE5\x20\xF1\xEF\xE5\xF8\xE8\xF2\xFC\x3F",
"\xDF\x20\xEF\xF0\xE0\xE2\xEB\xFE\x20\xFD\xF2\xEE\xE9\x20\xF1\xF2\xF0\xE0\xED\xEE\xE9\x21",
"\xD2\xE2\xEE\xB8\x20\xF5\xE8\xEB\xEE\xE5\x20\xE7\xE0\xEA\xEB\xE8\xED\xE0\xED\xE8\xE5\x20\xED\xE5\x20\xF1\xEC\xEE\xE3\xEB\xEE\x20\xEC\xE5\xED\xFF\x20\xF3\xE4\xE5\xF0\xE6\xE0\xF2\xFC\x2E",
"\xD2\xE0\xEA\x20\xF3\xE1\xE5\xE9\x20\xEC\xE5\xED\xFF\x21",
"\xCC\xEE\xE8\x20\xEC\xE0\xE3\xE8\xF7\xE5\xF1\xEA\xE8\xE5\x20\xF1\xE8\xEB\xFB\x20\xED\xE0\x20\xE8\xF1\xF5\xEE\xE4\xE5\x2E",
"\xCB\xE5\xE3\xEA\xEE\x20\xF2\xFB\x20\xED\xE5\x20\xEE\xF2\xE4\xE5\xEB\xE0\xE5\xF8\xFC\xF1\xFF\x2C\x20\xEC\xEE\xE6\xE5\xF8\xFC\x20\xED\xE5\x20\xF1\xEE\xEC\xED\xE5\xE2\xE0\xF2\xFC\xF1\xFF\x21",
"\xD2\xE5\xEF\xE5\xF0\xFC\x20\xF2\xFB\x20\xEA\xE0\xEC\xE5\xED\xFC\x2E\x2E\x2E",
"\xCD\xEE\x20\xE3\xEB\xE0\xE7\xE0\x20\xFF\x20\xF2\xE5\xE1\xE5\x20\xEE\xF1\xF2\xE0\xE2\xEB\xFE\x2E",
"\xDF\x20\xED\xE5\x20\xEB\xFC\xFE\x20\xF1\xEB\xB8\xE7\xFB\x20\xEF\xEE\x20\xCA\xE8\xF0\xE0\xED\xE4\xE8\xE8\x2E\x2E\x2E",
"\xCD\xEE\x20\xF2\xE5\xE1\xFF\x20\xFD\xF2\xEE\xE9\x20\xE2\xEE\xE7\xEC\xEE\xE6\xED\xEE\xF1\xF2\xE8\x20\xEB\xE8\xF8\xE0\xF2\xFC\x20\xED\xE5\x20\xF1\xF2\xE0\xED\xF3\x2E",
"\xD8\xF3\xF2\x20\xCC\xE0\xEB\xEA\xEE\xEB\xFC\xEC\x20\xF1\xE1\xE5\xE6\xE0\xEB\x2E",
"\xD2\xE5\xEF\xE5\xF0\xFC\x20\xEE\xED\x20\xF3\xEF\xF0\xE0\xE2\xEB\xFF\xE5\xF2\x20\xCA\xE8\xF0\xE0\xF6\xE2\xE5\xF2\xEE\xEC\x2C\x2E\x2E",
"\xC8\xF1\xF2\xEE\xF7\xED\xE8\xEA\xEE\xEC\x20\xE2\xF1\xE5\xE9\x20\xEC\xE0\xE3\xE8\xE8\x20\xE2\x20\xCA\xE8\xF0\xE0\xED\xE4\xE8\xE8\x2E",
"",
"\xC4\xE0\x20\xEA\xE0\xEA\x20\xF2\xFB\x20\xF1\xEC\xE5\xE5\xF8\xFC\x20\xEC\xE5\xF8\xE0\xF2\xFC\x20\xEC\xED\xE5\x21",
"\xD5\xEE\xF2\xFF\x20\xED\xE5\xF2\x2C\x20\xE4\xEB\xFF\x20\xF2\xE5\xE1\xFF\x20\xF3\x20\xEC\xE5\xED\xFF\x20\xE5\xF1\xF2\xFC\x20\xEA\xEE\xE5\x2D\xF7\xF2\xEE\x20\xEE\xF1\xEE\xE1\xE5\xED\xED\xEE\xE5\x2E\x2E\x2E",
"\xC7\xE0\xE1\xE0\xE2\xED\xEE\xE5\x20\xEF\xF0\xEE\xEA\xEB\xFF\xF2\xFC\xE5\x21",
"\xC8\x20\xE4\xE0\xFE\x20\xF7\xE5\xF1\xF2\xED\xEE\xE5\x20\xEF\xF0\xE5\xE4\xF3\xEF\xF0\xE5\xE6\xE4\xE5\xED\xE8\xE5\x2E",
"\xCD\xE5\x20\xEF\xF0\xFB\xE3\xE0\xE9\x20\xED\xE0\x20\xFD\xF2\xEE\x20\xE4\xE5\xF0\xE5\xE2\xEE\x21",
"",
"\xC1\xF3\xF5\x21",
"\xD2\xE0\xEA\x20\xED\xE0\xEC\xED\xEE\xE3\xEE\x20\xF1\xEC\xE5\xF8\xED\xE5\xE5\x2E",
"\xD0\xE0\xE7\xE2\xE5\x20\xED\xE5\xF2\x3F",
"\xD5\xE0\x2D\xF5\xE0\x2D\xF5\xE0\x21",
"\xC4\xEE\x20\xF7\xE5\xE3\xEE\x20\xE6\xE5\x20\xEF\xF0\xE8\xFF\xF2\xED\xEE\x20\xF1\xED\xEE\xE2\xE0\x20\xF0\xE0\xE7\xEC\xFF\xF2\xFC\x20\xEF\xE0\xEB\xFC\xF6\xFB\x21",
"\xC7\xE4\xEE\xF0\xEE\xE2\xEE\x20\xE1\xFB\xF2\xFC\x20\xE6\xE8\xE2\xFB\xEC\x21",
"\xC1\xF0\xFD\xED\xE4\xEE\xED\x21",
"\xC4\xE5\xE4\xF3\xF8\xEA\xE0\x21\x20\xCC\xFB\x20\xF1\xE4\xE5\xEB\xE0\xEB\xE8\x20\xFD\xF2\xEE\x21",
"\xCD\xE5\xF2\x21\x20\xD2\xFB\x20\xF1\xE4\xE5\xEB\xE0\xEB\x20\xFD\xF2\xEE\x21",
"\xC4\xE0\x20\xE7\xE4\xF0\xE0\xE2\xF1\xF2\xE2\xF3\xE5\xF2\x20\xEA\xEE\xF0\xEE\xEB\xFC\x20\xC1\xF0\xFD\xED\xE4\xEE\xED\x21",
"\xC4\xE0\x20\xE7\xE4\xF0\xE0\xE2\xF1\xF2\xE2\xF3\xFE\xF2\x20\xEA\xEE\xF0\xEE\xEB\xE5\xE2\xF1\xEA\xE8\xE5\x20\xEC\xE0\xE3\xE8\x21",
"\xC0\x20\xF2\xE5\xEF\xE5\xF0\xFC\x20\xED\xE0\xEC\x20\xEF\xEE\xF0\xE0\x20\xE2\xEE\xF1\xF1\xF2\xE0\xED\xEE\xE2\xE8\xF2\xFC\x20\xE2\xE5\xEB\xE8\xF7\xE8\xE5\x20\xCA\xE8\xF0\xE0\xED\xE4\xE8\xE8\x21",
"\xCF\xF0\xE5\xEA\xF0\xE0\xF1\xED\xE0\xFF\x20\xEC\xFB\xF1\xEB\xFC\x21",
"\xC0\x20\xE2\x20\xEA\xE0\xF7\xE5\xF1\xF2\xE2\xE5\x20\xEF\xE5\xF0\xE2\xEE\xE3\xEE\x20\xEA\xEE\xF0\xEE\xEB\xE5\xE2\xF1\xEA\xEE\xE3\xEE\x20\xF3\xEA\xE0\xE7\xE0\x2E\x2E\x2E",
"\xDF\x20\xEE\xE1\xFA\xFF\xE2\xEB\xFF\xFE\x20\xF1\xE0\xED\xE4\xE0\xEB\xE8\xE8\x20\xEE\xF4\xE8\xF6\xE8\xE0\xEB\xFC\xED\xEE\xE9\x20\xEE\xE1\xF3\xE2\xFC\xFE\x20\xCA\xE8\xF0\xE0\xED\xE4\xE8\xE8\x21",
"\xCE\xF2\xEB\xE8\xF7\xED\xEE\x2C\x20\xC1\xF0\xFD\xED\xE4\xEE\xED\x21",
"\xC7\xE5\xEC\xEB\xFF\x20\xE1\xEE\xEB\xE5\xE5\x20\xED\xE5\x20\xF1\xF2\xF0\xE0\xE4\xE0\xE5\xF2\x2E\x2E\x2E",
"\xC8\x20\xF2\xE2\xEE\xE8\x20\xE4\xF0\xF3\xE7\xFC\xFF\x20\xE2\xE5\xF0\xED\xF3\xEB\xE8\xF1\xFC\x20\xEA\x20\xE6\xE8\xE7\xED\xE8\x21",
"\xC4\xEE\xF0\xEE\xE3\xE0\xFF\x20\xC1\xF0\xE8\xED\xED\x2E\x2E\x2E",
"\xCC\xE0\xEB\xEA\xEE\xEB\xFC\xEC\x20\xF1\xE1\xE5\xE6\xE0\xEB\x2E",
"\xD1\xEA\xEE\xF0\xEE\x20\xEE\xED\x20\xEF\xF0\xE8\xE4\xB8\xF2\x20\xE7\xE0\x20\xEC\xED\xEE\xE9\x2E",
"\xCF\xEE\xE6\xE0\xEB\xF3\xE9\xF1\xF2\xE0\x2C\x20\xEF\xEE\xEC\xEE\xE3\xE8\x20\xC1\xF0\xFD\xED\xE4\xEE\xED\xF3\x2E\x2E\x2E",
""
};
static const StringListProvider k1IntroStringsDOSCDRussianProvider = { ARRAYSIZE(k1IntroStringsDOSCDRussian), k1IntroStringsDOSCDRussian };
static const char *const k1ItemNamesDOSCDRussian[107] = {
"\xC3\xF0\xE0\xED\xE0\xF2",
"\xC0\xEC\xE5\xF2\xE8\xF1\xF2",
"\xC0\xEA\xE2\xE0\xEC\xE0\xF0\xE8\xED",
"\xC0\xEB\xEC\xE0\xE7",
"\xC8\xE7\xF3\xEC\xF0\xF3\xE4",
"\xC6\xE5\xEC\xF7\xF3\xE6\xE8\xED\xE0",
"\xD0\xF3\xE1\xE8\xED",
"\xCE\xEB\xE8\xE2\xE8\xED",
"\xD1\xE0\xEF\xF4\xE8\xF0",
"\xCE\xEF\xE0\xEB",
"\xD2\xEE\xEF\xE0\xE7",
"\xCE\xED\xE8\xEA\xF1",
"\xD1\xEE\xEB\xED\xE5\xF7\xED\xFB\xE9\x20\xEA\xE0\xEC\xE5\xED\xFC",
"\xCB\xF3\xED\xED\xFB\xE9\x20\xEA\xE0\xEC\xE5\xED\xFC",
"\xD0\xE0\xE4\xF3\xE6\xED\xFB\xE9\x20\xEA\xE0\xEC\xE5\xED\xFC",
"\xCA\xEE\xEC\xEF\xE0\xF1",
"\xD0\xEE\xE7\xE0",
"\xD2\xFE\xEB\xFC\xEF\xE0\xED",
"\xCE\xF0\xF5\xE8\xE4\xE5\xFF",
"\xD1\xE5\xF0\xE5\xE1\xF0\xFF\xED\xE0\xFF\x20\xF0\xEE\xE7\xE0",
"\xD1\xE5\xF0\xE5\xE1\xF0\xFF\xED\xE0\xFF\x20\xF1\xF2\xE0\xF2\xF3\xFD\xF2\xEA\xE0",
"\xD1\xE5\xF0\xE5\xE1\xF0\xFF\xED\xE0\xFF\x20\xEC\xEE\xED\xE5\xF2\xE0",
"\xC7\xEE\xEB\xEE\xF2\xE0\xFF\x20\xEC\xEE\xED\xE5\xF2\xE0",
"\xC7\xEE\xEB\xEE\xF2\xEE\xE5\x20\xEA\xEE\xEB\xFC\xF6\xEE",
"\xCA\xEE\xF0\xEE\xEB\xE5\xE2\xF1\xEA\xE0\xFF\x20\xF7\xE0\xF8\xE0",
"\xD1\xEE\xF1\xED\xEE\xE2\xE0\xFF\x20\xF8\xE8\xF8\xEA\xE0",
"\xC6\xB8\xEB\xF3\xE4\xFC",
"\xD6\xE0\xF0\xF1\xEA\xE8\xE9\x20\xEE\xF0\xE5\xF5",
"\xC2\xE5\xF7\xED\xEE\xE3\xEE\xF0\xFF\xF9\xE0\xFF\x20\xEF\xEB\xE0\xEC\xE5\xED\xE8\xEA\xE0",
"\xCF\xEB\xE0\xEC\xE5\xED\xE8\xEA\xE0",
"\xCF\xEB\xE0\xEC\xE5\xED\xE8\xEA\xE0",
"\xCF\xEB\xE0\xEC\xE5\xED\xE8\xEA\xE0",
"\xCF\xEB\xE0\xEC\xE5\xED\xE8\xEA\xE0",
"\xCF\xEB\xE0\xEC\xE5\xED\xE8\xEA\xE0",
"\xD0\xFB\xE1\xE0",
"\xD0\xFB\xE1\xED\xFB\xE5\x20\xEA\xEE\xF1\xF2\xE8",
"\xC1\xE0\xF0\xE0\xED\xFC\xFF\x20\xED\xEE\xE3\xE0",
"\xCA\xEE\xF1\xF2\xFC",
"\xDF\xE1\xEB\xEE\xEA\xEE",
"\xDF\xE1\xEB\xEE\xF7\xED\xFB\xE9\x20\xEE\xE3\xF0\xFB\xE7\xEE\xEA",
"\xC3\xEE\xEB\xF3\xE1\xE8\xEA\xE0",
"\xC3\xF0\xE8\xE1",
"\xC7\xE0\xEF\xE8\xF1\xEA\xE0",
"\xD8\xE0\xF0\xE8\xEA",
"\xCF\xE8\xEB\xE0",
"\xC0\xED\xF5",
"\xCF\xE5\xF0\xEE",
"\xDF\xE9\xF6\xEE",
"\xCB\xE8\xF1\xF2",
"\xCA\xEB\xE5\xE2\xE5\xF0",
"\xD3\xEF\xE0\xE2\xF8\xE0\xFF\x20\xE7\xE2\xE5\xE7\xE4\xE0",
"\xD5\xF0\xF3\xF1\xF2\xE0\xEB\xFC\xED\xFB\xE9\x20\xF8\xE0\xF0",
"\xD1\xEB\xE5\xE7\xE0",
"\xC7\xE5\xF0\xEA\xE0\xEB\xEE",
"\xCB\xFC\xE4\xE8\xED\xEA\xE0",
"\xD4\xEB\xE5\xE9\xF2\xE0",
"\xCF\xE5\xF1\xEE\xF7\xED\xFB\xE5\x20\xF7\xE0\xF1\xFB",
"\xC6\xE5\xEB\xE5\xE7\xED\xFB\xE9\x20\xEA\xEB\xFE\xF7",
"\xCD\xE5\xF4\xF0\xE8\xF2\xEE\xE2\xFB\xE9\x20\xEA\xEB\xFE\xF7",
"\xCE\xE1\xF1\xE8\xE4\xE8\xE0\xED\xEE\xE2\xFB\xE9\x20\xEA\xEB\xFE\xF7",
"\xCA\xF0\xE0\xF1\xED\xEE\xE5\x20\xE7\xE5\xEB\xFC\xE5",
"\xCA\xF0\xE0\xF1\xED\xEE\xE5\x20\xE7\xE5\xEB\xFC\xE5",
"\xD1\xE8\xED\xE5\xE5\x20\xE7\xE5\xEB\xFC\xE5",
"\xD1\xE8\xED\xE5\xE5\x20\xE7\xE5\xEB\xFC\xE5",
"\xC6\xB8\xEB\xF2\xEE\xE5\x20\xE7\xE5\xEB\xFC\xE5",
"\xC6\xB8\xEB\xF2\xEE\xE5\x20\xE7\xE5\xEB\xFC\xE5",
"\xC7\xE5\xEB\xB8\xED\xEE\xE5\x20\xE7\xE5\xEB\xFC\xE5",
"\xCE\xF0\xE0\xED\xE6\xE5\xE2\xEE\xE5\x20\xE7\xE5\xEB\xFC\xE5",
"\xD4\xE8\xEE\xEB\xE5\xF2\xEE\xE2\xEE\xE5\x20\xE7\xE5\xEB\xFC\xE5",
"\xD0\xE0\xE4\xF3\xE6\xED\xEE\xE5\x20\xE7\xE5\xEB\xFC\xE5",
"\xD1\xE2\xE5\xE6\xE0\xFF\x20\xE2\xEE\xE4\xE0",
"\xD1\xE2\xE5\xE6\xE0\xFF\x20\xE2\xEE\xE4\xE0",
"\xD1\xEE\xEB\xB8\xED\xE0\xFF\x20\xE2\xEE\xE4\xE0",
"\xD1\xEE\xEB\xB8\xED\xE0\xFF\x20\xE2\xEE\xE4\xE0",
"\xCC\xE8\xED\xE5\xF0\xE0\xEB\xFC\xED\xE0\xFF\x20\xE2\xEE\xE4\xE0",
"\xCC\xE8\xED\xE5\xF0\xE0\xEB\xFC\xED\xE0\xFF\x20\xE2\xEE\xE4\xE0",
"\xC2\xEE\xEB\xF8\xE5\xE1\xED\xE0\xFF\x20\xE2\xEE\xE4\xE0",
"\xC2\xEE\xEB\xF8\xE5\xE1\xED\xE0\xFF\x20\xE2\xEE\xE4\xE0",
"\xCF\xF3\xF1\xF2\xE0\xFF\x20\xF1\xEA\xEB\xFF\xED\xEA\xE0",
"\xCF\xF3\xF1\xF2\xE0\xFF\x20\xF1\xEA\xEB\xFF\xED\xEA\xE0",
"\xD1\xE2\xE8\xF2\xEE\xEA",
"\xD1\xE2\xE8\xF2\xEE\xEA",
"\xD1\xE2\xE8\xF2\xEE\xEA",
"\xD1\xE2\xE8\xF2\xEE\xEA",
"\xD1\xE2\xE8\xF2\xEE\xEA",
"\xD1\xE2\xE8\xF2\xEE\xEA",
"\xD1\xE2\xE8\xF2\xEE\xEA",
"\xD1\xE2\xE8\xF2\xEE\xEA",
"\xD1\xE2\xE8\xF2\xEE\xEA",
"\xD1\xE2\xE8\xF2\xEE\xEA",
"\xCA\xF3\xF1\xEE\xEA\x20\xEF\xE5\xF0\xE3\xE0\xEC\xE5\xED\xF2\xE0",
"\xCA\xF3\xF1\xEE\xEA\x20\xEF\xE5\xF0\xE3\xE0\xEC\xE5\xED\xF2\xE0",
"\xCA\xF3\xF1\xEE\xEA\x20\xEF\xE5\xF0\xE3\xE0\xEC\xE5\xED\xF2\xE0",
"\xCA\xF3\xF1\xEE\xEA\x20\xEF\xE5\xF0\xE3\xE0\xEC\xE5\xED\xF2\xE0",
"\xCA\xF3\xF1\xEE\xEA\x20\xEF\xE5\xF0\xE3\xE0\xEC\xE5\xED\xF2\xE0",
"\xCA\xF0\xE0\xF1\xED\xFB\xE9\x20\xEC\xE0\xE3\xED\xE8\xF2",
"\xCE\xF0\xE0\xED\xE6\xE5\xE2\xFB\xE9\x20\xEC\xE0\xE3\xED\xE8\xF2",
"\xC6\xB8\xEB\xF2\xFB\xE9\x20\xEC\xE0\xE3\xED\xE8\xF2",
"\xC7\xE5\xEB\xB8\xED\xFB\xE9\x20\xEC\xE0\xE3\xED\xE8\xF2",
"\xD1\xE8\xED\xE5\xE7\xE5\xEB\xB8\xED\xFB\xE9\x20\xEC\xE0\xE3\xED\xE8\xF2",
"\xD1\xE8\xED\xE8\xE9\x20\xEC\xE0\xE3\xED\xE8\xF2",
"\xD4\xE8\xEE\xEB\xE5\xF2\xEE\xE2\xFB\xE9\x20\xEC\xE0\xE3\xED\xE8\xF2",
"\xD2\xFF\xE6\xB8\xEB\xFB\xE9\x20\xEA\xE0\xEC\xE5\xED\xFC",
"\xCA\xEE\xF0\xEE\xEB\xE5\xE2\xF1\xEA\xE0\xFF\x20\xEA\xEE\xF0\xEE\xED\xE0",
"\xCA\xEE\xF0\xEE\xEB\xE5\xE2\xF1\xEA\xE8\xE9\x20\xF1\xEA\xE8\xEF\xE5\xF2\xF0",
"\xC7\xEE\xEB\xEE\xF2\xEE\xE9\x20\xEA\xEB\xFE\xF7",
"\xCD\xE5\xE8\xE7\xE2\xE5\xF1\xF2\xED\xFB\xE9\x20\xEF\xF0\xE5\xE4\xEC\xE5\xF2"
};
static const StringListProvider k1ItemNamesDOSCDRussianProvider = { ARRAYSIZE(k1ItemNamesDOSCDRussian), k1ItemNamesDOSCDRussian };
static const char *const k1TakenStringsDOSCDRussian[2] = {
"\x20\xE2\x20\xF0\xF3\xEA\xE0\xF5\x2E",
"\x20\xE2\x20\xF0\xF3\xEA\xE0\xF5\x2E"
};
static const StringListProvider k1TakenStringsDOSCDRussianProvider = { ARRAYSIZE(k1TakenStringsDOSCDRussian), k1TakenStringsDOSCDRussian };
static const char *const k1PlacedStringsDOSCDRussian[1] = {
"\x20\xE2\x20\xEA\xE0\xF0\xEC\xE0\xED\xE5\x2E"
};
static const StringListProvider k1PlacedStringsDOSCDRussianProvider = { ARRAYSIZE(k1PlacedStringsDOSCDRussian), k1PlacedStringsDOSCDRussian };
static const char *const k1DroppedStringsDOSCDRussian[1] = {
"\x20\xED\xE0\x20\xE7\xE5\xEC\xEB\xE5\x2E"
};
static const StringListProvider k1DroppedStringsDOSCDRussianProvider = { ARRAYSIZE(k1DroppedStringsDOSCDRussian), k1DroppedStringsDOSCDRussian };
static const char *const k1NoDropStringsDOSCDRussian[2] = {
"\xC7\xE4\xE5\xF1\xFC\x20\xED\xE5\xE2\xEE\xE7\xEC\xEE\xE6\xED\xEE\x20\xE1\xEE\xEB\xFC\xF8\xE5\x20\xED\xE8\xF7\xE5\xE3\xEE\x20\xE1\xF0\xEE\xF1\xE8\xF2\xFC\x2E",
"\xD1\xFE\xE4\xE0\x20\xED\xE5\xEB\xFC\xE7\xFF\x20\xED\xE8\xF7\xE5\xE3\xEE\x20\xE1\xF0\xEE\xF1\xE8\xF2\xFC\x2E"
};
static const StringListProvider k1NoDropStringsDOSCDRussianProvider = { ARRAYSIZE(k1NoDropStringsDOSCDRussian), k1NoDropStringsDOSCDRussian };
static const char *const k1PutDownStringDOSCDRussian[1] = {
"\xCF\xEE\xF5\xEE\xE6\xE5\x2C\x20\xF1\xEF\xE5\xF0\xE2\xE0\x20\xF1\xF2\xEE\xE8\xF2\x20\xFD\xF2\xEE\x20\xEF\xEE\xEB\xEE\xE6\xE8\xF2\xFC\x2E"
};
static const StringListProvider k1PutDownStringDOSCDRussianProvider = { ARRAYSIZE(k1PutDownStringDOSCDRussian), k1PutDownStringDOSCDRussian };
static const char *const k1WaitAmuletStringDOSCDRussian[1] = {
"\xCF\xEE\xF5\xEE\xE6\xE5\x2C\x20\xEF\xF0\xE8\xE4\xB8\xF2\xF1\xFF\x20\xEF\xEE\xE4\xEE\xE6\xE4\xE0\xF2\xFC\x2C\x20\xEF\xEE\xEA\xE0\x20\xE0\xEC\xF3\xEB\xE5\xF2\x20\xE2\xEE\xF1\xF1\xF2\xE0\xED\xEE\xE2\xE8\xF2\x20\xF1\xE2\xEE\xFE\x20\xF1\xE8\xEB\xF3\x2E"
};
static const StringListProvider k1WaitAmuletStringDOSCDRussianProvider = { ARRAYSIZE(k1WaitAmuletStringDOSCDRussian), k1WaitAmuletStringDOSCDRussian };
static const char *const k1BlackJewelStringDOSCDRussian[1] = {
"\xDD\xF2\xEE\x20\xF1\xE0\xEC\xEE\xF6\xE2\xE5\xF2\x2C\x20\xED\xEE\x20\xEF\xEE\xF7\xE5\xEC\xF3\x20\xEE\xED\x20\xF7\xB8\xF0\xED\xFB\xE9\x3F"
};
static const StringListProvider k1BlackJewelStringDOSCDRussianProvider = { ARRAYSIZE(k1BlackJewelStringDOSCDRussian), k1BlackJewelStringDOSCDRussian };
static const char *const k1HealingTipStringDOSCDRussian[1] = {
"\xD3\xF5\x20\xF2\xFB\x21\x20\xDD\xF2\xEE\x20\xEC\xEE\xE6\xE5\xF2\x20\xEF\xEE\xEC\xEE\xF7\xFC\x2C\x20\xE5\xF1\xEB\xE8\x20\xFF\x20\xEF\xEE\xF0\xE0\xED\xFE\xF1\xFC\x2E"
};
static const StringListProvider k1HealingTipStringDOSCDRussianProvider = { ARRAYSIZE(k1HealingTipStringDOSCDRussian), k1HealingTipStringDOSCDRussian };
static const char *const k1PoisonGoneStringDOSCDRussian[2] = {
"\xCD\xE5\xE2\xE5\xF0\xEE\xFF\xF2\xED\xEE\x21",
"\xC4\xE5\xE9\xF1\xF2\xE2\xE8\xE5\x20\xFF\xE4\xE0\x20\xEF\xF0\xEE\xF8\xEB\xEE\x21"
};
static const StringListProvider k1PoisonGoneStringDOSCDRussianProvider = { ARRAYSIZE(k1PoisonGoneStringDOSCDRussian), k1PoisonGoneStringDOSCDRussian };
static const char *const k1ThePoisonStringsDOSCDRussian[4] = {
"\xDF\xE4\x2E\x2E\x2E",
"\xDF\x20\xED\xE5\x20\xEC\xEE\xE3\xF3\x20\xE4\xFB\xF8\xE0\xF2\xFC\x2E\x2E\x2E",
"\xDF\x20\xF7\xF3\xE2\xF1\xF2\xE2\xF3\xFE\x20\xF1\xE5\xE1\xFF\x20\xEF\xEB\xEE\xF5\xEE\x2E\x2E\x2E",
"\xC4\xEE\xEB\xE6\xED\xEE\x20\xE1\xFB\xF2\xFC\x2C\x0D\xFD\xF2\xE0\x20\xE7\xEC\xE5\xFF\x20\xFF\xE4\xEE\xE2\xE8\xF2\xE0\xFF\x21"
};
static const StringListProvider k1ThePoisonStringsDOSCDRussianProvider = { ARRAYSIZE(k1ThePoisonStringsDOSCDRussian), k1ThePoisonStringsDOSCDRussian };
static const char *const k1FluteStringsDOSCDRussian[2] = {
"\xC0\x20\xE7\xE2\xF3\xEA\x20\xF3\x20\xED\xE5\xB8\x20\xF2\xE0\xEA\x20\xF1\xE5\xE1\xE5\x2E",
"\xCE\xF2\x20\xEF\xEE\xF1\xEB\xE5\xE4\xED\xE5\xE9\x20\xED\xEE\xF2\xFB\x20\xE0\xE6\x20\xF3\xF8\xE8\x20\xE7\xE0\xEB\xEE\xE6\xE8\xEB\xEE\x21"
};
static const StringListProvider k1FluteStringsDOSCDRussianProvider = { ARRAYSIZE(k1FluteStringsDOSCDRussian), k1FluteStringsDOSCDRussian };
static const char *const k1WispJewelStringsDOSCDRussian[2] = {
"\xCD\xE5\x20\xE4\xF3\xEC\xE0\xFE\x2C\x20\xF7\xF2\xEE\x20\xF1\xE5\xE9\xF7\xE0\xF1\x20\xFD\xF2\xEE\x20\xEC\xEE\xE6\xE5\xF2\x20\xEF\xEE\xED\xE0\xE4\xEE\xE1\xE8\xF2\xFC\xF1\xFF\x2E",
"\xCF\xEE\xF5\xEE\xE6\xE5\x2C\x20\xF1\xEF\xE5\xF0\xE2\xE0\x20\xF1\xF2\xEE\xE8\xF2\x20\xFD\xF2\xEE\x20\xEF\xEE\xEB\xEE\xE6\xE8\xF2\xFC\x2E"
};
static const StringListProvider k1WispJewelStringsDOSCDRussianProvider = { ARRAYSIZE(k1WispJewelStringsDOSCDRussian), k1WispJewelStringsDOSCDRussian };
static const char *const k1MagicJewelStringsDOSCDRussian[1] = {
"\xD1\xF2\xF0\xE0\xED\xED\xEE\xE5\x20\xEE\xF9\xF3\xF9\xE5\xED\xE8\xE5\x2E",
};
static const StringListProvider k1MagicJewelStringsDOSCDRussianProvider = { ARRAYSIZE(k1MagicJewelStringsDOSCDRussian), k1MagicJewelStringsDOSCDRussian };
static const char *const k1FlaskFullStringDOSCDRussian[1] = {
"\xDD\xF2\xE0\x20\xF1\xEA\xEB\xFF\xED\xEA\xE0\x20\xF3\xE6\xE5\x20\xED\xE0\xEF\xEE\xEB\xED\xE5\xED\xE0\x2E"
};
static const StringListProvider k1FlaskFullStringDOSCDRussianProvider = { ARRAYSIZE(k1FlaskFullStringDOSCDRussian), k1FlaskFullStringDOSCDRussian };
static const char *const k1FullFlaskStringDOSCDRussian[4] = {
"\xC2\x20\xF1\xEA\xEB\xFF\xED\xEA\xE5\x20\xF2\xE5\xEF\xE5\xF0\xFC\x20\xF1\xE2\xE5\xE6\xE0\xFF\x20\xF1\xE2\xE5\xF0\xEA\xE0\xFE\xF9\xE0\xFF\x20\xE2\xEE\xE4\xE0\x2E",
"\xC2\x20\xF1\xEA\xEB\xFF\xED\xEA\xE5\x20\xF2\xE5\xEF\xE5\xF0\xFC\x20\xF1\xEE\xEB\xB8\xED\xE0\xFF\x20\xE2\xEE\xE4\xE0\x2E",
"\xC2\x20\xF1\xEA\xEB\xFF\xED\xEA\xE5\x20\xF2\xE5\xEF\xE5\xF0\xFC\x20\xEC\xE8\xED\xE5\xF0\xE0\xEB\xFC\xED\xE0\xFF\x20\xE2\xEE\xE4\xE0\x2E",
"\xC2\xEE\xEB\xF8\xE5\xE1\xED\xE0\xFF\x20\xE2\xEE\xE4\xE0\x2E"
};
static const StringListProvider k1FullFlaskStringDOSCDRussianProvider = { ARRAYSIZE(k1FullFlaskStringDOSCDRussian), k1FullFlaskStringDOSCDRussian };
static const char *const k1OutroHomeStringDOSCDRussian[1] = {
"\xC4\xEE\xEC"
};
static const StringListProvider k1OutroHomeStringDOSCDRussianProvider = { ARRAYSIZE(k1OutroHomeStringDOSCDRussian), k1OutroHomeStringDOSCDRussian };
static const char *const k1VeryCleverStringDOSCDRussian[1] = {
"\xD5\xE8\xF2\xF0\xE5\xF6\x21\x20\xCE\xE4\xED\xE0\xEA\x20\xF3\xF1\xE8\xEB\xE8\xFF\x20\xF2\xE2\xEE\xE8\x20\xED\xE0\xEF\xF0\xE0\xF1\xED\xFB\x2E"
};
static const StringListProvider k1VeryCleverStringDOSCDRussianProvider = { ARRAYSIZE(k1VeryCleverStringDOSCDRussian), k1VeryCleverStringDOSCDRussian };
static const char *const k1GUIStringsDOSCDRussian[29] = {
"\xCB\xE5\xE3\xE5\xED\xE4\xE0\x20\xCA\xE8\xF0\xE0\xED\xE4\xE8\xE8",
"\xC7\xE0\xE3\xF0\xF3\xE7\xE8\xF2\xFC\x20\xE8\xE3\xF0\xF3",
"\xD1\xEE\xF5\xF0\xE0\xED\xE8\xF2\xFC\x20\xE8\xE3\xF0\xF3",
"\xCD\xE0\xF1\xF2\xF0\xEE\xE9\xEA\xE8",
"\xC2\xFB\xE9\xF2\xE8\x20\xE8\xE7\x20\xE8\xE3\xF0\xFB",
"\xCF\xF0\xEE\xE4\xEE\xEB\xE6\xE8\xF2\xFC",
"\xCD\xE0\xF1\xF2\xF0\xEE\xE9\xEA\xE8",
"\xCA\xE0\xEA\xF3\xFE\x20\xE8\xE3\xF0\xF3\x20\xC2\xFB\x20\xE1\xFB\x20\xF5\xEE\xF2\xE5\xEB\xE8\x20\xE7\xE0\xE3\xF0\xF3\xE7\xE8\xF2\xFC\x3F",
"\xC2\xFB\xE1\xE5\xF0\xE8\xF2\xE5\x20\xEF\xEE\xE7\xE8\xF6\xE8\xFE\x20\xE4\xEB\xFF\x20\xF1\xEE\xF5\xF0\xE0\xED\xE5\xED\xE8\xFF\x3A",
"\x5B\x20\xCF\xD3\xD1\xD2\xCE\x20\x5D",
"\xCE\xF2\xEC\xE5\xED\xE0",
"\xC2\xE2\xE5\xE4\xE8\xF2\xE5\x20\xEE\xEF\xE8\xF1\xE0\xED\xE8\xE5\x20\xF1\xEE\xF5\xF0\xE0\xED\xFF\xE5\xEC\xEE\xE9\x20\xE8\xE3\xF0\xFB\x3A",
"\xD1\xEE\xF5\xF0\xE0\xED\xE8\xF2\xFC",
"\xCF\xEE\xEA\xEE\xE9\xF1\xFF\x20\xF1\x20\xEC\xE8\xF0\xEE\xEC\x2C\x20\xC1\xF0\xFD\xED\xE4\xEE\xED\x2E",
"\xC2\xFB\x20\xF3\xE2\xE5\xF0\xE5\xED\xFB\x2C\x20\xF7\xF2\xEE\x20\xF5\xEE\xF2\xE8\xF2\xE5\x20\xEF\xEE\xEA\xE8\xED\xF3\xF2\xFC\x20\xE8\xE3\xF0\xF3\x3F",
"XXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXX",
"\xC3\xEB\xE0\xE2\xED\xEE\xE5\x20\xEC\xE5\xED\xFE",
"\xE2\xEA\xEB\x2E",
"\xE2\xFB\xEA\xEB\x2E",
"\xC4\xE0",
"\xCD\xE5\xF2",
"\xCD\x0E\x17""+""\xD5\x0E\x17""+""\xDA\x0E\x17""+""\xE1\x0E\x17""+""\xE6\x0E\x17""+""\xEE\x0E\x17""+""\xF8\x0E\x17""+""\x03\x0F\x17""+""\x10\x0F\x17""+""\x18\x0F\x17""+""\x1F\x0F\x17""+$""\x0F\x17""+""\xD1\xEA\xEE\xF0\xEE\xF1\xF2\xFC\x20\xEF\xE5\xF0\xE5\xEC\xE5\xF9\xE5\xED\xE8\xFF",
"\xD1\xEA\xEE\xF0\xEE\xF1\xF2\xFC\x20\xF2\xE5\xEA\xF1\xF2\xE0",
"\xCC\xF3\xE7\xFB\xEA\xE0",
"\xC7\xE2\xF3\xEA\xE8",
"\xCE\xE7\xE2\xF3\xF7\xEA\xE0\x20\x2F\x20\xD2\xE5\xEA\xF1\xF2"
};
static const StringListProvider k1GUIStringsDOSCDRussianProvider = { ARRAYSIZE(k1GUIStringsDOSCDRussian), k1GUIStringsDOSCDRussian };
static const char *const k1NewGameStringDOSCDRussian[1] = {
"\x5B\x20\xCD\xCE\xC2\xC0\xDF\x20\xC8\xC3\xD0\xC0\x20\x5D"
};
static const StringListProvider k1NewGameStringDOSCDRussianProvider = { ARRAYSIZE(k1NewGameStringDOSCDRussian), k1NewGameStringDOSCDRussian };
static const char *const k1ConfigStringsDOSCDRussian[12] = {
"\xEE\xF7\xE5\xED\xFC\x20\xEC\xE5\xE4\xEB\xE5\xED\xED\xE0\xFF",
"\xEC\xE5\xE4\xEB\xE5\xED\xED\xE0\xFF",
"\xED\xEE\xF0\xEC\xE0\xEB\xFC\xED\xE0\xFF",
"\xE1\xFB\xF1\xF2\xF0\xE0\xFF",
"\xEE\xF7\xE5\xED\xFC\x20\xE1\xFB\xF1\xF2\xF0\xE0\xFF",
"\xD2\xEE\xEB\xFC\xEA\xEE\x20\xF2\xE5\xEA\xF1\xF2",
"\xD2\xEE\xEB\xFC\xEA\xEE\x20\xEE\xE7\xE2\xF3\xF7\xEA\xE0",
"\xCE\xE7\xE2\xF3\xF7\xEA\xE0\x20\xE8\x20\xF2\xE5\xEA\xF1\xF2",
"\xEC\xE5\xE4\xEB\xE5\xED\xED\xE0\xFF",
"\xED\xEE\xF0\xEC\xE0\xEB\xFC\xED\xE0\xFF",
"\xE1\xFB\xF1\xF2\xF0\xE0\xFF",
"\xEF\xEE\x20\xEA\xEB\xE8\xEA\xF3"
};
static const StringListProvider k1ConfigStringsDOSCDRussianProvider = { ARRAYSIZE(k1ConfigStringsDOSCDRussian), k1ConfigStringsDOSCDRussian };

Binary file not shown.

View File

@ -32,6 +32,7 @@ namespace {
#define KYRA1_TOWNS_FLAGS FLAGS(false, true, false, false, false, false, false, false, false, Kyra::GI_KYRA1)
#define KYRA1_TOWNS_SJIS_FLAGS FLAGS(false, true, false, false, true, false, false, false, false, Kyra::GI_KYRA1)
#define KYRA1_CD_FLAGS FLAGS(false, true, true, false, false, false, false, false, false, Kyra::GI_KYRA1)
#define KYRA1_CD_FAN_FLAGS(x, y) FLAGS_FAN(x, y, false, true, true, false, false, false, false, false, false, Kyra::GI_KYRA1)
#define KYRA1_DEMO_FLAGS FLAGS(true, false, false, false, false, false, false, false, false, Kyra::GI_KYRA1)
#define KYRA1_DEMO_CD_FLAGS FLAGS(true, true, true, false, false, false, false, false, false, Kyra::GI_KYRA1)
@ -458,7 +459,18 @@ const KYRAGameDescription adGameDescs[] = {
},
KYRA1_DEMO_FLAGS
},
{ // Modern fan-made Russian translation by Siberian GRemlin
{
"kyra1",
"CD",
AD_ENTRY1("MAIN_ENG.CPS", "535765395e3594bfd9b727834028e288"),
Common::RU_RUS,
Common::kPlatformDOS,
ADGF_CD,
GUIO4(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIPCSPK, GUIO_RENDERVGA)
},
KYRA1_CD_FAN_FLAGS(Common::RU_RUS, Common::EN_ANY)
},
{ // Special Kyrandia 1 CD demo
{
"kyra1",

View File

@ -39,7 +39,7 @@
namespace Kyra {
#define RESFILE_VERSION 103
#define RESFILE_VERSION 104
namespace {
bool checkKyraDat(Common::SeekableReadStream *file) {
@ -211,6 +211,7 @@ bool StaticResource::tryKyraDatLoad() {
if (!found)
return false;
// load the ID map for our game
const Common::String filenamePattern = Common::String::format("0%01X%01X%01X000%01X", game, platform, special, lang);
Common::SeekableReadStream *idMap = _vm->resource()->createReadStream(filenamePattern);
@ -961,6 +962,8 @@ void KyraEngine_LoK::loadMainScreen(int page) {
_screen->loadBitmap("MAIN_SPA.CPS", page, page, 0);
else if (_flags.lang == Common::IT_ITA)
_screen->loadBitmap("MAIN_ITA.CPS", page, page, 0);
else if (_flags.lang == Common::RU_RUS)
_screen->loadBitmap("MAIN_ENG.CPS", page, page, 0);
else
warning("no main graphics file found");

View File

@ -1034,6 +1034,8 @@ int KyraEngine_LoK::o1_specialEventDisplayBrynnsNote(EMCState *script) {
_screen->loadBitmap("NOTEFRE.CPS", 3, 3, 0);
else if (_flags.lang == Common::DE_DEU)
_screen->loadBitmap("NOTEGER.CPS", 3, 3, 0);
else if (_flags.lang == Common::RU_RUS)
_screen->loadBitmap("NOTEENG.CPS", 3, 3, 0);
} else {
_screen->loadBitmap("NOTE.CPS", 3, 3, 0);
}

View File

@ -264,6 +264,8 @@ bool KyraEngine_LoK::seq_introStory() {
_screen->loadBitmap("TEXT_ITA.CPS", 3, 3, &_screen->getPalette(0));
else if (_flags.lang == Common::IT_ITA && _flags.isTalkie)
_screen->loadBitmap("TEXT_ENG.CPS", 3, 3, &_screen->getPalette(0));
else if (_flags.lang == Common::RU_RUS && _flags.isTalkie)
_screen->loadBitmap("TEXT_ENG.CPS", 3, 3, &_screen->getPalette(0));
else
warning("no story graphics file found");