aboutsummaryrefslogtreecommitdiff
path: root/devtools/create_kyradat/resources
diff options
context:
space:
mode:
authorathrxx2019-01-26 15:58:47 +0100
committerathrxx2019-03-06 20:48:20 +0100
commitf0a305316c716dfadc332eb8df4c95a5e6e6cdb6 (patch)
tree63d337c001a042a8dbaf317fdcbb0c92a1a944d5 /devtools/create_kyradat/resources
parent77a7f02e9ab60ded0dac5b34228272300a1e80c9 (diff)
downloadscummvm-rg350-f0a305316c716dfadc332eb8df4c95a5e6e6cdb6.tar.gz
scummvm-rg350-f0a305316c716dfadc332eb8df4c95a5e6e6cdb6.tar.bz2
scummvm-rg350-f0a305316c716dfadc332eb8df4c95a5e6e6cdb6.zip
KYRA: (EOB1/Amiga) - add static resources
Diffstat (limited to 'devtools/create_kyradat/resources')
-rw-r--r--devtools/create_kyradat/resources/eob1_amiga.h1952
-rw-r--r--devtools/create_kyradat/resources/eob1_amiga_english.h899
-rw-r--r--devtools/create_kyradat/resources/eob1_amiga_german.h899
-rw-r--r--devtools/create_kyradat/resources/eob1_dos.h17
-rw-r--r--devtools/create_kyradat/resources/eob1_dos_english.h7
-rw-r--r--devtools/create_kyradat/resources/eob1_dos_german.h6
-rw-r--r--devtools/create_kyradat/resources/eob1_dos_italian.h6
-rw-r--r--devtools/create_kyradat/resources/eob2_dos.h12
-rw-r--r--devtools/create_kyradat/resources/eob2_fmtowns.h14
9 files changed, 3811 insertions, 1 deletions
diff --git a/devtools/create_kyradat/resources/eob1_amiga.h b/devtools/create_kyradat/resources/eob1_amiga.h
new file mode 100644
index 0000000000..b0ca527760
--- /dev/null
+++ b/devtools/create_kyradat/resources/eob1_amiga.h
@@ -0,0 +1,1952 @@
+static const byte kEoB1ChargenStartLevelsAmiga[60] = {
+ 0x03, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x01,
+ 0x03, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x01,
+ 0x03, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x01,
+ 0x02, 0x02, 0x00, 0x02, 0x02, 0x03, 0x00, 0x02,
+ 0x02, 0x02, 0x00, 0x02, 0x01, 0x01, 0x02, 0x03,
+ 0x03, 0x02, 0x00, 0x02, 0x02, 0x03, 0x00, 0x02,
+ 0x01, 0x02, 0x01, 0x03, 0x02, 0x02, 0x00, 0x02,
+ 0x02, 0x02, 0x00, 0x02
+};
+
+static const ByteProvider kEoB1ChargenStartLevelsAmigaProvider = { ARRAYSIZE(kEoB1ChargenStartLevelsAmiga), kEoB1ChargenStartLevelsAmiga };
+
+static const byte kEoB1ChargenClassMinStatsAmiga[90] = {
+ 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00,
+ 0x0e, 0x0d, 0x0e, 0x00, 0x0c, 0x00, 0x0d, 0x00,
+ 0x09, 0x11, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x09, 0x00, 0x00, 0x09, 0x00, 0x09, 0x00,
+ 0x00, 0x00, 0x09, 0x00, 0x00, 0x09, 0x00, 0x00,
+ 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09,
+ 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00,
+ 0x09, 0x09, 0x09, 0x00, 0x00, 0x00, 0x0d, 0x00,
+ 0x0e, 0x0d, 0x0e, 0x00, 0x00, 0x09, 0x09, 0x00,
+ 0x00, 0x00
+};
+
+static const ByteProvider kEoB1ChargenClassMinStatsAmigaProvider = { ARRAYSIZE(kEoB1ChargenClassMinStatsAmiga), kEoB1ChargenClassMinStatsAmiga };
+
+static const byte kEoB1ChargenRaceMinStatsAmiga[36] = {
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08,
+ 0x03, 0x07, 0x07, 0x08, 0x03, 0x04, 0x03, 0x06,
+ 0x06, 0x03, 0x08, 0x03, 0x03, 0x03, 0x0c, 0x02,
+ 0x06, 0x07, 0x02, 0x03, 0x08, 0x03, 0x07, 0x06,
+ 0x03, 0x08, 0x0a, 0x03
+};
+
+static const ByteProvider kEoB1ChargenRaceMinStatsAmigaProvider = { ARRAYSIZE(kEoB1ChargenRaceMinStatsAmiga), kEoB1ChargenRaceMinStatsAmiga };
+
+static const uint16 kEoB1ChargenRaceMaxStatsAmiga[36] = {
+ 0x6412, 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x6412, 0x0012,
+ 0x0012, 0x0013, 0x0011, 0x0012, 0x6412, 0x0012, 0x0012, 0x0012,
+ 0x0012, 0x0012, 0x6412, 0x0012, 0x0012, 0x0011, 0x0013, 0x0010,
+ 0x6412, 0x0013, 0x0011, 0x0012, 0x0012, 0x0012, 0x0011, 0x0012,
+ 0x0011, 0x0013, 0x0012, 0x0012
+};
+
+static const Uint16Provider kEoB1ChargenRaceMaxStatsAmigaProvider = { ARRAYSIZE(kEoB1ChargenRaceMaxStatsAmiga), kEoB1ChargenRaceMaxStatsAmiga };
+
+static const byte kEoB1SaveThrowTable1Amiga[50] = {
+ 0x10, 0x0e, 0x0d, 0x0b, 0x0a, 0x08, 0x07, 0x05,
+ 0x04, 0x03, 0x12, 0x10, 0x0f, 0x0d, 0x0c, 0x0a,
+ 0x09, 0x07, 0x06, 0x05, 0x11, 0x0f, 0x0e, 0x0c,
+ 0x0b, 0x09, 0x08, 0x06, 0x05, 0x04, 0x14, 0x11,
+ 0x10, 0x0d, 0x0c, 0x09, 0x08, 0x05, 0x04, 0x04,
+ 0x13, 0x11, 0x10, 0x0e, 0x0d, 0x0b, 0x0a, 0x08,
+ 0x07, 0x06
+};
+
+static const ByteProvider kEoB1SaveThrowTable1AmigaProvider = { ARRAYSIZE(kEoB1SaveThrowTable1Amiga), kEoB1SaveThrowTable1Amiga };
+
+static const byte kEoB1SaveThrowTable2Amiga[25] = {
+ 0x0e, 0x0d, 0x0b, 0x0a, 0x08, 0x0b, 0x09, 0x07,
+ 0x05, 0x03, 0x0d, 0x0b, 0x09, 0x07, 0x05, 0x0f,
+ 0x0d, 0x0b, 0x09, 0x07, 0x0c, 0x0a, 0x08, 0x06,
+ 0x04
+};
+
+static const ByteProvider kEoB1SaveThrowTable2AmigaProvider = { ARRAYSIZE(kEoB1SaveThrowTable2Amiga), kEoB1SaveThrowTable2Amiga };
+
+static const byte kEoB1SaveThrowTable3Amiga[35] = {
+ 0x0a, 0x09, 0x07, 0x06, 0x05, 0x04, 0x02, 0x0e,
+ 0x0d, 0x0b, 0x0a, 0x09, 0x08, 0x06, 0x0d, 0x0c,
+ 0x0a, 0x09, 0x08, 0x07, 0x05, 0x10, 0x0f, 0x0d,
+ 0x0c, 0x0b, 0x0a, 0x08, 0x0f, 0x0e, 0x0c, 0x0b,
+ 0x0a, 0x09, 0x07
+};
+
+static const ByteProvider kEoB1SaveThrowTable3AmigaProvider = { ARRAYSIZE(kEoB1SaveThrowTable3Amiga), kEoB1SaveThrowTable3Amiga };
+
+static const byte kEoB1SaveThrowTable4Amiga[30] = {
+ 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x0e, 0x0c,
+ 0x0a, 0x08, 0x06, 0x07, 0x0c, 0x0b, 0x0a, 0x09,
+ 0x08, 0x04, 0x10, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b,
+ 0x0f, 0x0d, 0x0b, 0x09, 0x07, 0x05
+};
+
+static const ByteProvider kEoB1SaveThrowTable4AmigaProvider = { ARRAYSIZE(kEoB1SaveThrowTable4Amiga), kEoB1SaveThrowTable4Amiga };
+
+static const byte kEoB1SaveThrwLvlIndexAmiga[6] = {
+ 0x11, 0x15, 0x13, 0x15, 0x11, 0x11
+};
+
+static const ByteProvider kEoB1SaveThrwLvlIndexAmigaProvider = { ARRAYSIZE(kEoB1SaveThrwLvlIndexAmiga), kEoB1SaveThrwLvlIndexAmiga };
+
+static const byte kEoB1SaveThrwModDivAmiga[6] = {
+ 0x02, 0x05, 0x03, 0x04, 0x02, 0x02
+};
+
+static const ByteProvider kEoB1SaveThrwModDivAmigaProvider = { ARRAYSIZE(kEoB1SaveThrwModDivAmiga), kEoB1SaveThrwModDivAmiga };
+
+static const byte kEoB1SaveThrwModExtAmiga[6] = {
+ 0x0A, 0x05, 0x07, 0x06, 0x0A, 0x0A
+};
+
+static const ByteProvider kEoB1SaveThrwModExtAmigaProvider = { ARRAYSIZE(kEoB1SaveThrwModExtAmiga), kEoB1SaveThrwModExtAmiga };
+
+static const char *const kEoB1IntroFilesOpeningAmiga[6] = {
+ "AND.CPS",
+ "SSI.CPS",
+ "PRESENT.CPS",
+ "DAND.CPS",
+ "WESTWOOD.CPS",
+ ""
+};
+
+static const StringListProvider kEoB1IntroFilesOpeningAmigaProvider = { ARRAYSIZE(kEoB1IntroFilesOpeningAmiga), kEoB1IntroFilesOpeningAmiga };
+
+static const char *const kEoB1IntroFilesTowerAmiga[2] = {
+ "",
+ "TOWRMAGE.CPS"
+};
+
+static const StringListProvider kEoB1IntroFilesTowerAmigaProvider = { ARRAYSIZE(kEoB1IntroFilesTowerAmiga), kEoB1IntroFilesTowerAmiga };
+
+static const char *const kEoB1IntroFilesOrbAmiga[2] = {
+ "ORB.CPS",
+ "TOWRMAGE.CPS"
+};
+
+static const StringListProvider kEoB1IntroFilesOrbAmigaProvider = { ARRAYSIZE(kEoB1IntroFilesOrbAmiga), kEoB1IntroFilesOrbAmiga };
+
+static const char *const kEoB1IntroFilesWdEntryAmiga[4] = {
+ "",
+ "WTRDP1.CPS",
+ "WTRDP2.CPS",
+ "WTRDP3.CPS"
+};
+
+static const StringListProvider kEoB1IntroFilesWdEntryAmigaProvider = { ARRAYSIZE(kEoB1IntroFilesWdEntryAmiga), kEoB1IntroFilesWdEntryAmiga };
+
+static const char *const kEoB1IntroFilesKingAmiga[2] = {
+ "KING.CPS",
+ "ADVENTUR.CPS"
+};
+
+static const StringListProvider kEoB1IntroFilesKingAmigaProvider = { ARRAYSIZE(kEoB1IntroFilesKingAmiga), kEoB1IntroFilesKingAmiga };
+
+static const char *const kEoB1IntroFilesHandsAmiga[1] = {
+ "HANDS.CPS"
+};
+
+static const StringListProvider kEoB1IntroFilesHandsAmigaProvider = { ARRAYSIZE(kEoB1IntroFilesHandsAmiga), kEoB1IntroFilesHandsAmiga };
+
+static const char *const kEoB1IntroFilesWdExitAmiga[5] = {
+ "WTRDP3.CPS",
+ "",
+ "ORB.CPS",
+ "TUNNEL.CPS",
+ ""
+};
+
+static const StringListProvider kEoB1IntroFilesWdExitAmigaProvider = { ARRAYSIZE(kEoB1IntroFilesWdExitAmiga), kEoB1IntroFilesWdExitAmiga };
+
+static const char *const kEoB1IntroFilesTunnelAmiga[2] = {
+ "AVALANCH.CPS",
+ "ZOOMTUNL.CPS"
+};
+
+static const StringListProvider kEoB1IntroFilesTunnelAmigaProvider = { ARRAYSIZE(kEoB1IntroFilesTunnelAmiga), kEoB1IntroFilesTunnelAmiga };
+
+static const byte kEoB1IntroOpeningFrmDelayAmiga[5] = {
+ 0x14, 0x32, 0x64, 0x32, 0x8C
+};
+
+static const ByteProvider kEoB1IntroOpeningFrmDelayAmigaProvider = { ARRAYSIZE(kEoB1IntroOpeningFrmDelayAmiga), kEoB1IntroOpeningFrmDelayAmiga };
+
+static const byte kEoB1IntroWdEncodeXAmiga[31] = {
+ 0x00, 0x18, 0x02, 0x04, 0x1a, 0x05, 0x10, 0x06,
+ 0x10, 0x07, 0x11, 0x04, 0x13, 0x05, 0x06, 0x13,
+ 0x09, 0x14, 0x0b, 0x0d, 0x16, 0x0d, 0x16, 0x0e,
+ 0x1a, 0x0e, 0x17, 0x0f, 0x1b, 0x0f, 0x17
+};
+
+static const ByteProvider kEoB1IntroWdEncodeXAmigaProvider = { ARRAYSIZE(kEoB1IntroWdEncodeXAmiga), kEoB1IntroWdEncodeXAmiga };
+
+static const byte kEoB1IntroWdEncodeYAmiga[31] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
+ 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01
+};
+
+static const ByteProvider kEoB1IntroWdEncodeYAmigaProvider = { ARRAYSIZE(kEoB1IntroWdEncodeYAmiga), kEoB1IntroWdEncodeYAmiga };
+
+static const byte kEoB1IntroWdEncodeWHAmiga[31] = {
+ 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
+};
+
+static const ByteProvider kEoB1IntroWdEncodeWHAmigaProvider = { ARRAYSIZE(kEoB1IntroWdEncodeWHAmiga), kEoB1IntroWdEncodeWHAmiga };
+
+static const uint16 kEoB1IntroWdDsXAmiga[31] = {
+ 0x0120, 0x0120, 0x0120, 0x0130, 0x0130, 0x00b2, 0x00b2, 0x00bc,
+ 0x00bc, 0x00ae, 0x00ae, 0x0125, 0x0125, 0x0125, 0x0101, 0x0101,
+ 0x00e9, 0x00e9, 0x00e9, 0x00ab, 0x00ab, 0x00cc, 0x00cc, 0x00f0,
+ 0x00f0, 0x010c, 0x010c, 0x00e0, 0x00e0, 0x00ba, 0x00ba
+};
+
+static const Uint16Provider kEoB1IntroWdDsXAmigaProvider = { ARRAYSIZE(kEoB1IntroWdDsXAmiga), kEoB1IntroWdDsXAmiga };
+
+static const byte kEoB1IntroWdDsYAmiga[31] = {
+ 0x28, 0x28, 0x28, 0x38, 0x38, 0x26, 0x26, 0x1d,
+ 0x1d, 0x34, 0x34, 0x50, 0x50, 0x50, 0x50, 0x50,
+ 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x2a, 0x2a, 0x66,
+ 0x66, 0x67, 0x67, 0x1c, 0x1c, 0x44, 0x44
+};
+
+static const ByteProvider kEoB1IntroWdDsYAmigaProvider = { ARRAYSIZE(kEoB1IntroWdDsYAmiga), kEoB1IntroWdDsYAmiga };
+
+static const byte kEoB1IntroTvlX1Amiga[6] = {
+ 0x00, 0x08, 0x10, 0x00, 0x0F, 0x00
+};
+
+static const ByteProvider kEoB1IntroTvlX1AmigaProvider = { ARRAYSIZE(kEoB1IntroTvlX1Amiga), kEoB1IntroTvlX1Amiga };
+
+static const byte kEoB1IntroTvlY1Amiga[6] = {
+ 0x00, 0x00, 0x00, 0x30, 0x36, 0x86
+};
+
+static const ByteProvider kEoB1IntroTvlY1AmigaProvider = { ARRAYSIZE(kEoB1IntroTvlY1Amiga), kEoB1IntroTvlY1Amiga };
+
+static const byte kEoB1IntroTvlX2Amiga[6] = {
+ 0x10, 0x10, 0x0F, 0x0C, 0x0B, 0x0B
+};
+
+static const ByteProvider kEoB1IntroTvlX2AmigaProvider = { ARRAYSIZE(kEoB1IntroTvlX2Amiga), kEoB1IntroTvlX2Amiga };
+
+static const byte kEoB1IntroTvlY2Amiga[6] = {
+ 0x35, 0x35, 0x35, 0x35, 0x35, 0x61
+};
+
+static const ByteProvider kEoB1IntroTvlY2AmigaProvider = { ARRAYSIZE(kEoB1IntroTvlY2Amiga), kEoB1IntroTvlY2Amiga };
+
+static const byte kEoB1IntroTvlWAmiga[6] = {
+ 0x08, 0x08, 0x0B, 0x0F, 0x12, 0x12
+};
+
+static const ByteProvider kEoB1IntroTvlWAmigaProvider = { ARRAYSIZE(kEoB1IntroTvlWAmiga), kEoB1IntroTvlWAmiga };
+
+static const byte kEoB1IntroTvlHAmiga[6] = {
+ 0x1A, 0x30, 0x36, 0x45, 0x50, 0x28
+};
+
+static const ByteProvider kEoB1IntroTvlHAmigaProvider = { ARRAYSIZE(kEoB1IntroTvlHAmiga), kEoB1IntroTvlHAmiga };
+
+static const byte kEoB1IntroOrbFadePalAmiga[64] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x37, 0x00, 0x00, 0x05, 0x55, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0a, 0xdd, 0x06, 0x9c, 0x05, 0x5b, 0x0f, 0xff
+};
+
+static const ByteProvider kEoB1IntroOrbFadePalAmigaProvider = { ARRAYSIZE(kEoB1IntroOrbFadePalAmiga), kEoB1IntroOrbFadePalAmiga };
+
+static const byte kEoB1DoorShapeDefsAmiga[96] = {
+ 0x00, 0x00, 0x0a, 0x48, 0x11, 0x98, 0x07, 0x2f,
+ 0x19, 0x48, 0x04, 0x1d, 0x0a, 0x00, 0x0a, 0x48,
+ 0x1d, 0x48, 0x07, 0x2f, 0x19, 0x68, 0x04, 0x1d,
+ 0x14, 0x00, 0x06, 0x48, 0x24, 0x48, 0x04, 0x2f,
+ 0x1e, 0x78, 0x03, 0x1d, 0x1a, 0x00, 0x0c, 0x48,
+ 0x00, 0x90, 0x07, 0x29, 0x21, 0x78, 0x04, 0x1b,
+ 0x00, 0xbc, 0x0a, 0x0c, 0x0a, 0xbc, 0x06, 0x08,
+ 0x0a, 0xc4, 0x04, 0x02, 0x07, 0x4a, 0x09, 0x37,
+ 0x00, 0x4a, 0x07, 0x25, 0x07, 0xa0, 0x05, 0x17,
+ 0x07, 0x82, 0x09, 0x1c, 0x00, 0x70, 0x07, 0x13,
+ 0x0c, 0xa0, 0x05, 0x0b, 0x10, 0x48, 0x09, 0x4b,
+ 0x18, 0x98, 0x07, 0x2e, 0x1f, 0x98, 0x04, 0x1d
+};
+
+static const ByteProvider kEoB1DoorShapeDefsAmigaProvider = { ARRAYSIZE(kEoB1DoorShapeDefsAmiga), kEoB1DoorShapeDefsAmiga };
+
+static const byte kEoB1DoorSwitchShapeDefsAmiga[96] = {
+ 0x25, 0x78, 0x01, 0x07, 0x25, 0x88, 0x01, 0x03,
+ 0x25, 0x90, 0x01, 0x01, 0x25, 0x78, 0x01, 0x07,
+ 0x25, 0x88, 0x01, 0x03, 0x25, 0x90, 0x01, 0x01,
+ 0x26, 0x78, 0x01, 0x0b, 0x26, 0x88, 0x01, 0x06,
+ 0x26, 0x90, 0x01, 0x04, 0x27, 0x78, 0x01, 0x0e,
+ 0x27, 0x88, 0x01, 0x08, 0x25, 0x90, 0x01, 0x01,
+ 0x25, 0x78, 0x01, 0x07, 0x25, 0x88, 0x01, 0x03,
+ 0x25, 0x90, 0x01, 0x01, 0x25, 0x98, 0x01, 0x0b,
+ 0x25, 0xa8, 0x01, 0x06, 0x25, 0xb0, 0x01, 0x04,
+ 0x25, 0x98, 0x01, 0x0b, 0x25, 0xa8, 0x01, 0x05,
+ 0x25, 0xb0, 0x01, 0x04, 0x26, 0x98, 0x01, 0x0a,
+ 0x26, 0xa8, 0x01, 0x04, 0x25, 0x90, 0x01, 0x01
+};
+
+static const ByteProvider kEoB1DoorSwitchShapeDefsAmigaProvider = { ARRAYSIZE(kEoB1DoorSwitchShapeDefsAmiga), kEoB1DoorSwitchShapeDefsAmiga };
+
+static const byte kEoB1DoorSwitchCoordsAmiga[48] = {
+ 0x82, 0x24, 0x74, 0x27, 0x00, 0x00, 0x82, 0x24,
+ 0x74, 0x27, 0x00, 0x00, 0x5b, 0x36, 0x5a, 0x33,
+ 0x5a, 0x2d, 0x88, 0x26, 0x74, 0x29, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x24,
+ 0x73, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x80, 0x2b, 0x74, 0x2b, 0x00, 0x00
+};
+
+static const ByteProvider kEoB1DoorSwitchCoordsAmigaProvider = { ARRAYSIZE(kEoB1DoorSwitchCoordsAmiga), kEoB1DoorSwitchCoordsAmiga };
+
+static const byte kEoB1MonsterPropertiesAmiga[616] = {
+ 0x07, 0x12, 0xff, 0x01, 0x01, 0x04, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x02,
+ 0x4b, 0x02, 0xff, 0x00, 0x07, 0x11, 0x02, 0x01,
+ 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x78, 0x01, 0x38, 0x39, 0x00, 0xff, 0x00,
+ 0x04, 0x10, 0x01, 0x01, 0x01, 0x06, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0c, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x41, 0x00, 0x42,
+ 0x43, 0x00, 0x02, 0x00, 0x08, 0x0f, 0x02, 0x01,
+ 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x41, 0x00, 0x49, 0x4a, 0x00, 0x03, 0x00,
+ 0x04, 0x10, 0x02, 0x02, 0x01, 0x04, 0x01, 0x01,
+ 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x02, 0x36,
+ 0x37, 0x04, 0xff, 0x14, 0x05, 0x11, 0x03, 0x01,
+ 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x41, 0x00, 0x2f, 0x30, 0x00, 0xff, 0x00,
+ 0x05, 0x0f, 0x02, 0x01, 0x01, 0x08, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x02, 0x8a, 0x02, 0x31,
+ 0x26, 0x00, 0xff, 0x00, 0x03, 0x0c, 0x07, 0x01,
+ 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x02, 0xda, 0x00, 0x2d, 0x2e, 0x00, 0xff, 0x00,
+ 0x05, 0x07, 0x0a, 0x01, 0x01, 0x08, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x05, 0xdc, 0x00, 0x40,
+ 0x41, 0x00, 0x07, 0x00, 0x04, 0x0f, 0x06, 0x02,
+ 0x01, 0x08, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x03, 0xcf, 0x01, 0x27, 0x28, 0x00, 0xff, 0x00,
+ 0x05, 0x0d, 0x06, 0x03, 0x01, 0x08, 0x00, 0x01,
+ 0x04, 0x00, 0x01, 0x04, 0x00, 0x00, 0x28, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x05, 0x78, 0x02, 0x25,
+ 0x24, 0x00, 0xff, 0x00, 0x04, 0x0d, 0x05, 0x02,
+ 0x01, 0x04, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x04, 0xe2, 0x00, 0x3e, 0x3f, 0x00, 0xff, 0x00,
+ 0x03, 0x0e, 0x04, 0x01, 0x01, 0x08, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x02, 0x8a, 0x00, 0x2b,
+ 0x2c, 0x00, 0xff, 0x3c, 0xff, 0x07, 0x0a, 0x01,
+ 0x03, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x27, 0x10, 0x02, 0x44, 0x45, 0x00, 0xff, 0x64,
+ 0xff, 0x07, 0x09, 0x01, 0x03, 0x04, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x07, 0xd0, 0x00, 0x18,
+ 0xff, 0x08, 0xff, 0x00, 0x03, 0x0d, 0x07, 0x01,
+ 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x13, 0x88, 0x02, 0x29, 0x2a, 0x02, 0xff, 0x3c,
+ 0x05, 0x0d, 0x07, 0x01, 0x01, 0x06, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x13, 0x88, 0x00, 0x34,
+ 0x35, 0x02, 0xff, 0x00, 0x05, 0x0b, 0x08, 0x01,
+ 0x05, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1f, 0x40, 0x00, 0x3a, 0x3b, 0xff, 0xff, 0x5a,
+ 0x02, 0x0f, 0x05, 0x01, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x01, 0x0e, 0x02, 0x3c,
+ 0x3d, 0x00, 0xff, 0x00, 0xfe, 0x0d, 0x08, 0x01,
+ 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x0f, 0xa0, 0x02, 0x48, 0x47, 0x00, 0xff, 0x32,
+ 0x04, 0x0d, 0x07, 0x01, 0x01, 0x0a, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x03, 0xcf, 0x01, 0x33,
+ 0x32, 0x00, 0xff, 0x28, 0x00, 0x05, 0x23, 0x01,
+ 0x01, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x36, 0xb0, 0x02, 0xff, 0xff, 0xff, 0xff, 0x64
+};
+
+static const ByteProvider kEoB1MonsterPropertiesAmigaProvider = { ARRAYSIZE(kEoB1MonsterPropertiesAmiga), kEoB1MonsterPropertiesAmiga };
+
+static const byte kEoB1EnemyMageSpellListAmiga[10] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x05,
+ 0x06, 0x00
+};
+
+static const ByteProvider kEoB1EnemyMageSpellListAmigaProvider = { ARRAYSIZE(kEoB1EnemyMageSpellListAmiga), kEoB1EnemyMageSpellListAmiga };
+
+static const byte kEoB1EnemyMageSfxAmiga[10] = {
+ 0x00, 0x55, 0x55, 0x55, 0x55, 0x62, 0x62, 0x1F,
+ 0x62, 0x02
+};
+
+static const ByteProvider kEoB1EnemyMageSfxAmigaProvider = { ARRAYSIZE(kEoB1EnemyMageSfxAmiga), kEoB1EnemyMageSfxAmiga };
+
+static const byte kEoB1BeholderSpellListAmiga[4] = {
+ 0x02, 0x0A, 0x0B, 0x62
+};
+
+static const ByteProvider kEoB1BeholderSpellListAmigaProvider = { ARRAYSIZE(kEoB1BeholderSpellListAmiga), kEoB1BeholderSpellListAmiga };
+
+static const byte kEoB1BeholderSfxAmiga[4] = {
+ 0x62, 0x53, 0x40, 0x00
+};
+
+static const ByteProvider kEoB1BeholderSfxAmigaProvider = { ARRAYSIZE(kEoB1BeholderSfxAmiga), kEoB1BeholderSfxAmiga };
+
+static const byte kEoB1NpcShpDataAmiga[76] = {
+ 0x00, 0x00, 0x06, 0x40, 0x06, 0x00, 0x07, 0x48,
+ 0x0d, 0x00, 0x06, 0x30, 0x13, 0x00, 0x05, 0x38,
+ 0x18, 0x00, 0x05, 0x38, 0x1d, 0x00, 0x05, 0x38,
+ 0x22, 0x00, 0x06, 0x48, 0x00, 0x48, 0x06, 0x56,
+ 0x06, 0x48, 0x05, 0x40, 0x0b, 0x48, 0x05, 0x40,
+ 0x10, 0x48, 0x05, 0x30, 0x06, 0x88, 0x03, 0x18,
+ 0x09, 0x88, 0x03, 0x18, 0x0c, 0x88, 0x03, 0x18,
+ 0x0f, 0x88, 0x03, 0x18, 0x12, 0x88, 0x03, 0x18,
+ 0x15, 0x88, 0x03, 0x18, 0x18, 0x48, 0x06, 0x58,
+ 0x1e, 0x48, 0x0a, 0x48
+};
+
+static const ByteProvider kEoB1NpcShpDataAmigaProvider = { ARRAYSIZE(kEoB1NpcShpDataAmiga), kEoB1NpcShpDataAmiga };
+
+static const byte kEoB1NpcSubShpIndex1Amiga[6] = {
+ 0x09, 0x08, 0x08, 0x09, 0x09, 0x0A
+};
+
+static const ByteProvider kEoB1NpcSubShpIndex1AmigaProvider = { ARRAYSIZE(kEoB1NpcSubShpIndex1Amiga), kEoB1NpcSubShpIndex1Amiga };
+
+static const byte kEoB1NpcSubShpIndex2Amiga[6] = {
+ 0x0D, 0x0B, 0x0C, 0x0E, 0x0F, 0x10
+};
+
+static const ByteProvider kEoB1NpcSubShpIndex2AmigaProvider = { ARRAYSIZE(kEoB1NpcSubShpIndex2Amiga), kEoB1NpcSubShpIndex2Amiga };
+
+static const byte kEoB1NpcSubShpYAmiga[6] = {
+ 0x34, 0x31, 0x31, 0x34, 0x34, 0x45
+};
+
+static const ByteProvider kEoB1NpcSubShpYAmigaProvider = { ARRAYSIZE(kEoB1NpcSubShpYAmiga), kEoB1NpcSubShpYAmiga };
+
+static const char *const kEoB1EnchantedStringAmiga[1] = {
+ "%s +%d"
+};
+
+static const StringListProvider kEoB1EnchantedStringAmigaProvider = { ARRAYSIZE(kEoB1EnchantedStringAmiga), kEoB1EnchantedStringAmiga };
+
+static const byte kEoB1SpellLevelsMageAmiga[26] = {
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02,
+ 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05,
+ 0x05, 0x00
+};
+
+static const ByteProvider kEoB1SpellLevelsMageAmigaProvider = { ARRAYSIZE(kEoB1SpellLevelsMageAmiga), kEoB1SpellLevelsMageAmiga };
+
+static const byte kEoB1SpellLevelsClericAmiga[25] = {
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02,
+ 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x01,
+ 0x00
+};
+
+static const ByteProvider kEoB1SpellLevelsClericAmigaProvider = { ARRAYSIZE(kEoB1SpellLevelsClericAmiga), kEoB1SpellLevelsClericAmiga };
+
+static const byte kEoB1NumSpellsClericAmiga[50] = {
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+ 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x02, 0x00, 0x00, 0x00, 0x03, 0x03, 0x01, 0x00,
+ 0x00, 0x03, 0x03, 0x02, 0x00, 0x00, 0x03, 0x03,
+ 0x02, 0x01, 0x00, 0x03, 0x03, 0x03, 0x02, 0x00,
+ 0x04, 0x04, 0x03, 0x02, 0x01, 0x04, 0x04, 0x03,
+ 0x03, 0x02
+};
+
+static const ByteProvider kEoB1NumSpellsClericAmigaProvider = { ARRAYSIZE(kEoB1NumSpellsClericAmiga), kEoB1NumSpellsClericAmiga };
+
+static const byte kEoB1NumSpellsWisAdjAmiga[40] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x01, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00,
+ 0x00, 0x02, 0x02, 0x01, 0x00, 0x00, 0x02, 0x02,
+ 0x01, 0x01, 0x00, 0x03, 0x02, 0x01, 0x02, 0x00
+};
+
+static const ByteProvider kEoB1NumSpellsWisAdjAmigaProvider = { ARRAYSIZE(kEoB1NumSpellsWisAdjAmiga), kEoB1NumSpellsWisAdjAmiga };
+
+static const byte kEoB1NumSpellsPalAmiga[60] = {
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+ 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x02, 0x00, 0x00, 0x00
+};
+
+static const ByteProvider kEoB1NumSpellsPalAmigaProvider = { ARRAYSIZE(kEoB1NumSpellsPalAmiga), kEoB1NumSpellsPalAmiga };
+
+static const byte kEoB1NumSpellsMageAmiga[55] = {
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+ 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x02, 0x00, 0x00, 0x00, 0x04, 0x02, 0x01, 0x00,
+ 0x00, 0x04, 0x02, 0x02, 0x00, 0x00, 0x04, 0x03,
+ 0x02, 0x01, 0x00, 0x04, 0x03, 0x03, 0x02, 0x00,
+ 0x04, 0x03, 0x03, 0x02, 0x01, 0x04, 0x04, 0x03,
+ 0x02, 0x02, 0x04, 0x04, 0x04, 0x03, 0x03
+};
+
+static const ByteProvider kEoB1NumSpellsMageAmigaProvider = { ARRAYSIZE(kEoB1NumSpellsMageAmiga), kEoB1NumSpellsMageAmiga };
+
+static const uint32 kEoB1ExperienceTable0Amiga[12] = {
+ 0x00000000, 0x000007D0, 0x00000FA0, 0x00001F40, 0x00003E80, 0x00007D00, 0x0000FA00, 0x0001E848,
+ 0x0003D090, 0x0007A120, 0x000B71B0, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB1ExperienceTable0AmigaProvider = { ARRAYSIZE(kEoB1ExperienceTable0Amiga), kEoB1ExperienceTable0Amiga };
+
+static const uint32 kEoB1ExperienceTable1Amiga[12] = {
+ 0x00000000, 0x000009C4, 0x00001388, 0x00002710, 0x00004E20, 0x00009C40, 0x0000EA60, 0x00015F90,
+ 0x00020F58, 0x0003D090, 0x0005B8D8, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB1ExperienceTable1AmigaProvider = { ARRAYSIZE(kEoB1ExperienceTable1Amiga), kEoB1ExperienceTable1Amiga };
+
+static const uint32 kEoB1ExperienceTable2Amiga[11] = {
+ 0x00000000, 0x000005DC, 0x00000BB8, 0x00001770, 0x000032C8, 0x00006B6C, 0x0000D6D8, 0x0001ADB0,
+ 0x00036EE8, 0x0006DDD0, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB1ExperienceTable2AmigaProvider = { ARRAYSIZE(kEoB1ExperienceTable2Amiga), kEoB1ExperienceTable2Amiga };
+
+static const uint32 kEoB1ExperienceTable3Amiga[12] = {
+ 0x00000000, 0x000004E2, 0x000009C4, 0x00001388, 0x00002710, 0x00004E20, 0x00009C40, 0x00011170,
+ 0x0001ADB0, 0x00027100, 0x00035B60, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB1ExperienceTable3AmigaProvider = { ARRAYSIZE(kEoB1ExperienceTable3Amiga), kEoB1ExperienceTable3Amiga };
+
+static const uint32 kEoB1ExperienceTable4Amiga[12] = {
+ 0x00000000, 0x000008CA, 0x00001194, 0x00002328, 0x00004650, 0x00008CA0, 0x000124F8, 0x000249F0,
+ 0x000493E0, 0x000927C0, 0x000DBBA0, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB1ExperienceTable4AmigaProvider = { ARRAYSIZE(kEoB1ExperienceTable4Amiga), kEoB1ExperienceTable4Amiga };
+
+static const byte kEoB1ExpObjectTblIndexAmiga[9] = {
+ 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01,
+ 0x00
+};
+
+static const ByteProvider kEoB1ExpObjectTblIndexAmigaProvider = { ARRAYSIZE(kEoB1ExpObjectTblIndexAmiga), kEoB1ExpObjectTblIndexAmiga };
+
+static const byte kEoB1ExpObjectShpStartAmiga[4] = {
+ 0x07, 0x0C, 0x0F, 0x12
+};
+
+static const ByteProvider kEoB1ExpObjectShpStartAmigaProvider = { ARRAYSIZE(kEoB1ExpObjectShpStartAmiga), kEoB1ExpObjectShpStartAmiga };
+
+static const byte kEoB1ExpObjectTbl1Amiga[13] = {
+ 0x1f, 0x07, 0x1f, 0x07, 0x18, 0x07, 0x18, 0x19,
+ 0x18, 0x19, 0x18, 0x19, 0x00
+};
+
+static const ByteProvider kEoB1ExpObjectTbl1AmigaProvider = { ARRAYSIZE(kEoB1ExpObjectTbl1Amiga), kEoB1ExpObjectTbl1Amiga };
+
+static const byte kEoB1ExpObjectTbl2Amiga[10] = {
+ 0x1f, 0x1c, 0x1f, 0x1c, 0x1d, 0x1e, 0x10, 0x1e,
+ 0x10, 0x00
+};
+
+static const ByteProvider kEoB1ExpObjectTbl2AmigaProvider = { ARRAYSIZE(kEoB1ExpObjectTbl2Amiga), kEoB1ExpObjectTbl2Amiga };
+
+static const byte kEoB1ExpObjectTbl3Amiga[11] = {
+ 0x07, 0x1b, 0x07, 0x1b, 0x08, 0x1b, 0x08, 0x10,
+ 0x08, 0x10, 0x00
+};
+
+static const ByteProvider kEoB1ExpObjectTbl3AmigaProvider = { ARRAYSIZE(kEoB1ExpObjectTbl3Amiga), kEoB1ExpObjectTbl3Amiga };
+
+static const byte kEoB1ExpObjectYAmiga[4] = {
+ 0x77, 0x67, 0x4F, 0x3F
+};
+
+static const ByteProvider kEoB1ExpObjectYAmigaProvider = { ARRAYSIZE(kEoB1ExpObjectYAmiga), kEoB1ExpObjectYAmiga };
+
+static const byte kEoB1SparkDefStepsAmiga[8] = {
+ 0x40, 0x90, 0xE4, 0xB9, 0x6E, 0x1B, 0x06, 0x01
+};
+
+static const ByteProvider kEoB1SparkDefStepsAmigaProvider = { ARRAYSIZE(kEoB1SparkDefStepsAmiga), kEoB1SparkDefStepsAmiga };
+
+static const byte kEoB1SparkDefSubStepsAmiga[4] = {
+ 0xC0, 0x30, 0x0C, 0x03
+};
+
+static const ByteProvider kEoB1SparkDefSubStepsAmigaProvider = { ARRAYSIZE(kEoB1SparkDefSubStepsAmiga), kEoB1SparkDefSubStepsAmiga };
+
+static const byte kEoB1SparkDefShiftAmiga[4] = {
+ 0x06, 0x04, 0x02, 0x00
+};
+
+static const ByteProvider kEoB1SparkDefShiftAmigaProvider = { ARRAYSIZE(kEoB1SparkDefShiftAmiga), kEoB1SparkDefShiftAmiga };
+
+static const byte kEoB1SparkDefAddAmiga[8] = {
+ 0x08, 0x06, 0x1C, 0x14, 0x0D, 0x18, 0x0D, 0x0F
+};
+
+static const ByteProvider kEoB1SparkDefAddAmigaProvider = { ARRAYSIZE(kEoB1SparkDefAddAmiga), kEoB1SparkDefAddAmiga };
+
+static const byte kEoB1SparkDefXAmiga[6] = {
+ 0x17, 0x20, 0x17, 0x20, 0x17, 0x20
+};
+
+static const ByteProvider kEoB1SparkDefXAmigaProvider = { ARRAYSIZE(kEoB1SparkDefXAmiga), kEoB1SparkDefXAmiga };
+
+static const byte kEoB1SparkDefYAmiga[6] = {
+ 0x02, 0x02, 0x34, 0x34, 0x66, 0x66
+};
+
+static const ByteProvider kEoB1SparkDefYAmigaProvider = { ARRAYSIZE(kEoB1SparkDefYAmiga), kEoB1SparkDefYAmiga };
+
+static const uint32 kEoB1SparkOfFlags1Amiga[11] = {
+ 0x40000000, 0x95000000, 0xEA550000, 0xBFAA5400, 0x6AFFA954, 0x15AAFEA9, 0x0055ABFE, 0x000056AB,
+ 0x00000156, 0x00000001, 0x00000000
+};
+
+static const Uint32Provider kEoB1SparkOfFlags1AmigaProvider = { ARRAYSIZE(kEoB1SparkOfFlags1Amiga), kEoB1SparkOfFlags1Amiga };
+
+static const uint32 kEoB1SparkOfFlags2Amiga[16] = {
+ 0xC0000000, 0x30000000, 0x0C000000, 0x03000000, 0x00C00000, 0x00300000, 0x000C0000, 0x00030000,
+ 0x0000C000, 0x00003000, 0x00000C00, 0x00000300, 0x000000C0, 0x00000030, 0x0000000C, 0x00000003
+};
+
+static const Uint32Provider kEoB1SparkOfFlags2AmigaProvider = { ARRAYSIZE(kEoB1SparkOfFlags2Amiga), kEoB1SparkOfFlags2Amiga };
+
+static const byte kEoB1SparkOfShiftAmiga[16] = {
+ 0x1E, 0x1C, 0x1A, 0x18, 0x16, 0x14, 0x12, 0x10,
+ 0x0E, 0x0C, 0x0A, 0x08, 0x06, 0x04, 0x02, 0x00
+};
+
+static const ByteProvider kEoB1SparkOfShiftAmigaProvider = { ARRAYSIZE(kEoB1SparkOfShiftAmiga), kEoB1SparkOfShiftAmiga };
+
+static const byte kEoB1SparkOfXAmiga[16] = {
+ 0x50, 0x70, 0x30, 0x68, 0x20, 0x60, 0x38, 0x78,
+ 0x80, 0x48, 0x58, 0x28, 0x60, 0x40, 0x70, 0x48
+};
+
+static const ByteProvider kEoB1SparkOfXAmigaProvider = { ARRAYSIZE(kEoB1SparkOfXAmiga), kEoB1SparkOfXAmiga };
+
+static const byte kEoB1SparkOfYAmiga[16] = {
+ 0x31, 0x2B, 0x48, 0x17, 0x16, 0x48, 0x35, 0x1B,
+ 0x43, 0x2E, 0x24, 0x28, 0x38, 0x1C, 0x16, 0x44
+};
+
+static const ByteProvider kEoB1SparkOfYAmigaProvider = { ARRAYSIZE(kEoB1SparkOfYAmiga), kEoB1SparkOfYAmiga };
+
+static const byte kEoB1SpellPropertiesAmiga[1060] = {
+ 0x00, 0x00, 0x05, 0x7e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xd0,
+ 0x01, 0x00, 0x00, 0x00, 0xb3, 0xc2, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xb4, 0x38, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xd6, 0x00, 0x00, 0x00, 0x00,
+ 0xb4, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x57, 0x01, 0x00, 0x00, 0x07, 0xe4,
+ 0x08, 0x00, 0x00, 0x00, 0xb5, 0x5a, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xb5, 0xa6, 0x5f, 0x00,
+ 0x00, 0x00, 0x07, 0xf2, 0x00, 0x00, 0x00, 0x00,
+ 0xb5, 0xce, 0x00, 0x00, 0xb5, 0xf2, 0x00, 0x00,
+ 0x00, 0x00, 0x55, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00,
+ 0xb6, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xb6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08,
+ 0x02, 0x00, 0x00, 0x00, 0xb6, 0x8e, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xb7, 0x40, 0x58, 0x00,
+ 0x00, 0x00, 0x08, 0x18, 0x01, 0x00, 0x00, 0x00,
+ 0xb7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xb7, 0xaa, 0x5e, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x08, 0x26, 0x00, 0x00, 0x00, 0x00,
+ 0xb7, 0xc8, 0x00, 0x00, 0xb7, 0xf2, 0x00, 0x00,
+ 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x08, 0x38,
+ 0x00, 0x00, 0x00, 0x00, 0xb8, 0x28, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x08, 0x48, 0x01, 0x00, 0x00, 0x00,
+ 0xb8, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x08, 0x56,
+ 0x00, 0x00, 0x00, 0x00, 0xb8, 0xf4, 0x00, 0x00,
+ 0xb9, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x62, 0x01,
+ 0x00, 0x00, 0x08, 0x60, 0x00, 0x00, 0x00, 0x00,
+ 0xb9, 0x4e, 0x00, 0x00, 0xb9, 0x78, 0x00, 0x00,
+ 0x00, 0x00, 0x63, 0x01, 0x00, 0x00, 0x08, 0x6c,
+ 0x08, 0x00, 0x00, 0x00, 0xb9, 0xa8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xba, 0x06, 0x00, 0x00,
+ 0x00, 0x00, 0x08, 0x72, 0x00, 0x00, 0x00, 0x00,
+ 0xba, 0x16, 0x00, 0x00, 0xba, 0x48, 0x00, 0x00,
+ 0x00, 0x00, 0x65, 0x01, 0x00, 0x00, 0x08, 0x7e,
+ 0x08, 0x00, 0x00, 0x00, 0xba, 0xd2, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xb7, 0xaa, 0x5e, 0x00,
+ 0x00, 0x00, 0x08, 0x96, 0x00, 0x00, 0x00, 0x00,
+ 0xba, 0xfa, 0x00, 0x00, 0xbb, 0x24, 0x00, 0x00,
+ 0x00, 0x00, 0x18, 0x01, 0x00, 0x00, 0x08, 0xa6,
+ 0x02, 0x00, 0x00, 0x00, 0xbb, 0x54, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xbb, 0xec, 0x66, 0x00,
+ 0x00, 0x00, 0x08, 0xb6, 0x00, 0x00, 0x00, 0x00,
+ 0xbc, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x67, 0x01, 0x00, 0x00, 0x08, 0xbc,
+ 0x00, 0x00, 0x00, 0x00, 0xbc, 0xb4, 0x00, 0x00,
+ 0xbc, 0xde, 0x00, 0x00, 0x00, 0x00, 0x59, 0x01,
+ 0x00, 0x00, 0x08, 0xc6, 0x01, 0x00, 0x00, 0x00,
+ 0xbd, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x08, 0xd0,
+ 0x00, 0x00, 0x00, 0x00, 0xbd, 0xf2, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x08, 0xda, 0x00, 0x00, 0x00, 0x00,
+ 0xbd, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x76, 0x01, 0x00, 0x00, 0x08, 0xe8,
+ 0x00, 0x00, 0x00, 0x00, 0xbf, 0x0c, 0x00, 0x00,
+ 0xbf, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x65, 0x01,
+ 0x00, 0x00, 0x08, 0xf6, 0x08, 0x00, 0x00, 0x00,
+ 0xbf, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xc0, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfc,
+ 0x01, 0x00, 0x00, 0x00, 0xc0, 0x2c, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00,
+ 0x00, 0x00, 0x09, 0x0e, 0x00, 0x00, 0x00, 0x00,
+ 0xc0, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x6b, 0x01, 0x00, 0x00, 0x07, 0xe4,
+ 0x08, 0x00, 0x00, 0x00, 0xb5, 0x5a, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xb5, 0xa6, 0x5f, 0x00,
+ 0x00, 0x00, 0x09, 0x22, 0x01, 0x00, 0x00, 0x00,
+ 0xc0, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xc0, 0x9c, 0x6e, 0x00, 0x00, 0x00, 0x09, 0x38,
+ 0x01, 0x00, 0x00, 0x00, 0xc0, 0xac, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xc1, 0x48, 0x5b, 0x00,
+ 0x00, 0x00, 0x09, 0x3c, 0x02, 0x00, 0x00, 0x00,
+ 0xc2, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xb7, 0x40, 0x63, 0x00, 0x00, 0x00, 0x08, 0x72,
+ 0x00, 0x00, 0x00, 0x00, 0xba, 0x16, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x01,
+ 0x00, 0x00, 0x09, 0x48, 0x01, 0x00, 0x00, 0x00,
+ 0xc1, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xc1, 0xc8, 0x6f, 0x00, 0x00, 0x00, 0x09, 0x54,
+ 0x08, 0x00, 0x00, 0x00, 0xc2, 0xb2, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00,
+ 0x00, 0x00, 0x08, 0x48, 0x01, 0x00, 0x00, 0x00,
+ 0xb8, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x09, 0x60,
+ 0x04, 0x00, 0x00, 0x00, 0xc2, 0xd4, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xc3, 0x0e, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x72, 0x08, 0x00, 0x00, 0x00,
+ 0xc3, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xc3, 0x64, 0x00, 0x00, 0x00, 0x00, 0x09, 0x7a,
+ 0x08, 0x00, 0x00, 0x00, 0xc3, 0x7a, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x8c, 0x01, 0x00, 0x00, 0x00,
+ 0xc3, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x09, 0xa0,
+ 0x00, 0x00, 0x00, 0x00, 0xc3, 0xea, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x01,
+ 0x00, 0x00, 0x09, 0xb6, 0x01, 0x00, 0x00, 0x00,
+ 0xc4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x09, 0xc8,
+ 0x08, 0x00, 0x00, 0x00, 0xc4, 0x28, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xc4, 0x82, 0x6e, 0x00,
+ 0x00, 0x00, 0x09, 0xe8, 0x04, 0x00, 0x00, 0x00,
+ 0xc4, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0a, 0x02,
+ 0x01, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0x00,
+ 0x00, 0x00, 0x0a, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0xc4, 0xda, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x6c, 0x01, 0x00, 0x00, 0x0a, 0x2e,
+ 0x00, 0x00, 0x00, 0x00, 0xc4, 0xec, 0x00, 0x00,
+ 0xc5, 0x16, 0x00, 0x00, 0x00, 0x00, 0x62, 0x01,
+ 0x00, 0x00, 0x0a, 0x3c, 0x01, 0x00, 0x00, 0x00,
+ 0xc5, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x0a, 0x48,
+ 0x01, 0x00, 0x00, 0x00, 0xc6, 0xb4, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00,
+ 0x00, 0x00, 0x05, 0x7e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xc5, 0x78, 0x00, 0x00,
+ 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x05, 0x7e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xc5, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00,
+ 0x00, 0x00, 0x05, 0x7e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xc6, 0x3c, 0x00, 0x00,
+ 0x00, 0x00, 0x75, 0x00
+};
+
+static const ByteProvider kEoB1SpellPropertiesAmigaProvider = { ARRAYSIZE(kEoB1SpellPropertiesAmiga), kEoB1SpellPropertiesAmiga };
+
+static const byte kEoB1MagicFlightPropsAmiga[80] = {
+ 0x04, 0xff, 0x41, 0x09, 0x0a, 0xff, 0x04, 0x05,
+ 0x0d, 0xff, 0x7a, 0x06, 0x0e, 0xff, 0x0c, 0x05,
+ 0x10, 0xff, 0x4a, 0x0a, 0x12, 0x06, 0x38, 0x07,
+ 0x15, 0x06, 0x7a, 0x08, 0x19, 0xff, 0x4a, 0x0a,
+ 0x2f, 0xff, 0x4b, 0x06, 0x32, 0xff, 0x09, 0x07,
+ 0x33, 0xff, 0x09, 0x0a, 0x34, 0xff, 0x09, 0x0a,
+ 0x01, 0x01, 0x00, 0x00, 0x03, 0xfd, 0x02, 0xfe,
+ 0x01, 0xff, 0x00, 0x00, 0x00, 0x98, 0x00, 0x18,
+ 0x00, 0x78, 0x00, 0x38, 0x00, 0x58, 0x40, 0x40,
+ 0x38, 0x38, 0x38, 0x38, 0xe0, 0x20, 0x01, 0xff
+};
+
+static const ByteProvider kEoB1MagicFlightPropsAmigaProvider = { ARRAYSIZE(kEoB1MagicFlightPropsAmiga), kEoB1MagicFlightPropsAmiga };
+
+static const byte kEoB1TurnUndeadEffectAmiga[140] = {
+ 0x0a, 0x07, 0x04, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0d, 0x0a,
+ 0x07, 0x04, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x10, 0x0d, 0x0a, 0x07,
+ 0x04, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0x13, 0x10, 0x0d, 0x0a, 0x07, 0x04,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x14, 0x13, 0x10, 0x0d, 0x0a, 0x07, 0x04, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x63, 0x14,
+ 0x13, 0x10, 0x0d, 0x0a, 0x07, 0x04, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0x00, 0x63, 0x63, 0x14, 0x13,
+ 0x10, 0x0d, 0x0a, 0x07, 0x04, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0x63, 0x63, 0x63, 0x14, 0x13, 0x10,
+ 0x0d, 0x0a, 0x07, 0x04, 0x04, 0x00, 0x00, 0x00,
+ 0x63, 0x63, 0x63, 0x63, 0x14, 0x13, 0x10, 0x0d,
+ 0x0a, 0x07, 0x07, 0x04, 0x04, 0x00, 0x63, 0x63,
+ 0x63, 0x63, 0x63, 0x14, 0x13, 0x10, 0x0d, 0x0a,
+ 0x0a, 0x07, 0x07, 0x04
+};
+
+static const ByteProvider kEoB1TurnUndeadEffectAmigaProvider = { ARRAYSIZE(kEoB1TurnUndeadEffectAmiga), kEoB1TurnUndeadEffectAmiga };
+
+static const byte kEoB1BurningHandsDestAmiga[8] = {
+ 0x02, 0x03, 0x00, 0x02, 0x00, 0x01, 0x01, 0x03
+};
+
+static const ByteProvider kEoB1BurningHandsDestAmigaProvider = { ARRAYSIZE(kEoB1BurningHandsDestAmiga), kEoB1BurningHandsDestAmiga };
+
+static const byte kEoB1ConeOfColdDest1Amiga[7] = {
+ 0xE0, 0xC0, 0xC1, 0xBF, 0xA0, 0x9F, 0xA1
+};
+
+static const ByteProvider kEoB1ConeOfColdDest1AmigaProvider = { ARRAYSIZE(kEoB1ConeOfColdDest1Amiga), kEoB1ConeOfColdDest1Amiga };
+
+static const byte kEoB1ConeOfColdDest2Amiga[7] = {
+ 0x01, 0x02, 0xE2, 0x22, 0x03, 0xE3, 0x23
+};
+
+static const ByteProvider kEoB1ConeOfColdDest2AmigaProvider = { ARRAYSIZE(kEoB1ConeOfColdDest2Amiga), kEoB1ConeOfColdDest2Amiga };
+
+static const byte kEoB1ConeOfColdDest3Amiga[7] = {
+ 0x20, 0x40, 0x3F, 0x41, 0x60, 0x5F, 0x61
+};
+
+static const ByteProvider kEoB1ConeOfColdDest3AmigaProvider = { ARRAYSIZE(kEoB1ConeOfColdDest3Amiga), kEoB1ConeOfColdDest3Amiga };
+
+static const byte kEoB1ConeOfColdDest4Amiga[7] = {
+ 0xFF, 0xFE, 0x1E, 0xDE, 0xFD, 0x1D, 0xDD
+};
+
+static const ByteProvider kEoB1ConeOfColdDest4AmigaProvider = { ARRAYSIZE(kEoB1ConeOfColdDest4Amiga), kEoB1ConeOfColdDest4Amiga };
+
+static const byte kEoB1ConeOfColdGfxTblAmiga[8] = {
+ 0x1f, 0x1c, 0x1f, 0x1c, 0x1d, 0x1e, 0x1d, 0x00
+};
+
+static const ByteProvider kEoB1ConeOfColdGfxTblAmigaProvider = { ARRAYSIZE(kEoB1ConeOfColdGfxTblAmiga), kEoB1ConeOfColdGfxTblAmiga };
+
+static const byte kEoB1DscDoorShapeIndexAmiga[32] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03
+};
+
+static const ByteProvider kEoB1DscDoorShapeIndexAmigaProvider = { ARRAYSIZE(kEoB1DscDoorShapeIndexAmiga), kEoB1DscDoorShapeIndexAmiga };
+
+static const byte kEoB1WllFlagPresetAmiga[25] = {
+ 0x07, 0x00, 0x40, 0xA8, 0x88, 0x88, 0x88, 0x9F,
+ 0xA8, 0x88, 0x88, 0x88, 0x9F, 0xAA, 0x8A, 0x8A,
+ 0x8A, 0x9F, 0xAA, 0x8A, 0x8A, 0x8A, 0x9F, 0x03,
+ 0x03
+};
+
+static const ByteProvider kEoB1WllFlagPresetAmigaProvider = { ARRAYSIZE(kEoB1WllFlagPresetAmiga), kEoB1WllFlagPresetAmiga };
+
+static const uint16 kEoB1DscShapeCoordsAmiga[180] = {
+ 0xff91, 0xffc1, 0xffa1, 0xffc1, 0xff75, 0xffc5, 0xff8b, 0xffc5,
+ 0xff88, 0xffc3, 0xffb4, 0xffc1, 0xffc4, 0xffc1, 0xffa1, 0xffc5,
+ 0xffb6, 0xffc5, 0xffb0, 0xffc3, 0xffd5, 0xffc1, 0xffe5, 0xffc1,
+ 0xffcb, 0xffc5, 0xffe1, 0xffc5, 0xffd8, 0xffc3, 0xfff8, 0xffc1,
+ 0x0008, 0xffc1, 0xfff6, 0xffc5, 0x000a, 0xffc5, 0x0000, 0xffc3,
+ 0x001b, 0xffc1, 0x002b, 0xffc1, 0x001f, 0xffc5, 0x0035, 0xffc5,
+ 0x0028, 0xffc3, 0x003c, 0xffc1, 0x004c, 0xffc1, 0x004a, 0xffc5,
+ 0x005f, 0xffc5, 0x0050, 0xffc3, 0x005f, 0xffc1, 0x006f, 0xffc1,
+ 0x0075, 0xffc5, 0x008b, 0xffc5, 0x0078, 0xffc3, 0xff8a, 0xffcb,
+ 0xffa4, 0xffcb, 0xff68, 0xffd3, 0xff88, 0xffd3, 0xff8a, 0xffce,
+ 0xffbe, 0xffcb, 0xffd8, 0xffcb, 0xffac, 0xffd3, 0xffcd, 0xffd3,
+ 0xffc5, 0xffce, 0xfff3, 0xffcb, 0x000d, 0xffcb, 0xfff0, 0xffd3,
+ 0x0010, 0xffd3, 0x0000, 0xffce, 0x0028, 0xffcb, 0x0042, 0xffcb,
+ 0x0033, 0xffd3, 0x0054, 0xffd3, 0x003b, 0xffce, 0x005c, 0xffcb,
+ 0x0076, 0xffcb, 0x0078, 0xffd3, 0x0098, 0xffd3, 0x0076, 0xffce,
+ 0xff92, 0xffdd, 0xffbd, 0xffdd, 0xff74, 0xffea, 0xffad, 0xffea,
+ 0xff9e, 0xffe2, 0xffea, 0xffdd, 0x0016, 0xffdd, 0xffe5, 0xffea,
+ 0x001b, 0xffea, 0x0000, 0xffe2, 0x0043, 0xffdd, 0x006e, 0xffdd,
+ 0x0053, 0xffea, 0x008c, 0xffea, 0x0062, 0xffe2, 0xff80, 0xfffc,
+ 0x0080, 0xfffc, 0xff80, 0xffbe, 0x0080, 0xffbe, 0x0080, 0x0000,
+ 0xffda, 0xfffc, 0x0026, 0xfffc, 0xffda, 0xffbe, 0x0026, 0xffbe,
+ 0x0000, 0x0000, 0xff80, 0xfffc, 0x0080, 0xfffc, 0xff80, 0xffbe,
+ 0x0080, 0xffbe, 0x0080, 0x0000
+};
+
+static const Uint16Provider kEoB1DscShapeCoordsAmigaProvider = { ARRAYSIZE(kEoB1DscShapeCoordsAmiga), kEoB1DscShapeCoordsAmiga };
+
+static const byte kEoB1DscDoorScaleOffsAmiga[32] = {
+ 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x0D, 0x0D, 0x0D,
+ 0x0D, 0x0D, 0x12, 0x12, 0x12, 0x12, 0x12, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x1F
+};
+
+static const ByteProvider kEoB1DscDoorScaleOffsAmigaProvider = { ARRAYSIZE(kEoB1DscDoorScaleOffsAmiga), kEoB1DscDoorScaleOffsAmiga };
+
+static const byte kEoB1DscDoorScaleMult1Amiga[4] = {
+ 0x08, 0x0C, 0x12, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorScaleMult1AmigaProvider = { ARRAYSIZE(kEoB1DscDoorScaleMult1Amiga), kEoB1DscDoorScaleMult1Amiga };
+
+static const byte kEoB1DscDoorScaleMult2Amiga[4] = {
+ 0x00, 0x02, 0x04, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorScaleMult2AmigaProvider = { ARRAYSIZE(kEoB1DscDoorScaleMult2Amiga), kEoB1DscDoorScaleMult2Amiga };
+
+static const byte kEoB1DscDoorScaleMult3Amiga[4] = {
+ 0x04, 0x06, 0x09, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorScaleMult3AmigaProvider = { ARRAYSIZE(kEoB1DscDoorScaleMult3Amiga), kEoB1DscDoorScaleMult3Amiga };
+
+static const byte kEoB1DscDoorScaleMult4Amiga[4] = {
+ 0x00, 0x02, 0x04, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorScaleMult4AmigaProvider = { ARRAYSIZE(kEoB1DscDoorScaleMult4Amiga), kEoB1DscDoorScaleMult4Amiga };
+
+static const byte kEoB1DscDoorScaleMult5Amiga[4] = {
+ 0x07, 0x0B, 0x0E, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorScaleMult5AmigaProvider = { ARRAYSIZE(kEoB1DscDoorScaleMult5Amiga), kEoB1DscDoorScaleMult5Amiga };
+
+static const byte kEoB1DscDoorScaleMult6Amiga[4] = {
+ 0x00, 0x02, 0x04, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorScaleMult6AmigaProvider = { ARRAYSIZE(kEoB1DscDoorScaleMult6Amiga), kEoB1DscDoorScaleMult6Amiga };
+
+static const byte kEoB1DscDoorXEAmiga[32] = {
+ 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x0D, 0x0D, 0x0D,
+ 0x0D, 0x0D, 0x12, 0x12, 0x12, 0x12, 0x12, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x1F
+};
+
+static const ByteProvider kEoB1DscDoorXEAmigaProvider = { ARRAYSIZE(kEoB1DscDoorXEAmiga), kEoB1DscDoorXEAmiga };
+
+static const byte kEoB1DscDoorY1Amiga[4] = {
+ 0x3A, 0x47, 0x56, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorY1AmigaProvider = { ARRAYSIZE(kEoB1DscDoorY1Amiga), kEoB1DscDoorY1Amiga };
+
+static const byte kEoB1DscDoorY3Amiga[4] = {
+ 0x20, 0x20, 0x18, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorY3AmigaProvider = { ARRAYSIZE(kEoB1DscDoorY3Amiga), kEoB1DscDoorY3Amiga };
+
+static const byte kEoB1DscDoorY4Amiga[4] = {
+ 0x1E, 0x18, 0x10, 0x30
+};
+
+static const ByteProvider kEoB1DscDoorY4AmigaProvider = { ARRAYSIZE(kEoB1DscDoorY4Amiga), kEoB1DscDoorY4Amiga };
+
+static const byte kEoB1DscDoorY5Amiga[4] = {
+ 0x30, 0x34, 0x3B, 0x3A
+};
+
+static const ByteProvider kEoB1DscDoorY5AmigaProvider = { ARRAYSIZE(kEoB1DscDoorY5Amiga), kEoB1DscDoorY5Amiga };
+
+static const byte kEoB1DscDoorY6Amiga[4] = {
+ 0x3A, 0x45, 0x5A, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorY6AmigaProvider = { ARRAYSIZE(kEoB1DscDoorY6Amiga), kEoB1DscDoorY6Amiga };
+
+static const byte kEoB1DscDoorY7Amiga[4] = {
+ 0x3B, 0x47, 0x58, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorY7AmigaProvider = { ARRAYSIZE(kEoB1DscDoorY7Amiga), kEoB1DscDoorY7Amiga };
+
+static const uint16 kEoB1DscDoorCoordsExtAmiga[36] = {
+ 0x0000, 0x0000, 0xFFE8, 0x0010, 0x0020, 0x0040, 0x0048, 0x0068,
+ 0x0070, 0x0090, 0x00A0, 0x00C8, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFE8, 0x0030, 0x0038, 0x0078, 0x0080, 0x00C8, 0x0000, 0x0000,
+ 0xFFA8, 0x0020, 0x0028, 0x0088, 0x0090, 0x0108, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000
+};
+
+static const Uint16Provider kEoB1DscDoorCoordsExtAmigaProvider = { ARRAYSIZE(kEoB1DscDoorCoordsExtAmiga), kEoB1DscDoorCoordsExtAmiga };
+
+static const byte kEoB1DscDoorFrameY1Amiga[32] = {
+ 0x20, 0x18, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x20, 0x18, 0x00, 0x1E, 0x18, 0x10, 0x00,
+ 0x3A, 0x48, 0x60, 0x78, 0x3A, 0x46, 0x56, 0x00,
+ 0x78, 0x78, 0x78, 0x78, 0x1F, 0x18, 0x0F, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorFrameY1AmigaProvider = { ARRAYSIZE(kEoB1DscDoorFrameY1Amiga), kEoB1DscDoorFrameY1Amiga };
+
+static const byte kEoB1DscDoorFrameY2Amiga[32] = {
+ 0x20, 0x18, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x20, 0x18, 0x00, 0x1E, 0x18, 0x10, 0x00,
+ 0x3A, 0x48, 0x60, 0x78, 0x3A, 0x46, 0x56, 0x00,
+ 0x78, 0x78, 0x78, 0x78, 0x1F, 0x18, 0x0F, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorFrameY2AmigaProvider = { ARRAYSIZE(kEoB1DscDoorFrameY2Amiga), kEoB1DscDoorFrameY2Amiga };
+
+static const byte kEoB1DscDoorFrameIndex1Amiga[12] = {
+ 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x08, 0x08,
+ 0x08, 0x0C, 0x0C, 0x1C
+};
+
+static const ByteProvider kEoB1DscDoorFrameIndex1AmigaProvider = { ARRAYSIZE(kEoB1DscDoorFrameIndex1Amiga), kEoB1DscDoorFrameIndex1Amiga };
+
+static const byte kEoB1DscDoorFrameIndex2Amiga[12] = {
+ 0x10, 0x10, 0x10, 0x18, 0x18, 0x18, 0x10, 0x10,
+ 0x10, 0x14, 0x14, 0x18
+};
+
+static const ByteProvider kEoB1DscDoorFrameIndex2AmigaProvider = { ARRAYSIZE(kEoB1DscDoorFrameIndex2Amiga), kEoB1DscDoorFrameIndex2Amiga };
+
+static const byte kEoB1DscItemPosIndexAmiga[16] = {
+ 0x00, 0x01, 0x02, 0x03, 0x02, 0x00, 0x03, 0x01,
+ 0x03, 0x02, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02
+};
+
+static const ByteProvider kEoB1DscItemPosIndexAmigaProvider = { ARRAYSIZE(kEoB1DscItemPosIndexAmiga), kEoB1DscItemPosIndexAmiga };
+
+static const uint16 kEoB1DscItemShpXAmiga[18] = {
+ 0xFFC8, 0xFFF8, 0x0028, 0x0058, 0x0088, 0x00B8, 0x00E8, 0xFFB8,
+ 0x0008, 0x0058, 0x00A8, 0x00F8, 0xFFD8, 0x0058, 0x00D8, 0xFFA8,
+ 0x0058, 0x0108
+};
+
+static const Uint16Provider kEoB1DscItemShpXAmigaProvider = { ARRAYSIZE(kEoB1DscItemShpXAmiga), kEoB1DscItemShpXAmiga };
+
+static const byte kEoB1DscItemScaleIndexAmiga[18] = {
+ 0xFF, 0xFF, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02,
+ 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF,
+ 0x25, 0x00
+};
+
+static const ByteProvider kEoB1DscItemScaleIndexAmigaProvider = { ARRAYSIZE(kEoB1DscItemScaleIndexAmiga), kEoB1DscItemScaleIndexAmiga };
+
+static const byte kEoB1DscItemTileIndexAmiga[18] = {
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0x09, 0xFF, 0x0B,
+ 0x0C, 0x0D
+};
+
+static const ByteProvider kEoB1DscItemTileIndexAmigaProvider = { ARRAYSIZE(kEoB1DscItemTileIndexAmiga), kEoB1DscItemTileIndexAmiga };
+
+static const byte kEoB1DscItemShapeMapAmiga[90] = {
+ 0x00, 0x00, 0x00, 0x04, 0x01, 0x02, 0x03, 0x04,
+ 0x05, 0x06, 0x07, 0x07, 0x12, 0x06, 0x0f, 0x12,
+ 0x14, 0x17, 0x13, 0x11, 0x15, 0x0d, 0x09, 0x09,
+ 0x16, 0x1f, 0x0c, 0x23, 0x0c, 0x0c, 0x0c, 0x0b,
+ 0x0a, 0x1c, 0x1c, 0x1a, 0x1b, 0x21, 0x1d, 0x1d,
+ 0x22, 0x22, 0x22, 0x00, 0x08, 0x00, 0x25, 0x18,
+ 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x19, 0x23,
+ 0x10, 0x1e, 0x24, 0x18, 0x1c, 0x20, 0x12, 0x21,
+ 0x1e, 0x23, 0x1c, 0x00, 0x20, 0x11, 0x11, 0x0d,
+ 0x1f, 0x09, 0x09, 0x15, 0x15, 0x0f, 0x05, 0x0c,
+ 0x1e, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1b,
+ 0x1b, 0x00
+};
+
+static const ByteProvider kEoB1DscItemShapeMapAmigaProvider = { ARRAYSIZE(kEoB1DscItemShapeMapAmiga), kEoB1DscItemShapeMapAmiga };
+
+static const byte kEoB1DscTelptrShpCoordsAmiga[156] = {
+ 0x0c, 0x07, 0x1a, 0x01, 0x3e, 0x03, 0x0c, 0x1a,
+ 0x2a, 0x13, 0x40, 0x18, 0x02, 0x2d, 0x16, 0x25,
+ 0x28, 0x32, 0x36, 0x27, 0x0a, 0x3e, 0x16, 0x49,
+ 0x3e, 0x44, 0x06, 0x06, 0x2a, 0x04, 0x37, 0x0a,
+ 0x04, 0x1b, 0x1a, 0x16, 0x37, 0x1d, 0x0e, 0x2a,
+ 0x1b, 0x35, 0x2e, 0x28, 0x42, 0x30, 0x06, 0x47,
+ 0x06, 0x47, 0x2d, 0x4c, 0x0a, 0x04, 0x14, 0x00,
+ 0x2e, 0x01, 0x0c, 0x10, 0x1f, 0x10, 0x2f, 0x10,
+ 0x12, 0x18, 0x28, 0x1d, 0x01, 0x21, 0x08, 0x2a,
+ 0x11, 0x32, 0x2f, 0x2e, 0x1f, 0x25, 0x02, 0x02,
+ 0x01, 0x11, 0x01, 0x2f, 0x08, 0x1e, 0x11, 0x0e,
+ 0x11, 0x26, 0x1c, 0x01, 0x1e, 0x19, 0x1f, 0x33,
+ 0x24, 0x11, 0x26, 0x05, 0x28, 0x2b, 0x2f, 0x22,
+ 0x00, 0x13, 0x05, 0x01, 0x06, 0x08, 0x09, 0x0c,
+ 0x04, 0x1a, 0x08, 0x1f, 0x12, 0x05, 0x12, 0x15,
+ 0x16, 0x10, 0x1a, 0x08, 0x1a, 0x1d, 0x0a, 0x00,
+ 0x0a, 0x00, 0x00, 0x09, 0x00, 0x1e, 0x04, 0x11,
+ 0x08, 0x16, 0x08, 0x06, 0x10, 0x00, 0x11, 0x0d,
+ 0x12, 0x20, 0x15, 0x02, 0x14, 0x09, 0x16, 0x1b,
+ 0x1a, 0x14, 0x1a, 0x14
+};
+
+static const ByteProvider kEoB1DscTelptrShpCoordsAmigaProvider = { ARRAYSIZE(kEoB1DscTelptrShpCoordsAmiga), kEoB1DscTelptrShpCoordsAmiga };
+
+static const byte kEoB1PortalSeqDataAmiga[126] = {
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00,
+ 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00,
+ 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04,
+ 0x00, 0x01, 0x01, 0x00, 0x02, 0x01, 0x03, 0x02,
+ 0x02, 0x03, 0x01, 0x04, 0x00, 0x02, 0x01, 0x03,
+ 0x02, 0x04, 0x03, 0x02, 0x04, 0x03, 0x03, 0x04,
+ 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03,
+ 0x04, 0x04, 0x04, 0x05, 0x04, 0x06, 0x03, 0x07,
+ 0x02, 0x08, 0x02, 0x08, 0x01, 0x09, 0x01, 0x09,
+ 0x01, 0x09, 0x00, 0x0a, 0xff, 0xff
+};
+
+static const ByteProvider kEoB1PortalSeqDataAmigaProvider = { ARRAYSIZE(kEoB1PortalSeqDataAmiga), kEoB1PortalSeqDataAmiga };
+
+static const byte kEoB1DscMonsterFrmOffsTbl1Amiga[32] = {
+ 0x04, 0xfe, 0x01, 0x03, 0x03, 0x04, 0xfe, 0x01,
+ 0x01, 0x03, 0x04, 0xfe, 0xfe, 0x01, 0x03, 0x04,
+ 0xfc, 0xfd, 0xff, 0x02, 0x02, 0xfc, 0xfd, 0xff,
+ 0xff, 0x02, 0xfc, 0xfd, 0xfd, 0xff, 0x02, 0xfc
+};
+
+static const ByteProvider kEoB1DscMonsterFrmOffsTbl1AmigaProvider = { ARRAYSIZE(kEoB1DscMonsterFrmOffsTbl1Amiga), kEoB1DscMonsterFrmOffsTbl1Amiga };
+
+static const byte kEoB1DscMonsterFrmOffsTbl2Amiga[32] = {
+ 0x04, 0xfe, 0x01, 0x03, 0x03, 0x04, 0xfe, 0x01,
+ 0x01, 0x03, 0x04, 0xfe, 0xfe, 0x01, 0x03, 0x04,
+ 0x04, 0xfd, 0x01, 0x02, 0x02, 0x04, 0xfd, 0x01,
+ 0x01, 0x02, 0x04, 0xfd, 0xfd, 0x01, 0x02, 0x04
+};
+
+static const ByteProvider kEoB1DscMonsterFrmOffsTbl2AmigaProvider = { ARRAYSIZE(kEoB1DscMonsterFrmOffsTbl2Amiga), kEoB1DscMonsterFrmOffsTbl2Amiga };
+
+static const uint16 kEoB1InvSlotXAmiga[27] = {
+ 0x00e6, 0x0116, 0x00b5, 0x00c7, 0x00b5, 0x00c7, 0x00b5, 0x00c7,
+ 0x00b5, 0x00c7, 0x00b5, 0x00c7, 0x00b5, 0x00c7, 0x00b5, 0x00c7,
+ 0x00e1, 0x00e0, 0x00e1, 0x012a, 0x011f, 0x0115, 0x012c, 0x012c,
+ 0x012c, 0x00e4, 0x00f0
+};
+
+static const Uint16Provider kEoB1InvSlotXAmigaProvider = { ARRAYSIZE(kEoB1InvSlotXAmiga), kEoB1InvSlotXAmiga };
+
+static const byte kEoB1InvSlotYAmiga[27] = {
+ 0x74, 0x74, 0x28, 0x28, 0x3a, 0x3a, 0x4c, 0x4c,
+ 0x5e, 0x5e, 0x70, 0x70, 0x82, 0x82, 0x94, 0x94,
+ 0x38, 0x4c, 0x60, 0x37, 0x4b, 0x89, 0x5e, 0x70,
+ 0x82, 0x88, 0x88
+};
+
+static const ByteProvider kEoB1InvSlotYAmigaProvider = { ARRAYSIZE(kEoB1InvSlotYAmiga), kEoB1InvSlotYAmiga };
+
+static const uint16 kEoB1SlotValidationFlagsAmiga[27] = {
+ 0x0008, 0x0008, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+ 0x0001, 0x0002, 0x0004, 0x0020, 0x0040, 0x0010, 0xFFFF, 0x0080,
+ 0x0080, 0x0100, 0x0100
+};
+
+static const Uint16Provider kEoB1SlotValidationFlagsAmigaProvider = { ARRAYSIZE(kEoB1SlotValidationFlagsAmiga), kEoB1SlotValidationFlagsAmiga };
+
+static const byte kEoB1ProjectileWeaponTypesAmiga[8] = {
+ 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x12
+};
+
+static const ByteProvider kEoB1ProjectileWeaponTypesAmigaProvider = { ARRAYSIZE(kEoB1ProjectileWeaponTypesAmiga), kEoB1ProjectileWeaponTypesAmiga };
+
+static const byte kEoB1WandTypesAmiga[7] = {
+ 0x00, 0x12, 0x18, 0x28, 0x0D, 0xFF, 0x04
+};
+
+static const ByteProvider kEoB1WandTypesAmigaProvider = { ARRAYSIZE(kEoB1WandTypesAmiga), kEoB1WandTypesAmiga };
+
+static const byte kEoB1DrawObjPosIndexAmiga[20] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x03,
+ 0x01, 0x04, 0x02, 0x03, 0x00, 0x01, 0x04, 0x01,
+ 0x03, 0x00, 0x02, 0x04
+};
+
+static const ByteProvider kEoB1DrawObjPosIndexAmigaProvider = { ARRAYSIZE(kEoB1DrawObjPosIndexAmiga), kEoB1DrawObjPosIndexAmiga };
+
+static const byte kEoB1FlightObjFlipIndexAmiga[16] = {
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01,
+ 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00
+};
+
+static const ByteProvider kEoB1FlightObjFlipIndexAmigaProvider = { ARRAYSIZE(kEoB1FlightObjFlipIndexAmiga), kEoB1FlightObjFlipIndexAmiga };
+
+static const byte kEoB1FlightObjShpMapAmiga[88] = {
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01,
+ 0xff, 0xff, 0x03, 0xff, 0x05, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x02, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+};
+
+static const ByteProvider kEoB1FlightObjShpMapAmigaProvider = { ARRAYSIZE(kEoB1FlightObjShpMapAmiga), kEoB1FlightObjShpMapAmiga };
+
+static const byte kEoB1FlightObjSclIndexAmiga[72] = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03,
+ 0xff, 0xff, 0x03, 0x03, 0xff, 0xff, 0x03, 0x03,
+ 0xff, 0xff, 0x03, 0x03, 0xff, 0xff, 0x03, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x01, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+};
+
+static const ByteProvider kEoB1FlightObjSclIndexAmigaProvider = { ARRAYSIZE(kEoB1FlightObjSclIndexAmiga), kEoB1FlightObjSclIndexAmiga };
+
+static const byte kEoB1DscShapeIndexAmiga[36] = {
+ 0x01, 0x01, 0x04, 0x0a, 0x04, 0x08, 0x04, 0x01,
+ 0x04, 0xf8, 0x04, 0xf6, 0x00, 0x00, 0x03, 0x09,
+ 0x03, 0x07, 0x03, 0x01, 0x03, 0xf9, 0x03, 0xf7,
+ 0x02, 0x06, 0x02, 0x01, 0x02, 0xfa, 0x01, 0x05,
+ 0x01, 0x01, 0x01, 0xfb
+};
+
+static const ByteProvider kEoB1DscShapeIndexAmigaProvider = { ARRAYSIZE(kEoB1DscShapeIndexAmiga), kEoB1DscShapeIndexAmiga };
+
+static const uint16 kEoB1DscXAmiga[18] = {
+ 0xFF70, 0xFFA0, 0xFFD0, 0x0000, 0x0030, 0x0060, 0x0090, 0xFF60,
+ 0xFFB0, 0x0000, 0x0050, 0x00A0, 0xFF80, 0x0000, 0x0080, 0x0000,
+ 0x0000, 0x0000
+};
+
+static const Uint16Provider kEoB1DscXAmigaProvider = { ARRAYSIZE(kEoB1DscXAmiga), kEoB1DscXAmiga };
+
+static const byte kEoB1DscTileIndexAmiga[18] = {
+ 0x00, 0x06, 0x01, 0x05, 0x02, 0x04, 0x03, 0x07,
+ 0x0B, 0x08, 0x0A, 0x09, 0x0C, 0x0E, 0x0D, 0x0F,
+ 0x11, 0x10
+};
+
+static const ByteProvider kEoB1DscTileIndexAmigaProvider = { ARRAYSIZE(kEoB1DscTileIndexAmiga), kEoB1DscTileIndexAmiga };
+
+static const byte kEoB1DscDimData1Amiga[324] = {
+ 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7,
+ 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7,
+ 0xd8, 0xd7, 0xd8, 0xd8, 0x02, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xfe, 0xd7, 0xd8, 0xd8, 0xd8, 0xd7, 0x03,
+ 0xd8, 0xfd, 0xd8, 0xd8, 0xd8, 0xfe, 0xd8, 0x08,
+ 0xd8, 0xd8, 0xd8, 0xfe, 0xd7, 0x06, 0xd8, 0xd8,
+ 0xfa, 0x03, 0xd8, 0xfd, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xfa, 0xd7,
+ 0x10, 0xd8, 0xfd, 0xd7, 0x13, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xf2, 0xd8, 0x14, 0xd8, 0xd8,
+ 0xd8, 0xf0, 0xd7, 0x14, 0xd8, 0xed, 0x10, 0xd8,
+ 0xd8, 0x13, 0xd8, 0xd8, 0xd8, 0xd8, 0xec, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd7, 0x14, 0xd8, 0xed,
+ 0xd7, 0xd8, 0xd8, 0x13, 0xd7, 0xd7, 0xd7, 0xd7,
+ 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7,
+ 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd7, 0xd7, 0xd7,
+ 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7,
+ 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd7,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0x06, 0xd8, 0xd8, 0xfa, 0x03, 0xd8, 0xfd,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xfa, 0xd8, 0x10, 0xd8, 0xfd, 0xd7,
+ 0x13, 0xfd, 0xd8, 0x13, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xf0, 0xd8, 0xd8,
+ 0xd8, 0xed, 0x10, 0xd8, 0xd8, 0x13, 0xd7, 0xd7,
+ 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7,
+ 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd7,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0x03, 0xd8, 0xfd,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xfd, 0xd8,
+ 0x13, 0xfd, 0xd8, 0x13, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xed, 0xd8, 0xd8, 0xd8, 0x13, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
+ 0xd8, 0xd8, 0xd8, 0xd8
+};
+
+static const ByteProvider kEoB1DscDimData1AmigaProvider = { ARRAYSIZE(kEoB1DscDimData1Amiga), kEoB1DscDimData1Amiga };
+
+static const byte kEoB1DscDimData2Amiga[648] = {
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x00, 0x16, 0x16, 0x00, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x02, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x02, 0x16, 0x00, 0x04, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x16, 0x00, 0x00, 0x03,
+ 0x00, 0x16, 0x03, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x02, 0x16, 0x00, 0x16, 0x00, 0x08,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x02,
+ 0x16, 0x00, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16,
+ 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x00,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x08, 0x0e,
+ 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x06, 0x10,
+ 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x0e, 0x16,
+ 0x00, 0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x10, 0x16, 0x16, 0x00, 0x00, 0x14,
+ 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x14, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x12, 0x16, 0x14, 0x16, 0x00, 0x16, 0x13, 0x16,
+ 0x16, 0x00, 0x00, 0x16, 0x00, 0x16, 0x00, 0x13,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x00, 0x16, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16,
+ 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x00, 0x16,
+ 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x07, 0x0f,
+ 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x10, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x13, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x03, 0x16, 0x00, 0x16,
+ 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x13, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
+ 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16
+};
+
+static const ByteProvider kEoB1DscDimData2AmigaProvider = { ARRAYSIZE(kEoB1DscDimData2Amiga), kEoB1DscDimData2Amiga };
+
+static const byte kEoB1DscBlockMapAmiga[12] = {
+ 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00,
+ 0x03, 0x00, 0x01, 0x02
+};
+
+static const ByteProvider kEoB1DscBlockMapAmigaProvider = { ARRAYSIZE(kEoB1DscBlockMapAmiga), kEoB1DscBlockMapAmiga };
+
+static const byte kEoB1DscDimMapAmiga[18] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03,
+ 0x03, 0x03
+};
+
+static const ByteProvider kEoB1DscDimMapAmigaProvider = { ARRAYSIZE(kEoB1DscDimMapAmiga), kEoB1DscDimMapAmiga };
+
+static const byte kEoB1DscBlockIndexAmiga[72] = {
+ 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xbe,
+ 0xbf, 0xc0, 0xc1, 0xc2, 0xdf, 0xe0, 0xe1, 0xff,
+ 0x00, 0x01, 0xa3, 0xc3, 0xe3, 0x03, 0x23, 0x43,
+ 0x63, 0xc2, 0xe2, 0x02, 0x22, 0x42, 0xe1, 0x01,
+ 0x21, 0xe0, 0x00, 0x20, 0x63, 0x62, 0x61, 0x60,
+ 0x5f, 0x5e, 0x5d, 0x42, 0x41, 0x40, 0x3f, 0x3e,
+ 0x21, 0x20, 0x1f, 0x01, 0x00, 0xff, 0x5d, 0x3d,
+ 0x1d, 0xfd, 0xdd, 0xbd, 0x9d, 0x3e, 0x1e, 0xfe,
+ 0xde, 0xbe, 0x1f, 0xff, 0xdf, 0x20, 0x00, 0xe0
+};
+
+static const ByteProvider kEoB1DscBlockIndexAmigaProvider = { ARRAYSIZE(kEoB1DscBlockIndexAmiga), kEoB1DscBlockIndexAmiga };
+
+static const byte kEoB1ClassModifierFlagsAmiga[15] = {
+ 0x01, 0x01, 0x05, 0x02, 0x04, 0x08, 0x05, 0x09,
+ 0x03, 0x0B, 0x0A, 0x0C, 0x07, 0x05, 0x06
+};
+
+static const ByteProvider kEoB1ClassModifierFlagsAmigaProvider = { ARRAYSIZE(kEoB1ClassModifierFlagsAmiga), kEoB1ClassModifierFlagsAmiga };
+
+static const byte kEoB1MonsterStepTable01Amiga[4] = {
+ 0xE0, 0x01, 0x20, 0xFF
+};
+
+static const ByteProvider kEoB1MonsterStepTable01AmigaProvider = { ARRAYSIZE(kEoB1MonsterStepTable01Amiga), kEoB1MonsterStepTable01Amiga };
+
+static const byte kEoB1MonsterStepTable2Amiga[8] = {
+ 0x07, 0xFA, 0x05, 0xFC, 0x03, 0xFE, 0x01, 0x00
+};
+
+static const ByteProvider kEoB1MonsterStepTable2AmigaProvider = { ARRAYSIZE(kEoB1MonsterStepTable2Amiga), kEoB1MonsterStepTable2Amiga };
+
+static const byte kEoB1MonsterStepTable3Amiga[8] = {
+ 0xF9, 0x06, 0xFB, 0x04, 0xFD, 0x02, 0xFF, 0x00
+};
+
+static const ByteProvider kEoB1MonsterStepTable3AmigaProvider = { ARRAYSIZE(kEoB1MonsterStepTable3Amiga), kEoB1MonsterStepTable3Amiga };
+
+static const byte kEoB1MonsterCloseAttPosTable1Amiga[4] = {
+ 0x00, 0x01, 0x03, 0x02
+};
+
+static const ByteProvider kEoB1MonsterCloseAttPosTable1AmigaProvider = { ARRAYSIZE(kEoB1MonsterCloseAttPosTable1Amiga), kEoB1MonsterCloseAttPosTable1Amiga };
+
+static const byte kEoB1MonsterCloseAttPosTable21Amiga[8] = {
+ 0x00, 0x01, 0x02, 0x03, 0x00, 0x02, 0x01, 0x03
+};
+
+static const ByteProvider kEoB1MonsterCloseAttPosTable21AmigaProvider = { ARRAYSIZE(kEoB1MonsterCloseAttPosTable21Amiga), kEoB1MonsterCloseAttPosTable21Amiga };
+
+static const byte kEoB1MonsterCloseAttChkTable1Amiga[16] = {
+ 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00
+};
+
+static const ByteProvider kEoB1MonsterCloseAttChkTable1AmigaProvider = { ARRAYSIZE(kEoB1MonsterCloseAttChkTable1Amiga), kEoB1MonsterCloseAttChkTable1Amiga };
+
+static const byte kEoB1MonsterCloseAttChkTable2Amiga[16] = {
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01,
+ 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00
+};
+
+static const ByteProvider kEoB1MonsterCloseAttChkTable2AmigaProvider = { ARRAYSIZE(kEoB1MonsterCloseAttChkTable2Amiga), kEoB1MonsterCloseAttChkTable2Amiga };
+
+static const byte kEoB1MonsterCloseAttDstTable1Amiga[16] = {
+ 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00,
+ 0x00, 0x01, 0x02, 0x03, 0x03, 0x00, 0x01, 0x02
+};
+
+static const ByteProvider kEoB1MonsterCloseAttDstTable1AmigaProvider = { ARRAYSIZE(kEoB1MonsterCloseAttDstTable1Amiga), kEoB1MonsterCloseAttDstTable1Amiga };
+
+static const byte kEoB1MonsterCloseAttDstTable2Amiga[48] = {
+ 0x01, 0x00, 0x03, 0x02, 0x05, 0x04, 0x00, 0x01,
+ 0x02, 0x03, 0x04, 0x05, 0x05, 0x03, 0x01, 0x04,
+ 0x02, 0x00, 0x01, 0x03, 0x05, 0x00, 0x02, 0x04,
+ 0x04, 0x05, 0x02, 0x03, 0x00, 0x01, 0x05, 0x04,
+ 0x03, 0x02, 0x01, 0x00, 0x00, 0x02, 0x04, 0x01,
+ 0x03, 0x05, 0x04, 0x02, 0x00, 0x05, 0x03, 0x01
+};
+
+static const ByteProvider kEoB1MonsterCloseAttDstTable2AmigaProvider = { ARRAYSIZE(kEoB1MonsterCloseAttDstTable2Amiga), kEoB1MonsterCloseAttDstTable2Amiga };
+
+static const byte kEoB1MonsterProximityTableAmiga[32] = {
+ 0x02, 0x03, 0x00, 0x01, 0x03, 0x02, 0x01, 0x00,
+ 0x00, 0x02, 0x01, 0x03, 0x02, 0x00, 0x03, 0x01,
+ 0x01, 0x00, 0x03, 0x02, 0x00, 0x01, 0x02, 0x03,
+ 0x03, 0x01, 0x00, 0x02, 0x01, 0x03, 0x02, 0x00
+};
+
+static const ByteProvider kEoB1MonsterProximityTableAmigaProvider = { ARRAYSIZE(kEoB1MonsterProximityTableAmiga), kEoB1MonsterProximityTableAmiga };
+
+static const byte kEoB1FindBlockMonstersTableAmiga[64] = {
+ 0x04, 0x02, 0x01, 0x03, 0x04, 0x03, 0x00, 0x02,
+ 0x04, 0x00, 0x03, 0x01, 0x04, 0x01, 0x02, 0x00,
+ 0x04, 0x01, 0x02, 0x03, 0x04, 0x00, 0x03, 0x02,
+ 0x04, 0x03, 0x00, 0x01, 0x04, 0x02, 0x01, 0x00,
+ 0x04, 0x02, 0x01, 0x03, 0x04, 0x03, 0x00, 0x02,
+ 0x04, 0x00, 0x03, 0x01, 0x04, 0x01, 0x02, 0x00,
+ 0x04, 0x01, 0x02, 0x03, 0x04, 0x00, 0x03, 0x02,
+ 0x04, 0x03, 0x00, 0x01, 0x04, 0x02, 0x01, 0x00
+};
+
+static const ByteProvider kEoB1FindBlockMonstersTableAmigaProvider = { ARRAYSIZE(kEoB1FindBlockMonstersTableAmiga), kEoB1FindBlockMonstersTableAmiga };
+
+static const byte kEoB1MonsterDirChangeTableAmiga[48] = {
+ 0xff, 0x06, 0x02, 0xff, 0x00, 0x07, 0x01, 0xff,
+ 0x04, 0x05, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff
+};
+
+static const ByteProvider kEoB1MonsterDirChangeTableAmigaProvider = { ARRAYSIZE(kEoB1MonsterDirChangeTableAmiga), kEoB1MonsterDirChangeTableAmiga };
+
+static const uint16 kEoB1EncodeMonsterDefsAmiga[168] = {
+ 0x0000, 0x0000, 0x0007, 0x0060, 0x0007, 0x0028, 0x000c, 0x0039,
+ 0x0013, 0x0028, 0x000c, 0x0039, 0x001f, 0x0000, 0x0007, 0x0060,
+ 0x0000, 0x0060, 0x0007, 0x0060, 0x0007, 0x0060, 0x0007, 0x0060,
+ 0x000e, 0x0060, 0x0005, 0x0038, 0x0000, 0x0000, 0x0005, 0x0042,
+ 0x0007, 0x0000, 0x0008, 0x0027, 0x0013, 0x0000, 0x0008, 0x0027,
+ 0x001f, 0x0000, 0x0005, 0x0042, 0x001d, 0x0060, 0x0005, 0x0038,
+ 0x000e, 0x0098, 0x0003, 0x0020, 0x0000, 0x0000, 0x0004, 0x0030,
+ 0x0007, 0x0000, 0x0005, 0x001a, 0x0013, 0x0000, 0x0005, 0x001a,
+ 0x001f, 0x0000, 0x0004, 0x0030, 0x001f, 0x0098, 0x0003, 0x0020,
+ 0x0000, 0x0000, 0x0007, 0x0060, 0x0007, 0x0000, 0x0007, 0x0060,
+ 0x000e, 0x0000, 0x0007, 0x0060, 0x0015, 0x0000, 0x0007, 0x0060,
+ 0x001c, 0x0000, 0x0007, 0x0060, 0x0000, 0x0060, 0x0007, 0x0060,
+ 0x0007, 0x0060, 0x0006, 0x003f, 0x000d, 0x0060, 0x0006, 0x003f,
+ 0x0013, 0x0060, 0x0006, 0x003f, 0x0019, 0x0060, 0x0006, 0x003f,
+ 0x001b, 0x0060, 0x0005, 0x0038, 0x0020, 0x0060, 0x0005, 0x0038,
+ 0x0007, 0x008c, 0x0003, 0x002b, 0x000b, 0x008c, 0x0003, 0x002b,
+ 0x000f, 0x008c, 0x0003, 0x002b, 0x0013, 0x008c, 0x0003, 0x002b,
+ 0x0013, 0x0098, 0x0003, 0x0020, 0x0016, 0x0098, 0x0003, 0x0020,
+ 0x0000, 0x0000, 0x000a, 0x0057, 0x000a, 0x0000, 0x000a, 0x0057,
+ 0x0014, 0x0000, 0x000a, 0x0057, 0x001e, 0x0000, 0x000a, 0x0057,
+ 0x0000, 0x0058, 0x000a, 0x0057, 0x000a, 0x0058, 0x000a, 0x0057
+};
+
+static const Uint16Provider kEoB1EncodeMonsterDefsAmigaProvider = { ARRAYSIZE(kEoB1EncodeMonsterDefsAmiga), kEoB1EncodeMonsterDefsAmiga };
+
+static const EoBCharacter kEoB1NpcPresetsAmiga[9] = {
+ { 0x00, 0x01, "Anya",
+ 18, 18, 59, 59, 5, 5, 11, 11, 14, 14, 16, 16, 9, 9,
+ 45, 45, 10, 0, 1, 0, 2, -1, 100, { 4, 0, 0 },
+ { 0x00001F40, 0x00000000, 0x00000000 }, 0x00000000,
+ { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000 } },
+ { 0x00, 0x01, "Beohram",
+ 17, 17, 0, 0, 9, 9, 15, 15, 13, 13, 18, 18, 17, 17,
+ 55, 55, 10, 0, 0, 0, 0, -2, 100, { 7, 0, 0 },
+ { 0x000130B0, 0x00000000, 0x00000000 }, 0x00000000,
+ { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000 } },
+ { 0x00, 0x01, "Kirath",
+ 11, 11, 0, 0, 17, 17, 13, 13, 18, 18, 8, 8, 12, 12,
+ 20, 20, 10, 0, 4, 3, 4, -3, 100, { 7, 0, 0 },
+ { 0x00011170, 0x00000000, 0x00000000 }, 0x00B3126B,
+ { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000 } },
+ { 0x00, 0x01, "Ileria",
+ 10, 10, 0, 0, 12, 12, 9, 9, 15, 15, 17, 17, 17, 17,
+ 52, 52, 10, 0, 4, 4, 0, -4, 100, { 6, 0, 0 },
+ { 0x00004E20, 0x00000000, 0x00000000 }, 0xFFFFFFFF,
+ { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000 } },
+ { 0x00, 0x01, "Tyrra",
+ 16, 16, 0, 0, 14, 14, 16, 16, 18, 18, 17, 17, 7, 7,
+ 45, 45, 10, 0, 1, 1, 2, -5, 100, { 6, 0, 0 },
+ { 0x0000CF08, 0x00000000, 0x00000000 }, 0x00000000,
+ { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000 } },
+ { 0x00, 0x01, "Tod Uphill",
+ 17, 17, 0, 0, 11, 11, 14, 14, 19, 19, 18, 18, 16, 16,
+ 32, 32, 10, 0, 10, 5, 5, -6, 100, { 5, 0, 0 },
+ { 0x00002D3F, 0x00000000, 0x00000000 }, 0x00000000,
+ { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000 } },
+ { 0x00, 0x01, "Taghor",
+ 17, 17, 0, 0, 11, 11, 15, 15, 15, 15, 19, 19, 9, 9,
+ 3, 45, 3, 0, 6, 0, 1, -7, 25, { 5, 0, 0 },
+ { 0x00003F6A, 0x00000000, 0x00000000 }, 0x00000000,
+ { 0x0024, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0029, 0x0000, 0x002B, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000 } },
+ { 0x00, 0x01, "Dohrum",
+ 18, 18, 29, 29, 13, 13, 11, 11, 16, 16, 17, 17, 14, 14,
+ 28, 28, 10, 0, 6, 0, 0, -8, 100, { 3, 0, 0 },
+ { 0x000013A0, 0x00000000, 0x00000000 }, 0x00000000,
+ { 0x0024, 0x0000, 0x0030, 0x0037, 0x0037, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0029, 0x0000, 0x002B, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000 } },
+ { 0x00, 0x01, "Keirgar",
+ 18, 18, 92, 92, 15, 15, 15, 15, 12, 12, 19, 19, 17, 17,
+ 3, 45, 3, 0, 6, 0, 1, -9, 25, { 5, 0, 0 },
+ { 0x00001F40, 0x00000000, 0x00000000 }, 0x00000000,
+ { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000 } }
+};
+
+static const EoBCharacterProvider kEoB1NpcPresetsAmigaProvider = { ARRAYSIZE(kEoB1NpcPresetsAmiga), kEoB1NpcPresetsAmiga };
+
+static const byte kEoB1CouncilAnimData1Amiga[78] = {
+ 0x21, 0x58, 0x03, 0x10, 0x07, 0x60, 0x24, 0x58,
+ 0x03, 0x10, 0x07, 0x60, 0x00, 0x0b, 0x68, 0x02,
+ 0x08, 0x0b, 0x60, 0x0d, 0x68, 0x02, 0x08, 0x0b,
+ 0x60, 0x00, 0x0f, 0x68, 0x01, 0x08, 0x0f, 0x48,
+ 0x10, 0x68, 0x01, 0x08, 0x0f, 0x48, 0x00, 0x07,
+ 0x68, 0x02, 0x08, 0x21, 0x58, 0x09, 0x68, 0x02,
+ 0x08, 0x21, 0x58, 0x00, 0x00, 0x70, 0x03, 0x10,
+ 0x25, 0x60, 0x00, 0x80, 0x03, 0x10, 0x25, 0x60,
+ 0x00, 0x21, 0x48, 0x03, 0x10, 0x19, 0x50, 0x24,
+ 0x48, 0x03, 0x10, 0x19, 0x50, 0x00
+};
+
+static const ByteProvider kEoB1CouncilAnimData1AmigaProvider = { ARRAYSIZE(kEoB1CouncilAnimData1Amiga), kEoB1CouncilAnimData1Amiga };
+
+static const byte kEoB1CouncilAnimData2Amiga[78] = {
+ 0x0f, 0x98, 0x03, 0x18, 0x00, 0x40, 0x0c, 0x98,
+ 0x03, 0x18, 0x00, 0x40, 0x00, 0x06, 0x70, 0x03,
+ 0x20, 0x07, 0x38, 0x03, 0x70, 0x03, 0x20, 0x07,
+ 0x38, 0x00, 0x03, 0x90, 0x03, 0x20, 0x0d, 0x38,
+ 0x00, 0x90, 0x03, 0x20, 0x0d, 0x38, 0x00, 0x09,
+ 0x98, 0x03, 0x18, 0x19, 0x38, 0x06, 0x98, 0x03,
+ 0x18, 0x19, 0x38, 0x00, 0x15, 0x98, 0x03, 0x18,
+ 0x1f, 0x40, 0x12, 0x98, 0x03, 0x18, 0x1f, 0x40,
+ 0x00, 0x1b, 0x98, 0x03, 0x18, 0x25, 0x38, 0x18,
+ 0x98, 0x03, 0x18, 0x25, 0x38, 0x00
+};
+
+static const ByteProvider kEoB1CouncilAnimData2AmigaProvider = { ARRAYSIZE(kEoB1CouncilAnimData2Amiga), kEoB1CouncilAnimData2Amiga };
+
+static const byte kEoB1CouncilAnimData3Amiga[12] = {
+ 0x1f, 0x68, 0x07, 0x30, 0x11, 0x40, 0x18, 0x68,
+ 0x07, 0x30, 0x11, 0x40
+};
+
+static const ByteProvider kEoB1CouncilAnimData3AmigaProvider = { ARRAYSIZE(kEoB1CouncilAnimData3Amiga), kEoB1CouncilAnimData3Amiga };
+
+static const byte kEoB1CouncilAnimData4Amiga[24] = {
+ 0x00, 0xb0, 0x05, 0x10, 0x00, 0x78, 0x09, 0x70,
+ 0x04, 0x28, 0x0c, 0x68, 0x11, 0x68, 0x07, 0x30,
+ 0x11, 0x60, 0x00, 0xb0, 0x05, 0x10, 0x1e, 0x78
+};
+
+static const ByteProvider kEoB1CouncilAnimData4AmigaProvider = { ARRAYSIZE(kEoB1CouncilAnimData4Amiga), kEoB1CouncilAnimData4Amiga };
+
+static const byte kEoB1EyesAnimDataAmiga[28] = {
+ 0x01, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x02, 0x03,
+ 0x04, 0x0f, 0x01, 0x04, 0x0f, 0x01, 0x04, 0x0f,
+ 0x01, 0x04, 0x0f, 0x03, 0x02, 0x00, 0x0f, 0x02,
+ 0x03, 0x04, 0x28, 0xff
+};
+
+static const ByteProvider kEoB1EyesAnimDataAmigaProvider = { ARRAYSIZE(kEoB1EyesAnimDataAmiga), kEoB1EyesAnimDataAmiga };
+
+static const uint16 kEoB1HandsAnimDataAmiga[24] = {
+ 0xfffd, 0x004c, 0x0018, 0x0047, 0x0036, 0x0041, 0x004c, 0x0039,
+ 0x0059, 0x0032, 0x00db, 0x0055, 0x00c2, 0x0049, 0x00a9, 0x003c,
+ 0x0090, 0x0030, 0x0057, 0x0035, 0x0059, 0x0034, 0x005b, 0x0033
+};
+
+static const Uint16Provider kEoB1HandsAnimDataAmigaProvider = { ARRAYSIZE(kEoB1HandsAnimDataAmiga), kEoB1HandsAnimDataAmiga };
+
+static const byte kEoB1TextFrameDurationAmiga[153] = {
+ 0x04, 0x02, 0x05, 0x02, 0x0b, 0x02, 0x04, 0x02,
+ 0x08, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x08,
+ 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x02, 0x05, 0x7e, 0x05,
+ 0x02, 0x03, 0x02, 0x03, 0x7e, 0x7f, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x04, 0x02,
+ 0x05, 0x02, 0x07, 0x02, 0x02, 0x02, 0x06, 0x02,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
+ 0x08, 0x02, 0x04, 0x02, 0x03, 0x02, 0x0a, 0x7f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x02, 0x04, 0x02, 0x05, 0x02, 0x02, 0x05,
+ 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x02, 0x0a,
+ 0x7f
+};
+
+static const ByteProvider kEoB1TextFrameDurationAmigaProvider = { ARRAYSIZE(kEoB1TextFrameDurationAmiga), kEoB1TextFrameDurationAmiga };
+
+static const char *const kEoB1SoundMapAmiga[120] = {
+ "",
+ "button",
+ "L1M1A",
+ "door",
+ "door",
+ "slam",
+ "button",
+ "button",
+ "transmute",
+ "eat",
+ "magica",
+ "throw",
+ "plate",
+ "passage",
+ "unlock",
+ "teleport",
+ "undead",
+ "pit",
+ "itemland",
+ "",
+ "",
+ "playhit",
+ "death",
+ "text",
+ "electric",
+ "dart",
+ "dart",
+ "unlock",
+ "bonus",
+ "bump",
+ "",
+ "electric",
+ "playswing",
+ "hum",
+ "panel",
+ "explode",
+ "L10M2M",
+ "L10M2A",
+ "L4M1M",
+ "beastatk",
+ "L9M2M",
+ "L8M1A",
+ "L8M1M",
+ "L7M1A",
+ "L7M1M",
+ "L5M1A",
+ "L5M1M",
+ "flindatk",
+ "L3M2M",
+ "L4M1A",
+ "L8M2M",
+ "houndatk",
+ "scream",
+ "L6M1M",
+ "L3M1A",
+ "L3M1M",
+ "sloshsuck",
+ "L1M2M",
+ "flayeratk",
+ "",
+ "rustatk",
+ "L9M1M",
+ "L10M1A",
+ "L10M1M",
+ "blade",
+ "L7M2M",
+ "blade",
+ "L2M2M",
+ "L12M2A",
+ "L12M2M",
+ "",
+ "L11M1M",
+ "L11M1A",
+ "L2M1A",
+ "L2M1M",
+ "L1M1M",
+ "button",
+ "",
+ "drop",
+ "text",
+ "magicb",
+ "lock",
+ "",
+ "",
+ "",
+ "Missile",
+ "",
+ "burnhands",
+ "electric",
+ "fireball",
+ "",
+ "magica",
+ "magica",
+ "magica",
+ "magicb",
+ "magicb",
+ "acid",
+ "magicb",
+ "fireball",
+ "acid",
+ "magica",
+ "magicb",
+ "magicb",
+ "undead",
+ "magica",
+ "magica",
+ "magica",
+ "magicb",
+ "cause",
+ "magicb",
+ "magicb",
+ "magica",
+ "magicb",
+ "magica",
+ "magica",
+ "magica",
+ "magica",
+ "cause",
+ "",
+ "door"
+};
+
+static const StringListProvider kEoB1SoundMapAmigaProvider = { ARRAYSIZE(kEoB1SoundMapAmiga), kEoB1SoundMapAmiga };
+
+static const char *const kEoB1LevelSoundFiles1Amiga[26] = {
+ "",
+ "",
+ "sloshsuck1",
+ "",
+ "blade1",
+ "",
+ "beastatk1",
+ "",
+ "rustatk1",
+ "",
+ "rustatk1",
+ "blade1",
+ "scream1",
+ "",
+ "blade1",
+ "",
+ "houndatk1",
+ "",
+ "rustatk1",
+ "beastatk1",
+ "blade1",
+ "",
+ "beastatk1",
+ "flayeratk1",
+ "",
+ ""
+};
+
+static const StringListProvider kEoB1LevelSoundFiles1AmigaProvider = { ARRAYSIZE(kEoB1LevelSoundFiles1Amiga), kEoB1LevelSoundFiles1Amiga };
+
+static const char *const kEoB1LevelSoundFiles2Amiga[26] = {
+ "",
+ "",
+ "move1",
+ "leechmov1",
+ "move21",
+ "",
+ "move21",
+ "kuotoamov1",
+ "spidermov1",
+ "",
+ "spidermov1",
+ "move21",
+ "move21",
+ "",
+ "move1",
+ "move21",
+ "move1",
+ "spidermov1",
+ "move1",
+ "move21",
+ "mantismov1",
+ "move21",
+ "move21",
+ "",
+ "move21",
+ ""
+};
+
+static const StringListProvider kEoB1LevelSoundFiles2AmigaProvider = { ARRAYSIZE(kEoB1LevelSoundFiles2Amiga), kEoB1LevelSoundFiles2Amiga };
+
+static const char *const kEoB1SoundFilesIntroAmiga[6] = {
+ "INTRO1.CPS",
+ "INTRO2.CPS",
+ "INTRO4.CPS",
+ "INTRO5.CPS",
+ "NEWINTRO1.CPS",
+ "CHARGEN1.CPS"
+};
+
+static const StringListProvider kEoB1SoundFilesIntroAmigaProvider = { ARRAYSIZE(kEoB1SoundFilesIntroAmiga), kEoB1SoundFilesIntroAmiga };
+
+static const char *const kEoB1SoundFilesIngameAmiga[5] = {
+ "SFX1.CPS",
+ "SFX2.CPS",
+ "SFX3.CPS",
+ "SFX4.CPS",
+ "HUM1.CPS"
+};
+
+static const StringListProvider kEoB1SoundFilesIngameAmigaProvider = { ARRAYSIZE(kEoB1SoundFilesIngameAmiga), kEoB1SoundFilesIngameAmiga };
+
+static const char *const kEoB1SoundFilesFinaleAmiga[3] = {
+ "FINALE2.CPS",
+ "FINALE1.CPS",
+ "FINALE.CPS"
+};
+
+static const StringListProvider kEoB1SoundFilesFinaleAmigaProvider = { ARRAYSIZE(kEoB1SoundFilesFinaleAmiga), kEoB1SoundFilesFinaleAmiga };
+
diff --git a/devtools/create_kyradat/resources/eob1_amiga_english.h b/devtools/create_kyradat/resources/eob1_amiga_english.h
new file mode 100644
index 0000000000..7d55174ac2
--- /dev/null
+++ b/devtools/create_kyradat/resources/eob1_amiga_english.h
@@ -0,0 +1,899 @@
+static const char *const kEoB1ChargenStrings1AmigaEnglish[9] = {
+ "Your party is\rcomplete. Select\rthe PLAY button\ror press 'P' to\rstart the game.",
+ " ",
+ "AC\rHP\rLVL",
+ "%s\r%d\r%d\r%d\r%d\r%d",
+ "%d\r%d",
+ "%d",
+ "%d/%d",
+ "%d/%d/%d",
+ "Select the box of\rthe character you\rwish to create or\rview."
+};
+
+static const StringListProvider kEoB1ChargenStrings1AmigaEnglishProvider = { ARRAYSIZE(kEoB1ChargenStrings1AmigaEnglish), kEoB1ChargenStrings1AmigaEnglish };
+
+static const char *const kEoB1ChargenStrings2AmigaEnglish[12] = {
+ "%s",
+ "%d",
+ "%s",
+ "%d",
+ "%d",
+ "%d",
+ "%s",
+ "%d",
+ "SELECT RACE:",
+ "SELECT CLASS:",
+ "SELECT ALIGNMENT:",
+ "Name:"
+};
+
+
+
+static const StringListProvider kEoB1ChargenStrings2AmigaEnglishProvider = { ARRAYSIZE(kEoB1ChargenStrings2AmigaEnglish), kEoB1ChargenStrings2AmigaEnglish };
+
+static const char *const kEoB1ChargenStatStringsAmigaEnglish[12] = {
+ "STR",
+ "INT",
+ "WIS",
+ "DEX",
+ "CON",
+ "CHA",
+ "STRENGTH",
+ "INTELLIGENCE",
+ "WISDOM",
+ "DEXTERITY",
+ "CONSTITUTION",
+ "CHARISMA"
+};
+
+static const StringListProvider kEoB1ChargenStatStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1ChargenStatStringsAmigaEnglish), kEoB1ChargenStatStringsAmigaEnglish };
+
+static const char *const kEoB1ChargenRaceSexStringsAmigaEnglish[12] = {
+ "HUMAN MALE",
+ "HUMAN FEMALE",
+ "ELF MALE",
+ "ELF FEMALE",
+ "HALF-ELF MALE",
+ "HALF-ELF FEMALE",
+ "DWARF MALE",
+ "DWARF FEMALE",
+ "GNOME MALE",
+ "GNOME FEMALE",
+ "HALFLING MALE",
+ "HALFLING FEMALE"
+};
+
+static const StringListProvider kEoB1ChargenRaceSexStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1ChargenRaceSexStringsAmigaEnglish), kEoB1ChargenRaceSexStringsAmigaEnglish };
+
+static const char *const kEoB1ChargenClassStringsAmigaEnglish[21] = {
+ "FIGHTER",
+ "RANGER",
+ "PALADIN",
+ "MAGE",
+ "CLERIC",
+ "THIEF",
+ "FIGHTER/CLERIC",
+ "FIGHTER/THIEF",
+ "FIGHTER/MAGE",
+ "FIGHTER/MAGE/THIEF",
+ "THIEF/MAGE",
+ "CLERIC/THIEF",
+ "FIGHTER/CLERIC/MAGE",
+ "RANGER/CLERIC",
+ "CLERIC/MAGE",
+ "FIGHTER",
+ "MAGE",
+ "CLERIC",
+ "THIEF",
+ "PALADIN",
+ "RANGER"
+};
+
+static const StringListProvider kEoB1ChargenClassStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1ChargenClassStringsAmigaEnglish), kEoB1ChargenClassStringsAmigaEnglish };
+
+static const char *const kEoB1ChargenAlignmentStringsAmigaEnglish[9] = {
+ "LAWFUL GOOD",
+ "NEUTRAL GOOD",
+ "CHAOTIC GOOD",
+ "LAWFUL NEUTRAL",
+ "TRUE NEUTRAL",
+ "CHAOTIC NEUTRAL",
+ "LAWFUL EVIL",
+ "NEUTRAL EVIL",
+ "CHAOTIC EVIL"
+};
+
+static const StringListProvider kEoB1ChargenAlignmentStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1ChargenAlignmentStringsAmigaEnglish), kEoB1ChargenAlignmentStringsAmigaEnglish };
+
+static const char *const kEoB1ChargenEnterGameStringsAmigaEnglish[1] = {
+ " Entering game.\r Please wait."
+};
+
+static const StringListProvider kEoB1ChargenEnterGameStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1ChargenEnterGameStringsAmigaEnglish), kEoB1ChargenEnterGameStringsAmigaEnglish };
+
+static const char *const kEoB1MainMenuStringsAmigaEnglish[3] = {
+ "LOAD GAME IN PROGRESS\r",
+ "START A NEW PARTY\r",
+ "EXIT TO DOS\r"
+};
+
+static const StringListProvider kEoB1MainMenuStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1MainMenuStringsAmigaEnglish), kEoB1MainMenuStringsAmigaEnglish };
+
+static const char *const kEoB1BonusStringsAmigaEnglish[3] = {
+ "Congratulations on completing all 12 Beholder Bonuses.\r\rThe names of the character in your winning Beholder Bonus party are:\r\r",
+ "\r",
+ "\r\rPassword: %04x\r"
+};
+
+static const StringListProvider kEoB1BonusStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1BonusStringsAmigaEnglish), kEoB1BonusStringsAmigaEnglish };
+
+static const char *const kEoB1TurnUndeadStringAmigaEnglish[1] = {
+ "\x06\x06""%s uses the power to turn undead!""\x06\x1F""\r"
+};
+
+static const StringListProvider kEoB1TurnUndeadStringAmigaEnglishProvider = { ARRAYSIZE(kEoB1TurnUndeadStringAmigaEnglish), kEoB1TurnUndeadStringAmigaEnglish };
+
+static const char *const kEoB1Npc0StringsAmigaEnglish[2] = {
+ "\r I wish you luck in your travels.",
+ "Which should be resurrected?"
+};
+
+static const StringListProvider kEoB1Npc0StringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1Npc0StringsAmigaEnglish), kEoB1Npc0StringsAmigaEnglish };
+
+static const char *const kEoB1Npc11StringsAmigaEnglish[3] = {
+ "Tend his wounds",
+ "Talk",
+ "Leave"
+};
+
+static const StringListProvider kEoB1Npc11StringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1Npc11StringsAmigaEnglish), kEoB1Npc11StringsAmigaEnglish };
+
+static const char *const kEoB1Npc12StringsAmigaEnglish[2] = {
+ "Tend his wounds",
+ "Leave"
+};
+
+static const StringListProvider kEoB1Npc12StringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1Npc12StringsAmigaEnglish), kEoB1Npc12StringsAmigaEnglish };
+
+static const char *const kEoB1Npc21StringsAmigaEnglish[2] = {
+ "Hear proposal",
+ "Leave"
+};
+
+static const StringListProvider kEoB1Npc21StringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1Npc21StringsAmigaEnglish), kEoB1Npc21StringsAmigaEnglish };
+
+static const char *const kEoB1Npc22StringsAmigaEnglish[2] = {
+ "Help him",
+ "Leave"
+};
+
+static const StringListProvider kEoB1Npc22StringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1Npc22StringsAmigaEnglish), kEoB1Npc22StringsAmigaEnglish };
+
+static const char *const kEoB1Npc31StringsAmigaEnglish[2] = {
+ "Heal Party",
+ "Leave"
+};
+
+static const StringListProvider kEoB1Npc31StringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1Npc31StringsAmigaEnglish), kEoB1Npc31StringsAmigaEnglish };
+
+static const char *const kEoB1Npc32StringsAmigaEnglish[3] = {
+ "Heal Party",
+ "Resurrect Dead",
+ "Leave"
+};
+
+static const StringListProvider kEoB1Npc32StringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1Npc32StringsAmigaEnglish), kEoB1Npc32StringsAmigaEnglish };
+
+static const char *const kEoB1Npc4StringsAmigaEnglish[2] = {
+ "Attack",
+ "Bribe"
+};
+
+static const StringListProvider kEoB1Npc4StringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1Npc4StringsAmigaEnglish), kEoB1Npc4StringsAmigaEnglish };
+
+static const char *const kEoB1Npc5StringsAmigaEnglish[3] = {
+ "Kill her",
+ "Hear her out",
+ "Let her go"
+};
+
+static const StringListProvider kEoB1Npc5StringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1Npc5StringsAmigaEnglish), kEoB1Npc5StringsAmigaEnglish };
+
+static const char *const kEoB1Npc6StringsAmigaEnglish[2] = {
+ "Surrender",
+ "Attack"
+};
+
+static const StringListProvider kEoB1Npc6StringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1Npc6StringsAmigaEnglish), kEoB1Npc6StringsAmigaEnglish };
+
+static const char *const kEoB1Npc7StringsAmigaEnglish[3] = {
+ "Free Him",
+ "Kill Him",
+ "Leave"
+};
+
+static const StringListProvider kEoB1Npc7StringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1Npc7StringsAmigaEnglish), kEoB1Npc7StringsAmigaEnglish };
+
+static const char *const kEoB1PryDoorStringsAmigaEnglish[7] = {
+ "Nobody is able to force the door.\r",
+ "The party forces the door.\r",
+ "%s forces the door!\r",
+ "The party tries to force the door and fails.\r",
+ "You can't put that item there.\r",
+ "The item is too large to fit.\r",
+ "No one is able to pry this door open.\r"
+};
+
+static const StringListProvider kEoB1PryDoorStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1PryDoorStringsAmigaEnglish), kEoB1PryDoorStringsAmigaEnglish };
+
+static const char *const kEoB1WarningStringsAmigaEnglish[3] = {
+ "You can't go that way.\r",
+ "%s isn't capable of eating food!\r",
+ "You may only eat food!\r"
+};
+
+static const StringListProvider kEoB1WarningStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1WarningStringsAmigaEnglish), kEoB1WarningStringsAmigaEnglish };
+
+static const char *const kEoB1ItemSuffixStringsRingsAmigaEnglish[4] = {
+ "Adornment",
+ "Wizardry",
+ "Sustenance",
+ "Feather Fall"
+};
+
+static const StringListProvider kEoB1ItemSuffixStringsRingsAmigaEnglishProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsRingsAmigaEnglish), kEoB1ItemSuffixStringsRingsAmigaEnglish };
+
+static const char *const kEoB1ItemSuffixStringsPotionsAmigaEnglish[8] = {
+ "Giant Strength",
+ "Healing",
+ "Extra Healing",
+ "Poison",
+ "Vitality",
+ "Speed",
+ "Invisibility",
+ "Cure Poison"
+};
+
+static const StringListProvider kEoB1ItemSuffixStringsPotionsAmigaEnglishProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsPotionsAmigaEnglish), kEoB1ItemSuffixStringsPotionsAmigaEnglish };
+
+static const char *const kEoB1ItemSuffixStringsWandsAmigaEnglish[7] = {
+ "Stick",
+ "Lightning",
+ "Frost",
+ "Curing",
+ "Fireball",
+ "Silvias",
+ "Magic Missile"
+};
+
+static const StringListProvider kEoB1ItemSuffixStringsWandsAmigaEnglishProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsWandsAmigaEnglish), kEoB1ItemSuffixStringsWandsAmigaEnglish };
+
+static const char *const kEoB1RipItemStringsAmigaEnglish[3] = {
+ "%s has lost her ",
+ "%s has lost his ",
+ ".\r"
+};
+
+static const StringListProvider kEoB1RipItemStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1RipItemStringsAmigaEnglish), kEoB1RipItemStringsAmigaEnglish };
+
+static const char *const kEoB1CursedStringAmigaEnglish[1] = {
+ "Cursed %s %d"
+};
+
+static const StringListProvider kEoB1CursedStringAmigaEnglishProvider = { ARRAYSIZE(kEoB1CursedStringAmigaEnglish), kEoB1CursedStringAmigaEnglish };
+
+static const char *const kEoB1MagicObjectStringsAmigaEnglish[5] = {
+ "Mage Scroll",
+ "Cleric Scroll",
+ "Ring",
+ "Potion",
+ "Wand"
+};
+
+static const StringListProvider kEoB1MagicObjectStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1MagicObjectStringsAmigaEnglish), kEoB1MagicObjectStringsAmigaEnglish };
+
+static const char *const kEoB1MagicObjectString5AmigaEnglish[1] = {
+ "Stick"
+};
+
+static const StringListProvider kEoB1MagicObjectString5AmigaEnglishProvider = { ARRAYSIZE(kEoB1MagicObjectString5AmigaEnglish), kEoB1MagicObjectString5AmigaEnglish };
+
+static const char *const kEoB1PatternSuffixAmigaEnglish[1] = {
+ "%s of %s"
+};
+
+static const StringListProvider kEoB1PatternSuffixAmigaEnglishProvider = { ARRAYSIZE(kEoB1PatternSuffixAmigaEnglish), kEoB1PatternSuffixAmigaEnglish };
+
+static const char *const kEoB1PatternGrFix1AmigaEnglish[1] = {
+ "%s of %s"
+};
+
+static const StringListProvider kEoB1PatternGrFix1AmigaEnglishProvider = { ARRAYSIZE(kEoB1PatternGrFix1AmigaEnglish), kEoB1PatternGrFix1AmigaEnglish };
+
+static const char *const kEoB1PatternGrFix2AmigaEnglish[1] = {
+ "%s of %s"
+};
+
+static const StringListProvider kEoB1PatternGrFix2AmigaEnglishProvider = { ARRAYSIZE(kEoB1PatternGrFix2AmigaEnglish), kEoB1PatternGrFix2AmigaEnglish };
+
+static const char *const kEoB1ValidateArmorStringAmigaEnglish[1] = {
+ "%s can't wear that type of armor.\r"
+};
+
+static const StringListProvider kEoB1ValidateArmorStringAmigaEnglishProvider = { ARRAYSIZE(kEoB1ValidateArmorStringAmigaEnglish), kEoB1ValidateArmorStringAmigaEnglish };
+
+static const char *const kEoB1ValidateNoDropStringAmigaEnglish[1] = {
+ "You can't put that item there.\r"
+};
+
+static const StringListProvider kEoB1ValidateNoDropStringAmigaEnglishProvider = { ARRAYSIZE(kEoB1ValidateNoDropStringAmigaEnglish), kEoB1ValidateNoDropStringAmigaEnglish };
+
+static const char *const kEoB1PotionStringsAmigaEnglish[2] = {
+ "poisoned",
+ "%s feels %s!\r"
+};
+
+static const StringListProvider kEoB1PotionStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1PotionStringsAmigaEnglish), kEoB1PotionStringsAmigaEnglish };
+
+static const char *const kEoB1WandStringsAmigaEnglish[2] = {
+ "The wand has no apparent magical effect\r",
+ "no effect.\r"
+};
+
+static const StringListProvider kEoB1WandStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1WandStringsAmigaEnglish), kEoB1WandStringsAmigaEnglish };
+
+static const char *const kEoB1ItemMisuseStringsAmigaEnglish[3] = {
+ "%s can not use this item.\r",
+ "This item automatically used when worn.\r",
+ "This item is not used in this way.\r"
+};
+
+static const StringListProvider kEoB1ItemMisuseStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1ItemMisuseStringsAmigaEnglish), kEoB1ItemMisuseStringsAmigaEnglish };
+
+static const char *const kEoB1TakenStringsAmigaEnglish[1] = {
+ " taken.\r"
+};
+
+static const StringListProvider kEoB1TakenStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1TakenStringsAmigaEnglish), kEoB1TakenStringsAmigaEnglish };
+
+static const char *const kEoB1PotionEffectStringsAmigaEnglish[8] = {
+ "much stronger",
+ "better",
+ "much better",
+ "ill for a moment",
+ "no longer hungry",
+ "fast and agile",
+ "transparent",
+ "better"
+};
+
+static const StringListProvider kEoB1PotionEffectStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1PotionEffectStringsAmigaEnglish), kEoB1PotionEffectStringsAmigaEnglish };
+
+static const char *const kEoB1YesNoStringsAmigaEnglish[2] = {
+ "yes",
+ "no"
+};
+
+static const StringListProvider kEoB1YesNoStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1YesNoStringsAmigaEnglish), kEoB1YesNoStringsAmigaEnglish };
+
+static const char *const kEoB1MoreStringsAmigaEnglish[1] = {
+ "MORE"
+};
+
+static const StringListProvider kEoB1MoreStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1MoreStringsAmigaEnglish), kEoB1MoreStringsAmigaEnglish };
+
+static const char *const kEoB1NpcMaxStringsAmigaEnglish[1] = {
+ "You may only have six characters in your party. Select the one you wish to drop."
+};
+
+static const StringListProvider kEoB1NpcMaxStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1NpcMaxStringsAmigaEnglish), kEoB1NpcMaxStringsAmigaEnglish };
+
+static const char *const kEoB1NpcJoinStringsAmigaEnglish[1] = {
+ "%s joins the party.\r"
+};
+
+static const StringListProvider kEoB1NpcJoinStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1NpcJoinStringsAmigaEnglish), kEoB1NpcJoinStringsAmigaEnglish };
+
+static const char *const kEoB1CancelStringsAmigaEnglish[1] = {
+ "CANCEL"
+};
+
+static const StringListProvider kEoB1CancelStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1CancelStringsAmigaEnglish), kEoB1CancelStringsAmigaEnglish };
+
+static const char *const kEoB1MenuStringsMainAmigaEnglish[8] = {
+ "Select Option:",
+ "Rest Party",
+ "Memorize Spells",
+ "Pray for Spells",
+ "Scribe Scrolls",
+ "Preferences",
+ "Game Options",
+ "Exit"
+};
+
+static const StringListProvider kEoB1MenuStringsMainAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsMainAmigaEnglish), kEoB1MenuStringsMainAmigaEnglish };
+
+static const char *const kEoB1MenuStringsSaveLoadAmigaEnglish[8] = {
+ "Load Game",
+ "Save Game",
+ "Drop Character",
+ "Quit Game",
+ "Game Options:",
+ "\r Game saved.",
+ "\r Save game\r failure!",
+ "\r Load game\r failure!"
+};
+
+static const StringListProvider kEoB1MenuStringsSaveLoadAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsSaveLoadAmigaEnglish), kEoB1MenuStringsSaveLoadAmigaEnglish };
+
+static const char *const kEoB1MenuStringsOnOffAmigaEnglish[2] = {
+ "ON",
+ "OFF"
+};
+
+static const StringListProvider kEoB1MenuStringsOnOffAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsOnOffAmigaEnglish), kEoB1MenuStringsOnOffAmigaEnglish };
+
+static const char *const kEoB1MenuStringsSpellsAmigaEnglish[17] = {
+ "\r\r Select a character\r from your party who\r would like to learn\r spells.",
+ "\r Your Paladin is \r too low a level\r for spells.",
+ "\r\r The Mage has no\r Spell Book!",
+ "\r\r\r Select a character\r from your party\r who would like to\r pray for spells.",
+ "\r You don't have\r any Cleric able\r to pray in your\r party.",
+ "\r You don't have\r any Mage able to\r learn spells.",
+ " An unconscious\r or dead Mage\r cannot memorize\r spells.",
+ " An unconscious\r or dead Cleric\r cannot pray for\r spells.",
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "Clear",
+ "Spells Available:",
+ "Yes",
+ "No"
+};
+
+static const StringListProvider kEoB1MenuStringsSpellsAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsSpellsAmigaEnglish), kEoB1MenuStringsSpellsAmigaEnglish };
+
+static const char *const kEoB1MenuStringsRestAmigaEnglish[5] = {
+ "\rWill your healers\rheal the party?",
+ " Someone is still\r injured. Rest\r until healed?",
+ "Resting party.",
+ "\r All characters\r are fully\r rested.",
+ " Your party needs\r to rest to gain\r spells."
+};
+
+static const StringListProvider kEoB1MenuStringsRestAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsRestAmigaEnglish), kEoB1MenuStringsRestAmigaEnglish };
+
+static const char *const kEoB1MenuStringsDropAmigaEnglish[1] = {
+ " You cannot have\r less than four\r characters."
+};
+
+static const StringListProvider kEoB1MenuStringsDropAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsDropAmigaEnglish), kEoB1MenuStringsDropAmigaEnglish };
+
+static const char *const kEoB1MenuStringsExitAmigaEnglish[1] = {
+ " Are you sure you\r wish to exit the\r game?"
+};
+
+static const StringListProvider kEoB1MenuStringsExitAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsExitAmigaEnglish), kEoB1MenuStringsExitAmigaEnglish };
+
+static const char *const kEoB1MenuStringsStarveAmigaEnglish[1] = {
+ " Your party is\r starving. Do you\r wish to continue\r resting?"
+};
+
+static const StringListProvider kEoB1MenuStringsStarveAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsStarveAmigaEnglish), kEoB1MenuStringsStarveAmigaEnglish };
+
+static const char *const kEoB1MenuStringsScribeAmigaEnglish[5] = {
+ "Select the scroll(s)\ryou wish to scribe.",
+ "\r\r\r Select a Mage\r from your party\r who would like to\r scribe spells.",
+ " You don't have\r any scrolls to\r be scribed.",
+ " You don't have\r any scrolls that\r this Mage needs.",
+ "\r You don't have\r any Mage able to\r scribe scrolls."
+};
+
+static const StringListProvider kEoB1MenuStringsScribeAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsScribeAmigaEnglish), kEoB1MenuStringsScribeAmigaEnglish };
+
+static const char *const kEoB1MenuStringsDrop2AmigaEnglish[3] = {
+ " Select the\r character you\r wish to drop.",
+ " Are you sure you\r wish to SAVE the\r game?",
+ " Are you sure you\r wish to LOAD a\r saved game?"
+};
+
+static const StringListProvider kEoB1MenuStringsDrop2AmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsDrop2AmigaEnglish), kEoB1MenuStringsDrop2AmigaEnglish };
+
+static const char *const kEoB1MenuStringsHeadAmigaEnglish[3] = {
+ "Camp:",
+ "Preferences:",
+ "Game Options:"
+};
+
+static const StringListProvider kEoB1MenuStringsHeadAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsHeadAmigaEnglish), kEoB1MenuStringsHeadAmigaEnglish };
+
+static const char *const kEoB1MenuStringsPoisonAmigaEnglish[1] = {
+ "Poisoned party\rmembers will die!\rRest anyway?"
+};
+
+static const StringListProvider kEoB1MenuStringsPoisonAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsPoisonAmigaEnglish), kEoB1MenuStringsPoisonAmigaEnglish };
+
+static const char *const kEoB1MenuStringsMgcAmigaEnglish[2] = {
+ "%-18s %1d",
+ "%d of %d Remaining. "
+};
+
+static const StringListProvider kEoB1MenuStringsMgcAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsMgcAmigaEnglish), kEoB1MenuStringsMgcAmigaEnglish };
+
+static const char *const kEoB1MenuStringsPrefsAmigaEnglish[4] = {
+ "Tunes are %-3s",
+ "Sounds are %-3s",
+ "Bar Graphs are %-3s",
+ ""
+};
+
+static const StringListProvider kEoB1MenuStringsPrefsAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsPrefsAmigaEnglish), kEoB1MenuStringsPrefsAmigaEnglish };
+
+static const char *const kEoB1MenuStringsRest2AmigaEnglish[4] = {
+ "%s gained %s.\r",
+ "%s memorized %s.\r",
+ "%s casts healing on %s.\r",
+ "Hours rested: %-4d"
+};
+
+static const StringListProvider kEoB1MenuStringsRest2AmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsRest2AmigaEnglish), kEoB1MenuStringsRest2AmigaEnglish };
+
+static const char *const kEoB1MenuStringsRest4AmigaEnglish[1] = {
+ "\rYou can't rest here, monsters are near.\r"
+};
+
+static const StringListProvider kEoB1MenuStringsRest4AmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsRest4AmigaEnglish), kEoB1MenuStringsRest4AmigaEnglish };
+
+static const char *const kEoB1MenuStringsDefeatAmigaEnglish[1] = {
+ "All of your party has been defeated. The minions of evil will be able to carry out their plans unhindered!\r"
+};
+
+static const StringListProvider kEoB1MenuStringsDefeatAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsDefeatAmigaEnglish), kEoB1MenuStringsDefeatAmigaEnglish };
+
+static const char *const kEoB1MenuYesNoStringsAmigaEnglish[2] = {
+ "Yes",
+ "No"
+};
+
+static const StringListProvider kEoB1MenuYesNoStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1MenuYesNoStringsAmigaEnglish), kEoB1MenuYesNoStringsAmigaEnglish };
+
+static const char *const kEoB1CharGuiStringsHpAmigaEnglish[2] = {
+ "HP",
+ "%3d of %-3d"
+};
+
+static const StringListProvider kEoB1CharGuiStringsHpAmigaEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsHpAmigaEnglish), kEoB1CharGuiStringsHpAmigaEnglish };
+
+static const char *const kEoB1CharGuiStringsWp1AmigaEnglish[2] = {
+ "MISS",
+ "HACK"
+};
+
+static const StringListProvider kEoB1CharGuiStringsWp1AmigaEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsWp1AmigaEnglish), kEoB1CharGuiStringsWp1AmigaEnglish };
+
+static const char *const kEoB1CharGuiStringsWrAmigaEnglish[4] = {
+ "CAN'T",
+ "REACH",
+ "NO",
+ "AMMO"
+};
+
+static const StringListProvider kEoB1CharGuiStringsWrAmigaEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsWrAmigaEnglish), kEoB1CharGuiStringsWrAmigaEnglish };
+
+static const char *const kEoB1CharGuiStringsSt1AmigaEnglish[6] = {
+ "Swapping",
+ "DEAD",
+ "UNCONSCIOUS",
+ "POISON (SLOW)",
+ "POISONED",
+ "PARALYZED"
+};
+
+static const StringListProvider kEoB1CharGuiStringsSt1AmigaEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsSt1AmigaEnglish), kEoB1CharGuiStringsSt1AmigaEnglish };
+
+static const char *const kEoB1CharGuiStringsInAmigaEnglish[4] = {
+ "CHARACTER INFO",
+ "ARMOR CLASS",
+ "EXP",
+ "LVL"
+};
+
+static const StringListProvider kEoB1CharGuiStringsInAmigaEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsInAmigaEnglish), kEoB1CharGuiStringsInAmigaEnglish };
+
+static const char *const kEoB1CharStatusStrings7AmigaEnglish[1] = {
+ "%s no longer has giant strength.\r"
+};
+
+static const StringListProvider kEoB1CharStatusStrings7AmigaEnglishProvider = { ARRAYSIZE(kEoB1CharStatusStrings7AmigaEnglish), kEoB1CharStatusStrings7AmigaEnglish };
+
+static const char *const kEoB1CharStatusStrings81AmigaEnglish[1] = {
+ "%s feels the effects of poison!\r"
+};
+
+static const StringListProvider kEoB1CharStatusStrings81AmigaEnglishProvider = { ARRAYSIZE(kEoB1CharStatusStrings81AmigaEnglish), kEoB1CharStatusStrings81AmigaEnglish };
+
+static const char *const kEoB1CharStatusStrings9AmigaEnglish[1] = {
+ "%s is no longer paralyzed!\r"
+};
+
+static const StringListProvider kEoB1CharStatusStrings9AmigaEnglishProvider = { ARRAYSIZE(kEoB1CharStatusStrings9AmigaEnglish), kEoB1CharStatusStrings9AmigaEnglish };
+
+static const char *const kEoB1CharStatusStrings131AmigaEnglish[1] = {
+ "%s is %s!\r"
+};
+
+static const StringListProvider kEoB1CharStatusStrings131AmigaEnglishProvider = { ARRAYSIZE(kEoB1CharStatusStrings131AmigaEnglish), kEoB1CharStatusStrings131AmigaEnglish };
+
+static const char *const kEoB1LevelGainStringsAmigaEnglish[1] = {
+ "\x06\x06""%s has gained a level of experience.""\x06\x1F""\r"
+};
+
+static const StringListProvider kEoB1LevelGainStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1LevelGainStringsAmigaEnglish), kEoB1LevelGainStringsAmigaEnglish };
+
+static const char *const kEoB1BookNumbersAmigaEnglish[5] = {
+ "First",
+ "Second",
+ "Third",
+ "Fourth",
+ "Fifth"
+};
+
+static const StringListProvider kEoB1BookNumbersAmigaEnglishProvider = { ARRAYSIZE(kEoB1BookNumbersAmigaEnglish), kEoB1BookNumbersAmigaEnglish };
+
+static const char *const kEoB1MageSpellsListAmigaEnglish[26] = {
+ "",
+ "Armor",
+ "Burning Hands",
+ "Detect Magic",
+ "Magic Missile",
+ "Read Magic",
+ "Shield",
+ "Shocking Grasp",
+ "Invisibility",
+ "Knock",
+ "M's Acid Arrow",
+ "Stinking Cloud",
+ "Dispel Magic",
+ "Fireball",
+ "Flame Arrow",
+ "Haste",
+ "Hold Person",
+ "Invisibility 10'",
+ "Lightning Bolt",
+ "Vampiric Touch",
+ "Fear",
+ "Ice Storm",
+ "Stoneskin",
+ "Cloudkill",
+ "Cone of Cold",
+ "Hold Monster"
+};
+
+static const StringListProvider kEoB1MageSpellsListAmigaEnglishProvider = { ARRAYSIZE(kEoB1MageSpellsListAmigaEnglish), kEoB1MageSpellsListAmigaEnglish };
+
+static const char *const kEoB1ClericSpellsListAmigaEnglish[25] = {
+ "",
+ "Bless",
+ "Cure Light Wnds",
+ "Cause Light Wnds",
+ "Detect Magic",
+ "Protect-Evil",
+ "Aid",
+ "Flame Blade",
+ "Hold Person",
+ "Slow Poison",
+ "Create Food",
+ "Dispel Magic",
+ "Magical Vestment",
+ "Prayer",
+ "Remove Paralysis",
+ "Cure Serious",
+ "Cause Serious",
+ "Neutral-Poison",
+ "Protect-Evil 10'",
+ "Protect-Lightning",
+ "Cure Critical",
+ "Cause Critical",
+ "Flame Strike",
+ "Raise Dead",
+ "Lay on Hands"
+};
+
+static const StringListProvider kEoB1ClericSpellsListAmigaEnglishProvider = { ARRAYSIZE(kEoB1ClericSpellsListAmigaEnglish), kEoB1ClericSpellsListAmigaEnglish };
+
+static const char *const kEoB1SpellNamesAmigaEnglish[51] = {
+ "",
+ "armor",
+ "burning hands",
+ "detect magic",
+ "magic missile",
+ "shield",
+ "shocking grasp",
+ "invisibility",
+ "melf's acid arrow",
+ "stinking cloud",
+ "dispel magic",
+ "fireball",
+ "flame arrow",
+ "haste",
+ "hold person",
+ "invisibility 10' radius",
+ "lightning bolt",
+ "vampiric touch",
+ "fear",
+ "ice storm",
+ "stoneskin",
+ "cloudkill",
+ "cone of cold",
+ "hold monster",
+ "bless",
+ "cure light wounds",
+ "cause light wounds",
+ "detect magic",
+ "protection from evil",
+ "aid",
+ "flame blade",
+ "hold person",
+ "slow poison",
+ "create food",
+ "dispel magic",
+ "magical vestment",
+ "prayer",
+ "remove paralysis",
+ "cure serious wounds",
+ "cause serious wounds",
+ "neutralize poison",
+ "protection from evil 10' radius",
+ "protection from lightning",
+ "cure critical wounds",
+ "cause critical wounds",
+ "flame strike",
+ "raise dead",
+ "lay on hands",
+ "",
+ "",
+ ""
+};
+
+static const StringListProvider kEoB1SpellNamesAmigaEnglishProvider = { ARRAYSIZE(kEoB1SpellNamesAmigaEnglish), kEoB1SpellNamesAmigaEnglish };
+
+static const char *const kEoB1MagicStrings1AmigaEnglish[6] = {
+ "ABORT SPELL",
+ "ABORT SPELL",
+ "You must have a free hand for this spell.\r",
+ "You can't have two of this spell type active.\r",
+ "%s casts %s.\r",
+ "ok\r"
+};
+
+static const StringListProvider kEoB1MagicStrings1AmigaEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings1AmigaEnglish), kEoB1MagicStrings1AmigaEnglish };
+
+static const char *const kEoB1MagicStrings2AmigaEnglish[3] = {
+ "no effect\r",
+ "%s has been disintegrated!\r",
+ "The party has been hit by a death spell!\r"
+};
+
+static const StringListProvider kEoB1MagicStrings2AmigaEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings2AmigaEnglish), kEoB1MagicStrings2AmigaEnglish };
+
+static const char *const kEoB1MagicStrings3AmigaEnglish[6] = {
+ "Cast spell on which character? ",
+ "\rok\r",
+ "\rSpell aborted.\r",
+ "%s's %s spell expires.\r",
+ "%s missed the monster.\r",
+ "%s must be in the front ranks to hit!\r"
+};
+
+static const StringListProvider kEoB1MagicStrings3AmigaEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings3AmigaEnglish), kEoB1MagicStrings3AmigaEnglish };
+
+static const char *const kEoB1MagicStrings4AmigaEnglish[1] = {
+ "no effect.\r"
+};
+
+static const StringListProvider kEoB1MagicStrings4AmigaEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings4AmigaEnglish), kEoB1MagicStrings4AmigaEnglish };
+
+static const char *const kEoB1MagicStrings6AmigaEnglish[1] = {
+ "%s already has a high base armor class.\r"
+};
+
+static const StringListProvider kEoB1MagicStrings6AmigaEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings6AmigaEnglish), kEoB1MagicStrings6AmigaEnglish };
+
+static const char *const kEoB1MagicStrings7AmigaEnglish[5] = {
+ "1ST",
+ "2ND",
+ "3RD",
+ "4TH",
+ "5TH"
+};
+
+static const StringListProvider kEoB1MagicStrings7AmigaEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings7AmigaEnglish), kEoB1MagicStrings7AmigaEnglish };
+
+static const char *const kEoB1MagicStrings8AmigaEnglish[3] = {
+ "All spells on %s are dispelled.\r",
+ "The party is already blessed!\r",
+ "The aid spell fails!\r"
+};
+
+static const StringListProvider kEoB1MagicStrings8AmigaEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings8AmigaEnglish), kEoB1MagicStrings8AmigaEnglish };
+
+static const char *const kEoB1MagicStrings9AmigaEnglish[1] = {
+ "%s is already protected by stoneskin.\r"
+};
+
+static const StringListProvider kEoB1MagicStrings9AmigaEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings9AmigaEnglish), kEoB1MagicStrings9AmigaEnglish };
+
+static const byte kEoB1ManDefAmigaEnglish[120] = {
+ 0x09, 0x0a, 0x02, 0x00, 0x09, 0x04, 0x03, 0x00,
+ 0x09, 0x06, 0x06, 0x00, 0x09, 0x03, 0x03, 0x00,
+ 0x09, 0x04, 0x02, 0x00, 0x09, 0x01, 0x02, 0x00,
+ 0x09, 0x05, 0x01, 0x00, 0x09, 0x09, 0x02, 0x00,
+ 0x09, 0x06, 0x02, 0x00, 0x23, 0x01, 0x05, 0x00,
+ 0x23, 0x02, 0x02, 0x00, 0x23, 0x03, 0x06, 0x00,
+ 0x23, 0x05, 0x01, 0x00, 0x23, 0x06, 0x03, 0x00,
+ 0x23, 0x07, 0x01, 0x00, 0x1a, 0x01, 0x01, 0x00,
+ 0x1a, 0x03, 0x02, 0x00, 0x1a, 0x06, 0x01, 0x00,
+ 0x24, 0x01, 0x03, 0x00, 0x24, 0x03, 0x04, 0x00,
+ 0x24, 0x03, 0x01, 0x00, 0x02, 0x04, 0x03, 0x00,
+ 0x02, 0x03, 0x03, 0x00, 0x02, 0x05, 0x03, 0x00,
+ 0x01, 0x01, 0x01, 0x00, 0x01, 0x05, 0x03, 0x00,
+ 0x01, 0x04, 0x03, 0x00, 0x0c, 0x02, 0x01, 0x00,
+ 0x0c, 0x03, 0x03, 0x00, 0x0c, 0x04, 0x02, 0x00
+};
+
+static const ByteProvider kEoB1ManDefAmigaEnglishProvider = { ARRAYSIZE(kEoB1ManDefAmigaEnglish), kEoB1ManDefAmigaEnglish };
+
+static const char *const kEoB1ManWordAmigaEnglish[31] = {
+ "attacks",
+ "short",
+ "line",
+ "weapons",
+ "certain",
+ "rank",
+ "rear",
+ "can",
+ "away",
+ "dungeon",
+ "cursor",
+ "feature",
+ "information",
+ "displayed",
+ "below",
+ "around",
+ "carefree",
+ "gnomes",
+ "clerics",
+ "mystic",
+ "pummel",
+ "fitness",
+ "using",
+ "toughness",
+ "wealth",
+ "wizard",
+ "officials",
+ "hound",
+ "disturbing",
+ "flaming",
+ ""
+};
+
+static const StringListProvider kEoB1ManWordAmigaEnglishProvider = { ARRAYSIZE(kEoB1ManWordAmigaEnglish), kEoB1ManWordAmigaEnglish };
+
+static const char *const kEoB1ManPromptAmigaEnglish[1] = {
+ "\r\r\r\rOn the page with this symbol...\r\rFind line %d\rEnter word %d\r"
+};
+
+static const StringListProvider kEoB1ManPromptAmigaEnglishProvider = { ARRAYSIZE(kEoB1ManPromptAmigaEnglish), kEoB1ManPromptAmigaEnglish };
+
+static const char *const kEoB1MonsterDistAttStringsAmigaEnglish[5] = {
+ "%s is hit by a cause serious wounds spell!\r",
+ "The party is hit with a psychic mind blast!\r",
+ "paralyzed",
+ "poisoned",
+ "paralyzed"
+};
+
+static const StringListProvider kEoB1MonsterDistAttStringsAmigaEnglishProvider = { ARRAYSIZE(kEoB1MonsterDistAttStringsAmigaEnglish), kEoB1MonsterDistAttStringsAmigaEnglish };
+
diff --git a/devtools/create_kyradat/resources/eob1_amiga_german.h b/devtools/create_kyradat/resources/eob1_amiga_german.h
new file mode 100644
index 0000000000..feb856f275
--- /dev/null
+++ b/devtools/create_kyradat/resources/eob1_amiga_german.h
@@ -0,0 +1,899 @@
+static const char *const kEoB1ChargenStrings1AmigaGerman[9] = {
+ "Ihr Team ist\rkomplett. SPIEL-\rKnopf oder 'P'\rdruecken, um zu\rbeginnen.",
+ " ",
+ "RK\rHP\rEBN",
+ "%s\r%d\r%d\r%d\r%d\r%d",
+ "%d\r%d",
+ "%d",
+ "%d/%d",
+ "%d/%d/%d",
+ "Waehle das Feld\rdes Charakters\rzum Erstellen oder\rAnschauen."
+};
+
+static const StringListProvider kEoB1ChargenStrings1AmigaGermanProvider = { ARRAYSIZE(kEoB1ChargenStrings1AmigaGerman), kEoB1ChargenStrings1AmigaGerman };
+
+static const char *const kEoB1ChargenStrings2AmigaGerman[12] = {
+ "%s",
+ "%d",
+ "%s",
+ "%d",
+ "%d",
+ "%d",
+ "%s",
+ "%d",
+ "WAEHLE RASSE:",
+ "WAEHLE KLASSE:",
+ "GESINNUNG WAEHLEN:",
+ "Name:"
+};
+
+static const StringListProvider kEoB1ChargenStrings2AmigaGermanProvider = { ARRAYSIZE(kEoB1ChargenStrings2AmigaGerman), kEoB1ChargenStrings2AmigaGerman };
+
+static const char *const kEoB1ChargenStatStringsAmigaGerman[12] = {
+ "STR",
+ "INT",
+ "WIS",
+ "DEX",
+ "CON",
+ "CHA",
+ "STAERKE",
+ "INTELLIGENZ",
+ "WEISHEIT",
+ "GEWANDHEIT",
+ "KONSTITUTION",
+ "CHARISMA"
+};
+
+static const StringListProvider kEoB1ChargenStatStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1ChargenStatStringsAmigaGerman), kEoB1ChargenStatStringsAmigaGerman };
+
+static const char *const kEoB1ChargenRaceSexStringsAmigaGerman[12] = {
+ "MENSCH MAENNL.",
+ "MENSCH WEIBL.",
+ "ELF MAENNL.",
+ "ELF WEIBL.",
+ "HALB-ELF MAENNL.",
+ "HALB-ELF WEIBL.",
+ "ZWERG MAENNL.",
+ "ZWERG WEIBL.",
+ "GNOM MAENNL.",
+ "GNOM WEIBL.",
+ "HALBLING MAENNL.",
+ "HALBLING WEIBL."
+};
+
+static const StringListProvider kEoB1ChargenRaceSexStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1ChargenRaceSexStringsAmigaGerman), kEoB1ChargenRaceSexStringsAmigaGerman };
+
+static const char *const kEoB1ChargenClassStringsAmigaGerman[21] = {
+ "KAEMPFER",
+ "WALDLAEUFER",
+ "PALADIN",
+ "MAGIER",
+ "KLERIKER",
+ "DIEB",
+ "KAEMPFER/KLERIKER",
+ "KAEMPFER/DIEB",
+ "KAEMPFER/MAGIER",
+ "KAEMPF./MAGIER/DIEB",
+ "DIEB/MAGIER",
+ "KLERIKER/DIEB",
+ "KAEMPF./KLE./MAGIER",
+ "WALDL./KLER.",
+ "KLER./MAGIER",
+ "KAEMPFER",
+ "MAGIER",
+ "KLERIKER",
+ "DIEB",
+ "PALADIN",
+ "WALDLAEUFER"
+};
+
+static const StringListProvider kEoB1ChargenClassStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1ChargenClassStringsAmigaGerman), kEoB1ChargenClassStringsAmigaGerman };
+
+static const char *const kEoB1ChargenAlignmentStringsAmigaGerman[9] = {
+ "RECHTSCH. GUT",
+ "NEUTRAL GUT",
+ "CHAOTISCH GUT",
+ "RECHTSCH. NEUTRAL",
+ "ABSOLUT NEUTRAL",
+ "CHAOTISCH NEUTRAL",
+ "RECHTSCH. BOESE",
+ "NEUTRAL BOESE",
+ "CHAOTISCH BOESE"
+};
+
+static const StringListProvider kEoB1ChargenAlignmentStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1ChargenAlignmentStringsAmigaGerman), kEoB1ChargenAlignmentStringsAmigaGerman };
+
+static const char *const kEoB1ChargenEnterGameStringsAmigaGerman[1] = {
+ " Spiel startet.\r Bitte warten."
+};
+
+static const StringListProvider kEoB1ChargenEnterGameStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1ChargenEnterGameStringsAmigaGerman), kEoB1ChargenEnterGameStringsAmigaGerman };
+
+static const char *const kEoB1MainMenuStringsAmigaGerman[3] = {
+ "ALTES SPIEL LADEN\r",
+ "NEUES TEAM AUFBAUEN\r",
+ "ENDE > AMIGADOS\r"
+};
+
+static const StringListProvider kEoB1MainMenuStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1MainMenuStringsAmigaGerman), kEoB1MainMenuStringsAmigaGerman };
+
+static const char *const kEoB1BonusStringsAmigaGerman[3] = {
+ "Herzlichen Glueckwunsch fuer das Auffinden aller 12 Beholder-Boni.\r\rDie beteiligten Charaktere des gluecklichen Teams waren:\r\r",
+ "\r",
+ "\r\rPasswort: %04x\r"
+};
+
+static const StringListProvider kEoB1BonusStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1BonusStringsAmigaGerman), kEoB1BonusStringsAmigaGerman };
+
+static const char *const kEoB1TurnUndeadStringAmigaGerman[1] = {
+ "\x06\x06""%s benutzt die Macht, Untote zu vertreiben!""\x06\x1F""\r"
+};
+
+static const StringListProvider kEoB1TurnUndeadStringAmigaGermanProvider = { ARRAYSIZE(kEoB1TurnUndeadStringAmigaGerman), kEoB1TurnUndeadStringAmigaGerman };
+
+static const char *const kEoB1Npc0StringsAmigaGerman[2] = {
+ "\r Ich wuensche Euch Glueck auf Euren Reisen.",
+ "Wer soll wiedererweckt werden?"
+};
+
+static const StringListProvider kEoB1Npc0StringsAmigaGermanProvider = { ARRAYSIZE(kEoB1Npc0StringsAmigaGerman), kEoB1Npc0StringsAmigaGerman };
+
+static const char *const kEoB1Npc11StringsAmigaGerman[3] = {
+ "Wunden heilen",
+ "Reden",
+ "Gehen"
+};
+
+static const StringListProvider kEoB1Npc11StringsAmigaGermanProvider = { ARRAYSIZE(kEoB1Npc11StringsAmigaGerman), kEoB1Npc11StringsAmigaGerman };
+
+static const char *const kEoB1Npc12StringsAmigaGerman[2] = {
+ "Wunden heilen",
+ "Gehen"
+};
+
+static const StringListProvider kEoB1Npc12StringsAmigaGermanProvider = { ARRAYSIZE(kEoB1Npc12StringsAmigaGerman), kEoB1Npc12StringsAmigaGerman };
+
+static const char *const kEoB1Npc21StringsAmigaGerman[2] = {
+ "Angebot hoeren",
+ "Gehen"
+};
+
+static const StringListProvider kEoB1Npc21StringsAmigaGermanProvider = { ARRAYSIZE(kEoB1Npc21StringsAmigaGerman), kEoB1Npc21StringsAmigaGerman };
+
+static const char *const kEoB1Npc22StringsAmigaGerman[2] = {
+ "Helfen",
+ "Gehen"
+};
+
+static const StringListProvider kEoB1Npc22StringsAmigaGermanProvider = { ARRAYSIZE(kEoB1Npc22StringsAmigaGerman), kEoB1Npc22StringsAmigaGerman };
+
+static const char *const kEoB1Npc31StringsAmigaGerman[2] = {
+ "Team heilen",
+ "Gehen"
+};
+
+static const StringListProvider kEoB1Npc31StringsAmigaGermanProvider = { ARRAYSIZE(kEoB1Npc31StringsAmigaGerman), kEoB1Npc31StringsAmigaGerman };
+
+static const char *const kEoB1Npc32StringsAmigaGerman[3] = {
+ "Team heilen",
+ "Tote erwecken",
+ "Gehen"
+};
+
+static const StringListProvider kEoB1Npc32StringsAmigaGermanProvider = { ARRAYSIZE(kEoB1Npc32StringsAmigaGerman), kEoB1Npc32StringsAmigaGerman };
+
+static const char *const kEoB1Npc4StringsAmigaGerman[2] = {
+ "Angreifen",
+ "Bestechen"
+};
+
+static const StringListProvider kEoB1Npc4StringsAmigaGermanProvider = { ARRAYSIZE(kEoB1Npc4StringsAmigaGerman), kEoB1Npc4StringsAmigaGerman };
+
+static const char *const kEoB1Npc5StringsAmigaGerman[3] = {
+ "toeten",
+ "anhoeren",
+ "gehen lassen"
+};
+
+static const StringListProvider kEoB1Npc5StringsAmigaGermanProvider = { ARRAYSIZE(kEoB1Npc5StringsAmigaGerman), kEoB1Npc5StringsAmigaGerman };
+
+static const char *const kEoB1Npc6StringsAmigaGerman[2] = {
+ "Ergeben",
+ "Angreifen"
+};
+
+static const StringListProvider kEoB1Npc6StringsAmigaGermanProvider = { ARRAYSIZE(kEoB1Npc6StringsAmigaGerman), kEoB1Npc6StringsAmigaGerman };
+
+static const char *const kEoB1Npc7StringsAmigaGerman[3] = {
+ "befreien",
+ "toeten",
+ "Gehen"
+};
+
+static const StringListProvider kEoB1Npc7StringsAmigaGermanProvider = { ARRAYSIZE(kEoB1Npc7StringsAmigaGerman), kEoB1Npc7StringsAmigaGerman };
+
+static const char *const kEoB1PryDoorStringsAmigaGerman[8] = {
+ "Niemand kann die Tuer aufbrechen.\r",
+ "Das Team bricht die Tuer auf.\r",
+ "%s bricht die tuer auf!\r",
+ "Das Team versucht die Tuer aufzubrechen,\raber schafft es nicht.\r",
+ "Dieser Gegenstand kann hier nicht plaziert werden.\r",
+ "Dieser Gegenstand ist zu gross.\r",
+ "Niemand schafft es, die Tuer aufzubrechen.\r",
+ "\r"
+};
+
+static const StringListProvider kEoB1PryDoorStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1PryDoorStringsAmigaGerman), kEoB1PryDoorStringsAmigaGerman };
+
+static const char *const kEoB1WarningStringsAmigaGerman[3] = {
+ "Hier geht es nicht weiter.\r",
+ "%s kann keine Nahrung zu sich nehmen!\r",
+ "Dies kann man nicht essen!\r"
+};
+
+static const StringListProvider kEoB1WarningStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1WarningStringsAmigaGerman), kEoB1WarningStringsAmigaGerman };
+
+static const char *const kEoB1ItemSuffixStringsRingsAmigaGerman[4] = {
+ "Schmuck",
+ "Zauber",
+ "Nahrungs",
+ "Federfall"
+};
+
+static const StringListProvider kEoB1ItemSuffixStringsRingsAmigaGermanProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsRingsAmigaGerman), kEoB1ItemSuffixStringsRingsAmigaGerman };
+
+static const char *const kEoB1ItemSuffixStringsPotionsAmigaGerman[8] = {
+ "Riesenstaerke",
+ "Heilungs",
+ "Extra Heilungs",
+ "Gift",
+ "Vitalitaets",
+ "Schnelligkeits",
+ "Unsichtbarkeits",
+ "Gift-Heilungs-"
+};
+
+static const StringListProvider kEoB1ItemSuffixStringsPotionsAmigaGermanProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsPotionsAmigaGerman), kEoB1ItemSuffixStringsPotionsAmigaGerman };
+
+static const char *const kEoB1ItemSuffixStringsWandsAmigaGerman[7] = {
+ "Stock",
+ "Blitz",
+ "Frost",
+ "Heilungs",
+ "Feuerball",
+ "Silvias",
+ "Magisches Geschoss"
+};
+
+static const StringListProvider kEoB1ItemSuffixStringsWandsAmigaGermanProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsWandsAmigaGerman), kEoB1ItemSuffixStringsWandsAmigaGerman };
+
+static const char *const kEoB1RipItemStringsAmigaGerman[3] = {
+ "%s verlor ihr ",
+ "%s verlor sein ",
+ ".\r"
+};
+
+static const StringListProvider kEoB1RipItemStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1RipItemStringsAmigaGerman), kEoB1RipItemStringsAmigaGerman };
+
+static const char *const kEoB1CursedStringAmigaGerman[1] = {
+ "Verflucht %s %d"
+};
+
+static const StringListProvider kEoB1CursedStringAmigaGermanProvider = { ARRAYSIZE(kEoB1CursedStringAmigaGerman), kEoB1CursedStringAmigaGerman };
+
+static const char *const kEoB1MagicObjectStringsAmigaGerman[5] = {
+ "Magier-Schriftrolle",
+ "Kleriker-Scriftrolle",
+ "Ring",
+ "Trank",
+ "Stab"
+};
+
+static const StringListProvider kEoB1MagicObjectStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1MagicObjectStringsAmigaGerman), kEoB1MagicObjectStringsAmigaGerman };
+
+static const char *const kEoB1MagicObjectString5AmigaGerman[1] = {
+ "Stock"
+};
+
+static const StringListProvider kEoB1MagicObjectString5AmigaGermanProvider = { ARRAYSIZE(kEoB1MagicObjectString5AmigaGerman), kEoB1MagicObjectString5AmigaGerman };
+
+static const char *const kEoB1PatternSuffixAmigaGerman[1] = {
+ "%s-%s"
+};
+
+static const StringListProvider kEoB1PatternSuffixAmigaGermanProvider = { ARRAYSIZE(kEoB1PatternSuffixAmigaGerman), kEoB1PatternSuffixAmigaGerman };
+
+static const char *const kEoB1PatternGrFix1AmigaGerman[1] = {
+ "%s-%s"
+};
+
+static const StringListProvider kEoB1PatternGrFix1AmigaGermanProvider = { ARRAYSIZE(kEoB1PatternGrFix1AmigaGerman), kEoB1PatternGrFix1AmigaGerman };
+
+static const char *const kEoB1PatternGrFix2AmigaGerman[1] = {
+ "%s-%s"
+};
+
+static const StringListProvider kEoB1PatternGrFix2AmigaGermanProvider = { ARRAYSIZE(kEoB1PatternGrFix2AmigaGerman), kEoB1PatternGrFix2AmigaGerman };
+
+static const char *const kEoB1ValidateArmorStringAmigaGerman[1] = {
+ "%s kann diese Ruestung nicht tragen.\r"
+};
+
+static const StringListProvider kEoB1ValidateArmorStringAmigaGermanProvider = { ARRAYSIZE(kEoB1ValidateArmorStringAmigaGerman), kEoB1ValidateArmorStringAmigaGerman };
+
+static const char *const kEoB1ValidateNoDropStringAmigaGerman[1] = {
+ "Das kannst du hier nicht ablegen.\r"
+};
+
+static const StringListProvider kEoB1ValidateNoDropStringAmigaGermanProvider = { ARRAYSIZE(kEoB1ValidateNoDropStringAmigaGerman), kEoB1ValidateNoDropStringAmigaGerman };
+
+static const char *const kEoB1PotionStringsAmigaGerman[2] = {
+ "vergiftet",
+ "%s fuehlt sich %s!\r"
+};
+
+static const StringListProvider kEoB1PotionStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1PotionStringsAmigaGerman), kEoB1PotionStringsAmigaGerman };
+
+static const char *const kEoB1WandStringsAmigaGerman[2] = {
+ "der stab hat offensichtlich keinen magischen effekt.\r",
+ "kein effekt.\r",
+};
+
+static const StringListProvider kEoB1WandStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1WandStringsAmigaGerman), kEoB1WandStringsAmigaGerman };
+
+static const char *const kEoB1ItemMisuseStringsAmigaGerman[3] = {
+ "%s kann das nicht benutzen.\r",
+ "Dies wird automatisch benutzt.\r",
+ "Das laesst sich so nicht benutzen.\r"
+};
+
+static const StringListProvider kEoB1ItemMisuseStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1ItemMisuseStringsAmigaGerman), kEoB1ItemMisuseStringsAmigaGerman };
+
+static const char *const kEoB1TakenStringsAmigaGerman[1] = {
+ " genommen.\r"
+};
+
+static const StringListProvider kEoB1TakenStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1TakenStringsAmigaGerman), kEoB1TakenStringsAmigaGerman };
+
+static const char *const kEoB1PotionEffectStringsAmigaGerman[8] = {
+ "viel staerker",
+ "besser",
+ "viel besser",
+ "einen Moment uebel",
+ "nicht mehr hungrig",
+ "schnell und agil",
+ "transparent",
+ "besser"
+};
+
+static const StringListProvider kEoB1PotionEffectStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1PotionEffectStringsAmigaGerman), kEoB1PotionEffectStringsAmigaGerman };
+
+static const char *const kEoB1YesNoStringsAmigaGerman[2] = {
+ "ja",
+ "nein"
+};
+
+static const StringListProvider kEoB1YesNoStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1YesNoStringsAmigaGerman), kEoB1YesNoStringsAmigaGerman };
+
+static const char *const kEoB1MoreStringsAmigaGerman[1] = {
+ "MEHR"
+};
+
+static const StringListProvider kEoB1MoreStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1MoreStringsAmigaGerman), kEoB1MoreStringsAmigaGerman };
+
+static const char *const kEoB1NpcMaxStringsAmigaGerman[1] = {
+ "Es sind nur sechs Charaktere in einem Team erlaubt. \rWaehlen Sie aus, welchen Sie entlassen wollen."
+};
+
+static const StringListProvider kEoB1NpcMaxStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1NpcMaxStringsAmigaGerman), kEoB1NpcMaxStringsAmigaGerman };
+
+static const char *const kEoB1NpcJoinStringsAmigaGerman[1] = {
+ "%s wird in's Team aufgenommen.\r"
+};
+
+static const StringListProvider kEoB1NpcJoinStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1NpcJoinStringsAmigaGerman), kEoB1NpcJoinStringsAmigaGerman };
+
+static const char *const kEoB1CancelStringsAmigaGerman[1] = {
+ "ABBRECHEN"
+};
+
+static const StringListProvider kEoB1CancelStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1CancelStringsAmigaGerman), kEoB1CancelStringsAmigaGerman };
+
+static const char *const kEoB1MenuStringsMainAmigaGerman[8] = {
+ "Option Waehlen:",
+ "Ausruhen",
+ "Zauber lernen",
+ "Fuer Zauber beten",
+ "Schriftrollen",
+ "Einstellungen",
+ "Spieloptionen",
+ "Ende"
+};
+
+static const StringListProvider kEoB1MenuStringsMainAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsMainAmigaGerman), kEoB1MenuStringsMainAmigaGerman };
+
+static const char *const kEoB1MenuStringsSaveLoadAmigaGerman[8] = {
+ "Spiel laden",
+ "Spiel speichern",
+ "Charakter entlassen",
+ "Spielende",
+ "Spieloptionen:",
+ "\r Gespeichert.",
+ "\r Speichern\r Fehler!",
+ "\r Spiel laden\r Fehler!"
+};
+
+static const StringListProvider kEoB1MenuStringsSaveLoadAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsSaveLoadAmigaGerman), kEoB1MenuStringsSaveLoadAmigaGerman };
+
+static const char *const kEoB1MenuStringsOnOffAmigaGerman[2] = {
+ "AN",
+ "AUS"
+};
+
+static const StringListProvider kEoB1MenuStringsOnOffAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsOnOffAmigaGerman), kEoB1MenuStringsOnOffAmigaGerman };
+
+static const char *const kEoB1MenuStringsSpellsAmigaGerman[17] = {
+ "\r\r Charakter aus dem \r Team waehlen, der\r den zauber lernen\r moechte\r ",
+ "\r Der Paladin ist \r noch zu\r unerfahren.",
+ "\r\r Der Magier hat \r kein Zauberbuch!",
+ "\r\r\r Charakter aus dem\r Team waehlen, der\r fuer Sprueche\r meditieren moechte.",
+ "\r Das Team hat kei-\r nen Kleriker, der\r meditieren koennte\r ",
+ "\r Das Team hat kei-\r nen Magier, der\r zaubern koennte.",
+ " Ein bewusstloser\r oder toter Magier\r kann keine Zauber\r lernen.",
+ " Ein bewusstloser\r oder toter Kleriker\r kann nicht fuer Zauber\r meditieren.",
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "Neu",
+ "Verfuegbare Zauber:",
+ "Ja",
+ "Nein"
+};
+
+static const StringListProvider kEoB1MenuStringsSpellsAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsSpellsAmigaGerman), kEoB1MenuStringsSpellsAmigaGerman };
+
+static const char *const kEoB1MenuStringsRestAmigaGerman[5] = {
+ "\rWerden die Heiler\rdas Team heilen?",
+ " Jemand ist noch\r verletzt. Rasten,\r bis geheilt?",
+ "Ausruhen",
+ "\r Alle Charactere\r sind ganz\r ausgeruht.",
+ " Das Team muss\r zum Lernen der\r Sprueche aus-\r ruhen."
+};
+
+static const StringListProvider kEoB1MenuStringsRestAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsRestAmigaGerman), kEoB1MenuStringsRestAmigaGerman };
+
+static const char *const kEoB1MenuStringsDropAmigaGerman[1] = {
+ " Sie muessen min-\r destens vier\r Charaktere be-\r sitzen."
+};
+
+static const StringListProvider kEoB1MenuStringsDropAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsDropAmigaGerman), kEoB1MenuStringsDropAmigaGerman };
+
+static const char *const kEoB1MenuStringsExitAmigaGerman[1] = {
+ " Wollen Sie das\r Spiel wirklich\r beenden?"
+};
+
+static const StringListProvider kEoB1MenuStringsExitAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsExitAmigaGerman), kEoB1MenuStringsExitAmigaGerman };
+
+static const char *const kEoB1MenuStringsStarveAmigaGerman[1] = {
+ " Ihr Team verhungert.\r Soll weiter gerastet\r werden?"
+};
+
+static const StringListProvider kEoB1MenuStringsStarveAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsStarveAmigaGerman), kEoB1MenuStringsStarveAmigaGerman };
+
+static const char *const kEoB1MenuStringsScribeAmigaGerman[5] = {
+ "Schriftrolle(n) waeh-\rlen, die Uebertragen\rwerden soll(en).",
+ "\r\r\r Welcher Magier des\r Teams moechte eine\r Schriftrolle Ueber-\r tragen?.",
+ " Es gibt keine\r Schriftrollen zum\r Uebertragen.",
+ " Sie haben keine\r Schriftrollen fuer\r diesen Magier.",
+ "\r Keiner ihrer Magier\r kann Schriftrollen\r uebertragen."
+};
+
+static const StringListProvider kEoB1MenuStringsScribeAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsScribeAmigaGerman), kEoB1MenuStringsScribeAmigaGerman };
+
+static const char *const kEoB1MenuStringsDrop2AmigaGerman[3] = {
+ " Waehlen Sie den\r zu entlassenden\r Charakter.",
+ " Wollen Sie das\r Spiel wirklich\r SPEICHERN?",
+ " Wollen Sie wirk-\r lich ein altes\r Spiel LADEN?"
+};
+
+static const StringListProvider kEoB1MenuStringsDrop2AmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsDrop2AmigaGerman), kEoB1MenuStringsDrop2AmigaGerman };
+
+static const char *const kEoB1MenuStringsHeadAmigaGerman[3] = {
+ "Camp:",
+ "Einstellungen:",
+ "Spieloptionen:"
+};
+
+static const StringListProvider kEoB1MenuStringsHeadAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsHeadAmigaGerman), kEoB1MenuStringsHeadAmigaGerman };
+
+static const char *const kEoB1MenuStringsPoisonAmigaGerman[1] = {
+ "Vergiftete Team-\rmitglieder werden\rsterben.\rTrotzdem rasten?"
+};
+
+static const StringListProvider kEoB1MenuStringsPoisonAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsPoisonAmigaGerman), kEoB1MenuStringsPoisonAmigaGerman };
+
+static const char *const kEoB1MenuStringsMgcAmigaGerman[2] = {
+ "%-18s %1d",
+ "%d von %d Uebrigen. "
+};
+
+static const StringListProvider kEoB1MenuStringsMgcAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsMgcAmigaGerman), kEoB1MenuStringsMgcAmigaGerman };
+
+static const char *const kEoB1MenuStringsPrefsAmigaGerman[4] = {
+ "Musik ist %-3s",
+ "Geraeusche sind %-3s",
+ "Grafikzeilen %-3s",
+ ""
+};
+
+static const StringListProvider kEoB1MenuStringsPrefsAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsPrefsAmigaGerman), kEoB1MenuStringsPrefsAmigaGerman };
+
+static const char *const kEoB1MenuStringsRest2AmigaGerman[4] = {
+ "%s erhaelt %s.\r",
+ "%s lernt %s.\r",
+ "%s spricht heilung auf %s.\r",
+ "Ruhestunden: %-4d"
+};
+
+static const StringListProvider kEoB1MenuStringsRest2AmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsRest2AmigaGerman), kEoB1MenuStringsRest2AmigaGerman };
+
+static const char *const kEoB1MenuStringsRest4AmigaGerman[1] = {
+ "\rRast ist nicht moeglich, Monster sind in der Naehe."
+};
+
+static const StringListProvider kEoB1MenuStringsRest4AmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsRest4AmigaGerman), kEoB1MenuStringsRest4AmigaGerman };
+
+static const char *const kEoB1MenuStringsDefeatAmigaGerman[1] = {
+ " Dein ganzes team ist geschlagen. \rDie Helfer des boesen koennen ihre Plaene ungehindert erfuellen! \r"
+};
+
+static const StringListProvider kEoB1MenuStringsDefeatAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuStringsDefeatAmigaGerman), kEoB1MenuStringsDefeatAmigaGerman };
+
+static const char *const kEoB1MenuYesNoStringsAmigaGerman[2] = {
+ "Ja",
+ "Nein"
+};
+
+static const StringListProvider kEoB1MenuYesNoStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1MenuYesNoStringsAmigaGerman), kEoB1MenuYesNoStringsAmigaGerman };
+
+static const char *const kEoB1CharGuiStringsHpAmigaGerman[2] = {
+ "HP",
+ "%3d / %-3d"
+};
+
+static const StringListProvider kEoB1CharGuiStringsHpAmigaGermanProvider = { ARRAYSIZE(kEoB1CharGuiStringsHpAmigaGerman), kEoB1CharGuiStringsHpAmigaGerman };
+
+static const char *const kEoB1CharGuiStringsWp1AmigaGerman[2] = {
+ "FEHL",
+ "HACK"
+};
+
+static const StringListProvider kEoB1CharGuiStringsWp1AmigaGermanProvider = { ARRAYSIZE(kEoB1CharGuiStringsWp1AmigaGerman), kEoB1CharGuiStringsWp1AmigaGerman };
+
+static const char *const kEoB1CharGuiStringsWrAmigaGerman[4] = {
+ " ZU",
+ "WEIT",
+ "KEINE",
+ " MUN"
+};
+
+static const StringListProvider kEoB1CharGuiStringsWrAmigaGermanProvider = { ARRAYSIZE(kEoB1CharGuiStringsWrAmigaGerman), kEoB1CharGuiStringsWrAmigaGerman };
+
+static const char *const kEoB1CharGuiStringsSt1AmigaGerman[6] = {
+ "Tausche",
+ "TOT",
+ "BEWUSSTLOS",
+ "GIFT (LANGSAM)",
+ "VERGIFTED",
+ "BETAEUBT"
+};
+
+static const StringListProvider kEoB1CharGuiStringsSt1AmigaGermanProvider = { ARRAYSIZE(kEoB1CharGuiStringsSt1AmigaGerman), kEoB1CharGuiStringsSt1AmigaGerman };
+
+static const char *const kEoB1CharGuiStringsInAmigaGerman[4] = {
+ "CHARAKTER INFO",
+ "RUESTUNG",
+ "ERF",
+ "EBN"
+};
+
+static const StringListProvider kEoB1CharGuiStringsInAmigaGermanProvider = { ARRAYSIZE(kEoB1CharGuiStringsInAmigaGerman), kEoB1CharGuiStringsInAmigaGerman };
+
+static const char *const kEoB1CharStatusStrings7AmigaGerman[1] = {
+ "%s besitzt nun keine Riesen-Staerke mehr.\r"
+};
+
+static const StringListProvider kEoB1CharStatusStrings7AmigaGermanProvider = { ARRAYSIZE(kEoB1CharStatusStrings7AmigaGerman), kEoB1CharStatusStrings7AmigaGerman };
+
+static const char *const kEoB1CharStatusStrings81AmigaGerman[1] = {
+ "%s fuehlt, wie das Gift wirkt!\r"
+};
+
+static const StringListProvider kEoB1CharStatusStrings81AmigaGermanProvider = { ARRAYSIZE(kEoB1CharStatusStrings81AmigaGerman), kEoB1CharStatusStrings81AmigaGerman };
+
+static const char *const kEoB1CharStatusStrings9AmigaGerman[1] = {
+ "%s ist nicht mehr gelaehmt!\r"
+};
+
+static const StringListProvider kEoB1CharStatusStrings9AmigaGermanProvider = { ARRAYSIZE(kEoB1CharStatusStrings9AmigaGerman), kEoB1CharStatusStrings9AmigaGerman };
+
+static const char *const kEoB1CharStatusStrings131AmigaGerman[1] = {
+ "%s ist %s!\r"
+};
+
+static const StringListProvider kEoB1CharStatusStrings131AmigaGermanProvider = { ARRAYSIZE(kEoB1CharStatusStrings131AmigaGerman), kEoB1CharStatusStrings131AmigaGerman };
+
+static const char *const kEoB1LevelGainStringsAmigaGerman[1] = {
+ "\x06\x06""%s steigt eine erfahrungsstufe auf.""\x06\x1F""\r"
+};
+
+static const StringListProvider kEoB1LevelGainStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1LevelGainStringsAmigaGerman), kEoB1LevelGainStringsAmigaGerman };
+
+static const char *const kEoB1BookNumbersAmigaGerman[5] = {
+ "Erster",
+ "Zweiter",
+ "Dritter",
+ "Vierter",
+ "Fuenfter"
+};
+
+static const StringListProvider kEoB1BookNumbersAmigaGermanProvider = { ARRAYSIZE(kEoB1BookNumbersAmigaGerman), kEoB1BookNumbersAmigaGerman };
+
+static const char *const kEoB1MageSpellsListAmigaGerman[26] = {
+ "",
+ "Ruestung",
+ "Brennende Haende",
+ "Magie entdecken",
+ "Magisch. Geschoss",
+ "Magie lesen",
+ "Schild",
+ "Schockgriff",
+ "Unsichtbarkeit",
+ "Klopfen",
+ "Ms Saeurepfeil",
+ "Stinkende Wolke",
+ "Magie bannen",
+ "Feuerball",
+ "Flammenpfeil",
+ "Hast",
+ "Person festhalten",
+ "Unsichtbarkeit 3m",
+ "Blitzstrahl",
+ "Vampirgriff",
+ "Furcht",
+ "Eissturm",
+ "Steinhaut",
+ "Todeswolke",
+ "Kaeltekegel",
+ "Monster festhalten"
+};
+
+static const StringListProvider kEoB1MageSpellsListAmigaGermanProvider = { ARRAYSIZE(kEoB1MageSpellsListAmigaGerman), kEoB1MageSpellsListAmigaGerman };
+
+static const char *const kEoB1ClericSpellsListAmigaGerman[25] = {
+ "",
+ "Segen",
+ "L. Wnd. heilen",
+ "L. Wnd verurs.",
+ "Magie entdecken",
+ "Schutz vor Boesem",
+ "Staerkung",
+ "Flammenklinge",
+ "Person festhalten",
+ "Gift verlangsamen",
+ "Nahrung machen",
+ "Magie bannen",
+ "Schutzgewand",
+ "Gebet",
+ "Laehmung aufheben",
+ "Schwere W. heilen",
+ "Schwere W. verurs.",
+ "Gift neutral.",
+ "Schutz v. Boes. 3m",
+ "Schutz v. Blitzen",
+ "Krit. W. heilen",
+ "Krit. W. verurs.",
+ "Flammenschlag",
+ "Tote erwecken",
+ "Haende auflegen"
+};
+
+static const StringListProvider kEoB1ClericSpellsListAmigaGermanProvider = { ARRAYSIZE(kEoB1ClericSpellsListAmigaGerman), kEoB1ClericSpellsListAmigaGerman };
+
+static const char *const kEoB1SpellNamesAmigaGerman[51] = {
+ "",
+ "Ruestung",
+ "brennende Haende",
+ "Magie entdecken",
+ "magisches Geschoss",
+ "Schild",
+ "Schockgriff",
+ "Unsichtbarkeit",
+ "Ms saeurepfeil",
+ "stinkende Wolke",
+ "Magie bannen",
+ "Feuerball",
+ "Flammenpfeil",
+ "hast",
+ "Person festhalten",
+ "Unsichtbarkeit 3m",
+ "Blitzstrahl",
+ "Vampirgriff",
+ "Furcht",
+ "Eissturm",
+ "Steinhaut",
+ "Todeswolke",
+ "Kaeltekegel",
+ "Monster festhalten",
+ "Segen",
+ "leichte Wunden heilen",
+ "leichte Wunden verursachen",
+ "Magie entdecken",
+ "Schutz vor boesem",
+ "Staerkung",
+ "Flammenklinge",
+ "Person festhalten",
+ "Gift verlangsamen",
+ "Nahrung erschaffen",
+ "Magie bannen",
+ "Schutzgewand",
+ "Gebet",
+ "Laehmung aufheben",
+ "schwere Wunden heilen",
+ "schwere Wunden verursachen",
+ "Gift neutralisieren",
+ "Schutz vor Boes. 3m",
+ "Schutz vor Blitzen",
+ "kritische Wunden heilen",
+ "kritische Wunden verursachen",
+ "Flammenschlag",
+ "Tote erwecken",
+ "Haende auflegen",
+ "",
+ "",
+ ""
+};
+
+static const StringListProvider kEoB1SpellNamesAmigaGermanProvider = { ARRAYSIZE(kEoB1SpellNamesAmigaGerman), kEoB1SpellNamesAmigaGerman };
+
+static const char *const kEoB1MagicStrings1AmigaGerman[6] = {
+ "KEIN ZAUBER",
+ "KEIN ZAUBER",
+ "Fuer diesen Zauber musst du eine Hand frei haben.\r",
+ "Zwei Zauber dieses Typs koennen nicht gleichzeitig aktiv sein.\r",
+ "%s zaubert %s.\r",
+ "ok\r"
+};
+
+static const StringListProvider kEoB1MagicStrings1AmigaGermanProvider = { ARRAYSIZE(kEoB1MagicStrings1AmigaGerman), kEoB1MagicStrings1AmigaGerman };
+
+static const char *const kEoB1MagicStrings2AmigaGerman[3] = {
+ "keine wirkung\r",
+ "%s wurde aufgeloest!\r",
+ "Das Team wurde mit einem Todesbann belegt!\r"
+};
+
+static const StringListProvider kEoB1MagicStrings2AmigaGermanProvider = { ARRAYSIZE(kEoB1MagicStrings2AmigaGerman), kEoB1MagicStrings2AmigaGerman };
+
+static const char *const kEoB1MagicStrings3AmigaGerman[6] = {
+ "Zauber auf welchen Charakter anwenden ? ",
+ "\rok\r",
+ "\rZauber abgebrochen.\r",
+ "%ss %s Zauber laesst nach.\r",
+ "%s traf das monster nicht.\r",
+ "%s kann nur in vorderen Reihen zuschlagen!\r"
+};
+
+static const StringListProvider kEoB1MagicStrings3AmigaGermanProvider = { ARRAYSIZE(kEoB1MagicStrings3AmigaGerman), kEoB1MagicStrings3AmigaGerman };
+
+static const char *const kEoB1MagicStrings4AmigaGerman[2] = {
+ "keine wirkung.\r",
+ "keine wirkung\r"
+};
+
+static const StringListProvider kEoB1MagicStrings4AmigaGermanProvider = { ARRAYSIZE(kEoB1MagicStrings4AmigaGerman), kEoB1MagicStrings4AmigaGerman };
+
+static const char *const kEoB1MagicStrings6AmigaGerman[1] = {
+ "%s hat bereits eine hochrangige Ruestungsklasse.\r"
+};
+
+static const StringListProvider kEoB1MagicStrings6AmigaGermanProvider = { ARRAYSIZE(kEoB1MagicStrings6AmigaGerman), kEoB1MagicStrings6AmigaGerman };
+
+static const char *const kEoB1MagicStrings7AmigaGerman[5] = {
+ "1.",
+ "2.",
+ "3.",
+ "4.",
+ "5."
+};
+
+static const StringListProvider kEoB1MagicStrings7AmigaGermanProvider = { ARRAYSIZE(kEoB1MagicStrings7AmigaGerman), kEoB1MagicStrings7AmigaGerman };
+
+static const char *const kEoB1MagicStrings8AmigaGerman[3] = {
+ "Alle Zauber auf %s wurden abgewehrt.\r",
+ "Das Team ist schon gesegnet!\r",
+ "Der Heilzauber versagt!\r"
+};
+
+static const StringListProvider kEoB1MagicStrings8AmigaGermanProvider = { ARRAYSIZE(kEoB1MagicStrings8AmigaGerman), kEoB1MagicStrings8AmigaGerman };
+
+static const char *const kEoB1MagicStrings9AmigaGerman[1] = {
+ "%s wurde schon mit Steinhaut geschuetzt.\r"
+};
+
+static const StringListProvider kEoB1MagicStrings9AmigaGermanProvider = { ARRAYSIZE(kEoB1MagicStrings9AmigaGerman), kEoB1MagicStrings9AmigaGerman };
+
+static const byte kEoB1ManDefAmigaGerman[120] = {
+ 0x09, 0x0A, 0x01, 0x00, 0x09, 0x04, 0x03, 0x00,
+ 0x09, 0x06, 0x01, 0x00, 0x09, 0x03, 0x03, 0x00,
+ 0x09, 0x04, 0x02, 0x00, 0x09, 0x01, 0x02, 0x00,
+ 0x09, 0x05, 0x01, 0x00, 0x09, 0x09, 0x02, 0x00,
+ 0x09, 0x01, 0x03, 0x00, 0x23, 0x01, 0x05, 0x00,
+ 0x23, 0x02, 0x02, 0x00, 0x23, 0x03, 0x06, 0x00,
+ 0x23, 0x05, 0x01, 0x00, 0x23, 0x06, 0x03, 0x00,
+ 0x23, 0x07, 0x01, 0x00, 0x1A, 0x02, 0x01, 0x00,
+ 0x1A, 0x03, 0x02, 0x00, 0x1A, 0x06, 0x01, 0x00,
+ 0x24, 0x01, 0x03, 0x00, 0x24, 0x03, 0x03, 0x00,
+ 0x24, 0x03, 0x01, 0x00, 0x02, 0x04, 0x03, 0x00,
+ 0x02, 0x03, 0x03, 0x00, 0x02, 0x07, 0x02, 0x00,
+ 0x01, 0x01, 0x01, 0x00, 0x01, 0x05, 0x03, 0x00,
+ 0x01, 0x04, 0x03, 0x00, 0x0C, 0x02, 0x01, 0x00,
+ 0x0C, 0x03, 0x03, 0x00, 0x0C, 0x02, 0x04, 0x00
+};
+
+static const ByteProvider kEoB1ManDefAmigaGermanProvider = { ARRAYSIZE(kEoB1ManDefAmigaGerman), kEoB1ManDefAmigaGerman };
+
+static const char *const kEoB1ManWordAmigaGerman[31] = {
+ "dargestellt",
+ "nur",
+ "attackieren",
+ "sie",
+ "handwaffen",
+ "monster",
+ "diese",
+ "wird",
+ "jedoch",
+ "sie",
+ "getragene",
+ "sobald",
+ "klerikale",
+ "getragene",
+ "sich",
+ "elternteile",
+ "gesicht",
+ "nicht",
+ "ihrer",
+ "magische",
+ "einige",
+ "sich",
+ "charaktere",
+ "gesinnung",
+ "versammlung",
+ "wachen",
+ "des",
+ "werden",
+ "seinen",
+ "greift",
+ ""
+};
+
+static const StringListProvider kEoB1ManWordAmigaGermanProvider = { ARRAYSIZE(kEoB1ManWordAmigaGerman), kEoB1ManWordAmigaGerman };
+
+static const char *const kEoB1ManPromptAmigaGerman[1] = {
+ "\r\r\r\rAuf der Seite mit diesem Symbol...\r\rFinde Zeile %d\rGib Wort %d ein\r"
+};
+
+static const StringListProvider kEoB1ManPromptAmigaGermanProvider = { ARRAYSIZE(kEoB1ManPromptAmigaGerman), kEoB1ManPromptAmigaGerman };
+
+static const char *const kEoB1MonsterDistAttStringsAmigaGerman[5] = {
+ "%s wurde von einem Schwere-Wunden-Zauber getroffen!\r",
+ "Das Team wurde von einem psychischen Hirnstoss getroffen!\r",
+ "gelaehmt",
+ "vergiftet",
+ "gelaehmt"
+};
+
+static const StringListProvider kEoB1MonsterDistAttStringsAmigaGermanProvider = { ARRAYSIZE(kEoB1MonsterDistAttStringsAmigaGerman), kEoB1MonsterDistAttStringsAmigaGerman };
+
diff --git a/devtools/create_kyradat/resources/eob1_dos.h b/devtools/create_kyradat/resources/eob1_dos.h
index c278f50af2..88f82d10ad 100644
--- a/devtools/create_kyradat/resources/eob1_dos.h
+++ b/devtools/create_kyradat/resources/eob1_dos.h
@@ -1755,3 +1755,20 @@ static const EoBCharacter kEoB1NpcPresetsDOS[9] = {
static const EoBCharacterProvider kEoB1NpcPresetsDOSProvider = { ARRAYSIZE(kEoB1NpcPresetsDOS), kEoB1NpcPresetsDOS };
+static const char *const kEoB1SoundFilesIntroDOS[1] = {
+ "SOUND"
+};
+
+static const StringListProvider kEoB1SoundFilesIntroDOSProvider = { ARRAYSIZE(kEoB1SoundFilesIntroDOS), kEoB1SoundFilesIntroDOS };
+
+static const char *const kEoB1SoundFilesIngameDOS[1] = {
+ "ADLIB"
+};
+
+static const StringListProvider kEoB1SoundFilesIngameDOSProvider = { ARRAYSIZE(kEoB1SoundFilesIngameDOS), kEoB1SoundFilesIngameDOS };
+
+static const char *const kEoB1SoundFilesFinaleDOS[1] = {
+ "ADLIB"
+};
+
+static const StringListProvider kEoB1SoundFilesFinaleDOSProvider = { ARRAYSIZE(kEoB1SoundFilesFinaleDOS), kEoB1SoundFilesFinaleDOS }; \ No newline at end of file
diff --git a/devtools/create_kyradat/resources/eob1_dos_english.h b/devtools/create_kyradat/resources/eob1_dos_english.h
index 4f6861eb1c..2b2beb4dec 100644
--- a/devtools/create_kyradat/resources/eob1_dos_english.h
+++ b/devtools/create_kyradat/resources/eob1_dos_english.h
@@ -817,6 +817,13 @@ static const char *const kEoB1MagicStrings8DOSEnglish[3] = {
static const StringListProvider kEoB1MagicStrings8DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings8DOSEnglish), kEoB1MagicStrings8DOSEnglish };
+/*
+static const char *const kEoB1MagicStrings9DOSEnglish[1] = {
+ "%s is already protected by stoneskin.\r"
+};
+
+static const StringListProvider kEoB1MagicStrings9DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings9DOSEnglish), kEoB1MagicStrings9DOSEnglish };
+*/
static const byte kEoB1ManDefDOSEnglish[120] = {
0x09, 0x0A, 0x02, 0x00, 0x09, 0x04, 0x03, 0x00,
0x09, 0x06, 0x06, 0x00, 0x09, 0x03, 0x03, 0x00,
diff --git a/devtools/create_kyradat/resources/eob1_dos_german.h b/devtools/create_kyradat/resources/eob1_dos_german.h
index 8551594266..9cab7cb261 100644
--- a/devtools/create_kyradat/resources/eob1_dos_german.h
+++ b/devtools/create_kyradat/resources/eob1_dos_german.h
@@ -819,6 +819,12 @@ static const char *const kEoB1MagicStrings8DOSGerman[3] = {
static const StringListProvider kEoB1MagicStrings8DOSGermanProvider = { ARRAYSIZE(kEoB1MagicStrings8DOSGerman), kEoB1MagicStrings8DOSGerman };
+/*static const char *const kEoB1MagicStrings9DOSGerman[1] = {
+ "%s is already protected by stoneskin.\r"
+};
+
+static const StringListProvider kEoB1MagicStrings9DOSGermanProvider = { ARRAYSIZE(kEoB1MagicStrings9DOSGerman), kEoB1MagicStrings9DOSGerman };
+*/
static const byte kEoB1ManDefDOSGerman[120] = {
0x09, 0x0A, 0x01, 0x00, 0x09, 0x04, 0x03, 0x00,
0x09, 0x06, 0x01, 0x00, 0x09, 0x03, 0x03, 0x00,
diff --git a/devtools/create_kyradat/resources/eob1_dos_italian.h b/devtools/create_kyradat/resources/eob1_dos_italian.h
index f2e1a7491f..abb94530c1 100644
--- a/devtools/create_kyradat/resources/eob1_dos_italian.h
+++ b/devtools/create_kyradat/resources/eob1_dos_italian.h
@@ -816,7 +816,13 @@ static const char *const kEoB1MagicStrings8DOSItalian[3] = {
};
static const StringListProvider kEoB1MagicStrings8DOSItalianProvider = { ARRAYSIZE(kEoB1MagicStrings8DOSItalian), kEoB1MagicStrings8DOSItalian };
+/*
+static const char *const kEoB1MagicStrings9DOSItalian[1] = {
+ "%s e gia protetto da pelle di pietra.\r"
+};
+static const StringListProvider kEoB1MagicStrings9DOSItalianProvider = { ARRAYSIZE(kEoB1MagicStrings9DOSItalian), kEoB1MagicStrings9DOSItalian };
+*/
static const byte kEoB1ManDefDOSItalian[120] = {
0x09, 0x0A, 0x02, 0x00, 0x09, 0x04, 0x03, 0x00,
0x09, 0x06, 0x06, 0x00, 0x09, 0x03, 0x03, 0x00,
diff --git a/devtools/create_kyradat/resources/eob2_dos.h b/devtools/create_kyradat/resources/eob2_dos.h
index 3a44d78fa8..6daf018251 100644
--- a/devtools/create_kyradat/resources/eob2_dos.h
+++ b/devtools/create_kyradat/resources/eob2_dos.h
@@ -2491,3 +2491,15 @@ static const byte kEoB2DscBlockIndexDOS[72] = {
static const ByteProvider kEoB2DscBlockIndexDOSProvider = { ARRAYSIZE(kEoB2DscBlockIndexDOS), kEoB2DscBlockIndexDOS };
+static const char *const kEoB2SoundFilesIntroDOS[1] = {
+ "INTRO"
+};
+
+static const StringListProvider kEoB2SoundFilesIntroDOSProvider = { ARRAYSIZE(kEoB2SoundFilesIntroDOS), kEoB2SoundFilesIntroDOS };
+
+static const char *const kEoB2SoundFilesFinaleDOS[2] = {
+ "FINALE1",
+ "FINALE2"
+};
+
+static const StringListProvider kEoB2SoundFilesFinaleDOSProvider = { ARRAYSIZE(kEoB2SoundFilesFinaleDOS), kEoB2SoundFilesFinaleDOS }; \ No newline at end of file
diff --git a/devtools/create_kyradat/resources/eob2_fmtowns.h b/devtools/create_kyradat/resources/eob2_fmtowns.h
index 74af7a34ab..128c7e4eb7 100644
--- a/devtools/create_kyradat/resources/eob2_fmtowns.h
+++ b/devtools/create_kyradat/resources/eob2_fmtowns.h
@@ -73655,4 +73655,16 @@ static const uint16 kEoB2FontDmpSearchTblFMTowns[149] = {
0x9681, 0x4881, 0x8381, 0x8481, 0x0000
};
-static const Uint16Provider kEoB2FontDmpSearchTblFMTownsProvider = { ARRAYSIZE(kEoB2FontDmpSearchTblFMTowns), kEoB2FontDmpSearchTblFMTowns }; \ No newline at end of file
+static const Uint16Provider kEoB2FontDmpSearchTblFMTownsProvider = { ARRAYSIZE(kEoB2FontDmpSearchTblFMTowns), kEoB2FontDmpSearchTblFMTowns };
+
+static const char *const kEoB2SoundFilesIntroFMTowns[1] = {
+ "INTRO"
+};
+
+static const StringListProvider kEoB2SoundFilesIntroFMTownsProvider = { ARRAYSIZE(kEoB2SoundFilesIntroFMTowns), kEoB2SoundFilesIntroFMTowns };
+
+static const char *const kEoB2SoundFilesFinaleFMTowns[1] = {
+ "FINALE"
+};
+
+static const StringListProvider kEoB2SoundFilesFinaleFMTownsProvider = { ARRAYSIZE(kEoB2SoundFilesFinaleFMTowns), kEoB2SoundFilesFinaleFMTowns }; \ No newline at end of file