Get rif od ARRAYSIZE in ADGameDescription

svn-id: r24882
This commit is contained in:
Eugene Sandulenko 2006-12-19 04:35:08 +00:00
parent 18ce381060
commit 457ebfea3c
9 changed files with 240 additions and 213 deletions

View File

@ -217,8 +217,6 @@ String AdvancedDetector::getDescription(int num) const {
}
ADList AdvancedDetector::detectGame(const FSList *fslist, Language language, Platform platform) {
int filesCount;
typedef HashMap<String, bool, CaseSensitiveString_Hash, CaseSensitiveString_EqualTo> StringSet;
StringSet filesList;
@ -243,7 +241,7 @@ ADList AdvancedDetector::detectGame(const FSList *fslist, Language language, Pla
// First we compose list of files which we need MD5s for
for (i = 0; i < _gameDescriptions.size(); i++) {
for (j = 0; j < _gameDescriptions[i]->filesCount; j++) {
for (j = 0; _gameDescriptions[i]->filesDescriptions[j].fileName; j++) {
tstr = String(_gameDescriptions[i]->filesDescriptions[j].fileName);
tstr.toLowercase();
tstr2 = tstr + ".";
@ -293,11 +291,10 @@ ADList AdvancedDetector::detectGame(const FSList *fslist, Language language, Pla
}
for (i = 0; i < _gameDescriptions.size(); i++) {
filesCount = _gameDescriptions[i]->filesCount;
fileMissing = false;
// Try to open all files for this game
for (j = 0; j < filesCount; j++) {
for (j = 0; _gameDescriptions[i]->filesDescriptions[j].fileName; j++) {
fileDesc = &_gameDescriptions[i]->filesDescriptions[j];
tstr = fileDesc->fileName;
tstr.toLowercase();
@ -336,7 +333,10 @@ ADList AdvancedDetector::detectGame(const FSList *fslist, Language language, Pla
// Search max number
int maxcount = 0;
for (i = 0; i < matchedCount; i++) {
maxcount = MAX(_gameDescriptions[matched[i]]->filesCount, maxcount);
int fCount = 0;
for (j = 0; _gameDescriptions[i]->filesDescriptions[j].fileName; j++)
fCount++;
maxcount = MAX(fCount, maxcount);
}
// Now purge targets with number of files lesser than max
@ -348,7 +348,11 @@ ADList AdvancedDetector::detectGame(const FSList *fslist, Language language, Pla
continue;
}
if (_gameDescriptions[matched[i]]->filesCount < maxcount) {
int fCount = 0;
for (j = 0; _gameDescriptions[matched[i]]->filesDescriptions[j].fileName; j++)
fCount++;
if (fCount < maxcount) {
debug(2, "Purged: %s", getDescription(matched[i]).c_str());
matched[i] = -1;
}

View File

@ -39,7 +39,6 @@ struct ADGameFileDescription {
struct ADGameDescription {
const char *name;
const char *extra;
int filesCount;
const ADGameFileDescription *filesDescriptions;
Language language;
Platform platform;

View File

@ -61,23 +61,29 @@ using Common::File;
// Kings Quest I entries
static const ADGameFileDescription AGI_KQ1_PC_20F_GameFiles[] = {
{ "logdir", 0, "10ad66e2ecbd66951534a50aedcd0128"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription AGI_KQ1_2GS_10S_GameFiles[] = {
{ "logdir", 0, "f4277aa34b43d37382bc424c81627617"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription AGI_KQ1_MAC_20C_GameFiles[] = {
{ "logdir", 0, "d4c4739d4ac63f7dbd29255425077d48"},
{ NULL, 0, NULL}
};
// Kings Quest II Entries
static const ADGameFileDescription AGI_KQ2_PC_22_GameFiles[] = {
{ "logdir", 0, "b944c4ff18fb8867362dc21cc688a283"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription AGI_KQ2_AMIGA_20F_GameFiles[] = {
{ "logdir", 0, "b866f0fab2fad91433a637a828cfa410"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription AGI_KQ2_MAC_20R_GameFiles[] = {
{ "logdir", 0, "cbdb0083317c8e7cfb7ac35da4bc7fdc"},
{ NULL, 0, NULL}
};
@ -87,7 +93,6 @@ static const AGIGameDescription gameDescriptions[] = {
{
"agi",
"King's Quest 1 (PC 5.25\"/3.5\") 2.0F [AGI 2.917]",
ARRAYSIZE(AGI_KQ1_PC_20F_GameFiles),
AGI_KQ1_PC_20F_GameFiles,
Common::EN_ANY,
Common::kPlatformPC,
@ -102,7 +107,6 @@ static const AGIGameDescription gameDescriptions[] = {
{
"agi",
"King's Quest 1 (IIgs) 1.0S-88223",
ARRAYSIZE(AGI_KQ1_2GS_10S_GameFiles),
AGI_KQ1_2GS_10S_GameFiles,
Common::EN_ANY,
Common::kPlatformApple2GS,
@ -118,7 +122,6 @@ static const AGIGameDescription gameDescriptions[] = {
{
"agi",
"King's Quest 1 (Mac) 2.0C",
ARRAYSIZE(AGI_KQ1_MAC_20C_GameFiles),
AGI_KQ1_MAC_20C_GameFiles,
Common::EN_ANY,
Common::kPlatformMacintosh,
@ -134,7 +137,6 @@ static const AGIGameDescription gameDescriptions[] = {
{
"agi",
"King's Quest 2 (PC 5.25\"/3.5\") 2.2 [AGI 2.426]",
ARRAYSIZE(AGI_KQ2_PC_22_GameFiles),
AGI_KQ2_PC_22_GameFiles,
Common::EN_ANY,
Common::kPlatformPC,
@ -149,7 +151,6 @@ static const AGIGameDescription gameDescriptions[] = {
{
"agi",
"King's Quest 2 (Amiga) 2.0J",
ARRAYSIZE(AGI_KQ2_AMIGA_20F_GameFiles),
AGI_KQ2_AMIGA_20F_GameFiles,
Common::EN_ANY,
Common::kPlatformAmiga,
@ -164,7 +165,6 @@ static const AGIGameDescription gameDescriptions[] = {
{
"agi",
"King's Quest 2 (Mac) 2.0R",
ARRAYSIZE(AGI_KQ2_MAC_20R_GameFiles),
AGI_KQ2_MAC_20R_GameFiles,
Common::EN_ANY,
Common::kPlatformMacintosh,
@ -174,7 +174,7 @@ static const AGIGameDescription gameDescriptions[] = {
0x2440,
},
{ { NULL, NULL, 0, NULL, Common::UNK_LANG, Common::kPlatformUnknown }, 0, 0, 0 }
{ { NULL, NULL, NULL, Common::UNK_LANG, Common::kPlatformUnknown }, 0, 0, 0 }
};
bool AgiEngine::initGame() {

View File

@ -181,7 +181,7 @@ public:
Common::Language getLanguage() const { return _gameDescription->desc.language; }
Common::Platform getPlatform() const { return _gameDescription->desc.platform; }
const char *getFileName(int type) const {
for (int i = 0; i < _gameDescription->desc.filesCount; i++) {
for (int i = 0; _gameDescription->desc.filesDescriptions[i].fileType; i++) {
if (_gameDescription->desc.filesDescriptions[i].fileType == type)
return _gameDescription->desc.filesDescriptions[i].fileName;
}

File diff suppressed because it is too large Load Diff

View File

@ -56,124 +56,154 @@ using Common::ADGameDescription;
static const ADGameFileDescription FW_GameFiles[] = {
{ "part01", 0, "61d003202d301c29dd399acfb1354310"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription FWALT_GameFiles[] = {
{ "part01", 0, "91d7271155520eae6915a9dd2dac120c"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription FWDE_GameFiles[] = {
{ "part01", 0, "f5e98fcca3fb5e7afa284c81c39d8b14"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription FWES_GameFiles[] = {
{ "part01", 0, "570109f965c7f53984b98c83d86eb206"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription FWFR_GameFiles[] = {
{ "part01", 0, "5d1acb97abe9591f9008e00d07add95a"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription FWAmiga_GameFiles[] = {
{ "part01", 0, "57afd280b598b4180fda6689fbedc4b8"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription FWAmigaDE_GameFiles[] = {
{ "part01", 0, "3a87a913e0e33963a48a7f822ca0eb0e"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription FWAmigaES_GameFiles[] = {
{ "part01", 0, "5ad0007ccd5f7b3dd6b15ea7f281f9e1"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription FWAmigaFR_GameFiles[] = {
{ "part01", 0, "460f2da8793bc581a2d4b6fc19ccb5ae"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription FWAmigaIT_GameFiles[] = {
{ "part01", 0, "1c8e5207743172134409ac58860021af"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription FWAmigaDemo_GameFiles[] = {
{ "demo", 0, "0f50767cd964e302d3af0ba2528df8c4"},
{ "demo.prc", 0, "d2ac3a743d288359c63644ea7071edae"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription FWST_GameFiles[] = {
{ "part01", 0, "36050db13af57e462ca1adc4df99de4e"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription FWSTFR_GameFiles[] = {
{ "part01", 0, "ef245573b7dab0d4825ceb98e37cef4d"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OS_GameFiles[] = {
{ "procs00", 0, "d6752e7d25924cb866b61eb7cb0c8b56"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSUS_GameFiles[] = {
{ "procs1", 0, "d8c3a9d05a63e4cfa801826a7063a126"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSUS256_GameFiles[] = {
{ "procs00", 0, "862a75d76fb7fffec30e52be9ad1c474"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSDE_GameFiles[] = {
{ "procs1", 0, "39b91ae35d1297ce0a76a1a803ca1593"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSES_GameFiles[] = {
{ "procs1", 0, "74c2dabd9d212525fca8875a5f6d8994"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSESCD_GameFiles[] = {
{ "procs1", 0, "74c2dabd9d212525fca8875a5f6d8994"},
{ "sds1", 0, "75443ba39cdc95667e07d7118e5c151c"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSFR_GameFiles[] = {
{ "procs00", 0, "f143567f08cfd1a9b1c9a41c89eadfef"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSIT_GameFiles[] = {
{ "procs1", 0, "da066e6b8dd93f2502c2a3755f08dc12"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSAmiga_GameFiles[] = {
{ "procs0", 0, "a9da5531ead0ebf9ad387fa588c0cbb0"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSAmigaAlt_GameFiles[] = {
{ "procs0", 0, "8a429ced2f4acff8a15ae125174042e8"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSAmigaUS_GameFiles[] = {
{ "procs0", 0, "d5f27e33fc29c879f36f15b86ccfa58c"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSAmigaDE_GameFiles[] = {
{ "procs0", 0, "8b7dce249821d3a62b314399c4334347"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSAmigaES_GameFiles[] = {
{ "procs0", 0, "35fc295ddd0af9da932d256ba799a4b0"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSAmigaFR_GameFiles[] = {
{ "procs0", 0, "d4ea4a97e01fa67ea066f9e785050ed2"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSAmigaDemo_GameFiles[] = {
{ "demo", 0, "8d3a750d1c840b1b1071e42f9e6f6aa2"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSST_GameFiles[] = {
{ "procs0", 0, "1501d5ae364b2814a33ed19347c3fcae"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription OSSTFR_GameFiles[] = {
{ "procs0", 0, "2148d25de3219dd4a36580ca735d0afa"},
{ NULL, 0, NULL}
};
@ -182,7 +212,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"fw",
"",
ARRAYSIZE(FW_GameFiles),
FW_GameFiles,
Common::EN_ANY,
Common::kPlatformPC,
@ -196,7 +225,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"fw",
"",
ARRAYSIZE(FWALT_GameFiles),
FWALT_GameFiles,
Common::EN_ANY,
Common::kPlatformPC,
@ -209,7 +237,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"fw",
"",
ARRAYSIZE(FWDE_GameFiles),
FWDE_GameFiles,
Common::DE_DEU,
Common::kPlatformPC,
@ -222,7 +249,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"fw",
"",
ARRAYSIZE(FWES_GameFiles),
FWES_GameFiles,
Common::ES_ESP,
Common::kPlatformPC,
@ -235,7 +261,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"fw",
"",
ARRAYSIZE(FWFR_GameFiles),
FWFR_GameFiles,
Common::FR_FRA,
Common::kPlatformPC,
@ -248,7 +273,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"fw",
"",
ARRAYSIZE(FWAmiga_GameFiles),
FWAmiga_GameFiles,
Common::EN_ANY,
Common::kPlatformAmiga,
@ -261,7 +285,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"fw",
"",
ARRAYSIZE(FWAmigaDE_GameFiles),
FWAmigaDE_GameFiles,
Common::DE_DEU,
Common::kPlatformAmiga,
@ -274,7 +297,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"fw",
"",
ARRAYSIZE(FWAmigaES_GameFiles),
FWAmigaES_GameFiles,
Common::ES_ESP,
Common::kPlatformAmiga,
@ -287,7 +309,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"fw",
"",
ARRAYSIZE(FWAmigaFR_GameFiles),
FWAmigaFR_GameFiles,
Common::FR_FRA,
Common::kPlatformAmiga,
@ -300,7 +321,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"fw",
"",
ARRAYSIZE(FWAmigaIT_GameFiles),
FWAmigaIT_GameFiles,
Common::IT_ITA,
Common::kPlatformAmiga,
@ -313,7 +333,7 @@ static const CINEGameDescription gameDescriptions[] = {
{
"fw",
"Demo",
ARRAYSIZE(FWAmigaDemo_GameFiles),
FWAmigaDemo_GameFiles,
Common::EN_ANY,
Common::kPlatformAmiga,
@ -326,7 +346,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"fw",
"",
ARRAYSIZE(FWST_GameFiles),
FWST_GameFiles,
Common::EN_ANY,
Common::kPlatformAtariST,
@ -339,7 +358,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"fw",
"",
ARRAYSIZE(FWSTFR_GameFiles),
FWSTFR_GameFiles,
Common::FR_FRA,
Common::kPlatformAtariST,
@ -352,7 +370,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"256 colors",
ARRAYSIZE(OS_GameFiles),
OS_GameFiles,
Common::EN_GRB,
Common::kPlatformPC,
@ -365,7 +382,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"",
ARRAYSIZE(OSUS_GameFiles),
OSUS_GameFiles,
Common::EN_USA,
Common::kPlatformPC,
@ -378,7 +394,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"256 colors",
ARRAYSIZE(OSUS256_GameFiles),
OSUS256_GameFiles,
Common::EN_USA,
Common::kPlatformPC,
@ -391,7 +406,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"",
ARRAYSIZE(OSDE_GameFiles),
OSDE_GameFiles,
Common::DE_DEU,
Common::kPlatformPC,
@ -404,7 +418,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"",
ARRAYSIZE(OSES_GameFiles),
OSES_GameFiles,
Common::ES_ESP,
Common::kPlatformPC,
@ -417,7 +430,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"256 colors",
ARRAYSIZE(OSESCD_GameFiles),
OSESCD_GameFiles,
Common::ES_ESP,
Common::kPlatformPC,
@ -430,7 +442,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"256 colors",
ARRAYSIZE(OSFR_GameFiles),
OSFR_GameFiles,
Common::FR_FRA,
Common::kPlatformPC,
@ -443,7 +454,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"",
ARRAYSIZE(OSIT_GameFiles),
OSIT_GameFiles,
Common::IT_ITA,
Common::kPlatformPC,
@ -456,7 +466,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"",
ARRAYSIZE(OSAmiga_GameFiles),
OSAmiga_GameFiles,
Common::EN_GRB,
Common::kPlatformAmiga,
@ -469,7 +478,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"alt",
ARRAYSIZE(OSAmigaAlt_GameFiles),
OSAmigaAlt_GameFiles,
Common::EN_GRB,
Common::kPlatformAmiga,
@ -482,7 +490,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"",
ARRAYSIZE(OSAmigaUS_GameFiles),
OSAmigaUS_GameFiles,
Common::EN_USA,
Common::kPlatformAmiga,
@ -495,7 +502,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"",
ARRAYSIZE(OSAmigaDE_GameFiles),
OSAmigaDE_GameFiles,
Common::DE_DEU,
Common::kPlatformAmiga,
@ -508,7 +514,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"",
ARRAYSIZE(OSAmigaES_GameFiles),
OSAmigaES_GameFiles,
Common::ES_ESP,
Common::kPlatformAmiga,
@ -521,7 +526,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"",
ARRAYSIZE(OSAmigaFR_GameFiles),
OSAmigaFR_GameFiles,
Common::FR_FRA,
Common::kPlatformAmiga,
@ -534,7 +538,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"Demo",
ARRAYSIZE(OSAmigaDemo_GameFiles),
OSAmigaDemo_GameFiles,
Common::EN_GRB,
Common::kPlatformAmiga,
@ -547,7 +550,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"",
ARRAYSIZE(OSST_GameFiles),
OSST_GameFiles,
Common::EN_GRB,
Common::kPlatformAtariST,
@ -560,7 +562,6 @@ static const CINEGameDescription gameDescriptions[] = {
{
"os",
"",
ARRAYSIZE(OSSTFR_GameFiles),
OSSTFR_GameFiles,
Common::FR_FRA,
Common::kPlatformAtariST,
@ -569,7 +570,7 @@ static const CINEGameDescription gameDescriptions[] = {
0,
},
{ { NULL, NULL, 0, NULL, Common::UNK_LANG, Common::kPlatformUnknown }, 0, 0 }
{ { NULL, NULL, NULL, Common::UNK_LANG, Common::kPlatformUnknown }, 0, 0 }
};
bool CineEngine::initGame() {

View File

@ -50,59 +50,73 @@ namespace {
#define ENTRY(f, x) { f, 0, x }
const ADGameFileDescription kyra1EnglishFloppy1[] = {
ENTRY("GEMCUT.EMC", "3c244298395520bb62b5edfe41688879")
ENTRY("GEMCUT.EMC", "3c244298395520bb62b5edfe41688879"),
{ NULL, 0, NULL}
};
const ADGameFileDescription kyra1EnglishFloppy2[] = {
ENTRY("GEMCUT.EMC", "796e44863dd22fa635b042df1bf16673")
ENTRY("GEMCUT.EMC", "796e44863dd22fa635b042df1bf16673"),
{ NULL, 0, NULL}
};
const ADGameFileDescription kyra1FrenchFloppy1[] = {
ENTRY("GEMCUT.EMC", "abf8eb360e79a6c2a837751fbd4d3d24")
ENTRY("GEMCUT.EMC", "abf8eb360e79a6c2a837751fbd4d3d24"),
{ NULL, 0, NULL}
};
const ADGameFileDescription kyra1GermanFloppy1[] = {
ENTRY("GEMCUT.EMC", "6018e1dfeaca7fe83f8d0b00eb0dd049")
ENTRY("GEMCUT.EMC", "6018e1dfeaca7fe83f8d0b00eb0dd049"),
{ NULL, 0, NULL}
};
const ADGameFileDescription kyra1GermanFloppy2[] = {
ENTRY("GEMCUT.EMC", "f0b276781f47c130f423ec9679fe9ed9")
ENTRY("GEMCUT.EMC", "f0b276781f47c130f423ec9679fe9ed9"),
{ NULL, 0, NULL}
};
const ADGameFileDescription kyra1SpanishFloppy1[] = {
ENTRY("GEMCUT.EMC", "8909b41596913b3f5deaf3c9f1017b01")
ENTRY("GEMCUT.EMC", "8909b41596913b3f5deaf3c9f1017b01"),
{ NULL, 0, NULL}
};
const ADGameFileDescription kyra1SpanishFloppy2[] = {
ENTRY("GEMCUT.EMC", "747861d2a9c643c59fdab570df5b9093")
ENTRY("GEMCUT.EMC", "747861d2a9c643c59fdab570df5b9093"),
{ NULL, 0, NULL}
};
const ADGameFileDescription kyra1ItalianFloppy1[] = {
ENTRY("GEMCUT.EMC", "ef08c8c237ee1473fd52578303fc36df")
ENTRY("GEMCUT.EMC", "ef08c8c237ee1473fd52578303fc36df"),
{ NULL, 0, NULL}
};
const ADGameFileDescription kyra1EnglishCD1[] = {
ENTRY("GEMCUT.PAK", "fac399fe62f98671e56a005c5e94e39f")
ENTRY("GEMCUT.PAK", "fac399fe62f98671e56a005c5e94e39f"),
{ NULL, 0, NULL}
};
const ADGameFileDescription kyra1GermanCD1[] = {
ENTRY("GEMCUT.PAK", "230f54e6afc007ab4117159181a1c722")
ENTRY("GEMCUT.PAK", "230f54e6afc007ab4117159181a1c722"),
{ NULL, 0, NULL}
};
const ADGameFileDescription kyra1FrenchCD1[] = {
ENTRY("GEMCUT.PAK", "b037c41768b652a040360ffa3556fd2a")
ENTRY("GEMCUT.PAK", "b037c41768b652a040360ffa3556fd2a"),
{ NULL, 0, NULL}
};
const ADGameFileDescription kyra1EnglishDemo1[] = {
ENTRY("DEMO1.WSA", "fb722947d94897512b13b50cc84fd648")
ENTRY("DEMO1.WSA", "fb722947d94897512b13b50cc84fd648"),
{ NULL, 0, NULL}
};
const ADGameFileDescription kyra2UnknownUnknown1[] = {
ENTRY("FATE.PAK", "28cbad1c5bf06b2d3825ae57d760d032")
ENTRY("FATE.PAK", "28cbad1c5bf06b2d3825ae57d760d032"),
{ NULL, 0, NULL}
};
const ADGameFileDescription kyra3CD1[] = {
ENTRY("ONETIME.PAK", "3833ff312757b8e6147f464cca0a6587")
ENTRY("ONETIME.PAK", "3833ff312757b8e6147f464cca0a6587"),
{ NULL, 0, NULL}
};
#define FLAGS(x, y, z, w, id) { UNK_LANG, kPlatformUnknown, x, y, z, w, id }
@ -116,25 +130,25 @@ const ADGameFileDescription kyra3CD1[] = {
#define KYRA3_CD_FLAGS FLAGS(false, false, false, true, GI_KYRA3)
const KYRAGameDescription adGameDescs[] = {
{ { "The Legend of Kyrandia", 0, ARRAYSIZE(kyra1EnglishFloppy1), kyra1EnglishFloppy1, EN_ANY, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS },
{ { "The Legend of Kyrandia", 0, ARRAYSIZE(kyra1EnglishFloppy2), kyra1EnglishFloppy2, EN_ANY, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS },
{ { "The Legend of Kyrandia", 0, ARRAYSIZE(kyra1FrenchFloppy1) , kyra1FrenchFloppy1 , FR_FRA, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS },
{ { "The Legend of Kyrandia", 0, ARRAYSIZE(kyra1GermanFloppy1) , kyra1GermanFloppy1 , DE_DEU, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS },
{ { "The Legend of Kyrandia", 0, ARRAYSIZE(kyra1GermanFloppy2) , kyra1GermanFloppy2 , DE_DEU, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS }, // from Arne.F
{ { "The Legend of Kyrandia", 0, ARRAYSIZE(kyra1SpanishFloppy1), kyra1SpanishFloppy1, ES_ESP, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS }, // from VooD
{ { "The Legend of Kyrandia", 0, ARRAYSIZE(kyra1SpanishFloppy2), kyra1SpanishFloppy2, ES_ESP, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS }, // floppy 1.8 from clemmy
{ { "The Legend of Kyrandia", 0, ARRAYSIZE(kyra1ItalianFloppy1), kyra1ItalianFloppy1, IT_ITA, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS }, // from gourry
{ { "The Legend of Kyrandia", 0, kyra1EnglishFloppy1, EN_ANY, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS },
{ { "The Legend of Kyrandia", 0, kyra1EnglishFloppy2, EN_ANY, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS },
{ { "The Legend of Kyrandia", 0, kyra1FrenchFloppy1 , FR_FRA, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS },
{ { "The Legend of Kyrandia", 0, kyra1GermanFloppy1 , DE_DEU, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS },
{ { "The Legend of Kyrandia", 0, kyra1GermanFloppy2 , DE_DEU, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS }, // from Arne.F
{ { "The Legend of Kyrandia", 0, kyra1SpanishFloppy1, ES_ESP, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS }, // from VooD
{ { "The Legend of Kyrandia", 0, kyra1SpanishFloppy2, ES_ESP, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS }, // floppy 1.8 from clemmy
{ { "The Legend of Kyrandia", 0, kyra1ItalianFloppy1, IT_ITA, kPlatformPC }, "kyra1", KYRA1_FLOPPY_FLAGS }, // from gourry
{ { "The Legend of Kyrandia", "CD", ARRAYSIZE(kyra1EnglishCD1), kyra1EnglishCD1, EN_ANY, kPlatformPC }, "kyra1", KYRA1_CD_FLAGS },
{ { "The Legend of Kyrandia", "CD", ARRAYSIZE(kyra1GermanCD1) , kyra1GermanCD1 , DE_DEU, kPlatformPC }, "kyra1", KYRA1_CD_FLAGS },
{ { "The Legend of Kyrandia", "CD", ARRAYSIZE(kyra1FrenchCD1) , kyra1FrenchCD1 , FR_FRA, kPlatformPC }, "kyra1", KYRA1_CD_FLAGS },
{ { "The Legend of Kyrandia", "CD", kyra1EnglishCD1, EN_ANY, kPlatformPC }, "kyra1", KYRA1_CD_FLAGS },
{ { "The Legend of Kyrandia", "CD", kyra1GermanCD1 , DE_DEU, kPlatformPC }, "kyra1", KYRA1_CD_FLAGS },
{ { "The Legend of Kyrandia", "CD", kyra1FrenchCD1 , FR_FRA, kPlatformPC }, "kyra1", KYRA1_CD_FLAGS },
{ { "The Legend of Kyrandia", "Demo", ARRAYSIZE(kyra1EnglishDemo1), kyra1EnglishDemo1, EN_ANY, kPlatformPC }, "kyra1", KYRA1_DEMO_FLAGS },
{ { "The Legend of Kyrandia", "Demo", kyra1EnglishDemo1, EN_ANY, kPlatformPC }, "kyra1", KYRA1_DEMO_FLAGS },
{ { "The Legend of Kyrandia: The Hand of Fate", 0, ARRAYSIZE(kyra2UnknownUnknown1), kyra2UnknownUnknown1, UNK_LANG, kPlatformPC }, "kyra2", KYRA2_UNK_FLAGS }, // check this! (cd version?)
{ { "The Legend of Kyrandia: The Hand of Fate", 0, kyra2UnknownUnknown1, UNK_LANG, kPlatformPC }, "kyra2", KYRA2_UNK_FLAGS }, // check this! (cd version?)
{ { "The Legend of Kyrandia: Malcolm's Revenge", 0, ARRAYSIZE(kyra3CD1), kyra3CD1, UNK_LANG, kPlatformPC }, "kyra3", KYRA3_CD_FLAGS },
{ { NULL, NULL, 0, NULL, UNK_LANG, kPlatformUnknown }, NULL, KYRA2_UNK_FLAGS }
{ { "The Legend of Kyrandia: Malcolm's Revenge", 0, kyra3CD1, UNK_LANG, kPlatformPC }, "kyra3", KYRA3_CD_FLAGS },
{ { NULL, NULL, NULL, UNK_LANG, kPlatformUnknown }, NULL, KYRA2_UNK_FLAGS }
};
ADGameDescList getADDescList() {
@ -170,8 +184,13 @@ bool setupGameFlags(const ADList &list, GameFlags &flags) {
int curID = 0;
// get's the entry which has most files to check (most specialized)
for (ADList::const_iterator i = list.begin(); i != list.end(); ++i, ++curID) {
if (filesCount < adGameDescs[*i].desc.filesCount) {
filesCount = adGameDescs[*i].desc.filesCount;
int fCount = 0;
for (int j = 0; adGameDescs[*i].desc.filesDescriptions[j].fileName; j++)
fCount++;
if (filesCount < fCount) {
filesCount = fCount;
id = curID;
}
}

View File

@ -340,7 +340,11 @@ bool Resource::loadContext(ResourceContext *context) {
bool Resource::createContexts() {
int i;
ResourceContext *context;
_contextsCount = _vm->getGameDescription()->desc.filesCount;
_contextsCount = 0;
for (i = 0; _vm->getGameDescription()->desc.filesDescriptions[i].fileName; i++)
_contextsCount++;
_contexts = (ResourceContext*)calloc(_contextsCount, sizeof(*_contexts));
for (i = 0; i < _contextsCount; i++) {

View File

@ -181,7 +181,8 @@ static const ADGameFileDescription ITE_DEMO_G_GameFiles[] = {
{"ite.rsc", GAME_RESOURCEFILE, "986c79c4d2939dbe555576529fd37932"},
//{"ite.dmo", GAME_DEMOFILE}, "0b9a70eb4e120b6f00579b46c8cae29e"
{"scripts.rsc", GAME_SCRIPTFILE, "d5697dd3240a3ceaddaa986c47e1a2d7"},
{"voices.rsc", GAME_SOUNDFILE | GAME_VOICEFILE, "c58e67c506af4ffa03fd0aac2079deb0"}
{"voices.rsc", GAME_SOUNDFILE | GAME_VOICEFILE, "c58e67c506af4ffa03fd0aac2079deb0"},
{ NULL, 0, NULL}
};
static const GameFontDescription ITEDEMO_GameFonts[] = {
@ -204,14 +205,16 @@ static const ADGameFileDescription ITE_WINDEMO2_GameFiles[] = {
{"ited.rsc", GAME_RESOURCEFILE, "3a450852cbf3c80773984d565647e6ac"},
{"scriptsd.rsc", GAME_SCRIPTFILE, "3f12b67fa93e56e1a6be39d2921d80bb"},
{"soundsd.rsc", GAME_SOUNDFILE, "95a6c148e22e99a8c243f2978223583c"},
{"voicesd.rsc", GAME_VOICEFILE, "e139d86bab2ee8ba3157337f894a92d4"}
{"voicesd.rsc", GAME_VOICEFILE, "e139d86bab2ee8ba3157337f894a92d4"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription ITE_WINDEMO1_GameFiles[] = {
{"ited.rsc", GAME_RESOURCEFILE, "3a450852cbf3c80773984d565647e6ac"},
{"scriptsd.rsc", GAME_SCRIPTFILE, "3f12b67fa93e56e1a6be39d2921d80bb"},
{"soundsd.rsc", GAME_SOUNDFILE, "a741139dd7365a13f463cd896ff9969a"},
{"voicesd.rsc", GAME_VOICEFILE, "0759eaf5b64ae19fd429920a70151ad3"}
{"voicesd.rsc", GAME_VOICEFILE, "0759eaf5b64ae19fd429920a70151ad3"},
{ NULL, 0, NULL}
};
static const GameFontDescription ITEWINDEMO_GameFonts[] = {
@ -252,7 +255,8 @@ static const ADGameFileDescription ITE_MACDEMO2_GameFiles[] = {
{"scriptsd.rsc", GAME_SCRIPTFILE, "fded5c59b8b7c5976229f960d21e6b0b"},
{"soundsd.rsc", GAME_SOUNDFILE, "b3a831fbed337d1f1300fee1dd474f6c"},
{"voicesd.rsc", GAME_VOICEFILE, "e139d86bab2ee8ba3157337f894a92d4"},
{"musicd.rsc", GAME_MUSICFILE, "495bdde51fd9f4bea2b9c911091b1ab2"}
{"musicd.rsc", GAME_MUSICFILE, "495bdde51fd9f4bea2b9c911091b1ab2"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription ITE_MACDEMO1_GameFiles[] = {
@ -260,7 +264,8 @@ static const ADGameFileDescription ITE_MACDEMO1_GameFiles[] = {
{"scriptsd.rsc", GAME_SCRIPTFILE, "fded5c59b8b7c5976229f960d21e6b0b"},
{"soundsd.rsc", GAME_SOUNDFILE, "b3a831fbed337d1f1300fee1dd474f6c"},
{"voicesd.rsc", GAME_VOICEFILE, "e139d86bab2ee8ba3157337f894a92d4"},
{"musicd.rsc", GAME_MUSICFILE, "1a91cd60169f367ecb6c6e058d899b2f"}
{"musicd.rsc", GAME_MUSICFILE, "1a91cd60169f367ecb6c6e058d899b2f"},
{ NULL, 0, NULL}
};
static const GameSoundInfo ITEMACDEMO_GameVoice = {
@ -296,7 +301,8 @@ static const ADGameFileDescription ITE_LINDEMO_GameFiles[] = {
{"scriptsd.rsc", GAME_SCRIPTFILE, "3f12b67fa93e56e1a6be39d2921d80bb"},
{"soundsd.rsc", GAME_SOUNDFILE, "95a6c148e22e99a8c243f2978223583c"},
{"voicesd.rsc", GAME_VOICEFILE, "e139d86bab2ee8ba3157337f894a92d4"},
{"musicd.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"}
{"musicd.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"},
{ NULL, 0, NULL}
};
static const GameSoundInfo ITELINDEMO_GameMusic = {
@ -315,7 +321,8 @@ static const ADGameFileDescription ITE_LINCD_GameFiles[] = {
{"scripts.rsc", GAME_SCRIPTFILE, "a891405405edefc69c9d6c420c868b84"},
{"sounds.rsc", GAME_SOUNDFILE, "e2ccb61c325d6d1ead3be0e731fe29fe"},
{"voices.rsc", GAME_VOICEFILE, "41bb6b95d792dde5196bdb78740895a6"},
{"music.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"}
{"music.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"},
{ NULL, 0, NULL}
};
// Inherit the Earth - Wyrmkeep combined Windows/Mac/Linux version. This
@ -329,7 +336,8 @@ static const ADGameFileDescription ITE_MULTICD_GameFiles[] = {
{"scripts.rsc", GAME_SCRIPTFILE, "a891405405edefc69c9d6c420c868b84"},
{"sounds.rsc", GAME_SOUNDFILE, "e2ccb61c325d6d1ead3be0e731fe29fe"},
{"inherit the earth voices", GAME_VOICEFILE | GAME_SWAPENDIAN, "c14c4c995e7a0d3828e3812a494301b7"},
{"music.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"}
{"music.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription ITE_MACCD_G_GameFiles[] = {
@ -337,7 +345,8 @@ static const ADGameFileDescription ITE_MACCD_G_GameFiles[] = {
{"ite scripts.bin", GAME_SCRIPTFILE | GAME_MACBINARY, "af0d7a2588e09ad3ecbc5b474ea238bf"},
{"ite sounds.bin", GAME_SOUNDFILE | GAME_MACBINARY, "441426c6bb2a517f65c7e49b57f7a345"},
{"ite music.bin", GAME_MUSICFILE_GM | GAME_MACBINARY, "c1d20324b7cdf1650e67061b8a93251c"},
{"ite voices.bin", GAME_VOICEFILE | GAME_MACBINARY, "dba92ae7d57e942250fe135609708369"}
{"ite voices.bin", GAME_VOICEFILE | GAME_MACBINARY, "dba92ae7d57e942250fe135609708369"},
{ NULL, 0, NULL}
};
static const GameSoundInfo ITEMACCD_G_GameSound = {
@ -355,7 +364,8 @@ static const ADGameFileDescription ITE_MACCD_GameFiles[] = {
{"scripts.rsc", GAME_SCRIPTFILE, "adf1f46c1d0589083996a7060c798ad0"},
{"sounds.rsc", GAME_SOUNDFILE, "95863b89a0916941f6c5e1789843ba14"},
{"inherit the earth voices", GAME_VOICEFILE, "c14c4c995e7a0d3828e3812a494301b7"},
{"music.rsc", GAME_MUSICFILE, "1a91cd60169f367ecb6c6e058d899b2f"}
{"music.rsc", GAME_MUSICFILE, "1a91cd60169f367ecb6c6e058d899b2f"},
{ NULL, 0, NULL}
};
static const GameSoundInfo ITEMACCD_GameSound = {
@ -380,27 +390,31 @@ static const GameSoundInfo ITEMACCD_GameMusic = {
static const ADGameFileDescription ITE_DISK_DE_GameFiles[] = {
{"ite.rsc", GAME_RESOURCEFILE, "869fc23c8f38f575979ec67152914fee"},
{"scripts.rsc", GAME_SCRIPTFILE, "516f7330f8410057b834424ea719d1ef"},
{"voices.rsc", GAME_SOUNDFILE | GAME_VOICEFILE, "0c9113e630f97ef0996b8c3114badb08"}
{"voices.rsc", GAME_SOUNDFILE | GAME_VOICEFILE, "0c9113e630f97ef0996b8c3114badb08"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription ITE_DISK_G_GameFiles[] = {
{"ite.rsc", GAME_RESOURCEFILE, "8f4315a9bb10ec839253108a032c8b54"},
{"scripts.rsc", GAME_SCRIPTFILE, "516f7330f8410057b834424ea719d1ef"},
{"voices.rsc", GAME_SOUNDFILE | GAME_VOICEFILE, "c46e4392fcd2e89bc91e5567db33b62d"}
{"voices.rsc", GAME_SOUNDFILE | GAME_VOICEFILE, "c46e4392fcd2e89bc91e5567db33b62d"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription ITE_DISK_DE2_GameFiles[] = {
{"ite.rsc", GAME_RESOURCEFILE, "869fc23c8f38f575979ec67152914fee"},
{"scripts.rsc", GAME_SCRIPTFILE, "516f7330f8410057b834424ea719d1ef"},
{"voices.rsc", GAME_SOUNDFILE | GAME_VOICEFILE, "0c9113e630f97ef0996b8c3114badb08"},
{"music.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"}
{"music.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription ITE_DISK_G2_GameFiles[] = {
{"ite.rsc", GAME_RESOURCEFILE, "8f4315a9bb10ec839253108a032c8b54"},
{"scripts.rsc", GAME_SCRIPTFILE, "516f7330f8410057b834424ea719d1ef"},
{"voices.rsc", GAME_SOUNDFILE | GAME_VOICEFILE, "c46e4392fcd2e89bc91e5567db33b62d"},
{"music.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"}
{"music.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"},
{ NULL, 0, NULL}
};
static const GameFontDescription ITEDISK_GameFonts[] = {
@ -423,14 +437,16 @@ static const ADGameFileDescription ITE_WINCD_GameFiles[] = {
{"ite.rsc", GAME_RESOURCEFILE, "8f4315a9bb10ec839253108a032c8b54"},
{"scripts.rsc", GAME_SCRIPTFILE, "a891405405edefc69c9d6c420c868b84"},
{"sounds.rsc", GAME_SOUNDFILE, "e2ccb61c325d6d1ead3be0e731fe29fe"},
{"voices.rsc", GAME_VOICEFILE, "41bb6b95d792dde5196bdb78740895a6"}
{"voices.rsc", GAME_VOICEFILE, "41bb6b95d792dde5196bdb78740895a6"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription ITE_CD_G_GameFiles[] = {
{"ite.rsc", GAME_RESOURCEFILE, "8f4315a9bb10ec839253108a032c8b54"},
{"scripts.rsc", GAME_SCRIPTFILE, "50a0d2d7003c926a3832d503c8534e90"},
{"sounds.rsc", GAME_SOUNDFILE, "e2ccb61c325d6d1ead3be0e731fe29fe"},
{"voices.rsc", GAME_VOICEFILE, "41bb6b95d792dde5196bdb78740895a6"}
{"voices.rsc", GAME_VOICEFILE, "41bb6b95d792dde5196bdb78740895a6"},
{ NULL, 0, NULL}
};
// reported by mld. Bestsellergamers cover disk
@ -438,14 +454,16 @@ static const ADGameFileDescription ITE_CD_DE_GameFiles[] = {
{"ite.rsc", GAME_RESOURCEFILE, "869fc23c8f38f575979ec67152914fee"},
{"scripts.rsc", GAME_SCRIPTFILE, "a891405405edefc69c9d6c420c868b84"},
{"sounds.rsc", GAME_SOUNDFILE, "e2ccb61c325d6d1ead3be0e731fe29fe"},
{"voices.rsc", GAME_VOICEFILE, "2fbad5d10b9b60a3415dc4aebbb11718"}
{"voices.rsc", GAME_VOICEFILE, "2fbad5d10b9b60a3415dc4aebbb11718"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription ITE_CD_GameFiles[] = {
{"ite.rsc", GAME_RESOURCEFILE, "8f4315a9bb10ec839253108a032c8b54"},
{"scripts.rsc", GAME_SCRIPTFILE, "a891405405edefc69c9d6c420c868b84"},
{"sounds.rsc", GAME_SOUNDFILE, "e2ccb61c325d6d1ead3be0e731fe29fe"},
{"voices.rsc", GAME_VOICEFILE, "41bb6b95d792dde5196bdb78740895a6"}
{"voices.rsc", GAME_VOICEFILE, "41bb6b95d792dde5196bdb78740895a6"},
{ NULL, 0, NULL}
};
@ -454,7 +472,8 @@ static const ADGameFileDescription ITE_CD_G2_GameFiles[] = {
{"scripts.rsc", GAME_SCRIPTFILE, "50a0d2d7003c926a3832d503c8534e90"},
{"sounds.rsc", GAME_SOUNDFILE, "e2ccb61c325d6d1ead3be0e731fe29fe"},
{"voices.rsc", GAME_VOICEFILE, "41bb6b95d792dde5196bdb78740895a6"},
{"music.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"}
{"music.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription ITE_CD_DE2_GameFiles[] = {
@ -462,7 +481,8 @@ static const ADGameFileDescription ITE_CD_DE2_GameFiles[] = {
{"scripts.rsc", GAME_SCRIPTFILE, "a891405405edefc69c9d6c420c868b84"},
{"sounds.rsc", GAME_SOUNDFILE, "e2ccb61c325d6d1ead3be0e731fe29fe"},
{"voices.rsc", GAME_VOICEFILE, "2fbad5d10b9b60a3415dc4aebbb11718"},
{"music.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"}
{"music.rsc", GAME_MUSICFILE, "d6454756517f042f01210458abe8edd4"},
{ NULL, 0, NULL}
};
@ -699,7 +719,8 @@ static const ADGameFileDescription IHNM_DEMO_GameFiles[] = {
{"scream.res", GAME_RESOURCEFILE, "46bbdc65d164ba7e89836a0935eec8e6"},
{"scripts.res", GAME_SCRIPTFILE, "9626bda8978094ff9b29198bc1ed5f9a"},
{"sfx.res", GAME_SOUNDFILE, "1c610d543f32ec8b525e3f652536f269"},
{"voicesd.res", GAME_VOICEFILE, "3bbc16a8f741dbb511da506c660a0b54"}
{"voicesd.res", GAME_VOICEFILE, "3bbc16a8f741dbb511da506c660a0b54"},
{ NULL, 0, NULL}
};
// I Have No Mouth and I Must Scream - Retail CD version
@ -717,7 +738,8 @@ static const ADGameFileDescription IHNM_CD_GameFiles[] = {
{"voices3.res", GAME_VOICEFILE, "3bbc16a8f741dbb511da506c660a0b54"},
{"voices4.res", GAME_VOICEFILE, "ebfa160122d2247a676ca39920e5d481"},
{"voices5.res", GAME_VOICEFILE, "1f501ce4b72392bdd1d9ec38f6eec6da"},
{"voices6.res", GAME_VOICEFILE, "f580ed7568c7d6ef34e934ba20adf834"}
{"voices6.res", GAME_VOICEFILE, "f580ed7568c7d6ef34e934ba20adf834"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription IHNM_CD_ES_GameFiles[] = {
@ -733,7 +755,8 @@ static const ADGameFileDescription IHNM_CD_ES_GameFiles[] = {
{"voices3.res", GAME_VOICEFILE, "dc6a5fa7a4cdc2ca5a6fd924e969986c"},
{"voices4.res", GAME_VOICEFILE, "0f87400b804232a58dd22e404420cc45"},
{"voices5.res", GAME_VOICEFILE, "172668cfc5d8c305cb5b1a9b4d995fc0"},
{"voices6.res", GAME_VOICEFILE, "96c9bda9a5f41d6bc232ed7bf6d371d9"}
{"voices6.res", GAME_VOICEFILE, "96c9bda9a5f41d6bc232ed7bf6d371d9"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription IHNM_CD_RU_GameFiles[] = {
@ -749,7 +772,8 @@ static const ADGameFileDescription IHNM_CD_RU_GameFiles[] = {
{"voices3.res", GAME_VOICEFILE, "ebb9501283047f27a0f54e27b3c8ba1e"},
{"voices4.res", GAME_VOICEFILE, "4c145da5fa6d1306162a7ca8ce5a4f2e"},
{"voices5.res", GAME_VOICEFILE, "871a559644281917677eca4af1b05620"},
{"voices6.res", GAME_VOICEFILE, "211be5c24f066d69a2f6cfa953acfba6"}
{"voices6.res", GAME_VOICEFILE, "211be5c24f066d69a2f6cfa953acfba6"},
{ NULL, 0, NULL}
};
// I Have No Mouth and I Must Scream - Censored CD version (without Nimdok)
@ -767,7 +791,8 @@ static const ADGameFileDescription IHNM_CD_DE_GameFiles[] = {
{"voices2.res", GAME_VOICEFILE, "c270e0980782af43641a86e4a14e2a32"},
{"voices3.res", GAME_VOICEFILE, "49e42befea883fd101ec3d0f5d0647b9"},
{"voices5.res", GAME_VOICEFILE, "c477443c52a0aa56e686ebd8d051e4ab"},
{"voices6.res", GAME_VOICEFILE, "2b9aea838f74b4eecfb29a8f205a2bd4"}
{"voices6.res", GAME_VOICEFILE, "2b9aea838f74b4eecfb29a8f205a2bd4"},
{ NULL, 0, NULL}
};
static const ADGameFileDescription IHNM_CD_FR_GameFiles[] = {
@ -782,7 +807,8 @@ static const ADGameFileDescription IHNM_CD_FR_GameFiles[] = {
{"voices2.res", GAME_VOICEFILE, "c2d93a35d2c2def9c3d6d242576c794b"},
{"voices3.res", GAME_VOICEFILE, "49e42befea883fd101ec3d0f5d0647b9"},
{"voices5.res", GAME_VOICEFILE, "f4c415de7c03de86b73f9a12b8bd632f"},
{"voices6.res", GAME_VOICEFILE, "3fc5358a5d8eee43bdfab2740276572e"}
{"voices6.res", GAME_VOICEFILE, "3fc5358a5d8eee43bdfab2740276572e"},
{ NULL, 0, NULL}
};
static const GameFontDescription IHNMDEMO_GameFonts[] = {
@ -819,7 +845,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"Demo", // Game title
ARRAYSIZE(ITE_DEMO_G_GameFiles), // Game datafiles
ITE_DEMO_G_GameFiles,
Common::EN_ANY,
Common::kPlatformPC,
@ -844,7 +869,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"Demo",
ARRAYSIZE(ITE_MACDEMO2_GameFiles),
ITE_MACDEMO2_GameFiles,
Common::EN_ANY,
Common::kPlatformMacintosh,
@ -869,7 +893,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"early Demo",
ARRAYSIZE(ITE_MACDEMO1_GameFiles),
ITE_MACDEMO1_GameFiles,
Common::EN_ANY,
Common::kPlatformMacintosh,
@ -894,7 +917,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"CD",
ARRAYSIZE(ITE_MACCD_G_GameFiles),
ITE_MACCD_G_GameFiles,
Common::EN_ANY,
Common::kPlatformMacintosh,
@ -919,7 +941,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"Wyrmkeep CD",
ARRAYSIZE(ITE_MACCD_GameFiles),
ITE_MACCD_GameFiles,
Common::EN_ANY,
Common::kPlatformMacintosh,
@ -945,7 +966,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"Demo",
ARRAYSIZE(ITE_LINDEMO_GameFiles),
ITE_LINDEMO_GameFiles,
Common::EN_ANY,
Common::kPlatformLinux,
@ -970,7 +990,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"Demo",
ARRAYSIZE(ITE_WINDEMO2_GameFiles),
ITE_WINDEMO2_GameFiles,
Common::EN_ANY,
Common::kPlatformWindows,
@ -995,7 +1014,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"early Demo",
ARRAYSIZE(ITE_WINDEMO1_GameFiles),
ITE_WINDEMO1_GameFiles,
Common::EN_ANY,
Common::kPlatformWindows,
@ -1020,7 +1038,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"Multi-OS CD Version",
ARRAYSIZE(ITE_MULTICD_GameFiles),
ITE_MULTICD_GameFiles,
Common::EN_ANY,
Common::kPlatformUnknown,
@ -1045,7 +1062,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"CD Version",
ARRAYSIZE(ITE_LINCD_GameFiles),
ITE_LINCD_GameFiles,
Common::EN_ANY,
Common::kPlatformLinux,
@ -1070,7 +1086,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"CD Version",
ARRAYSIZE(ITE_WINCD_GameFiles),
ITE_WINCD_GameFiles,
Common::EN_ANY,
Common::kPlatformWindows,
@ -1095,7 +1110,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"CD Version",
ARRAYSIZE(ITE_CD_G_GameFiles),
ITE_CD_G_GameFiles,
Common::EN_ANY,
Common::kPlatformPC,
@ -1120,7 +1134,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"CD Version",
ARRAYSIZE(ITE_CD_G2_GameFiles),
ITE_CD_G2_GameFiles,
Common::EN_ANY,
Common::kPlatformPC,
@ -1145,7 +1158,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"CD Version",
ARRAYSIZE(ITE_CD_DE_GameFiles),
ITE_CD_DE_GameFiles,
Common::DE_DEU,
Common::kPlatformPC,
@ -1170,7 +1182,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"CD Version",
ARRAYSIZE(ITE_CD_DE2_GameFiles),
ITE_CD_DE2_GameFiles,
Common::DE_DEU,
Common::kPlatformPC,
@ -1195,7 +1206,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"CD Version",
ARRAYSIZE(ITE_CD_GameFiles),
ITE_CD_GameFiles,
Common::EN_ANY,
Common::kPlatformPC,
@ -1220,7 +1230,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"Floppy",
ARRAYSIZE(ITE_DISK_DE_GameFiles),
ITE_DISK_DE_GameFiles,
Common::DE_DEU,
Common::kPlatformPC,
@ -1245,7 +1254,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"Floppy",
ARRAYSIZE(ITE_DISK_DE2_GameFiles),
ITE_DISK_DE2_GameFiles,
Common::DE_DEU,
Common::kPlatformPC,
@ -1270,7 +1278,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"Floppy",
ARRAYSIZE(ITE_DISK_G_GameFiles),
ITE_DISK_G_GameFiles,
Common::EN_ANY,
Common::kPlatformPC,
@ -1295,7 +1302,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ite",
"Floppy",
ARRAYSIZE(ITE_DISK_G2_GameFiles),
ITE_DISK_G2_GameFiles,
Common::EN_ANY,
Common::kPlatformPC,
@ -1320,7 +1326,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ihnm",
"Demo",
ARRAYSIZE(IHNM_DEMO_GameFiles),
IHNM_DEMO_GameFiles,
Common::EN_ANY,
Common::kPlatformPC,
@ -1345,7 +1350,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ihnm",
"",
ARRAYSIZE(IHNM_CD_GameFiles),
IHNM_CD_GameFiles,
Common::EN_ANY,
Common::kPlatformPC,
@ -1370,7 +1374,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ihnm",
"",
ARRAYSIZE(IHNM_CD_DE_GameFiles),
IHNM_CD_DE_GameFiles,
Common::DE_DEU,
Common::kPlatformPC,
@ -1395,7 +1398,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ihnm",
"",
ARRAYSIZE(IHNM_CD_ES_GameFiles),
IHNM_CD_ES_GameFiles,
Common::ES_ESP,
Common::kPlatformPC,
@ -1420,7 +1422,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ihnm",
"",
ARRAYSIZE(IHNM_CD_RU_GameFiles),
IHNM_CD_RU_GameFiles,
Common::RU_RUS,
Common::kPlatformPC,
@ -1445,7 +1446,6 @@ static const SAGAGameDescription gameDescriptions[] = {
{
"ihnm",
"",
ARRAYSIZE(IHNM_CD_FR_GameFiles),
IHNM_CD_FR_GameFiles,
Common::FR_FRA,
Common::kPlatformPC,
@ -1464,5 +1464,5 @@ static const SAGAGameDescription gameDescriptions[] = {
0,
NULL,
},
{ { NULL, NULL, 0, NULL, Common::UNK_LANG, Common::kPlatformUnknown }, 0, 0, 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL, 0, NULL }
{ { NULL, NULL, NULL, Common::UNK_LANG, Common::kPlatformUnknown }, 0, 0, 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL, 0, NULL }
};