diff options
author | Johannes Schickel | 2009-03-04 00:45:34 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-03-04 00:45:34 +0000 |
commit | 3a35b5b5f25a6ff5d20be5374bdb505f51ee3a43 (patch) | |
tree | ae511ea53e96b3ce3a50f2cec645739c5ba04f89 | |
parent | bc3702dcdb57814da4460469722c258ca10e6327 (diff) | |
download | scummvm-rg350-3a35b5b5f25a6ff5d20be5374bdb505f51ee3a43.tar.gz scummvm-rg350-3a35b5b5f25a6ff5d20be5374bdb505f51ee3a43.tar.bz2 scummvm-rg350-3a35b5b5f25a6ff5d20be5374bdb505f51ee3a43.zip |
- Make Lands of Lore compileable optionally as suggested by _sev. (via ENABLE_LOL define)
- Change default build system to support LoL as a subengine of KYRA. LoL is currently disabled by default.
(- Minor enum name fixes for Lands of Lore code.)
svn-id: r39099
-rwxr-xr-x | configure | 3 | ||||
-rw-r--r-- | engines/engines.mk | 4 | ||||
-rw-r--r-- | engines/kyra/detection.cpp | 9 | ||||
-rw-r--r-- | engines/kyra/kyra_hof.cpp | 2 | ||||
-rw-r--r-- | engines/kyra/kyra_hof.h | 4 | ||||
-rw-r--r-- | engines/kyra/kyra_v1.cpp | 4 | ||||
-rw-r--r-- | engines/kyra/module.mk | 24 | ||||
-rw-r--r-- | engines/kyra/resource.h | 153 | ||||
-rw-r--r-- | engines/kyra/script_tim.cpp | 7 | ||||
-rw-r--r-- | engines/kyra/script_tim.h | 2 | ||||
-rw-r--r-- | engines/kyra/sequences_hof.cpp | 2 | ||||
-rw-r--r-- | engines/kyra/staticres.cpp | 327 |
12 files changed, 311 insertions, 230 deletions
@@ -94,7 +94,8 @@ add_engine drascula "Drascula: The Vampire Strikes Back" yes add_engine gob "Gobli*ns" yes add_engine groovie "Groovie" yes add_engine igor "Igor: Objective Uikokahonia" no -add_engine kyra "Legend of Kyrandia" yes +add_engine kyra "Legend of Kyrandia" yes "lol" +add_engine lol "Lands of Lore" no add_engine lure "Lure of the Temptress" yes add_engine m4 "M4/MADS" no add_engine made "MADE" no diff --git a/engines/engines.mk b/engines/engines.mk index 28252c1cdd..fa8b4a0717 100644 --- a/engines/engines.mk +++ b/engines/engines.mk @@ -57,6 +57,10 @@ DEFINES += -DENABLE_KYRA=$(ENABLE_KYRA) MODULES += engines/kyra endif +ifdef ENABLE_LOL +DEFINES += -DENABLE_LOL +endif + ifdef ENABLE_LURE DEFINES += -DENABLE_LURE=$(ENABLE_LURE) MODULES += engines/lure diff --git a/engines/kyra/detection.cpp b/engines/kyra/detection.cpp index 3a1135a0aa..e125ca06eb 100644 --- a/engines/kyra/detection.cpp +++ b/engines/kyra/detection.cpp @@ -26,7 +26,10 @@ #include "kyra/kyra_lok.h" #include "kyra/kyra_hof.h" #include "kyra/kyra_mr.h" + +#ifdef ENABLE_LOL #include "kyra/lol.h" +#endif // ENABLE_LOL #include "common/config-manager.h" #include "engines/advancedDetector.h" @@ -844,6 +847,7 @@ const KYRAGameDescription adGameDescs[] = { KYRA3_CD_FAN_FLAGS(Common::IT_ITA, Common::FR_FRA) }, +#ifdef ENABLE_LOL // Lands of Lore CD { { @@ -1019,6 +1023,7 @@ const KYRAGameDescription adGameDescs[] = { }, LOL_DEMO_FLAGS }, +#endif // ENABLE_LOL { AD_TABLE_END_MARKER, FLAGS(0, 0, 0, 0, 0, 0, 0) } }; @@ -1027,7 +1032,9 @@ const PlainGameDescriptor gameList[] = { { "kyra1", "The Legend of Kyrandia" }, { "kyra2", "The Legend of Kyrandia: The Hand of Fate" }, { "kyra3", "The Legend of Kyrandia: Malcolm's Revenge" }, +#ifdef ENABLE_LOL { "lol", "Lands of Lore: The Throne of Chaos" }, +#endif // ENABLE_LOL { 0, 0 } }; @@ -1119,9 +1126,11 @@ bool KyraMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGame case Kyra::GI_KYRA3: *engine = new Kyra::KyraEngine_MR(syst, flags); break; +#ifdef ENABLE_LOL case Kyra::GI_LOL: *engine = new Kyra::LoLEngine(syst, flags); break; +#endif // ENABLE_LOL default: res = false; warning("Kyra engine: unknown gameID"); diff --git a/engines/kyra/kyra_hof.cpp b/engines/kyra/kyra_hof.cpp index 83fa59a9d1..c040f3ab3d 100644 --- a/engines/kyra/kyra_hof.cpp +++ b/engines/kyra/kyra_hof.cpp @@ -283,9 +283,11 @@ Common::Error KyraEngine_HoF::go() { seq_showStarcraftLogo(); if (_flags.isDemo && !_flags.isTalkie) { +#ifdef ENABLE_LOL if (_flags.gameID == GI_LOL) seq_playSequences(kSequenceLolDemoScene1, kSequenceLolDemoScene6); else +#endif // ENABLE_LOL seq_playSequences(kSequenceDemoVirgin, kSequenceDemoFisher); _menuChoice = 4; } else { diff --git a/engines/kyra/kyra_hof.h b/engines/kyra/kyra_hof.h index b1902103a6..09a5906e31 100644 --- a/engines/kyra/kyra_hof.h +++ b/engines/kyra/kyra_hof.h @@ -97,6 +97,7 @@ enum kNestedSequencesDemo { kSequenceDemoDig }; +#ifdef ENABLE_LOL enum kSequencesLolDemo { kSequenceLolDemoScene1 = 0, kSequenceLolDemoText1, @@ -110,6 +111,7 @@ enum kSequencesLolDemo { kSequenceLolDemoText5, kSequenceLolDemoScene6 }; +#endif // ENABLE_LOL class WSAMovie_v2; class KyraEngine_HoF; @@ -256,6 +258,7 @@ protected: int seq_demoBail(WSAMovie_v2 *wsaObj, int x, int y, int frm); int seq_demoDig(WSAMovie_v2 *wsaObj, int x, int y, int frm); +#ifdef ENABLE_LOL int seq_lolDemoScene1(WSAMovie_v2 *wsaObj, int x, int y, int frm); int seq_lolDemoScene2(WSAMovie_v2 *wsaObj, int x, int y, int frm); int seq_lolDemoScene3(WSAMovie_v2 *wsaObj, int x, int y, int frm); @@ -263,6 +266,7 @@ protected: int seq_lolDemoScene5(WSAMovie_v2 *wsaObj, int x, int y, int frm); int seq_lolDemoText5(WSAMovie_v2 *wsaObj, int x, int y, int frm); int seq_lolDemoScene6(WSAMovie_v2 *wsaObj, int x, int y, int frm); +#endif // ENABLE_LOL void seq_sequenceCommand(int command); void seq_loadNestedSequence(int wsaNum, int seqNum); diff --git a/engines/kyra/kyra_v1.cpp b/engines/kyra/kyra_v1.cpp index 00f96d7c97..ee184af0f4 100644 --- a/engines/kyra/kyra_v1.cpp +++ b/engines/kyra/kyra_v1.cpp @@ -161,7 +161,11 @@ Common::Error KyraEngine_v1::init() { // but the static resource loader and the sequence player will // need correct IDs. if (_res->exists("scene1.cps")) +#ifdef ENABLE_LOL _flags.gameID = GI_LOL; +#else + error("Lands of Lore demo is not supported in this build."); +#endif // !ENABLE_LOL } _staticres = new StaticResource(this); diff --git a/engines/kyra/module.mk b/engines/kyra/module.mk index b5c62ab394..37d3307751 100644 --- a/engines/kyra/module.mk +++ b/engines/kyra/module.mk @@ -12,18 +12,15 @@ MODULE_OBJS := \ gui_v2.o \ gui_hof.o \ gui_mr.o \ - gui_lol.o \ items_lok.o \ items_v2.o \ items_hof.o \ items_mr.o \ - items_lol.o \ kyra_v1.o \ kyra_lok.o \ kyra_v2.o \ kyra_hof.o \ kyra_mr.o \ - lol.o \ resource.o \ resource_intern.o \ saveload.o \ @@ -35,10 +32,8 @@ MODULE_OBJS := \ scene_v2.o \ scene_hof.o \ scene_mr.o \ - scene_lol.o \ screen.o \ screen_lok.o \ - screen_lol.o \ screen_v2.o \ screen_hof.o \ screen_mr.o \ @@ -47,12 +42,10 @@ MODULE_OBJS := \ script_v2.o \ script_hof.o \ script_mr.o \ - script_lol.o \ script.o \ script_tim.o \ seqplayer.o \ sequences_lok.o \ - sequences_lol.o \ sequences_v2.o \ sequences_hof.o \ sequences_mr.o \ @@ -63,22 +56,33 @@ MODULE_OBJS := \ sound.o \ sound_lok.o \ sprites.o \ - sprites_lol.o \ staticres.o \ text.o \ text_lok.o \ - text_lol.o \ text_hof.o \ text_mr.o \ timer.o \ timer_lok.o \ - timer_lol.o \ timer_hof.o \ timer_mr.o \ util.o \ vqa.o \ wsamovie.o +ifdef ENABLE_LOL +MODULE_OBJS += \ + gui_lol.o \ + items_lol.o \ + lol.o \ + scene_lol.o \ + screen_lol.o \ + script_lol.o \ + sequences_lol.o \ + sprites_lol.o \ + text_lol.o \ + timer_lol.o +endif + # This module can be built as a plugin ifeq ($(ENABLE_KYRA), DYNAMIC_PLUGIN) PLUGIN := 1 diff --git a/engines/kyra/resource.h b/engines/kyra/resource.h index d48b590792..47b8b3da15 100644 --- a/engines/kyra/resource.h +++ b/engines/kyra/resource.h @@ -39,7 +39,10 @@ #include "kyra/kyra_v1.h" #include "kyra/kyra_hof.h" + +#ifdef ENABLE_LOL #include "kyra/lol.h" +#endif // ENABLE_LOL namespace Kyra { @@ -211,71 +214,73 @@ enum kKyraResources { k3ItemMagicTable, k3ItemStringMap, - lolCharacterDefs, - lolIngameSfxFiles, - lolIngameSfxIndex, - lolMusicTrackMap, - lolIngameGMSfxIndex, - lolIngameMT32SfxIndex, - //lolIngameADLSfxIndex, - lolSpellProperties, - lolGameShapeMap, - lolCharInvIndex, - lolCharInvDefs, - lolCharDefsMan, - lolCharDefsWoman, - lolCharDefsKieran, - //lolCharDefsUnk, - lolCharDefsAkshel, - lolExpRequirements, - lolMonsterModifiers, - lolMonsterLevelOffsets, - lolMonsterDirFlags, - lolMonsterScaleY, - lolMonsterScaleX, - lolMonsterScaleWH, - lolInventoryDesc, - - lolLevelShpList, - lolLevelDatList, - lolCompassDefs, - - lolDscUnk1, - lolDscShapeIndex, - lolDscOvlMap, - lolDscScaleWidthData, - lolDscScaleHeightData, - lolDscX, - lolDscY, - lolDscTileIndex, - lolDscUnk2, - lolDscDoorShapeIndex, - lolDscDimData1, - lolDscDimData2, - lolDscBlockMap, - lolDscDimMap, - lolDscDoor1, - lolDscDoorScale, - lolDscDoor4, - lolDscDoorX, - lolDscDoorY, - lolDscOvlIndex, - lolDscBlockIndex, - - lolScrollXTop, - lolScrollYTop, - lolScrollXBottom, - lolScrollYBottom, - - lolButtonDefs, - lolButtonList1, - lolButtonList2, - lolButtonList3, - lolButtonList4, - lolButtonList5, - lolButtonList6, - lolButtonList7, - lolButtonList8, +#ifdef ENABLE_LOL + kLolCharacterDefs, + kLolIngameSfxFiles, + kLolIngameSfxIndex, + kLolMusicTrackMap, + kLolIngameGMSfxIndex, + kLolIngameMT32SfxIndex, + //kLolIngameADLSfxIndex, + kLolSpellProperties, + kLolGameShapeMap, + kLolCharInvIndex, + kLolCharInvDefs, + kLolCharDefsMan, + kLolCharDefsWoman, + kLolCharDefsKieran, + //kLolCharDefsUnk, + kLolCharDefsAkshel, + kLolExpRequirements, + kLolMonsterModifiers, + kLolMonsterLevelOffsets, + kLolMonsterDirFlags, + kLolMonsterScaleY, + kLolMonsterScaleX, + kLolMonsterScaleWH, + kLolInventoryDesc, + + kLolLevelShpList, + kLolLevelDatList, + kLolCompassDefs, + + kLolDscUnk1, + kLolDscShapeIndex, + kLolDscOvlMap, + kLolDscScaleWidthData, + kLolDscScaleHeightData, + kLolDscX, + kLolDscY, + kLolDscTileIndex, + kLolDscUnk2, + kLolDscDoorShapeIndex, + kLolDscDimData1, + kLolDscDimData2, + kLolDscBlockMap, + kLolDscDimMap, + kLolDscDoor1, + kLolDscDoorScale, + kLolDscDoor4, + kLolDscDoorX, + kLolDscDoorY, + kLolDscOvlIndex, + kLolDscBlockIndex, + + kLolScrollXTop, + kLolScrollYTop, + kLolScrollXBottom, + kLolScrollYBottom, + + kLolButtonDefs, + kLolButtonList1, + kLolButtonList2, + kLolButtonList3, + kLolButtonList4, + kLolButtonList5, + kLolButtonList6, + kLolButtonList7, + kLolButtonList8, +#endif // ENABLE_LOL kMaxResIDs }; @@ -303,12 +308,14 @@ public: const HofSeqData *loadHofSequenceData(int id, int &entries); const ItemAnimData_v1 *loadShapeAnimData_v1(int id, int &entries); const ItemAnimData_v2 *loadShapeAnimData_v2(int id, int &entries); +#ifdef ENABLE_LOL const LoLCharacter *loadCharData(int id, int &entries); const SpellProperty *loadSpellData(int id, int &entries); const CompassDef *loadCompassData(int id, int &entries); const uint16 *loadRawDataBe16(int id, int &entries); const uint32 *loadRawDataBe32(int id, int &entries); const ButtonDef *loadButtonDefs(int id, int &entries); +#endif // ENABLE_LOL // use '-1' to prefetch/unload all ids // prefetchId retruns false if only on of the resources @@ -340,12 +347,14 @@ private: bool loadHofSequenceData(const char *filename, void *&ptr, int &size); bool loadShapeAnimData_v1(const char *filename, void *&ptr, int &size); bool loadShapeAnimData_v2(const char *filename, void *&ptr, int &size); +#ifdef ENABLE_LOL bool loadCharData(const char *filename, void *&ptr, int &size); bool loadSpellData(const char *filename, void *&ptr, int &size); bool loadCompassData(const char *filename, void *&ptr, int &size); bool loadRawDataBe16(const char *filename, void *&ptr, int &size); bool loadRawDataBe32(const char *filename, void *&ptr, int &size); bool loadButtonDefs(const char *filename, void *&ptr, int &size); +#endif // ENABLE_LOL void freeRawData(void *&ptr, int &size); void freeStringTable(void *&ptr, int &size); @@ -355,12 +364,14 @@ private: void freeHofSequenceData(void *&ptr, int &size); void freeHofShapeAnimDataV1(void *&ptr, int &size); void freeHofShapeAnimDataV2(void *&ptr, int &size); +#ifdef ENABLE_LOL void freeCharData(void *&ptr, int &size); void freeSpellData(void *&ptr, int &size); void freeCompassData(void *&ptr, int &size); void freeRawDataBe16(void *&ptr, int &size); void freeRawDataBe32(void *&ptr, int &size); void freeButtonDefs(void *&ptr, int &size); +#endif // ENABLE_LOL const char *getFilename(const char *name); Common::SeekableReadStream *getFile(const char *name); @@ -377,12 +388,12 @@ private: k2ShpAnimDataV1, k2ShpAnimDataV2, - lolCharData, - lolSpellData, - lolCompassData, - lolRawDataBe16, - lolRawDataBe32, - lolButtonData + kLolCharData, + kLolSpellData, + kLolCompassData, + kLolRawDataBe16, + kLolRawDataBe32, + kLolButtonData }; struct BuiltinRes { diff --git a/engines/kyra/script_tim.cpp b/engines/kyra/script_tim.cpp index 94aab24bb0..3150e7ab01 100644 --- a/engines/kyra/script_tim.cpp +++ b/engines/kyra/script_tim.cpp @@ -28,8 +28,11 @@ #include "kyra/resource.h" #include "kyra/sound.h" #include "kyra/wsamovie.h" + +#ifdef ENABLE_LOL #include "kyra/lol.h" #include "kyra/screen_lol.h" +#endif // ENABLE_LOL #include "common/endian.h" @@ -706,6 +709,9 @@ int TIMInterpreter::cmd_stopAllFuncs(const uint16 *param) { return -1; } +// TODO: Consider moving to another file + +#ifdef ENABLE_LOL // LOL version of the TIM interpreter TIMInterpreter_LoL::TIMInterpreter_LoL(LoLEngine *engine, Screen_v2 *screen_v2, OSystem *system) : @@ -1097,6 +1103,7 @@ int TIMInterpreter_LoL::cmd_dialogueBox(const uint16 *param) { return -3; } +#endif // ENABLE_LOL } // end of namespace Kyra diff --git a/engines/kyra/script_tim.h b/engines/kyra/script_tim.h index 7f9d57978c..63339e95b5 100644 --- a/engines/kyra/script_tim.h +++ b/engines/kyra/script_tim.h @@ -187,6 +187,7 @@ protected: #undef cmd_return }; +#ifdef ENABLE_LOL class LoLEngine; class Screen_LoL; class TIMInterpreter_LoL : public TIMInterpreter { @@ -235,6 +236,7 @@ private: int cmd_processDialogue(const uint16 *param); int cmd_dialogueBox(const uint16 *param); }; +#endif // ENABLE_LOL } // end of namespace Kyra diff --git a/engines/kyra/sequences_hof.cpp b/engines/kyra/sequences_hof.cpp index 4cb7040c34..4ab0722147 100644 --- a/engines/kyra/sequences_hof.cpp +++ b/engines/kyra/sequences_hof.cpp @@ -1796,6 +1796,7 @@ int KyraEngine_HoF::seq_demoDig(WSAMovie_v2 *wsaObj, int x, int y, int frm) { return frm; } +#ifdef ENABLE_LOL int KyraEngine_HoF::seq_lolDemoScene1(WSAMovie_v2 *wsaObj, int x, int y, int frm) { uint8 *tmpPal = _screen->getPalette(2); @@ -1971,6 +1972,7 @@ int KyraEngine_HoF::seq_lolDemoScene6(WSAMovie_v2 *wsaObj, int x, int y, int frm return 0; } +#endif // ENABLE_LOL uint32 KyraEngine_HoF::seq_activeTextsTimeLeft() { uint32 res = 0; diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp index a45149a1e6..24d2e6aafd 100644 --- a/engines/kyra/staticres.cpp +++ b/engines/kyra/staticres.cpp @@ -27,20 +27,23 @@ #include "common/md5.h" #include "kyra/kyra_v1.h" #include "kyra/kyra_lok.h" -#include "kyra/lol.h" #include "kyra/kyra_v2.h" #include "kyra/kyra_hof.h" #include "kyra/kyra_mr.h" #include "kyra/screen.h" #include "kyra/screen_lok.h" -#include "kyra/screen_lol.h" #include "kyra/screen_hof.h" #include "kyra/screen_mr.h" #include "kyra/resource.h" #include "kyra/gui_lok.h" #include "kyra/gui_hof.h" #include "kyra/gui_mr.h" + +#ifdef ENABLE_LOL +#include "kyra/lol.h" +#include "kyra/screen_lol.h" #include "kyra/gui_lol.h" +#endif // ENABLE_LOL namespace Kyra { @@ -222,12 +225,14 @@ bool StaticResource::init() { { k2ShpAnimDataV1, proc(loadShapeAnimData_v1), proc(freeHofShapeAnimDataV1) }, { k2ShpAnimDataV2, proc(loadShapeAnimData_v2), proc(freeHofShapeAnimDataV2) }, - { lolCharData, proc(loadCharData), proc(freeCharData) }, - { lolSpellData, proc(loadSpellData), proc(freeSpellData) }, - { lolCompassData, proc(loadCompassData), proc(freeCompassData) }, - { lolRawDataBe16, proc(loadRawDataBe16), proc(freeRawDataBe16) }, - { lolRawDataBe32, proc(loadRawDataBe32), proc(freeRawDataBe32) }, - { lolButtonData, proc(loadButtonDefs), proc(freeButtonDefs) }, +#ifdef ENABLE_LOL + { kLolCharData, proc(loadCharData), proc(freeCharData) }, + { kLolSpellData, proc(loadSpellData), proc(freeSpellData) }, + { kLolCompassData, proc(loadCompassData), proc(freeCompassData) }, + { kLolRawDataBe16, proc(loadRawDataBe16), proc(freeRawDataBe16) }, + { kLolRawDataBe32, proc(loadRawDataBe32), proc(freeRawDataBe32) }, + { kLolButtonData, proc(loadButtonDefs), proc(freeButtonDefs) }, +#endif // ENABLE_LOL { 0, 0, 0 } }; @@ -362,7 +367,8 @@ bool StaticResource::init() { { 0, 0, 0 } }; - static const FilenameTable lolStaticRes[] = { +#ifdef ENABLE_LOL + static const FilenameTable kLolStaticRes[] = { // Demo Sequence Player { k2SeqplayPakFiles, kStringList, "S_PAKFILES.TXT" }, { k2SeqplayStrings, kLanguageList, "S_STRINGS." }, @@ -371,73 +377,74 @@ bool StaticResource::init() { { k2SeqplayIntroTracks, kStringList, "S_INTRO.TRA" }, // Ingame - { lolCharacterDefs, lolCharData, "CHARACTER.DEF" }, - { lolIngameSfxFiles, kStringList, "SFXFILES.TRA" }, - { lolIngameSfxIndex, kRawData, "SFXINDEX.MAP" }, - { lolMusicTrackMap, kRawData, "MUSIC.MAP" }, - { lolIngameGMSfxIndex, kRawData, "SFX_GM.MAP" }, - { lolIngameMT32SfxIndex, kRawData, "SFX_MT32.MAP" }, - { lolSpellProperties, lolSpellData, "SPELLS.DEF" }, - { lolGameShapeMap, kRawData, "GAMESHP.MAP" }, - { lolCharInvIndex, kRawData, "CHARINV.MAP" }, - { lolCharInvDefs, kRawData, "CHARINV.DEF" }, - { lolCharDefsMan, lolRawDataBe16, "CHMAN.DEF" }, - { lolCharDefsWoman, lolRawDataBe16, "CHWOMAN.DEF" }, - { lolCharDefsKieran, lolRawDataBe16, "CHKIERAN.DEF" }, - //{ lolCharDefsUnk, lolRawDataBe16, "CHUNK.DEF" }, - { lolCharDefsAkshel, lolRawDataBe16, "CHAKSHEL.DEF" }, - { lolExpRequirements, lolRawDataBe32, "EXPERIENCE.DEF" }, - { lolMonsterModifiers, lolRawDataBe16, "MONSTMOD.DEF" }, - { lolMonsterLevelOffsets, kRawData, "MONSTLVL.DEF" }, - { lolMonsterDirFlags, kRawData, "MONSTDIR.DEF" }, - { lolMonsterScaleY, kRawData, "MONSTZY.DEF" }, - { lolMonsterScaleX, kRawData, "MONSTZX.DEF" }, - { lolMonsterScaleWH, lolRawDataBe16, "MONSTSCL.DEF" }, - { lolInventoryDesc, lolRawDataBe16, "INVDESC.DEF" }, - - { lolLevelShpList, kStringList, "SHPFILES.TXT" }, - { lolLevelDatList, kStringList, "DATFILES.TXT" }, - { lolCompassDefs, lolCompassData, "COMPASS.DEF" }, - - { lolDscUnk1, kRawData, "DSCSHPU1.DEF" }, - { lolDscShapeIndex, kRawData, "DSCSHPI1.DEF" }, - { lolDscOvlMap, kRawData, "DSCSHPI2.DEF" }, - { lolDscScaleWidthData, lolRawDataBe16, "DSCSHPW.DEF" }, - { lolDscScaleHeightData, lolRawDataBe16, "DSCSHPH.DEF" }, - { lolDscX, lolRawDataBe16, "DSCSHPX.DEF" }, - { lolDscY, kRawData, "DSCSHPY.DEF" }, - { lolDscTileIndex, kRawData, "DSCSHPT.DEF" }, - { lolDscUnk2, kRawData, "DSCSHPU2.DEF" }, - { lolDscDoorShapeIndex, kRawData, "DSCDOOR.DEF" }, - { lolDscDimData1, kRawData, "DSCDIM1.DEF" }, - { lolDscDimData2, kRawData, "DSCDIM2.DEF" }, - { lolDscBlockMap, kRawData, "DSCBLOCK1.DEF" }, - { lolDscDimMap, kRawData, "DSCDIM.DEF" }, - { lolDscDoorScale, lolRawDataBe16, "DSCDOOR3.DEF" }, - { lolDscDoor4, lolRawDataBe16, "DSCDOOR4.DEF" }, - { lolDscOvlIndex, kRawData, "DSCBLOCK2.DEF" }, - { lolDscBlockIndex, kRawData, "DSCBLOCKX.DEF" }, - { lolDscDoor1, kRawData, "DSCDOOR1.DEF" }, - { lolDscDoorX, lolRawDataBe16, "DSCDOORX.DEF" }, - { lolDscDoorY, lolRawDataBe16, "DSCDOORY.DEF" }, - - { lolScrollXTop, kRawData, "SCROLLXT.DEF" }, - { lolScrollYTop, kRawData, "SCROLLYT.DEF" }, - { lolScrollXBottom, kRawData, "SCROLLXB.DEF" }, - { lolScrollYBottom, kRawData, "SCROLLYB.DEF" }, - - { lolButtonDefs, lolButtonData, "BUTTONS.DEF" }, - { lolButtonList1, lolRawDataBe16, "BUTTON1.LST" }, - { lolButtonList2, lolRawDataBe16, "BUTTON2.LST" }, - { lolButtonList3, lolRawDataBe16, "BUTTON3.LST" }, - { lolButtonList4, lolRawDataBe16, "BUTTON4.LST" }, - { lolButtonList5, lolRawDataBe16, "BUTTON5.LST" }, - { lolButtonList6, lolRawDataBe16, "BUTTON6.LST" }, - { lolButtonList7, lolRawDataBe16, "BUTTON7.LST" }, - { lolButtonList8, lolRawDataBe16, "BUTTON84.LST" }, + { kLolCharacterDefs, kLolCharData, "CHARACTER.DEF" }, + { kLolIngameSfxFiles, kStringList, "SFXFILES.TRA" }, + { kLolIngameSfxIndex, kRawData, "SFXINDEX.MAP" }, + { kLolMusicTrackMap, kRawData, "MUSIC.MAP" }, + { kLolIngameGMSfxIndex, kRawData, "SFX_GM.MAP" }, + { kLolIngameMT32SfxIndex, kRawData, "SFX_MT32.MAP" }, + { kLolSpellProperties, kLolSpellData, "SPELLS.DEF" }, + { kLolGameShapeMap, kRawData, "GAMESHP.MAP" }, + { kLolCharInvIndex, kRawData, "CHARINV.MAP" }, + { kLolCharInvDefs, kRawData, "CHARINV.DEF" }, + { kLolCharDefsMan, kLolRawDataBe16, "CHMAN.DEF" }, + { kLolCharDefsWoman, kLolRawDataBe16, "CHWOMAN.DEF" }, + { kLolCharDefsKieran, kLolRawDataBe16, "CHKIERAN.DEF" }, + //{ kLolCharDefsUnk, kLolRawDataBe16, "CHUNK.DEF" }, + { kLolCharDefsAkshel, kLolRawDataBe16, "CHAKSHEL.DEF" }, + { kLolExpRequirements, kLolRawDataBe32, "EXPERIENCE.DEF" }, + { kLolMonsterModifiers, kLolRawDataBe16, "MONSTMOD.DEF" }, + { kLolMonsterLevelOffsets, kRawData, "MONSTLVL.DEF" }, + { kLolMonsterDirFlags, kRawData, "MONSTDIR.DEF" }, + { kLolMonsterScaleY, kRawData, "MONSTZY.DEF" }, + { kLolMonsterScaleX, kRawData, "MONSTZX.DEF" }, + { kLolMonsterScaleWH, kLolRawDataBe16, "MONSTSCL.DEF" }, + { kLolInventoryDesc, kLolRawDataBe16, "INVDESC.DEF" }, + + { kLolLevelShpList, kStringList, "SHPFILES.TXT" }, + { kLolLevelDatList, kStringList, "DATFILES.TXT" }, + { kLolCompassDefs, kLolCompassData, "COMPASS.DEF" }, + + { kLolDscUnk1, kRawData, "DSCSHPU1.DEF" }, + { kLolDscShapeIndex, kRawData, "DSCSHPI1.DEF" }, + { kLolDscOvlMap, kRawData, "DSCSHPI2.DEF" }, + { kLolDscScaleWidthData, kLolRawDataBe16, "DSCSHPW.DEF" }, + { kLolDscScaleHeightData, kLolRawDataBe16, "DSCSHPH.DEF" }, + { kLolDscX, kLolRawDataBe16, "DSCSHPX.DEF" }, + { kLolDscY, kRawData, "DSCSHPY.DEF" }, + { kLolDscTileIndex, kRawData, "DSCSHPT.DEF" }, + { kLolDscUnk2, kRawData, "DSCSHPU2.DEF" }, + { kLolDscDoorShapeIndex, kRawData, "DSCDOOR.DEF" }, + { kLolDscDimData1, kRawData, "DSCDIM1.DEF" }, + { kLolDscDimData2, kRawData, "DSCDIM2.DEF" }, + { kLolDscBlockMap, kRawData, "DSCBLOCK1.DEF" }, + { kLolDscDimMap, kRawData, "DSCDIM.DEF" }, + { kLolDscDoorScale, kLolRawDataBe16, "DSCDOOR3.DEF" }, + { kLolDscDoor4, kLolRawDataBe16, "DSCDOOR4.DEF" }, + { kLolDscOvlIndex, kRawData, "DSCBLOCK2.DEF" }, + { kLolDscBlockIndex, kRawData, "DSCBLOCKX.DEF" }, + { kLolDscDoor1, kRawData, "DSCDOOR1.DEF" }, + { kLolDscDoorX, kLolRawDataBe16, "DSCDOORX.DEF" }, + { kLolDscDoorY, kLolRawDataBe16, "DSCDOORY.DEF" }, + + { kLolScrollXTop, kRawData, "SCROLLXT.DEF" }, + { kLolScrollYTop, kRawData, "SCROLLYT.DEF" }, + { kLolScrollXBottom, kRawData, "SCROLLXB.DEF" }, + { kLolScrollYBottom, kRawData, "SCROLLYB.DEF" }, + + { kLolButtonDefs, kLolButtonData, "BUTTONS.DEF" }, + { kLolButtonList1, kLolRawDataBe16, "BUTTON1.LST" }, + { kLolButtonList2, kLolRawDataBe16, "BUTTON2.LST" }, + { kLolButtonList3, kLolRawDataBe16, "BUTTON3.LST" }, + { kLolButtonList4, kLolRawDataBe16, "BUTTON4.LST" }, + { kLolButtonList5, kLolRawDataBe16, "BUTTON5.LST" }, + { kLolButtonList6, kLolRawDataBe16, "BUTTON6.LST" }, + { kLolButtonList7, kLolRawDataBe16, "BUTTON7.LST" }, + { kLolButtonList8, kLolRawDataBe16, "BUTTON84.LST" }, { 0, 0, 0 } }; +#endif // ENABLE_LOL if (_vm->game() == GI_KYRA1) { _builtIn = 0; @@ -448,11 +455,13 @@ bool StaticResource::init() { } else if (_vm->game() == GI_KYRA3) { _builtIn = 0; _filenameTable = kyra3StaticRes; +#ifdef ENABLE_LOL } else if (_vm->game() == GI_LOL) { if (!_vm->gameFlags().isDemo && !_vm->gameFlags().isTalkie) return true; _builtIn = 0; - _filenameTable = lolStaticRes; + _filenameTable = kLolStaticRes; +#endif // ENABLE_LOL } else { error("StaticResource: Unknown game ID"); } @@ -499,29 +508,31 @@ const ItemAnimData_v2 *StaticResource::loadShapeAnimData_v2(int id, int &entries return (const ItemAnimData_v2*)getData(id, k2ShpAnimDataV2, entries); } +#ifdef ENABLE_LOL const LoLCharacter *StaticResource::loadCharData(int id, int &entries) { - return (const LoLCharacter*)getData(id, lolCharData, entries); + return (const LoLCharacter*)getData(id, kLolCharData, entries); } const SpellProperty *StaticResource::loadSpellData(int id, int &entries) { - return (const SpellProperty*)getData(id, lolSpellData, entries); + return (const SpellProperty*)getData(id, kLolSpellData, entries); } const CompassDef *StaticResource::loadCompassData(int id, int &entries) { - return (const CompassDef*)getData(id, lolCompassData, entries); + return (const CompassDef*)getData(id, kLolCompassData, entries); } const uint16 *StaticResource::loadRawDataBe16(int id, int &entries) { - return (const uint16*)getData(id, lolRawDataBe16, entries); + return (const uint16*)getData(id, kLolRawDataBe16, entries); } const uint32 *StaticResource::loadRawDataBe32(int id, int &entries) { - return (const uint32*)getData(id, lolRawDataBe32, entries); + return (const uint32*)getData(id, kLolRawDataBe32, entries); } const ButtonDef *StaticResource::loadButtonDefs(int id, int &entries) { - return (const ButtonDef*)getData(id, lolButtonData, entries); + return (const ButtonDef*)getData(id, kLolButtonData, entries); } +#endif // ENABLE_LOL bool StaticResource::prefetchId(int id) { if (id == -1) { @@ -951,6 +962,7 @@ bool StaticResource::loadShapeAnimData_v2(const char *filename, void *&ptr, int return true; } +#ifdef ENABLE_LOL bool StaticResource::loadCharData(const char *filename, void *&ptr, int &size) { Common::SeekableReadStream *file = getFile(filename); @@ -1127,6 +1139,7 @@ bool StaticResource::loadButtonDefs(const char *filename, void *&ptr, int &size) return true; } +#endif // ENABLE_LOL void StaticResource::freeRawData(void *&ptr, int &size) { uint8 *data = (uint8*)ptr; @@ -1196,6 +1209,7 @@ void StaticResource::freeHofShapeAnimDataV2(void *&ptr, int &size) { size = 0; } +#ifdef ENABLE_LOL void StaticResource::freeCharData(void *&ptr, int &size) { LoLCharacter *d = (LoLCharacter *)ptr; delete[] d; @@ -1237,6 +1251,7 @@ void StaticResource::freeButtonDefs(void *&ptr, int &size) { ptr = 0; size = 0; } +#endif // ENABLE_LOL void StaticResource::freePaletteTable(void *&ptr, int &size) { uint8 **data = (uint8**)ptr; @@ -1696,17 +1711,27 @@ void KyraEngine_HoF::initStaticResource() { &KyraEngine_HoF::seq_demoDig, 0 }; - static const SeqProc lolDemoSequenceCallbacks[] = { +#ifdef ENABLE_LOL + static const SeqProc kLolDemoSequenceCallbacks[] = { &KyraEngine_HoF::seq_lolDemoScene1, 0, &KyraEngine_HoF::seq_lolDemoScene2, 0, &KyraEngine_HoF::seq_lolDemoScene3, 0, &KyraEngine_HoF::seq_lolDemoScene4, 0, &KyraEngine_HoF::seq_lolDemoScene5, &KyraEngine_HoF::seq_lolDemoText5, &KyraEngine_HoF::seq_lolDemoScene6, 0 }; - static const SeqProc lolDemoNestedSequenceCallbacks[] = { 0 }; + static const SeqProc kLolDemoNestedSequenceCallbacks[] = { 0 }; +#endif // ENABLE_LOL - _callbackS = _flags.gameID == GI_LOL ? lolDemoSequenceCallbacks : ((_flags.isDemo && !_flags.isTalkie) ? hofDemoSequenceCallbacks : hofSequenceCallbacks); - _callbackN = _flags.gameID == GI_LOL ? lolDemoNestedSequenceCallbacks : ((_flags.isDemo && !_flags.isTalkie) ? hofDemoNestedSequenceCallbacks : hofNestedSequenceCallbacks); + _callbackS = +#ifdef ENABLE_LOL + _flags.gameID == GI_LOL ? kLolDemoSequenceCallbacks : +#endif // ENABLE_LOL + ((_flags.isDemo && !_flags.isTalkie) ? hofDemoSequenceCallbacks : hofSequenceCallbacks); + _callbackN = +#ifdef ENABLE_LOL + _flags.gameID == GI_LOL ? kLolDemoNestedSequenceCallbacks : +#endif // ENABLE_LOL + ((_flags.isDemo && !_flags.isTalkie) ? hofDemoNestedSequenceCallbacks : hofNestedSequenceCallbacks); } void KyraEngine_MR::initStaticResource() { @@ -1721,77 +1746,79 @@ void KyraEngine_MR::initStaticResource() { _itemStringMap = _staticres->loadRawData(k3ItemStringMap, _itemStringMapSize); } +#ifdef ENABLE_LOL +// TODO: move this to kLol.cpp maybe? void LoLEngine::initStaticResource() { - _charDefaults = _staticres->loadCharData(lolCharacterDefs, _charDefaultsSize); - _ingameSoundIndex = (const uint16 *)_staticres->loadRawData(lolIngameSfxIndex, _ingameSoundIndexSize); - _musicTrackMap = _staticres->loadRawData(lolMusicTrackMap, _musicTrackMapSize); - _ingameGMSoundIndex = _staticres->loadRawData(lolIngameGMSfxIndex, _ingameGMSoundIndexSize); - _ingameMT32SoundIndex = _staticres->loadRawData(lolIngameMT32SfxIndex, _ingameMT32SoundIndexSize); - //_ingameADLSoundIndex = _staticres->loadRawData(lolIngameADLSfxIndex, _ingameADLSoundIndexSize); - _spellProperties = _staticres->loadSpellData(lolSpellProperties, _spellPropertiesSize); - _gameShapeMap = (const int8*)_staticres->loadRawData(lolGameShapeMap, _gameShapeMapSize); - _charInvIndex = _staticres->loadRawData(lolCharInvIndex, _charInvIndexSize); - _charInvDefs = (const int8*)_staticres->loadRawData(lolCharInvDefs, _charInvDefsSize); - _charDefsMan = _staticres->loadRawDataBe16(lolCharDefsMan, _charDefsManSize); - _charDefsWoman = _staticres->loadRawDataBe16(lolCharDefsWoman, _charDefsWomanSize); - _charDefsKieran = _staticres->loadRawDataBe16(lolCharDefsKieran, _charDefsKieranSize); - _charDefsAkshel = _staticres->loadRawDataBe16(lolCharDefsAkshel, _charDefsAkshelSize); - _expRequirements = (const int32*)_staticres->loadRawDataBe32(lolExpRequirements, _expRequirementsSize); - _monsterModifiers = _staticres->loadRawDataBe16(lolMonsterModifiers, _monsterModifiersSize); - _monsterLevelOffs = (const int8*)_staticres->loadRawData(lolMonsterLevelOffsets, _monsterLevelOffsSize); - _monsterDirFlags = _staticres->loadRawData(lolMonsterDirFlags, _monsterDirFlagsSize); - _monsterScaleX = (const int8*)_staticres->loadRawData(lolMonsterScaleX, _monsterScaleXSize); - _monsterScaleY = (const int8*)_staticres->loadRawData(lolMonsterScaleY, _monsterScaleYSize); - _monsterScaleWH = _staticres->loadRawDataBe16(lolMonsterScaleWH, _monsterScaleWHSize); - _inventorySlotDesc = _staticres->loadRawDataBe16(lolInventoryDesc, _inventorySlotDescSize); - _levelShpList = _staticres->loadStrings(lolLevelShpList, _levelShpListSize); - _levelDatList = _staticres->loadStrings(lolLevelDatList, _levelDatListSize); - _compassDefs = _staticres->loadCompassData(lolCompassDefs, _compassDefsSize); - - _dscUnk1 = (const int8*)_staticres->loadRawData(lolDscUnk1, _dscUnk1Size); - _dscShapeIndex = (const int8*)_staticres->loadRawData(lolDscShapeIndex, _dscShapeIndexSize); - _dscOvlMap = _staticres->loadRawData(lolDscOvlMap, _dscOvlMapSize); - _dscShapeScaleW = _staticres->loadRawDataBe16(lolDscScaleWidthData, _dscShapeScaleWSize); - _dscShapeScaleH = _staticres->loadRawDataBe16(lolDscScaleHeightData, _dscShapeScaleHSize); - _dscShapeX = (const int16*)_staticres->loadRawDataBe16(lolDscX, _dscShapeXSize); - _dscShapeY = (const int8*)_staticres->loadRawData(lolDscY, _dscShapeYSize); - _dscTileIndex = _staticres->loadRawData(lolDscTileIndex, _dscTileIndexSize); - _dscUnk2 = _staticres->loadRawData(lolDscUnk2, _dscUnk2Size); - _dscDoorShpIndex = _staticres->loadRawData(lolDscDoorShapeIndex, _dscDoorShpIndexSize); - _dscDim1 = (const int8*)_staticres->loadRawData(lolDscDimData1, _dscDim1Size); - _dscDim2 = (const int8*)_staticres->loadRawData(lolDscDimData2, _dscDim2Size); - _dscBlockMap = _staticres->loadRawData(lolDscBlockMap, _dscBlockMapSize); - _dscDimMap = _staticres->loadRawData(lolDscDimMap, _dscDimMapSize); - _dscDoorMonsterScaleTable = _staticres->loadRawDataBe16(lolDscDoorScale, _dscDoorMonsterScaleTableSize); - _dscShapeOvlIndex = _staticres->loadRawData(lolDscOvlIndex, _dscShapeOvlIndexSize); - _dscDoor4 = _staticres->loadRawDataBe16(lolDscDoor4, _dscDoor4Size); - _dscBlockIndex = (const int8*)_staticres->loadRawData(lolDscBlockIndex, _dscBlockIndexSize); - _dscDoor1 = _staticres->loadRawData(lolDscDoor1, _dscDoor1Size); - _dscDoorMonsterX = (const int16*)_staticres->loadRawDataBe16(lolDscDoorX, _dscDoorMonsterXSize); - _dscDoorMonsterY = (const int16*)_staticres->loadRawDataBe16(lolDscDoorY, _dscDoorMonsterYSize); - - _scrollXTop = _staticres->loadRawData(lolScrollXTop, _scrollXTopSize); - _scrollYTop = _staticres->loadRawData(lolScrollYTop, _scrollYTopSize); - _scrollXBottom = _staticres->loadRawData(lolScrollXBottom, _scrollXBottomSize); - _scrollYBottom = _staticres->loadRawData(lolScrollYBottom, _scrollYBottomSize); - - const char *const *tmpSndList = _staticres->loadStrings(lolIngameSfxFiles, _ingameSoundListSize); + _charDefaults = _staticres->loadCharData(kLolCharacterDefs, _charDefaultsSize); + _ingameSoundIndex = (const uint16 *)_staticres->loadRawData(kLolIngameSfxIndex, _ingameSoundIndexSize); + _musicTrackMap = _staticres->loadRawData(kLolMusicTrackMap, _musicTrackMapSize); + _ingameGMSoundIndex = _staticres->loadRawData(kLolIngameGMSfxIndex, _ingameGMSoundIndexSize); + _ingameMT32SoundIndex = _staticres->loadRawData(kLolIngameMT32SfxIndex, _ingameMT32SoundIndexSize); + //_ingameADLSoundIndex = _staticres->loadRawData(kLolIngameADLSfxIndex, _ingameADLSoundIndexSize); + _spellProperties = _staticres->loadSpellData(kLolSpellProperties, _spellPropertiesSize); + _gameShapeMap = (const int8*)_staticres->loadRawData(kLolGameShapeMap, _gameShapeMapSize); + _charInvIndex = _staticres->loadRawData(kLolCharInvIndex, _charInvIndexSize); + _charInvDefs = (const int8*)_staticres->loadRawData(kLolCharInvDefs, _charInvDefsSize); + _charDefsMan = _staticres->loadRawDataBe16(kLolCharDefsMan, _charDefsManSize); + _charDefsWoman = _staticres->loadRawDataBe16(kLolCharDefsWoman, _charDefsWomanSize); + _charDefsKieran = _staticres->loadRawDataBe16(kLolCharDefsKieran, _charDefsKieranSize); + _charDefsAkshel = _staticres->loadRawDataBe16(kLolCharDefsAkshel, _charDefsAkshelSize); + _expRequirements = (const int32*)_staticres->loadRawDataBe32(kLolExpRequirements, _expRequirementsSize); + _monsterModifiers = _staticres->loadRawDataBe16(kLolMonsterModifiers, _monsterModifiersSize); + _monsterLevelOffs = (const int8*)_staticres->loadRawData(kLolMonsterLevelOffsets, _monsterLevelOffsSize); + _monsterDirFlags = _staticres->loadRawData(kLolMonsterDirFlags, _monsterDirFlagsSize); + _monsterScaleX = (const int8*)_staticres->loadRawData(kLolMonsterScaleX, _monsterScaleXSize); + _monsterScaleY = (const int8*)_staticres->loadRawData(kLolMonsterScaleY, _monsterScaleYSize); + _monsterScaleWH = _staticres->loadRawDataBe16(kLolMonsterScaleWH, _monsterScaleWHSize); + _inventorySlotDesc = _staticres->loadRawDataBe16(kLolInventoryDesc, _inventorySlotDescSize); + _levelShpList = _staticres->loadStrings(kLolLevelShpList, _levelShpListSize); + _levelDatList = _staticres->loadStrings(kLolLevelDatList, _levelDatListSize); + _compassDefs = _staticres->loadCompassData(kLolCompassDefs, _compassDefsSize); + + _dscUnk1 = (const int8*)_staticres->loadRawData(kLolDscUnk1, _dscUnk1Size); + _dscShapeIndex = (const int8*)_staticres->loadRawData(kLolDscShapeIndex, _dscShapeIndexSize); + _dscOvlMap = _staticres->loadRawData(kLolDscOvlMap, _dscOvlMapSize); + _dscShapeScaleW = _staticres->loadRawDataBe16(kLolDscScaleWidthData, _dscShapeScaleWSize); + _dscShapeScaleH = _staticres->loadRawDataBe16(kLolDscScaleHeightData, _dscShapeScaleHSize); + _dscShapeX = (const int16*)_staticres->loadRawDataBe16(kLolDscX, _dscShapeXSize); + _dscShapeY = (const int8*)_staticres->loadRawData(kLolDscY, _dscShapeYSize); + _dscTileIndex = _staticres->loadRawData(kLolDscTileIndex, _dscTileIndexSize); + _dscUnk2 = _staticres->loadRawData(kLolDscUnk2, _dscUnk2Size); + _dscDoorShpIndex = _staticres->loadRawData(kLolDscDoorShapeIndex, _dscDoorShpIndexSize); + _dscDim1 = (const int8*)_staticres->loadRawData(kLolDscDimData1, _dscDim1Size); + _dscDim2 = (const int8*)_staticres->loadRawData(kLolDscDimData2, _dscDim2Size); + _dscBlockMap = _staticres->loadRawData(kLolDscBlockMap, _dscBlockMapSize); + _dscDimMap = _staticres->loadRawData(kLolDscDimMap, _dscDimMapSize); + _dscDoorMonsterScaleTable = _staticres->loadRawDataBe16(kLolDscDoorScale, _dscDoorMonsterScaleTableSize); + _dscShapeOvlIndex = _staticres->loadRawData(kLolDscOvlIndex, _dscShapeOvlIndexSize); + _dscDoor4 = _staticres->loadRawDataBe16(kLolDscDoor4, _dscDoor4Size); + _dscBlockIndex = (const int8*)_staticres->loadRawData(kLolDscBlockIndex, _dscBlockIndexSize); + _dscDoor1 = _staticres->loadRawData(kLolDscDoor1, _dscDoor1Size); + _dscDoorMonsterX = (const int16*)_staticres->loadRawDataBe16(kLolDscDoorX, _dscDoorMonsterXSize); + _dscDoorMonsterY = (const int16*)_staticres->loadRawDataBe16(kLolDscDoorY, _dscDoorMonsterYSize); + + _scrollXTop = _staticres->loadRawData(kLolScrollXTop, _scrollXTopSize); + _scrollYTop = _staticres->loadRawData(kLolScrollYTop, _scrollYTopSize); + _scrollXBottom = _staticres->loadRawData(kLolScrollXBottom, _scrollXBottomSize); + _scrollYBottom = _staticres->loadRawData(kLolScrollYBottom, _scrollYBottomSize); + + const char *const *tmpSndList = _staticres->loadStrings(kLolIngameSfxFiles, _ingameSoundListSize); _ingameSoundList = new char*[_ingameSoundListSize]; for (int i = 0; i < _ingameSoundListSize; i++) { _ingameSoundList[i] = new char[strlen(tmpSndList[i]) + 1]; strcpy(_ingameSoundList[i], tmpSndList[i]); } - _staticres->unloadId(lolIngameSfxFiles); + _staticres->unloadId(kLolIngameSfxFiles); - _buttonData = _staticres->loadButtonDefs(lolButtonDefs, _buttonDataSize); - _buttonList1 = (const int16*)_staticres->loadRawDataBe16(lolButtonList1, _buttonList1Size); - _buttonList2 = (const int16*)_staticres->loadRawDataBe16(lolButtonList2, _buttonList2Size); - _buttonList3 = (const int16*)_staticres->loadRawDataBe16(lolButtonList3, _buttonList3Size); - _buttonList4 = (const int16*)_staticres->loadRawDataBe16(lolButtonList4, _buttonList4Size); - _buttonList5 = (const int16*)_staticres->loadRawDataBe16(lolButtonList5, _buttonList5Size); - _buttonList6 = (const int16*)_staticres->loadRawDataBe16(lolButtonList6, _buttonList6Size); - _buttonList7 = (const int16*)_staticres->loadRawDataBe16(lolButtonList7, _buttonList7Size); - _buttonList8 = (const int16*)_staticres->loadRawDataBe16(lolButtonList8, _buttonList8Size); + _buttonData = _staticres->loadButtonDefs(kLolButtonDefs, _buttonDataSize); + _buttonList1 = (const int16*)_staticres->loadRawDataBe16(kLolButtonList1, _buttonList1Size); + _buttonList2 = (const int16*)_staticres->loadRawDataBe16(kLolButtonList2, _buttonList2Size); + _buttonList3 = (const int16*)_staticres->loadRawDataBe16(kLolButtonList3, _buttonList3Size); + _buttonList4 = (const int16*)_staticres->loadRawDataBe16(kLolButtonList4, _buttonList4Size); + _buttonList5 = (const int16*)_staticres->loadRawDataBe16(kLolButtonList5, _buttonList5Size); + _buttonList6 = (const int16*)_staticres->loadRawDataBe16(kLolButtonList6, _buttonList6Size); + _buttonList7 = (const int16*)_staticres->loadRawDataBe16(kLolButtonList7, _buttonList7Size); + _buttonList8 = (const int16*)_staticres->loadRawDataBe16(kLolButtonList8, _buttonList8Size); } void LoLEngine::assignButtonCallback(Button *button, int index) { @@ -1897,6 +1924,7 @@ void LoLEngine::assignButtonCallback(Button *button, int index) { button->buttonCallback = buttonCallbacks[index]; } +#endif // ENABLE_LOL const ScreenDim Screen_LoK::_screenDimTable[] = { { 0x00, 0x00, 0x28, 0xC8, 0x0F, 0x0C, 0x00, 0x00 }, @@ -2851,6 +2879,7 @@ const int8 KyraEngine_MR::_albumWSAY[] = { // lands of lore static res +#ifdef ENABLE_LOL const ScreenDim Screen_LoL::_screenDimTable[] = { { 0x00, 0x00, 0x28, 0xC8, 0xC7, 0xCF, 0x00, 0x00 }, // Taken from Intro { 0x08, 0x48, 0x18, 0x38, 0xFE, 0x01, 0x00, 0x00 }, @@ -2962,5 +2991,7 @@ const uint8 LoLEngine::_charInfoFrameTable[] = { 0x8, 0x9, 0xA, 0xB, 0xA, 0x9, 0x8, 0x7 }; +#endif // ENABLE_LOL + } // End of namespace Kyra |