[Scummvm-git-logs] scummvm master -> c93f01efbea0db4dea9b29a4c26b3743be03c641

athrxx noreply at scummvm.org
Wed Apr 2 20:15:38 UTC 2025


This automated email contains information about 8 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
86540efbfd KYRA: Added Czech fan translation for Kyrandia 1, 2, and 3.
3efbf3dacd KYRA: update kyra.dat code to support Czech fan translations
32ac96252d KYRA: (MR) - complete support for  Czech fan translation
a9a9720bad KYRA: Czech language files fix for Kyra 1, 2, and 3.
55644588de KYRA: (LOK/CZ) - fix options strings
f111b52a9f KYRA: (LOK/CZ) - fix Brynn's note
1e24a36890 KYRA: Kyra 1 Czech translation typo fix.
c93f01efbe KYRA: regenerate kyra.dat


Commit: 86540efbfd0ed4134175a30abca1aa549474203d
    https://github.com/scummvm/scummvm/commit/86540efbfd0ed4134175a30abca1aa549474203d
Author: Michal Breškovec (michal at breskovec.cz)
Date: 2025-04-02T22:15:32+02:00

Commit Message:
KYRA: Added Czech fan translation for Kyrandia 1, 2, and 3.

Changed paths:
  A devtools/create_kyradat/resources/hof_dos_cd_czech.h
  A devtools/create_kyradat/resources/lok_dos_cd_czech.h
  A devtools/create_kyradat/resources/mr_dos_cd_czech.h
    devtools/create_kyradat/games.cpp
    devtools/create_kyradat/resources.cpp
    engines/kyra/detection_tables.h


