2009-09-17 12:02:17 +00:00
/* ScummVM Tools
* Copyright ( C ) 2009 The ScummVM project
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation ; either version 2
* of the License , or ( at your option ) any later version .
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 , USA .
*
* $ URL $
* $ Id $
*
*/
# include "create_kyradat.h"
// Game tables
namespace {
const Game kyra1Games [ ] = {
// Demos
2009-11-21 03:46:52 +00:00
{ kKyra1 , { EN_ANY , - 1 , - 1 } , kPlatformPC , kDemoVersion , { " 7b7504c8560ffc914d34c44c71b3094c " , 0 } } ,
{ kKyra1 , { EN_ANY , - 1 , - 1 } , kPlatformPC , kTalkieDemoVersion , { " 226fdba99cb11ef1047131d9a50e6292 " , 0 } } ,
2009-09-17 12:02:17 +00:00
// Amiga
2009-11-21 03:46:52 +00:00
{ kKyra1 , { EN_ANY , - 1 , - 1 } , kPlatformAmiga , kNoSpecial , { " b620564b6b7e0787b053ca9e35bd9f52 " , 0 } } ,
{ kKyra1 , { DE_DEU , - 1 , - 1 } , kPlatformAmiga , kNoSpecial , { " ceddb4bd4df51698e3851e75106d117a " , 0 } } ,
2009-09-17 12:02:17 +00:00
// Floppy
2009-11-21 03:46:52 +00:00
{ kKyra1 , { EN_ANY , - 1 , - 1 } , kPlatformPC , kNoSpecial , { " 76a4fc84e173cadb6369785787e1546e " , 0 } } ,
{ kKyra1 , { DE_DEU , - 1 , - 1 } , kPlatformPC , kNoSpecial , { " 9442d6f7db6a41f3dd4aa4de5d36e107 " , 0 } } ,
{ kKyra1 , { FR_FRA , - 1 , - 1 } , kPlatformPC , kNoSpecial , { " aa9d6d78d8b199deaf48efeca6d19af2 " , 0 } } ,
{ kKyra1 , { IT_ITA , - 1 , - 1 } , kPlatformPC , kNoSpecial , { " 5d7550306b369a3492f9f3402702477c " , 0 } } ,
{ kKyra1 , { ES_ESP , - 1 , - 1 } , kPlatformPC , kNoSpecial , { " 9ff130d2558bcd674d4074849d93c362 " , 0 } } ,
2009-09-17 12:02:17 +00:00
// Talkie
2009-11-21 03:46:52 +00:00
{ kKyra1 , { EN_ANY , - 1 , - 1 } , kPlatformPC , kTalkieVersion , { " 1ebc18f3e7fbb72474a55cb0fa089ed4 " , 0 } } ,
{ kKyra1 , { DE_DEU , - 1 , - 1 } , kPlatformPC , kTalkieVersion , { " c65d381184f98ac26d9efd2d45baef51 " , 0 } } ,
{ kKyra1 , { FR_FRA , - 1 , - 1 } , kPlatformPC , kTalkieVersion , { " 307c5d4a554d9068ac3d326e350ae4a6 " , 0 } } ,
{ kKyra1 , { IT_ITA , - 1 , - 1 } , kPlatformPC , kTalkieVersion , { " d0f1752098236083d81b9497bd2b6989 " , 0 } } , // Italian fan translation
2009-09-17 12:02:17 +00:00
// FM-TOWNS
2009-11-21 03:46:52 +00:00
{ kKyra1 , { EN_ANY , JA_JPN , - 1 } , kPlatformFMTowns , kNoSpecial , { " 5a3ad60ccd0f2e29463e0368cd14a60d " , 0 } } ,
2009-09-17 12:02:17 +00:00
2009-11-14 22:51:35 +00:00
// PC-98
2009-11-21 03:46:52 +00:00
{ kKyra1 , { JA_JPN , - 1 , - 1 } , kPlatformPC98 , kNoSpecial , { " b9c06ac5177f5bf1f1acc0eea3937f6d " , 0 } } ,
2009-11-14 22:51:35 +00:00
2009-09-17 12:02:17 +00:00
GAME_DUMMY_ENTRY
} ;
const Game kyra2Games [ ] = {
// demos
2009-11-21 03:46:52 +00:00
{ kKyra2 , { EN_ANY , - 1 , - 1 } , kPlatformPC , kDemoVersion , { " a620a37579dd44ab0403482285e3897f " , 0 } } ,
2009-11-19 17:44:19 +00:00
2009-11-21 03:46:52 +00:00
{ kKyra2 , { EN_ANY , FR_FRA , DE_DEU } , kPlatformPC , kTalkieDemoVersion , { " 85bbc1cc6c4cef6ad31fc6ee79518efb " , " fa54d8abfe05f9186c05f7de7eaf1480 " } } ,
2009-09-17 12:02:17 +00:00
// floppy games
2009-11-21 03:46:52 +00:00
{ kKyra2 , { EN_ANY , - 1 , - 1 } , kPlatformPC , kNoSpecial , { " 9b0f5e57b5a2ed88b5b989cbb402b6c7 " , " 7c3eadbe5122722cf2e5e1611e19dfb9 " } } ,
{ kKyra2 , { FR_FRA , - 1 , - 1 } , kPlatformPC , kNoSpecial , { " df31cc9e37e1cf68df2fdc75ddf2d87b " , " fc2c6782778e6c6d5a553d1cb73c98ad " } } ,
{ kKyra2 , { DE_DEU , - 1 , - 1 } , kPlatformPC , kNoSpecial , { " 0ca4f9a1438264a4c63c3218e064ed3b " , " 0d9b0eb7b0ad889ec942d74d80dde1bf " } } ,
{ kKyra2 , { IT_ITA , - 1 , - 1 } , kPlatformPC , kNoSpecial , { " 178d3ab913f61bfba21d2fb196405e8c " , " 3a61ed6b7c00ddae383a0361799e2ba6 " } } ,
2009-09-17 12:02:17 +00:00
// talkie games
2009-11-21 03:46:52 +00:00
{ kKyra2 , { EN_ANY , FR_FRA , DE_DEU } , kPlatformPC , kTalkieVersion , { " 85bbc1cc6c4cef6ad31fc6ee79518efb " , " e20d0d2e500f01e399ec588247a7e213 " } } ,
{ kKyra2 , { IT_ITA , FR_FRA , DE_DEU } , kPlatformPC , kTalkieVersion , { " 130795aa8f2333250c895dae9028b9bb " , " e20d0d2e500f01e399ec588247a7e213 " } } , // Italian Fan Translation
2009-09-17 12:02:17 +00:00
// FM-TOWNS games
2009-11-21 03:46:52 +00:00
{ kKyra2 , { EN_ANY , JA_JPN , - 1 } , kPlatformFMTowns , kNoSpecial , { " 74f50d79c919cc8e7196c24942ce43d7 " , " a9a7fd4f05d00090e9e8bda073e6d431 " } } ,
2009-09-17 12:02:17 +00:00
GAME_DUMMY_ENTRY
} ;
const Game kyra3Games [ ] = {
2009-09-17 13:46:01 +00:00
// DOS CD (multi language version, with no language specific strings)
2009-11-21 03:46:52 +00:00
{ kKyra3 , { EN_ANY , FR_FRA , DE_DEU } , kPlatformPC , kTalkieVersion , { " bf68701eb591d0b72219f314c0d32688 " , 0 } } ,
{ kKyra3 , { EN_ANY , IT_ITA , DE_DEU } , kPlatformPC , kTalkieVersion , { " bf68701eb591d0b72219f314c0d32688 " , 0 } } , // Fan translation // TODO: Verify md5sum
{ kKyra3 , { ES_ESP , FR_FRA , DE_DEU } , kPlatformPC , kTalkieVersion , { " bf68701eb591d0b72219f314c0d32688 " , 0 } } , // Fan translation // TODO: Verify md5sum
2009-09-17 13:46:01 +00:00
2009-09-17 12:02:17 +00:00
GAME_DUMMY_ENTRY
} ;
const Game lolGames [ ] = {
// DOS demo
2009-11-21 03:46:52 +00:00
{ kLol , { EN_ANY , - 1 , - 1 } , kPlatformPC , kDemoVersion , { " 30bb5af87d38adb47d3e6ce06b1cb042 " , 0 } } ,
2009-09-17 12:02:17 +00:00
2009-09-17 13:46:01 +00:00
// DOS floppy (no language specifc strings)
2009-11-21 03:46:52 +00:00
{ kLol , { DE_DEU , - 1 , - 1 } , kPlatformPC , kNoSpecial , { " 6b843869772c1b779e1386be868c15dd " , 0 } } ,
2009-09-17 12:02:17 +00:00
2009-09-17 19:51:16 +00:00
// PC98 (no language specifc strings)
2009-11-21 03:46:52 +00:00
{ kLol , { JA_JPN , - 1 , - 1 } , kPlatformPC98 , kNoSpecial , { " 6d5bd4a2f5ce433365734ca6b7a8d984 " , " 1b0a457c48ae6908da301b656fe0aab4 " } } ,
2009-09-17 19:51:16 +00:00
2009-09-17 13:46:01 +00:00
// DOS CD (multi language version, with no language specific strings)
2009-11-21 03:46:52 +00:00
{ kLol , { EN_ANY , FR_FRA , DE_DEU } , kPlatformPC , kTalkieVersion , { " 9d1778314de80598c0b0d032e2a1a1cf " , " 263998ec600afca1cc7b935c473df670 " } } ,
2009-09-17 12:02:17 +00:00
GAME_DUMMY_ENTRY
} ;
} // end of anonymous namespace
2009-11-20 19:32:15 +00:00
const Game * const gameDescs [ ] = {
2009-09-17 12:02:17 +00:00
kyra1Games ,
kyra2Games ,
kyra3Games ,
lolGames ,
0
} ;
// Need tables
namespace {
2007-02-03 14:52:02 +00:00
const int kyra1FloppyNeed [ ] = {
kKallakWritingSeq ,
kMalcolmTreeSeq ,
kWestwoodLogoSeq ,
kKyrandiaLogoSeq ,
kKallakMalcolmSeq ,
kForestSeq ,
kIntroCPSStrings ,
kIntroCOLStrings ,
kIntroWSAStrings ,
kIntroStrings ,
kRoomList ,
kRoomFilenames ,
kCharacterImageFilenames ,
kDefaultShapes ,
kItemNames ,
kTakenStrings ,
kPlacedStrings ,
kDroppedStrings ,
kNoDropStrings ,
kAmuleteAnimSeq ,
2009-11-21 17:04:52 +00:00
kSpecialPalette1 ,
kSpecialPalette2 ,
kSpecialPalette3 ,
kSpecialPalette4 ,
kSpecialPalette5 ,
kSpecialPalette6 ,
kSpecialPalette7 ,
kSpecialPalette8 ,
kSpecialPalette9 ,
kSpecialPalette10 ,
kSpecialPalette11 ,
kSpecialPalette12 ,
kSpecialPalette13 ,
kSpecialPalette14 ,
kSpecialPalette15 ,
kSpecialPalette16 ,
kSpecialPalette17 ,
kSpecialPalette18 ,
kSpecialPalette19 ,
kSpecialPalette20 ,
kSpecialPalette21 ,
kSpecialPalette22 ,
kSpecialPalette23 ,
kSpecialPalette24 ,
kSpecialPalette25 ,
kSpecialPalette26 ,
kSpecialPalette27 ,
kSpecialPalette28 ,
kSpecialPalette29 ,
kSpecialPalette30 ,
kSpecialPalette31 ,
kSpecialPalette32 ,
kSpecialPalette33 ,
2007-02-03 14:52:02 +00:00
kPutDownString ,
kWaitAmuletString ,
kBlackJewelString ,
kHealingTipString ,
kPoisonGoneString ,
kHealing1Shapes ,
kHealing2Shapes ,
kThePoisonStrings ,
kFluteStrings ,
kPoisonDeathShapes ,
kFluteShapes ,
kWinter1Shapes ,
kWinter2Shapes ,
kWinter3Shapes ,
kDrinkShapes ,
kWispShapes ,
kMagicAnimShapes ,
kBranStoneShapes ,
kWispJewelStrings ,
kMagicJewelStrings ,
kFlaskFullString ,
kFullFlaskString ,
kOutroReunionSeq ,
kOutroHomeString ,
kVeryCleverString ,
kGUIStrings ,
kNewGameString ,
kConfigStrings ,
2008-01-10 23:24:43 +00:00
kAudioTracks ,
kAudioTracksIntro ,
2007-02-03 14:52:02 +00:00
- 1
} ;
const int kyra1CDNeed [ ] = {
kKallakWritingSeq ,
kMalcolmTreeSeq ,
kWestwoodLogoSeq ,
kKyrandiaLogoSeq ,
kKallakMalcolmSeq ,
kForestSeq ,
kIntroCPSStrings ,
kIntroCOLStrings ,
kIntroWSAStrings ,
kIntroStrings ,
kRoomList ,
kRoomFilenames ,
kCharacterImageFilenames ,
kDefaultShapes ,
kItemNames ,
kTakenStrings ,
kPlacedStrings ,
kDroppedStrings ,
kNoDropStrings ,
kAmuleteAnimSeq ,
2009-11-21 17:04:52 +00:00
kSpecialPalette1 ,
kSpecialPalette2 ,
kSpecialPalette3 ,
kSpecialPalette4 ,
kSpecialPalette5 ,
kSpecialPalette6 ,
kSpecialPalette7 ,
kSpecialPalette8 ,
kSpecialPalette9 ,
kSpecialPalette10 ,
kSpecialPalette11 ,
kSpecialPalette12 ,
kSpecialPalette13 ,
kSpecialPalette14 ,
kSpecialPalette15 ,
kSpecialPalette16 ,
kSpecialPalette17 ,
kSpecialPalette18 ,
kSpecialPalette19 ,
kSpecialPalette20 ,
kSpecialPalette21 ,
kSpecialPalette22 ,
kSpecialPalette23 ,
kSpecialPalette24 ,
kSpecialPalette25 ,
kSpecialPalette26 ,
kSpecialPalette27 ,
kSpecialPalette28 ,
kSpecialPalette29 ,
kSpecialPalette30 ,
kSpecialPalette31 ,
kSpecialPalette32 ,
kSpecialPalette33 ,
2007-02-03 14:52:02 +00:00
kPutDownString ,
kWaitAmuletString ,
kBlackJewelString ,
kHealingTipString ,
kPoisonGoneString ,
kHealing1Shapes ,
kHealing2Shapes ,
kThePoisonStrings ,
kFluteStrings ,
kPoisonDeathShapes ,
kFluteShapes ,
kWinter1Shapes ,
kWinter2Shapes ,
kWinter3Shapes ,
kDrinkShapes ,
kWispShapes ,
kMagicAnimShapes ,
kBranStoneShapes ,
kWispJewelStrings ,
kMagicJewelStrings ,
kFlaskFullString ,
kFullFlaskString ,
kOutroReunionSeq ,
kOutroHomeString ,
kVeryCleverString ,
kGUIStrings ,
kNewGameString ,
kConfigStrings ,
2008-01-10 23:24:43 +00:00
kAudioTracks ,
kAudioTracksIntro ,
2007-02-03 14:52:02 +00:00
- 1
} ;
const int kyra1DemoNeed [ ] = {
kWestwoodLogoSeq ,
kKyrandiaLogoSeq ,
kIntroCPSStrings ,
kIntroCOLStrings ,
kIntroWSAStrings ,
kIntroStrings ,
kDemo1Seq ,
kDemo2Seq ,
kDemo3Seq ,
kDemo4Seq ,
2008-04-10 15:05:59 +00:00
kAudioTracksIntro ,
2007-02-03 14:52:02 +00:00
- 1
} ;
2009-08-25 22:37:34 +00:00
const int kyra1DemoCDNeed [ ] = {
kKallakWritingSeq ,
kMalcolmTreeSeq ,
kWestwoodLogoSeq ,
kKyrandiaLogoSeq ,
kKallakMalcolmSeq ,
kForestSeq ,
kIntroCPSStrings ,
kIntroCOLStrings ,
kIntroWSAStrings ,
kIntroStrings ,
kAudioTracksIntro ,
- 1
} ;
2009-09-16 20:52:59 +00:00
const int kyra1TownsNeed [ ] = {
2007-02-07 19:29:15 +00:00
kKallakWritingSeq ,
kMalcolmTreeSeq ,
kWestwoodLogoSeq ,
kKyrandiaLogoSeq ,
kKallakMalcolmSeq ,
kForestSeq ,
kIntroCPSStrings ,
kIntroCOLStrings ,
kIntroWSAStrings ,
kIntroStrings ,
kRoomList ,
kRoomFilenames ,
kCharacterImageFilenames ,
kDefaultShapes ,
kItemNames ,
kTakenStrings ,
kPlacedStrings ,
kDroppedStrings ,
kNoDropStrings ,
kAmuleteAnimSeq ,
2009-11-21 17:04:52 +00:00
kSpecialPalette1 ,
kSpecialPalette2 ,
kSpecialPalette3 ,
kSpecialPalette4 ,
kSpecialPalette5 ,
kSpecialPalette6 ,
kSpecialPalette7 ,
kSpecialPalette8 ,
kSpecialPalette9 ,
kSpecialPalette10 ,
kSpecialPalette11 ,
kSpecialPalette12 ,
kSpecialPalette13 ,
kSpecialPalette14 ,
kSpecialPalette15 ,
kSpecialPalette16 ,
kSpecialPalette17 ,
kSpecialPalette18 ,
kSpecialPalette19 ,
kSpecialPalette20 ,
kSpecialPalette21 ,
kSpecialPalette22 ,
kSpecialPalette23 ,
kSpecialPalette24 ,
kSpecialPalette25 ,
kSpecialPalette26 ,
kSpecialPalette27 ,
kSpecialPalette28 ,
kSpecialPalette29 ,
kSpecialPalette30 ,
kSpecialPalette31 ,
kSpecialPalette32 ,
kSpecialPalette33 ,
2007-02-07 19:29:15 +00:00
kPutDownString ,
kWaitAmuletString ,
kBlackJewelString ,
kHealingTipString ,
kPoisonGoneString ,
kHealing1Shapes ,
kHealing2Shapes ,
kThePoisonStrings ,
kFluteStrings ,
kPoisonDeathShapes ,
kFluteShapes ,
kWinter1Shapes ,
kWinter2Shapes ,
kWinter3Shapes ,
kDrinkShapes ,
kWispShapes ,
kMagicAnimShapes ,
kBranStoneShapes ,
kWispJewelStrings ,
kMagicJewelStrings ,
kFlaskFullString ,
kFullFlaskString ,
kOutroReunionSeq ,
kOutroHomeString ,
kVeryCleverString ,
kGUIStrings ,
kNewGameString ,
kConfigStrings ,
2009-11-20 19:31:33 +00:00
kTOWNSSfxWDTable ,
kTOWNSSfxBTTable ,
kTOWNSCDATable ,
2008-01-10 23:24:43 +00:00
kAudioTracks ,
2007-02-07 19:29:15 +00:00
kCreditsStrings ,
- 1
} ;
2009-11-14 22:51:35 +00:00
const int kyra1PC98Need [ ] = {
kKallakWritingSeq ,
kMalcolmTreeSeq ,
kWestwoodLogoSeq ,
kKyrandiaLogoSeq ,
kKallakMalcolmSeq ,
kForestSeq ,
kIntroCPSStrings ,
kIntroCOLStrings ,
kIntroWSAStrings ,
kIntroStrings ,
kRoomList ,
kRoomFilenames ,
kCharacterImageFilenames ,
kDefaultShapes ,
kItemNames ,
kTakenStrings ,
kPlacedStrings ,
kDroppedStrings ,
kNoDropStrings ,
kAmuleteAnimSeq ,
2009-11-21 17:04:52 +00:00
kSpecialPalette1 ,
kSpecialPalette2 ,
kSpecialPalette3 ,
kSpecialPalette4 ,
kSpecialPalette5 ,
kSpecialPalette6 ,
kSpecialPalette7 ,
kSpecialPalette8 ,
kSpecialPalette9 ,
kSpecialPalette10 ,
kSpecialPalette11 ,
kSpecialPalette12 ,
kSpecialPalette13 ,
kSpecialPalette14 ,
kSpecialPalette15 ,
kSpecialPalette16 ,
kSpecialPalette17 ,
kSpecialPalette18 ,
kSpecialPalette19 ,
kSpecialPalette20 ,
kSpecialPalette21 ,
kSpecialPalette22 ,
kSpecialPalette23 ,
kSpecialPalette24 ,
kSpecialPalette25 ,
kSpecialPalette26 ,
kSpecialPalette27 ,
kSpecialPalette28 ,
kSpecialPalette29 ,
kSpecialPalette30 ,
kSpecialPalette31 ,
kSpecialPalette32 ,
kSpecialPalette33 ,
2009-11-14 22:51:35 +00:00
kPutDownString ,
kWaitAmuletString ,
kBlackJewelString ,
kHealingTipString ,
kPoisonGoneString ,
kHealing1Shapes ,
kHealing2Shapes ,
kThePoisonStrings ,
kFluteStrings ,
kPoisonDeathShapes ,
kFluteShapes ,
kWinter1Shapes ,
kWinter2Shapes ,
kWinter3Shapes ,
kDrinkShapes ,
kWispShapes ,
kMagicAnimShapes ,
kBranStoneShapes ,
kWispJewelStrings ,
kMagicJewelStrings ,
kFlaskFullString ,
kFullFlaskString ,
kOutroReunionSeq ,
kOutroHomeString ,
kVeryCleverString ,
kGUIStrings ,
kNewGameString ,
kConfigStrings ,
2009-11-20 19:31:33 +00:00
kPC98StoryStrings ,
kPC98IntroSfx ,
2009-11-14 22:51:35 +00:00
kCreditsStrings ,
- 1
} ;
2007-03-12 20:42:28 +00:00
const int kyra1AmigaNeed [ ] = {
kKallakWritingSeq ,
kMalcolmTreeSeq ,
kWestwoodLogoSeq ,
kKyrandiaLogoSeq ,
kKallakMalcolmSeq ,
kForestSeq ,
kIntroCPSStrings ,
kIntroWSAStrings ,
kIntroCOLStrings ,
kIntroStrings ,
kRoomList ,
kRoomFilenames ,
kCharacterImageFilenames ,
kDefaultShapes ,
kItemNames ,
kTakenStrings ,
kPlacedStrings ,
kDroppedStrings ,
kNoDropStrings ,
kAmuleteAnimSeq ,
kPutDownString ,
kWaitAmuletString ,
kBlackJewelString ,
kHealingTipString ,
kPoisonGoneString ,
kHealing1Shapes ,
kHealing2Shapes ,
kThePoisonStrings ,
kFluteStrings ,
kPoisonDeathShapes ,
kFluteShapes ,
kWinter1Shapes ,
kWinter2Shapes ,
kWinter3Shapes ,
kDrinkShapes ,
kWispShapes ,
kMagicAnimShapes ,
kBranStoneShapes ,
kWispJewelStrings ,
kMagicJewelStrings ,
kFlaskFullString ,
kFullFlaskString ,
kOutroReunionSeq ,
kOutroHomeString ,
kVeryCleverString ,
kGUIStrings ,
kNewGameString ,
kConfigStrings ,
kCreditsStrings ,
2009-08-29 07:52:24 +00:00
kAmigaIntroSFXTable ,
kAmigaGameSFXTable ,
2007-03-12 20:42:28 +00:00
- 1
} ;
2009-11-20 19:32:15 +00:00
const int kyra2CDNeed [ ] = {
2008-01-10 23:24:43 +00:00
k2SeqplayPakFiles ,
k2SeqplayCredits ,
2008-01-27 02:06:59 +00:00
k2SeqplayCreditsSpecial ,
2008-01-10 23:24:43 +00:00
k2SeqplayStrings ,
k2SeqplaySfxFiles ,
2008-08-03 12:50:56 +00:00
k2SeqplayTlkFiles ,
2008-01-10 23:24:43 +00:00
k2SeqplaySeqData ,
k2SeqplayIntroTracks ,
k2SeqplayFinaleTracks ,
2008-01-27 02:06:59 +00:00
k2IngameSfxFiles ,
k2IngameSfxIndex ,
2008-01-10 23:24:43 +00:00
k2IngameTracks ,
2008-02-16 15:45:15 +00:00
k2IngameTalkObjIndex ,
2008-04-06 14:54:14 +00:00
k2IngameItemAnimData ,
2008-01-10 23:24:43 +00:00
- 1
} ;
2009-09-16 20:52:59 +00:00
const int kyra2CDDemoNeed [ ] = {
2009-11-20 19:32:15 +00:00
k2SeqplayPakFiles ,
k2SeqplayCredits ,
k2SeqplayCreditsSpecial ,
k2SeqplayStrings ,
k2SeqplaySfxFiles ,
k2SeqplayTlkFiles ,
k2SeqplaySeqData ,
k2SeqplayIntroTracks ,
k2SeqplayFinaleTracks ,
2009-09-16 20:52:59 +00:00
k2IngameSfxFiles ,
k2IngameSfxIndex ,
k2IngameTracks ,
k2IngameTalkObjIndex ,
k2IngameItemAnimData ,
k2IngameTlkDemoStrings ,
2008-01-10 23:24:43 +00:00
- 1
} ;
2009-11-20 19:32:15 +00:00
const int kyra2FloppyNeed [ ] = {
2008-01-10 23:24:43 +00:00
k2SeqplayPakFiles ,
k2SeqplayStrings ,
k2SeqplaySfxFiles ,
k2SeqplayIntroTracks ,
k2SeqplayFinaleTracks ,
k2SeqplaySeqData ,
k2IngamePakFiles ,
2008-01-27 02:06:59 +00:00
k2IngameSfxFiles ,
k2IngameSfxIndex ,
2008-01-10 23:24:43 +00:00
k2IngameTracks ,
2008-02-16 15:45:15 +00:00
k2IngameTalkObjIndex ,
2008-04-06 14:54:14 +00:00
k2IngameItemAnimData ,
2008-01-10 23:24:43 +00:00
- 1
} ;
2009-11-20 19:32:15 +00:00
const int kyra2TownsNeed [ ] = {
2008-01-10 23:24:43 +00:00
k2SeqplayPakFiles ,
k2SeqplayStrings ,
k2SeqplaySfxFiles ,
k2SeqplaySeqData ,
k2SeqplayIntroCDA ,
k2SeqplayFinaleCDA ,
k2IngamePakFiles ,
2008-05-12 21:52:44 +00:00
k2IngameSfxFilesTns ,
2008-01-27 02:06:59 +00:00
k2IngameSfxIndex ,
2008-01-10 23:24:43 +00:00
k2IngameCDA ,
2008-02-16 15:45:15 +00:00
k2IngameTalkObjIndex ,
k2IngameTimJpStrings ,
2008-04-06 14:54:14 +00:00
k2IngameItemAnimData ,
2008-01-10 23:24:43 +00:00
- 1
} ;
const int kyra2DemoNeed [ ] = {
k2SeqplayPakFiles ,
k2SeqplaySeqData ,
k2SeqplaySfxFiles ,
k2SeqplayIntroTracks ,
2008-04-06 14:54:14 +00:00
k2SeqplayShapeAnimData ,
2008-01-10 23:24:43 +00:00
- 1
} ;
2008-05-12 13:35:58 +00:00
const int kyra3Need [ ] = {
k3MainMenuStrings ,
k3MusicFiles ,
k3ScoreTable ,
k3SfxFiles ,
k3SfxMap ,
k3ItemAnimData ,
k3ItemMagicTable ,
k3ItemStringMap ,
- 1
} ;
2009-09-02 06:24:01 +00:00
const int lolFloppyNeed [ ] = {
kLolIngamePakFiles ,
kLolCharacterDefs ,
kLolIngameSfxFiles ,
kLolIngameSfxIndex ,
kLolMusicTrackMap ,
kLolGMSfxIndex ,
kLolMT32SfxIndex ,
2009-11-19 22:17:27 +00:00
kLolPcSpkSfxIndex ,
2009-09-02 06:24:01 +00:00
kLolSpellProperties ,
kLolGameShapeMap ,
kLolSceneItemOffs ,
kLolCharInvIndex ,
kLolCharInvDefs ,
kLolCharDefsMan ,
kLolCharDefsWoman ,
kLolCharDefsKieran ,
kLolCharDefsAkshel ,
kLolExpRequirements ,
kLolMonsterModifiers ,
kLolMonsterLevelOffsets ,
kLolMonsterDirFlags ,
kLolMonsterScaleY ,
kLolMonsterScaleX ,
kLolMonsterScaleWH ,
kLolFlyingItemShp ,
kLolInventoryDesc ,
kLolLevelShpList ,
kLolLevelDatList ,
kLolCompassDefs ,
kLolStashSetup ,
kLolDscUnk1 ,
kLolDscShapeIndex1 ,
kLolDscShapeIndex2 ,
kLolDscScaleWidthData ,
kLolDscScaleHeightData ,
kLolDscX ,
kLolDscY ,
kLolDscTileIndex ,
kLolDscUnk2 ,
kLolDscDoorShapeIndex ,
kLolDscDimData1 ,
kLolDscDimData2 ,
kLolDscBlockMap ,
kLolDscDimMap ,
kLolDscShapeOvlIndex ,
kLolDscBlockIndex ,
kLolDscDoor1 ,
kLolDscDoorScale ,
kLolDscDoor4 ,
kLolDscDoorX ,
kLolDscDoorY ,
kLolScrollXTop ,
kLolScrollYTop ,
kLolScrollXBottom ,
kLolScrollYBottom ,
kLolButtonDefs ,
kLolButtonList1 ,
kLolButtonList1 ,
kLolButtonList2 ,
kLolButtonList3 ,
kLolButtonList4 ,
kLolButtonList5 ,
kLolButtonList6 ,
kLolButtonList7 ,
kLolButtonList8 ,
kLolLegendData ,
kLolMapCursorOvl ,
kLolMapStringId ,
kLolSpellbookAnim ,
kLolSpellbookCoords ,
kLolHealShapeFrames ,
kLolLightningDefs ,
kLolFireballCoords ,
- 1
} ;
2009-11-20 19:32:15 +00:00
const int lolPC98Need [ ] = {
2009-09-17 19:51:16 +00:00
kLolIngamePakFiles ,
kLolCharacterDefs ,
kLolIngameSfxFiles ,
kLolIngameSfxIndex ,
kLolSpellProperties ,
kLolGameShapeMap ,
kLolSceneItemOffs ,
kLolCharInvIndex ,
kLolCharInvDefs ,
kLolCharDefsMan ,
kLolCharDefsWoman ,
kLolCharDefsKieran ,
kLolCharDefsAkshel ,
kLolExpRequirements ,
kLolMonsterModifiers ,
kLolMonsterLevelOffsets ,
kLolMonsterDirFlags ,
kLolMonsterScaleY ,
kLolMonsterScaleX ,
kLolMonsterScaleWH ,
kLolFlyingItemShp ,
kLolInventoryDesc ,
kLolLevelShpList ,
kLolLevelDatList ,
kLolCompassDefs ,
kLolStashSetup ,
kLolDscUnk1 ,
kLolDscShapeIndex1 ,
kLolDscShapeIndex2 ,
kLolDscScaleWidthData ,
kLolDscScaleHeightData ,
kLolDscX ,
kLolDscY ,
kLolDscTileIndex ,
kLolDscUnk2 ,
kLolDscDoorShapeIndex ,
kLolDscDimData1 ,
kLolDscDimData2 ,
kLolDscBlockMap ,
kLolDscDimMap ,
kLolDscShapeOvlIndex ,
kLolDscBlockIndex ,
kLolDscDoor1 ,
kLolDscDoorScale ,
kLolDscDoor4 ,
kLolDscDoorX ,
kLolDscDoorY ,
kLolScrollXTop ,
kLolScrollYTop ,
kLolScrollXBottom ,
kLolScrollYBottom ,
kLolButtonDefs ,
kLolButtonList1 ,
kLolButtonList1 ,
kLolButtonList2 ,
kLolButtonList3 ,
kLolButtonList4 ,
kLolButtonList5 ,
kLolButtonList6 ,
kLolButtonList7 ,
kLolButtonList8 ,
kLolLegendData ,
kLolMapStringId ,
kLolSpellbookAnim ,
kLolSpellbookCoords ,
kLolHealShapeFrames ,
kLolLightningDefs ,
kLolFireballCoords ,
2009-10-14 14:17:15 +00:00
kLolCredits ,
- 1
} ;
2009-11-20 19:32:15 +00:00
const int lolCDNeed [ ] = {
2009-08-13 17:00:40 +00:00
kLolHistory ,
kLolCharacterDefs ,
kLolIngameSfxFiles ,
kLolIngameSfxIndex ,
kLolMusicTrackMap ,
kLolGMSfxIndex ,
kLolMT32SfxIndex ,
2009-11-19 22:17:27 +00:00
kLolPcSpkSfxIndex ,
2009-08-13 17:00:40 +00:00
kLolSpellProperties ,
kLolGameShapeMap ,
kLolSceneItemOffs ,
kLolCharInvIndex ,
kLolCharInvDefs ,
kLolCharDefsMan ,
kLolCharDefsWoman ,
kLolCharDefsKieran ,
kLolCharDefsAkshel ,
kLolExpRequirements ,
kLolMonsterModifiers ,
kLolMonsterLevelOffsets ,
kLolMonsterDirFlags ,
kLolMonsterScaleY ,
kLolMonsterScaleX ,
kLolMonsterScaleWH ,
kLolFlyingItemShp ,
kLolInventoryDesc ,
kLolLevelShpList ,
kLolLevelDatList ,
kLolCompassDefs ,
kLolItemPrices ,
kLolStashSetup ,
kLolDscUnk1 ,
kLolDscShapeIndex1 ,
kLolDscShapeIndex2 ,
kLolDscScaleWidthData ,
kLolDscScaleHeightData ,
kLolDscX ,
kLolDscY ,
kLolDscTileIndex ,
kLolDscUnk2 ,
kLolDscDoorShapeIndex ,
kLolDscDimData1 ,
kLolDscDimData2 ,
kLolDscBlockMap ,
kLolDscDimMap ,
kLolDscShapeOvlIndex ,
kLolDscBlockIndex ,
kLolDscDoor1 ,
kLolDscDoorScale ,
kLolDscDoor4 ,
kLolDscDoorX ,
kLolDscDoorY ,
kLolScrollXTop ,
kLolScrollYTop ,
kLolScrollXBottom ,
kLolScrollYBottom ,
kLolButtonDefs ,
kLolButtonList1 ,
kLolButtonList1 ,
kLolButtonList2 ,
kLolButtonList3 ,
kLolButtonList4 ,
kLolButtonList5 ,
kLolButtonList6 ,
kLolButtonList7 ,
kLolButtonList8 ,
kLolLegendData ,
kLolMapCursorOvl ,
kLolMapStringId ,
2009-04-03 21:32:50 +00:00
2009-08-13 17:00:40 +00:00
kLolSpellbookAnim ,
kLolSpellbookCoords ,
kLolHealShapeFrames ,
kLolLightningDefs ,
kLolFireballCoords ,
2009-01-18 17:04:24 +00:00
- 1
} ;
2008-08-02 23:11:31 +00:00
const int lolDemoNeed [ ] = {
k2SeqplayPakFiles ,
k2SeqplayStrings ,
k2SeqplaySeqData ,
k2SeqplaySfxFiles ,
2009-08-13 17:00:40 +00:00
kLolSeqplayIntroTracks ,
2008-08-02 23:11:31 +00:00
- 1
} ;
2009-09-17 12:02:17 +00:00
struct GameNeed {
int game ;
2009-09-17 12:42:25 +00:00
int platform ;
2009-09-17 12:02:17 +00:00
int special ;
const int * entries ;
} ;
2007-02-03 14:52:02 +00:00
const GameNeed gameNeedTable [ ] = {
2009-11-20 21:24:40 +00:00
{ kKyra1 , kPlatformPC , kNoSpecial , kyra1FloppyNeed } ,
{ kKyra1 , kPlatformAmiga , kNoSpecial , kyra1AmigaNeed } ,
2009-09-17 12:42:25 +00:00
{ kKyra1 , kPlatformPC , kTalkieVersion , kyra1CDNeed } ,
2009-11-20 21:24:40 +00:00
{ kKyra1 , kPlatformFMTowns , kNoSpecial , kyra1TownsNeed } ,
2009-09-17 12:42:25 +00:00
2009-11-20 21:24:40 +00:00
{ kKyra1 , kPlatformPC98 , kNoSpecial , kyra1PC98Need } ,
2009-11-14 22:51:35 +00:00
2009-09-17 12:42:25 +00:00
{ kKyra1 , kPlatformPC , kDemoVersion , kyra1DemoNeed } ,
2009-11-19 17:44:19 +00:00
{ kKyra1 , kPlatformPC , kTalkieDemoVersion , kyra1DemoCDNeed } ,
2009-09-17 12:42:25 +00:00
2009-11-20 21:24:40 +00:00
{ kKyra2 , kPlatformPC , kNoSpecial , kyra2FloppyNeed } ,
2009-09-17 12:42:25 +00:00
2009-11-20 19:32:15 +00:00
{ kKyra2 , kPlatformPC , kTalkieVersion , kyra2CDNeed } ,
2009-09-17 12:42:25 +00:00
2009-11-20 19:32:15 +00:00
{ kKyra2 , kPlatformPC , kTalkieDemoVersion , kyra2CDDemoNeed } ,
2009-09-17 12:42:25 +00:00
2009-11-20 21:24:40 +00:00
{ kKyra2 , kPlatformFMTowns , kNoSpecial , kyra2TownsNeed } ,
2009-09-17 12:42:25 +00:00
2009-09-17 15:59:45 +00:00
{ kKyra2 , kPlatformPC , kDemoVersion , kyra2DemoNeed } ,
2009-09-17 12:42:25 +00:00
2009-09-17 15:59:45 +00:00
{ kLol , kPlatformPC , kDemoVersion , lolDemoNeed } ,
2009-09-17 12:42:25 +00:00
2009-11-20 21:24:15 +00:00
{ kKyra3 , kPlatformPC , kTalkieVersion , kyra3Need } ,
2009-09-17 12:42:25 +00:00
2009-11-20 21:24:40 +00:00
{ kLol , kPlatformPC , kNoSpecial , lolFloppyNeed } ,
{ kLol , kPlatformPC98 , kNoSpecial , lolPC98Need } ,
2009-09-17 12:42:25 +00:00
2009-11-20 19:32:15 +00:00
{ kLol , kPlatformPC , kTalkieVersion , lolCDNeed } ,
2009-01-18 17:04:24 +00:00
2009-10-02 14:42:24 +00:00
{ - 1 , - 1 , - 1 , 0 }
2007-02-03 14:52:02 +00:00
} ;
2009-09-17 12:02:17 +00:00
} // end of anonymous namespace
2009-09-16 20:52:59 +00:00
2009-09-17 12:02:17 +00:00
const int * getNeedList ( const Game * g ) {
for ( const GameNeed * need = gameNeedTable ; need - > game ! = - 1 ; + + need ) {
2009-09-17 12:42:50 +00:00
if ( need - > game = = g - > game & & g - > platform = = need - > platform & & need - > special = = g - > special )
2009-09-17 12:02:17 +00:00
return need - > entries ;
}
2009-09-16 20:52:59 +00:00
2009-09-17 12:02:17 +00:00
return 0 ;
}
2009-09-16 20:52:59 +00:00