aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/create_kyradat/create_kyradat.cpp170
-rw-r--r--tools/create_kyradat/create_kyradat.h164
-rw-r--r--tools/create_kyradat/lol_cd.h156
-rw-r--r--tools/create_kyradat/lol_demo.h2
-rw-r--r--tools/create_kyradat/misc.h160
5 files changed, 334 insertions, 318 deletions
diff --git a/tools/create_kyradat/create_kyradat.cpp b/tools/create_kyradat/create_kyradat.cpp
index 780282bab2..7f43a81ec9 100644
--- a/tools/create_kyradat/create_kyradat.cpp
+++ b/tools/create_kyradat/create_kyradat.cpp
@@ -31,7 +31,7 @@
#include "md5.h"
enum {
- kKyraDatVersion = 49,
+ kKyraDatVersion = 50,
kIndexSize = 12
};
@@ -100,9 +100,9 @@ const ExtractType extractTypeTable[] = {
{ k3TypeRaw16to8, extractRaw16to8, createFilename },
{ k3TypeShpData, extractMrShapeAnimData, createFilename },
- { lolTypeRaw16, extractRaw16, createFilename },
- { lolTypeRaw32, extractRaw32, createFilename },
- { lolTypeButtonDef, extractLolButtonDefs, createFilename },
+ { kLolTypeRaw16, extractRaw16, createFilename },
+ { kLolTypeRaw32, extractRaw32, createFilename },
+ { kLolTypeButtonDef, extractLolButtonDefs, createFilename },
{ -1, 0, 0}
};
@@ -264,88 +264,90 @@ const ExtractFilename extractFilenames[] = {
// LANDS OF LORE
// Demo Sequence Player
- { lolSeqplayIntroTracks, k2TypeSoundList, "S_INTRO.TRA" },
+ { kLolSeqplayIntroTracks, k2TypeSoundList, "S_INTRO.TRA" },
// Ingame
- { lolCharacterDefs, kTypeRawData, "CHARACTER.DEF" },
- { lolIngameSfxFiles, k2TypeSfxList, "SFXFILES.TRA" },
- { lolIngameSfxIndex, kTypeRawData, "SFXINDEX.MAP" },
- { lolMusicTrackMap, kTypeRawData, "MUSIC.MAP" },
- { lolGMSfxIndex, kTypeRawData, "SFX_GM.MAP" },
- { lolMT32SfxIndex, kTypeRawData, "SFX_MT32.MAP" },
- //{ lolADLSfxIndex, kTypeRawData, "SFX_ADL.MAP" },
- { lolSpellProperties, kTypeRawData, "SPELLS.DEF" },
- { lolGameShapeMap, kTypeRawData, "GAMESHP.MAP" },
- { lolSceneItemOffs, kTypeRawData, "ITEMOFFS.DEF" },
- { lolCharInvIndex, k3TypeRaw16to8, "CHARINV.MAP" },
- { lolCharInvDefs, kTypeRawData, "CHARINV.DEF" },
- { lolCharDefsMan, lolTypeRaw16, "CHMAN.DEF" },
- { lolCharDefsWoman, lolTypeRaw16, "CHWOMAN.DEF" },
- { lolCharDefsKieran, lolTypeRaw16, "CHKIERAN.DEF" },
- //{ lolCharDefsUnk, lolTypeRaw16, "CHUNK.DEF" },
- { lolCharDefsAkshel, lolTypeRaw16, "CHAKSHEL.DEF" },
- { lolExpRequirements, lolTypeRaw32, "EXPERIENCE.DEF" },
- { lolMonsterModifiers, lolTypeRaw16, "MONSTMOD.DEF" },
- { lolMonsterLevelOffsets, kTypeRawData, "MONSTLVL.DEF" },
- { lolMonsterDirFlags, kTypeRawData, "MONSTDIR.DEF" },
- { lolMonsterScaleY, kTypeRawData, "MONSTZY.DEF" },
- { lolMonsterScaleX, kTypeRawData, "MONSTZX.DEF" },
- { lolMonsterScaleWH, lolTypeRaw16, "MONSTSCL.DEF" },
- { lolFlyingItemShp, k3TypeRaw16to8, "THRWNSHP.DEF" },
- { lolInventoryDesc, lolTypeRaw16, "INVDESC.DEF" },
- { lolLevelShpList, kTypeStringList, "SHPFILES.TXT" },
- { lolLevelDatList, kTypeStringList, "DATFILES.TXT" },
- { lolCompassDefs, k3TypeRaw16to8, "COMPASS.DEF" },
- { lolItemPrices, lolTypeRaw16, "ITEMCOST.DEF" },
- { lolStashSetup, kTypeRawData, "MONEYSTS.DEF" },
-
- { lolDscUnk1, kTypeRawData, "DSCSHPU1.DEF" },
- { lolDscShapeIndex1, kTypeRawData, "DSCSHPI1.DEF" },
- { lolDscShapeIndex2, kTypeRawData, "DSCSHPI2.DEF" },
- { lolDscScaleWidthData, lolTypeRaw16, "DSCSHPW.DEF" },
- { lolDscScaleHeightData, lolTypeRaw16, "DSCSHPH.DEF" },
- { lolDscX, lolTypeRaw16, "DSCSHPX.DEF" },
- { lolDscY, kTypeRawData, "DSCSHPY.DEF" },
- { lolDscTileIndex, kTypeRawData, "DSCSHPT.DEF" },
- { lolDscUnk2, kTypeRawData, "DSCSHPU2.DEF" },
- { lolDscDoorShapeIndex, kTypeRawData, "DSCDOOR.DEF" },
- { lolDscDimData1, kTypeRawData, "DSCDIM1.DEF" },
- { lolDscDimData2, kTypeRawData, "DSCDIM2.DEF" },
- { lolDscBlockMap, kTypeRawData, "DSCBLOCK1.DEF" },
- { lolDscDimMap, kTypeRawData, "DSCDIM.DEF" },
- { lolDscDoorScale, lolTypeRaw16, "DSCDOOR3.DEF" },
- { lolDscShapeOvlIndex, k3TypeRaw16to8, "DSCBLOCK2.DEF" },
- { lolDscBlockIndex, kTypeRawData, "DSCBLOCKX.DEF" },
- { lolDscDoor4, lolTypeRaw16, "DSCDOOR4.DEF" },
- { lolDscDoor1, kTypeRawData, "DSCDOOR1.DEF" },
- { lolDscDoorX, lolTypeRaw16, "DSCDOORX.DEF" },
- { lolDscDoorY, lolTypeRaw16, "DSCDOORY.DEF" },
-
- { lolScrollXTop, k3TypeRaw16to8, "SCROLLXT.DEF" },
- { lolScrollYTop, k3TypeRaw16to8, "SCROLLYT.DEF" },
- { lolScrollXBottom, k3TypeRaw16to8, "SCROLLXB.DEF" },
- { lolScrollYBottom, k3TypeRaw16to8, "SCROLLYB.DEF" },
-
- { lolButtonDefs, lolTypeButtonDef, "BUTTONS.DEF" },
- { lolButtonList1, lolTypeRaw16, "BUTTON1.LST" },
- { lolButtonList2, lolTypeRaw16, "BUTTON2.LST" },
- { lolButtonList3, lolTypeRaw16, "BUTTON3.LST" },
- { lolButtonList4, lolTypeRaw16, "BUTTON4.LST" },
- { lolButtonList5, lolTypeRaw16, "BUTTON5.LST" },
- { lolButtonList6, lolTypeRaw16, "BUTTON6.LST" },
- { lolButtonList7, lolTypeRaw16, "BUTTON7.LST" },
- { lolButtonList8, lolTypeRaw16, "BUTTON84.LST" },
-
- { lolLegendData, kTypeRawData, "MAPLGND.DEF" },
- { lolMapCursorOvl, kTypeRawData, "MAPCURSOR.PAL" },
- { lolMapStringId, lolTypeRaw16, "MAPSTRID.LST" },
- //{ lolMapPal, kTypeRawData, "MAP.PAL" },
-
- { lolSpellbookAnim, k3TypeRaw16to8, "MBOOKA.DEF" },
- { lolSpellbookCoords, k3TypeRaw16to8, "MBOOKC.DEF" },
- { lolHealShapeFrames, kTypeRawData, "MHEAL.SHP" },
- { lolLightningDefs, kTypeRawData, "MLGHTNG.DEF" },
- { lolFireballCoords, lolTypeRaw16, "MFIREBLL.DEF" },
+ { kLolCharacterDefs, kTypeRawData, "CHARACTER.DEF" },
+ { kLolIngameSfxFiles, k2TypeSfxList, "SFXFILES.TRA" },
+ { kLolIngameSfxIndex, kTypeRawData, "SFXINDEX.MAP" },
+ { kLolMusicTrackMap, kTypeRawData, "MUSIC.MAP" },
+ { kLolGMSfxIndex, kTypeRawData, "SFX_GM.MAP" },
+ { kLolMT32SfxIndex, kTypeRawData, "SFX_MT32.MAP" },
+ //{ kLolADLSfxIndex, kTypeRawData, "SFX_ADL.MAP" },
+ { kLolSpellProperties, kTypeRawData, "SPELLS.DEF" },
+ { kLolGameShapeMap, kTypeRawData, "GAMESHP.MAP" },
+ { kLolSceneItemOffs, kTypeRawData, "ITEMOFFS.DEF" },
+ { kLolCharInvIndex, k3TypeRaw16to8, "CHARINV.MAP" },
+ { kLolCharInvDefs, kTypeRawData, "CHARINV.DEF" },
+ { kLolCharDefsMan, kLolTypeRaw16, "CHMAN.DEF" },
+ { kLolCharDefsWoman, kLolTypeRaw16, "CHWOMAN.DEF" },
+ { kLolCharDefsKieran, kLolTypeRaw16, "CHKIERAN.DEF" },
+ //{ kLolCharDefsUnk, kLolTypeRaw16, "CHUNK.DEF" },
+ { kLolCharDefsAkshel, kLolTypeRaw16, "CHAKSHEL.DEF" },
+ { kLolExpRequirements, kLolTypeRaw32, "EXPERIENCE.DEF" },
+ { kLolMonsterModifiers, kLolTypeRaw16, "MONSTMOD.DEF" },
+ { kLolMonsterLevelOffsets, kTypeRawData, "MONSTLVL.DEF" },
+ { kLolMonsterDirFlags, kTypeRawData, "MONSTDIR.DEF" },
+ { kLolMonsterScaleY, kTypeRawData, "MONSTZY.DEF" },
+ { kLolMonsterScaleX, kTypeRawData, "MONSTZX.DEF" },
+ { kLolMonsterScaleWH, kLolTypeRaw16, "MONSTSCL.DEF" },
+ { kLolFlyingItemShp, k3TypeRaw16to8, "THRWNSHP.DEF" },
+ { kLolInventoryDesc, kLolTypeRaw16, "INVDESC.DEF" },
+ { kLolLevelShpList, kTypeStringList, "SHPFILES.TXT" },
+ { kLolLevelDatList, kTypeStringList, "DATFILES.TXT" },
+ { kLolCompassDefs, k3TypeRaw16to8, "COMPASS.DEF" },
+ { kLolItemPrices, kLolTypeRaw16, "ITEMCOST.DEF" },
+ { kLolStashSetup, kTypeRawData, "MONEYSTS.DEF" },
+
+ { kLolDscUnk1, kTypeRawData, "DSCSHPU1.DEF" },
+ { kLolDscShapeIndex1, kTypeRawData, "DSCSHPI1.DEF" },
+ { kLolDscShapeIndex2, kTypeRawData, "DSCSHPI2.DEF" },
+ { kLolDscScaleWidthData, kLolTypeRaw16, "DSCSHPW.DEF" },
+ { kLolDscScaleHeightData, kLolTypeRaw16, "DSCSHPH.DEF" },
+ { kLolDscX, kLolTypeRaw16, "DSCSHPX.DEF" },
+ { kLolDscY, kTypeRawData, "DSCSHPY.DEF" },
+ { kLolDscTileIndex, kTypeRawData, "DSCSHPT.DEF" },
+ { kLolDscUnk2, kTypeRawData, "DSCSHPU2.DEF" },
+ { kLolDscDoorShapeIndex, kTypeRawData, "DSCDOOR.DEF" },
+ { kLolDscDimData1, kTypeRawData, "DSCDIM1.DEF" },
+ { kLolDscDimData2, kTypeRawData, "DSCDIM2.DEF" },
+ { kLolDscBlockMap, kTypeRawData, "DSCBLOCK1.DEF" },
+ { kLolDscDimMap, kTypeRawData, "DSCDIM.DEF" },
+ { kLolDscDoorScale, kLolTypeRaw16, "DSCDOOR3.DEF" },
+ { kLolDscShapeOvlIndex, k3TypeRaw16to8, "DSCBLOCK2.DEF" },
+ { kLolDscBlockIndex, kTypeRawData, "DSCBLOCKX.DEF" },
+ { kLolDscDoor4, kLolTypeRaw16, "DSCDOOR4.DEF" },
+ { kLolDscDoor1, kTypeRawData, "DSCDOOR1.DEF" },
+ { kLolDscDoorX, kLolTypeRaw16, "DSCDOORX.DEF" },
+ { kLolDscDoorY, kLolTypeRaw16, "DSCDOORY.DEF" },
+
+ { kLolScrollXTop, k3TypeRaw16to8, "SCROLLXT.DEF" },
+ { kLolScrollYTop, k3TypeRaw16to8, "SCROLLYT.DEF" },
+ { kLolScrollXBottom, k3TypeRaw16to8, "SCROLLXB.DEF" },
+ { kLolScrollYBottom, k3TypeRaw16to8, "SCROLLYB.DEF" },
+
+ { kLolButtonDefs, kLolTypeButtonDef, "BUTTONS.DEF" },
+ { kLolButtonList1, kLolTypeRaw16, "BUTTON1.LST" },
+ { kLolButtonList2, kLolTypeRaw16, "BUTTON2.LST" },
+ { kLolButtonList3, kLolTypeRaw16, "BUTTON3.LST" },
+ { kLolButtonList4, kLolTypeRaw16, "BUTTON4.LST" },
+ { kLolButtonList5, kLolTypeRaw16, "BUTTON5.LST" },
+ { kLolButtonList6, kLolTypeRaw16, "BUTTON6.LST" },
+ { kLolButtonList7, kLolTypeRaw16, "BUTTON7.LST" },
+ { kLolButtonList8, kLolTypeRaw16, "BUTTON84.LST" },
+
+ { kLolLegendData, kTypeRawData, "MAPLGND.DEF" },
+ { kLolMapCursorOvl, kTypeRawData, "MAPCURSOR.PAL" },
+ { kLolMapStringId, kLolTypeRaw16, "MAPSTRID.LST" },
+ //{ kLolMapPal, kTypeRawData, "MAP.PAL" },
+
+ { kLolSpellbookAnim, k3TypeRaw16to8, "MBOOKA.DEF" },
+ { kLolSpellbookCoords, k3TypeRaw16to8, "MBOOKC.DEF" },
+ { kLolHealShapeFrames, kTypeRawData, "MHEAL.SHP" },
+ { kLolLightningDefs, kTypeRawData, "MLGHTNG.DEF" },
+ { kLolFireballCoords, kLolTypeRaw16, "MFIREBLL.DEF" },
+
+ { kLolHistory, kTypeRawData, "HISTORY.FLS" },
{ -1, 0, 0 }
};
diff --git a/tools/create_kyradat/create_kyradat.h b/tools/create_kyradat/create_kyradat.h
index 13f6966f83..cc1f990a39 100644
--- a/tools/create_kyradat/create_kyradat.h
+++ b/tools/create_kyradat/create_kyradat.h
@@ -174,88 +174,90 @@ enum kExtractID {
k3ItemMagicTable,
k3ItemStringMap,
- lolSeqplayIntroTracks,
-
- lolCharacterDefs,
- lolIngameSfxFiles,
- lolIngameSfxIndex,
- lolMusicTrackMap,
- lolGMSfxIndex,
- lolMT32SfxIndex,
+ kLolSeqplayIntroTracks,
+
+ kLolCharacterDefs,
+ kLolIngameSfxFiles,
+ kLolIngameSfxIndex,
+ kLolMusicTrackMap,
+ kLolGMSfxIndex,
+ kLolMT32SfxIndex,
//lolADLSfxIndex,
- lolSpellProperties,
- lolGameShapeMap,
- lolSceneItemOffs,
- lolCharInvIndex,
- lolCharInvDefs,
- lolCharDefsMan,
- lolCharDefsWoman,
- lolCharDefsKieran,
+ kLolSpellProperties,
+ kLolGameShapeMap,
+ kLolSceneItemOffs,
+ kLolCharInvIndex,
+ kLolCharInvDefs,
+ kLolCharDefsMan,
+ kLolCharDefsWoman,
+ kLolCharDefsKieran,
//lolCharDefsUnk,
- lolCharDefsAkshel,
- lolExpRequirements,
- lolMonsterModifiers,
- lolMonsterLevelOffsets,
- lolMonsterDirFlags,
- lolMonsterScaleY,
- lolMonsterScaleX,
- lolMonsterScaleWH,
- lolFlyingItemShp,
- lolInventoryDesc,
-
- lolLevelShpList,
- lolLevelDatList,
- lolCompassDefs,
- lolItemPrices,
- lolStashSetup,
-
- lolDscUnk1,
- lolDscShapeIndex1,
- lolDscShapeIndex2,
- lolDscScaleWidthData,
- lolDscScaleHeightData,
- lolDscX,
- lolDscY,
- lolDscTileIndex,
- lolDscUnk2,
- lolDscDoorShapeIndex,
- lolDscDimData1,
- lolDscDimData2,
- lolDscBlockMap,
- lolDscDimMap,
- lolDscShapeOvlIndex,
- lolDscBlockIndex,
- lolDscDoor1,
- lolDscDoorScale,
- lolDscDoor4,
- lolDscDoorX,
- lolDscDoorY,
-
- lolScrollXTop,
- lolScrollYTop,
- lolScrollXBottom,
- lolScrollYBottom,
-
- lolButtonDefs,
- lolButtonList1,
- lolButtonList2,
- lolButtonList3,
- lolButtonList4,
- lolButtonList5,
- lolButtonList6,
- lolButtonList7,
- lolButtonList8,
-
- lolLegendData,
- lolMapCursorOvl,
- lolMapStringId,
+ 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,
+ kLolButtonList2,
+ kLolButtonList3,
+ kLolButtonList4,
+ kLolButtonList5,
+ kLolButtonList6,
+ kLolButtonList7,
+ kLolButtonList8,
+
+ kLolLegendData,
+ kLolMapCursorOvl,
+ kLolMapStringId,
//lolMapPal,
- lolSpellbookAnim,
- lolSpellbookCoords,
- lolHealShapeFrames,
- lolLightningDefs,
- lolFireballCoords,
+ kLolSpellbookAnim,
+ kLolSpellbookCoords,
+ kLolHealShapeFrames,
+ kLolLightningDefs,
+ kLolFireballCoords,
+
+ kLolHistory,
kMaxResIDs
};
@@ -352,9 +354,9 @@ enum kExtractType {
k3TypeRaw16to8,
k3TypeShpData,
- lolTypeRaw16,
- lolTypeRaw32,
- lolTypeButtonDef
+ kLolTypeRaw16,
+ kLolTypeRaw32,
+ kLolTypeButtonDef
};
struct ExtractType {
diff --git a/tools/create_kyradat/lol_cd.h b/tools/create_kyradat/lol_cd.h
index fa36d1b91d..ab8a29062f 100644
--- a/tools/create_kyradat/lol_cd.h
+++ b/tools/create_kyradat/lol_cd.h
@@ -1,89 +1,95 @@
+const ExtractEntry lolCDFile1E[] = {
+ { kLolHistory, 0x1FAA0, 0x1FC71 },
+ { -1, 0, 0 }
+};
+
const ExtractEntry lolCDFile2[] = {
- { lolCharacterDefs, 0x00029D60, 0x0002A1F2 },
- { lolIngameSfxFiles, 0x0002A330, 0x0002AC22 },
- { lolIngameSfxIndex, 0x0002AC22, 0x0002B00A },
- { lolMusicTrackMap, 0x0002A240, 0x0002A330 },
- { lolGMSfxIndex, 0x0002B010, 0x0002B10A },
- { lolMT32SfxIndex, 0x0002B110, 0x0002B20A },
- //{ lolADLSfxIndex, 0x0002B210, 0x0002B30A },
- { lolSpellProperties, 0x0002B5E0, 0x0002B6F8 },
- { lolGameShapeMap, 0x0002B35C, 0x0002B470 },
- { lolSceneItemOffs, 0x0003200F, 0x00032017 },
- { lolCharInvIndex, 0x0002B470, 0x0002B47A },
- { lolCharInvDefs, 0x0002B47A, 0x0002B4D2 },
- { lolCharDefsMan, 0x0002B4D2, 0x0002B4E4 },
- { lolCharDefsWoman, 0x0002B4E4, 0x0002B4F6 },
- { lolCharDefsKieran, 0x0002B4F6, 0x0002B508 },
- //{ lolCharDefsUnk, 0x0002B508, 0x0002B51A },
- { lolCharDefsAkshel, 0x0002B51A, 0x0002B52C },
- { lolExpRequirements, 0x0002B830, 0x0002B85C },
- { lolMonsterModifiers, 0x0002B85C, 0x0002B874 },
- { lolMonsterLevelOffsets, 0x00031FDF, 0x00031FFF },
- { lolMonsterDirFlags, 0x00031FFF, 0x0003200F },
- { lolMonsterScaleY, 0x00031BC0, 0x00031BDE },
- { lolMonsterScaleX, 0x00031BDE, 0x00031BFE },
- { lolMonsterScaleWH, 0x000285C0, 0x00028642 },
- { lolFlyingItemShp, 0x00028642, 0x000286C4 },
- { lolInventoryDesc, 0x00032706, 0x0003271C },
+ { kLolCharacterDefs, 0x00029D60, 0x0002A1F2 },
+ { kLolIngameSfxFiles, 0x0002A330, 0x0002AC22 },
+ { kLolIngameSfxIndex, 0x0002AC22, 0x0002B00A },
+ { kLolMusicTrackMap, 0x0002A240, 0x0002A330 },
+ { kLolGMSfxIndex, 0x0002B010, 0x0002B10A },
+ { kLolMT32SfxIndex, 0x0002B110, 0x0002B20A },
+ //{ kLolADLSfxIndex, 0x0002B210, 0x0002B30A },
+ { kLolSpellProperties, 0x0002B5E0, 0x0002B6F8 },
+ { kLolGameShapeMap, 0x0002B35C, 0x0002B470 },
+ { kLolSceneItemOffs, 0x0003200F, 0x00032017 },
+ { kLolCharInvIndex, 0x0002B470, 0x0002B47A },
+ { kLolCharInvDefs, 0x0002B47A, 0x0002B4D2 },
+ { kLolCharDefsMan, 0x0002B4D2, 0x0002B4E4 },
+ { kLolCharDefsWoman, 0x0002B4E4, 0x0002B4F6 },
+ { kLolCharDefsKieran, 0x0002B4F6, 0x0002B508 },
+ //{ kLolCharDefsUnk, 0x0002B508, 0x0002B51A },
+ { kLolCharDefsAkshel, 0x0002B51A, 0x0002B52C },
+ { kLolExpRequirements, 0x0002B830, 0x0002B85C },
+ { kLolMonsterModifiers, 0x0002B85C, 0x0002B874 },
+ { kLolMonsterLevelOffsets, 0x00031FDF, 0x00031FFF },
+ { kLolMonsterDirFlags, 0x00031FFF, 0x0003200F },
+ { kLolMonsterScaleY, 0x00031BC0, 0x00031BDE },
+ { kLolMonsterScaleX, 0x00031BDE, 0x00031BFE },
+ { kLolMonsterScaleWH, 0x000285C0, 0x00028642 },
+ { kLolFlyingItemShp, 0x00028642, 0x000286C4 },
+ { kLolInventoryDesc, 0x00032706, 0x0003271C },
- { lolLevelShpList, 0x00032826, 0x000328A5 },
- { lolLevelDatList, 0x000328A5, 0x000329A4 },
- { lolCompassDefs, 0x000286C4, 0x000287C4 },
- { lolItemPrices, 0x0002F8C0, 0x0002F91C },
- { lolStashSetup, 0x000324A5, 0x000324B1 },
+ { kLolLevelShpList, 0x00032826, 0x000328A5 },
+ { kLolLevelDatList, 0x000328A5, 0x000329A4 },
+ { kLolCompassDefs, 0x000286C4, 0x000287C4 },
+ { kLolItemPrices, 0x0002F8C0, 0x0002F91C },
+ { kLolStashSetup, 0x000324A5, 0x000324B1 },
- { lolDscUnk1, 0x00032017, 0x0003203B },
- { lolDscShapeIndex1, 0x0003203B, 0x0003205F },
- { lolDscShapeIndex2, 0x0003205F, 0x00032069 },
- { lolDscScaleWidthData, 0x00032069, 0x000320B1 },
- { lolDscScaleHeightData, 0x000320B1, 0x000320F9 },
- { lolDscX, 0x000320F9, 0x00032141 },
- { lolDscY, 0x00032141, 0x00032165 },
- { lolDscTileIndex, 0x00032165, 0x00032177 },
- { lolDscUnk2, 0x00032177, 0x0003218E },
- { lolDscDoorShapeIndex, 0x0003218E, 0x000321A5 },
- { lolDscDimData1, 0x00031C03, 0x00031D47 },
- { lolDscDimData2, 0x00031D47, 0x00031FD0 },
- { lolDscBlockMap, 0x00031B64, 0x00031B70 },
- { lolDscDimMap, 0x00031B70, 0x00031B82 },
- { lolDscDoorScale, 0x00031B82, 0x00031B92 },
- { lolDscShapeOvlIndex, 0x00031B92, 0x00031BBA },
- { lolDscDoor4, 0x00031BBA, 0x00031BC2 },
- { lolDscBlockIndex, 0x00033B53, 0x00033B9B },
- { lolDscDoor1, 0x0002B550, 0x0002B5D0 },
- { lolDscDoorX, 0x00027CC0, 0x00028140 },
- { lolDscDoorY, 0x00028140, 0x000285C0 },
+ { kLolDscUnk1, 0x00032017, 0x0003203B },
+ { kLolDscShapeIndex1, 0x0003203B, 0x0003205F },
+ { kLolDscShapeIndex2, 0x0003205F, 0x00032069 },
+ { kLolDscScaleWidthData, 0x00032069, 0x000320B1 },
+ { kLolDscScaleHeightData, 0x000320B1, 0x000320F9 },
+ { kLolDscX, 0x000320F9, 0x00032141 },
+ { kLolDscY, 0x00032141, 0x00032165 },
+ { kLolDscTileIndex, 0x00032165, 0x00032177 },
+ { kLolDscUnk2, 0x00032177, 0x0003218E },
+ { kLolDscDoorShapeIndex, 0x0003218E, 0x000321A5 },
+ { kLolDscDimData1, 0x00031C03, 0x00031D47 },
+ { kLolDscDimData2, 0x00031D47, 0x00031FD0 },
+ { kLolDscBlockMap, 0x00031B64, 0x00031B70 },
+ { kLolDscDimMap, 0x00031B70, 0x00031B82 },
+ { kLolDscDoorScale, 0x00031B82, 0x00031B92 },
+ { kLolDscShapeOvlIndex, 0x00031B92, 0x00031BBA },
+ { kLolDscDoor4, 0x00031BBA, 0x00031BC2 },
+ { kLolDscBlockIndex, 0x00033B53, 0x00033B9B },
+ { kLolDscDoor1, 0x0002B550, 0x0002B5D0 },
+ { kLolDscDoorX, 0x00027CC0, 0x00028140 },
+ { kLolDscDoorY, 0x00028140, 0x000285C0 },
- { lolScrollXTop, 0x00033D40, 0x00033D4A },
- { lolScrollYTop, 0x00033D4A, 0x00033D54 },
- { lolScrollXBottom, 0x00033D54, 0x00033D5E },
- { lolScrollYBottom, 0x00033D5E, 0x00033D68 },
+ { kLolScrollXTop, 0x00033D40, 0x00033D4A },
+ { kLolScrollYTop, 0x00033D4A, 0x00033D54 },
+ { kLolScrollXBottom, 0x00033D54, 0x00033D5E },
+ { kLolScrollYBottom, 0x00033D5E, 0x00033D68 },
- { lolButtonDefs, 0x00028E80, 0x000296AA },
- { lolButtonList1, 0x000296B0, 0x00029700 },
- { lolButtonList2, 0x00029700, 0x0002971E },
- { lolButtonList3, 0x00029720, 0x00029724 },
- { lolButtonList4, 0x00029730, 0x0002974E },
- { lolButtonList5, 0x00029750, 0x00029770 },
- { lolButtonList6, 0x00029770, 0x0002978C },
- { lolButtonList7, 0x00029790, 0x00029796 },
- { lolButtonList8, 0x000297A0, 0x000297A4 },
+ { kLolButtonDefs, 0x00028E80, 0x000296AA },
+ { kLolButtonList1, 0x000296B0, 0x00029700 },
+ { kLolButtonList2, 0x00029700, 0x0002971E },
+ { kLolButtonList3, 0x00029720, 0x00029724 },
+ { kLolButtonList4, 0x00029730, 0x0002974E },
+ { kLolButtonList5, 0x00029750, 0x00029770 },
+ { kLolButtonList6, 0x00029770, 0x0002978C },
+ { kLolButtonList7, 0x00029790, 0x00029796 },
+ { kLolButtonList8, 0x000297A0, 0x000297A4 },
- { lolLegendData, 0x000321F0, 0x0003222C },
- { lolMapCursorOvl, 0x0003222C, 0x00032245 },
- { lolMapStringId, 0x000287D0, 0x0002880C },
- //{ lolMapPal, 0x0001D9C0, 0x0001DBC0 },
+ { kLolLegendData, 0x000321F0, 0x0003222C },
+ { kLolMapCursorOvl, 0x0003222C, 0x00032245 },
+ { kLolMapStringId, 0x000287D0, 0x0002880C },
+ //{ kLolMapPal, 0x0001D9C0, 0x0001DBC0 },
- { lolSpellbookAnim, 0x00032D94, 0x00032DCC },
- { lolSpellbookCoords, 0x00032DCC, 0x00032DE4 },
- { lolHealShapeFrames, 0x000297D0, 0x00029820 },
- { lolLightningDefs, 0x00032740, 0x00032754 },
- { lolFireballCoords, 0x0001D9C0, 0x0001DBC0 },
+ { kLolSpellbookAnim, 0x00032D94, 0x00032DCC },
+ { kLolSpellbookCoords, 0x00032DCC, 0x00032DE4 },
+ { kLolHealShapeFrames, 0x000297D0, 0x00029820 },
+ { kLolLightningDefs, 0x00032740, 0x00032754 },
+ { kLolFireballCoords, 0x0001D9C0, 0x0001DBC0 },
{ -1, 0, 0 }
};
const Game lolGames[] = {
- { kLol, EN_ANY, kLolCD, "263998ec600afca1cc7b935c473df670", lolCDFile2},
+ { kLol, EN_ANY, kLolCD, "9d1778314de80598c0b0d032e2a1a1cf", lolCDFile1E },
+ { kLol, EN_ANY, kLolCD, "263998ec600afca1cc7b935c473df670", lolCDFile2 },
GAME_DUMMY_ENTRY
};
diff --git a/tools/create_kyradat/lol_demo.h b/tools/create_kyradat/lol_demo.h
index 378b8c5dce..85470d9661 100644
--- a/tools/create_kyradat/lol_demo.h
+++ b/tools/create_kyradat/lol_demo.h
@@ -3,7 +3,7 @@ const ExtractEntry lolDemo[] = {
{ k2SeqplayStrings, 0x0001B5EE, 0x0001B6F0 },
{ k2SeqplaySfxFiles, 0x0001B6F0, 0x0001B7B5 },
{ k2SeqplaySeqData, 0x0001B320, 0x0001B56C },
- { lolSeqplayIntroTracks, 0x0001B7B5, 0x0001B7CF },
+ { kLolSeqplayIntroTracks, 0x0001B7B5, 0x0001B7CF },
{ -1, 0, 0 }
};
diff --git a/tools/create_kyradat/misc.h b/tools/create_kyradat/misc.h
index 1dac208ade..c4cd03bf5e 100644
--- a/tools/create_kyradat/misc.h
+++ b/tools/create_kyradat/misc.h
@@ -481,87 +481,92 @@ const int kyra3Need[] = {
-1
};
+const int lolCDFile1ENeed[] = {
+ kLolHistory,
+ -1
+};
+
const int lolCDFile2Need[] = {
- lolCharacterDefs,
- lolIngameSfxFiles,
- lolIngameSfxIndex,
- lolMusicTrackMap,
- lolGMSfxIndex,
- lolMT32SfxIndex,
+ kLolCharacterDefs,
+ kLolIngameSfxFiles,
+ kLolIngameSfxIndex,
+ kLolMusicTrackMap,
+ kLolGMSfxIndex,
+ kLolMT32SfxIndex,
//lolADLSfxIndex,
- lolSpellProperties,
- lolGameShapeMap,
- lolSceneItemOffs,
- lolCharInvIndex,
- lolCharInvDefs,
- lolCharDefsMan,
- lolCharDefsWoman,
- lolCharDefsKieran,
+ kLolSpellProperties,
+ kLolGameShapeMap,
+ kLolSceneItemOffs,
+ kLolCharInvIndex,
+ kLolCharInvDefs,
+ kLolCharDefsMan,
+ kLolCharDefsWoman,
+ kLolCharDefsKieran,
//lolCharDefsUnk,
- lolCharDefsAkshel,
- lolExpRequirements,
- lolMonsterModifiers,
- lolMonsterLevelOffsets,
- lolMonsterDirFlags,
- lolMonsterScaleY,
- lolMonsterScaleX,
- lolMonsterScaleWH,
- lolFlyingItemShp,
- lolInventoryDesc,
-
- lolLevelShpList,
- lolLevelDatList,
- lolCompassDefs,
- lolItemPrices,
- lolStashSetup,
- lolDscUnk1,
- lolDscShapeIndex1,
- lolDscShapeIndex2,
- lolDscScaleWidthData,
- lolDscScaleHeightData,
- lolDscX,
- lolDscY,
- lolDscTileIndex,
- lolDscUnk2,
- lolDscDoorShapeIndex,
- lolDscDimData1,
- lolDscDimData2,
- lolDscBlockMap,
- lolDscDimMap,
- lolDscShapeOvlIndex,
- lolDscBlockIndex,
- lolDscDoor1,
- lolDscDoorScale,
- lolDscDoor4,
- lolDscDoorX,
- lolDscDoorY,
-
- lolScrollXTop,
- lolScrollYTop,
- lolScrollXBottom,
- lolScrollYBottom,
-
- lolButtonDefs,
- lolButtonList1,
- lolButtonList1,
- lolButtonList2,
- lolButtonList3,
- lolButtonList4,
- lolButtonList5,
- lolButtonList6,
- lolButtonList7,
- lolButtonList8,
-
- lolLegendData,
- lolMapCursorOvl,
- lolMapStringId,
+ 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,
//lolMapPal,
- lolSpellbookAnim,
- lolSpellbookCoords,
- lolHealShapeFrames,
- lolLightningDefs,
- lolFireballCoords,
+ kLolSpellbookAnim,
+ kLolSpellbookCoords,
+ kLolHealShapeFrames,
+ kLolLightningDefs,
+ kLolFireballCoords,
-1
};
@@ -571,7 +576,7 @@ const int lolDemoNeed[] = {
k2SeqplayStrings,
k2SeqplaySeqData,
k2SeqplaySfxFiles,
- lolSeqplayIntroTracks,
+ kLolSeqplayIntroTracks,
-1
};
@@ -604,6 +609,7 @@ const GameNeed gameNeedTable[] = {
{ kKyra3, -1, kyra3Need },
+ { kLol, kLolCD, lolCDFile1ENeed },
{ kLol, kLolCD, lolCDFile2Need },
{ -1, -1, 0 }