aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devtools/create_kyradat/create_kyradat.cpp19
-rw-r--r--devtools/create_kyradat/create_kyradat.h17
-rw-r--r--devtools/create_kyradat/games.cpp310
-rw-r--r--devtools/create_kyradat/resources.cpp355
-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
-rw-r--r--dists/engine-data/kyra.datbin1617128 -> 1650618 bytes
-rw-r--r--engines/kyra/engine/eobcommon.cpp10
-rw-r--r--engines/kyra/engine/eobcommon.h1
-rw-r--r--engines/kyra/engine/scene_rpg.cpp1
-rw-r--r--engines/kyra/resource/resource.h17
-rw-r--r--engines/kyra/resource/staticres.cpp2
-rw-r--r--engines/kyra/resource/staticres_eob.cpp18
20 files changed, 4543 insertions, 19 deletions
diff --git a/devtools/create_kyradat/create_kyradat.cpp b/devtools/create_kyradat/create_kyradat.cpp
index 99e36cf317..0c43b4fcda 100644
--- a/devtools/create_kyradat/create_kyradat.cpp
+++ b/devtools/create_kyradat/create_kyradat.cpp
@@ -45,7 +45,7 @@
enum {
- kKyraDatVersion = 92
+ kKyraDatVersion = 93
};
const ExtractFilename extractFilenames[] = {
@@ -379,6 +379,7 @@ const ExtractFilename extractFilenames[] = {
{ kEoBBaseMagicStrings6, kStringList, true },
{ kEoBBaseMagicStrings7, kStringList, true },
{ kEoBBaseMagicStrings8, kStringList, true },
+ { kEoBBaseMagicStrings9, kStringList, true },
{ kEoBBaseExpObjectTlMode, kRawData, false },
{ kEoBBaseExpObjectTblIndex, kRawData, false },
@@ -409,7 +410,14 @@ const ExtractFilename extractFilenames[] = {
{ kEoBBaseConeOfColdDest4, kRawData, false },
{ kEoBBaseConeOfColdGfxTbl, kRawData, false },
+ { kEoBBaseSoundMap, kStringList, false },
+ { kEoBBaseSoundFilesIntro, kStringList, false },
+ { kEoBBaseSoundFilesIngame, kStringList, false },
+ { kEoBBaseSoundFilesFinale, kStringList, false },
+
// EYE OF THE BEHOLDER I
+ { kEoB1LevelSoundFiles1, kStringList, false },
+ { kEoB1LevelSoundFiles2, kStringList, false },
{ kEoB1MainMenuStrings, kStringList, true },
{ kEoB1BonusStrings, kStringList, true },
@@ -433,7 +441,14 @@ const ExtractFilename extractFilenames[] = {
{ kEoB1IntroTvlY2, kRawData, false },
{ kEoB1IntroTvlW, kRawData, false },
{ kEoB1IntroTvlH, kRawData, false },
-
+ { kEoB1IntroOrbFadePal, kRawData, false },
+ { kEoB1FinaleCouncilAnim1, kRawData, false },
+ { kEoB1FinaleCouncilAnim2, kRawData, false },
+ { kEoB1FinaleCouncilAnim3, kRawData, false },
+ { kEoB1FinaleCouncilAnim4, kRawData, false },
+ { kEoB1FinaleEyesAnim, kRawData, false },
+ { kEoB1FinaleHandsAnim, kRawDataBe16, false },
+ { kEoB1FinaleTextDuration, kRawData, false },
{ kEoB1DoorShapeDefs, kRawData, false },
{ kEoB1DoorSwitchShapeDefs, kRawData, false },
{ kEoB1DoorSwitchCoords, kRawData, false },
diff --git a/devtools/create_kyradat/create_kyradat.h b/devtools/create_kyradat/create_kyradat.h
index cb70f25928..a37fab34f4 100644
--- a/devtools/create_kyradat/create_kyradat.h
+++ b/devtools/create_kyradat/create_kyradat.h
@@ -382,6 +382,7 @@ enum kExtractID {
kEoBBaseMagicStrings6,
kEoBBaseMagicStrings7,
kEoBBaseMagicStrings8,
+ kEoBBaseMagicStrings9,
kEoBBaseExpObjectTlMode,
kEoBBaseExpObjectTblIndex,
@@ -413,6 +414,13 @@ enum kExtractID {
kEoBBaseConeOfColdDest4,
kEoBBaseConeOfColdGfxTbl,
+ kEoBBaseSoundMap,
+ kEoBBaseSoundFilesIntro,
+ kEoBBaseSoundFilesIngame,
+ kEoBBaseSoundFilesFinale,
+
+ kEoB1LevelSoundFiles1,
+ kEoB1LevelSoundFiles2,
kEoB1MainMenuStrings,
kEoB1BonusStrings,
@@ -436,6 +444,15 @@ enum kExtractID {
kEoB1IntroTvlY2,
kEoB1IntroTvlW,
kEoB1IntroTvlH,
+ kEoB1IntroOrbFadePal,
+
+ kEoB1FinaleCouncilAnim1,
+ kEoB1FinaleCouncilAnim2,
+ kEoB1FinaleCouncilAnim3,
+ kEoB1FinaleCouncilAnim4,
+ kEoB1FinaleEyesAnim,
+ kEoB1FinaleHandsAnim,
+ kEoB1FinaleTextDuration,
kEoB1DoorShapeDefs,
kEoB1DoorSwitchShapeDefs,
diff --git a/devtools/create_kyradat/games.cpp b/devtools/create_kyradat/games.cpp
index 077b570e98..9457416333 100644
--- a/devtools/create_kyradat/games.cpp
+++ b/devtools/create_kyradat/games.cpp
@@ -101,6 +101,9 @@ const Game eob1Games[] = {
{ kEoB1, kPlatformDOS, kNoSpecial, DE_DEU },
{ kEoB1, kPlatformDOS, kNoSpecial, IT_ITA },
+ { kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY },
+ { kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU },
+
//{ kEoB1, kPlatformPC98, kNoSpecial, JA_JPN },
GAME_DUMMY_ENTRY
@@ -110,6 +113,9 @@ const Game eob2Games[] = {
{ kEoB2, kPlatformDOS, kNoSpecial, EN_ANY },
{ kEoB2, kPlatformDOS, kNoSpecial, DE_DEU },
+ //{ kEoB2, kPlatformAmiga, kNoSpecial, EN_ANY },
+ //{ kEoB2, kPlatformAmiga, kNoSpecial, DE_DEU },
+
//{ kEoB2, kPlatformPC98, kNoSpecial, JA_JPN },
{ kEoB2, kPlatformFMTowns, kNoSpecial, JA_JPN },
@@ -1414,6 +1420,295 @@ const int eob1FloppyNeed[] = {
kEoBBaseMonsterDistAttStrings,
kEoBBaseEncodeMonsterDefs,
kEoBBaseNpcPresets,
+
+ kEoBBaseSoundFilesIntro,
+ kEoBBaseSoundFilesIngame,
+ kEoBBaseSoundFilesFinale,
+
+ -1
+};
+
+const int eob1AmigaNeed[] = {
+ kEoBBaseChargenStrings1,
+ kEoBBaseChargenStrings2,
+ kEoBBaseChargenStartLevels,
+ kEoBBaseChargenStatStrings,
+ kEoBBaseChargenRaceSexStrings,
+ kEoBBaseChargenClassStrings,
+ kEoBBaseChargenAlignmentStrings,
+ kEoBBaseChargenEnterGameStrings,
+ kEoBBaseChargenClassMinStats,
+ kEoBBaseChargenRaceMinStats,
+ kEoBBaseChargenRaceMaxStats,
+
+ kEoBBaseSaveThrowTable1,
+ kEoBBaseSaveThrowTable2,
+ kEoBBaseSaveThrowTable3,
+ kEoBBaseSaveThrowTable4,
+ kEoBBaseSaveThrwLvlIndex,
+ kEoBBaseSaveThrwModDiv,
+ kEoBBaseSaveThrwModExt,
+
+ kEoB1MainMenuStrings,
+ kEoB1BonusStrings,
+
+ kEoB1IntroFilesOpening,
+ kEoB1IntroFilesTower,
+ kEoB1IntroFilesOrb,
+ kEoB1IntroFilesWdEntry,
+ kEoB1IntroFilesKing,
+ kEoB1IntroFilesHands,
+ kEoB1IntroFilesWdExit,
+ kEoB1IntroFilesTunnel,
+ kEoB1IntroOpeningFrmDelay,
+ kEoB1IntroWdEncodeX,
+ kEoB1IntroWdEncodeY,
+ kEoB1IntroWdEncodeWH,
+ kEoB1IntroWdDsX,
+ kEoB1IntroWdDsY,
+ kEoB1IntroTvlX1,
+ kEoB1IntroTvlY1,
+ kEoB1IntroTvlX2,
+ kEoB1IntroTvlY2,
+ kEoB1IntroTvlW,
+ kEoB1IntroTvlH,
+ kEoB1IntroOrbFadePal,
+
+ kEoB1FinaleCouncilAnim1,
+ kEoB1FinaleCouncilAnim2,
+ kEoB1FinaleCouncilAnim3,
+ kEoB1FinaleCouncilAnim4,
+ kEoB1FinaleEyesAnim,
+ kEoB1FinaleHandsAnim,
+ kEoB1FinaleTextDuration,
+
+ kEoB1DoorShapeDefs,
+ kEoB1DoorSwitchShapeDefs,
+ kEoB1DoorSwitchCoords,
+ kEoB1MonsterProperties,
+ kEoB1EnemyMageSpellList,
+ kEoB1EnemyMageSfx,
+ kEoB1BeholderSpellList,
+ kEoB1BeholderSfx,
+ kEoB1TurnUndeadString,
+
+ kEoB1NpcShpData,
+ kEoB1NpcSubShpIndex1,
+ kEoB1NpcSubShpIndex2,
+ kEoB1NpcSubShpY,
+ kEoB1Npc0Strings,
+ kEoB1Npc11Strings,
+ kEoB1Npc12Strings,
+ kEoB1Npc21Strings,
+ kEoB1Npc22Strings,
+ kEoB1Npc31Strings,
+ kEoB1Npc32Strings,
+ kEoB1Npc4Strings,
+ kEoB1Npc5Strings,
+ kEoB1Npc6Strings,
+ kEoB1Npc7Strings,
+
+ kEoBBasePryDoorStrings,
+ kEoBBaseWarningStrings,
+
+ kEoBBaseItemSuffixStringsRings,
+ kEoBBaseItemSuffixStringsPotions,
+ kEoBBaseItemSuffixStringsWands,
+
+ kEoBBaseRipItemStrings,
+ kEoBBaseCursedString,
+ kEoBBaseEnchantedString,
+ kEoBBaseMagicObjectStrings,
+ kEoBBaseMagicObjectString5,
+ kEoBBasePatternSuffix,
+ kEoBBasePatternGrFix1,
+ kEoBBasePatternGrFix2,
+ kEoBBaseValidateArmorString,
+ kEoBBaseValidateNoDropString,
+ kEoBBasePotionStrings,
+ kEoBBaseWandStrings,
+ kEoBBaseItemMisuseStrings,
+
+ kEoBBaseTakenStrings,
+ kEoBBasePotionEffectStrings,
+
+ kEoBBaseYesNoStrings,
+ kRpgCommonMoreStrings,
+ kEoBBaseNpcMaxStrings,
+ kEoBBaseNpcJoinStrings,
+ kEoBBaseCancelStrings,
+
+ kEoBBaseMenuStringsMain,
+ kEoBBaseMenuStringsSaveLoad,
+ kEoBBaseMenuStringsOnOff,
+ kEoBBaseMenuStringsSpells,
+ kEoBBaseMenuStringsRest,
+ kEoBBaseMenuStringsDrop,
+ kEoBBaseMenuStringsExit,
+ kEoBBaseMenuStringsStarve,
+ kEoBBaseMenuStringsScribe,
+ kEoBBaseMenuStringsDrop2,
+ kEoBBaseMenuStringsHead,
+ kEoBBaseMenuStringsPoison,
+ kEoBBaseMenuStringsMgc,
+ kEoBBaseMenuStringsPrefs,
+ kEoBBaseMenuStringsRest2,
+ kEoBBaseMenuStringsRest4,
+ kEoBBaseMenuStringsDefeat,
+ kEoBBaseMenuYesNoStrings,
+
+ kEoBBaseSpellLevelsMage,
+ kEoBBaseSpellLevelsCleric,
+ kEoBBaseNumSpellsCleric,
+ kEoBBaseNumSpellsWisAdj,
+ kEoBBaseNumSpellsPal,
+ kEoBBaseNumSpellsMage,
+
+ kEoBBaseCharGuiStringsHp,
+ kEoBBaseCharGuiStringsWp1,
+ kEoBBaseCharGuiStringsWr,
+ kEoBBaseCharGuiStringsSt1,
+ kEoBBaseCharGuiStringsIn,
+
+ kEoBBaseCharStatusStrings7,
+ kEoBBaseCharStatusStrings81,
+ kEoBBaseCharStatusStrings9,
+ kEoBBaseCharStatusStrings131,
+
+ kEoBBaseLevelGainStrings,
+ kEoBBaseExperienceTable0,
+ kEoBBaseExperienceTable1,
+ kEoBBaseExperienceTable2,
+ kEoBBaseExperienceTable3,
+ kEoBBaseExperienceTable4,
+
+ kEoBBaseBookNumbers,
+ kEoBBaseMageSpellsList,
+ kEoBBaseClericSpellsList,
+ kEoBBaseSpellNames,
+ kEoBBaseMagicStrings1,
+ kEoBBaseMagicStrings2,
+ kEoBBaseMagicStrings3,
+ kEoBBaseMagicStrings4,
+ kEoBBaseMagicStrings6,
+ kEoBBaseMagicStrings7,
+ kEoBBaseMagicStrings8,
+ kEoBBaseMagicStrings9,
+
+ kEoBBaseExpObjectTblIndex,
+ kEoBBaseExpObjectShpStart,
+ kEoBBaseExpObjectTbl1,
+ kEoBBaseExpObjectTbl2,
+ kEoBBaseExpObjectTbl3,
+ kEoBBaseExpObjectY,
+
+ kEoBBaseSparkDefSteps,
+ kEoBBaseSparkDefSubSteps,
+ kEoBBaseSparkDefShift,
+ kEoBBaseSparkDefAdd,
+ kEoBBaseSparkDefX,
+ kEoBBaseSparkDefY,
+ kEoBBaseSparkOfFlags1,
+ kEoBBaseSparkOfFlags2,
+ kEoBBaseSparkOfShift,
+ kEoBBaseSparkOfX,
+ kEoBBaseSparkOfY,
+
+ kEoBBaseSpellProperties,
+ kEoBBaseMagicFlightProps,
+ kEoBBaseTurnUndeadEffect,
+ kEoBBaseBurningHandsDest,
+ kEoBBaseConeOfColdDest1,
+ kEoBBaseConeOfColdDest2,
+ kEoBBaseConeOfColdDest3,
+ kEoBBaseConeOfColdDest4,
+ kEoBBaseConeOfColdGfxTbl,
+
+ kRpgCommonDscDoorShapeIndex,
+ kEoBBaseWllFlagPreset,
+ kEoBBaseDscShapeCoords,
+ kRpgCommonDscDoorScaleOffs,
+ kEoBBaseDscDoorScaleMult1,
+ kEoBBaseDscDoorScaleMult2,
+ kEoBBaseDscDoorScaleMult3,
+ kEoBBaseDscDoorScaleMult4,
+ kEoBBaseDscDoorScaleMult5,
+ kEoBBaseDscDoorScaleMult6,
+ kEoBBaseDscDoorXE,
+ kEoBBaseDscDoorY1,
+ kEoBBaseDscDoorY3,
+ kEoBBaseDscDoorY4,
+ kEoBBaseDscDoorY5,
+ kEoBBaseDscDoorY6,
+ kEoBBaseDscDoorY7,
+ kEoBBaseDscDoorCoordsExt,
+ kRpgCommonDscDoorFrameY1,
+ kRpgCommonDscDoorFrameY2,
+ kRpgCommonDscDoorFrameIndex1,
+ kRpgCommonDscDoorFrameIndex2,
+
+ kEoBBaseDscItemPosIndex,
+ kEoBBaseDscItemShpX,
+ kEoBBaseDscItemScaleIndex,
+ kEoBBaseDscItemTileIndex,
+ kEoBBaseDscItemShapeMap,
+ kEoBBaseDscTelptrShpCoords,
+
+ kEoBBasePortalSeqData,
+ kEoBBaseManDef,
+ kEoBBaseManWord,
+ kEoBBaseManPrompt,
+
+ kEoBBaseDscMonsterFrmOffsTbl1,
+ kEoBBaseDscMonsterFrmOffsTbl2,
+
+ kEoBBaseInvSlotX,
+ kEoBBaseInvSlotY,
+ kEoBBaseSlotValidationFlags,
+
+ kEoBBaseProjectileWeaponTypes,
+ kEoBBaseWandTypes,
+
+ kEoBBaseDrawObjPosIndex,
+ kEoBBaseFlightObjFlipIndex,
+ kEoBBaseFlightObjShpMap,
+ kEoBBaseFlightObjSclIndex,
+
+ kRpgCommonDscShapeIndex,
+ kRpgCommonDscX,
+ kRpgCommonDscTileIndex,
+ kRpgCommonDscDimData1,
+ kRpgCommonDscDimData2,
+ kRpgCommonDscBlockMap,
+ kRpgCommonDscDimMap,
+ kRpgCommonDscBlockIndex,
+
+ kEoBBaseClassModifierFlags,
+
+ kEoBBaseMonsterStepTable01,
+ kEoBBaseMonsterStepTable2,
+ kEoBBaseMonsterStepTable3,
+ kEoBBaseMonsterCloseAttPosTable1,
+ kEoBBaseMonsterCloseAttPosTable21,
+ kEoBBaseMonsterCloseAttChkTable1,
+ kEoBBaseMonsterCloseAttChkTable2,
+ kEoBBaseMonsterCloseAttDstTable1,
+ kEoBBaseMonsterCloseAttDstTable2,
+
+ kEoBBaseMonsterProximityTable,
+ kEoBBaseFindBlockMonstersTable,
+ kEoBBaseMonsterDirChangeTable,
+ kEoBBaseMonsterDistAttStrings,
+ kEoBBaseEncodeMonsterDefs,
+ kEoBBaseNpcPresets,
+
+ kEoBBaseSoundMap,
+ kEoB1LevelSoundFiles1,
+ kEoB1LevelSoundFiles2,
+ kEoBBaseSoundFilesIntro,
+ kEoBBaseSoundFilesIngame,
+ kEoBBaseSoundFilesFinale,
+
-1
};
@@ -1588,6 +1883,7 @@ const int eob1PC98Need[] = {
kEoBBaseMagicStrings6,
kEoBBaseMagicStrings7,
kEoBBaseMagicStrings8,
+ //kEoBBaseMagicStrings9,
kEoBBaseExpObjectTblIndex,
kEoBBaseExpObjectShpStart,
@@ -2020,6 +2316,9 @@ const int eob2FloppyNeed[] = {
kRpgCommonDscDimMap,
kRpgCommonDscBlockIndex,
+ kEoBBaseSoundFilesIntro,
+ kEoBBaseSoundFilesFinale,
+
-1
};
@@ -2344,6 +2643,9 @@ const int eob2PC98Need[] = {
kRpgCommonDscDimMap,
kRpgCommonDscBlockIndex,
+ kEoBBaseSoundFilesIntro,
+ kEoBBaseSoundFilesFinale,
+
-1
};
@@ -2901,6 +3203,9 @@ const int eob2FMTownsNeed[] = {
kEoB2Ascii2SjisTables,
kEoB2Ascii2SjisTables2,
kEoB2SaveNamePatterns,
+
+ kEoBBaseSoundFilesIntro,
+ kEoBBaseSoundFilesFinale,
kEoB2PcmSoundEffectsIngame,
kEoB2PcmSoundEffectsIntro,
kEoB2PcmSoundEffectsFinale,
@@ -2954,13 +3259,12 @@ const GameNeed gameNeedTable[] = {
{ kLoL, kPlatformDOS, kTalkieVersion, lolCDNeed },
{ kEoB1, kPlatformDOS, kNoSpecial, eob1FloppyNeed },
-
+ { kEoB1, kPlatformAmiga, kNoSpecial, eob1AmigaNeed },
//{ kEoB1, kPlatformPC98, kNoSpecial, eob1PC98Need },
{ kEoB2, kPlatformDOS, kNoSpecial, eob2FloppyNeed },
-
+ //{ kEoB2, kPlatformAmiga, kNoSpecial, eob2AmigaNeed },
//{ kEoB2, kPlatformPC98, kNoSpecial, eob2PC98Need },
-
{ kEoB2, kPlatformFMTowns, kNoSpecial, eob2FMTownsNeed },
{ -1, -1, -1, 0 }
diff --git a/devtools/create_kyradat/resources.cpp b/devtools/create_kyradat/resources.cpp
index 9b225bf2a9..4de1d41503 100644
--- a/devtools/create_kyradat/resources.cpp
+++ b/devtools/create_kyradat/resources.cpp
@@ -94,7 +94,9 @@
#include "resources/eob1_dos_english.h"
#include "resources/eob1_dos_german.h"
#include "resources/eob1_dos_italian.h"
-
+#include "resources/eob1_amiga.h"
+#include "resources/eob1_amiga_english.h"
+#include "resources/eob1_amiga_german.h"
//#include "resources/eob1_pc98.h"
//#include "resources/eob1_pc98_japanese.h"
@@ -102,10 +104,11 @@
#include "resources/eob2_dos.h"
#include "resources/eob2_dos_english.h"
#include "resources/eob2_dos_german.h"
-
+//#include "resources/eob2_amiga.h"
+//#include "resources/eob2_amiga_english.h"
+//#include "resources/eob2_amiga_german.h"
//#include "resources/eob2_pc98.h"
//#include "resources/eob2_pc98_japanese.h"
-
#include "resources/eob2_fmtowns.h"
#include "resources/eob2_fmtowns_japanese.h"
@@ -1075,6 +1078,7 @@ static const ResourceProvider resourceProviders[] = {
{ kEoBBaseMagicStrings6, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MagicStrings6DOSEnglishProvider },
{ kEoBBaseMagicStrings7, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MagicStrings7DOSEnglishProvider },
{ kEoBBaseMagicStrings8, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MagicStrings8DOSEnglishProvider },
+ //{ kEoBBaseMagicStrings9, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MagicStrings9DOSEnglishProvider },
{ kEoBBaseExpObjectTblIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTblIndexDOSProvider },
{ kEoBBaseExpObjectShpStart, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExpObjectShpStartDOSProvider },
{ kEoBBaseExpObjectTbl1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTbl1DOSProvider },
@@ -1168,6 +1172,9 @@ static const ResourceProvider resourceProviders[] = {
{ kEoBBaseMonsterDistAttStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MonsterDistAttStringsDOSEnglishProvider },
{ kEoBBaseEncodeMonsterDefs, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1EncodeMonsterDefsDOSProvider },
{ kEoBBaseNpcPresets, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1NpcPresetsDOSProvider },
+ { kEoBBaseSoundFilesIntro, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SoundFilesIntroDOSProvider },
+ { kEoBBaseSoundFilesIngame, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SoundFilesIngameDOSProvider },
+ { kEoBBaseSoundFilesFinale, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SoundFilesFinaleDOSProvider },
{ kEoBBaseChargenStrings1, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ChargenStrings1DOSGermanProvider },
{ kEoBBaseChargenStrings2, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ChargenStrings2DOSGermanProvider },
{ kEoBBaseChargenStatStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ChargenStatStringsDOSGermanProvider },
@@ -1252,6 +1259,7 @@ static const ResourceProvider resourceProviders[] = {
{ kEoBBaseMagicStrings6, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MagicStrings6DOSGermanProvider },
{ kEoBBaseMagicStrings7, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MagicStrings7DOSGermanProvider },
{ kEoBBaseMagicStrings8, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MagicStrings8DOSGermanProvider },
+ //{ kEoBBaseMagicStrings9, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MagicStrings9DOSGermanProvider },
{ kEoBBaseManDef, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ManDefDOSGermanProvider },
{ kEoBBaseManWord, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ManWordDOSGermanProvider },
{ kEoBBaseManPrompt, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ManPromptDOSGermanProvider },
@@ -1340,10 +1348,347 @@ static const ResourceProvider resourceProviders[] = {
{ kEoBBaseMagicStrings6, kEoB1, kPlatformDOS, kNoSpecial, IT_ITA, &kEoB1MagicStrings6DOSItalianProvider },
{ kEoBBaseMagicStrings7, kEoB1, kPlatformDOS, kNoSpecial, IT_ITA, &kEoB1MagicStrings7DOSItalianProvider },
{ kEoBBaseMagicStrings8, kEoB1, kPlatformDOS, kNoSpecial, IT_ITA, &kEoB1MagicStrings8DOSItalianProvider },
+ //{ kEoBBaseMagicStrings9, kEoB1, kPlatformDOS, kNoSpecial, IT_ITA, &kEoB1MagicStrings9DOSItalianProvider },
{ kEoBBaseManDef, kEoB1, kPlatformDOS, kNoSpecial, IT_ITA, &kEoB1ManDefDOSItalianProvider },
{ kEoBBaseManWord, kEoB1, kPlatformDOS, kNoSpecial, IT_ITA, &kEoB1ManWordDOSItalianProvider },
{ kEoBBaseManPrompt, kEoB1, kPlatformDOS, kNoSpecial, IT_ITA, &kEoB1ManPromptDOSItalianProvider },
{ kEoBBaseMonsterDistAttStrings, kEoB1, kPlatformDOS, kNoSpecial, IT_ITA, &kEoB1MonsterDistAttStringsDOSItalianProvider },
+ { kEoBBaseChargenStrings1, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ChargenStrings1AmigaEnglishProvider },
+ { kEoBBaseChargenStrings2, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ChargenStrings2AmigaEnglishProvider },
+ { kEoBBaseChargenStartLevels, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ChargenStartLevelsAmigaProvider },
+ { kEoBBaseChargenStatStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ChargenStatStringsAmigaEnglishProvider },
+ { kEoBBaseChargenRaceSexStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ChargenRaceSexStringsAmigaEnglishProvider },
+ { kEoBBaseChargenClassStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ChargenClassStringsAmigaEnglishProvider },
+ { kEoBBaseChargenAlignmentStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ChargenAlignmentStringsAmigaEnglishProvider },
+ { kEoBBaseChargenEnterGameStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ChargenEnterGameStringsAmigaEnglishProvider },
+ { kEoBBaseChargenClassMinStats, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ChargenClassMinStatsAmigaProvider },
+ { kEoBBaseChargenRaceMinStats, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ChargenRaceMinStatsAmigaProvider },
+ { kEoBBaseChargenRaceMaxStats, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ChargenRaceMaxStatsAmigaProvider },
+ { kEoBBaseSaveThrowTable1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SaveThrowTable1AmigaProvider },
+ { kEoBBaseSaveThrowTable2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SaveThrowTable2AmigaProvider },
+ { kEoBBaseSaveThrowTable3, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SaveThrowTable3AmigaProvider },
+ { kEoBBaseSaveThrowTable4, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SaveThrowTable4AmigaProvider },
+ { kEoBBaseSaveThrwLvlIndex, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SaveThrwLvlIndexAmigaProvider },
+ { kEoBBaseSaveThrwModDiv, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SaveThrwModDivAmigaProvider },
+ { kEoBBaseSaveThrwModExt, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SaveThrwModExtAmigaProvider },
+ { kEoB1MainMenuStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MainMenuStringsAmigaEnglishProvider },
+ { kEoB1BonusStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1BonusStringsAmigaEnglishProvider },
+ { kEoB1IntroFilesOpening, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroFilesOpeningAmigaProvider },
+ { kEoB1IntroFilesTower, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroFilesTowerAmigaProvider },
+ { kEoB1IntroFilesOrb, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroFilesOrbAmigaProvider },
+ { kEoB1IntroFilesWdEntry, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroFilesWdEntryAmigaProvider },
+ { kEoB1IntroFilesKing, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroFilesKingAmigaProvider },
+ { kEoB1IntroFilesHands, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroFilesHandsAmigaProvider },
+ { kEoB1IntroFilesWdExit, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroFilesWdExitAmigaProvider },
+ { kEoB1IntroFilesTunnel, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroFilesTunnelAmigaProvider },
+ { kEoB1IntroOpeningFrmDelay, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroOpeningFrmDelayAmigaProvider },
+ { kEoB1IntroWdEncodeX, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroWdEncodeXAmigaProvider },
+ { kEoB1IntroWdEncodeY, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroWdEncodeYAmigaProvider },
+ { kEoB1IntroWdEncodeWH, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroWdEncodeWHAmigaProvider },
+ { kEoB1IntroWdDsX, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroWdDsXAmigaProvider },
+ { kEoB1IntroWdDsY, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroWdDsYAmigaProvider },
+ { kEoB1IntroTvlX1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroTvlX1AmigaProvider },
+ { kEoB1IntroTvlY1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroTvlY1AmigaProvider },
+ { kEoB1IntroTvlX2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroTvlX2AmigaProvider },
+ { kEoB1IntroTvlY2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroTvlY2AmigaProvider },
+ { kEoB1IntroTvlW, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroTvlWAmigaProvider },
+ { kEoB1IntroTvlH, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroTvlHAmigaProvider },
+ { kEoB1IntroOrbFadePal, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1IntroOrbFadePalAmigaProvider },
+ { kEoB1FinaleCouncilAnim1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1CouncilAnimData1AmigaProvider },
+ { kEoB1FinaleCouncilAnim2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1CouncilAnimData2AmigaProvider },
+ { kEoB1FinaleCouncilAnim3, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1CouncilAnimData3AmigaProvider },
+ { kEoB1FinaleCouncilAnim4, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1CouncilAnimData4AmigaProvider },
+ { kEoB1FinaleEyesAnim, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1EyesAnimDataAmigaProvider },
+ { kEoB1FinaleHandsAnim, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1HandsAnimDataAmigaProvider },
+ { kEoB1FinaleTextDuration, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1TextFrameDurationAmigaProvider },
+ { kEoB1DoorShapeDefs, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DoorShapeDefsAmigaProvider },
+ { kEoB1DoorSwitchShapeDefs, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DoorSwitchShapeDefsAmigaProvider },
+ { kEoB1DoorSwitchCoords, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DoorSwitchCoordsAmigaProvider },
+ { kEoB1MonsterProperties, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1MonsterPropertiesAmigaProvider },
+ { kEoB1EnemyMageSpellList, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1EnemyMageSpellListAmigaProvider },
+ { kEoB1EnemyMageSfx, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1EnemyMageSfxAmigaProvider },
+ { kEoB1BeholderSpellList, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1BeholderSpellListAmigaProvider },
+ { kEoB1BeholderSfx, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1BeholderSfxAmigaProvider },
+ { kEoB1TurnUndeadString, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1TurnUndeadStringAmigaEnglishProvider },
+ { kEoB1NpcShpData, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1NpcShpDataAmigaProvider },
+ { kEoB1NpcSubShpIndex1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1NpcSubShpIndex1AmigaProvider },
+ { kEoB1NpcSubShpIndex2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1NpcSubShpIndex2AmigaProvider },
+ { kEoB1NpcSubShpY, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1NpcSubShpYAmigaProvider },
+ { kEoB1Npc0Strings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1Npc0StringsAmigaEnglishProvider },
+ { kEoB1Npc11Strings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1Npc11StringsAmigaEnglishProvider },
+ { kEoB1Npc12Strings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1Npc12StringsAmigaEnglishProvider },
+ { kEoB1Npc21Strings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1Npc21StringsAmigaEnglishProvider },
+ { kEoB1Npc22Strings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1Npc22StringsAmigaEnglishProvider },
+ { kEoB1Npc31Strings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1Npc31StringsAmigaEnglishProvider },
+ { kEoB1Npc32Strings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1Npc32StringsAmigaEnglishProvider },
+ { kEoB1Npc4Strings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1Npc4StringsAmigaEnglishProvider },
+ { kEoB1Npc5Strings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1Npc5StringsAmigaEnglishProvider },
+ { kEoB1Npc6Strings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1Npc6StringsAmigaEnglishProvider },
+ { kEoB1Npc7Strings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1Npc7StringsAmigaEnglishProvider },
+ { kEoBBasePryDoorStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1PryDoorStringsAmigaEnglishProvider },
+ { kEoBBaseWarningStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1WarningStringsAmigaEnglishProvider },
+ { kEoBBaseItemSuffixStringsRings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ItemSuffixStringsRingsAmigaEnglishProvider },
+ { kEoBBaseItemSuffixStringsPotions, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ItemSuffixStringsPotionsAmigaEnglishProvider },
+ { kEoBBaseItemSuffixStringsWands, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ItemSuffixStringsWandsAmigaEnglishProvider },
+ { kEoBBaseRipItemStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1RipItemStringsAmigaEnglishProvider },
+ { kEoBBaseCursedString, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1CursedStringAmigaEnglishProvider },
+ { kEoBBaseEnchantedString, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1EnchantedStringAmigaProvider },
+ { kEoBBaseMagicObjectStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MagicObjectStringsAmigaEnglishProvider },
+ { kEoBBaseMagicObjectString5, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MagicObjectString5AmigaEnglishProvider },
+ { kEoBBasePatternSuffix, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1PatternSuffixAmigaEnglishProvider },
+ { kEoBBasePatternGrFix1, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1PatternGrFix1AmigaEnglishProvider },
+ { kEoBBasePatternGrFix2, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1PatternGrFix2AmigaEnglishProvider },
+ { kEoBBaseValidateArmorString, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ValidateArmorStringAmigaEnglishProvider },
+ { kEoBBaseValidateNoDropString, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ValidateNoDropStringAmigaEnglishProvider },
+ { kEoBBasePotionStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1PotionStringsAmigaEnglishProvider },
+ { kEoBBaseWandStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1WandStringsAmigaEnglishProvider },
+ { kEoBBaseItemMisuseStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ItemMisuseStringsAmigaEnglishProvider },
+ { kEoBBaseTakenStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1TakenStringsAmigaEnglishProvider },
+ { kEoBBasePotionEffectStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1PotionEffectStringsAmigaEnglishProvider },
+ { kEoBBaseYesNoStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1YesNoStringsAmigaEnglishProvider },
+ { kRpgCommonMoreStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MoreStringsAmigaEnglishProvider },
+ { kEoBBaseNpcMaxStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1NpcMaxStringsAmigaEnglishProvider },
+ { kEoBBaseNpcJoinStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1NpcJoinStringsAmigaEnglishProvider },
+ { kEoBBaseCancelStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1CancelStringsAmigaEnglishProvider },
+ { kEoBBaseMenuStringsMain, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsMainAmigaEnglishProvider },
+ { kEoBBaseMenuStringsSaveLoad, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsSaveLoadAmigaEnglishProvider },
+ { kEoBBaseMenuStringsOnOff, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsOnOffAmigaEnglishProvider },
+ { kEoBBaseMenuStringsSpells, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsSpellsAmigaEnglishProvider },
+ { kEoBBaseMenuStringsRest, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsRestAmigaEnglishProvider },
+ { kEoBBaseMenuStringsDrop, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsDropAmigaEnglishProvider },
+ { kEoBBaseMenuStringsExit, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsExitAmigaEnglishProvider },
+ { kEoBBaseMenuStringsStarve, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsStarveAmigaEnglishProvider },
+ { kEoBBaseMenuStringsScribe, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsScribeAmigaEnglishProvider },
+ { kEoBBaseMenuStringsDrop2, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsDrop2AmigaEnglishProvider },
+ { kEoBBaseMenuStringsHead, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsHeadAmigaEnglishProvider },
+ { kEoBBaseMenuStringsPoison, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsPoisonAmigaEnglishProvider },
+ { kEoBBaseMenuStringsMgc, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsMgcAmigaEnglishProvider },
+ { kEoBBaseMenuStringsPrefs, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsPrefsAmigaEnglishProvider },
+ { kEoBBaseMenuStringsRest2, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsRest2AmigaEnglishProvider },
+ { kEoBBaseMenuStringsRest4, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsRest4AmigaEnglishProvider },
+ { kEoBBaseMenuStringsDefeat, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuStringsDefeatAmigaEnglishProvider },
+ { kEoBBaseMenuYesNoStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MenuYesNoStringsAmigaEnglishProvider },
+ { kEoBBaseSpellLevelsMage, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SpellLevelsMageAmigaProvider },
+ { kEoBBaseSpellLevelsCleric, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SpellLevelsClericAmigaProvider },
+ { kEoBBaseNumSpellsCleric, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1NumSpellsClericAmigaProvider },
+ { kEoBBaseNumSpellsWisAdj, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1NumSpellsWisAdjAmigaProvider },
+ { kEoBBaseNumSpellsPal, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1NumSpellsPalAmigaProvider },
+ { kEoBBaseNumSpellsMage, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1NumSpellsMageAmigaProvider },
+ { kEoBBaseCharGuiStringsHp, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1CharGuiStringsHpAmigaEnglishProvider },
+ { kEoBBaseCharGuiStringsWp1, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1CharGuiStringsWp1AmigaEnglishProvider },
+ { kEoBBaseCharGuiStringsWr, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1CharGuiStringsWrAmigaEnglishProvider },
+ { kEoBBaseCharGuiStringsSt1, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1CharGuiStringsSt1AmigaEnglishProvider },
+ { kEoBBaseCharGuiStringsIn, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1CharGuiStringsInAmigaEnglishProvider },
+ { kEoBBaseCharStatusStrings7, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1CharStatusStrings7AmigaEnglishProvider },
+ { kEoBBaseCharStatusStrings81, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1CharStatusStrings81AmigaEnglishProvider },
+ { kEoBBaseCharStatusStrings9, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1CharStatusStrings9AmigaEnglishProvider },
+ { kEoBBaseCharStatusStrings131, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1CharStatusStrings131AmigaEnglishProvider },
+ { kEoBBaseLevelGainStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1LevelGainStringsAmigaEnglishProvider },
+ { kEoBBaseExperienceTable0, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable0AmigaProvider },
+ { kEoBBaseExperienceTable1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable1AmigaProvider },
+ { kEoBBaseExperienceTable2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable2AmigaProvider },
+ { kEoBBaseExperienceTable3, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable3AmigaProvider },
+ { kEoBBaseExperienceTable4, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable4AmigaProvider },
+ { kEoBBaseBookNumbers, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1BookNumbersAmigaEnglishProvider },
+ { kEoBBaseMageSpellsList, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MageSpellsListAmigaEnglishProvider },
+ { kEoBBaseClericSpellsList, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ClericSpellsListAmigaEnglishProvider },
+ { kEoBBaseSpellNames, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1SpellNamesAmigaEnglishProvider },
+ { kEoBBaseMagicStrings1, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MagicStrings1AmigaEnglishProvider },
+ { kEoBBaseMagicStrings2, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MagicStrings2AmigaEnglishProvider },
+ { kEoBBaseMagicStrings3, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MagicStrings3AmigaEnglishProvider },
+ { kEoBBaseMagicStrings4, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MagicStrings4AmigaEnglishProvider },
+ { kEoBBaseMagicStrings6, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MagicStrings6AmigaEnglishProvider },
+ { kEoBBaseMagicStrings7, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MagicStrings7AmigaEnglishProvider },
+ { kEoBBaseMagicStrings8, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MagicStrings8AmigaEnglishProvider },
+ { kEoBBaseMagicStrings9, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MagicStrings9AmigaEnglishProvider },
+ { kEoBBaseExpObjectTblIndex, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTblIndexAmigaProvider },
+ { kEoBBaseExpObjectShpStart, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ExpObjectShpStartAmigaProvider },
+ { kEoBBaseExpObjectTbl1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTbl1AmigaProvider },
+ { kEoBBaseExpObjectTbl2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTbl2AmigaProvider },
+ { kEoBBaseExpObjectTbl3, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTbl3AmigaProvider },
+ { kEoBBaseExpObjectY, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ExpObjectYAmigaProvider },
+ { kEoBBaseSparkDefSteps, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SparkDefStepsAmigaProvider },
+ { kEoBBaseSparkDefSubSteps, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SparkDefSubStepsAmigaProvider },
+ { kEoBBaseSparkDefShift, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SparkDefShiftAmigaProvider },
+ { kEoBBaseSparkDefAdd, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SparkDefAddAmigaProvider },
+ { kEoBBaseSparkDefX, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SparkDefXAmigaProvider },
+ { kEoBBaseSparkDefY, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SparkDefYAmigaProvider },
+ { kEoBBaseSparkOfFlags1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SparkOfFlags1AmigaProvider },
+ { kEoBBaseSparkOfFlags2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SparkOfFlags2AmigaProvider },
+ { kEoBBaseSparkOfShift, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SparkOfShiftAmigaProvider },
+ { kEoBBaseSparkOfX, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SparkOfXAmigaProvider },
+ { kEoBBaseSparkOfY, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SparkOfYAmigaProvider },
+ { kEoBBaseSpellProperties, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SpellPropertiesAmigaProvider },
+ { kEoBBaseMagicFlightProps, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1MagicFlightPropsAmigaProvider },
+ { kEoBBaseTurnUndeadEffect, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1TurnUndeadEffectAmigaProvider },
+ { kEoBBaseBurningHandsDest, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1BurningHandsDestAmigaProvider },
+ { kEoBBaseConeOfColdDest1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdDest1AmigaProvider },
+ { kEoBBaseConeOfColdDest2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdDest2AmigaProvider },
+ { kEoBBaseConeOfColdDest3, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdDest3AmigaProvider },
+ { kEoBBaseConeOfColdDest4, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdDest4AmigaProvider },
+ { kEoBBaseConeOfColdGfxTbl, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdGfxTblAmigaProvider },
+ { kRpgCommonDscDoorShapeIndex, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorShapeIndexAmigaProvider },
+ { kEoBBaseWllFlagPreset, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1WllFlagPresetAmigaProvider },
+ { kEoBBaseDscShapeCoords, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscShapeCoordsAmigaProvider },
+ { kRpgCommonDscDoorScaleOffs, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleOffsAmigaProvider },
+ { kEoBBaseDscDoorScaleMult1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult1AmigaProvider },
+ { kEoBBaseDscDoorScaleMult2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult2AmigaProvider },
+ { kEoBBaseDscDoorScaleMult3, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult3AmigaProvider },
+ { kEoBBaseDscDoorScaleMult4, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult4AmigaProvider },
+ { kEoBBaseDscDoorScaleMult5, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult5AmigaProvider },
+ { kEoBBaseDscDoorScaleMult6, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult6AmigaProvider },
+ { kEoBBaseDscDoorXE, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorXEAmigaProvider },
+ { kEoBBaseDscDoorY1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorY1AmigaProvider },
+ { kEoBBaseDscDoorY3, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorY3AmigaProvider },
+ { kEoBBaseDscDoorY4, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorY4AmigaProvider },
+ { kEoBBaseDscDoorY5, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorY5AmigaProvider },
+ { kEoBBaseDscDoorY6, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorY6AmigaProvider },
+ { kEoBBaseDscDoorY7, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorY7AmigaProvider },
+ { kEoBBaseDscDoorCoordsExt, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorCoordsExtAmigaProvider },
+ { kRpgCommonDscDoorFrameY1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorFrameY1AmigaProvider },
+ { kRpgCommonDscDoorFrameY2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorFrameY2AmigaProvider },
+ { kRpgCommonDscDoorFrameIndex1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorFrameIndex1AmigaProvider },
+ { kRpgCommonDscDoorFrameIndex2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDoorFrameIndex2AmigaProvider },
+ { kEoBBaseDscItemPosIndex, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscItemPosIndexAmigaProvider },
+ { kEoBBaseDscItemShpX, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscItemShpXAmigaProvider },
+ { kEoBBaseDscItemScaleIndex, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscItemScaleIndexAmigaProvider },
+ { kEoBBaseDscItemTileIndex, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscItemTileIndexAmigaProvider },
+ { kEoBBaseDscItemShapeMap, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscItemShapeMapAmigaProvider },
+ { kEoBBaseDscTelptrShpCoords, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscTelptrShpCoordsAmigaProvider },
+ { kEoBBasePortalSeqData, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1PortalSeqDataAmigaProvider },
+ { kEoBBaseManDef, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ManDefAmigaEnglishProvider },
+ { kEoBBaseManWord, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ManWordAmigaEnglishProvider },
+ { kEoBBaseManPrompt, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1ManPromptAmigaEnglishProvider },
+ { kEoBBaseDscMonsterFrmOffsTbl1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscMonsterFrmOffsTbl1AmigaProvider },
+ { kEoBBaseDscMonsterFrmOffsTbl2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscMonsterFrmOffsTbl2AmigaProvider },
+ { kEoBBaseInvSlotX, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1InvSlotXAmigaProvider },
+ { kEoBBaseInvSlotY, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1InvSlotYAmigaProvider },
+ { kEoBBaseSlotValidationFlags, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SlotValidationFlagsAmigaProvider },
+ { kEoBBaseProjectileWeaponTypes, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ProjectileWeaponTypesAmigaProvider },
+ { kEoBBaseWandTypes, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1WandTypesAmigaProvider },
+ { kEoBBaseDrawObjPosIndex, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DrawObjPosIndexAmigaProvider },
+ { kEoBBaseFlightObjFlipIndex, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1FlightObjFlipIndexAmigaProvider },
+ { kEoBBaseFlightObjShpMap, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1FlightObjShpMapAmigaProvider },
+ { kEoBBaseFlightObjSclIndex, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1FlightObjSclIndexAmigaProvider },
+ { kRpgCommonDscShapeIndex, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscShapeIndexAmigaProvider },
+ { kRpgCommonDscX, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscXAmigaProvider },
+ { kRpgCommonDscTileIndex, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscTileIndexAmigaProvider },
+ { kRpgCommonDscDimData1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDimData1AmigaProvider },
+ { kRpgCommonDscDimData2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDimData2AmigaProvider },
+ { kRpgCommonDscBlockMap, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscBlockMapAmigaProvider },
+ { kRpgCommonDscDimMap, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscDimMapAmigaProvider },
+ { kRpgCommonDscBlockIndex, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1DscBlockIndexAmigaProvider },
+ { kEoBBaseClassModifierFlags, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1ClassModifierFlagsAmigaProvider },
+ { kEoBBaseMonsterStepTable01, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1MonsterStepTable01AmigaProvider },
+ { kEoBBaseMonsterStepTable2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1MonsterStepTable2AmigaProvider },
+ { kEoBBaseMonsterStepTable3, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1MonsterStepTable3AmigaProvider },
+ { kEoBBaseMonsterCloseAttPosTable1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttPosTable1AmigaProvider },
+ { kEoBBaseMonsterCloseAttPosTable21, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttPosTable21AmigaProvider },
+ { kEoBBaseMonsterCloseAttChkTable1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttChkTable1AmigaProvider },
+ { kEoBBaseMonsterCloseAttChkTable2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttChkTable2AmigaProvider },
+ { kEoBBaseMonsterCloseAttDstTable1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttDstTable1AmigaProvider },
+ { kEoBBaseMonsterCloseAttDstTable2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttDstTable2AmigaProvider },
+ { kEoBBaseMonsterProximityTable, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1MonsterProximityTableAmigaProvider },
+ { kEoBBaseFindBlockMonstersTable, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1FindBlockMonstersTableAmigaProvider },
+ { kEoBBaseMonsterDirChangeTable, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1MonsterDirChangeTableAmigaProvider },
+ { kEoBBaseMonsterDistAttStrings, kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB1MonsterDistAttStringsAmigaEnglishProvider },
+ { kEoBBaseEncodeMonsterDefs, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1EncodeMonsterDefsAmigaProvider },
+ { kEoBBaseNpcPresets, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1NpcPresetsAmigaProvider },
+ { kEoBBaseSoundMap, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SoundMapAmigaProvider },
+ { kEoB1LevelSoundFiles1, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1LevelSoundFiles1AmigaProvider },
+ { kEoB1LevelSoundFiles2, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1LevelSoundFiles2AmigaProvider },
+ { kEoBBaseSoundFilesIntro, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SoundFilesIntroAmigaProvider },
+ { kEoBBaseSoundFilesIngame, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SoundFilesIngameAmigaProvider },
+ { kEoBBaseSoundFilesFinale, kEoB1, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB1SoundFilesFinaleAmigaProvider },
+ { kEoBBaseChargenStrings1, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ChargenStrings1AmigaGermanProvider },
+ { kEoBBaseChargenStrings2, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ChargenStrings2AmigaGermanProvider },
+ { kEoBBaseChargenStatStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ChargenStatStringsAmigaGermanProvider },
+ { kEoBBaseChargenRaceSexStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ChargenRaceSexStringsAmigaGermanProvider },
+ { kEoBBaseChargenClassStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ChargenClassStringsAmigaGermanProvider },
+ { kEoBBaseChargenAlignmentStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ChargenAlignmentStringsAmigaGermanProvider },
+ { kEoBBaseChargenEnterGameStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ChargenEnterGameStringsAmigaGermanProvider },
+ { kEoB1MainMenuStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MainMenuStringsAmigaGermanProvider },
+ { kEoB1BonusStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1BonusStringsAmigaGermanProvider },
+ { kEoB1TurnUndeadString, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1TurnUndeadStringAmigaGermanProvider },
+ { kEoB1Npc0Strings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1Npc0StringsAmigaGermanProvider },
+ { kEoB1Npc11Strings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1Npc11StringsAmigaGermanProvider },
+ { kEoB1Npc12Strings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1Npc12StringsAmigaGermanProvider },
+ { kEoB1Npc21Strings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1Npc21StringsAmigaGermanProvider },
+ { kEoB1Npc22Strings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1Npc22StringsAmigaGermanProvider },
+ { kEoB1Npc31Strings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1Npc31StringsAmigaGermanProvider },
+ { kEoB1Npc32Strings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1Npc32StringsAmigaGermanProvider },
+ { kEoB1Npc4Strings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1Npc4StringsAmigaGermanProvider },
+ { kEoB1Npc5Strings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1Npc5StringsAmigaGermanProvider },
+ { kEoB1Npc6Strings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1Npc6StringsAmigaGermanProvider },
+ { kEoB1Npc7Strings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1Npc7StringsAmigaGermanProvider },
+ { kEoBBasePryDoorStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1PryDoorStringsAmigaGermanProvider },
+ { kEoBBaseWarningStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1WarningStringsAmigaGermanProvider },
+ { kEoBBaseItemSuffixStringsRings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ItemSuffixStringsRingsAmigaGermanProvider },
+ { kEoBBaseItemSuffixStringsPotions, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ItemSuffixStringsPotionsAmigaGermanProvider },
+ { kEoBBaseItemSuffixStringsWands, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ItemSuffixStringsWandsAmigaGermanProvider },
+ { kEoBBaseRipItemStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1RipItemStringsAmigaGermanProvider },
+ { kEoBBaseCursedString, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1CursedStringAmigaGermanProvider },
+ { kEoBBaseMagicObjectStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MagicObjectStringsAmigaGermanProvider },
+ { kEoBBaseMagicObjectString5, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MagicObjectString5AmigaGermanProvider },
+ { kEoBBasePatternSuffix, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1PatternSuffixAmigaGermanProvider },
+ { kEoBBasePatternGrFix1, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1PatternGrFix1AmigaGermanProvider },
+ { kEoBBasePatternGrFix2, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1PatternGrFix2AmigaGermanProvider },
+ { kEoBBaseValidateArmorString, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ValidateArmorStringAmigaGermanProvider },
+ { kEoBBaseValidateNoDropString, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ValidateNoDropStringAmigaGermanProvider },
+ { kEoBBasePotionStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1PotionStringsAmigaGermanProvider },
+ { kEoBBaseWandStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1WandStringsAmigaGermanProvider },
+ { kEoBBaseItemMisuseStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ItemMisuseStringsAmigaGermanProvider },
+ { kEoBBaseTakenStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1TakenStringsAmigaGermanProvider },
+ { kEoBBasePotionEffectStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1PotionEffectStringsAmigaGermanProvider },
+ { kEoBBaseYesNoStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1YesNoStringsAmigaGermanProvider },
+ { kRpgCommonMoreStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MoreStringsAmigaGermanProvider },
+ { kEoBBaseNpcMaxStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1NpcMaxStringsAmigaGermanProvider },
+ { kEoBBaseNpcJoinStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1NpcJoinStringsAmigaGermanProvider },
+ { kEoBBaseCancelStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1CancelStringsAmigaGermanProvider },
+ { kEoBBaseMenuStringsMain, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsMainAmigaGermanProvider },
+ { kEoBBaseMenuStringsSaveLoad, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsSaveLoadAmigaGermanProvider },
+ { kEoBBaseMenuStringsOnOff, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsOnOffAmigaGermanProvider },
+ { kEoBBaseMenuStringsSpells, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsSpellsAmigaGermanProvider },
+ { kEoBBaseMenuStringsRest, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsRestAmigaGermanProvider },
+ { kEoBBaseMenuStringsDrop, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsDropAmigaGermanProvider },
+ { kEoBBaseMenuStringsExit, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsExitAmigaGermanProvider },
+ { kEoBBaseMenuStringsStarve, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsStarveAmigaGermanProvider },
+ { kEoBBaseMenuStringsScribe, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsScribeAmigaGermanProvider },
+ { kEoBBaseMenuStringsDrop2, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsDrop2AmigaGermanProvider },
+ { kEoBBaseMenuStringsHead, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsHeadAmigaGermanProvider },
+ { kEoBBaseMenuStringsPoison, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsPoisonAmigaGermanProvider },
+ { kEoBBaseMenuStringsMgc, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsMgcAmigaGermanProvider },
+ { kEoBBaseMenuStringsPrefs, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsPrefsAmigaGermanProvider },
+ { kEoBBaseMenuStringsRest2, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsRest2AmigaGermanProvider },
+ { kEoBBaseMenuStringsRest4, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsRest4AmigaGermanProvider },
+ { kEoBBaseMenuStringsDefeat, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuStringsDefeatAmigaGermanProvider },
+ { kEoBBaseMenuYesNoStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MenuYesNoStringsAmigaGermanProvider },
+ { kEoBBaseCharGuiStringsHp, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1CharGuiStringsHpAmigaGermanProvider },
+ { kEoBBaseCharGuiStringsWp1, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1CharGuiStringsWp1AmigaGermanProvider },
+ { kEoBBaseCharGuiStringsWr, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1CharGuiStringsWrAmigaGermanProvider },
+ { kEoBBaseCharGuiStringsSt1, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1CharGuiStringsSt1AmigaGermanProvider },
+ { kEoBBaseCharGuiStringsIn, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1CharGuiStringsInAmigaGermanProvider },
+ { kEoBBaseCharStatusStrings7, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1CharStatusStrings7AmigaGermanProvider },
+ { kEoBBaseCharStatusStrings81, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1CharStatusStrings81AmigaGermanProvider },
+ { kEoBBaseCharStatusStrings9, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1CharStatusStrings9AmigaGermanProvider },
+ { kEoBBaseCharStatusStrings131, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1CharStatusStrings131AmigaGermanProvider },
+ { kEoBBaseLevelGainStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1LevelGainStringsAmigaGermanProvider },
+ { kEoBBaseBookNumbers, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1BookNumbersAmigaGermanProvider },
+ { kEoBBaseMageSpellsList, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MageSpellsListAmigaGermanProvider },
+ { kEoBBaseClericSpellsList, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ClericSpellsListAmigaGermanProvider },
+ { kEoBBaseSpellNames, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1SpellNamesAmigaGermanProvider },
+ { kEoBBaseMagicStrings1, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MagicStrings1AmigaGermanProvider },
+ { kEoBBaseMagicStrings2, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MagicStrings2AmigaGermanProvider },
+ { kEoBBaseMagicStrings3, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MagicStrings3AmigaGermanProvider },
+ { kEoBBaseMagicStrings4, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MagicStrings4AmigaGermanProvider },
+ { kEoBBaseMagicStrings6, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MagicStrings6AmigaGermanProvider },
+ { kEoBBaseMagicStrings7, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MagicStrings7AmigaGermanProvider },
+ { kEoBBaseMagicStrings8, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MagicStrings8AmigaGermanProvider },
+ { kEoBBaseMagicStrings9, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MagicStrings9AmigaGermanProvider },
+ { kEoBBaseManDef, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ManDefAmigaGermanProvider },
+ { kEoBBaseManWord, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ManWordAmigaGermanProvider },
+ { kEoBBaseManPrompt, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ManPromptAmigaGermanProvider },
+ { kEoBBaseMonsterDistAttStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MonsterDistAttStringsAmigaGermanProvider },
{ kEoBBaseChargenStrings1, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ChargenStrings1DOSEnglishProvider },
{ kEoBBaseChargenStrings2, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ChargenStrings2DOSEnglishProvider },
{ kEoBBaseChargenStartLevels, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ChargenStartLevelsDOSProvider },
@@ -1611,6 +1956,8 @@ static const ResourceProvider resourceProviders[] = {
{ kEoBBaseMonsterDistAttStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MonsterDistAttStringsDOSEnglishProvider },
{ kEoBBaseEncodeMonsterDefs, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2EncodeMonsterDefsDOSProvider },
{ kEoBBaseNpcPresets, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2NpcPresetsDOSProvider },
+ { kEoBBaseSoundFilesIntro, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SoundFilesIntroDOSProvider },
+ { kEoBBaseSoundFilesFinale, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SoundFilesFinaleDOSProvider },
{ kEoB2Npc1Strings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2Npc1StringsDOSEnglishProvider },
{ kEoB2Npc2Strings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2Npc2StringsDOSEnglishProvider },
{ kEoB2MonsterDustStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MonsterDustStringsDOSEnglishProvider },
@@ -2005,6 +2352,8 @@ static const ResourceProvider resourceProviders[] = {
{ kEoBBaseMonsterDirChangeTable, kEoB2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kEoB2MonsterDirChangeTableFMTownsProvider },
{ kEoBBaseMonsterDistAttStrings, kEoB2, kPlatformFMTowns, kNoSpecial, JA_JPN, &kEoB2MonsterDistAttStringsFMTownsJapaneseProvider },
{ kEoBBaseNpcPresets, kEoB2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kEoB2NpcPresetsFMTownsProvider },
+ { kEoBBaseSoundFilesIntro, kEoB2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kEoB2SoundFilesIntroFMTownsProvider },
+ { kEoBBaseSoundFilesFinale, kEoB2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kEoB2SoundFilesFinaleFMTownsProvider },
{ kEoB2Npc1Strings, kEoB2, kPlatformFMTowns, kNoSpecial, JA_JPN, &kEoB2Npc1StringsFMTownsJapaneseProvider },
{ kEoB2Npc2Strings, kEoB2, kPlatformFMTowns, kNoSpecial, JA_JPN, &kEoB2Npc2StringsFMTownsJapaneseProvider },
{ kEoB2MonsterDustStrings, kEoB2, kPlatformFMTowns, kNoSpecial, JA_JPN, &kEoB2MonsterDustStringsFMTownsJapaneseProvider },
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
diff --git a/dists/engine-data/kyra.dat b/dists/engine-data/kyra.dat
index 8e1fbe93d5..20114e58ac 100644
--- a/dists/engine-data/kyra.dat
+++ b/dists/engine-data/kyra.dat
Binary files differ
diff --git a/engines/kyra/engine/eobcommon.cpp b/engines/kyra/engine/eobcommon.cpp
index 58cc394abd..21677ac697 100644
--- a/engines/kyra/engine/eobcommon.cpp
+++ b/engines/kyra/engine/eobcommon.cpp
@@ -196,7 +196,7 @@ EoBCoreEngine::EoBCoreEngine(OSystem *system, const GameFlags &flags)
_abortStrings = _saveLoadStrings = _mnWord = _mnPrompt = _bookNumbers = 0;
_mageSpellList = _clericSpellList = _spellNames = _magicStrings1 = 0;
_magicStrings2 = _magicStrings3 = _magicStrings4 = _magicStrings6 = 0;
- _magicStrings7 = _magicStrings8 = _saveNamePatterns = 0;
+ _magicStrings7 = _magicStrings8 = _magicStrings9 = _saveNamePatterns = 0;
_spellAnimBuffer = 0;
_sparkEffectDefSteps = _sparkEffectDefSubSteps = _sparkEffectDefShift = 0;
_sparkEffectDefAdd = _sparkEffectDefX = _sparkEffectDefY = _sparkEffectOfShift = 0;
@@ -432,8 +432,12 @@ Common::Error EoBCoreEngine::init() {
_debugger = new Debugger_EoB(this);
assert(_debugger);
- _screen->loadFont(Screen::FID_6_FNT, "FONT6.FNT");
- _screen->loadFont(Screen::FID_8_FNT, "FONT8.FNT");
+ if (_flags.platform == Common::kPlatformAmiga) {
+
+ } else {
+ _screen->loadFont(Screen::FID_6_FNT, "FONT6.FNT");
+ _screen->loadFont(Screen::FID_8_FNT, "FONT8.FNT");
+ }
Common::Error err = KyraRpgEngine::init();
if (err.getCode() != Common::kNoError)
diff --git a/engines/kyra/engine/eobcommon.h b/engines/kyra/engine/eobcommon.h
index 9078e50409..c56a41b6a1 100644
--- a/engines/kyra/engine/eobcommon.h
+++ b/engines/kyra/engine/eobcommon.h
@@ -1096,6 +1096,7 @@ protected:
const char *const *_magicStrings6;
const char *const *_magicStrings7;
const char *const *_magicStrings8;
+ const char *const *_magicStrings9;
uint8 *_spellAnimBuffer;
diff --git a/engines/kyra/engine/scene_rpg.cpp b/engines/kyra/engine/scene_rpg.cpp
index 72922d4b53..0528df6db1 100644
--- a/engines/kyra/engine/scene_rpg.cpp
+++ b/engines/kyra/engine/scene_rpg.cpp
@@ -87,7 +87,6 @@ void KyraRpgEngine::setLevelShapesDim(int index, int16 &x1, int16 &x2, int dim)
x1 += (_sceneXoffset >> 3);
x2 += (_sceneXoffset >> 3);
-
_lvlShapeTop[index] = y1;
_lvlShapeBottom[index] = y2;
_lvlShapeLeftRight[index << 1] = x1;
diff --git a/engines/kyra/resource/resource.h b/engines/kyra/resource/resource.h
index 077b4eab7a..a1ff902a84 100644
--- a/engines/kyra/resource/resource.h
+++ b/engines/kyra/resource/resource.h
@@ -455,6 +455,7 @@ enum KyraResources {
kEoBBaseMagicStrings6,
kEoBBaseMagicStrings7,
kEoBBaseMagicStrings8,
+ kEoBBaseMagicStrings9,
kEoBBaseExpObjectTlMode,
kEoBBaseExpObjectTblIndex,
@@ -486,6 +487,13 @@ enum KyraResources {
kEoBBaseConeOfColdDest4,
kEoBBaseConeOfColdGfxTbl,
+ kEoBBaseSoundMap,
+ kEoBBaseSoundFilesIntro,
+ kEoBBaseSoundFilesIngame,
+ kEoBBaseSoundFilesFinale,
+
+ kEoB1BaseLevelSounds1,
+ kEoB1BaseLevelSounds2,
kEoB1MainMenuStrings,
kEoB1BonusStrings,
@@ -509,6 +517,15 @@ enum KyraResources {
kEoB1IntroTvlY2,
kEoB1IntroTvlW,
kEoB1IntroTvlH,
+ kEoB1IntroOrbFadePal,
+
+ kEoB1FinaleCouncilAnim1,
+ kEoB1FinaleCouncilAnim2,
+ kEoB1FinaleCouncilAnim3,
+ kEoB1FinaleCouncilAnim4,
+ kEoB1FinaleEyesAnim,
+ kEoB1FinaleHandsAnim,
+ kEoB1FinaleTextDuration,
kEoB1DoorShapeDefs,
kEoB1DoorSwitchShapeDefs,
diff --git a/engines/kyra/resource/staticres.cpp b/engines/kyra/resource/staticres.cpp
index fb6d14dd4b..e569cf1479 100644
--- a/engines/kyra/resource/staticres.cpp
+++ b/engines/kyra/resource/staticres.cpp
@@ -39,7 +39,7 @@
namespace Kyra {
-#define RESFILE_VERSION 92
+#define RESFILE_VERSION 93
namespace {
bool checkKyraDat(Common::SeekableReadStream *file) {
diff --git a/engines/kyra/resource/staticres_eob.cpp b/engines/kyra/resource/staticres_eob.cpp
index 4a94c8448a..23a5203a68 100644
--- a/engines/kyra/resource/staticres_eob.cpp
+++ b/engines/kyra/resource/staticres_eob.cpp
@@ -432,6 +432,7 @@ void EoBCoreEngine::initStaticResource() {
_magicStrings6 = _staticres->loadStrings(kEoBBaseMagicStrings6, temp);
_magicStrings7 = _staticres->loadStrings(kEoBBaseMagicStrings7, temp);
_magicStrings8 = _staticres->loadStrings(kEoBBaseMagicStrings8, temp);
+ _magicStrings9 = _staticres->loadStrings(kEoBBaseMagicStrings9, temp);
_expObjectTlMode = _staticres->loadRawData(kEoBBaseExpObjectTlMode, temp);
_expObjectTblIndex = _staticres->loadRawData(kEoBBaseExpObjectTblIndex, temp);
@@ -460,6 +461,13 @@ void EoBCoreEngine::initStaticResource() {
_coneOfColdDest4 = (const int8 *)_staticres->loadRawData(kEoBBaseConeOfColdDest4, temp);
_coneOfColdGfxTbl = _staticres->loadRawData(kEoBBaseConeOfColdGfxTbl, _coneOfColdGfxTblSize);
+ _staticres->loadStrings(kEoBBaseSoundMap, temp);
+ _staticres->loadStrings(kEoBBaseLevelSounds1, temp);
+ _staticres->loadStrings(kEoBBaseLevelSounds2, temp);
+ _staticres->loadStrings(kEoBBaseSoundFilesIntro, temp);
+ _staticres->loadStrings(kEoBBaseSoundFilesIngame, temp);
+ _staticres->loadStrings(kEoBBaseSoundFilesFinale, temp);
+
// Hard code the following strings, since EOB I doesn't have them in the original.
// EOB I doesn't have load and save menus, because there is only one single
// save slot. Instead of emulating this we provide a menu similiar to EOB II.
@@ -1129,11 +1137,9 @@ void EoBEngine::initStaticResource() {
p->dmgDc[2].base = (int8)*ps++;
ps++;
p->capsFlags = *ps++;
- p->typeFlags = READ_LE_UINT16(ps);
- ps += 2;
- ps++;
- ps++;
- p->experience = READ_LE_UINT16(ps);
+ p->typeFlags = (_flags.platform == Common::kPlatformAmiga) ? READ_BE_UINT32(++ps) : READ_LE_UINT32(ps);
+ ps += 4;
+ p->experience = (_flags.platform == Common::kPlatformAmiga) ? READ_BE_UINT16(ps) : READ_LE_UINT16(ps);
ps += 2;
p->u30 = *ps++;
p->sound1 = (int8)*ps++;
@@ -1226,6 +1232,8 @@ void EoBEngine::initSpells() {
for (int i = 0; i < _numSpells; i++) {
EoBSpell *s = &_spells[i];
+ if (_flags.platform == Common::kPlatformAmiga)
+ src++;
src += 4;
s->flags = flagTable[i].typeFlag;
s->damageFlags = flagTable[i].damageFlag;