From 09bfa99b956fc434e3fa1ecfd86f8be2a9c9679c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 27 Aug 2006 11:35:25 +0000 Subject: Added code for including room header flags and supported actions svn-id: r23779 --- tools/create_lure/create_lure_dat.cpp | 6 ++++-- tools/create_lure/create_lure_dat.h | 13 +++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/tools/create_lure/create_lure_dat.cpp b/tools/create_lure/create_lure_dat.cpp index 16d14b6e6b..f22c536912 100644 --- a/tools/create_lure/create_lure_dat.cpp +++ b/tools/create_lure/create_lure_dat.cpp @@ -128,6 +128,8 @@ void read_room_data(byte *&data, uint16 &totalSize) lure_exe.read(&buffer, sizeof(RoomResource)); RoomResourceOutput *rec = (RoomResourceOutput *) (data + offset); + rec->hdrFlags = headerEntry.hdrFlags; + rec->actions = FROM_LE_32(buffer.actions); rec->roomNumber = headerEntry.roomNumber; rec->descId = headerEntry.descId; rec->numLayers = buffer.numLayers; @@ -1128,8 +1130,8 @@ void validate_executable() { int main(int argc, char *argv[]) { - const char *inFilename = (argc >= 2) ? argv[1] : "f:\\games\\lure\\lure.exe"; - const char *outFilename = (argc == 3) ? argv[2] : "f:\\games\\lure\\lure.dat"; + const char *inFilename = (argc >= 2) ? argv[1] : "c:\\games\\lure\\lure.exe"; + const char *outFilename = (argc == 3) ? argv[2] : "c:\\games\\lure\\lure.dat"; if (!lure_exe.open(inFilename)) { diff --git a/tools/create_lure/create_lure_dat.h b/tools/create_lure/create_lure_dat.h index 8c41e0d496..6348d5c506 100644 --- a/tools/create_lure/create_lure_dat.h +++ b/tools/create_lure/create_lure_dat.h @@ -27,7 +27,7 @@ #include "common/endian.h" #define VERSION_MAJOR 1 -#define VERSION_MINOR 11 +#define VERSION_MINOR 12 #define ENGLISH_LURE #define DATA_SEGMENT 0xac50 @@ -103,7 +103,8 @@ struct RoomHeaderEntry { uint16 offset; uint16 roomNumber; uint16 descId; - byte unused[3]; + uint16 unused; + byte hdrFlags; }; struct HotspotHeaderEntry { @@ -185,12 +186,13 @@ struct HotspotResourceOutput { }; struct RoomResource { - byte unknown1[6]; + uint32 actions; + uint16 unknown1; uint16 pixelListOffset; byte numLayers; uint16 layers[4]; uint16 sequenceOffset; - byte unknown3[5]; + byte unknown2[5]; uint8 walkBoundsIndex; int16 clippingXStart; int16 clippingXEnd; @@ -208,6 +210,9 @@ struct RoomRectOut { struct RoomResourceOutput { uint16 roomNumber; + uint8 hdrFlags; + uint8 unused; + uint32 actions; uint16 descId; uint16 numLayers; uint16 layers[4]; -- cgit v1.2.3