diff --git a/devtools/create_kyradat/games.cpp b/devtools/create_kyradat/games.cpp
index 643ef516f6c..c5b09b6842b 100644
--- a/devtools/create_kyradat/games.cpp
+++ b/devtools/create_kyradat/games.cpp
@@ -56,6 +56,7 @@ const Game kyra1Games[] = {
 	{ kKyra1, kPlatformDOS, kTalkieVersion, ES_ESP },
 	//{ kKyra1, kPlatformDOS, kTalkieVersion, RU_RUS },
 	{ kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR },
+	{ kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE },
 
 	{ kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY },
 	{ kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN },
@@ -94,6 +95,7 @@ const Game kyra2Games[] = {
 	//{ kKyra2, kPlatformDOS, kTalkieVersion, RU_RUS },
 	{ kKyra2, kPlatformDOS, kTalkieVersion, ES_ESP },
 	{ kKyra2, kPlatformDOS, kTalkieVersion, HE_ISR },
+	{ kKyra2, kPlatformDOS, kTalkieVersion, CS_CZE },
 
 	{ kKyra2, kPlatformFMTowns, kNoSpecial, EN_ANY },
 	{ kKyra2, kPlatformFMTowns, kNoSpecial, JA_JPN },
@@ -114,6 +116,7 @@ const Game kyra3Games[] = {
 	{ kKyra3, kPlatformDOS, kTalkieVersion, HE_ISR },
 	{ kKyra3, kPlatformDOS, kTalkieVersion, ZH_CHN },
 	{ kKyra3, kPlatformDOS, kTalkieVersion, ZH_TWN },
+	{ kKyra3, kPlatformDOS, kTalkieVersion, CS_CZE },
 
 	GAME_DUMMY_ENTRY
 };
diff --git a/devtools/create_kyradat/resources.cpp b/devtools/create_kyradat/resources.cpp
index 09bbb320400..8a1e4f1d918 100644
--- a/devtools/create_kyradat/resources.cpp
+++ b/devtools/create_kyradat/resources.cpp
@@ -52,6 +52,7 @@
 #include "resources/lok_dos_cd_spanish.h"
 #include "resources/lok_dos_cd_russian.h"
 #include "resources/lok_dos_cd_hebrew.h"
+#include "resources/lok_dos_cd_czech.h"
 #include "resources/lok_dos_cddemo.h"
 #include "resources/lok_dos_cddemo_english.h"
 
@@ -96,6 +97,7 @@
 #include "resources/hof_dos_cd_russian.h"
 #include "resources/hof_dos_cd_spanish.h"
 #include "resources/hof_dos_cd_hebrew.h"
+#include "resources/hof_dos_cd_czech.h"
 
 #include "resources/hof_fmtowns.h"
 #include "resources/hof_fmtowns_english.h"
@@ -114,6 +116,7 @@
 #include "resources/mr_dos_cd_spanish.h"
 #include "resources/mr_dos_cd_russian.h"
 #include "resources/mr_dos_cd_hebrew.h"
+#include "resources/mr_dos_cd_czech.h"
 #include "resources/mr_dos_cd_chinese_simplified.h"
 #include "resources/mr_dos_cd_chinese_trad.h"
 
@@ -865,6 +868,28 @@ static const ResourceProvider resourceProviders[] = {
 	{ k1GUIStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1GUIStringsDOSCDHebrewProvider },
 	{ k1NewGameString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1NewGameStringDOSCDHebrewProvider },
 	{ k1ConfigStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1ConfigStringsDOSCDHebrewProvider },
+	{ k1IntroStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1IntroStringsDOSCDCzechProvider },
+	{ k1ItemNames, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1ItemNamesDOSCDCzechProvider },
+	{ k1TakenStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1TakenStringsDOSCDCzechProvider },
+	{ k1PlacedStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1PlacedStringsDOSCDCzechProvider },
+	{ k1DroppedStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1DroppedStringsDOSCDCzechProvider },
+	{ k1NoDropStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1NoDropStringsDOSCDCzechProvider },
+	{ k1PutDownString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1PutDownStringDOSCDCzechProvider },
+	{ k1WaitAmuletString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1WaitAmuletStringDOSCDCzechProvider },
+	{ k1BlackJewelString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1BlackJewelStringDOSCDCzechProvider },
+	{ k1HealingTipString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1HealingTipStringDOSCDCzechProvider },
+	{ k1PoisonGoneString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1PoisonGoneStringDOSCDCzechProvider },
+	{ k1ThePoisonStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1ThePoisonStringsDOSCDCzechProvider },
+	{ k1FluteStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1FluteStringsDOSCDCzechProvider },
+	{ k1WispJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1WispJewelStringsDOSCDCzechProvider },
+	{ k1MagicJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1MagicJewelStringsDOSCDCzechProvider },
+	{ k1FlaskFullString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1FlaskFullStringDOSCDCzechProvider },
+	{ k1FullFlaskString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1FullFlaskStringDOSCDCzechProvider },
+	{ k1OutroHomeString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1OutroHomeStringDOSCDCzechProvider },
+	{ k1VeryCleverString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1VeryCleverStringDOSCDCzechProvider },
+	{ k1GUIStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1GUIStringsDOSCDCzechProvider },
+	{ k1NewGameString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1NewGameStringDOSCDCzechProvider },
+	{ k1ConfigStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1ConfigStringsDOSCDCzechProvider },
 	{ k1KallakWritingSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1KallakWritingSeqFMTownsProvider },
 	{ k1MalcolmTreeSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1MalcolmTreeSeqFMTownsProvider },
 	{ k1WestwoodLogoSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1WestwoodLogoSeqFMTownsProvider },
@@ -1347,6 +1372,8 @@ static const ResourceProvider resourceProviders[] = {
 	{ k2SeqplayTlkFiles, kKyra2, kPlatformDOS, kTalkieVersion, RU_RUS, &k2SeqplayTlkFilesDOSCDRussianProvider },*/
 	{ k2SeqplayStrings, kKyra2, kPlatformDOS, kTalkieVersion, ES_ESP, &k2SeqplayStringsDOSCDSpanishProvider },
 	{ k2SeqplayTlkFiles, kKyra2, kPlatformDOS, kTalkieVersion, ES_ESP, &k2SeqplayTlkFilesDOSCDSpanishProvider },
+	{ k2SeqplayStrings, kKyra2, kPlatformDOS, kTalkieVersion, CS_CZE, &k2SeqplayStringsDOSCDCzechProvider },
+	{ k2SeqplayTlkFiles, kKyra2, kPlatformDOS, kTalkieVersion, CS_CZE, &k2SeqplayTlkFilesDOSCDCzechProvider },
 	{ k2SeqplayPakFiles, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2SeqplayPakFilesFMTownsProvider },
 	{ k2SeqplayStrings, kKyra2, kPlatformFMTowns, kNoSpecial, EN_ANY, &k2SeqplayStringsFMTownsEnglishProvider },
 	{ k2SeqplaySfxFiles, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2SeqplaySfxFilesFMTownsProvider },
@@ -1387,6 +1414,7 @@ static const ResourceProvider resourceProviders[] = {
 	{ k3MainMenuStrings, kKyra3, kPlatformDOS, kTalkieVersion, ES_ESP, &k3MainMenuStringsDOSCDSpanishProvider },
 	{ k3MainMenuStrings, kKyra3, kPlatformDOS, kTalkieVersion, RU_RUS, &k3MainMenuStringsDOSCDRussianProvider },
 	{ k3MainMenuStrings, kKyra3, kPlatformDOS, kTalkieVersion, HE_ISR, &k3MainMenuStringsDOSCDHebrewProvider },
+	{ k3MainMenuStrings, kKyra3, kPlatformDOS, kTalkieVersion, CS_CZE, &k3MainMenuStringsDOSCDCzechProvider },
 	{ k3MainMenuStrings, kKyra3, kPlatformDOS, kTalkieVersion, ZH_CHN, &k3MainMenuStringsDOSCDChineseSmplProvider },
 	{ k3MainMenuStrings, kKyra3, kPlatformDOS, kTalkieVersion, ZH_TWN, &k3MainMenuStringsDOSCDChineseTradProvider },
 	{ k3MusicFiles, kKyra3, kPlatformDOS, kTalkieVersion, UNK_LANG, &k3MusicFilesDOSCDProvider },
@@ -1403,6 +1431,7 @@ static const ResourceProvider resourceProviders[] = {
 	{ k2FontData, kKyra3, kPlatformDOS, kTalkieVersion, ES_ESP, &k3DummyDataDOSCDProvider },
 	{ k2FontData, kKyra3, kPlatformDOS, kTalkieVersion, RU_RUS, &k3DummyDataDOSCDProvider },
 	{ k2FontData, kKyra3, kPlatformDOS, kTalkieVersion, HE_ISR, &k3DummyDataDOSCDProvider },
+	{ k2FontData, kKyra3, kPlatformDOS, kTalkieVersion, CS_CZE, &k3DummyDataDOSCDProvider },
 	{ k2FontData, kKyra3, kPlatformDOS, kTalkieVersion, ZH_CHN, &k3FontDataDOSCDChineseSmplProvider },
 	{ k2FontData, kKyra3, kPlatformDOS, kTalkieVersion, ZH_TWN, &k3FontDataDOSCDChineseTradProvider },
 	{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, EN_ANY, &k3VqaSubtitlesIntroDOSCDEnglishProvider },
@@ -1412,6 +1441,7 @@ static const ResourceProvider resourceProviders[] = {
 	{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, ES_ESP, &k3VqaSubtitlesIntroDOSCDSpanishProvider },
 	{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, RU_RUS, &k3VqaSubtitlesIntroDOSCDRussianProvider },
 	{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, HE_ISR, &k3VqaSubtitlesIntroDOSCDHebrewProvider },
+	{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, CS_CZE, &k3VqaSubtitlesIntroDOSCDCzechProvider },
 	{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, ZH_CHN, &k3VqaSubtitlesIntroDOSCDChineseSmplProvider },
 	{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, ZH_TWN, &k3VqaSubtitlesIntroDOSCDChineseTradProvider },
 	{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, EN_ANY, &k3VqaSubtitlesBoatDOSCDEnglishProvider },
@@ -1421,6 +1451,7 @@ static const ResourceProvider resourceProviders[] = {
 	{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, ES_ESP, &k3VqaSubtitlesBoatDOSCDSpanishProvider },
 	{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, RU_RUS, &k3VqaSubtitlesBoatDOSCDRussianProvider },
 	{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, HE_ISR, &k3VqaSubtitlesBoatDOSCDHebrewProvider },
+	{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, CS_CZE, &k3VqaSubtitlesBoatDOSCDCzechProvider },
 	{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, ZH_CHN, &k3VqaSubtitlesBoatDOSCDChineseSmplProvider },
 	{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, ZH_TWN, &k3VqaSubtitlesBoatDOSCDChineseTradProvider },
 	{ kEoBBaseNpcPresetsNames, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1NpcPresetsNamesDOSEnglishProvider },
diff --git a/devtools/create_kyradat/resources/hof_dos_cd_czech.h b/devtools/create_kyradat/resources/hof_dos_cd_czech.h
new file mode 100644
index 00000000000..a2fc637d34b
--- /dev/null
+++ b/devtools/create_kyradat/resources/hof_dos_cd_czech.h
@@ -0,0 +1,127 @@
+static const char *const k2SeqplayStringsDOSCDCzech[104] = {
+	"Kyrandia miz""\xC3\xAD""!",
+	"K""\xC3\xA1""men za kamenem...",
+	"...a strom za stromem.",
+	"Kyrandia p""\xC5\x99""est""\xC3\xA1""v""\xC3\xA1"" existovat!",
+	"Kr""\xC3\xA1""lov""\xC5\xA1""t""\xC3\xAD"" mistikov""\xC3\xA9"" jsou zmaten""\xC3\xAD"".",
+	"Ka""\xC5\xBE""d""\xC3\xBD"" odkaz byl konzultov""\xC3\xA1""n.",
+	"Dokonce i Marko a jeho nov""\xC3\xBD"" sluha byli vpu\xC5\xA1t\xC4\x9Bni na konferenci.",
+	"Na""\xC5\xA1""t""\xC4\x9B""st""\xC3\xAD"" byla Ruka v t""\xC4\x9B""chto z""\xC3\xA1""le""\xC5\xBE""itostech zku""\xC5\xA1""en""\xC3\xA1"".",
+	"A nakonec byl schv""\xC3\xA1""len pl""\xC3\xA1""n...",
+	"...kter""\xC3\xBD"" vy""\xC5\xBE""adoval magick""\xC3\xBD"" Kotevn""\xC3\xAD"" k""\xC3\xA1""men...",
+	"...kter""\xC3\xBD"" m""\xC4\x9B""l b""\xC3\xBD""t z""\xC3\xAD""sk""\xC3\xA1""n ze st""\xC5\x99""edu sv""\xC4\x9B""ta.",
+	"Zanthia, nejmlad""\xC5\xA1""""\xC3\xAD"" z kyrandijsk""\xC3\xBD""ch mystik""\xC5\xAF"", byla vybr""\xC3\xA1""na, aby z""\xC3\xAD""skala K""\xC3\xA1""men.",
+	"D""\xC4\x9B""kujeme, ""\xC5\xBE""e jste hr""\xC3\xA1""li Ruku osudu.",
+	"Toto by m""\xC4\x9B""lo b""\xC3\xBD""t dost bor""\xC5\xAF""vek, k otev""\xC5\x99""en""\xC3\xAD"" port""\xC3\xA1""lu do st""\xC5\x99""edu sv""\xC4\x9B""ta.",
+	" DUMMY STRING... ",
+	" DUMMY STRING... ",
+	"Hej! V""\xC5\xA1""echno moje vybaven""\xC3\xAD"" bylo ukradeno!",
+	" DUMMY STRING... ",
+	"Jestli si mysl""\xC3\xAD"", ""\xC5\xBE""e celou tu cestu dol""\xC5\xAF"" p""\xC5\xAF""jdu p""\xC4\x9B""""\xC5\xA1""ky, tak jsou to cvoci!",
+	" DUMMY STRING... ",
+	" DUMMY STRING... ",
+	"Posp""\xC4\x9B""""\xC5\xA1"" si Faune!",
+	"Uf, to bylo o fous!",
+	"To m""\xC3\xA1""""\xC5\xA1"" pravdu, k""\xC3\xA1""mo. J""\xC3\xA1"" osobn""\xC4\x9B"" u""\xC5\xBE"" nikdy nep""\xC5\xAF""jdu lovit!",
+	"Ribbit.",
+	"Kolikr""\xC3\xA1""t ti to m""\xC3\xA1""m je""\xC5\xA1""t""\xC4\x9B"" opakovat? Jsi ropucha.",
+	"Ach, ne! Do""\xC5\xA1""el n""\xC3\xA1""m s""\xC3\xBD""r!",
+	"Zkusme tento u""\xC5\xA1""n""\xC3\xAD"" maz. Je oran""\xC5\xBE""ov""\xC3\xBD"".",
+	"Mami, kdy dostanu b""\xC5\x99""e""\xC4\x8D""""\xC5\xA5""an?",
+	"Vypadni odsud!",
+	"Ty ""\xC5\x99""e""\xC5\xBE""e""\xC5\xA1"" a j""\xC3\xA1"" vyb""\xC3\xAD""r""\xC3\xA1""m.",
+	"Ne. Ty ""\xC5\x99""e""\xC5\xBE""e""\xC5\xA1"" a j""\xC3\xA1"" vyb""\xC3\xAD""r""\xC3\xA1""m.",
+	"St""\xC3\xA1""le ""\xC5\x99""""\xC3\xAD""k""\xC3\xA1""m, ""\xC5\xBE""e to byla odvozen""\xC3\xA1"" blbost.",
+	"Ach, st""\xC3\xA1""le bys nepoznal jambick""\xC3\xBD"" pentametr, i kdyby t""\xC4\x9B"" kousl do zadku!",
+	"V""\xC3\xBD""konn""\xC3\xBD"" producent",
+	"Brett W. Sperry",
+	"Re""\xC5\xBE""ie & Design",
+	"Rick Gush",
+	"Hlavn""\xC3\xAD"" program""\xC3\xA1""tor",
+	"Michael Legg",
+	"Vizu""\xC3\xA1""ln""\xC3\xAD"" management",
+	"Louis Castle",
+	"Joseph B. Hewitt IV",
+	"Vedouc""\xC3\xAD"" grafik",
+	"Rick Parks",
+	"Dodate""\xC4\x8D""n""\xC3\xA9"" programov""\xC3\xA1""n""\xC3\xAD""",
+	"Philip W. Gorrow",
+	"Mike Grayford",
+	"Mark McCubbin",
+	"Grafici",
+	"Cameron Chun",
+	"Cary Averett",
+	"Cindy Chinn",
+	"Elie Arabian",
+	"Fei Cheng",
+	"Ferby Miguel",
+	"Frank Mendeola",
+	"Jack Martin",
+	"Jerry Moore",
+	"DUMMY STRING... ",
+	"Judith Peterson",
+	"Larry Miller",
+	"Lenny Lee",
+	"Louise Sandoval",
+	"Ren Olsen",
+	"Hudba & Zvuky",
+	"Paul Mudra",
+	"Frank Klepacki",
+	"Dwight Okahara",
+	"Pat Collins",
+	"Kontrola kvality",
+	"Glenn Sperry",
+	"Michael Lightner",
+	"William Foster",
+	"Jesse Clemit",
+	"Jeff Fillhaber",
+	"Manu""\xC3\xA1""l, Design balen""\xC3\xAD""",
+	"& Expedice",
+	"Eydie Laramore",
+	"Lisa Marcinko",
+	"Lauren Rifkin",
+	"Gratulace!",
+	"D""\xC4\x9B""kujeme, ""\xC5\xBE""e hrajete Ruku osudu!",
+	"Extern""\xC3\xAD"" programov""\xC3\xA1""n""\xC3\xAD""",
+	"Koordin""\xC3\xA1""tor s produkc""\xC3\xAD""",
+	"Scott Duckett",
+	"Irvine teste""\xC5\x99""i",
+	"Chris McFarland",
+	"Paul Moore",
+	"Chad Soares",
+	"Jared Brinkley",
+	"Jon Willliams",
+	"Chris Toft",
+	"Vlasy Joe Kucana od",
+	"Theodore A. Morrise",
+	"Nahr""\xC3\xA1""n""\xC3\xAD"" pozice",
+	"""\xC3\x9A""vodn""\xC3\xAD"" intro",
+	"Zah""\xC3\xA1""jit novou hru",
+	"Ukon""\xC4\x8D""it hru",
+	"Speci""\xC3\xA1""ln""\xC3\xAD"" pod""\xC4\x9B""kov""\xC3\xA1""n""\xC3\xAD"" pro",
+	"Sake Joe Bostic-san",
+	"Tim Fritz",
+	"Kenny Dunne",
+	"D""\xC4\x9B""kujeme, ""\xC5\xBE""e hrajete \"Ruku osudu.\"\n"
+};
+
+static const StringListProvider k2SeqplayStringsDOSCDCzechProvider = { ARRAYSIZE(k2SeqplayStringsDOSCDCzech), k2SeqplayStringsDOSCDCzech };
+
+static const char *const k2SeqplayTlkFilesDOSCDCzech[14] = {
+	"EINTRO1",
+	"EINTRO2",
+	"EINTRO3",
+	"EINTRO4",
+	"EINTRO5",
+	"EINTRO6",
+	"EINTRO7",
+	"EINTRO8",
+	"EINTRO9",
+	"EINTRO10",
+	"EINTRO11",
+	"EINTRO12",
+	"EGLOW",
+	""
+};
+
+static const StringListProvider k2SeqplayTlkFilesDOSCDCzechProvider = { ARRAYSIZE(k2SeqplayTlkFilesDOSCDCzech), k2SeqplayTlkFilesDOSCDCzech };
diff --git a/devtools/create_kyradat/resources/lok_dos_cd_czech.h b/devtools/create_kyradat/resources/lok_dos_cd_czech.h
new file mode 100644
index 00000000000..45f02e7f6e8
--- /dev/null
+++ b/devtools/create_kyradat/resources/lok_dos_cd_czech.h
@@ -0,0 +1,389 @@
+static const char *const k1IntroStringsDOSCDCzech[51] = {
+	"This is a text test - 1",
+	"This is a text test - 2",
+	"Zdrav""\xC3\xAD""m, Kallaku...",
+	"...Mocn""\xC3\xBD"" v""\xC5\xAF""dce Kr""\xC3\xA1""lovsk""\xC3\xBD""ch mystik""\xC5\xAF""!",
+	"Vystra""\xC5\xA1""il jsem t""\xC4\x9B""?",
+	"Malcolm!",
+	"V""\xC4\x8D""era jsem se doslechl, o tv""\xC3\xA9""m ""\xC3\xBA""t""\xC4\x9B""ku.",
+	"O""\xC4\x8D""ek""\xC3\xA1""val jsem t""\xC4\x9B"" d""\xC5\x99""""\xC3\xAD""ve.",
+	"Pro""\xC4\x8D"" bych m""\xC4\x9B""l sp""\xC4\x9B""chat?",
+	"Vl""\xC3\xA1""dnu t""\xC3\xA9""to zemi!",
+	"Tvoje chab""\xC3\xA1"" kledba m""\xC4\x9B"" neomezuje.",
+	"Tak m""\xC4\x9B"" zabij hned!",
+	"Mnoho magie my ji""\xC5\xBE"" nezbylo.",
+	"Chci ti ubl""\xC3\xAD""""\xC5\xBE""it, o tom v""\xC5\xAF""bec nepochybuj...",
+	"...Te""\xC4\x8F"" je z tebe k""\xC3\xA1""men...",
+	"...Zat""\xC3\xAD""m ti nech""\xC3\xA1""m tvoje o""\xC4\x8D""i.",
+	"J""\xC3\xA1"" pro Kyrandii ronit slzy nebudu...",
+	"...Ale tvoje ti neodep""\xC5\x99""u.",
+	"""\xC5\xA0""a""\xC5\xA1""ek Malcolm se osvobodil!",
+	"Nyn""\xC3\xAD"" ovl""\xC3\xA1""d""\xC3\xA1"" Kyragem...",
+	"...zdroj ve""\xC5\xA1""ker""\xC3\xA9"" magie v Kyrandii!",
+	"",
+	"Jak se opova""\xC5\xBE""uje""\xC5\xA1"" podrazit MI nohy!",
+	"Ale ne, m""\xC3\xA1""m pro tebe n""\xC4\x9B""co speci""\xC3\xA1""ln""\xC3\xAD""ho...",
+	"Takov""\xC3\xA9"" humorn""\xC3\xA9"" kouzlo!",
+	"Ale mus""\xC3\xAD""m t""\xC4\x9B"" d""\xC5\xAF""sledn""\xC4\x9B"" varovat.",
+	"Nesk""\xC3\xA1""kej na TEN strom!",
+	"Nelez po TOM strom""\xC4\x9B"" veverko!",
+	"Baf!",
+	"Tak je to z""\xC3\xA1""bavn""\xC4\x9B""j""\xC5\xA1""""\xC3\xAD""...",
+	"...""\xC5\xBD""e ano?",
+	"Ha ha ha...",
+	"Nejsou prsty b""\xC3\xA1""je""\xC4\x8D""n""\xC3\xA9""?",
+	"Je skv""\xC4\x9B""l""\xC3\xA9"" b""\xC3\xBD""t ""\xC5\xBE""iv""\xC3\xBD""!",
+	"Brandone!",
+	"D""\xC4\x9B""de""\xC4\x8D""ku! Dok""\xC3\xA1""zali jsme to!",
+	"Ne! TY jsi to dok""\xC3\xA1""zal!",
+	"A""\xC5\xA5"" ""\xC5\xBE""ije kr""\xC3\xA1""l Brandon!",
+	"A""\xC5\xA5"" ""\xC5\xBE""ij""\xC3\xAD"" Kr""\xC3\xA1""lov""\xC5\xA1""t""\xC3\xAD"" mystikov""\xC3\xA9""!",
+	"Poj""\xC4\x8F""me te""\xC4\x8F"" d""\xC3\xA1""t Kyrandii do po""\xC5\x99""\xC3\xA1""dku!",
+	"Skv""\xC4\x9B""l""\xC3\xBD"" n""\xC3\xA1""pad!",
+	"Jako sv""\xC3\xA9"" prvn""\xC3\xAD"" kr""\xC3\xA1""lovsk""\xC3\xA9"" na""\xC5\x99""""\xC3\xAD""zen""\xC3\xAD""...",
+	"Jmenuji sand""\xC3\xA1""ly ofici""\xC3\xA1""ln""\xC3\xAD"" obuv""\xC3\xAD"" Kyrandie!",
+	"V""\xC3\xBD""born""\xC4\x9B"", Brandone!",
+	"Kraj ji""\xC5\xBE"" v""\xC3\xAD""ce nepl""\xC3\xA1""""\xC4\x8D""e...",
+	"A tv""\xC3\xAD"" p""\xC5\x99""""\xC3\xA1""tel""\xC3\xA9"" byli obnoveni!",
+	"Drah""\xC3\xA1"" Brynn...",
+	"Malcolm se osvobodil!",
+	"Brzy si pro m""\xC4\x9B"" p""\xC5\x99""""\xC3\xAD""jde.",
+	"Pros""\xC3\xAD""m, pomoz Brandonovi...",
+	""
+};
+
+static const StringListProvider k1IntroStringsDOSCDCzechProvider = { ARRAYSIZE(k1IntroStringsDOSCDCzech), k1IntroStringsDOSCDCzech };
+
+static const char *const k1ItemNamesDOSCDCzech[107] = {
+	"Gran""\xC3\xA1""t",
+	"Ametyst",
+	"Akvamar""\xC3\xAD""n",
+	"Diamant",
+	"Smaragd",
+	"Perla",
+	"Rub""\xC3\xAD""n",
+	"Oliv""\xC3\xAD""n",
+	"Saf""\xC3\xAD""r",
+	"Op""\xC3\xA1""l",
+	"Topaz",
+	"Onyx",
+	"Slune""\xC4\x8D""n""\xC3\xAD"" k""\xC3\xA1""men",
+	"M""\xC4\x9B""s""\xC3\xAD""""\xC4\x8D""n""\xC3\xAD"" k""\xC3\xA1""men",
+	"Duhov""\xC3\xBD"" k""\xC3\xA1""men",
+	"Magnetit",
+	"R""\xC5\xAF""""\xC5\xBE""e",
+	"Tulip""\xC3\xA1""n",
+	"Orchidej",
+	"St""\xC5\x99""""\xC3\xAD""brn""\xC3\xA1"" r""\xC5\xAF""""\xC5\xBE""e",
+	"St""\xC5\x99""""\xC3\xAD""brn""\xC3\xA1"" so""\xC5\xA1""ka",
+	"St""\xC5\x99""""\xC3\xAD""brn""\xC3\xA1"" mince",
+	"Zlat""\xC3\xA1"" mince",
+	"Zlat""\xC3\xBD"" prsten",
+	"Kr""\xC3\xA1""lovsk""\xC3\xBD"" kalich",
+	"""\xC5\xA0""i""\xC5\xA1""ka",
+	"""\xC5\xBD""alud",
+	"O""\xC5\x99""ech",
+	"Z""\xC3\xA1""""\xC5\x99""""\xC3\xAD""c""\xC3\xAD"" ohnivky",
+	"Ohnivky",
+	"Ohnivky",
+	"Ohnivky",
+	"Ohnivky",
+	"Ohnivky",
+	"Ryba",
+	"Ryb""\xC3\xAD"" kost",
+	"Skopov""\xC3\xA1"" noha",
+	"Kost",
+	"Jablko",
+	"Jad""\xC3\xA9""rko z jablka",
+	"Bor""\xC5\xAF""vky",
+	"Houba",
+	"Dopis",
+	"Mramor",
+	"Pila",
+	"Ankh",
+	"P""\xC3\xAD""rko",
+	"Vejce",
+	"List",
+	"Trojl""\xC3\xAD""stek",
+	"Spadl""\xC3\xA1"" hv""\xC4\x9B""zda",
+	"K""\xC5\x99""i""\xC5\xA1""""\xC5\xA5""""\xC3\xA1""lov""\xC3\xA1"" koule",
+	"Slza",
+	"Zrcadlo",
+	"Rampouch",
+	"Fl""\xC3\xA9""tna",
+	"P""\xC5\x99""es""\xC3\xBD""pac""\xC3\xAD"" hodiny",
+	"""\xC5\xBD""elezn""\xC3\xBD"" kl""\xC3\xAD""""\xC4\x8D""",
+	"Nefritov""\xC3\xBD"" kl""\xC3\xAD""""\xC4\x8D""",
+	"Obsidi""\xC3\xA1""nov""\xC3\xBD"" kl""\xC3\xAD""""\xC4\x8D""",
+	"""\xC4\x8C""erven""\xC3\xBD"" lektvar",
+	"""\xC4\x8C""erven""\xC3\xBD"" lektvar",
+	"Modr""\xC3\xBD"" lektvar",
+	"Modr""\xC3\xBD"" lektvar",
+	"""\xC5\xBD""lut""\xC3\xBD"" lektvar",
+	"""\xC5\xBD""lut""\xC3\xBD"" lektvar",
+	"Zelen""\xC3\xBD"" lektvar",
+	"Oran""\xC5\xBE""ov""\xC3\xBD"" lektvar",
+	"Fialov""\xC3\xBD"" lektvar",
+	"Lektvar Duhy",
+	"""\xC4\x8C""erstv""\xC3\xA1"" voda",
+	"""\xC4\x8C""erstv""\xC3\xA1"" voda",
+	"Slan""\xC3\xA1"" voda",
+	"Slan""\xC3\xA1"" voda",
+	"Miner""\xC3\xA1""ln""\xC3\xAD"" voda",
+	"Miner""\xC3\xA1""ln""\xC3\xAD"" voda",
+	"Magick""\xC3\xA1"" voda",
+	"agick""\xC3\xA1"" voda",
+	"Pr""\xC3\xA1""zdn""\xC3\xA1"" ba""\xC5\x88""ka",
+	"Pr""\xC3\xA1""zdn""\xC3\xA1"" ba""\xC5\x88""ka",
+	"Svitek",
+	"Svitek",
+	"Svitek",
+	"Svitek",
+	"Svitek",
+	"Svitek",
+	"Svitek",
+	"Svitek",
+	"Svitek",
+	"Svitek",
+	"Kousek pergamenu",
+	"Kousek pergamenu",
+	"Kousek pergamenu",
+	"Kousek pergamenu",
+	"Kousek pergamenu",
+	"""\xC4\x8C""erven""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
+	"Oran""\xC5\xBE""ov""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
+	"""\xC5\xBD""lut""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
+	"Zelen""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
+	"Modro-Zelen""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
+	"Modr""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
+	"Fialov""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
+	"T""\xC4\x9B""""\xC5\xBE""k""\xC3\xBD"" k""\xC3\xA1""men",
+	"Kr""\xC3\xA1""lovsk""\xC3\xA1"" koruna",
+	"Kr""\xC3\xA1""lovsk""\xC3\xA9"" ""\xC5\xBE""ezlo",
+	"Zlat""\xC3\xBD"" kl""\xC3\xAD""""\xC4\x8D""",
+	"Nezn""\xC3\xA1""m""\xC3\xBD"" p""\xC5\x99""edm""\xC4\x9B""t"
+};
+
+static const StringListProvider k1ItemNamesDOSCDCzechProvider = { ARRAYSIZE(k1ItemNamesDOSCDCzech), k1ItemNamesDOSCDCzech };
+
+static const char *const k1TakenStringsDOSCDCzech[2] = {
+	" sebr""\xC3\xA1""n.",
+	" sebr""\xC3\xA1""n."
+};
+
+static const StringListProvider k1TakenStringsDOSCDCzechProvider = { ARRAYSIZE(k1TakenStringsDOSCDCzech), k1TakenStringsDOSCDCzech };
+
+static const char *const k1PlacedStringsDOSCDCzech[1] = {
+	" ulo""\xC5\xBE""en."
+};
+
+static const StringListProvider k1PlacedStringsDOSCDCzechProvider = { ARRAYSIZE(k1PlacedStringsDOSCDCzech), k1PlacedStringsDOSCDCzech };
+
+static const char *const k1DroppedStringsDOSCDCzech[1] = {
+	" zahozen."
+};
+
+static const StringListProvider k1DroppedStringsDOSCDCzechProvider = { ARRAYSIZE(k1DroppedStringsDOSCDCzech), k1DroppedStringsDOSCDCzech };
+
+static const char *const k1NoDropStringsDOSCDCzech[2] = {
+	"V t""\xC3\xA9""to sc""\xC3\xA9""n""\xC4\x9B"" u""\xC5\xBE"" dal""\xC5\xA1""""\xC3\xAD"" v""\xC4\x9B"" nelze polo""\xC5\xBE""it.",
+	"To tam nejde d""\xC3\xA1""t."
+};
+
+static const StringListProvider k1NoDropStringsDOSCDCzechProvider = { ARRAYSIZE(k1NoDropStringsDOSCDCzech), k1NoDropStringsDOSCDCzech };
+
+static const char *const k1PutDownStringDOSCDCzech[1] = {
+	"Mo""\xC5\xBE""n""\xC3\xA1"" bych to m""\xC4\x9B""l nejd""\xC5\x99""""\xC3\xAD""v polo""\xC5\xBE""it."
+};
+
+static const StringListProvider k1PutDownStringDOSCDCzechProvider = { ARRAYSIZE(k1PutDownStringDOSCDCzech), k1PutDownStringDOSCDCzech };
+
+static const char *const k1WaitAmuletStringDOSCDCzech[1] = {
+	"Asi budu muset po""\xC4\x8D""kat, a""\xC5\xBE"" m""\xC5\xAF""j amulet znovu z""\xC3\xAD""sk""\xC3\xA1"" s""\xC3\xAD""lu."
+};
+
+static const StringListProvider k1WaitAmuletStringDOSCDCzechProvider = { ARRAYSIZE(k1WaitAmuletStringDOSCDCzech), k1WaitAmuletStringDOSCDCzech };
+
+static const char *const k1BlackJewelStringDOSCDCzech[1] = {
+	"Je to drahokam, ale pro""\xC4\x8D"" je ""\xC4\x8D""ern""\xC3\xBD""?"
+};
+
+static const StringListProvider k1BlackJewelStringDOSCDCzechProvider = { ARRAYSIZE(k1BlackJewelStringDOSCDCzech), k1BlackJewelStringDOSCDCzech };
+
+static const char *const k1HealingTipStringDOSCDCzech[1] = {
+	"To by se mohlo hodit, kdybych se zranil."
+};
+
+static const StringListProvider k1HealingTipStringDOSCDCzechProvider = { ARRAYSIZE(k1HealingTipStringDOSCDCzech), k1HealingTipStringDOSCDCzech };
+
+static const char *const k1PoisonGoneStringDOSCDCzech[2] = {
+	"""\xC3\x9A""""\xC5\xBE""asn""\xC3\xA9""!",
+	"""\xC3\x9A""""\xC4\x8D""inky jedu jsou pry""\xC4\x8D""!"
+};
+
+static const StringListProvider k1PoisonGoneStringDOSCDCzechProvider = { ARRAYSIZE(k1PoisonGoneStringDOSCDCzech), k1PoisonGoneStringDOSCDCzech };
+
+static const char *const k1ThePoisonStringsDOSCDCzech[4] = {
+	"Jed...",
+	"Nem""\xC5\xAF""""\xC5\xBE""u d""\xC3\xBD""chat...",
+	"Nec""\xC3\xAD""t""\xC3\xAD""m se dob""\xC5\x99""e...",
+	"Ten had musel b""\xC3\xBD""t\rjedovat""\xC3\xBD""!"
+};
+
+static const StringListProvider k1ThePoisonStringsDOSCDCzechProvider = { ARRAYSIZE(k1ThePoisonStringsDOSCDCzech), k1ThePoisonStringsDOSCDCzech };
+
+static const char *const k1FluteStringsDOSCDCzech[2] = {
+	"Zvuk nic moc.",
+	"Ta posledn""\xC3\xAD"" nota byla ur""\xC4\x8D""it""\xC4\x9B"" vysoko!"
+};
+
+static const StringListProvider k1FluteStringsDOSCDCzechProvider = { ARRAYSIZE(k1FluteStringsDOSCDCzech), k1FluteStringsDOSCDCzech };
+
+static const char *const k1WispJewelStringsDOSCDCzech[2] = {
+	"Te""\xC4\x8F"" se na to opravdu nec""\xC3\xAD""t""\xC3\xAD""m.",
+	"Asi bych to m""\xC4\x9B""l nejd""\xC5\x99""""\xC3\xAD""ve odlo""\xC5\xBE""it."
+};
+
+static const StringListProvider k1WispJewelStringsDOSCDCzechProvider = { ARRAYSIZE(k1WispJewelStringsDOSCDCzech), k1WispJewelStringsDOSCDCzech };
+
+static const char *const k1MagicJewelStringsDOSCDCzech[1] = {
+	"To bylo zvl""\xC3\xA1""""\xC5\xA1""tn""\xC3\xAD""."
+};
+
+static const StringListProvider k1MagicJewelStringsDOSCDCzechProvider = { ARRAYSIZE(k1MagicJewelStringsDOSCDCzech), k1MagicJewelStringsDOSCDCzech };
+
+static const char *const k1FlaskFullStringDOSCDCzech[1] = {
+	"Tato ba""\xC5\x88""ka je u""\xC5\xBE"" pln""\xC3\xA1""."
+};
+
+static const StringListProvider k1FlaskFullStringDOSCDCzechProvider = { ARRAYSIZE(k1FlaskFullStringDOSCDCzech), k1FlaskFullStringDOSCDCzech };
+
+static const char *const k1FullFlaskStringDOSCDCzech[4] = {
+	"Ba""\xC5\x88""ka je nyn""\xC3\xAD"" napln""\xC4\x9B""na\r""\xC4\x8D""erstvou, perlivou vodou.",
+	"Ba""\xC5\x88""ka je nyn""\xC3\xAD"" napln""\xC4\x9B""na\rslanou vodou.",
+	"Ba""\xC5\x88""ka je nyn""\xC3\xAD"" napln""\xC4\x9B""na\rminer""\xC3\xA1""ln""\xC3\xAD"" vodou.",
+	"""\xC5\xBD""iv""\xC3\xA1"" voda."
+};
+
+static const StringListProvider k1FullFlaskStringDOSCDCzechProvider = { ARRAYSIZE(k1FullFlaskStringDOSCDCzech), k1FullFlaskStringDOSCDCzech };
+
+static const char *const k1OutroHomeStringDOSCDCzech[1] = {
+	"Doma"
+};
+
+static const StringListProvider k1OutroHomeStringDOSCDCzechProvider = { ARRAYSIZE(k1OutroHomeStringDOSCDCzech), k1OutroHomeStringDOSCDCzech };
+
+static const char *const k1VeryCleverStringDOSCDCzech[1] = {
+	"Velmi chytr""\xC3\xA9""! Ale tvoje chab""\xC3\xA9"" ""\xC3\xBA""sil""\xC3\xAD"" je marn""\xC3\xA9""."
+};
+
+static const StringListProvider k1VeryCleverStringDOSCDCzechProvider = { ARRAYSIZE(k1VeryCleverStringDOSCDCzech), k1VeryCleverStringDOSCDCzech };
+
+static const char *const k1GUIStringsDOSCDCzech[81] = {
+	"Legenda o Kyrandii",
+	"Nahr""\xC3\xA1""t pozici",
+	"Ulo""\xC5\xBE""it pozici",
+	"Nastavit hru",
+	"Ukon""\xC4\x8D""it hru",
+	"Pokra""\xC4\x8D""ovat ve h""\xC5\x99""e",
+	"Nastaven""\xC3\xAD"" hry",
+	"Kterou pozici chce""\xC5\xA1"" nahr""\xC3\xA1""t?",
+	"Vyber pozici pro ulo""\xC5\xBE""en""\xC3\xAD"" hry:",
+	"[ PR""\xC3\x81""ZDN""\xC3\x9D"" SLOT ]",
+	"Zru""\xC5\xA1""it",
+	"Zadej popis sv""\xC3\xA9"" ulo""\xC5\xBE""en""\xC3\xA9"" pozice:",
+	"Ulo""\xC5\xBE""it",
+	"Odpo""\xC4\x8D""""\xC3\xAD""vej v pokoji, Brandone.",
+	"Ur""\xC4\x8D""it""\xC4\x9B"" chce""\xC5\xA1"" ukon""\xC4\x8D""it hru?",
+	"XXX",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"XXX",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"XXXXXXX",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"XXXXXXXXX",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"XXXXXXXXXXXX",
+	"",
+	"",
+	"",
+	"",
+	"",
+	"Hlavn""\xC3\xAD"" nab""\xC3\xAD""dka",
+	"Zapnuto",
+	"Vypnuto",
+	"Ano",
+	"Ne",
+	"Rychlost ch""\xC5\xAF""ze ",
+	"Rychlost textu ",
+	"Hudba je ",
+	"Zvuky jsou ",
+	"Hlas / Text"
+};
+
+static const StringListProvider k1GUIStringsDOSCDCzechProvider = { ARRAYSIZE(k1GUIStringsDOSCDCzech), k1GUIStringsDOSCDCzech };
+
+static const char *const k1NewGameStringDOSCDCzech[1] = {
+	"[ ZAH""\xC3\x81""JIT NOVOU HRU ]"
+};
+
+static const StringListProvider k1NewGameStringDOSCDCzechProvider = { ARRAYSIZE(k1NewGameStringDOSCDCzech), k1NewGameStringDOSCDCzech };
+
+static const char *const k1ConfigStringsDOSCDCzech[12] = {
+	"nejpomaleji",
+	"polmalu",
+	"norm""\xC3\xA1""ln""\xC4\x9B""",
+	"rychle",
+	"nejrychleji",
+	"Jen Text",
+	"Jen Hlas",
+	"Hlas & Text",
+	"nejpomaleji",
+	"norm""\xC3\xA1""ln""\xC4\x9B""",
+	"rychle",
+	"kliknut""\xC3\xAD"""
+};
+
+static const StringListProvider k1ConfigStringsDOSCDCzechProvider = { ARRAYSIZE(k1ConfigStringsDOSCDCzech), k1ConfigStringsDOSCDCzech };
diff --git a/devtools/create_kyradat/resources/mr_dos_cd_czech.h b/devtools/create_kyradat/resources/mr_dos_cd_czech.h
new file mode 100644
index 00000000000..f6c4541a0b1
--- /dev/null
+++ b/devtools/create_kyradat/resources/mr_dos_cd_czech.h
@@ -0,0 +1,20 @@
+static const char *const k3MainMenuStringsDOSCDCzech[4] = {
+	"Start nov""\xC3\xA9"" hry",
+	"""\xC3\x9A""vodn""\xC3\xAD"" intro",
+	"Nahr""\xC3\xA1""n""\xC3\xAD"" pozice",
+	"Ukon""\xC4\x8D""it hru"
+};
+
+static const StringListProvider k3MainMenuStringsDOSCDCzechProvider = { ARRAYSIZE(k3MainMenuStringsDOSCDCzech), k3MainMenuStringsDOSCDCzech };
+
+static const char *const k3VqaSubtitlesIntroDOSCDCzech[] = {
+	""// TODO
+};
+
+static const StringListProvider k3VqaSubtitlesIntroDOSCDCzechProvider = { ARRAYSIZE(k3VqaSubtitlesIntroDOSCDCzech), k3VqaSubtitlesIntroDOSCDCzech };
+
+static const char *const k3VqaSubtitlesBoatDOSCDCzech[] = {
+	""// TODO
+};
+
+static const StringListProvider k3VqaSubtitlesBoatDOSCDCzechProvider = { ARRAYSIZE(k3VqaSubtitlesBoatDOSCDCzech), k3VqaSubtitlesBoatDOSCDCzech };
diff --git a/engines/kyra/detection_tables.h b/engines/kyra/detection_tables.h
index d6e7f56beb6..009e4461d20 100644
--- a/engines/kyra/detection_tables.h
+++ b/engines/kyra/detection_tables.h
@@ -411,6 +411,19 @@ const KYRAGameDescription adGameDescs[] = {
 		KYRA1_CD_FLAGS
 	},
 
+	{ // Czech fan translation v1.2 for GOG
+		{
+			"kyra1",
+			"CD",
+			AD_ENTRY1("GEMCUT.PAK", "012c7cbff132e27d33d989c662086063"),
+			Common::CS_CZE,
+			Common::kPlatformDOS,
+			ADGF_CD,
+			GUIO4(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIPCSPK, GUIO_RENDERVGA)
+		},
+		KYRA1_CD_FAN_FLAGS(Common::CS_CZE, Common::EN_ANY)
+	},
+
 	{ // Hebrew fan translation
 		{
 			"kyra1",
@@ -876,6 +889,19 @@ const KYRAGameDescription adGameDescs[] = {
 		KYRA2_CD_FAN_FLAGS(Common::HE_ISR, Common::EN_ANY)
 	},
 
+	{ // Czech fan translation v1.0 for CD and GOG versions.
+		{
+			"kyra2",
+			"CD",
+			AD_ENTRY1("FATE.PAK", "28cbad1c5bf06b2d3825ae57d760d032"),
+			Common::CS_CZE,
+			Common::kPlatformDOS,
+			ADGF_DROPLANGUAGE | ADGF_CD,
+			GUIO5(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_MIDIPCSPK, GUIO_RENDERVGA)
+		},
+		KYRA2_CD_FAN_FLAGS(Common::CS_CZE, Common::EN_ANY)
+	},
+
 	{ // Interactive Demo
 		{
 			"kyra2",
@@ -1021,6 +1047,19 @@ const KYRAGameDescription adGameDescs[] = {
 		KYRA3_CD_FLAGS
 	},
 
+	{ // Czech fan translation v1.2 for CD and GOG versions.
+		{
+			"kyra3",
+			0,
+			AD_ENTRY1s("ONETIME.PAK", "951620e6298843e328bc745634373db5", AD_NO_SIZE),
+			Common::CS_CZE,
+			Common::kPlatformDOS,
+			ADGF_DROPLANGUAGE,
+			GUIO5(GUIO_NOMIDI, GUIO_RENDERVGA, GAMEOPTION_KYRA3_AUDIENCE, GAMEOPTION_KYRA3_SKIP, GAMEOPTION_KYRA3_HELIUM)
+		},
+		KYRA3_CD_FAN_FLAGS(Common::CS_CZE, Common::EN_ANY)
+	},
+
 	{ // Hebrew fan translation
 		{
 			"kyra3",


Commit: 3efbf3dacd92e9b775fed27d86ff6a7fd22e0a06
    https://github.com/scummvm/scummvm/commit/3efbf3dacd92e9b775fed27d86ff6a7fd22e0a06
Author: athrxx (athrxx at scummvm.org)
Date: 2025-04-02T22:15:32+02:00

Commit Message:
KYRA: update kyra.dat code to support Czech fan translations

(fix code and bump version))

Changed paths:
    devtools/create_kyradat/create_kyradat.cpp
    devtools/create_kyradat/resources.cpp
    engines/kyra/resource/staticres.cpp


diff --git a/devtools/create_kyradat/create_kyradat.cpp b/devtools/create_kyradat/create_kyradat.cpp
index af0e268f2b8..224b9537cd3 100644
--- a/devtools/create_kyradat/create_kyradat.cpp
+++ b/devtools/create_kyradat/create_kyradat.cpp
@@ -38,7 +38,7 @@
 
 
 enum {
-	kKyraDatVersion = 122
+	kKyraDatVersion = 123
 };
 
 const ExtractFilename extractFilenames[] = {
diff --git a/devtools/create_kyradat/resources.cpp b/devtools/create_kyradat/resources.cpp
index 8a1e4f1d918..b81fbd3b492 100644
--- a/devtools/create_kyradat/resources.cpp
+++ b/devtools/create_kyradat/resources.cpp
@@ -868,28 +868,28 @@ static const ResourceProvider resourceProviders[] = {
 	{ k1GUIStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1GUIStringsDOSCDHebrewProvider },
 	{ k1NewGameString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1NewGameStringDOSCDHebrewProvider },
 	{ k1ConfigStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1ConfigStringsDOSCDHebrewProvider },
-	{ k1IntroStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1IntroStringsDOSCDCzechProvider },
-	{ k1ItemNames, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1ItemNamesDOSCDCzechProvider },
-	{ k1TakenStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1TakenStringsDOSCDCzechProvider },
-	{ k1PlacedStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1PlacedStringsDOSCDCzechProvider },
-	{ k1DroppedStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1DroppedStringsDOSCDCzechProvider },
-	{ k1NoDropStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1NoDropStringsDOSCDCzechProvider },
-	{ k1PutDownString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1PutDownStringDOSCDCzechProvider },
-	{ k1WaitAmuletString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1WaitAmuletStringDOSCDCzechProvider },
-	{ k1BlackJewelString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1BlackJewelStringDOSCDCzechProvider },
-	{ k1HealingTipString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1HealingTipStringDOSCDCzechProvider },
-	{ k1PoisonGoneString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1PoisonGoneStringDOSCDCzechProvider },
-	{ k1ThePoisonStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1ThePoisonStringsDOSCDCzechProvider },
-	{ k1FluteStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1FluteStringsDOSCDCzechProvider },
-	{ k1WispJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1WispJewelStringsDOSCDCzechProvider },
-	{ k1MagicJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1MagicJewelStringsDOSCDCzechProvider },
-	{ k1FlaskFullString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1FlaskFullStringDOSCDCzechProvider },
-	{ k1FullFlaskString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1FullFlaskStringDOSCDCzechProvider },
-	{ k1OutroHomeString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1OutroHomeStringDOSCDCzechProvider },
-	{ k1VeryCleverString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1VeryCleverStringDOSCDCzechProvider },
-	{ k1GUIStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1GUIStringsDOSCDCzechProvider },
-	{ k1NewGameString, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1NewGameStringDOSCDCzechProvider },
-	{ k1ConfigStrings, kKyra1, kPlatformDOS, kTalkieVersion, HE_ISR, &k1ConfigStringsDOSCDCzechProvider },
+	{ k1IntroStrings, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1IntroStringsDOSCDCzechProvider },
+	{ k1ItemNames, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1ItemNamesDOSCDCzechProvider },
+	{ k1TakenStrings, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1TakenStringsDOSCDCzechProvider },
+	{ k1PlacedStrings, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1PlacedStringsDOSCDCzechProvider },
+	{ k1DroppedStrings, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1DroppedStringsDOSCDCzechProvider },
+	{ k1NoDropStrings, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1NoDropStringsDOSCDCzechProvider },
+	{ k1PutDownString, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1PutDownStringDOSCDCzechProvider },
+	{ k1WaitAmuletString, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1WaitAmuletStringDOSCDCzechProvider },
+	{ k1BlackJewelString, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1BlackJewelStringDOSCDCzechProvider },
+	{ k1HealingTipString, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1HealingTipStringDOSCDCzechProvider },
+	{ k1PoisonGoneString, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1PoisonGoneStringDOSCDCzechProvider },
+	{ k1ThePoisonStrings, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1ThePoisonStringsDOSCDCzechProvider },
+	{ k1FluteStrings, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1FluteStringsDOSCDCzechProvider },
+	{ k1WispJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1WispJewelStringsDOSCDCzechProvider },
+	{ k1MagicJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1MagicJewelStringsDOSCDCzechProvider },
+	{ k1FlaskFullString, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1FlaskFullStringDOSCDCzechProvider },
+	{ k1FullFlaskString, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1FullFlaskStringDOSCDCzechProvider },
+	{ k1OutroHomeString, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1OutroHomeStringDOSCDCzechProvider },
+	{ k1VeryCleverString, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1VeryCleverStringDOSCDCzechProvider },
+	{ k1GUIStrings, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1GUIStringsDOSCDCzechProvider },
+	{ k1NewGameString, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1NewGameStringDOSCDCzechProvider },
+	{ k1ConfigStrings, kKyra1, kPlatformDOS, kTalkieVersion, CS_CZE, &k1ConfigStringsDOSCDCzechProvider },
 	{ k1KallakWritingSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1KallakWritingSeqFMTownsProvider },
 	{ k1MalcolmTreeSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1MalcolmTreeSeqFMTownsProvider },
 	{ k1WestwoodLogoSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1WestwoodLogoSeqFMTownsProvider },
diff --git a/engines/kyra/resource/staticres.cpp b/engines/kyra/resource/staticres.cpp
index 7165526ef49..97df8d5e90a 100644
--- a/engines/kyra/resource/staticres.cpp
+++ b/engines/kyra/resource/staticres.cpp
@@ -38,7 +38,7 @@
 
 namespace Kyra {
 
-#define RESFILE_VERSION 122
+#define RESFILE_VERSION 123
 
 namespace {
 bool checkKyraDat(Common::SeekableReadStream *file) {


Commit: 32ac96252dbcd24c695c5eb687815ceca0dd0ef5
    https://github.com/scummvm/scummvm/commit/32ac96252dbcd24c695c5eb687815ceca0dd0ef5
Author: athrxx (athrxx at scummvm.org)
Date: 2025-04-02T22:15:32+02:00

Commit Message:
KYRA: (MR) - complete support for  Czech fan translation

Changed paths:
    engines/kyra/detection_tables.h
    engines/kyra/engine/kyra_mr.cpp
    engines/kyra/engine/kyra_v2.cpp
    engines/kyra/engine/kyra_v2.h
    engines/kyra/gui/gui_mr.cpp


diff --git a/engines/kyra/detection_tables.h b/engines/kyra/detection_tables.h
index 009e4461d20..74e4e05ab66 100644
--- a/engines/kyra/detection_tables.h
+++ b/engines/kyra/detection_tables.h
@@ -1057,7 +1057,33 @@ const KYRAGameDescription adGameDescs[] = {
 			ADGF_DROPLANGUAGE,
 			GUIO5(GUIO_NOMIDI, GUIO_RENDERVGA, GAMEOPTION_KYRA3_AUDIENCE, GAMEOPTION_KYRA3_SKIP, GAMEOPTION_KYRA3_HELIUM)
 		},
-		KYRA3_CD_FAN_FLAGS(Common::CS_CZE, Common::EN_ANY)
+		KYRA3_CD_FAN_FLAGS(Common::CS_CZE, Common::FR_FRA)
+	},
+
+	{ // Czech fan translation v1.2 for CD and GOG versions.
+		{
+			"kyra3",
+			0,
+			AD_ENTRY1s("ONETIME.PAK", "951620e6298843e328bc745634373db5", AD_NO_SIZE),
+			Common::EN_ANY,
+			Common::kPlatformDOS,
+			ADGF_DROPLANGUAGE,
+			GUIO5(GUIO_NOMIDI, GUIO_RENDERVGA, GAMEOPTION_KYRA3_AUDIENCE, GAMEOPTION_KYRA3_SKIP, GAMEOPTION_KYRA3_HELIUM)
+		},
+		KYRA3_CD_FAN_FLAGS(Common::CS_CZE, Common::FR_FRA)
+	},
+
+	{ // Czech fan translation v1.2 for CD and GOG versions.
+		{
+			"kyra3",
+			0,
+			AD_ENTRY1s("ONETIME.PAK", "951620e6298843e328bc745634373db5", AD_NO_SIZE),
+			Common::DE_DEU,
+			Common::kPlatformDOS,
+			ADGF_DROPLANGUAGE,
+			GUIO5(GUIO_NOMIDI, GUIO_RENDERVGA, GAMEOPTION_KYRA3_AUDIENCE, GAMEOPTION_KYRA3_SKIP, GAMEOPTION_KYRA3_HELIUM)
+		},
+		KYRA3_CD_FAN_FLAGS(Common::CS_CZE, Common::FR_FRA)
 	},
 
 	{ // Hebrew fan translation
diff --git a/engines/kyra/engine/kyra_mr.cpp b/engines/kyra/engine/kyra_mr.cpp
index 6d9e7fe652c..40cb3436463 100644
--- a/engines/kyra/engine/kyra_mr.cpp
+++ b/engines/kyra/engine/kyra_mr.cpp
@@ -1267,7 +1267,7 @@ int KyraEngine_MR::loadLanguageFile(const char *file, uint8 *&buffer) {
 
 	uint32 size = 0;
 	Common::String nBuf = file;
-	nBuf += _languageExtension[_lang];
+	nBuf += _languageExtension[_scriptLang];
 	buffer = _res->fileData(nBuf.c_str(), &size);
 
 	return buffer ? size : 0;
diff --git a/engines/kyra/engine/kyra_v2.cpp b/engines/kyra/engine/kyra_v2.cpp
index d6ef7eafe31..24bc86317d3 100644
--- a/engines/kyra/engine/kyra_v2.cpp
+++ b/engines/kyra/engine/kyra_v2.cpp
@@ -77,9 +77,10 @@ KyraEngine_v2::KyraEngine_v2(OSystem *system, const GameFlags &flags, const Engi
 	_smoothingPath = false;
 
 	_lang = 0;
+	_scriptLang = 0;
 	Common::Language lang = Common::parseLanguage(ConfMan.get("language"));
 	if (lang == _flags.fanLang && _flags.replacedLang != Common::UNK_LANG)
-		lang = _flags.replacedLang;
+			lang = _flags.replacedLang;
 
 	if (_flags.extraLang == Common::ZH_TWN)
 		_langIntern = 1;
@@ -119,6 +120,9 @@ KyraEngine_v2::KyraEngine_v2(OSystem *system, const GameFlags &flags, const Engi
 		_lang = 0;
 	}
 
+	// This fan MR translation use Chinese style script file extensions...
+	_scriptLang = (_flags.fanLang == Common::CS_CZE && _lang == 1) ? 3 : _lang;
+
 	_animResetFrame = _animShapeWidth =	_animShapeHeight = _animShapeXAdd = _animShapeYAdd = _itemInHand = _savedMouseState = _mainCharX = _mainCharY = _charScale = _unk4 = _unk5 = 0;
 	_unkSceneScreenFlag1 = _unkHandleSceneChangeFlag = false;
 	_chatEndTime = 0;
diff --git a/engines/kyra/engine/kyra_v2.h b/engines/kyra/engine/kyra_v2.h
index 2e16c0585ee..2f8022065bd 100644
--- a/engines/kyra/engine/kyra_v2.h
+++ b/engines/kyra/engine/kyra_v2.h
@@ -94,6 +94,7 @@ protected:
 	int _lang;
 	const int _numLang;
 	int _langIntern;
+	int _scriptLang;
 
 	// Input
 	virtual int inputSceneChange(int x, int y, int unk1, int unk2) = 0;
diff --git a/engines/kyra/gui/gui_mr.cpp b/engines/kyra/gui/gui_mr.cpp
index 0041cb4371e..68791d0847c 100644
--- a/engines/kyra/gui/gui_mr.cpp
+++ b/engines/kyra/gui/gui_mr.cpp
@@ -1523,6 +1523,8 @@ int GUI_MR::changeLanguage(Button *caller) {
 	if (!_vm->queryGameFlag(0x1B2)) {
 		++_vm->_lang;
 		_vm->_lang %= _vm->_numLang;
+		// This fan MR translation use Chinese style script file extensions...
+		_vm->_scriptLang = (_vm->_flags.fanLang == Common::CS_CZE && _vm->_lang == 1) ? 3 : _vm->_lang;
 		setupOptionsButtons();
 		renewHighlight(_gameOptions);
 	}


Commit: a9a9720bad408ac73acb642f02f6e7574702fd32
    https://github.com/scummvm/scummvm/commit/a9a9720bad408ac73acb642f02f6e7574702fd32
Author: Michal Breškovec (michal at breskovec.cz)
Date: 2025-04-02T22:15:32+02:00

Commit Message:
KYRA: Czech language files fix for Kyra 1, 2, and 3.

Changed paths:
    devtools/create_kyradat/resources/hof_dos_cd_czech.h
    devtools/create_kyradat/resources/lok_dos_cd_czech.h
    devtools/create_kyradat/resources/mr_dos_cd_czech.h


diff --git a/devtools/create_kyradat/resources/hof_dos_cd_czech.h b/devtools/create_kyradat/resources/hof_dos_cd_czech.h
index a2fc637d34b..46edbadacdd 100644
--- a/devtools/create_kyradat/resources/hof_dos_cd_czech.h
+++ b/devtools/create_kyradat/resources/hof_dos_cd_czech.h
@@ -1,50 +1,50 @@
 static const char *const k2SeqplayStringsDOSCDCzech[104] = {
-	"Kyrandia miz""\xC3\xAD""!",
-	"K""\xC3\xA1""men za kamenem...",
+	"Kyrandia mizi!",
+	"Kamen za kamenem...",
 	"...a strom za stromem.",
-	"Kyrandia p""\xC5\x99""est""\xC3\xA1""v""\xC3\xA1"" existovat!",
-	"Kr""\xC3\xA1""lov""\xC5\xA1""t""\xC3\xAD"" mistikov""\xC3\xA9"" jsou zmaten""\xC3\xAD"".",
-	"Ka""\xC5\xBE""d""\xC3\xBD"" odkaz byl konzultov""\xC3\xA1""n.",
-	"Dokonce i Marko a jeho nov""\xC3\xBD"" sluha byli vpu\xC5\xA1t\xC4\x9Bni na konferenci.",
-	"Na""\xC5\xA1""t""\xC4\x9B""st""\xC3\xAD"" byla Ruka v t""\xC4\x9B""chto z""\xC3\xA1""le""\xC5\xBE""itostech zku""\xC5\xA1""en""\xC3\xA1"".",
-	"A nakonec byl schv""\xC3\xA1""len pl""\xC3\xA1""n...",
-	"...kter""\xC3\xBD"" vy""\xC5\xBE""adoval magick""\xC3\xBD"" Kotevn""\xC3\xAD"" k""\xC3\xA1""men...",
-	"...kter""\xC3\xBD"" m""\xC4\x9B""l b""\xC3\xBD""t z""\xC3\xAD""sk""\xC3\xA1""n ze st""\xC5\x99""edu sv""\xC4\x9B""ta.",
-	"Zanthia, nejmlad""\xC5\xA1""""\xC3\xAD"" z kyrandijsk""\xC3\xBD""ch mystik""\xC5\xAF"", byla vybr""\xC3\xA1""na, aby z""\xC3\xAD""skala K""\xC3\xA1""men.",
-	"D""\xC4\x9B""kujeme, ""\xC5\xBE""e jste hr""\xC3\xA1""li Ruku osudu.",
-	"Toto by m""\xC4\x9B""lo b""\xC3\xBD""t dost bor""\xC5\xAF""vek, k otev""\xC5\x99""en""\xC3\xAD"" port""\xC3\xA1""lu do st""\xC5\x99""edu sv""\xC4\x9B""ta.",
+	"Kyrandia prestava existovat!",
+	"Kralovsti mystikove jsou zmateni.",
+	"Kazdy odkaz byl konzultovan.",
+	"Dokonce i Marko a jeho novy sluha byli vpusteni na konferenci.",
+	"Nastesti byla Ruka v techto zalezitostech zkusena.",
+	"A nakonec byl schvalen plan...",
+	"...ktery vyzadoval magicky Kotevni kamen...",
+	"...ktery mel byt ziskan ze stredu sveta.",
+	"Zanthia, nejmladsi z kyrandijskych mystiku, byla vybrana, aby ziskala Kamen.",
+	"Dekujeme, ze jste hrali Ruku osudu.",
+	"Toto by melo byt dost boruvek, k otevreni portalu do stredu sveta.",
 	" DUMMY STRING... ",
 	" DUMMY STRING... ",
-	"Hej! V""\xC5\xA1""echno moje vybaven""\xC3\xAD"" bylo ukradeno!",
+	"Hej! Vsechno moje vybaveni bylo ukradeno!",
 	" DUMMY STRING... ",
-	"Jestli si mysl""\xC3\xAD"", ""\xC5\xBE""e celou tu cestu dol""\xC5\xAF"" p""\xC5\xAF""jdu p""\xC4\x9B""""\xC5\xA1""ky, tak jsou to cvoci!",
+	"Jestli si mysli, ze celou tu cestu dolu pujdu pesky, tak jsou to cvoci!",
 	" DUMMY STRING... ",
 	" DUMMY STRING... ",
-	"Posp""\xC4\x9B""""\xC5\xA1"" si Faune!",
+	"Pospes si Faune!",
 	"Uf, to bylo o fous!",
-	"To m""\xC3\xA1""""\xC5\xA1"" pravdu, k""\xC3\xA1""mo. J""\xC3\xA1"" osobn""\xC4\x9B"" u""\xC5\xBE"" nikdy nep""\xC5\xAF""jdu lovit!",
+	"To mas pravdu, kamo. Ja osobne uz nikdy nepujdu lovit!",
 	"Ribbit.",
-	"Kolikr""\xC3\xA1""t ti to m""\xC3\xA1""m je""\xC5\xA1""t""\xC4\x9B"" opakovat? Jsi ropucha.",
-	"Ach, ne! Do""\xC5\xA1""el n""\xC3\xA1""m s""\xC3\xBD""r!",
-	"Zkusme tento u""\xC5\xA1""n""\xC3\xAD"" maz. Je oran""\xC5\xBE""ov""\xC3\xBD"".",
-	"Mami, kdy dostanu b""\xC5\x99""e""\xC4\x8D""""\xC5\xA5""an?",
+	"Kolikrat ti to mam jeste opakovat? Jsi ropucha.",
+	"Ach, ne! Dosel nam syr!",
+	"Zkusme tento usni maz. Je oranzovy.",
+	"Mami, kdy dostanu brectan?",
 	"Vypadni odsud!",
-	"Ty ""\xC5\x99""e""\xC5\xBE""e""\xC5\xA1"" a j""\xC3\xA1"" vyb""\xC3\xAD""r""\xC3\xA1""m.",
-	"Ne. Ty ""\xC5\x99""e""\xC5\xBE""e""\xC5\xA1"" a j""\xC3\xA1"" vyb""\xC3\xAD""r""\xC3\xA1""m.",
-	"St""\xC3\xA1""le ""\xC5\x99""""\xC3\xAD""k""\xC3\xA1""m, ""\xC5\xBE""e to byla odvozen""\xC3\xA1"" blbost.",
-	"Ach, st""\xC3\xA1""le bys nepoznal jambick""\xC3\xBD"" pentametr, i kdyby t""\xC4\x9B"" kousl do zadku!",
-	"V""\xC3\xBD""konn""\xC3\xBD"" producent",
+	"Ty rezes a ja vybiram.",
+	"Ne. Ty rezes a ja vybiram.",
+	"Stale rikam, ze to byla odvozena blbost.",
+	"Ach, stale bys nepoznal jambicky pentametr, i kdyby te kousl do zadku!",
+	"Vykonny producent",
 	"Brett W. Sperry",
-	"Re""\xC5\xBE""ie & Design",
+	"Rezie & Design",
 	"Rick Gush",
-	"Hlavn""\xC3\xAD"" program""\xC3\xA1""tor",
+	"Hlavni programator",
 	"Michael Legg",
-	"Vizu""\xC3\xA1""ln""\xC3\xAD"" management",
+	"Vizualni management",
 	"Louis Castle",
 	"Joseph B. Hewitt IV",
-	"Vedouc""\xC3\xAD"" grafik",
+	"Vedouci grafik",
 	"Rick Parks",
-	"Dodate""\xC4\x8D""n""\xC3\xA9"" programov""\xC3\xA1""n""\xC3\xAD""",
+	"Dodatecne programovani",
 	"Philip W. Gorrow",
 	"Mike Grayford",
 	"Mark McCubbin",
@@ -75,17 +75,17 @@ static const char *const k2SeqplayStringsDOSCDCzech[104] = {
 	"William Foster",
 	"Jesse Clemit",
 	"Jeff Fillhaber",
-	"Manu""\xC3\xA1""l, Design balen""\xC3\xAD""",
+	"Manual, Design baleni",
 	"& Expedice",
 	"Eydie Laramore",
 	"Lisa Marcinko",
 	"Lauren Rifkin",
 	"Gratulace!",
-	"D""\xC4\x9B""kujeme, ""\xC5\xBE""e hrajete Ruku osudu!",
-	"Extern""\xC3\xAD"" programov""\xC3\xA1""n""\xC3\xAD""",
-	"Koordin""\xC3\xA1""tor s produkc""\xC3\xAD""",
+	"Dekujeme, ze hrajete Ruku osudu!",
+	"Externi programovani",
+	"Koordinator s produkci",
 	"Scott Duckett",
-	"Irvine teste""\xC5\x99""i",
+	"Irvine testeri",
 	"Chris McFarland",
 	"Paul Moore",
 	"Chad Soares",
@@ -94,15 +94,15 @@ static const char *const k2SeqplayStringsDOSCDCzech[104] = {
 	"Chris Toft",
 	"Vlasy Joe Kucana od",
 	"Theodore A. Morrise",
-	"Nahr""\xC3\xA1""n""\xC3\xAD"" pozice",
-	"""\xC3\x9A""vodn""\xC3\xAD"" intro",
-	"Zah""\xC3\xA1""jit novou hru",
-	"Ukon""\xC4\x8D""it hru",
-	"Speci""\xC3\xA1""ln""\xC3\xAD"" pod""\xC4\x9B""kov""\xC3\xA1""n""\xC3\xAD"" pro",
+	"Nahr""\xA0""n""\xA1"" pozice",
+	"""\xDA""vodn""\xA1"" intro",
+	"Zah""\xA0""jit novou hru",
+	"Ukon""\xE8""it hru",
+	"Specialni podekovani pro",
 	"Sake Joe Bostic-san",
 	"Tim Fritz",
 	"Kenny Dunne",
-	"D""\xC4\x9B""kujeme, ""\xC5\xBE""e hrajete \"Ruku osudu.\"\n"
+	"Dekujeme, ze hrajete \"Ruku osudu.\"\n"
 };
 
 static const StringListProvider k2SeqplayStringsDOSCDCzechProvider = { ARRAYSIZE(k2SeqplayStringsDOSCDCzech), k2SeqplayStringsDOSCDCzech };
diff --git a/devtools/create_kyradat/resources/lok_dos_cd_czech.h b/devtools/create_kyradat/resources/lok_dos_cd_czech.h
index 45f02e7f6e8..5e44243478a 100644
--- a/devtools/create_kyradat/resources/lok_dos_cd_czech.h
+++ b/devtools/create_kyradat/resources/lok_dos_cd_czech.h
@@ -1,140 +1,140 @@
 static const char *const k1IntroStringsDOSCDCzech[51] = {
 	"This is a text test - 1",
 	"This is a text test - 2",
-	"Zdrav""\xC3\xAD""m, Kallaku...",
-	"...Mocn""\xC3\xBD"" v""\xC5\xAF""dce Kr""\xC3\xA1""lovsk""\xC3\xBD""ch mystik""\xC5\xAF""!",
-	"Vystra""\xC5\xA1""il jsem t""\xC4\x9B""?",
+	"Zdrav""\xA1""m, Kallaku...",
+	"...Mocn""\xFD"" v""\xF9""dce Kr""\xA0""lovsk""\xFD""ch mystik""\xF9""!",
+	"Vystra""\x9A""il jsem t""\xEC""?",
 	"Malcolm!",
-	"V""\xC4\x8D""era jsem se doslechl, o tv""\xC3\xA9""m ""\xC3\xBA""t""\xC4\x9B""ku.",
-	"O""\xC4\x8D""ek""\xC3\xA1""val jsem t""\xC4\x9B"" d""\xC5\x99""""\xC3\xAD""ve.",
-	"Pro""\xC4\x8D"" bych m""\xC4\x9B""l sp""\xC4\x9B""chat?",
-	"Vl""\xC3\xA1""dnu t""\xC3\xA9""to zemi!",
-	"Tvoje chab""\xC3\xA1"" kledba m""\xC4\x9B"" neomezuje.",
-	"Tak m""\xC4\x9B"" zabij hned!",
-	"Mnoho magie my ji""\xC5\xBE"" nezbylo.",
-	"Chci ti ubl""\xC3\xAD""""\xC5\xBE""it, o tom v""\xC5\xAF""bec nepochybuj...",
-	"...Te""\xC4\x8F"" je z tebe k""\xC3\xA1""men...",
-	"...Zat""\xC3\xAD""m ti nech""\xC3\xA1""m tvoje o""\xC4\x8D""i.",
-	"J""\xC3\xA1"" pro Kyrandii ronit slzy nebudu...",
-	"...Ale tvoje ti neodep""\xC5\x99""u.",
-	"""\xC5\xA0""a""\xC5\xA1""ek Malcolm se osvobodil!",
-	"Nyn""\xC3\xAD"" ovl""\xC3\xA1""d""\xC3\xA1"" Kyragem...",
-	"...zdroj ve""\xC5\xA1""ker""\xC3\xA9"" magie v Kyrandii!",
-	"",
-	"Jak se opova""\xC5\xBE""uje""\xC5\xA1"" podrazit MI nohy!",
-	"Ale ne, m""\xC3\xA1""m pro tebe n""\xC4\x9B""co speci""\xC3\xA1""ln""\xC3\xAD""ho...",
-	"Takov""\xC3\xA9"" humorn""\xC3\xA9"" kouzlo!",
-	"Ale mus""\xC3\xAD""m t""\xC4\x9B"" d""\xC5\xAF""sledn""\xC4\x9B"" varovat.",
-	"Nesk""\xC3\xA1""kej na TEN strom!",
-	"Nelez po TOM strom""\xC4\x9B"" veverko!",
+	"V""\xE8""era jsem se doslechl, o tv""\x82""m ""\xFA""t""\xEC""ku.",
+	"O""\xE8""ek""\xA0""val jsem t""\xEC"" d""\xF8""""\xA1""ve.",
+	"Pro""\xE8"" bych m""\xEC""l sp""\xEC""chat?",
+	"Vl""\xA0""dnu t""\x82""to zemi!",
+	"Tvoje chab""\xA0"" kledba m""\xEC"" neomezuje.",
+	"Tak m""\xEC"" zabij hned!",
+	"Mnoho magie my ji""\x9E"" nezbylo.",
+	"Chci ti ubl""\xA1""""\x9E""it, o tom v""\xF9""bec nepochybuj...",
+	"...Te""\xEF"" je z tebe k""\xA0""men...",
+	"...Zat""\xA1""m ti nech""\xA0""m tvoje o""\xE8""i.",
+	"J""\xA0"" pro Kyrandii slzy ronit nebudu...",
+	"...Ale tvoje ti neodep""\xF8""u.",
+	"""\x8A""a""\x9A""ek Malcolm se osvobodil!",
+	"Nyn""\xA1"" ovl""\xA0""d""\xA0"" Kyragem...",
+	"...zdroj ve""\x9A""ker""\x82"" magie v Kyrandii!",
+	"",
+	"Jak se opova""\x9E""uje""\x9A"" podrazit MI nohy!",
+	"Ale ne, m""\xA0""m pro tebe n""\xEC""co speci""\xA0""ln""\xA1""ho...",
+	"Takov""\x82"" humorn""\x82"" kouzlo!",
+	"Ale mus""\xA1""m t""\xEC"" d""\xF9""sledn""\xEC"" varovat.",
+	"Nesk""\xA0""kej na TEN strom!",
+	"Nelez po TOM strom""\xEC"" veverko!",
 	"Baf!",
-	"Tak je to z""\xC3\xA1""bavn""\xC4\x9B""j""\xC5\xA1""""\xC3\xAD""...",
-	"...""\xC5\xBD""e ano?",
+	"Tak je to z""\xA0""bavn""\xEC""j""\x9A""""\xA1""...",
+	"...""\x8E""e ano?",
 	"Ha ha ha...",
-	"Nejsou prsty b""\xC3\xA1""je""\xC4\x8D""n""\xC3\xA9""?",
-	"Je skv""\xC4\x9B""l""\xC3\xA9"" b""\xC3\xBD""t ""\xC5\xBE""iv""\xC3\xBD""!",
+	"Nejsou prsty b""\xA0""je""\xE8""n""\x82""?",
+	"Je skv""\xEC""l""\x82"" b""\xFD""t ""\x9E""iv""\xFD""!",
 	"Brandone!",
-	"D""\xC4\x9B""de""\xC4\x8D""ku! Dok""\xC3\xA1""zali jsme to!",
-	"Ne! TY jsi to dok""\xC3\xA1""zal!",
-	"A""\xC5\xA5"" ""\xC5\xBE""ije kr""\xC3\xA1""l Brandon!",
-	"A""\xC5\xA5"" ""\xC5\xBE""ij""\xC3\xAD"" Kr""\xC3\xA1""lov""\xC5\xA1""t""\xC3\xAD"" mystikov""\xC3\xA9""!",
-	"Poj""\xC4\x8F""me te""\xC4\x8F"" d""\xC3\xA1""t Kyrandii do po""\xC5\x99""\xC3\xA1""dku!",
-	"Skv""\xC4\x9B""l""\xC3\xBD"" n""\xC3\xA1""pad!",
-	"Jako sv""\xC3\xA9"" prvn""\xC3\xAD"" kr""\xC3\xA1""lovsk""\xC3\xA9"" na""\xC5\x99""""\xC3\xAD""zen""\xC3\xAD""...",
-	"Jmenuji sand""\xC3\xA1""ly ofici""\xC3\xA1""ln""\xC3\xAD"" obuv""\xC3\xAD"" Kyrandie!",
-	"V""\xC3\xBD""born""\xC4\x9B"", Brandone!",
-	"Kraj ji""\xC5\xBE"" v""\xC3\xAD""ce nepl""\xC3\xA1""""\xC4\x8D""e...",
-	"A tv""\xC3\xAD"" p""\xC5\x99""""\xC3\xA1""tel""\xC3\xA9"" byli obnoveni!",
-	"Drah""\xC3\xA1"" Brynn...",
+	"D""\xEC""de""\xE8""ku! Dok""\xA0""zali jsme to!",
+	"Ne! TY jsi to dok""\xA0""zal!",
+	"A""\x9D"" ""\x9E""ije kr""\xA0""l Brandon!",
+	"A""\x9D"" ""\x9E""ij""\xA1"" Kr""\xA0""lov""\x9A""t""\xA1"" mystikov""\x82""!",
+	"Poj""\xEF""me te""\xEF"" d""\xA0""t Kyrandii do po""\xF8""\xA0""dku!",
+	"Skv""\xEC""l""\xFD"" n""\xA0""pad!",
+	"Jako sv""\x82"" prvn""\xA1"" kr""\xA0""lovsk""\x82"" na""\xF8""""\xA1""zen""\xA1""...",
+	"Jmenuji sand""\xA0""ly ofici""\xA0""ln""\xA1"" obuv""\xA1"" Kyrandie!",
+	"V""\xFD""born""\xEC"", Brandone!",
+	"Kraj ji""\x9E"" v""\xA1""ce nepl""\xA0""""\xE8""e...",
+	"A tv""\xA1"" p""\xF8""""\xA0""tel""\x82"" byli obnoveni!",
+	"Drah""\xA0"" Brynn...",
 	"Malcolm se osvobodil!",
-	"Brzy si pro m""\xC4\x9B"" p""\xC5\x99""""\xC3\xAD""jde.",
-	"Pros""\xC3\xAD""m, pomoz Brandonovi...",
+	"Brzy si pro m""\xEC"" p""\xF8""""\xA1""jde.",
+	"Pros""\xA1""m, pomoz Brandonovi...",
 	""
 };
 
 static const StringListProvider k1IntroStringsDOSCDCzechProvider = { ARRAYSIZE(k1IntroStringsDOSCDCzech), k1IntroStringsDOSCDCzech };
 
 static const char *const k1ItemNamesDOSCDCzech[107] = {
-	"Gran""\xC3\xA1""t",
+	"Gran""\xA0""t",
 	"Ametyst",
-	"Akvamar""\xC3\xAD""n",
+	"Akvamar""\xA1""n",
 	"Diamant",
 	"Smaragd",
 	"Perla",
-	"Rub""\xC3\xAD""n",
-	"Oliv""\xC3\xAD""n",
-	"Saf""\xC3\xAD""r",
-	"Op""\xC3\xA1""l",
+	"Rub""\xA1""n",
+	"Oliv""\xA1""n",
+	"Saf""\xA1""r",
+	"Op""\xA0""l",
 	"Topaz",
 	"Onyx",
-	"Slune""\xC4\x8D""n""\xC3\xAD"" k""\xC3\xA1""men",
-	"M""\xC4\x9B""s""\xC3\xAD""""\xC4\x8D""n""\xC3\xAD"" k""\xC3\xA1""men",
-	"Duhov""\xC3\xBD"" k""\xC3\xA1""men",
+	"Slune""\xE8""n""\xA1"" k""\xA0""men",
+	"M""\xEC""s""\xA1""""\xE8""n""\xA1"" k""\xA0""men",
+	"Duhov""\xFD"" k""\xA0""men",
 	"Magnetit",
-	"R""\xC5\xAF""""\xC5\xBE""e",
-	"Tulip""\xC3\xA1""n",
+	"R""\xF9""""\x9E""e",
+	"Tulip""\xA0""n",
 	"Orchidej",
-	"St""\xC5\x99""""\xC3\xAD""brn""\xC3\xA1"" r""\xC5\xAF""""\xC5\xBE""e",
-	"St""\xC5\x99""""\xC3\xAD""brn""\xC3\xA1"" so""\xC5\xA1""ka",
-	"St""\xC5\x99""""\xC3\xAD""brn""\xC3\xA1"" mince",
-	"Zlat""\xC3\xA1"" mince",
-	"Zlat""\xC3\xBD"" prsten",
-	"Kr""\xC3\xA1""lovsk""\xC3\xBD"" kalich",
-	"""\xC5\xA0""i""\xC5\xA1""ka",
-	"""\xC5\xBD""alud",
-	"O""\xC5\x99""ech",
-	"Z""\xC3\xA1""""\xC5\x99""""\xC3\xAD""c""\xC3\xAD"" ohnivky",
+	"St""\xF8""""\xA1""brn""\xA0"" r""\xF9""""\x9E""e",
+	"St""\xF8""""\xA1""brn""\xA0"" so""\x9A""ka",
+	"St""\xF8""""\xA1""brn""\xA0"" mince",
+	"Zlat""\xA0"" mince",
+	"Zlat""\xFD"" prsten",
+	"Kr""\xA0""lovsk""\xFD"" kalich",
+	"""\x8A""i""\x9A""ka",
+	"""\x8E""alud",
+	"O""\xF8""ech",
+	"Z""\xA0""""\xF8""""\xA1""c""\xA1"" ohnivky",
 	"Ohnivky",
 	"Ohnivky",
 	"Ohnivky",
 	"Ohnivky",
 	"Ohnivky",
 	"Ryba",
-	"Ryb""\xC3\xAD"" kost",
-	"Skopov""\xC3\xA1"" noha",
+	"Ryb""\xA1"" kost",
+	"Skopov""\xA0"" noha",
 	"Kost",
 	"Jablko",
-	"Jad""\xC3\xA9""rko z jablka",
-	"Bor""\xC5\xAF""vky",
+	"Jad""\x82""rko z jablka",
+	"Bor""\xF9""vky",
 	"Houba",
 	"Dopis",
 	"Mramor",
 	"Pila",
 	"Ankh",
-	"P""\xC3\xAD""rko",
+	"P""\xA1""rko",
 	"Vejce",
 	"List",
-	"Trojl""\xC3\xAD""stek",
-	"Spadl""\xC3\xA1"" hv""\xC4\x9B""zda",
-	"K""\xC5\x99""i""\xC5\xA1""""\xC5\xA5""""\xC3\xA1""lov""\xC3\xA1"" koule",
+	"Trojl""\xA1""stek",
+	"Spadl""\xA0"" hv""\xEC""zda",
+	"K""\xF8""i""\x9A""""\x9D""""\xA0""lov""\xA0"" koule",
 	"Slza",
 	"Zrcadlo",
 	"Rampouch",
-	"Fl""\xC3\xA9""tna",
-	"P""\xC5\x99""es""\xC3\xBD""pac""\xC3\xAD"" hodiny",
-	"""\xC5\xBD""elezn""\xC3\xBD"" kl""\xC3\xAD""""\xC4\x8D""",
-	"Nefritov""\xC3\xBD"" kl""\xC3\xAD""""\xC4\x8D""",
-	"Obsidi""\xC3\xA1""nov""\xC3\xBD"" kl""\xC3\xAD""""\xC4\x8D""",
-	"""\xC4\x8C""erven""\xC3\xBD"" lektvar",
-	"""\xC4\x8C""erven""\xC3\xBD"" lektvar",
-	"Modr""\xC3\xBD"" lektvar",
-	"Modr""\xC3\xBD"" lektvar",
-	"""\xC5\xBD""lut""\xC3\xBD"" lektvar",
-	"""\xC5\xBD""lut""\xC3\xBD"" lektvar",
-	"Zelen""\xC3\xBD"" lektvar",
-	"Oran""\xC5\xBE""ov""\xC3\xBD"" lektvar",
-	"Fialov""\xC3\xBD"" lektvar",
+	"Fl""\x82""tna",
+	"P""\xF8""es""\xFD""pac""\xA1"" hodiny",
+	"""\x8E""elezn""\xFD"" kl""\xA1""""\xE8""",
+	"Nefritov""\xFD"" kl""\xA1""""\xE8""",
+	"Obsidi""\xA0""nov""\xFD"" kl""\xA1""""\xE8""",
+	"""\xC8""erven""\xFD"" lektvar",
+	"""\xC8""erven""\xFD"" lektvar",
+	"Modr""\xFD"" lektvar",
+	"Modr""\xFD"" lektvar",
+	"""\x8E""lut""\xFD"" lektvar",
+	"""\x8E""lut""\xFD"" lektvar",
+	"Zelen""\xFD"" lektvar",
+	"Oran""\x9E""ov""\xFD"" lektvar",
+	"Fialov""\xFD"" lektvar",
 	"Lektvar Duhy",
-	"""\xC4\x8C""erstv""\xC3\xA1"" voda",
-	"""\xC4\x8C""erstv""\xC3\xA1"" voda",
-	"Slan""\xC3\xA1"" voda",
-	"Slan""\xC3\xA1"" voda",
-	"Miner""\xC3\xA1""ln""\xC3\xAD"" voda",
-	"Miner""\xC3\xA1""ln""\xC3\xAD"" voda",
-	"Magick""\xC3\xA1"" voda",
-	"agick""\xC3\xA1"" voda",
-	"Pr""\xC3\xA1""zdn""\xC3\xA1"" ba""\xC5\x88""ka",
-	"Pr""\xC3\xA1""zdn""\xC3\xA1"" ba""\xC5\x88""ka",
+	"""\xC8""erstv""\xA0"" voda",
+	"""\xC8""erstv""\xA0"" voda",
+	"Slan""\xA0"" voda",
+	"Slan""\xA0"" voda",
+	"Miner""\xA0""ln""\xA1"" voda",
+	"Miner""\xA0""ln""\xA1"" voda",
+	"Magick""\xA0"" voda",
+	"agick""\xA0"" voda",
+	"Pr""\xA0""zdn""\xA0"" ba""\xF2""ka",
+	"Pr""\xA0""zdn""\xA0"" ba""\xF2""ka",
 	"Svitek",
 	"Svitek",
 	"Svitek",
@@ -150,31 +150,31 @@ static const char *const k1ItemNamesDOSCDCzech[107] = {
 	"Kousek pergamenu",
 	"Kousek pergamenu",
 	"Kousek pergamenu",
-	"""\xC4\x8C""erven""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
-	"Oran""\xC5\xBE""ov""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
-	"""\xC5\xBD""lut""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
-	"Zelen""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
-	"Modro-Zelen""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
-	"Modr""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
-	"Fialov""\xC3\xBD"" ""\xC4\x8C""arok""\xC3\xA1""men",
-	"T""\xC4\x9B""""\xC5\xBE""k""\xC3\xBD"" k""\xC3\xA1""men",
-	"Kr""\xC3\xA1""lovsk""\xC3\xA1"" koruna",
-	"Kr""\xC3\xA1""lovsk""\xC3\xA9"" ""\xC5\xBE""ezlo",
-	"Zlat""\xC3\xBD"" kl""\xC3\xAD""""\xC4\x8D""",
-	"Nezn""\xC3\xA1""m""\xC3\xBD"" p""\xC5\x99""edm""\xC4\x9B""t"
+	"""\xC8""erven""\xFD"" ""\xC8""arok""\xA0""men",
+	"Oran""\x9E""ov""\xFD"" ""\xC8""arok""\xA0""men",
+	"""\x8E""lut""\xFD"" ""\xC8""arok""\xA0""men",
+	"Zelen""\xFD"" ""\xC8""arok""\xA0""men",
+	"Modro-Zelen""\xFD"" ""\xC8""arok""\xA0""men",
+	"Modr""\xFD"" ""\xC8""arok""\xA0""men",
+	"Fialov""\xFD"" ""\xC8""arok""\xA0""men",
+	"T""\xEC""""\x9E""k""\xFD"" k""\xA0""men",
+	"Kr""\xA0""lovsk""\xA0"" koruna",
+	"Kr""\xA0""lovsk""\x82"" ""\x9E""ezlo",
+	"Zlat""\xFD"" kl""\xA1""""\xE8""",
+	"Nezn""\xA0""m""\xFD"" p""\xF8""edm""\xEC""t"
 };
 
 static const StringListProvider k1ItemNamesDOSCDCzechProvider = { ARRAYSIZE(k1ItemNamesDOSCDCzech), k1ItemNamesDOSCDCzech };
 
 static const char *const k1TakenStringsDOSCDCzech[2] = {
-	" sebr""\xC3\xA1""n.",
-	" sebr""\xC3\xA1""n."
+	" sebr""\xA0""n.",
+	" sebr""\xA0""n."
 };
 
 static const StringListProvider k1TakenStringsDOSCDCzechProvider = { ARRAYSIZE(k1TakenStringsDOSCDCzech), k1TakenStringsDOSCDCzech };
 
 static const char *const k1PlacedStringsDOSCDCzech[1] = {
-	" ulo""\xC5\xBE""en."
+	" ulo""\x9E""en."
 };
 
 static const StringListProvider k1PlacedStringsDOSCDCzechProvider = { ARRAYSIZE(k1PlacedStringsDOSCDCzech), k1PlacedStringsDOSCDCzech };
@@ -186,26 +186,26 @@ static const char *const k1DroppedStringsDOSCDCzech[1] = {
 static const StringListProvider k1DroppedStringsDOSCDCzechProvider = { ARRAYSIZE(k1DroppedStringsDOSCDCzech), k1DroppedStringsDOSCDCzech };
 
 static const char *const k1NoDropStringsDOSCDCzech[2] = {
-	"V t""\xC3\xA9""to sc""\xC3\xA9""n""\xC4\x9B"" u""\xC5\xBE"" dal""\xC5\xA1""""\xC3\xAD"" v""\xC4\x9B"" nelze polo""\xC5\xBE""it.",
-	"To tam nejde d""\xC3\xA1""t."
+	"V t""\x82""to sc""\x82""n""\xEC"" u""\x9E"" dal""\x9A""""\xA1"" v""\xEC"" nelze polo""\x9E""it.",
+	"To tam nejde d""\xA0""t."
 };
 
 static const StringListProvider k1NoDropStringsDOSCDCzechProvider = { ARRAYSIZE(k1NoDropStringsDOSCDCzech), k1NoDropStringsDOSCDCzech };
 
 static const char *const k1PutDownStringDOSCDCzech[1] = {
-	"Mo""\xC5\xBE""n""\xC3\xA1"" bych to m""\xC4\x9B""l nejd""\xC5\x99""""\xC3\xAD""v polo""\xC5\xBE""it."
+	"Mo""\x9E""n""\xA0"" bych to m""\xEC""l nejd""\xF8""""\xA1""v polo""\x9E""it."
 };
 
 static const StringListProvider k1PutDownStringDOSCDCzechProvider = { ARRAYSIZE(k1PutDownStringDOSCDCzech), k1PutDownStringDOSCDCzech };
 
 static const char *const k1WaitAmuletStringDOSCDCzech[1] = {
-	"Asi budu muset po""\xC4\x8D""kat, a""\xC5\xBE"" m""\xC5\xAF""j amulet znovu z""\xC3\xAD""sk""\xC3\xA1"" s""\xC3\xAD""lu."
+	"Asi budu muset po""\xE8""kat, a""\x9E"" m""\xF9""j amulet znovu z""\xA1""sk""\xA0"" s""\xA1""lu."
 };
 
 static const StringListProvider k1WaitAmuletStringDOSCDCzechProvider = { ARRAYSIZE(k1WaitAmuletStringDOSCDCzech), k1WaitAmuletStringDOSCDCzech };
 
 static const char *const k1BlackJewelStringDOSCDCzech[1] = {
-	"Je to drahokam, ale pro""\xC4\x8D"" je ""\xC4\x8D""ern""\xC3\xBD""?"
+	"Je to drahokam, ale pro""\xE8"" je ""\xE8""ern""\xFD""?"
 };
 
 static const StringListProvider k1BlackJewelStringDOSCDCzechProvider = { ARRAYSIZE(k1BlackJewelStringDOSCDCzech), k1BlackJewelStringDOSCDCzech };
@@ -217,52 +217,52 @@ static const char *const k1HealingTipStringDOSCDCzech[1] = {
 static const StringListProvider k1HealingTipStringDOSCDCzechProvider = { ARRAYSIZE(k1HealingTipStringDOSCDCzech), k1HealingTipStringDOSCDCzech };
 
 static const char *const k1PoisonGoneStringDOSCDCzech[2] = {
-	"""\xC3\x9A""""\xC5\xBE""asn""\xC3\xA9""!",
-	"""\xC3\x9A""""\xC4\x8D""inky jedu jsou pry""\xC4\x8D""!"
+	"""\xDA""""\x9E""asn""\x82""!",
+	"""\xDA""""\xE8""inky jedu jsou pry""\xE8""!"
 };
 
 static const StringListProvider k1PoisonGoneStringDOSCDCzechProvider = { ARRAYSIZE(k1PoisonGoneStringDOSCDCzech), k1PoisonGoneStringDOSCDCzech };
 
 static const char *const k1ThePoisonStringsDOSCDCzech[4] = {
 	"Jed...",
-	"Nem""\xC5\xAF""""\xC5\xBE""u d""\xC3\xBD""chat...",
-	"Nec""\xC3\xAD""t""\xC3\xAD""m se dob""\xC5\x99""e...",
-	"Ten had musel b""\xC3\xBD""t\rjedovat""\xC3\xBD""!"
+	"Nem""\xF9""""\x9E""u d""\xFD""chat...",
+	"Nec""\xA1""t""\xA1""m se dob""\xF8""e...",
+	"Ten had musel b""\xFD""t\rjedovat""\xFD""!"
 };
 
 static const StringListProvider k1ThePoisonStringsDOSCDCzechProvider = { ARRAYSIZE(k1ThePoisonStringsDOSCDCzech), k1ThePoisonStringsDOSCDCzech };
 
 static const char *const k1FluteStringsDOSCDCzech[2] = {
 	"Zvuk nic moc.",
-	"Ta posledn""\xC3\xAD"" nota byla ur""\xC4\x8D""it""\xC4\x9B"" vysoko!"
+	"Ta posledn""\xA1"" nota byla ur""\xE8""it""\xEC"" vysoko!"
 };
 
 static const StringListProvider k1FluteStringsDOSCDCzechProvider = { ARRAYSIZE(k1FluteStringsDOSCDCzech), k1FluteStringsDOSCDCzech };
 
 static const char *const k1WispJewelStringsDOSCDCzech[2] = {
-	"Te""\xC4\x8F"" se na to opravdu nec""\xC3\xAD""t""\xC3\xAD""m.",
-	"Asi bych to m""\xC4\x9B""l nejd""\xC5\x99""""\xC3\xAD""ve odlo""\xC5\xBE""it."
+	"Te""\xEF"" se na to opravdu nec""\xA1""t""\xA1""m.",
+	"Asi bych to m""\xEC""l nejd""\xF8""""\xA1""ve odlo""\x9E""it."
 };
 
 static const StringListProvider k1WispJewelStringsDOSCDCzechProvider = { ARRAYSIZE(k1WispJewelStringsDOSCDCzech), k1WispJewelStringsDOSCDCzech };
 
 static const char *const k1MagicJewelStringsDOSCDCzech[1] = {
-	"To bylo zvl""\xC3\xA1""""\xC5\xA1""tn""\xC3\xAD""."
+	"To bylo zvl""\xA0""""\x9A""tn""\xA1""."
 };
 
 static const StringListProvider k1MagicJewelStringsDOSCDCzechProvider = { ARRAYSIZE(k1MagicJewelStringsDOSCDCzech), k1MagicJewelStringsDOSCDCzech };
 
 static const char *const k1FlaskFullStringDOSCDCzech[1] = {
-	"Tato ba""\xC5\x88""ka je u""\xC5\xBE"" pln""\xC3\xA1""."
+	"Tato ba""\xF2""ka je u""\x9E"" pln""\xA0""."
 };
 
 static const StringListProvider k1FlaskFullStringDOSCDCzechProvider = { ARRAYSIZE(k1FlaskFullStringDOSCDCzech), k1FlaskFullStringDOSCDCzech };
 
 static const char *const k1FullFlaskStringDOSCDCzech[4] = {
-	"Ba""\xC5\x88""ka je nyn""\xC3\xAD"" napln""\xC4\x9B""na\r""\xC4\x8D""erstvou, perlivou vodou.",
-	"Ba""\xC5\x88""ka je nyn""\xC3\xAD"" napln""\xC4\x9B""na\rslanou vodou.",
-	"Ba""\xC5\x88""ka je nyn""\xC3\xAD"" napln""\xC4\x9B""na\rminer""\xC3\xA1""ln""\xC3\xAD"" vodou.",
-	"""\xC5\xBD""iv""\xC3\xA1"" voda."
+	"Ba""\xF2""ka je nyn""\xA1"" napln""\xEC""na\r""\xE8""erstvou, perlivou vodou.",
+	"Ba""\xF2""ka je nyn""\xA1"" napln""\xEC""na\rslanou vodou.",
+	"Ba""\xF2""ka je nyn""\xA1"" napln""\xEC""na\rminer""\xA0""ln""\xA1"" vodou.",
+	"""\x8E""iv""\xA0"" voda."
 };
 
 static const StringListProvider k1FullFlaskStringDOSCDCzechProvider = { ARRAYSIZE(k1FullFlaskStringDOSCDCzech), k1FullFlaskStringDOSCDCzech };
@@ -274,27 +274,27 @@ static const char *const k1OutroHomeStringDOSCDCzech[1] = {
 static const StringListProvider k1OutroHomeStringDOSCDCzechProvider = { ARRAYSIZE(k1OutroHomeStringDOSCDCzech), k1OutroHomeStringDOSCDCzech };
 
 static const char *const k1VeryCleverStringDOSCDCzech[1] = {
-	"Velmi chytr""\xC3\xA9""! Ale tvoje chab""\xC3\xA9"" ""\xC3\xBA""sil""\xC3\xAD"" je marn""\xC3\xA9""."
+	"Velmi chytr""\x82""! Ale tvoje chab""\x82"" ""\xFA""sil""\xA1"" je marn""\x82""."
 };
 
 static const StringListProvider k1VeryCleverStringDOSCDCzechProvider = { ARRAYSIZE(k1VeryCleverStringDOSCDCzech), k1VeryCleverStringDOSCDCzech };
 
 static const char *const k1GUIStringsDOSCDCzech[81] = {
 	"Legenda o Kyrandii",
-	"Nahr""\xC3\xA1""t pozici",
-	"Ulo""\xC5\xBE""it pozici",
+	"Nahr""\xA0""t pozici",
+	"Ulo""\x9E""it pozici",
 	"Nastavit hru",
-	"Ukon""\xC4\x8D""it hru",
-	"Pokra""\xC4\x8D""ovat ve h""\xC5\x99""e",
-	"Nastaven""\xC3\xAD"" hry",
-	"Kterou pozici chce""\xC5\xA1"" nahr""\xC3\xA1""t?",
-	"Vyber pozici pro ulo""\xC5\xBE""en""\xC3\xAD"" hry:",
-	"[ PR""\xC3\x81""ZDN""\xC3\x9D"" SLOT ]",
-	"Zru""\xC5\xA1""it",
-	"Zadej popis sv""\xC3\xA9"" ulo""\xC5\xBE""en""\xC3\xA9"" pozice:",
-	"Ulo""\xC5\xBE""it",
-	"Odpo""\xC4\x8D""""\xC3\xAD""vej v pokoji, Brandone.",
-	"Ur""\xC4\x8D""it""\xC4\x9B"" chce""\xC5\xA1"" ukon""\xC4\x8D""it hru?",
+	"Ukon""\xE8""it hru",
+	"Pokra""\xE8""ovat ve h""\xF8""e",
+	"Nastaven""\xA1"" hry",
+	"Kterou pozici chce""\x9A"" nahr""\xA0""t?",
+	"Vyber pozici pro ulo""\x9E""en""\xA1"" hry:",
+	"[ PR""\xC1""ZDN""\xDD"" SLOT ]",
+	"Zru""\x9A""it",
+	"Zadej popis sv""\x82"" ulo""\x9E""en""\x82"" pozice:",
+	"Ulo""\x9E""it",
+	"Odpo""\xE8""""\xA1""vej v pokoji, Brandone.",
+	"Ur""\xE8""it""\xEC"" chce""\x9A"" ukon""\xE8""it hru?",
 	"XXX",
 	"",
 	"",
@@ -351,12 +351,12 @@ static const char *const k1GUIStringsDOSCDCzech[81] = {
 	"",
 	"",
 	"",
-	"Hlavn""\xC3\xAD"" nab""\xC3\xAD""dka",
+	"Hlavn""\xA1"" nab""\xA1""dka",
 	"Zapnuto",
 	"Vypnuto",
 	"Ano",
 	"Ne",
-	"Rychlost ch""\xC5\xAF""ze ",
+	"Rychlost ch""\xF9""ze ",
 	"Rychlost textu ",
 	"Hudba je ",
 	"Zvuky jsou ",
@@ -366,24 +366,25 @@ static const char *const k1GUIStringsDOSCDCzech[81] = {
 static const StringListProvider k1GUIStringsDOSCDCzechProvider = { ARRAYSIZE(k1GUIStringsDOSCDCzech), k1GUIStringsDOSCDCzech };
 
 static const char *const k1NewGameStringDOSCDCzech[1] = {
-	"[ ZAH""\xC3\x81""JIT NOVOU HRU ]"
+	"[ ZAH""\xC1""JIT NOVOU HRU ]"
 };
 
 static const StringListProvider k1NewGameStringDOSCDCzechProvider = { ARRAYSIZE(k1NewGameStringDOSCDCzech), k1NewGameStringDOSCDCzech };
 
 static const char *const k1ConfigStringsDOSCDCzech[12] = {
 	"nejpomaleji",
-	"polmalu",
-	"norm""\xC3\xA1""ln""\xC4\x9B""",
+	"pomalu",
+	"norm""\xA0""ln""\xA1""",
 	"rychle",
 	"nejrychleji",
 	"Jen Text",
 	"Jen Hlas",
 	"Hlas & Text",
 	"nejpomaleji",
-	"norm""\xC3\xA1""ln""\xC4\x9B""",
+	"norm""\xA0""ln""\xA1""",
 	"rychle",
-	"kliknut""\xC3\xAD"""
+	"kliknut""\xA1"""
 };
 
 static const StringListProvider k1ConfigStringsDOSCDCzechProvider = { ARRAYSIZE(k1ConfigStringsDOSCDCzech), k1ConfigStringsDOSCDCzech };
+
diff --git a/devtools/create_kyradat/resources/mr_dos_cd_czech.h b/devtools/create_kyradat/resources/mr_dos_cd_czech.h
index f6c4541a0b1..194c615c7af 100644
--- a/devtools/create_kyradat/resources/mr_dos_cd_czech.h
+++ b/devtools/create_kyradat/resources/mr_dos_cd_czech.h
@@ -1,8 +1,8 @@
 static const char *const k3MainMenuStringsDOSCDCzech[4] = {
-	"Start nov""\xC3\xA9"" hry",
-	"""\xC3\x9A""vodn""\xC3\xAD"" intro",
-	"Nahr""\xC3\xA1""n""\xC3\xAD"" pozice",
-	"Ukon""\xC4\x8D""it hru"
+	"Start nov""\x82"" hry",
+	"""\x97""vodn""\xA1"" intro",
+	"Nahr""\xA0""n""\xA1"" pozice",
+	"Ukon""\x87""it hru"
 };
 
 static const StringListProvider k3MainMenuStringsDOSCDCzechProvider = { ARRAYSIZE(k3MainMenuStringsDOSCDCzech), k3MainMenuStringsDOSCDCzech };


Commit: 55644588de370623d85adf7ffc51dce7b374b4c5
    https://github.com/scummvm/scummvm/commit/55644588de370623d85adf7ffc51dce7b374b4c5
Author: athrxx (athrxx at scummvm.org)
Date: 2025-04-02T22:15:32+02:00

Commit Message:
KYRA: (LOK/CZ) - fix options strings

Changed paths:
    engines/kyra/gui/gui_lok.cpp


diff --git a/engines/kyra/gui/gui_lok.cpp b/engines/kyra/gui/gui_lok.cpp
index 51e4eafd867..216d8544eb5 100644
--- a/engines/kyra/gui/gui_lok.cpp
+++ b/engines/kyra/gui/gui_lok.cpp
@@ -359,7 +359,7 @@ void GUI_LoK::setGUILabels() {
 	int offsetPC98 = 0;
 
 	if (_vm->gameFlags().isTalkie) {
-		if (_vm->gameFlags().lang == Common::EN_ANY || _vm->gameFlags().lang == Common::HE_ISR)
+		if (_vm->gameFlags().lang == Common::EN_ANY || _vm->gameFlags().lang == Common::HE_ISR || _vm->gameFlags().lang == Common::CS_CZE)
 			offset = 52;
 		else if (_vm->gameFlags().lang == Common::DE_DEU)
 			offset = 30;


Commit: f111b52a9ff837cf0752023196ca230ae4618b7d
    https://github.com/scummvm/scummvm/commit/f111b52a9ff837cf0752023196ca230ae4618b7d
Author: athrxx (athrxx at scummvm.org)
Date: 2025-04-02T22:15:32+02:00

Commit Message:
KYRA: (LOK/CZ) - fix Brynn's note

Changed paths:
    engines/kyra/script/script_lok.cpp


diff --git a/engines/kyra/script/script_lok.cpp b/engines/kyra/script/script_lok.cpp
index c4caca21220..d27145dfc5a 100644
--- a/engines/kyra/script/script_lok.cpp
+++ b/engines/kyra/script/script_lok.cpp
@@ -1042,7 +1042,7 @@ int KyraEngine_LoK::o1_specialEventDisplayBrynnsNote(EMCState *script) {
 	_screen->savePageToDisk("HIDPAGE.TMP", 2);
 	_screen->savePageToDisk("SEENPAGE.TMP", 0);
 	if (_flags.isTalkie) {
-		if (_flags.lang == Common::EN_ANY || _flags.lang == Common::IT_ITA)
+		if (_flags.lang == Common::EN_ANY || _flags.lang == Common::IT_ITA || _flags.lang == Common::CS_CZE)
 			_screen->loadBitmap("NOTEENG.CPS", 3, 3, nullptr);
 		else if (_flags.lang == Common::FR_FRA)
 			_screen->loadBitmap("NOTEFRE.CPS", 3, 3, nullptr);


Commit: 1e24a3689003abcba7f648f07049973fc5883fd5
    https://github.com/scummvm/scummvm/commit/1e24a3689003abcba7f648f07049973fc5883fd5
Author: Michal Breškovec (michal at breskovec.cz)
Date: 2025-04-02T22:15:32+02:00

Commit Message:
KYRA: Kyra 1 Czech translation typo fix.

Changed paths:
    devtools/create_kyradat/resources/lok_dos_cd_czech.h


diff --git a/devtools/create_kyradat/resources/lok_dos_cd_czech.h b/devtools/create_kyradat/resources/lok_dos_cd_czech.h
index 5e44243478a..4c642a926f3 100644
--- a/devtools/create_kyradat/resources/lok_dos_cd_czech.h
+++ b/devtools/create_kyradat/resources/lok_dos_cd_czech.h
@@ -11,7 +11,7 @@ static const char *const k1IntroStringsDOSCDCzech[51] = {
 	"Vl""\xA0""dnu t""\x82""to zemi!",
 	"Tvoje chab""\xA0"" kledba m""\xEC"" neomezuje.",
 	"Tak m""\xEC"" zabij hned!",
-	"Mnoho magie my ji""\x9E"" nezbylo.",
+	"Mnoho magie mi ji""\x9E"" nezbylo.",
 	"Chci ti ubl""\xA1""""\x9E""it, o tom v""\xF9""bec nepochybuj...",
 	"...Te""\xEF"" je z tebe k""\xA0""men...",
 	"...Zat""\xA1""m ti nech""\xA0""m tvoje o""\xE8""i.",


Commit: c93f01efbea0db4dea9b29a4c26b3743be03c641
    https://github.com/scummvm/scummvm/commit/c93f01efbea0db4dea9b29a4c26b3743be03c641
Author: athrxx (athrxx at scummvm.org)
Date: 2025-04-02T22:15:32+02:00

Commit Message:
KYRA: regenerate kyra.dat

Changed paths:
    dists/engine-data/kyra.dat


diff --git a/dists/engine-data/kyra.dat b/dists/engine-data/kyra.dat
index d1b05dc0272..f09b88afa46 100644
Binary files a/dists/engine-data/kyra.dat and b/dists/engine-data/kyra.dat differ




More information about the Scummvm-git-logs mailing list