Added code for including room header flags and supported actions

svn-id: r23779
This commit is contained in:
Paul Gilbert 2006-08-27 11:35:25 +00:00
parent 0b1c1702a5
commit 09bfa99b95
2 changed files with 13 additions and 6 deletions

View file

@ -128,6 +128,8 @@ void read_room_data(byte *&data, uint16 &totalSize)
lure_exe.read(&buffer, sizeof(RoomResource)); lure_exe.read(&buffer, sizeof(RoomResource));
RoomResourceOutput *rec = (RoomResourceOutput *) (data + offset); RoomResourceOutput *rec = (RoomResourceOutput *) (data + offset);
rec->hdrFlags = headerEntry.hdrFlags;
rec->actions = FROM_LE_32(buffer.actions);
rec->roomNumber = headerEntry.roomNumber; rec->roomNumber = headerEntry.roomNumber;
rec->descId = headerEntry.descId; rec->descId = headerEntry.descId;
rec->numLayers = buffer.numLayers; rec->numLayers = buffer.numLayers;
@ -1128,8 +1130,8 @@ void validate_executable() {
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
const char *inFilename = (argc >= 2) ? argv[1] : "f:\\games\\lure\\lure.exe"; const char *inFilename = (argc >= 2) ? argv[1] : "c:\\games\\lure\\lure.exe";
const char *outFilename = (argc == 3) ? argv[2] : "f:\\games\\lure\\lure.dat"; const char *outFilename = (argc == 3) ? argv[2] : "c:\\games\\lure\\lure.dat";
if (!lure_exe.open(inFilename)) if (!lure_exe.open(inFilename))
{ {

View file

@ -27,7 +27,7 @@
#include "common/endian.h" #include "common/endian.h"
#define VERSION_MAJOR 1 #define VERSION_MAJOR 1
#define VERSION_MINOR 11 #define VERSION_MINOR 12
#define ENGLISH_LURE #define ENGLISH_LURE
#define DATA_SEGMENT 0xac50 #define DATA_SEGMENT 0xac50
@ -103,7 +103,8 @@ struct RoomHeaderEntry {
uint16 offset; uint16 offset;
uint16 roomNumber; uint16 roomNumber;
uint16 descId; uint16 descId;
byte unused[3]; uint16 unused;
byte hdrFlags;
}; };
struct HotspotHeaderEntry { struct HotspotHeaderEntry {
@ -185,12 +186,13 @@ struct HotspotResourceOutput {
}; };
struct RoomResource { struct RoomResource {
byte unknown1[6]; uint32 actions;
uint16 unknown1;
uint16 pixelListOffset; uint16 pixelListOffset;
byte numLayers; byte numLayers;
uint16 layers[4]; uint16 layers[4];
uint16 sequenceOffset; uint16 sequenceOffset;
byte unknown3[5]; byte unknown2[5];
uint8 walkBoundsIndex; uint8 walkBoundsIndex;
int16 clippingXStart; int16 clippingXStart;
int16 clippingXEnd; int16 clippingXEnd;
@ -208,6 +210,9 @@ struct RoomRectOut {
struct RoomResourceOutput { struct RoomResourceOutput {
uint16 roomNumber; uint16 roomNumber;
uint8 hdrFlags;
uint8 unused;
uint32 actions;
uint16 descId; uint16 descId;
uint16 numLayers; uint16 numLayers;
uint16 layers[4]; uint16 layers[4];