[Scummvm-git-logs] scummvm master -> 2daf8b1ce9b4d9ebb630d7cb5abf2e666e1ac8fa
athrxx
noreply at scummvm.org
Tue Jul 28 22:58:43 UTC 2026
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
9d3e97ce4d KYRA: (EOBII/FM-TOWNS) - minor gfx optimization
2daf8b1ce9 KYRA: (HOF) - fix Korean FM-TOWNS fan translation
Commit: 9d3e97ce4d57780cf6c487a8276b970b15373163
https://github.com/scummvm/scummvm/commit/9d3e97ce4d57780cf6c487a8276b970b15373163
Author: athrxx (athrxx at scummvm.org)
Date: 2026-07-29T00:57:21+02:00
Commit Message:
KYRA: (EOBII/FM-TOWNS) - minor gfx optimization
Changed paths:
engines/kyra/engine/kyra_rpg.cpp
engines/kyra/engine/kyra_rpg.h
engines/kyra/engine/scene_rpg.cpp
diff --git a/engines/kyra/engine/kyra_rpg.cpp b/engines/kyra/engine/kyra_rpg.cpp
index 688047a95b7..7dd92627d81 100644
--- a/engines/kyra/engine/kyra_rpg.cpp
+++ b/engines/kyra/engine/kyra_rpg.cpp
@@ -53,6 +53,7 @@ KyraRpgEngine::KyraRpgEngine(OSystem *system, const GameFlags &flags) : KyraEngi
_vcnBpp = 1;
_vcnSrcBitsPerPixel = (_flags.platform == Common::kPlatformAmiga) ? 5 : (_flags.platform == Common::kPlatformFMTowns ? 8 : 4);
_vcnDrawLine = nullptr;
+ _vcnHiColorPalette = nullptr;
_vmpVisOffs = (flags.platform == Common::kPlatformSegaCD) ? _vmpOffsetsSegaCD : _vmpOffsetsDefault;
_vmpPtr = 0;
diff --git a/engines/kyra/engine/kyra_rpg.h b/engines/kyra/engine/kyra_rpg.h
index 9a54b471dfd..24eed7f7fae 100644
--- a/engines/kyra/engine/kyra_rpg.h
+++ b/engines/kyra/engine/kyra_rpg.h
@@ -383,6 +383,7 @@ protected:
uint8 *_vcnShift;
uint8 _vcnShiftVal;
uint8 *_vcnColTable;
+ const void *_vcnHiColorPalette;
uint8 _vcnSrcBitsPerPixel;
uint8 _vcnBpp;
uint16 *_blockDrawingBuffer;
diff --git a/engines/kyra/engine/scene_rpg.cpp b/engines/kyra/engine/scene_rpg.cpp
index ccee439213b..26e48fdfba4 100644
--- a/engines/kyra/engine/scene_rpg.cpp
+++ b/engines/kyra/engine/scene_rpg.cpp
@@ -373,6 +373,11 @@ void KyraRpgEngine::drawVcnBlocks() {
uint8 *d = _sceneWindowBuffer;
uint16 *bdb = _blockDrawingBuffer;
+ if (_vcnBpp > 1) {
+ _vcnHiColorPalette = screen()->getHiColorPalette();
+ assert(_vcnHiColorPalette);
+ }
+
for (int y = 0; y < 15; y++) {
for (int x = 0; x < 22; x++) {
bool horizontalFlip = false;
@@ -520,7 +525,7 @@ template void KyraRpgEngine::vcnDraw_fw_trans_4bit<false>(uint8 *&dst, const uin
template void KyraRpgEngine::vcnDraw_bw_trans_4bit<false>(uint8 *&dst, const uint8 *&src);
template<typename T> void KyraRpgEngine::vcnDraw_fw_hiCol(uint8 *&dst, const uint8 *&src) {
- const T *hiColorPal = reinterpret_cast<const T*>(screen()->getHiColorPalette());
+ const T *hiColorPal = reinterpret_cast<const T*>(_vcnHiColorPalette);
T *d = reinterpret_cast<T*>(dst);
for (int blockX = 0; blockX < _vcnSrcBitsPerPixel; blockX++)
*d++ = hiColorPal[*src++];
@@ -529,7 +534,7 @@ template<typename T> void KyraRpgEngine::vcnDraw_fw_hiCol(uint8 *&dst, const uin
template<typename T> void KyraRpgEngine::vcnDraw_bw_hiCol(uint8 *&dst, const uint8 *&src) {
src += 7;
- const T *hiColorPal = reinterpret_cast<const T*>(screen()->getHiColorPalette());
+ const T *hiColorPal = reinterpret_cast<const T*>(_vcnHiColorPalette);
T *d = reinterpret_cast<T*>(dst);
for (int blockX = 0; blockX < _vcnSrcBitsPerPixel; blockX++)
*d++ = hiColorPal[*src--];
@@ -538,7 +543,7 @@ template<typename T> void KyraRpgEngine::vcnDraw_bw_hiCol(uint8 *&dst, const uin
}
template<typename T> void KyraRpgEngine::vcnDraw_fw_trans_hiCol(uint8 *&dst, const uint8 *&src) {
- const T *hiColorPal = reinterpret_cast<const T*>(screen()->getHiColorPalette());
+ const T *hiColorPal = reinterpret_cast<const T*>(_vcnHiColorPalette);
T *d = reinterpret_cast<T*>(dst);
for (int blockX = 0; blockX < _vcnSrcBitsPerPixel; blockX++) {
uint8 bl = *src++;
@@ -551,7 +556,7 @@ template<typename T> void KyraRpgEngine::vcnDraw_fw_trans_hiCol(uint8 *&dst, con
template<typename T> void KyraRpgEngine::vcnDraw_bw_trans_hiCol(uint8 *&dst, const uint8 *&src) {
src += 7;
- const T *hiColorPal = reinterpret_cast<const T*>(screen()->getHiColorPalette());
+ const T *hiColorPal = reinterpret_cast<const T*>(_vcnHiColorPalette);
T *d = reinterpret_cast<T*>(dst);
for (int blockX = 0; blockX < _vcnSrcBitsPerPixel; blockX++) {
uint8 bl = *src--;
Commit: 2daf8b1ce9b4d9ebb630d7cb5abf2e666e1ac8fa
https://github.com/scummvm/scummvm/commit/2daf8b1ce9b4d9ebb630d7cb5abf2e666e1ac8fa
Author: athrxx (athrxx at scummvm.org)
Date: 2026-07-29T00:57:22+02:00
Commit Message:
KYRA: (HOF) - fix Korean FM-TOWNS fan translation
- add missing kyra.dat resources
- remove unneeded code
Changed paths:
A devtools/create_kyradat/resources/hof_fmtowns_korean.h
devtools/create_kyradat/games.cpp
devtools/create_kyradat/resources.cpp
dists/engine-data/kyra.dat
engines/kyra/resource/staticres.cpp
diff --git a/devtools/create_kyradat/games.cpp b/devtools/create_kyradat/games.cpp
index 52b7e4994e6..ea253ba5178 100644
--- a/devtools/create_kyradat/games.cpp
+++ b/devtools/create_kyradat/games.cpp
@@ -100,6 +100,7 @@ const Game kyra2Games[] = {
{ kKyra2, kPlatformFMTowns, kNoSpecial, EN_ANY },
{ kKyra2, kPlatformFMTowns, kNoSpecial, JA_JPN },
+ { kKyra2, kPlatformFMTowns, kNoSpecial, KO_KOR },
{ kKyra2, kPlatformPC98, kNoSpecial, EN_ANY },
{ kKyra2, kPlatformPC98, kNoSpecial, JA_JPN },
diff --git a/devtools/create_kyradat/resources.cpp b/devtools/create_kyradat/resources.cpp
index 0659d41f6c1..9d498f20257 100644
--- a/devtools/create_kyradat/resources.cpp
+++ b/devtools/create_kyradat/resources.cpp
@@ -103,6 +103,7 @@
#include "resources/hof_fmtowns.h"
#include "resources/hof_fmtowns_english.h"
#include "resources/hof_fmtowns_japanese.h"
+#include "resources/hof_fmtowns_korean.h"
#include "resources/hof_pc98.h"
#include "resources/hof_pc98_english.h"
@@ -1377,6 +1378,7 @@ static const ResourceProvider resourceProviders[] = {
{ k2SeqplayTlkFiles, kKyra2, kPlatformDOS, kTalkieVersion, CS_CZE, &k2SeqplayTlkFilesDOSCDCzechProvider },
{ k2SeqplayStrings, kKyra2, kPlatformDOS, kTalkieVersion, KO_KOR, &k2SeqplayStringsDOSCDKoreanProvider },
{ k2SeqplayTlkFiles, kKyra2, kPlatformDOS, kTalkieVersion, KO_KOR, &k2SeqplayTlkFilesDOSCDKoreanProvider },
+ { k2SeqplayStrings, kKyra2, kPlatformFMTowns, kNoSpecial, KO_KOR, &k2SeqplayStringsFMTownsKoreanProvider},
{ k2SeqplayPakFiles, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2SeqplayPakFilesFMTownsProvider },
{ k2SeqplayStrings, kKyra2, kPlatformFMTowns, kNoSpecial, EN_ANY, &k2SeqplayStringsFMTownsEnglishProvider },
{ k2SeqplaySfxFiles, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2SeqplaySfxFilesFMTownsProvider },
diff --git a/devtools/create_kyradat/resources/hof_fmtowns_korean.h b/devtools/create_kyradat/resources/hof_fmtowns_korean.h
new file mode 100644
index 00000000000..4fbe04dacbd
--- /dev/null
+++ b/devtools/create_kyradat/resources/hof_fmtowns_korean.h
@@ -0,0 +1,110 @@
+static const char *const k2SeqplayStringsFMTownsKorean[105] = {
+ "\xC5\xB0\xB6\xF5\xB5\xF0\xBE\xC6\xB0\xA1 \xBB\xE7\xB6\xF3\xC1\xF6\xB0\xED \xC0\xD6\xB4\xD9!", // "í¤ëëìê° ì¬ë¼ì§ê³ ìë¤!"
+ "\xB9\xD9\xC0\xA7 \xC7\xCF\xB3\xAA\xC7\xCF\xB3\xAA...", // "ë°ì íëíë..."
+ "...\xB1\xD7\xB8\xAE\xB0\xED \xB3\xAA\xB9\xAB \xC7\xD1 \xB1\xD7\xB7\xE7 \xC7\xD1 \xB1\xD7\xB7\xE7.", // "...ê·¸ë¦¬ê³ ë무 í 그루 í 그루."
+ "\xC5\xB0\xB6\xF5\xB5\xF0\xBE\xC6\xB0\xA1 \xBC\xD2\xB8\xEA\xC7\xCF\xB0\xED \xC0\xD6\xB4\xD9!", // "í¤ëëìê° ì멸íê³ ìë¤!"
+ "\xBF\xD5\xB1\xC3 \xB8\xB6\xB9\xFD\xBB\xE7\xB5\xE9\xC0\xCC \xB4\xE7\xC8\xB2\xC7\xCF\xB0\xED \xC0\xD6\xB4\xD9.", // "ìê¶ ë§ë²ì¬ë¤ì´ ë¹í©íê³ ìë¤."
+ "\xB8\xF0\xB5\xE7 \xC2\xFC\xB0\xED\xB9\xAE\xC7\xE5\xC0\xBB \xB4\xD9 \xC3\xA3\xBE\xC6\xBA\xC3\xB4\xD9.", // "모ë ì°¸ê³ ë¬¸íì ë¤ ì°¾ìë´¤ë¤."
+ "\xB8\xB6\xB8\xA3\xC4\xDA\xBF\xCD \xB1\xD7\xC0\xC7 \xBB\xF5 \xBD\xC3\xC1\xBE\xB5\xB5 \xC8\xB8\xC0\xC7\xBF\xA1 \xC2\xFC\xBC\xAE\xC0\xCC \xC7\xE3\xB6\xF4\xB5\xC7\xBE\xFA\xB4\xD9.", // "ë§ë¥´ì½ì ê·¸ì ì ìì¢
ë íìì ì°¸ìì´ íë½ëìë¤."
+ "\xB4\xD9\xC7\xE0\xC8\xF7 \xBF\xEE\xB8\xED\xC0\xC7 \xBC\xD5\xC0\xBA \xC0\xCC\xB7\xB1 \xB9\xAE\xC1\xA6\xBF\xA1 \xB0\xE6\xC7\xE8\xC0\xCC \xC0\xD6\xBE\xFA\xB4\xD9.", // "ë¤íí ì´ëª
ì ìì ì´ë° 문ì ì ê²½íì´ ììë¤."
+ "\xB1\xD7\xB8\xAE\xB0\xED \xB8\xB6\xC4\xA7\xB3\xBB \xB0\xE8\xC8\xB9\xC0\xCC \xBD\xC2\xC0\xCE\xB5\xC7\xBE\xFA\xB4\xD9...", // "ê·¸ë¦¬ê³ ë§ì¹¨ë´ ê³íì´ ì¹ì¸ëìë¤..."
+ "...\xB8\xB6\xB9\xFD\xC0\xC7 \xB4\xE9\xB5\xB9\xC0\xBB...", // "...ë§ë²ì ë»ëì..."
+ "...\xBC\xBC\xBB\xF3\xC0\xC7 \xC1\xDF\xBD\xC9\xBF\xA1\xBC\xAD \xC3\xA3\xBE\xC6\xBF\xCD\xBE\xDF \xC7\xDF\xB4\xD9.", // "...ì¸ìì ì¤ì¬ìì ì°¾ììì¼ íë¤."
+ "\xC5\xB0\xB6\xF5\xB5\xF0\xBE\xC6 \xB8\xB6\xB9\xFD\xBB\xE7 \xC1\xDF \xB0\xA1\xC0\xE5 \xC0\xFE\xC0\xBA \xC0\xDC\xC6\xBC\xBE\xC6\xB0\xA1 \xB5\xB9\xC0\xBB \xC3\xA3\xB4\xC2 \xC0\xD3\xB9\xAB\xBF\xA1 \xBC\xB1\xC5\xC3\xB5\xC7\xBE\xFA\xB4\xD9.", // "í¤ëëì ë§ë²ì¬ ì¤ ê°ì¥ ì ì ìí°ìê° ëì ì°¾ë ì무ì ì íëìë¤."
+ "\xBF\xEE\xB8\xED\xC0\xC7 \xBC\xD5\xC0\xBB \xC7\xC3\xB7\xB9\xC0\xCC\xC7\xD8 \xC1\xD6\xBC\xC5\xBC\xAD \xB0\xA8\xBB\xE7\xC7\xD5\xB4\xCF\xB4\xD9.", // "ì´ëª
ì ìì íë ì´í´ 주ì
ì ê°ì¬í©ëë¤."
+ "\xC0\xCC \xC1\xA4\xB5\xB5 \xBA\xED\xB7\xE7\xBA\xA3\xB8\xAE\xB8\xE9 \xBC\xBC\xBB\xF3\xC0\xC7 \xC1\xDF\xBD\xC9\xC0\xB8\xB7\xCE \xB0\xA1\xB4\xC2 \xC6\xF7\xC5\xD0\xC0\xBB \xBF\xAD \xBC\xF6 \xC0\xD6\xC0\xBB \xB0\xC5\xBE\xDF.", // "ì´ ì ë ë¸ë£¨ë² 리면 ì¸ìì ì¤ì¬ì¼ë¡ ê°ë í¬í¸ì ì´ ì ìì ê±°ì¼."
+ " DUMMY STRING... ",
+ " DUMMY STRING... ",
+ "\xC0\xCC\xB7\xB1! \xB3\xBB \xC0\xE5\xBA\xF1\xB0\xA1 \xB4\xD9 \xB5\xB5\xB5\xCF\xB8\xC2\xBE\xD2\xBE\xEE!", // "ì´ë°! ë´ ì¥ë¹ê° ë¤ ëëë§ìì´!"
+ " DUMMY STRING... ",
+ "\xB3\xBB\xB0\xA1 \xC0\xFA \xBE\xC6\xB7\xA1\xB1\xEE\xC1\xF6 \xB0\xC9\xBE\xEE\xB0\xA5 \xB0\xC5\xB6\xF3\xB0\xED \xBB\xFD\xB0\xA2\xC7\xCF\xB8\xE9, \xB9\xCC\xC4\xA5 \xB0\xC5\xBE\xDF!", // "ë´ê° ì ìëê¹ì§ 걸ì´ê° ê±°ë¼ê³ ìê°íë©´, ë¯¸ì¹ ê±°ì¼!"
+ " DUMMY STRING... ",
+ " DUMMY STRING... ",
+ "\xBC\xAD\xB5\xD1\xB7\xAF \xC6\xC4\xBF\xEE!", // "ìëë¬ íì´!"
+ "\xBE\xDF, \xC5\xAB\xC0\xCF \xB3\xAF \xBB\xB7\xC7\xDF\xB3\xD7!", // "ì¼, í°ì¼ ë ë»íë¤!"
+ "\xB8\xC2\xBE\xC6. \xB3\xAA\xB4\xC2 \xB4\xD9\xBD\xC5 \xBB\xE7\xB3\xC9\xC0\xBA \xBE\xC8 \xB0\xA5 \xB0\xC5\xBE\xDF!", // "ë§ì. ëë ë¤ì ì¬ë¥ì ì ê° ê±°ì¼!"
+ "\xB0\xB3\xB1\xBC\xB0\xB3\xB1\xBC.", // "ê°êµ´ê°êµ´."
+ "\xB8\xEE \xB9\xF8\xC0\xBB \xB8\xBB\xC7\xD8\xBE\xDF \xBE\xCB\xBE\xC6\xB5\xE9\xBE\xEE? \xB3\xCA\xB4\xC2 \xB5\xCE\xB2\xA8\xBA\xF1\xB6\xF3\xB0\xED.", // "ëª ë²ì ë§í´ì¼ ììë¤ì´? ëë ë꺼ë¹ë¼ê³ ."
+ "\xC0\xCC\xB7\xB1! \xC4\xA1\xC1\xEE\xB0\xA1 \xB4\xD9 \xB6\xB3\xBE\xEE\xC1\xB3\xBE\xEE!", // "ì´ë°! ì¹ì¦ê° ë¤ ë¨ì´ì¡ì´!"
+ "\xC0\xCC \xB1\xCD\xC1\xF6\xB8\xA6 \xBD\xE1\xBA\xB8\xC0\xDA. \xC1\xD6\xC8\xB2\xBB\xF6\xC0\xCC\xB3\xD7.", // "ì´ ê·ì§ë¥¼ ì¨ë³´ì. 주í©ìì´ë¤."
+ "\xBE\xF6\xB8\xB6, \xB3\xAA\xB4\xC2 \xBE\xF0\xC1\xA6 \xB4\xE3\xC0\xEF\xC0\xCC\xB5\xA2\xB1\xBC\xC0\xBB \xB9\xDE\xBE\xC6\xBF\xE4?", // "ìë§, ëë ì¸ì ë´ìì´ë©êµ´ì ë°ìì?"
+ "\xC0\xFA\xB8\xAE \xBA\xF1\xC4\xD1, \xBD\xB5!", // "ì 리 ë¹ì¼, ì!"
+ "\xB3\xD7\xB0\xA1 \xC0\xDA\xB8\xA3\xB0\xED, \xB3\xBB\xB0\xA1 \xB0\xED\xB8\xA6\xB0\xD4.", // "ë¤ê° ìë¥´ê³ , ë´ê° ê³ ë¥¼ê²."
+ "\xBE\xC6\xB4\xCF. \xB3\xD7\xB0\xA1 \xC0\xDA\xB8\xA3\xB0\xED \xB3\xBB\xB0\xA1 \xB0\xED\xB8\xA6\xB0\xD4.", // "ìë. ë¤ê° ìë¥´ê³ ë´ê° ê³ ë¥¼ê²."
+ "\xBE\xC6\xC1\xF7\xB5\xB5 \xBE\xE2\xC6\xC5\xC7\xD1 \xB8\xF0\xB9\xE6\xC0\xDB\xC0\xCC\xB6\xF3\xB0\xED \xBB\xFD\xB0\xA2\xC7\xD8.", // "ìì§ë ìíí 모방ìì´ë¼ê³ ìê°í´."
+ "\xBE\xEE\xC8\xDE, \xB3\xCD \xBE\xFB\xB5\xA2\xC0\xCC\xB0\xA1 \xB9\xB0\xB7\xC1\xB5\xB5 5\xC0\xBD\xBA\xB8\xB0\xDD\xC0\xCC \xB9\xBA\xC1\xF6 \xB8\xF8 \xBE\xCB\xBE\xC6\xB5\xE9\xC0\xBB \xB0\xC5\xBE\xDF!", // "ì´í´, ë ìë©ì´ê° ë¬¼ë ¤ë 5ìë³´ê²©ì´ ëì§ ëª» ììë¤ì ê±°ì¼!"
+ "Executive Producer",
+ "Brett W. Sperry",
+ "Designed & Directed by",
+ "Rick Gush",
+ "Lead Programmer",
+ "Michael Legg",
+ "Art Management",
+ "Louis Castle",
+ "Joseph B. Hewitt IV",
+ "Lead Artist",
+ "Rick Parks",
+ "Additional Coding by",
+ "Philip W. Gorrow",
+ "Matt Collins",
+ "Mark McCubbin",
+ "Artists",
+ "Cameron Chun",
+ "Cary Averett",
+ "Cindy Chinn",
+ "Elie Arabian",
+ "Fei Cheng",
+ "Ferby Miguel",
+ "Frank Mendeola",
+ "Jack Martin",
+ "Jerry Moore",
+ "",
+ "Judith Peterson",
+ "Larry Miller",
+ "Lenny Lee",
+ "Louise Sandoval",
+ "Ren Olsen",
+ "Music & Sounds by",
+ "Paul Mudra",
+ "Frank Klepacki",
+ "Dwight Okahara",
+ "Pat Collins",
+ "Qualilty Assurance by",
+ "Glenn Sperry",
+ "Michael Lightner",
+ "William Foster",
+ "Jesse Clemit",
+ "Jeff Fillhaber",
+ "Manual, Package Design",
+ "& Fulfillment",
+ "Eydie Laramore",
+ "Lisa Marcinko",
+ "Lauren Rifkin",
+ "\xC3\xE0\xC7\xCF\xC7\xD5\xB4\xCF\xB4\xD9!", // "ì¶íí©ëë¤!"
+ "\xBF\xEE\xB8\xED\xC0\xC7 \xBC\xD5\xC0\xBB \xC7\xC3\xB7\xB9\xC0\xCC\xC7\xD8 \xC1\xD6\xBC\xC5\xBC\xAD \xB0\xA8\xBB\xE7\xC7\xD5\xB4\xCF\xB4\xD9!", // "ì´ëª
ì ìì íë ì´í´ 주ì
ì ê°ì¬í©ëë¤!"
+ "Guest Coding",
+ "Producer Liaison",
+ "Scott Duckett",
+ "Irvine Testers",
+ "Chris McFarland",
+ "Paul Moore",
+ "Chad Soares",
+ "Jared Brinkley",
+ "Jon Willliams",
+ "Chris Toft",
+ "Chris's Hair by",
+ "Cumulo Nimbus",
+ "\xB0\xD4\xC0\xD3 \xBA\xD2\xB7\xAF\xBF\xC0\xB1\xE2", // "ê²ì ë¶ë¬ì¤ê¸°"
+ "\xC0\xCE\xC6\xAE\xB7\xCE \xBA\xB8\xB1\xE2", // "ì¸í¸ë¡ 보기"
+ "\xBB\xF5 \xB0\xD4\xC0\xD3 \xBD\xC3\xC0\xDB", // "ì ê²ì ìì"
+ "\xB0\xD4\xC0\xD3 \xC1\xBE\xB7\xE1", // "ê²ì ì¢
ë£"
+ "Special Thanks to",
+ "Sake Joe Bostic-san",
+ "Tim Fritz",
+ "Kenny Dunne",
+ "Yukio Sekiguchi (Japan)",
+ "Takeshi Abo (Japan)"
+};
+
+static const StringListProvider k2SeqplayStringsFMTownsKoreanProvider = { ARRAYSIZE(k2SeqplayStringsFMTownsKorean), k2SeqplayStringsFMTownsKorean };
+
diff --git a/dists/engine-data/kyra.dat b/dists/engine-data/kyra.dat
index 2edacd78311..c27383c0f5b 100644
Binary files a/dists/engine-data/kyra.dat and b/dists/engine-data/kyra.dat differ
diff --git a/engines/kyra/resource/staticres.cpp b/engines/kyra/resource/staticres.cpp
index 37778950da6..ab227f56afc 100644
--- a/engines/kyra/resource/staticres.cpp
+++ b/engines/kyra/resource/staticres.cpp
@@ -157,34 +157,6 @@ bool StaticResource::loadStaticResourceFile() {
if (!res->loadPakFile(staticDataFilename(), *i))
continue;
- // Fan translations (e.g. Korean) may provide only a subset of
- // resources in kyra.dat (e.g. intro strings). Load the base
- // (replaced) language first, then merge fan language entries on
- // top â only replacing IDs that the fan language provides.
- if (_vm->gameFlags().fanLang != Common::UNK_LANG &&
- _vm->gameFlags().replacedLang != Common::UNK_LANG) {
- if ((setLanguage(_vm->gameFlags().replacedLang) && prefetchId(-1))) {
- foundWorkingKyraDat = true;
- // Merge: load the fan language ID map WITHOUT clearing
- // existing _dataTable entries, then reload only the
- // IDs that changed.
- Common::SeekableReadStream *fanMap = loadIdMap(_vm->gameFlags().fanLang);
- if (fanMap) {
- int numIDs = fanMap->readUint16BE();
- while (numIDs--) {
- uint16 id2 = fanMap->readUint16BE();
- uint8 type = fanMap->readByte();
- uint32 filename = fanMap->readUint32BE();
- _dataTable[id2] = DataDescriptor(filename, type);
- unloadId(id2);
- prefetchId(id2);
- }
- delete fanMap;
- }
- break;
- }
- }
-
if ((setLanguage(_vm->gameFlags().lang) && prefetchId(-1))) {
foundWorkingKyraDat = true;
break;
More information about the Scummvm-git-logs
mailing list