CRYOMNI3D: Add Japanese version of Versailles
This commit is contained in:
parent
cb4c1a72ba
commit
39f6d8e7ed
10 changed files with 1314 additions and 2 deletions
|
@ -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, JA)
|
||||
DEFINE_GAME_PLATFORM_LANG_FUNCS(Versailles, ALL, KO)
|
||||
DEFINE_GAME_PLATFORM_LANG_FUNCS(Versailles, ALL, ZT)
|
||||
|
||||
|
@ -65,6 +66,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, JA),
|
||||
GAME_PLATFORM_LANG_PART(Versailles, ALL, KO),
|
||||
GAME_PLATFORM_LANG_PART(Versailles, ALL, ZT),
|
||||
};
|
||||
|
|
|
@ -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_JA MKTAG16('j', 'a')
|
||||
#define LANG_KO MKTAG16('k', 'o')
|
||||
#define LANG_ZT MKTAG16('z', 't') // ZH_TWN
|
||||
|
||||
|
|
|
@ -102,6 +102,10 @@ size_t writeVersaillesSubtitles16(FILE *fp, Subtitle const *subtitles, uint16 el
|
|||
size += writeString16(f, versailles ## lang ## EpilMsg); \
|
||||
size += writeString16(f, versailles ## lang ## EpilPwd); \
|
||||
\
|
||||
if ((LANG_ ## lang == LANG_JA)) { \
|
||||
assert(VERSAILLES_JA_BOMB_ALPHABET_SIZE + 1 == sizeof(versaillesJABombAlphabet)); \
|
||||
size += writeString16(f, versaillesJABombAlphabet); \
|
||||
} \
|
||||
size += writeString16(f, versailles ## lang ## BombPwd); \
|
||||
\
|
||||
assert(VERSAILLES_MESSAGES_COUNT_CJK == ARRAYSIZE(versailles ## lang ## messages)); \
|
||||
|
@ -123,5 +127,6 @@ DEFINE_FUNCS(DE)
|
|||
DEFINE_FUNCS(EN)
|
||||
DEFINE_FUNCS(ES)
|
||||
DEFINE_FUNCS(IT)
|
||||
DEFINE_FUNCS_CJK(JA)
|
||||
DEFINE_FUNCS_CJK(KO)
|
||||
DEFINE_FUNCS_CJK(ZT)
|
||||
|
|
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
@ -127,6 +127,8 @@ uint16 DATSeekableStream::translateLanguage(Common::Language lang) {
|
|||
return MKTAG16('f', 'r');
|
||||
case Common::IT_ITA:
|
||||
return MKTAG16('i', 't');
|
||||
case Common::JA_JPN:
|
||||
return MKTAG16('j', 'a');
|
||||
case Common::KO_KOR:
|
||||
return MKTAG16('k', 'o');
|
||||
case Common::PT_BRA:
|
||||
|
|
|
@ -484,6 +484,40 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
|
|||
/* GF_VERSAILLES_FONTS_ | */ GF_VERSAILLES_AUDIOPADDING_YES,
|
||||
},
|
||||
|
||||
// Versailles 1685
|
||||
// Japanese Windows compressed from DVD
|
||||
// From lePhilousophe
|
||||
{
|
||||
{
|
||||
"versailles",
|
||||
"",
|
||||
VERSAILLES_ENTRY_DEF("PROGRAM.Z", "1944d7c30dbb25ab10f684422e196c16", 248700),
|
||||
Common::JA_JPN,
|
||||
Common::kPlatformWindows,
|
||||
ADGF_NO_FLAGS,
|
||||
GUI_OPTIONS_VERSAILLES
|
||||
},
|
||||
GType_VERSAILLES,
|
||||
/* GF_VERSAILLES_FONTS_ | */ GF_VERSAILLES_AUDIOPADDING_YES,
|
||||
},
|
||||
|
||||
// Versailles 1685
|
||||
// Japanese Windows from DVD
|
||||
// From lePhilousophe
|
||||
{
|
||||
{
|
||||
"versailles",
|
||||
"",
|
||||
VERSAILLES_ENTRY_DEF("VERSAILL.EXE", "b7dadaf14cc5783e235125f9d6f6adea", 358912),
|
||||
Common::JA_JPN,
|
||||
Common::kPlatformWindows,
|
||||
ADGF_NO_FLAGS,
|
||||
GUI_OPTIONS_VERSAILLES
|
||||
},
|
||||
GType_VERSAILLES,
|
||||
/* GF_VERSAILLES_FONTS_ | */ GF_VERSAILLES_AUDIOPADDING_YES,
|
||||
},
|
||||
|
||||
{ AD_TABLE_END_MARKER, 0, 0 }
|
||||
};
|
||||
|
||||
|
|
|
@ -101,8 +101,14 @@ void CryOmni3DEngine_Versailles::loadStaticData() {
|
|||
// epigraph settings, bomb password
|
||||
_epigraphContent = data->readString16();
|
||||
_epigraphPassword = data->readString16();
|
||||
|
||||
if (getLanguage() == Common::JA_JPN) {
|
||||
_bombAlphabet = data->readString16().decode(Common::kWindows932);
|
||||
_bombPassword = data->readString16().decode(Common::kWindows932);
|
||||
} else {
|
||||
_bombAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ '";
|
||||
_bombPassword = data->readString16();
|
||||
}
|
||||
|
||||
// messages, paintings titles
|
||||
data->readString16Array16(_messages);
|
||||
|
|
|
@ -292,6 +292,9 @@ void CryOmni3DEngine_Versailles::setupFonts() {
|
|||
|
||||
_fontManager.loadFonts(fonts, Common::kWindows950);
|
||||
return;
|
||||
} else if (getLanguage() == Common::JA_JPN) {
|
||||
_fontManager.loadTTFList("FONTS_JP.LST", Common::kWindows932);
|
||||
return;
|
||||
} else if (getLanguage() == Common::KO_KOR) {
|
||||
_fontManager.loadTTFList("FONTS_KR.LST", Common::kWindows949);
|
||||
return;
|
||||
|
@ -690,6 +693,22 @@ void CryOmni3DEngine_Versailles::playTransitionEndLevel(int level) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (level == -2) {
|
||||
if (getLanguage() == Common::JA_JPN && Common::File::exists("jvclogo.hnm")) {
|
||||
// Display one more copyright
|
||||
playHNM("jvclogo.hnm", Audio::Mixer::kMusicSoundType);
|
||||
clearKeys();
|
||||
if (shouldAbort()) {
|
||||
return;
|
||||
}
|
||||
|
||||
fadeOutPalette();
|
||||
if (shouldAbort()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Display back cursor there once the palette has been zeroed
|
||||
showMouse(cursorWasVisible);
|
||||
|
||||
|
|
|
@ -60,6 +60,11 @@ void CryOmni3DEngine_Versailles::drawMenuTitle(Graphics::ManagedSurface *surface
|
|||
titleY = 80;
|
||||
subtitleX = 283;
|
||||
subtitleY = 80;
|
||||
} else if (getLanguage() == Common::JA_JPN) {
|
||||
titleX = 144;
|
||||
titleY = 125;
|
||||
subtitleX = 144;
|
||||
subtitleY = 145;
|
||||
} else if (getLanguage() == Common::ZH_TWN) {
|
||||
titleX = 130;
|
||||
titleY = 160;
|
||||
|
@ -340,6 +345,8 @@ uint CryOmni3DEngine_Versailles::displayOptions() {
|
|||
} else if (getLanguage() == Common::ES_ESP ||
|
||||
getLanguage() == Common::IT_ITA) {
|
||||
rct = Common::Rect(250, 420, 530, 465);
|
||||
} else if (getLanguage() == Common::JA_JPN) {
|
||||
rct = Common::Rect(245, 420, 505, 465);
|
||||
} else {
|
||||
rct = Common::Rect(235, 420, 505, 465);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue