aboutsummaryrefslogtreecommitdiff
path: root/tools/create_lure/process_actions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/create_lure/process_actions.cpp')
-rw-r--r--tools/create_lure/process_actions.cpp14
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;