KYRA: (LOL/Spanish) - fix detection and static resources

This commit is contained in:
athrxx committed 2020-06-07 14:21:14 +02:00
1 parent dcd262033a
commit 0652662b00
9 files changed
+163 -3

No files matched your search

+1
View File
@@ -17,6 +17,7 @@ For a more comprehensive changelog of the latest experimental code, see:
- Added support for the PC-98 version of Eye of the Beholder I.
- Added support for the Spanish versions of Eye of the Beholder I and II, Legend of
Kyrandia 1 (CD-ROM fan translation) and Legend of Kyrandia 2 (floppy version and
CD-ROM fan translation). Fix Spanish Lands of Lore support (floppy version and
CD-ROM fan translation).
Prince:
+1 -1
View File
@@ -45,7 +45,7 @@
enum {
kKyraDatVersion = 100
kKyraDatVersion = 101
};
const ExtractFilename extractFilenames[] = {
+2
View File
@@ -135,12 +135,14 @@ const Game lolGames[] = {
{ kLoL, kPlatformDOS, kNoSpecial, RU_RUS },
{ kLoL, kPlatformDOS, kNoSpecial, DE_DEU },
{ kLoL, kPlatformDOS, kNoSpecial, FR_FRA },
{ kLoL, kPlatformDOS, kNoSpecial, ES_ESP },
{ kLoL, kPlatformDOS, kTalkieVersion, EN_ANY },
{ kLoL, kPlatformDOS, kTalkieVersion, FR_FRA },
{ kLoL, kPlatformDOS, kTalkieVersion, DE_DEU },
{ kLoL, kPlatformDOS, kTalkieVersion, IT_ITA },
{ kLoL, kPlatformDOS, kTalkieVersion, RU_RUS },
{ kLoL, kPlatformDOS, kTalkieVersion, ES_ESP },
{ kLoL, kPlatformPC98, kNoSpecial, JA_JPN },
+4
View File
@@ -126,6 +126,7 @@
#include "resources/lol_dos_french.h"
#include "resources/lol_dos_german.h"
#include "resources/lol_dos_russian.h"
#include "resources/lol_dos_spanish.h"
#include "resources/lol_dos_cd.h"
#include "resources/lol_dos_cd_english.h"
@@ -133,6 +134,7 @@
#include "resources/lol_dos_cd_german.h"
#include "resources/lol_dos_cd_italian.h"
#include "resources/lol_dos_cd_russian.h"
#include "resources/lol_dos_cd_spanish.h"
#include "resources/lol_pc98.h"
#include "resources/lol_pc98_japanese.h"
@@ -3713,6 +3715,7 @@ static const ResourceProvider resourceProviders[] = {
{ kLoLCharacterDefs, kLoL, kPlatformDOS, kNoSpecial, RU_RUS, &kLoLCharacterDefsDOSRussianProvider },
{ kLoLCharacterDefs, kLoL, kPlatformDOS, kNoSpecial, DE_DEU, &kLoLCharacterDefsDOSGermanProvider },
{ kLoLCharacterDefs, kLoL, kPlatformDOS, kNoSpecial, FR_FRA, &kLoLCharacterDefsDOSFrenchProvider },
{ kLoLCharacterDefs, kLoL, kPlatformDOS, kNoSpecial, ES_ESP, &kLoLCharacterDefsDOSSpanishProvider },
{ kLoLIngamePakFiles, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLIngamePakFilesPC98Provider },
{ kLoLCharacterDefs, kLoL, kPlatformPC98, kNoSpecial, JA_JPN, &kLoLCharacterDefsPC98JapaneseProvider },
{ kLoLIngameSfxFiles, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLIngameSfxFilesPC98Provider },
@@ -3939,6 +3942,7 @@ static const ResourceProvider resourceProviders[] = {
{ kLoLCharacterDefs, kLoL, kPlatformDOS, kTalkieVersion, DE_DEU, &kLoLCharacterDefsDOSCDGermanProvider },
{ kLoLCharacterDefs, kLoL, kPlatformDOS, kTalkieVersion, IT_ITA, &kLoLCharacterDefsDOSCDItalianProvider },
{ kLoLCharacterDefs, kLoL, kPlatformDOS, kTalkieVersion, RU_RUS, &kLoLCharacterDefsDOSCDRussianProvider },
{ kLoLCharacterDefs, kLoL, kPlatformDOS, kTalkieVersion, ES_ESP, &kLoLCharacterDefsDOSCDSpanishProvider },
{ kMaxResIDs, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, NULL }
};
@@ -0,0 +1,68 @@
static const LoLCharacter kLoLCharacterDefsDOSCDSpanish[9] = {
{ 0x0001, "Michael", 0, -1, 0, 0, 17,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 20, 20, 6, 6, 0, 0, 0, 384, 320, 5, 2, 0,
{ 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 },
{ 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Timothy", 0, 2, 0, 0, 22,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 27, 27, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0,
{ 93, 131, 0, 0, 0, 153, 0, 0, 162, 0, 0 },
{ 3, 2, 1 }, { 0, 0, 0 }, { 2500, 1000, 250 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Baccata", 3, 3, 0, 0, 23,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 22, 22, 18, 18, 0, 0, 0, 256, 256, 0, 0, 0,
{ 108, 149, 0, 0, 145, 153, 0, 0, 129, 0, 0 },
{ 1, 1, 3 }, { 0, 0, 0 }, { 1, 1, 4000 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Lora", 1, 4, 0, 0, 24,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 25, 48, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0,
{ 0, 0, 0, 0, 0, 137, 0, 0, 162, 0, 0 },
{ 1, 4, 1 }, { 0, 0, 0 }, { 1, 15001, 1 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Conrad", 0, -5, 0, 0, 26,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 23, 23, 10, 10, 0, 0, 0, 366, 358, 2, 3, 0,
{ 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 },
{ 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Paulson", 0, 6, 0, 0, 25,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 105, 105, 45, 45, 0, 0, 0, 256, 256, 0, 0, 0,
{ 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 },
{ 5, 2, 3 }, { 0, 0, 0 }, { 40000, 501, 3500 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Dawn", 1, 7, 0, 0, 24,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 50, 50, 80, 80, 0, 0, 0, 256, 256, 0, 0, 0,
{ 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 },
{ 1, 2, 10 }, { 1, 254, 177 }, { 1, 501, 1 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Kieran", 2, -8, 0, 0, 21,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 23, 23, 8, 8, 0, 0, 0, 422, 332, 5, 1, 0,
{ 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 },
{ 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Ak'shel", 4, -9, 0, 0, 20,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 28, 28, 32, 32, 0, 0, 0, 320, 256, 1, 1, 0,
{ 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 },
{ 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }
};
static const LoLCharacterProvider kLoLCharacterDefsDOSCDSpanishProvider = { ARRAYSIZE(kLoLCharacterDefsDOSCDSpanish), kLoLCharacterDefsDOSCDSpanish };
@@ -0,0 +1,68 @@
static const LoLCharacter kLoLCharacterDefsDOSSpanish[9] = {
{ 0x0001, "Michael", 0, -1, 0, 0, 17,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 20, 20, 6, 6, 0, 0, 0, 384, 320, 5, 2, 0,
{ 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 },
{ 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Timothy", 0, 2, 0, 0, 22,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 27, 27, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0,
{ 93, 131, 0, 0, 0, 153, 0, 0, 162, 0, 0 },
{ 3, 2, 1 }, { 0, 0, 0 }, { 2500, 1000, 250 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Baccata", 3, 3, 0, 0, 23,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 22, 22, 18, 18, 0, 0, 0, 256, 256, 0, 0, 0,
{ 108, 149, 0, 0, 145, 153, 0, 0, 129, 0, 0 },
{ 1, 1, 3 }, { 0, 0, 0 }, { 1, 1, 4000 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Lora", 1, 4, 0, 0, 24,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 25, 48, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0,
{ 0, 0, 0, 0, 0, 137, 0, 0, 162, 0, 0 },
{ 1, 4, 1 }, { 0, 0, 0 }, { 1, 15001, 1 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Conrad", 0, -5, 0, 0, 26,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 23, 23, 10, 10, 0, 0, 0, 366, 358, 2, 3, 0,
{ 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 },
{ 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Paulson", 0, 6, 0, 0, 25,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 105, 105, 45, 45, 0, 0, 0, 256, 256, 0, 0, 0,
{ 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 },
{ 5, 2, 3 }, { 0, 0, 0 }, { 40000, 501, 3500 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Dawn", 1, 7, 0, 0, 24,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 50, 50, 80, 80, 0, 0, 0, 256, 256, 0, 0, 0,
{ 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 },
{ 1, 2, 10 }, { 1, 254, 177 }, { 1, 501, 1 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Kieran", 2, -8, 0, 0, 21,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 23, 23, 8, 8, 0, 0, 0, 422, 332, 5, 1, 0,
{ 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 },
{ 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } },
{ 0x0001, "Ak'shel", 4, -9, 0, 0, 20,
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 256, 256, 256, 256, 256, 256, 256, 256 },
0, 28, 28, 32, 32, 0, 0, 0, 320, 256, 1, 1, 0,
{ 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 },
{ 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 },
{ 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }
};
static const LoLCharacterProvider kLoLCharacterDefsDOSSpanishProvider = { ARRAYSIZE(kLoLCharacterDefsDOSSpanish), kLoLCharacterDefsDOSSpanish };
Binary file not shown.
+18 -1
View File
@@ -1371,7 +1371,7 @@ const KYRAGameDescription adGameDescs[] = {
{ "L01.PAK", 0, "898485c0eb7bb4403fdd63bf5191f37e", -1 },
{ 0, 0, 0, 0 }
},
Common::FR_FRA,
Common::IT_ITA,
Common::kPlatformDOS,
ADGF_DROPLANGUAGE | ADGF_CD,
GUIO7(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_MIDIPCSPK, GUIO_RENDERVGA, GAMEOPTION_LOL_SCROLLING, GAMEOPTION_LOL_CURSORS)
@@ -1379,6 +1379,23 @@ const KYRAGameDescription adGameDescs[] = {
LOL_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY)
},
{
{
"lol",
"CD",
{
{ "GENERAL.PAK", 0, "9e4bab499b7ea9337b91ac29fcba6d13", -1 },
{ "LEVEL01.FRE", 0, "3f5a8856e86b8bc6207becd73426017c", -1 },
{ 0, 0, 0, 0 }
},
Common::ES_ESP,
Common::kPlatformDOS,
ADGF_DROPLANGUAGE | ADGF_CD,
GUIO7(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_MIDIPCSPK, GUIO_RENDERVGA, GAMEOPTION_LOL_SCROLLING, GAMEOPTION_LOL_CURSORS)
},
LOL_CD_FAN_FLAGS(Common::ES_ESP, Common::FR_FRA)
},
{
{
"lol",
+1 -1
View File
@@ -39,7 +39,7 @@
namespace Kyra {
#define RESFILE_VERSION 100
#define RESFILE_VERSION 101
namespace {
bool checkKyraDat(Common::SeekableReadStream *file) {