aboutsummaryrefslogtreecommitdiff
path: root/tools/create_lure/create_lure_dat.cpp
diff options
context:
space:
mode:
authorDavid Corrales2007-05-26 20:23:24 +0000
committerDavid Corrales2007-05-26 20:23:24 +0000
commit3646c968c9578c2a94d65ebd5fb06ec835f8c51d (patch)
tree8b57b339ebb31a1d7a67f1678aa5dc5c7759070a /tools/create_lure/create_lure_dat.cpp
parentd1f56d93f934150f4b579c2e90564e2bf035f113 (diff)
parentac45c5b33d834acbc9718f89be76e49d403a4d2c (diff)
downloadscummvm-rg350-3646c968c9578c2a94d65ebd5fb06ec835f8c51d.tar.gz
scummvm-rg350-3646c968c9578c2a94d65ebd5fb06ec835f8c51d.tar.bz2
scummvm-rg350-3646c968c9578c2a94d65ebd5fb06ec835f8c51d.zip
Merged the fs branch with trunk. r26472:26948
svn-id: r26949
Diffstat (limited to 'tools/create_lure/create_lure_dat.cpp')
-rw-r--r--tools/create_lure/create_lure_dat.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/create_lure/create_lure_dat.cpp b/tools/create_lure/create_lure_dat.cpp
index b1c81830b9..109b4f268b 100644
--- a/tools/create_lure/create_lure_dat.cpp
+++ b/tools/create_lure/create_lure_dat.cpp
@@ -269,7 +269,8 @@ void read_hotspot_data(byte *&data, uint16 &totalSize)
r->scriptLoadFlag = entry.scriptLoadFlag;
r->loadOffset = entry.loadOffset;
r->colourOffset = entry.colourOffset;
- r->sequenceOffset = entry.sequenceOffset;
+ r->hotspotScriptOffset = entry.hotspotScriptOffset;
+ r->talkScriptOffset = entry.talkScriptOffset;
r->tickProcOffset = entry.tickProcOffset;
r->flags = entry.flags;
@@ -473,6 +474,8 @@ void read_anim_data(byte *&data, uint16 &totalSize) {
add_anim_record(0x5ce9); // Blacksmith in bar?
add_anim_record(0x5915); // Blacksmith hammering
add_anim_record(0x59ED); // Ewan's alternate animation
+ add_anim_record(0x5CAA); // Selena animation
+ add_anim_record(0x5D28); // Goewin animation
// Get the animation data records
AnimRecord inRec;
@@ -884,7 +887,7 @@ void read_room_exit_coordinate_data(byte *&data, uint16 &totalSize)
// Post process the list to adjust data
RoomExitCoordinateEntryResource *rec = (RoomExitCoordinateEntryResource *) data;
- for (roomNum = 0; roomNum < EXIT_COORDINATES_NUM_ROOMS; ++roomNum, ++rec) {
+ for (roomNum = 1; roomNum <= EXIT_COORDINATES_NUM_ROOMS; ++roomNum, ++rec) {
for (entryNum = 0; entryNum < ROOM_EXIT_COORDINATES_NUM_ENTRIES; ++entryNum) {
if ((rec->entries[entryNum].x != 0) || (rec->entries[entryNum].y != 0)) {
rec->entries[entryNum].x = TO_LE_16(FROM_LE_16(rec->entries[entryNum].x) - 0x80);
@@ -897,6 +900,10 @@ void read_room_exit_coordinate_data(byte *&data, uint16 &totalSize)
for (entryNum = 0; entryNum < ROOM_EXIT_COORDINATES_ENTRY_NUM_ROOMS; ++entryNum) {
rec->roomIndex[entryNum] = TO_LE_16(FROM_LE_16(rec->roomIndex[entryNum]) / 6);
}
+
+ // Bugfix for the original game data to get to room #27 via rooms #10 or #11
+ if ((roomNum == 10) || (roomNum == 11))
+ rec->roomIndex[26] = 1;
}
}