diff options
-rw-r--r-- | tools/create_lure/create_lure_dat.cpp | 14 | ||||
-rw-r--r-- | tools/create_lure/create_lure_dat.h | 5 |
2 files changed, 18 insertions, 1 deletions
diff --git a/tools/create_lure/create_lure_dat.cpp b/tools/create_lure/create_lure_dat.cpp index 13f7c97964..dbcd03faab 100644 --- a/tools/create_lure/create_lure_dat.cpp +++ b/tools/create_lure/create_lure_dat.cpp @@ -478,6 +478,7 @@ void read_room_exit_joins(byte *&data, uint16 &totalSize) { void read_anim_data(byte *&data, uint16 &totalSize) { // Add special pixel records + add_anim_record(0x184B); // Restart/Restore buttons add_anim_record(0x55C0); // Player midswing animation add_anim_record(0x55C9); // Player mid-level defend add_anim_record(0x55D2); // Player high-level strike @@ -1006,6 +1007,14 @@ void save_text_strings(byte *&data, uint16 &totalSize) { } } +void save_sound_desc_data(byte *&data, uint16 &totalSize) { + lure_exe.seek(DATA_SEGMENT + SOUND_1_OFFSET); + + totalSize = SOUND_1_SIZE; + data = (byte *) malloc(totalSize); + lure_exe.read(data, totalSize); +} + void getEntry(uint8 entryIndex, uint16 &resourceId, byte *&data, uint16 &size) { resourceId = 0x3f01 + entryIndex; @@ -1127,6 +1136,11 @@ void getEntry(uint8 entryIndex, uint16 &resourceId, byte *&data, uint16 &size) save_text_strings(data, size); break; + case 23: + // Save the sound header desc data + save_sound_desc_data(data, size); + break; + default: data = NULL; size = 0; diff --git a/tools/create_lure/create_lure_dat.h b/tools/create_lure/create_lure_dat.h index 4429baf8bb..8b9bc03e02 100644 --- a/tools/create_lure/create_lure_dat.h +++ b/tools/create_lure/create_lure_dat.h @@ -30,7 +30,7 @@ #include "common/endian.h" #define VERSION_MAJOR 1 -#define VERSION_MINOR 20 +#define VERSION_MINOR 21 #define ENGLISH_LURE #define DATA_SEGMENT 0xac50 @@ -88,6 +88,9 @@ #define EXIT_HOTSPOTS_OFFSET 0x2E57 +#define SOUND_1_OFFSET 0x5671 +#define SOUND_1_SIZE 265 + #pragma pack(1) // Rect currently copied from common/rect.h - if I try directly including it, |