diff options
Diffstat (limited to 'tools/create_lure/process_actions.cpp')
-rw-r--r-- | tools/create_lure/process_actions.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/create_lure/process_actions.cpp b/tools/create_lure/process_actions.cpp index a8aecbd4e5..26f77be63d 100644 --- a/tools/create_lure/process_actions.cpp +++ b/tools/create_lure/process_actions.cpp @@ -66,6 +66,7 @@ JumpOffsetsRecord jumpOffsets[] = { {IT_ITA, {0x881c, 0x887a}}, {FR_FRA, {0x8bbf, 0x8c18}}, {DE_DEU, {0x8c1c, 0x8c75}}, + {ES_ESP, {0x8882, 0x88e0}}, {UNK_LANG, {0, 0}} }; @@ -156,6 +157,12 @@ uint16 process_action_sequence_entry(int supportIndex, byte *data, uint16 remain if (startOffset == 0x78b6) { startOffset = 0x745a; maxOffset = 0x78c6; } break; default: + if (startOffset == 0x7eab) { startOffset = 0x7e7d; maxOffset = 0x7ed5; } + if (startOffset == 0x7a88) { startOffset = 0x793c; maxOffset = 0x7ab2; } + if (startOffset == 0x7328) { startOffset = 0x72ae; maxOffset = 0x7382; } + if (startOffset == 0x702f) { startOffset = 0x702f; maxOffset = 0x70a3; } + if (startOffset == 0x702f) { startOffset = 0x6f3d; maxOffset = 0x70c5; } + if (startOffset == 0x7886) { startOffset = 0x742a; maxOffset = 0x7896; } break; } @@ -363,6 +370,7 @@ void read_action_sequence(byte *&data, uint16 &totalSize) if (language == IT_ITA) raOffset = 0x4dc0; else if (language == FR_FRA) raOffset = 0x4df0; else if (language == DE_DEU) raOffset = 0x4de0; + else if (language == ES_ESP) raOffset = 0x4dc0; else if (language != EN_ANY) errorExit("read_action_sequence: Unknown language"); lureExe.seek(dataSegment + raOffset, SEEK_SET); @@ -436,6 +444,11 @@ void read_action_sequence(byte *&data, uint16 &totalSize) process_entry(0xbca5, data, totalSize); process_entry(0x717c, data, totalSize); break; + case ES_ESP: + process_entry(0x13c2, data, totalSize); + process_entry(0xbc75, data, totalSize); + process_entry(0x714c, data, totalSize); + break; default: errorExit("read_action_sequence: Unknown language"); } @@ -452,6 +465,7 @@ void read_action_sequence(byte *&data, uint16 &totalSize) if (language == IT_ITA) hsOffset = 0x5e58; else if (language == FR_FRA) hsOffset = 0x5e78; else if (language == DE_DEU) hsOffset = 0x5ea8; + else if (language == ES_ESP) hsOffset = 0x5e78; else if (language != EN_ANY) errorExit("read_action_sequence: Unknown language"); hotspotIndex = 0; |