CRYOMNI3D: Add Korean version of Versailles

This commit is contained in:
Le Philousophe 2019-11-24 11:25:42 +01:00
parent b40d3ca55f
commit cb4c1a72ba
9 changed files with 1168 additions and 0 deletions

View File

@ -55,6 +55,7 @@ DEFINE_GAME_PLATFORM_LANG_FUNCS(Versailles, ALL, DE)
DEFINE_GAME_PLATFORM_LANG_FUNCS(Versailles, ALL, EN)
DEFINE_GAME_PLATFORM_LANG_FUNCS(Versailles, ALL, ES)
DEFINE_GAME_PLATFORM_LANG_FUNCS(Versailles, ALL, IT)
DEFINE_GAME_PLATFORM_LANG_FUNCS(Versailles, ALL, KO)
DEFINE_GAME_PLATFORM_LANG_FUNCS(Versailles, ALL, ZT)
static Parts gamesParts[] = {
@ -64,6 +65,7 @@ static Parts gamesParts[] = {
GAME_PLATFORM_LANG_PART(Versailles, ALL, EN),
GAME_PLATFORM_LANG_PART(Versailles, ALL, ES),
GAME_PLATFORM_LANG_PART(Versailles, ALL, IT),
GAME_PLATFORM_LANG_PART(Versailles, ALL, KO),
GAME_PLATFORM_LANG_PART(Versailles, ALL, ZT),
};

View File

@ -44,6 +44,7 @@ size_t writeGameHeader(FILE *f, uint32 gameId, uint16 version, uint16 lang, uint
#define LANG_ES MKTAG16('e', 's')
#define LANG_FR MKTAG16('f', 'r')
#define LANG_IT MKTAG16('i', 't')
#define LANG_KO MKTAG16('k', 'o')
#define LANG_ZT MKTAG16('z', 't') // ZH_TWN
#endif

View File

@ -123,4 +123,5 @@ DEFINE_FUNCS(DE)
DEFINE_FUNCS(EN)
DEFINE_FUNCS(ES)
DEFINE_FUNCS(IT)
DEFINE_FUNCS_CJK(KO)
DEFINE_FUNCS_CJK(ZT)

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -127,6 +127,8 @@ uint16 DATSeekableStream::translateLanguage(Common::Language lang) {
return MKTAG16('f', 'r');
case Common::IT_ITA:
return MKTAG16('i', 't');
case Common::KO_KOR:
return MKTAG16('k', 'o');
case Common::PT_BRA:
return MKTAG16('b', 'r');
case Common::ZH_TWN:

View File

@ -450,6 +450,40 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
/* GF_VERSAILLES_FONTS_ | */ GF_VERSAILLES_AUDIOPADDING_YES,
},
// Versailles 1685
// Korean Windows compressed from DVD
// From lePhilousophe
{
{
"versailles",
"",
VERSAILLES_ENTRY_DEF("PROGRAM.Z", "ffb7599d042fb71f22ab4d76a2e0147f", 244155),
Common::KO_KOR,
Common::kPlatformWindows,
ADGF_NO_FLAGS,
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
/* GF_VERSAILLES_FONTS_ | */ GF_VERSAILLES_AUDIOPADDING_YES,
},
// Versailles 1685
// Korean Windows from DVD
// From lePhilousophe
{
{
"versailles",
"",
VERSAILLES_ENTRY_DEF("VERSAILL.EXE", "549c588e05df8d42b531ffc9b2796303", 355840),
Common::KO_KOR,
Common::kPlatformWindows,
ADGF_NO_FLAGS,
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
/* GF_VERSAILLES_FONTS_ | */ GF_VERSAILLES_AUDIOPADDING_YES,
},
{ AD_TABLE_END_MARKER, 0, 0 }
};

View File

@ -292,6 +292,9 @@ void CryOmni3DEngine_Versailles::setupFonts() {
_fontManager.loadFonts(fonts, Common::kWindows950);
return;
} else if (getLanguage() == Common::KO_KOR) {
_fontManager.loadTTFList("FONTS_KR.LST", Common::kWindows949);
return;
}
// Code below is for SBCS encodings (ie. non CJK)

View File

@ -49,6 +49,7 @@ void CryOmni3DEngine_Versailles::drawMenuTitle(Graphics::ManagedSurface *surface
int titleX, titleY, subtitleX, subtitleY;
if (getLanguage() == Common::FR_FRA ||
getLanguage() == Common::ES_ESP ||
getLanguage() == Common::KO_KOR ||
getLanguage() == Common::PT_BRA) {
titleX = 144;
titleY = 160;
@ -82,6 +83,7 @@ void CryOmni3DEngine_Versailles::drawMenuTitle(Graphics::ManagedSurface *surface
if (getLanguage() == Common::FR_FRA ||
getLanguage() == Common::ES_ESP ||
getLanguage() == Common::KO_KOR ||
getLanguage() == Common::PT_BRA ||
getLanguage() == Common::ZH_TWN) {
surface->vLine(100, 146, 172, color);