mirror of
https://github.com/libretro/scummvm.git
synced 2025-04-03 07:11:49 +00:00
KYRA: (MR/Traditional Chinese) - add support
This commit is contained in:
parent
90bc15db39
commit
ece7e26b41
@ -39,7 +39,7 @@
|
||||
|
||||
|
||||
enum {
|
||||
kKyraDatVersion = 110
|
||||
kKyraDatVersion = 111
|
||||
};
|
||||
|
||||
const ExtractFilename extractFilenames[] = {
|
||||
@ -1191,15 +1191,16 @@ byte getGameID(int game) {
|
||||
|
||||
const TypeTable languageTable[] = {
|
||||
{ UNK_LANG, 0 },
|
||||
{ EN_ANY, 1 },
|
||||
{ FR_FRA, 2 },
|
||||
{ DE_DEU, 3 },
|
||||
{ ES_ESP, 4 },
|
||||
{ IT_ITA, 5 },
|
||||
{ JA_JPN, 6 },
|
||||
{ RU_RUS, 7 },
|
||||
{ HE_ISR, 8 },
|
||||
{ ZH_CNA, 9 },
|
||||
{ EN_ANY, 1 },
|
||||
{ FR_FRA, 2 },
|
||||
{ DE_DEU, 3 },
|
||||
{ ES_ESP, 4 },
|
||||
{ IT_ITA, 5 },
|
||||
{ JA_JPN, 6 },
|
||||
{ RU_RUS, 7 },
|
||||
{ HE_ISR, 8 },
|
||||
{ ZH_CNA, 9 },
|
||||
{ ZH_TWN, 10 },
|
||||
{ -1, -1 }
|
||||
};
|
||||
|
||||
|
@ -100,6 +100,7 @@ const Game kyra3Games[] = {
|
||||
{ kKyra3, kPlatformDOS, kTalkieVersion, ES_ESP },
|
||||
{ kKyra3, kPlatformDOS, kTalkieVersion, RU_RUS },
|
||||
{ kKyra3, kPlatformDOS, kTalkieVersion, ZH_CNA },
|
||||
{ kKyra3, kPlatformDOS, kTalkieVersion, ZH_TWN },
|
||||
|
||||
GAME_DUMMY_ENTRY
|
||||
};
|
||||
|
@ -100,6 +100,7 @@
|
||||
#include "resources/mr_dos_cd_spanish.h"
|
||||
#include "resources/mr_dos_cd_russian.h"
|
||||
#include "resources/mr_dos_cd_chinese_simplified.h"
|
||||
#include "resources/mr_dos_cd_chinese_trad.h"
|
||||
|
||||
// Eye of the Beholder
|
||||
#include "resources/eob1_dos.h"
|
||||
@ -1022,6 +1023,7 @@ static const ResourceProvider resourceProviders[] = {
|
||||
{ k3MainMenuStrings, kKyra3, kPlatformDOS, kTalkieVersion, ES_ESP, &k3MainMenuStringsDOSCDSpanishProvider },
|
||||
{ k3MainMenuStrings, kKyra3, kPlatformDOS, kTalkieVersion, RU_RUS, &k3MainMenuStringsDOSCDRussianProvider },
|
||||
{ k3MainMenuStrings, kKyra3, kPlatformDOS, kTalkieVersion, ZH_CNA, &k3MainMenuStringsDOSCDChineseSmplProvider },
|
||||
{ k3MainMenuStrings, kKyra3, kPlatformDOS, kTalkieVersion, ZH_TWN, &k3MainMenuStringsDOSCDChineseTradProvider },
|
||||
{ k3MusicFiles, kKyra3, kPlatformDOS, kTalkieVersion, UNK_LANG, &k3MusicFilesDOSCDProvider },
|
||||
{ k3ScoreTable, kKyra3, kPlatformDOS, kTalkieVersion, UNK_LANG, &k3ScoreTableDOSCDProvider },
|
||||
{ k3SfxFiles, kKyra3, kPlatformDOS, kTalkieVersion, UNK_LANG, &k3SfxFilesDOSCDProvider },
|
||||
@ -1036,6 +1038,7 @@ static const ResourceProvider resourceProviders[] = {
|
||||
{ k3FontData, kKyra3, kPlatformDOS, kTalkieVersion, ES_ESP, &k3DummyDataDOSCDProvider },
|
||||
{ k3FontData, kKyra3, kPlatformDOS, kTalkieVersion, RU_RUS, &k3DummyDataDOSCDProvider },
|
||||
{ k3FontData, kKyra3, kPlatformDOS, kTalkieVersion, ZH_CNA, &k3FontDataDOSCDChineseSmplProvider },
|
||||
{ k3FontData, kKyra3, kPlatformDOS, kTalkieVersion, ZH_TWN, &k3FontDataDOSCDChineseTradProvider },
|
||||
{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, EN_ANY, &k3VqaSubtitlesIntroDOSCDEnglishProvider },
|
||||
{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, FR_FRA, &k3VqaSubtitlesIntroDOSCDFrenchProvider },
|
||||
{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, DE_DEU, &k3VqaSubtitlesIntroDOSCDGermanProvider },
|
||||
@ -1043,6 +1046,7 @@ static const ResourceProvider resourceProviders[] = {
|
||||
{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, ES_ESP, &k3VqaSubtitlesIntroDOSCDSpanishProvider },
|
||||
{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, RU_RUS, &k3VqaSubtitlesIntroDOSCDRussianProvider },
|
||||
{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, ZH_CNA, &k3VqaSubtitlesIntroDOSCDChineseSmplProvider },
|
||||
{ k3VqaSubtitlesIntro, kKyra3, kPlatformDOS, kTalkieVersion, ZH_TWN, &k3VqaSubtitlesIntroDOSCDChineseTradProvider },
|
||||
{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, EN_ANY, &k3VqaSubtitlesBoatDOSCDEnglishProvider },
|
||||
{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, FR_FRA, &k3VqaSubtitlesBoatDOSCDFrenchProvider },
|
||||
{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, DE_DEU, &k3VqaSubtitlesBoatDOSCDGermanProvider },
|
||||
@ -1050,6 +1054,7 @@ static const ResourceProvider resourceProviders[] = {
|
||||
{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, ES_ESP, &k3VqaSubtitlesBoatDOSCDSpanishProvider },
|
||||
{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, RU_RUS, &k3VqaSubtitlesBoatDOSCDRussianProvider },
|
||||
{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, ZH_CNA, &k3VqaSubtitlesBoatDOSCDChineseSmplProvider },
|
||||
{ k3VqaSubtitlesBoat, kKyra3, kPlatformDOS, kTalkieVersion, ZH_TWN, &k3VqaSubtitlesBoatDOSCDChineseTradProvider },
|
||||
{ kEoBBaseNpcPresetsNames, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1NpcPresetsNamesDOSEnglishProvider },
|
||||
{ kEoBBaseChargenStrings1, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ChargenStrings1DOSEnglishProvider },
|
||||
{ kEoBBaseChargenStrings2, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ChargenStrings2DOSEnglishProvider },
|
||||
|
251
devtools/create_kyradat/resources/mr_dos_cd_chinese_trad.h
Normal file
251
devtools/create_kyradat/resources/mr_dos_cd_chinese_trad.h
Normal file
@ -0,0 +1,251 @@
|
||||
static const char *const k3MainMenuStringsDOSCDChineseTrad[4] = {
|
||||
"\x86\xa3\x87\xa3\x88\xa3\x89\xa3\x8a\xa3",
|
||||
"\x8b\xa3"" ""\x8c\xa3"" ""\x8d\xa3"" ""\x8e\xa3",
|
||||
"\x8f\xa3\x90\xa3\x89\xa3\x8a\xa3\x91\xa3\x92\xa3",
|
||||
"\x93\xa3"" ""\x94\xa3"" ""\x89\xa3"" ""\x8a\xa3"
|
||||
};
|
||||
|
||||
static const StringListProvider k3MainMenuStringsDOSCDChineseTradProvider = { ARRAYSIZE(k3MainMenuStringsDOSCDChineseTrad), k3MainMenuStringsDOSCDChineseTrad };
|
||||
|
||||
static const char *const k3VqaSubtitlesIntroDOSCDChineseTrad[] = {
|
||||
""// TODO
|
||||
};
|
||||
|
||||
static const StringListProvider k3VqaSubtitlesIntroDOSCDChineseTradProvider = { ARRAYSIZE(k3VqaSubtitlesIntroDOSCDChineseTrad), k3VqaSubtitlesIntroDOSCDChineseTrad };
|
||||
|
||||
static const char *const k3VqaSubtitlesBoatDOSCDChineseTrad[] = {
|
||||
""// TODO
|
||||
};
|
||||
|
||||
static const StringListProvider k3VqaSubtitlesBoatDOSCDChineseTradProvider = { ARRAYSIZE(k3VqaSubtitlesBoatDOSCDChineseTrad), k3VqaSubtitlesBoatDOSCDChineseTrad };
|
||||
|
||||
static const byte k3FontDataDOSCDChineseTrad[1806] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3e, 0x41, 0x55, 0x55, 0x41, 0x63, 0x5d, 0x41,
|
||||
0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x7f,
|
||||
0x6b, 0x6b, 0x7f, 0x5d, 0x63, 0x7f, 0x3e, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x22, 0x77, 0x7f, 0x7f,
|
||||
0x3e, 0x3e, 0x1c, 0x1c, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x08, 0x1c, 0x1c, 0x3e, 0x7f, 0x3e,
|
||||
0x1c, 0x1c, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x3e, 0x1c, 0x2a, 0x7f, 0x7f, 0x2a, 0x08,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1c,
|
||||
0x3e, 0x3e, 0x7f, 0x7f, 0x7f, 0x2a, 0x1c, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,
|
||||
0x3c, 0x3c, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xff, 0xff, 0xff, 0xe7, 0xc3, 0xc3,
|
||||
0xc3, 0xe7, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x18, 0x24, 0x24, 0x24, 0x18,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
|
||||
0xff, 0xe7, 0xdb, 0xdb, 0xdb, 0xe7, 0xff, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1f, 0x05, 0x09, 0x10,
|
||||
0x20, 0x3c, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x1c, 0x22, 0x22, 0x1c, 0x08, 0x08,
|
||||
0x3e, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x14, 0x14, 0x12, 0x10, 0x10, 0x10, 0x30,
|
||||
0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x12,
|
||||
0x19, 0x15, 0x13, 0x31, 0x71, 0x63, 0x06, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x5d, 0x22,
|
||||
0x63, 0x22, 0x5d, 0x08, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x20, 0x38, 0x3c, 0x3e, 0x3f, 0x3e,
|
||||
0x3c, 0x38, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x02, 0x0e, 0x1e, 0x3e, 0x7e, 0x3e, 0x1e, 0x0e,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x3e,
|
||||
0x7f, 0x1c, 0x1c, 0x1c, 0x7f, 0x3e, 0x08, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x24, 0x24,
|
||||
0x24, 0x24, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x1f, 0x49, 0x49, 0x59, 0x29, 0x09,
|
||||
0x09, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x20, 0x1c, 0x22, 0x22, 0x22, 0x1c, 0x02,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x3e, 0x1c, 0x1c,
|
||||
0x1c, 0x3e, 0x1c, 0x08, 0x7f, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x08, 0x3e, 0x7f, 0x1c, 0x1c, 0x1c,
|
||||
0x1c, 0x1c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x7f, 0x3e,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
|
||||
0x0c, 0x06, 0x7f, 0x06, 0x0c, 0x08, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0x30,
|
||||
0x7f, 0x30, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60,
|
||||
0x60, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x22, 0x63, 0x7f, 0x63, 0x22, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1c,
|
||||
0x1c, 0x1c, 0x3e, 0x3e, 0x3e, 0x7f, 0x7f, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x3e, 0x3e,
|
||||
0x3e, 0x1c, 0x1c, 0x1c, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66,
|
||||
0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x7e, 0x24,
|
||||
0x24, 0x24, 0x7e, 0x24, 0x24, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x08, 0x3e, 0x41, 0x40, 0x3e, 0x01,
|
||||
0x41, 0x3e, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x31, 0x4a, 0x4c, 0x34, 0x08, 0x16, 0x19, 0x29,
|
||||
0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44,
|
||||
0x28, 0x10, 0x28, 0x48, 0x45, 0x42, 0x3d, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x10, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x02, 0x04, 0x08, 0x08, 0x08, 0x10, 0x10, 0x10,
|
||||
0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x20, 0x10,
|
||||
0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04,
|
||||
0x08, 0x08, 0x08, 0x10, 0x00, 0x00, 0x00, 0x22,
|
||||
0x14, 0x08, 0x7f, 0x08, 0x14, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08,
|
||||
0x7f, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x30, 0x30, 0x10, 0x20, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04,
|
||||
0x08, 0x08, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xce, 0xd6, 0xe6,
|
||||
0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x18, 0x38, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6,
|
||||
0xc6, 0x06, 0x1c, 0x70, 0xc0, 0xc0, 0xfe, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0x06,
|
||||
0x3c, 0x06, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x3c, 0x6c, 0x6c, 0xcc, 0xcc, 0xcc,
|
||||
0xcc, 0xfe, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xfe, 0xc0, 0xc0, 0xc0, 0xfc, 0x06, 0xc6, 0xc6,
|
||||
0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6,
|
||||
0xc6, 0xc0, 0xfc, 0xc6, 0xc6, 0xc6, 0x7c, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xfe, 0xc6, 0xc6, 0x0c,
|
||||
0x18, 0x18, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0xc6,
|
||||
0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x7c, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0xc6, 0xc6,
|
||||
0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
|
||||
0x00, 0x18, 0x18, 0x08, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x04, 0x08, 0x10, 0x20, 0x10,
|
||||
0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x7e, 0x00, 0x7e, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
|
||||
0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x06, 0x0c,
|
||||
0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x1c, 0x42, 0x4e, 0x52, 0x52, 0x52,
|
||||
0x4c, 0x40, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6,
|
||||
0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xc6,
|
||||
0xc6, 0xc6, 0xfc, 0xc6, 0xc6, 0xc6, 0xfc, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc0,
|
||||
0xc0, 0xc0, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xfc, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x7e, 0xc0, 0xc0, 0xc0, 0xfc, 0xc0, 0xc0, 0xc0,
|
||||
0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xc0,
|
||||
0xc0, 0xc0, 0xfc, 0xc0, 0xc0, 0xc0, 0xc0, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc0,
|
||||
0xce, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xfe, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06,
|
||||
0x06, 0x06, 0x06, 0x06, 0xc6, 0xc6, 0x7c, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xcc, 0xd8,
|
||||
0xf8, 0xd8, 0xcc, 0xc6, 0xc6, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
|
||||
0xc0, 0xc0, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc6, 0xc6, 0xee, 0xfe, 0xd6, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6,
|
||||
0xe6, 0xf6, 0xde, 0xce, 0xc6, 0xc6, 0xc6, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xfc, 0xc6, 0xc6, 0xc6, 0xfc, 0xc0,
|
||||
0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xcc,
|
||||
0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xc6,
|
||||
0xc6, 0xc6, 0xfc, 0xcc, 0xcc, 0xc6, 0xc6, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc0,
|
||||
0x7c, 0x06, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6,
|
||||
0xc6, 0x6c, 0x6c, 0x6c, 0x38, 0x38, 0x38, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0xd6, 0xfe, 0xee, 0xc6, 0xc6, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xc6, 0xc6, 0x6c, 0x6c, 0x38, 0x6c,
|
||||
0x6c, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xcc, 0xcc, 0xcc, 0xcc, 0x78, 0x30, 0x30, 0x30,
|
||||
0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x06,
|
||||
0x0c, 0x58, 0x38, 0x34, 0x60, 0xc0, 0xfe, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0e, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x40, 0x20, 0x20, 0x10, 0x10, 0x08,
|
||||
0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x70, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x22,
|
||||
0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x18, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x7c, 0x06, 0x7e, 0xc6, 0xc6,
|
||||
0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0,
|
||||
0xc0, 0xfc, 0xc6, 0xc6, 0xc6, 0xc6, 0xfc, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c,
|
||||
0xc6, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x06, 0x06, 0x06, 0x7e, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xfe, 0xc0,
|
||||
0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x36,
|
||||
0x30, 0x30, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c,
|
||||
0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0xc6, 0x7c, 0x00,
|
||||
0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xfc, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
|
||||
0x0c, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc,
|
||||
0x78, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc6, 0xcc,
|
||||
0xd8, 0xf0, 0xd8, 0xcc, 0xc6, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
0x18, 0x18, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xc6, 0xee, 0xfe, 0xd6, 0xc6,
|
||||
0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xfc, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c,
|
||||
0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xc6, 0xc6,
|
||||
0xc6, 0xfc, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x7e, 0xc6, 0xc6, 0xc6, 0x7e,
|
||||
0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x6c, 0x76, 0x66, 0x60, 0x60, 0x60, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c,
|
||||
0xc6, 0x70, 0x1c, 0xc6, 0x7c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x30, 0x30, 0x30, 0xfc, 0x30, 0x30,
|
||||
0x30, 0x30, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc6, 0xc6, 0x6c, 0x6c, 0x38, 0x38, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6,
|
||||
0xc6, 0xd6, 0xfe, 0xee, 0xc6, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x6c, 0x30,
|
||||
0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e,
|
||||
0x06, 0x0c, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xfe, 0x06, 0x1c, 0x70, 0xc0, 0xfe, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x04, 0x04,
|
||||
0x04, 0x08, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
|
||||
0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x20, 0x20,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x46,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x14,
|
||||
0x22, 0x22, 0x41, 0x41, 0x7f, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc0,
|
||||
0xc0, 0xc6, 0x7c, 0x08, 0x38, 0x00
|
||||
};
|
||||
|
||||
static const ByteProvider k3FontDataDOSCDChineseTradProvider = { ARRAYSIZE(k3FontDataDOSCDChineseTrad), k3FontDataDOSCDChineseTrad };
|
Binary file not shown.
@ -992,20 +992,6 @@ const KYRAGameDescription adGameDescs[] = {
|
||||
KYRA3_CD_FLAGS
|
||||
},
|
||||
|
||||
{ // Provided by AquariumTroop. Bugreport #11935
|
||||
{
|
||||
"kyra3",
|
||||
_s("Missing game code"), // Reason for being unsupported
|
||||
AD_ENTRY2s("ONETIME.PAK", "4fe8ff05002f3a4d645f11cd326fcef2", 485328,
|
||||
"WESTWOOD.001", "99d4b13576ced18a072a7590eac3cc37", 10419012),
|
||||
Common::ZH_TWN,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_DROPLANGUAGE | ADGF_UNSUPPORTED,
|
||||
GUIO5(GUIO_NOMIDI, GUIO_RENDERVGA, GAMEOPTION_KYRA3_AUDIENCE, GAMEOPTION_KYRA3_SKIP, GAMEOPTION_KYRA3_HELIUM)
|
||||
},
|
||||
KYRA3_CD_FLAGS
|
||||
},
|
||||
|
||||
// installed version
|
||||
{
|
||||
{
|
||||
@ -1210,6 +1196,20 @@ const KYRAGameDescription adGameDescs[] = {
|
||||
KYRA3_CD_4LANG_FLAGS
|
||||
},
|
||||
|
||||
{ // non installed version
|
||||
{
|
||||
"kyra3",
|
||||
0,
|
||||
AD_ENTRY2s("ONETIME.PAK", "4fe8ff05002f3a4d645f11cd326fcef2", -1,
|
||||
"WESTWOOD.001", "99d4b13576ced18a072a7590eac3cc37", -1),
|
||||
Common::ZH_TWN,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_DROPLANGUAGE,
|
||||
GUIO5(GUIO_NOMIDI, GUIO_RENDERVGA, GAMEOPTION_KYRA3_AUDIENCE, GAMEOPTION_KYRA3_SKIP, GAMEOPTION_KYRA3_HELIUM)
|
||||
},
|
||||
KYRA3_CD_4LANG_FLAGS
|
||||
},
|
||||
|
||||
{
|
||||
{
|
||||
"kyra3",
|
||||
@ -1270,6 +1270,24 @@ const KYRAGameDescription adGameDescs[] = {
|
||||
KYRA3_CD_INS_4LANG_FLAGS
|
||||
},
|
||||
|
||||
{ // installed version
|
||||
{
|
||||
"kyra3",
|
||||
0,
|
||||
{
|
||||
{ "ONETIME.PAK", 0, "4fe8ff05002f3a4d645f11cd326fcef2", -1 },
|
||||
{ "MALCOLM.PAK", 0, "c01eaf3b5568b207b22ea1c0637fe193", -1 },
|
||||
{ "AUD.PAK", 0, 0, -1 },
|
||||
AD_LISTEND
|
||||
},
|
||||
Common::ZH_TWN,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_DROPLANGUAGE,
|
||||
GUIO5(GUIO_NOMIDI, GUIO_RENDERVGA, GAMEOPTION_KYRA3_AUDIENCE, GAMEOPTION_KYRA3_SKIP, GAMEOPTION_KYRA3_HELIUM)
|
||||
},
|
||||
KYRA3_CD_INS_4LANG_FLAGS
|
||||
},
|
||||
|
||||
{
|
||||
{
|
||||
"kyra3",
|
||||
|
@ -486,7 +486,7 @@ void KyraEngine_MR::playStudioSFX(const char *str) {
|
||||
return;
|
||||
|
||||
const int strSize = strlen(str) - 1;
|
||||
if (_flags.lang == Common::ZH_CNA) {
|
||||
if (_flags.lang == Common::ZH_CNA || _flags.lang == Common::ZH_TWN) {
|
||||
// WORKAROUND: The studio sfx is broken in the original, since it still has the
|
||||
// check for '!' and '?' even if the language is set to Chinese. I have fixed this here...
|
||||
if (str[strSize] != '\x80' || !(str[strSize - 1] == '\x81' || str[strSize - 1] == '\x91'))
|
||||
@ -1416,10 +1416,9 @@ void KyraEngine_MR::writeSettings() {
|
||||
break;
|
||||
|
||||
case 3:
|
||||
_flags.lang = Common::ZH_CNA;
|
||||
_flags.lang = _langIntern ? Common::ZH_TWN : Common::ZH_CNA;
|
||||
break;
|
||||
|
||||
case 0:
|
||||
default:
|
||||
_flags.lang = Common::EN_ANY;
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
namespace Kyra {
|
||||
|
||||
KyraEngine_v2::KyraEngine_v2(OSystem *system, const GameFlags &flags, const EngineDesc &desc) : KyraEngine_v1(system, flags), _desc(desc), _numLang(flags.hasExtraLanguage ? 4 : 3) {
|
||||
KyraEngine_v2::KyraEngine_v2(OSystem *system, const GameFlags &flags, const EngineDesc &desc) : KyraEngine_v1(system, flags), _desc(desc), _langIntern(0), _numLang(flags.hasExtraLanguage ? 4 : 3) {
|
||||
memset(&_sceneAnims, 0, sizeof(_sceneAnims));
|
||||
memset(&_sceneAnimMovie, 0, sizeof(_sceneAnimMovie));
|
||||
|
||||
@ -97,6 +97,9 @@ KyraEngine_v2::KyraEngine_v2(OSystem *system, const GameFlags &flags, const Engi
|
||||
_lang = 2;
|
||||
break;
|
||||
|
||||
case Common::ZH_TWN:
|
||||
_langIntern = 1;
|
||||
// fall through
|
||||
case Common::JA_JPN:
|
||||
case Common::ZH_CNA:
|
||||
_lang = 3;
|
||||
|
@ -94,6 +94,7 @@ protected:
|
||||
// detection
|
||||
int _lang;
|
||||
const int _numLang;
|
||||
int _langIntern;
|
||||
|
||||
// Input
|
||||
virtual int inputSceneChange(int x, int y, int unk1, int unk2) = 0;
|
||||
|
@ -139,7 +139,7 @@ void GUI_v1::initMenu(Menu &menu) {
|
||||
} else {
|
||||
Screen::FontId of = _screen->_currentFont;
|
||||
if (menu.item[i].saveSlot > 0)
|
||||
_screen->setFont(_vm->gameFlags().lang == Common::ZH_CNA ? Screen::FID_CHINESE_FNT : Screen::FID_8_FNT);
|
||||
_screen->setFont((_vm->gameFlags().lang == Common::ZH_CNA || _vm->gameFlags().lang == Common::ZH_TWN) ? Screen::FID_CHINESE_FNT : Screen::FID_8_FNT);
|
||||
|
||||
if (_vm->gameFlags().platform != Common::kPlatformAmiga)
|
||||
printMenuText(getMenuItemTitle(menu.item[i]), textX - 1, textY + 1, defaultColor1(), 0, 0);
|
||||
@ -259,7 +259,7 @@ void GUI_v1::redrawText(const Menu &menu) {
|
||||
} else {
|
||||
Screen::FontId of = _screen->_currentFont;
|
||||
if (menu.item[i].saveSlot > 0)
|
||||
_screen->setFont(_vm->gameFlags().lang == Common::ZH_CNA ? Screen::FID_CHINESE_FNT : Screen::FID_8_FNT);
|
||||
_screen->setFont((_vm->gameFlags().lang == Common::ZH_CNA || _vm->gameFlags().lang == Common::ZH_TWN) ? Screen::FID_CHINESE_FNT : Screen::FID_8_FNT);
|
||||
if (_vm->gameFlags().platform != Common::kPlatformAmiga)
|
||||
printMenuText(getMenuItemTitle(menu.item[i]), textX - 1, textY + 1, defaultColor1(), 0, 0);
|
||||
printMenuText(getMenuItemTitle(menu.item[i]), textX, textY, menu.item[i].textColor, 0, 0);
|
||||
@ -289,7 +289,7 @@ void GUI_v1::redrawHighlight(const Menu &menu) {
|
||||
} else {
|
||||
Screen::FontId of = _screen->_currentFont;
|
||||
if (menu.item[i].saveSlot > 0)
|
||||
_screen->setFont(_vm->gameFlags().lang == Common::ZH_CNA ? Screen::FID_CHINESE_FNT : Screen::FID_8_FNT);
|
||||
_screen->setFont((_vm->gameFlags().lang == Common::ZH_CNA || _vm->gameFlags().lang == Common::ZH_TWN) ? Screen::FID_CHINESE_FNT : Screen::FID_8_FNT);
|
||||
if (_vm->gameFlags().platform != Common::kPlatformAmiga)
|
||||
printMenuText(getMenuItemTitle(menu.item[i]), textX - 1, textY + 1, defaultColor1(), 0, 0);
|
||||
printMenuText(getMenuItemTitle(menu.item[i]), textX, textY, menu.item[i].highlightColor, 0, 0);
|
||||
@ -511,7 +511,7 @@ int MainMenu::handle(int dim) {
|
||||
int fh = _screen->getFontHeight();
|
||||
if (_vm->gameFlags().lang == Common::JA_JPN)
|
||||
fh++;
|
||||
else if (_vm->gameFlags().lang == Common::ZH_CNA)
|
||||
else if (_vm->gameFlags().lang == Common::ZH_CNA || _vm->gameFlags().lang == Common::ZH_TWN)
|
||||
fh--;
|
||||
|
||||
int textPos = ((_screen->_curDim->w >> 1) + _screen->_curDim->sx) << 3;
|
||||
@ -565,7 +565,7 @@ void MainMenu::draw(int select) {
|
||||
int fh = _screen->getFontHeight();
|
||||
if (_vm->gameFlags().lang == Common::JA_JPN)
|
||||
fh++;
|
||||
else if (_vm->gameFlags().lang == Common::ZH_CNA)
|
||||
else if (_vm->gameFlags().lang == Common::ZH_CNA || _vm->gameFlags().lang == Common::ZH_TWN)
|
||||
fh--;
|
||||
|
||||
for (int i = 0; i < _static.menuTable[3]; ++i) {
|
||||
|
@ -39,7 +39,7 @@
|
||||
|
||||
namespace Kyra {
|
||||
|
||||
#define RESFILE_VERSION 110
|
||||
#define RESFILE_VERSION 111
|
||||
|
||||
namespace {
|
||||
bool checkKyraDat(Common::SeekableReadStream *file) {
|
||||
@ -87,15 +87,16 @@ byte getGameID(const GameFlags &flags) {
|
||||
}
|
||||
|
||||
const IndexTable iLanguageTable[] = {
|
||||
{ Common::EN_ANY, 1 },
|
||||
{ Common::FR_FRA, 2 },
|
||||
{ Common::DE_DEU, 3 },
|
||||
{ Common::ES_ESP, 4 },
|
||||
{ Common::IT_ITA, 5 },
|
||||
{ Common::JA_JPN, 6 },
|
||||
{ Common::RU_RUS, 7 },
|
||||
{ Common::HE_ISR, 8 },
|
||||
{ Common::ZH_CNA, 9 },
|
||||
{ Common::EN_ANY, 1 },
|
||||
{ Common::FR_FRA, 2 },
|
||||
{ Common::DE_DEU, 3 },
|
||||
{ Common::ES_ESP, 4 },
|
||||
{ Common::IT_ITA, 5 },
|
||||
{ Common::JA_JPN, 6 },
|
||||
{ Common::RU_RUS, 7 },
|
||||
{ Common::HE_ISR, 8 },
|
||||
{ Common::ZH_CNA, 9 },
|
||||
{ Common::ZH_TWN, 10 },
|
||||
{ -1, -1 }
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user