aboutsummaryrefslogtreecommitdiff
path: root/tools/create_lure
diff options
context:
space:
mode:
authorPaul Gilbert2006-08-27 11:35:25 +0000
committerPaul Gilbert2006-08-27 11:35:25 +0000
commit09bfa99b956fc434e3fa1ecfd86f8be2a9c9679c (patch)
treed041c750473b1efce7a996423e8b546fa9b88ced /tools/create_lure
parent0b1c1702a5255675b45448857e2530567963ebb5 (diff)
downloadscummvm-rg350-09bfa99b956fc434e3fa1ecfd86f8be2a9c9679c.tar.gz
scummvm-rg350-09bfa99b956fc434e3fa1ecfd86f8be2a9c9679c.tar.bz2
scummvm-rg350-09bfa99b956fc434e3fa1ecfd86f8be2a9c9679c.zip
Added code for including room header flags and supported actions
svn-id: r23779
Diffstat (limited to 'tools/create_lure')
-rw-r--r--tools/create_lure/create_lure_dat.cpp6
-rw-r--r--tools/create_lure/create_lure_dat.h13
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];