aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure3
-rw-r--r--engines/engines.mk4
-rw-r--r--engines/kyra/detection.cpp9
-rw-r--r--engines/kyra/kyra_hof.cpp2
-rw-r--r--engines/kyra/kyra_hof.h4
-rw-r--r--engines/kyra/kyra_v1.cpp4
-rw-r--r--engines/kyra/module.mk24
-rw-r--r--engines/kyra/resource.h153
-rw-r--r--engines/kyra/script_tim.cpp7
-rw-r--r--engines/kyra/script_tim.h2
-rw-r--r--engines/kyra/sequences_hof.cpp2
-rw-r--r--engines/kyra/staticres.cpp327
12 files changed, 311 insertions, 230 deletions
diff --git a/configure b/configure
index c20d9af3e8..f64bf3c563 100755
--- a/configure
+++ b/configure
@@ -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