aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devtools/create_kyradat/create_kyradat.cpp27
-rw-r--r--devtools/create_kyradat/create_kyradat.h25
-rw-r--r--devtools/create_kyradat/games.cpp51
-rw-r--r--devtools/create_kyradat/resources.cpp270
-rw-r--r--devtools/create_kyradat/resources/eob1_pc98.h1868
-rw-r--r--devtools/create_kyradat/resources/eob1_pc98_japanese.h1070
-rw-r--r--devtools/create_kyradat/resources/eob2_fmtowns_japanese.h11
-rw-r--r--dists/engine-data/kyra.datbin1696846 -> 1724438 bytes
-rw-r--r--engines/kyra/engine/eob.cpp2
-rw-r--r--engines/kyra/engine/eobcommon.cpp3
-rw-r--r--engines/kyra/engine/eobcommon.h5
-rw-r--r--engines/kyra/engine/items_eob.cpp14
-rw-r--r--engines/kyra/resource/resource.h25
-rw-r--r--engines/kyra/resource/staticres.cpp2
-rw-r--r--engines/kyra/resource/staticres_eob.cpp7
15 files changed, 3343 insertions, 37 deletions
diff --git a/devtools/create_kyradat/create_kyradat.cpp b/devtools/create_kyradat/create_kyradat.cpp
index 8f5b7b6de3..a2ec31199d 100644
--- a/devtools/create_kyradat/create_kyradat.cpp
+++ b/devtools/create_kyradat/create_kyradat.cpp
@@ -45,7 +45,7 @@
enum {
- kKyraDatVersion = 94
+ kKyraDatVersion = 95
};
const ExtractFilename extractFilenames[] = {
@@ -429,6 +429,17 @@ const ExtractFilename extractFilenames[] = {
{ kEoB1IntroFilesHands, kStringList, false },
{ kEoB1IntroFilesWdExit, kStringList, false },
{ kEoB1IntroFilesTunnel, kStringList, false },
+
+ { kEoB1IntroStringsTower, kStringList, true },
+ { kEoB1IntroStringsOrb, kStringList, true },
+ { kEoB1IntroStringsWdEntry, kStringList, true },
+ { kEoB1IntroStringsKing, kStringList, true },
+ { kEoB1IntroStringsHands, kStringList, true },
+ { kEoB1IntroStringsWdExit, kStringList, true },
+ { kEoB1IntroStringsTunnel, kStringList, true },
+
+ { kEoB1FinaleStrings, kStringList, true },
+
{ kEoB1IntroOpeningFrmDelay, kRawData, false },
{ kEoB1IntroWdEncodeX, kRawData, false },
{ kEoB1IntroWdEncodeY, kRawData, false },
@@ -448,7 +459,11 @@ const ExtractFilename extractFilenames[] = {
{ kEoB1FinaleCouncilAnim4, kRawData, false },
{ kEoB1FinaleEyesAnim, kRawData, false },
{ kEoB1FinaleHandsAnim, kRawDataBe16, false },
+ { kEoB1FinaleHandsAnim2, kRawDataBe16, false },
+ { kEoB1FinaleHandsAnim3, kRawData, false },
{ kEoB1FinaleTextDuration, kRawData, false },
+ { kEoB1CreditsStrings, kRawData, false },
+ { kEoB1CreditsCharWdth, kRawData, false },
{ kEoB1DoorShapeDefs, kRawData, false },
{ kEoB1DoorSwitchShapeDefs, kRawData, false },
{ kEoB1DoorSwitchCoords, kRawData, false },
@@ -474,6 +489,11 @@ const ExtractFilename extractFilenames[] = {
{ kEoB1CgaMappingLevel3, kRawData, false },
{ kEoB1CgaMappingLevel4, kRawData, false },
+ { kEoB1Palettes16c, kRawData, false },
+ { kEoB1PalCycleData, kRawData, false },
+ { kEoB1PalCycleStyle1, kRawDataBe16, false },
+ { kEoB1PalCycleStyle2, kRawDataBe16, false },
+
{ kEoB1NpcShpData, kRawData, false },
{ kEoB1NpcSubShpIndex1, kRawData, false },
{ kEoB1NpcSubShpIndex2, kRawData, false },
@@ -490,6 +510,11 @@ const ExtractFilename extractFilenames[] = {
{ kEoB1Npc6Strings, kStringList, true },
{ kEoB1Npc7Strings, kStringList, true },
+ { kEoB1ItemNames, kStringList, true },
+ { kEoB1Ascii2SjisTable1, kRawDataBe16, true },
+ { kEoB1Ascii2SjisTable2, kRawDataBe16, true },
+ { kEoB1FontLookupTable, kRawData, true },
+
// EYE OF THE BEHOLDER II
{ kEoB2MainMenuStrings, kStringList, true },
{ kEoB2MainMenuUtilStrings, kStringList, true },
diff --git a/devtools/create_kyradat/create_kyradat.h b/devtools/create_kyradat/create_kyradat.h
index 40c725560f..783408e6ed 100644
--- a/devtools/create_kyradat/create_kyradat.h
+++ b/devtools/create_kyradat/create_kyradat.h
@@ -432,6 +432,17 @@ enum kExtractID {
kEoB1IntroFilesHands,
kEoB1IntroFilesWdExit,
kEoB1IntroFilesTunnel,
+
+ kEoB1IntroStringsTower,
+ kEoB1IntroStringsOrb,
+ kEoB1IntroStringsWdEntry,
+ kEoB1IntroStringsKing,
+ kEoB1IntroStringsHands,
+ kEoB1IntroStringsWdExit,
+ kEoB1IntroStringsTunnel,
+
+ kEoB1FinaleStrings,
+
kEoB1IntroOpeningFrmDelay,
kEoB1IntroWdEncodeX,
kEoB1IntroWdEncodeY,
@@ -452,7 +463,11 @@ enum kExtractID {
kEoB1FinaleCouncilAnim4,
kEoB1FinaleEyesAnim,
kEoB1FinaleHandsAnim,
+ kEoB1FinaleHandsAnim2,
+ kEoB1FinaleHandsAnim3,
kEoB1FinaleTextDuration,
+ kEoB1CreditsStrings,
+ kEoB1CreditsCharWdth,
kEoB1DoorShapeDefs,
kEoB1DoorSwitchShapeDefs,
@@ -480,6 +495,11 @@ enum kExtractID {
kEoB1CgaMappingLevel3,
kEoB1CgaMappingLevel4,
+ kEoB1Palettes16c,
+ kEoB1PalCycleData,
+ kEoB1PalCycleStyle1,
+ kEoB1PalCycleStyle2,
+
kEoB1NpcShpData,
kEoB1NpcSubShpIndex1,
kEoB1NpcSubShpIndex2,
@@ -496,6 +516,11 @@ enum kExtractID {
kEoB1Npc6Strings,
kEoB1Npc7Strings,
+ kEoB1ItemNames,
+ kEoB1Ascii2SjisTable1,
+ kEoB1Ascii2SjisTable2,
+ kEoB1FontLookupTable,
+
kEoB2MainMenuStrings,
kEoB2MainMenuUtilStrings,
diff --git a/devtools/create_kyradat/games.cpp b/devtools/create_kyradat/games.cpp
index fe7b45f55c..184d2d943b 100644
--- a/devtools/create_kyradat/games.cpp
+++ b/devtools/create_kyradat/games.cpp
@@ -104,7 +104,7 @@ const Game eob1Games[] = {
{ kEoB1, kPlatformAmiga, kNoSpecial, EN_ANY },
{ kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU },
- //{ kEoB1, kPlatformPC98, kNoSpecial, JA_JPN },
+ { kEoB1, kPlatformPC98, kNoSpecial, JA_JPN },
GAME_DUMMY_ENTRY
};
@@ -1757,6 +1757,22 @@ const int eob1PC98Need[] = {
kEoB1IntroTvlW,
kEoB1IntroTvlH,
+ kEoB1IntroStringsTower,
+ kEoB1IntroStringsOrb,
+ kEoB1IntroStringsWdEntry,
+ kEoB1IntroStringsKing,
+ kEoB1IntroStringsHands,
+ kEoB1IntroStringsWdExit,
+ kEoB1IntroStringsTunnel,
+
+ kEoB1FinaleStrings,
+ kEoB1FinaleEyesAnim,
+ kEoB1FinaleHandsAnim,
+ kEoB1FinaleHandsAnim2,
+ kEoB1FinaleHandsAnim3,
+ kEoB1CreditsStrings,
+ kEoB1CreditsCharWdth,
+
kEoB1DoorShapeDefs,
kEoB1DoorSwitchShapeDefs,
kEoB1DoorSwitchCoords,
@@ -1767,20 +1783,10 @@ const int eob1PC98Need[] = {
kEoB1BeholderSfx,
kEoB1TurnUndeadString,
- kEoB1CgaMappingDefault,
- kEoB1CgaMappingAlt,
- kEoB1CgaMappingInv,
- kEoB1CgaMappingItemsL,
- kEoB1CgaMappingItemsS,
- kEoB1CgaMappingThrown,
- kEoB1CgaMappingIcons,
- kEoB1CgaMappingDeco,
- kEoB1CgaLevelMappingIndex,
- kEoB1CgaMappingLevel0,
- kEoB1CgaMappingLevel1,
- kEoB1CgaMappingLevel2,
- kEoB1CgaMappingLevel3,
- kEoB1CgaMappingLevel4,
+ kEoB1Palettes16c,
+ kEoB1PalCycleData,
+ kEoB1PalCycleStyle1,
+ kEoB1PalCycleStyle2,
kEoB1NpcShpData,
kEoB1NpcSubShpIndex1,
@@ -1798,6 +1804,11 @@ const int eob1PC98Need[] = {
kEoB1Npc6Strings,
kEoB1Npc7Strings,
+ kEoB1ItemNames,
+ kEoB1Ascii2SjisTable1,
+ kEoB1Ascii2SjisTable2,
+ kEoB1FontLookupTable,
+
kEoBBasePryDoorStrings,
kEoBBaseWarningStrings,
@@ -1945,9 +1956,6 @@ const int eob1PC98Need[] = {
kEoBBaseDscTelptrShpCoords,
kEoBBasePortalSeqData,
- kEoBBaseManDef,
- kEoBBaseManWord,
- kEoBBaseManPrompt,
kEoBBaseDscMonsterFrmOffsTbl1,
kEoBBaseDscMonsterFrmOffsTbl2,
@@ -1992,6 +2000,10 @@ const int eob1PC98Need[] = {
kEoBBaseEncodeMonsterDefs,
kEoBBaseNpcPresets,
+ kEoBBaseSoundFilesIntro,
+ kEoBBaseSoundFilesIngame,
+ kEoBBaseSoundFilesFinale,
+
-1
};
@@ -3056,6 +3068,7 @@ const int eob2FMTownsNeed[] = {
kEoBBaseMenuStringsRest3,
kEoBBaseMenuStringsRest4,
kEoBBaseMenuStringsDefeat,
+ kEoBBaseMenuStringsTransfer,
kEoBBaseMenuStringsSpec,
kEoBBaseMenuStringsSpellNo,
kEoBBaseMenuYesNoStrings,
@@ -3595,7 +3608,7 @@ const GameNeed gameNeedTable[] = {
{ kEoB1, kPlatformDOS, kNoSpecial, eob1FloppyNeed },
{ kEoB1, kPlatformAmiga, kNoSpecial, eob1AmigaNeed },
- //{ kEoB1, kPlatformPC98, kNoSpecial, eob1PC98Need },
+ { kEoB1, kPlatformPC98, kNoSpecial, eob1PC98Need },
{ kEoB2, kPlatformDOS, kNoSpecial, eob2FloppyNeed },
{ kEoB2, kPlatformAmiga, kNoSpecial, eob2AmigaNeed },
diff --git a/devtools/create_kyradat/resources.cpp b/devtools/create_kyradat/resources.cpp
index 36e6b0baf5..fdc02034e2 100644
--- a/devtools/create_kyradat/resources.cpp
+++ b/devtools/create_kyradat/resources.cpp
@@ -97,8 +97,8 @@
#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"
+#include "resources/eob1_pc98.h"
+#include "resources/eob1_pc98_japanese.h"
// Eye of the Beholder: The Legend of Darkmoon
#include "resources/eob2_dos.h"
@@ -1689,6 +1689,261 @@ static const ResourceProvider resourceProviders[] = {
{ kEoBBaseManWord, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ManWordAmigaGermanProvider },
{ kEoBBaseManPrompt, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1ManPromptAmigaGermanProvider },
{ kEoBBaseMonsterDistAttStrings, kEoB1, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB1MonsterDistAttStringsAmigaGermanProvider },
+ { kEoBBaseChargenStrings1, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ChargenStrings1PC98JapaneseProvider },
+ { kEoBBaseChargenStrings2, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ChargenStrings2PC98JapaneseProvider },
+ { kEoBBaseChargenStartLevels, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ChargenStartLevelsPC98Provider },
+ { kEoBBaseChargenStatStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ChargenStatStringsPC98JapaneseProvider },
+ { kEoBBaseChargenRaceSexStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ChargenRaceSexStringsPC98JapaneseProvider },
+ { kEoBBaseChargenClassStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ChargenClassStringsPC98JapaneseProvider },
+ { kEoBBaseChargenAlignmentStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ChargenAlignmentStringsPC98JapaneseProvider },
+ { kEoBBaseChargenEnterGameStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ChargenEnterGameStringsPC98JapaneseProvider },
+ { kEoBBaseChargenClassMinStats, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ChargenClassMinStatsPC98Provider },
+ { kEoBBaseChargenRaceMinStats, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ChargenRaceMinStatsPC98Provider },
+ { kEoBBaseChargenRaceMaxStats, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ChargenRaceMaxStatsPC98Provider },
+ { kEoBBaseSaveThrowTable1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SaveThrowTable1PC98Provider },
+ { kEoBBaseSaveThrowTable2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SaveThrowTable2PC98Provider },
+ { kEoBBaseSaveThrowTable3, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SaveThrowTable3PC98Provider },
+ { kEoBBaseSaveThrowTable4, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SaveThrowTable4PC98Provider },
+ { kEoBBaseSaveThrwLvlIndex, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SaveThrwLvlIndexPC98Provider },
+ { kEoBBaseSaveThrwModDiv, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SaveThrwModDivPC98Provider },
+ { kEoBBaseSaveThrwModExt, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SaveThrwModExtPC98Provider },
+ { kEoB1MainMenuStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MainMenuStringsPC98JapaneseProvider },
+ { kEoB1BonusStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1BonusStringsPC98JapaneseProvider },
+ { kEoB1IntroFilesOpening, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroFilesOpeningPC98Provider },
+ { kEoB1IntroFilesTower, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroFilesTowerPC98Provider },
+ { kEoB1IntroFilesOrb, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroFilesOrbPC98Provider },
+ { kEoB1IntroFilesWdEntry, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroFilesWdEntryPC98Provider },
+ { kEoB1IntroFilesKing, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroFilesKingPC98Provider },
+ { kEoB1IntroFilesHands, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroFilesHandsPC98Provider },
+ { kEoB1IntroFilesWdExit, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroFilesWdExitPC98Provider },
+ { kEoB1IntroFilesTunnel, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroFilesTunnelPC98Provider },
+ { kEoB1IntroOpeningFrmDelay, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroOpeningFrmDelayPC98Provider },
+ { kEoB1IntroWdEncodeX, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroWdEncodeXPC98Provider },
+ { kEoB1IntroWdEncodeY, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroWdEncodeYPC98Provider },
+ { kEoB1IntroWdEncodeWH, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroWdEncodeWHPC98Provider },
+ { kEoB1IntroWdDsX, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroWdDsXPC98Provider },
+ { kEoB1IntroWdDsY, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroWdDsYPC98Provider },
+ { kEoB1IntroTvlX1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroTvlX1PC98Provider },
+ { kEoB1IntroTvlY1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroTvlY1PC98Provider },
+ { kEoB1IntroTvlX2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroTvlX2PC98Provider },
+ { kEoB1IntroTvlY2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroTvlY2PC98Provider },
+ { kEoB1IntroTvlW, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroTvlWPC98Provider },
+ { kEoB1IntroTvlH, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1IntroTvlHPC98Provider },
+ { kEoB1IntroStringsTower, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1IntroStringsTowerPC98Provider },
+ { kEoB1IntroStringsOrb, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1IntroStringsOrbPC98Provider },
+ { kEoB1IntroStringsWdEntry, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1IntroStringsWdEntryPC98Provider },
+ { kEoB1IntroStringsKing, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1IntroStringsKingPC98Provider },
+ { kEoB1IntroStringsHands, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1IntroStringsHandsPC98Provider },
+ { kEoB1IntroStringsWdExit, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1IntroStringsWdExitPC98Provider },
+ { kEoB1IntroStringsTunnel, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1IntroStringsTunnelPC98Provider },
+ { kEoB1FinaleStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1FinaleStringsPC98Provider },
+ { kEoB1FinaleEyesAnim, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1FinaleEyesAnimPC98Provider },
+ { kEoB1FinaleHandsAnim, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1FinaleHandsAnimPC98Provider },
+ { kEoB1FinaleHandsAnim2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1FinaleHandsAnim2PC98Provider },
+ { kEoB1FinaleHandsAnim3, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1FinaleHandsAnim3PC98Provider },
+ { kEoB1CreditsStrings, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1CreditsStringsPC98Provider },
+ { kEoB1CreditsCharWdth, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1CreditsCharWdthPC98Provider },
+ { kEoB1DoorShapeDefs, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DoorShapeDefsPC98Provider },
+ { kEoB1DoorSwitchShapeDefs, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DoorSwitchShapeDefsPC98Provider },
+ { kEoB1DoorSwitchCoords, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DoorSwitchCoordsPC98Provider },
+ { kEoB1MonsterProperties, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1MonsterPropertiesPC98Provider },
+ { kEoB1EnemyMageSpellList, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1EnemyMageSpellListPC98Provider },
+ { kEoB1EnemyMageSfx, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1EnemyMageSfxPC98Provider },
+ { kEoB1BeholderSpellList, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1BeholderSpellListPC98Provider },
+ { kEoB1BeholderSfx, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1BeholderSfxPC98Provider },
+ { kEoB1TurnUndeadString, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1TurnUndeadStringPC98JapaneseProvider },
+ { kEoB1NpcShpData, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1NpcShpDataPC98Provider },
+ { kEoB1NpcSubShpIndex1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1NpcSubShpIndex1PC98Provider },
+ { kEoB1NpcSubShpIndex2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1NpcSubShpIndex2PC98Provider },
+ { kEoB1NpcSubShpY, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1NpcSubShpYPC98Provider },
+ { kEoB1Npc0Strings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1Npc0StringsPC98JapaneseProvider },
+ { kEoB1Npc11Strings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1Npc11StringsPC98JapaneseProvider },
+ { kEoB1Npc12Strings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1Npc12StringsPC98JapaneseProvider },
+ { kEoB1Npc21Strings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1Npc21StringsPC98JapaneseProvider },
+ { kEoB1Npc22Strings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1Npc22StringsPC98JapaneseProvider },
+ { kEoB1Npc31Strings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1Npc31StringsPC98JapaneseProvider },
+ { kEoB1Npc32Strings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1Npc32StringsPC98JapaneseProvider },
+ { kEoB1Npc4Strings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1Npc4StringsPC98JapaneseProvider },
+ { kEoB1Npc5Strings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1Npc5StringsPC98JapaneseProvider },
+ { kEoB1Npc6Strings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1Npc6StringsPC98JapaneseProvider },
+ { kEoB1Npc7Strings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1Npc7StringsPC98JapaneseProvider },
+ { kEoBBasePryDoorStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1PryDoorStringsPC98JapaneseProvider },
+ { kEoBBaseWarningStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1WarningStringsPC98JapaneseProvider },
+ { kEoB1ItemNames, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ItemNamesPC98JapaneseProvider },
+ { kEoB1Ascii2SjisTable1, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1Ascii2SjisTable1PC98JapaneseProvider },
+ { kEoB1Ascii2SjisTable2, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1Ascii2SjisTable2PC98JapaneseProvider },
+ { kEoB1FontLookupTable, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1FontLookupTablePC98JapaneseProvider },
+ { kEoBBaseItemSuffixStringsRings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ItemSuffixStringsRingsPC98JapaneseProvider },
+ { kEoBBaseItemSuffixStringsPotions, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ItemSuffixStringsPotionsPC98JapaneseProvider },
+ { kEoBBaseItemSuffixStringsWands, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ItemSuffixStringsWandsPC98JapaneseProvider },
+ { kEoBBaseRipItemStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1RipItemStringsPC98JapaneseProvider },
+ { kEoBBaseCursedString, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1CursedStringPC98JapaneseProvider },
+ { kEoBBaseEnchantedString, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1EnchantedStringPC98Provider },
+ { kEoBBaseMagicObjectStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MagicObjectStringsPC98JapaneseProvider },
+ { kEoBBaseMagicObjectString5, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MagicObjectString5PC98JapaneseProvider },
+ { kEoBBasePatternSuffix, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1PatternSuffixPC98JapaneseProvider },
+ { kEoBBasePatternGrFix1, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1PatternGrFix1PC98JapaneseProvider },
+ { kEoBBasePatternGrFix2, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1PatternGrFix2PC98JapaneseProvider },
+ { kEoBBaseValidateArmorString, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ValidateArmorStringPC98JapaneseProvider },
+ { kEoBBaseValidateNoDropString, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ValidateNoDropStringPC98JapaneseProvider },
+ { kEoBBasePotionStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1PotionStringsPC98JapaneseProvider },
+ { kEoBBaseWandStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1WandStringsPC98JapaneseProvider },
+ { kEoBBaseItemMisuseStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ItemMisuseStringsPC98JapaneseProvider },
+ { kEoBBaseTakenStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1TakenStringsPC98JapaneseProvider },
+ { kEoBBasePotionEffectStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1PotionEffectStringsPC98JapaneseProvider },
+ { kEoBBaseYesNoStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1YesNoStringsPC98JapaneseProvider },
+ { kRpgCommonMoreStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MoreStringsPC98JapaneseProvider },
+ { kEoBBaseNpcMaxStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1NpcMaxStringsPC98JapaneseProvider },
+ { kEoBBaseNpcJoinStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1NpcJoinStringsPC98JapaneseProvider },
+ { kEoBBaseCancelStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1CancelStringsPC98JapaneseProvider },
+ { kEoBBaseMenuStringsMain, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsMainPC98JapaneseProvider },
+ { kEoBBaseMenuStringsSaveLoad, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsSaveLoadPC98JapaneseProvider },
+ { kEoBBaseMenuStringsOnOff, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsOnOffPC98JapaneseProvider },
+ { kEoBBaseMenuStringsSpells, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsSpellsPC98JapaneseProvider },
+ { kEoBBaseMenuStringsRest, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsRestPC98JapaneseProvider },
+ { kEoBBaseMenuStringsDrop, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsDropPC98JapaneseProvider },
+ { kEoBBaseMenuStringsExit, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsExitPC98JapaneseProvider },
+ { kEoBBaseMenuStringsStarve, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsStarvePC98JapaneseProvider },
+ { kEoBBaseMenuStringsScribe, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsScribePC98JapaneseProvider },
+ { kEoBBaseMenuStringsDrop2, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsDrop2PC98JapaneseProvider },
+ { kEoBBaseMenuStringsHead, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsHeadPC98JapaneseProvider },
+ { kEoBBaseMenuStringsPoison, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsPoisonPC98JapaneseProvider },
+ { kEoBBaseMenuStringsMgc, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsMgcPC98JapaneseProvider },
+ { kEoBBaseMenuStringsPrefs, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsPrefsPC98JapaneseProvider },
+ { kEoBBaseMenuStringsRest2, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsRest2PC98JapaneseProvider },
+ { kEoBBaseMenuStringsRest4, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsRest4PC98JapaneseProvider },
+ { kEoBBaseMenuStringsDefeat, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuStringsDefeatPC98JapaneseProvider },
+ { kEoBBaseMenuYesNoStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MenuYesNoStringsPC98JapaneseProvider },
+ { kEoBBaseSpellLevelsMage, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SpellLevelsMagePC98Provider },
+ { kEoBBaseSpellLevelsCleric, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SpellLevelsClericPC98Provider },
+ { kEoBBaseNumSpellsCleric, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1NumSpellsClericPC98Provider },
+ { kEoBBaseNumSpellsWisAdj, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1NumSpellsWisAdjPC98Provider },
+ { kEoBBaseNumSpellsPal, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1NumSpellsPalPC98Provider },
+ { kEoBBaseNumSpellsMage, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1NumSpellsMagePC98Provider },
+ { kEoBBaseCharGuiStringsHp, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1CharGuiStringsHpPC98JapaneseProvider },
+ { kEoBBaseCharGuiStringsWp1, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1CharGuiStringsWp1PC98JapaneseProvider },
+ { kEoBBaseCharGuiStringsWr, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1CharGuiStringsWrPC98JapaneseProvider },
+ { kEoBBaseCharGuiStringsSt1, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1CharGuiStringsSt1PC98JapaneseProvider },
+ { kEoBBaseCharGuiStringsIn, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1CharGuiStringsInPC98JapaneseProvider },
+ { kEoBBaseCharStatusStrings7, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1CharStatusStrings7PC98JapaneseProvider },
+ { kEoBBaseCharStatusStrings81, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1CharStatusStrings81PC98JapaneseProvider },
+ { kEoBBaseCharStatusStrings9, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1CharStatusStrings9PC98JapaneseProvider },
+ { kEoBBaseCharStatusStrings131, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1CharStatusStrings131PC98JapaneseProvider },
+ { kEoBBaseLevelGainStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1LevelGainStringsPC98JapaneseProvider },
+ { kEoBBaseExperienceTable0, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable0PC98Provider },
+ { kEoBBaseExperienceTable1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable1PC98Provider },
+ { kEoBBaseExperienceTable2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable2PC98Provider },
+ { kEoBBaseExperienceTable3, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable3PC98Provider },
+ { kEoBBaseExperienceTable4, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable4PC98Provider },
+ { kEoBBaseBookNumbers, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1BookNumbersPC98JapaneseProvider },
+ { kEoBBaseMageSpellsList, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MageSpellsListPC98JapaneseProvider },
+ { kEoBBaseClericSpellsList, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1ClericSpellsListPC98JapaneseProvider },
+ { kEoBBaseSpellNames, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1SpellNamesPC98JapaneseProvider },
+ { kEoBBaseMagicStrings1, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MagicStrings1PC98JapaneseProvider },
+ { kEoBBaseMagicStrings2, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MagicStrings2PC98JapaneseProvider },
+ { kEoBBaseMagicStrings3, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MagicStrings3PC98JapaneseProvider },
+ { kEoBBaseMagicStrings4, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MagicStrings4PC98JapaneseProvider },
+ { kEoBBaseMagicStrings6, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MagicStrings6PC98JapaneseProvider },
+ { kEoBBaseMagicStrings7, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MagicStrings7PC98JapaneseProvider },
+ { kEoBBaseMagicStrings8, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MagicStrings8PC98JapaneseProvider },
+ //{ kEoBBaseMagicStrings9, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MagicStrings9PC98JapaneseProvider },
+ { kEoBBaseExpObjectTblIndex, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTblIndexPC98Provider },
+ { kEoBBaseExpObjectShpStart, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ExpObjectShpStartPC98Provider },
+ { kEoBBaseExpObjectTbl1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTbl1PC98Provider },
+ { kEoBBaseExpObjectTbl2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTbl2PC98Provider },
+ { kEoBBaseExpObjectTbl3, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTbl3PC98Provider },
+ { kEoBBaseExpObjectY, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ExpObjectYPC98Provider },
+ { kEoBBaseSparkDefSteps, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SparkDefStepsPC98Provider },
+ { kEoBBaseSparkDefSubSteps, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SparkDefSubStepsPC98Provider },
+ { kEoBBaseSparkDefShift, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SparkDefShiftPC98Provider },
+ { kEoBBaseSparkDefAdd, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SparkDefAddPC98Provider },
+ { kEoBBaseSparkDefX, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SparkDefXPC98Provider },
+ { kEoBBaseSparkDefY, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SparkDefYPC98Provider },
+ { kEoBBaseSparkOfFlags1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SparkOfFlags1PC98Provider },
+ { kEoBBaseSparkOfFlags2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SparkOfFlags2PC98Provider },
+ { kEoBBaseSparkOfShift, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SparkOfShiftPC98Provider },
+ { kEoBBaseSparkOfX, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SparkOfXPC98Provider },
+ { kEoBBaseSparkOfY, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SparkOfYPC98Provider },
+ { kEoBBaseSpellProperties, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SpellPropertiesPC98Provider },
+ { kEoBBaseMagicFlightProps, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1MagicFlightPropsPC98Provider },
+ { kEoBBaseTurnUndeadEffect, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1TurnUndeadEffectPC98Provider },
+ { kEoBBaseBurningHandsDest, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1BurningHandsDestPC98Provider },
+ { kEoBBaseConeOfColdDest1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdDest1PC98Provider },
+ { kEoBBaseConeOfColdDest2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdDest2PC98Provider },
+ { kEoBBaseConeOfColdDest3, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdDest3PC98Provider },
+ { kEoBBaseConeOfColdDest4, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdDest4PC98Provider },
+ { kEoBBaseConeOfColdGfxTbl, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdGfxTblPC98Provider },
+ { kRpgCommonDscDoorShapeIndex, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorShapeIndexPC98Provider },
+ { kEoBBaseWllFlagPreset, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1WllFlagPresetPC98Provider },
+ { kEoBBaseDscShapeCoords, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscShapeCoordsPC98Provider },
+ { kRpgCommonDscDoorScaleOffs, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleOffsPC98Provider },
+ { kEoBBaseDscDoorScaleMult1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult1PC98Provider },
+ { kEoBBaseDscDoorScaleMult2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult2PC98Provider },
+ { kEoBBaseDscDoorScaleMult3, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult3PC98Provider },
+ { kEoBBaseDscDoorScaleMult4, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult4PC98Provider },
+ { kEoBBaseDscDoorScaleMult5, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult5PC98Provider },
+ { kEoBBaseDscDoorScaleMult6, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult6PC98Provider },
+ { kEoBBaseDscDoorXE, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorXEPC98Provider },
+ { kEoBBaseDscDoorY1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorY1PC98Provider },
+ { kEoBBaseDscDoorY3, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorY3PC98Provider },
+ { kEoBBaseDscDoorY4, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorY4PC98Provider },
+ { kEoBBaseDscDoorY5, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorY5PC98Provider },
+ { kEoBBaseDscDoorY6, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorY6PC98Provider },
+ { kEoBBaseDscDoorY7, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorY7PC98Provider },
+ { kEoBBaseDscDoorCoordsExt, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorCoordsExtPC98Provider },
+ { kRpgCommonDscDoorFrameY1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorFrameY1PC98Provider },
+ { kRpgCommonDscDoorFrameY2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorFrameY2PC98Provider },
+ { kRpgCommonDscDoorFrameIndex1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorFrameIndex1PC98Provider },
+ { kRpgCommonDscDoorFrameIndex2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDoorFrameIndex2PC98Provider },
+ { kEoBBaseDscItemPosIndex, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscItemPosIndexPC98Provider },
+ { kEoBBaseDscItemShpX, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscItemShpXPC98Provider },
+ { kEoBBaseDscItemScaleIndex, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscItemScaleIndexPC98Provider },
+ { kEoBBaseDscItemTileIndex, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscItemTileIndexPC98Provider },
+ { kEoBBaseDscItemShapeMap, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscItemShapeMapPC98Provider },
+ { kEoBBaseDscTelptrShpCoords, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscTelptrShpCoordsPC98Provider },
+ { kEoBBasePortalSeqData, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1PortalSeqDataPC98Provider },
+ { kEoBBaseDscMonsterFrmOffsTbl1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscMonsterFrmOffsTbl1PC98Provider },
+ { kEoBBaseDscMonsterFrmOffsTbl2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscMonsterFrmOffsTbl2PC98Provider },
+ { kEoBBaseInvSlotX, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1InvSlotXPC98Provider },
+ { kEoBBaseInvSlotY, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1InvSlotYPC98Provider },
+ { kEoBBaseSlotValidationFlags, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SlotValidationFlagsPC98Provider },
+ { kEoBBaseProjectileWeaponTypes, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ProjectileWeaponTypesPC98Provider },
+ { kEoBBaseWandTypes, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1WandTypesPC98Provider },
+ { kEoBBaseDrawObjPosIndex, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DrawObjPosIndexPC98Provider },
+ { kEoBBaseFlightObjFlipIndex, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1FlightObjFlipIndexPC98Provider },
+ { kEoBBaseFlightObjShpMap, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1FlightObjShpMapPC98Provider },
+ { kEoBBaseFlightObjSclIndex, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1FlightObjSclIndexPC98Provider },
+ { kRpgCommonDscShapeIndex, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscShapeIndexPC98Provider },
+ { kRpgCommonDscX, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscXPC98Provider },
+ { kRpgCommonDscTileIndex, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscTileIndexPC98Provider },
+ { kRpgCommonDscDimData1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDimData1PC98Provider },
+ { kRpgCommonDscDimData2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDimData2PC98Provider },
+ { kRpgCommonDscBlockMap, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscBlockMapPC98Provider },
+ { kRpgCommonDscDimMap, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscDimMapPC98Provider },
+ { kRpgCommonDscBlockIndex, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1DscBlockIndexPC98Provider },
+ { kEoBBaseClassModifierFlags, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1ClassModifierFlagsPC98Provider },
+ { kEoBBaseMonsterStepTable01, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1MonsterStepTable01PC98Provider },
+ { kEoBBaseMonsterStepTable2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1MonsterStepTable2PC98Provider },
+ { kEoBBaseMonsterStepTable3, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1MonsterStepTable3PC98Provider },
+ { kEoBBaseMonsterCloseAttPosTable1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttPosTable1PC98Provider },
+ { kEoBBaseMonsterCloseAttPosTable21, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttPosTable21PC98Provider },
+ { kEoBBaseMonsterCloseAttChkTable1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttChkTable1PC98Provider },
+ { kEoBBaseMonsterCloseAttChkTable2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttChkTable2PC98Provider },
+ { kEoBBaseMonsterCloseAttDstTable1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttDstTable1PC98Provider },
+ { kEoBBaseMonsterCloseAttDstTable2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttDstTable2PC98Provider },
+ { kEoBBaseMonsterProximityTable, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1MonsterProximityTablePC98Provider },
+ { kEoBBaseFindBlockMonstersTable, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1FindBlockMonstersTablePC98Provider },
+ { kEoBBaseMonsterDirChangeTable, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1MonsterDirChangeTablePC98Provider },
+ { kEoBBaseMonsterDistAttStrings, kEoB1, kPlatformPC98, kNoSpecial, JA_JPN, &kEoB1MonsterDistAttStringsPC98JapaneseProvider },
+ { kEoBBaseEncodeMonsterDefs, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1EncodeMonsterDefsPC98Provider },
+ { kEoBBaseNpcPresets, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1NpcPresetsPC98Provider },
+ { kEoB1Palettes16c, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1Palettes16cPC98Provider },
+ { kEoB1PalCycleData, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1PalCycleDataPC98Provider },
+ { kEoB1PalCycleStyle1, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1PalCycleStyle1PC98Provider },
+ { kEoB1PalCycleStyle2, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1PalCycleStyle2PC98Provider },
+ { kEoBBaseSoundFilesIntro, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SoundFilesIntroPC98Provider },
+ { kEoBBaseSoundFilesIngame, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SoundFilesIngamePC98Provider },
+ { kEoBBaseSoundFilesFinale, kEoB1, kPlatformPC98, kNoSpecial, UNK_LANG, &kEoB1SoundFilesFinalePC98Provider },
{ kEoBBaseChargenStrings1, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ChargenStrings1DOSEnglishProvider },
{ kEoBBaseChargenStrings2, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ChargenStrings2DOSEnglishProvider },
{ kEoBBaseChargenStartLevels, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ChargenStartLevelsDOSProvider },
@@ -2073,10 +2328,6 @@ static const ResourceProvider resourceProviders[] = {
{ kEoB2MonsterDustStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MonsterDustStringsDOSGermanProvider },
{ kEoB2KheldranStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2KheldranStringsDOSGermanProvider },
{ kEoB2HornStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2HornStringsDOSGermanProvider },
-
-
-
-
{ kEoBBaseChargenStrings1, kEoB2, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB2ChargenStrings1AmigaEnglishProvider },
{ kEoBBaseChargenStrings2, kEoB2, kPlatformAmiga, kNoSpecial, EN_ANY, &kEoB2ChargenStrings2AmigaEnglishProvider },
{ kEoBBaseChargenStartLevels, kEoB2, kPlatformAmiga, kNoSpecial, UNK_LANG, &kEoB2ChargenStartLevelsAmigaProvider },
@@ -2468,12 +2719,6 @@ static const ResourceProvider resourceProviders[] = {
{ kEoB2MonsterDustStrings, kEoB2, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB2MonsterDustStringsAmigaGermanProvider },
{ kEoB2KheldranStrings, kEoB2, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB2KheldranStringsAmigaGermanProvider },
{ kEoB2HornStrings, kEoB2, kPlatformAmiga, kNoSpecial, DE_DEU, &kEoB2HornStringsAmigaGermanProvider },
-
-
-
-
-
-
{ kEoBBaseChargenStrings1, kEoB2, kPlatformFMTowns, kNoSpecial, JA_JPN, &kEoB2ChargenStrings1FMTownsJapaneseProvider },
{ kEoBBaseChargenStrings2, kEoB2, kPlatformFMTowns, kNoSpecial, JA_JPN, &kEoB2ChargenStrings2FMTownsJapaneseProvider },
{ kEoBBaseChargenStartLevels, kEoB2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kEoB2ChargenStartLevelsFMTownsProvider },
@@ -2538,6 +2783,7 @@ static const ResourceProvider resourceProviders[] = {
{ kEoBBaseMenuStringsRest3, kEoB2, kPlatformFMTowns, kNoSpecial, JA_JPN, &kEoB2MenuStringsRest3FMTownsJapaneseProvider },
{ kEoBBaseMenuStringsRest4, kEoB2, kPlatformFMTowns, kNoSpecial, JA_JPN, &kEoB2MenuStringsRest4FMTownsJapaneseProvider },
{ kEoBBaseMenuStringsDefeat, kEoB2, kPlatformFMTowns, kNoSpecial, JA_JPN, &kEoB2MenuStringsDefeatFMTownsJapaneseProvider },
+ { kEoBBaseMenuStringsTransfer, kEoB2, kPlatformFMTowns, kNoSpecial, JA_JPN, &kEoB2MenuStringsTransferFMTownsJapaneseProvider },
{ kEoBBaseMenuStringsSpec, kEoB2, kPlatformFMTowns, kNoSpecial, JA_JPN, &kEoB2MenuStringsSpecFMTownsJapaneseProvider },
{ kEoBBaseMenuStringsSpellNo, kEoB2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kEoB2MenuStringsSpellNoFMTownsProvider },
{ kEoBBaseMenuYesNoStrings, kEoB2, kPlatformFMTowns, kNoSpecial, JA_JPN, &kEoB2MenuYesNoStringsFMTownsJapaneseProvider },
diff --git a/devtools/create_kyradat/resources/eob1_pc98.h b/devtools/create_kyradat/resources/eob1_pc98.h
new file mode 100644
index 0000000000..cf9c7dd729
--- /dev/null
+++ b/devtools/create_kyradat/resources/eob1_pc98.h
@@ -0,0 +1,1868 @@
+static const byte kEoB1ChargenStartLevelsPC98[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 kEoB1ChargenStartLevelsPC98Provider = { ARRAYSIZE(kEoB1ChargenStartLevelsPC98), kEoB1ChargenStartLevelsPC98 };
+
+static const byte kEoB1ChargenClassMinStatsPC98[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 kEoB1ChargenClassMinStatsPC98Provider = { ARRAYSIZE(kEoB1ChargenClassMinStatsPC98), kEoB1ChargenClassMinStatsPC98 };
+
+static const byte kEoB1ChargenRaceMinStatsPC98[36] = {
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08,
+ 0x03, 0x07, 0x06, 0x08, 0x03, 0x04, 0x03, 0x06,
+ 0x06, 0x03, 0x08, 0x03, 0x03, 0x03, 0x0C, 0x02,
+ 0x06, 0x07, 0x02, 0x03, 0x08, 0x03, 0x07, 0x06,
+ 0x03, 0x08, 0x0A, 0x06
+};
+
+static const ByteProvider kEoB1ChargenRaceMinStatsPC98Provider = { ARRAYSIZE(kEoB1ChargenRaceMinStatsPC98), kEoB1ChargenRaceMinStatsPC98 };
+
+static const uint16 kEoB1ChargenRaceMaxStatsPC98[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 kEoB1ChargenRaceMaxStatsPC98Provider = { ARRAYSIZE(kEoB1ChargenRaceMaxStatsPC98), kEoB1ChargenRaceMaxStatsPC98 };
+
+static const byte kEoB1SaveThrowTable1PC98[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 kEoB1SaveThrowTable1PC98Provider = { ARRAYSIZE(kEoB1SaveThrowTable1PC98), kEoB1SaveThrowTable1PC98 };
+
+static const byte kEoB1SaveThrowTable2PC98[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 kEoB1SaveThrowTable2PC98Provider = { ARRAYSIZE(kEoB1SaveThrowTable2PC98), kEoB1SaveThrowTable2PC98 };
+
+static const byte kEoB1SaveThrowTable3PC98[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 kEoB1SaveThrowTable3PC98Provider = { ARRAYSIZE(kEoB1SaveThrowTable3PC98), kEoB1SaveThrowTable3PC98 };
+
+static const byte kEoB1SaveThrowTable4PC98[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 kEoB1SaveThrowTable4PC98Provider = { ARRAYSIZE(kEoB1SaveThrowTable4PC98), kEoB1SaveThrowTable4PC98 };
+
+static const byte kEoB1SaveThrwLvlIndexPC98[6] = {
+ 0x11, 0x15, 0x13, 0x15, 0x11, 0x11
+};
+
+static const ByteProvider kEoB1SaveThrwLvlIndexPC98Provider = { ARRAYSIZE(kEoB1SaveThrwLvlIndexPC98), kEoB1SaveThrwLvlIndexPC98 };
+
+static const byte kEoB1SaveThrwModDivPC98[6] = {
+ 0x02, 0x05, 0x03, 0x04, 0x02, 0x02
+};
+
+static const ByteProvider kEoB1SaveThrwModDivPC98Provider = { ARRAYSIZE(kEoB1SaveThrwModDivPC98), kEoB1SaveThrwModDivPC98 };
+
+static const byte kEoB1SaveThrwModExtPC98[6] = {
+ 0x0A, 0x05, 0x07, 0x06, 0x0A, 0x0A
+};
+
+static const ByteProvider kEoB1SaveThrwModExtPC98Provider = { ARRAYSIZE(kEoB1SaveThrwModExtPC98), kEoB1SaveThrwModExtPC98 };
+
+static const char *const kEoB1IntroFilesOpeningPC98[8] = {
+ "SSI.BIN",
+ "AND.BIN",
+ "PON2.BIN",
+ "PRESENT.BIN",
+ "DAND.BIN",
+ "EOBTITLE.BIN",
+ "WESTWOOD.BIN",
+ ""
+};
+
+static const StringListProvider kEoB1IntroFilesOpeningPC98Provider = { ARRAYSIZE(kEoB1IntroFilesOpeningPC98), kEoB1IntroFilesOpeningPC98 };
+
+static const char *const kEoB1IntroFilesTowerPC98[2] = {
+ "",
+ "TOWRMAGE.BIN"
+};
+
+static const StringListProvider kEoB1IntroFilesTowerPC98Provider = { ARRAYSIZE(kEoB1IntroFilesTowerPC98), kEoB1IntroFilesTowerPC98 };
+
+static const char *const kEoB1IntroFilesOrbPC98[2] = {
+ "ORB.BIN",
+ "TOWRMAGE.BIN"
+};
+
+static const StringListProvider kEoB1IntroFilesOrbPC98Provider = { ARRAYSIZE(kEoB1IntroFilesOrbPC98), kEoB1IntroFilesOrbPC98 };
+
+static const char *const kEoB1IntroFilesWdEntryPC98[4] = {
+ "",
+ "WTRDP1.BIN",
+ "WTRDP2.BIN",
+ "WTRDP3.BIN"
+};
+
+static const StringListProvider kEoB1IntroFilesWdEntryPC98Provider = { ARRAYSIZE(kEoB1IntroFilesWdEntryPC98), kEoB1IntroFilesWdEntryPC98 };
+
+static const char *const kEoB1IntroFilesKingPC98[2] = {
+ "KING.BIN",
+ "ADVENTUR.BIN"
+};
+
+static const StringListProvider kEoB1IntroFilesKingPC98Provider = { ARRAYSIZE(kEoB1IntroFilesKingPC98), kEoB1IntroFilesKingPC98 };
+
+static const char *const kEoB1IntroFilesHandsPC98[1] = {
+ "HANDS.BIN"
+};
+
+static const StringListProvider kEoB1IntroFilesHandsPC98Provider = { ARRAYSIZE(kEoB1IntroFilesHandsPC98), kEoB1IntroFilesHandsPC98 };
+
+static const char *const kEoB1IntroFilesWdExitPC98[5] = {
+ "WTRDP3.BIN",
+ "",
+ "ORB.BIN",
+ "TUNNEL.BIN",
+ ""
+};
+
+static const StringListProvider kEoB1IntroFilesWdExitPC98Provider = { ARRAYSIZE(kEoB1IntroFilesWdExitPC98), kEoB1IntroFilesWdExitPC98 };
+
+static const char *const kEoB1IntroFilesTunnelPC98[2] = {
+ "AVALANCH.BIN",
+ "ZOOMTUNL.BIN"
+};
+
+static const StringListProvider kEoB1IntroFilesTunnelPC98Provider = { ARRAYSIZE(kEoB1IntroFilesTunnelPC98), kEoB1IntroFilesTunnelPC98 };
+
+static const byte kEoB1IntroOpeningFrmDelayPC98[7] = {
+ 0x8C, 0x64, 0x32, 0x64, 0x32, 0x8C, 0x64
+};
+
+static const ByteProvider kEoB1IntroOpeningFrmDelayPC98Provider = { ARRAYSIZE(kEoB1IntroOpeningFrmDelayPC98), kEoB1IntroOpeningFrmDelayPC98 };
+
+static const byte kEoB1IntroWdEncodeXPC98[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 kEoB1IntroWdEncodeXPC98Provider = { ARRAYSIZE(kEoB1IntroWdEncodeXPC98), kEoB1IntroWdEncodeXPC98 };
+
+static const byte kEoB1IntroWdEncodeYPC98[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 kEoB1IntroWdEncodeYPC98Provider = { ARRAYSIZE(kEoB1IntroWdEncodeYPC98), kEoB1IntroWdEncodeYPC98 };
+
+static const byte kEoB1IntroWdEncodeWHPC98[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 kEoB1IntroWdEncodeWHPC98Provider = { ARRAYSIZE(kEoB1IntroWdEncodeWHPC98), kEoB1IntroWdEncodeWHPC98 };
+
+static const uint16 kEoB1IntroWdDsXPC98[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 kEoB1IntroWdDsXPC98Provider = { ARRAYSIZE(kEoB1IntroWdDsXPC98), kEoB1IntroWdDsXPC98 };
+
+static const byte kEoB1IntroWdDsYPC98[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 kEoB1IntroWdDsYPC98Provider = { ARRAYSIZE(kEoB1IntroWdDsYPC98), kEoB1IntroWdDsYPC98 };
+
+static const byte kEoB1IntroTvlX1PC98[6] = {
+ 0x00, 0x08, 0x10, 0x00, 0x0F, 0x00
+};
+
+static const ByteProvider kEoB1IntroTvlX1PC98Provider = { ARRAYSIZE(kEoB1IntroTvlX1PC98), kEoB1IntroTvlX1PC98 };
+
+static const byte kEoB1IntroTvlY1PC98[6] = {
+ 0x00, 0x00, 0x00, 0x30, 0x36, 0x86
+};
+
+static const ByteProvider kEoB1IntroTvlY1PC98Provider = { ARRAYSIZE(kEoB1IntroTvlY1PC98), kEoB1IntroTvlY1PC98 };
+
+static const byte kEoB1IntroTvlX2PC98[6] = {
+ 0x10, 0x10, 0x0F, 0x0C, 0x0B, 0x0B
+};
+
+static const ByteProvider kEoB1IntroTvlX2PC98Provider = { ARRAYSIZE(kEoB1IntroTvlX2PC98), kEoB1IntroTvlX2PC98 };
+
+static const byte kEoB1IntroTvlY2PC98[6] = {
+ 0x35, 0x35, 0x35, 0x35, 0x35, 0x61
+};
+
+static const ByteProvider kEoB1IntroTvlY2PC98Provider = { ARRAYSIZE(kEoB1IntroTvlY2PC98), kEoB1IntroTvlY2PC98 };
+
+static const byte kEoB1IntroTvlWPC98[6] = {
+ 0x08, 0x08, 0x0B, 0x0F, 0x12, 0x12
+};
+
+static const ByteProvider kEoB1IntroTvlWPC98Provider = { ARRAYSIZE(kEoB1IntroTvlWPC98), kEoB1IntroTvlWPC98 };
+
+static const byte kEoB1IntroTvlHPC98[6] = {
+ 0x1A, 0x30, 0x36, 0x45, 0x50, 0x28
+};
+
+static const ByteProvider kEoB1IntroTvlHPC98Provider = { ARRAYSIZE(kEoB1IntroTvlHPC98), kEoB1IntroTvlHPC98 };
+
+static const byte kEoB1DoorShapeDefsPC98[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 kEoB1DoorShapeDefsPC98Provider = { ARRAYSIZE(kEoB1DoorShapeDefsPC98), kEoB1DoorShapeDefsPC98 };
+
+static const byte kEoB1DoorSwitchShapeDefsPC98[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 kEoB1DoorSwitchShapeDefsPC98Provider = { ARRAYSIZE(kEoB1DoorSwitchShapeDefsPC98), kEoB1DoorSwitchShapeDefsPC98 };
+
+static const byte kEoB1DoorSwitchCoordsPC98[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 kEoB1DoorSwitchCoordsPC98Provider = { ARRAYSIZE(kEoB1DoorSwitchCoordsPC98), kEoB1DoorSwitchCoordsPC98 };
+
+static const byte kEoB1MonsterPropertiesPC98[594] = {
+ 0x07, 0x12, 0xff, 0x01, 0x01, 0x04, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x02, 0x4b,
+ 0x02, 0xff, 0x00, 0x07, 0x11, 0x02, 0x01, 0x01,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x78, 0x00,
+ 0x01, 0x38, 0x39, 0x00, 0xff, 0x00, 0x05, 0x11,
+ 0x01, 0x01, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x0c, 0x04, 0x00, 0x00,
+ 0x00, 0x41, 0x00, 0x00, 0x42, 0x43, 0x00, 0x02,
+ 0x00, 0x08, 0x0f, 0x02, 0x01, 0x01, 0x08, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x41, 0x00, 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, 0xaf,
+ 0x00, 0x02, 0x36, 0x37, 0x04, 0xff, 0x14, 0x05,
+ 0x11, 0x03, 0x01, 0x01, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x00,
+ 0x00, 0x00, 0x41, 0x00, 0x00, 0x2f, 0x30, 0x00,
+ 0xff, 0x00, 0x06, 0x13, 0x02, 0x01, 0x01, 0x08,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x12, 0x02, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x02,
+ 0x31, 0x26, 0x00, 0xff, 0x00, 0x03, 0x0c, 0x07,
+ 0x01, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+ 0xda, 0x02, 0x00, 0x2d, 0x2e, 0x00, 0xff, 0x00,
+ 0x05, 0x07, 0x0a, 0x01, 0x01, 0x08, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x04,
+ 0x00, 0x00, 0x00, 0xdc, 0x05, 0x00, 0x40, 0x41,
+ 0x00, 0x07, 0x00, 0x04, 0x0f, 0x06, 0x02, 0x01,
+ 0x08, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0x03, 0x00, 0x00, 0x00, 0xcf, 0x03,
+ 0x01, 0x27, 0x28, 0x00, 0xff, 0x00, 0x05, 0x0d,
+ 0x06, 0x03, 0x01, 0x08, 0x00, 0x01, 0x04, 0x00,
+ 0x01, 0x04, 0x00, 0x00, 0x28, 0x03, 0x00, 0x00,
+ 0x00, 0x78, 0x05, 0x02, 0x25, 0x24, 0x00, 0xff,
+ 0x00, 0x04, 0x0d, 0x05, 0x02, 0x01, 0x04, 0x00,
+ 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0xe2, 0x04, 0x00, 0x3e,
+ 0x3f, 0x00, 0xff, 0x00, 0x04, 0x0f, 0x04, 0x01,
+ 0x01, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x8a,
+ 0x02, 0x00, 0x2b, 0x2c, 0x00, 0xff, 0x3c, 0xff,
+ 0x07, 0x0a, 0x01, 0x03, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00,
+ 0x00, 0x00, 0x10, 0x27, 0x02, 0x44, 0x45, 0x00,
+ 0xff, 0x64, 0xff, 0x07, 0x09, 0x01, 0x03, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x42, 0x03, 0x00, 0x00, 0x00, 0xd0, 0x07, 0x00,
+ 0x1f, 0xff, 0x08, 0xff, 0x00, 0x03, 0x0d, 0x07,
+ 0x01, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00,
+ 0x88, 0x13, 0x02, 0x29, 0x2a, 0x02, 0xff, 0x3c,
+ 0x05, 0x0d, 0x07, 0x01, 0x01, 0x06, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02,
+ 0x00, 0x00, 0x00, 0x88, 0x13, 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, 0x40, 0x1f,
+ 0x00, 0x3a, 0x3b, 0xff, 0xff, 0x5a, 0x02, 0x0f,
+ 0x05, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x82, 0x02, 0x00, 0x00,
+ 0x00, 0x0e, 0x01, 0x02, 0x3c, 0x3d, 0x00, 0xff,
+ 0x00, 0xfe, 0x0d, 0x08, 0x01, 0x06, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x02, 0x00, 0x00, 0x00, 0xa0, 0x0f, 0x02, 0x48,
+ 0x47, 0x00, 0xff, 0x32, 0x04, 0x0d, 0x07, 0x01,
+ 0x01, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0xcf,
+ 0x03, 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, 0xb0, 0x36, 0x02, 0xff, 0xff, 0xff,
+ 0xff, 0x64
+};
+
+static const ByteProvider kEoB1MonsterPropertiesPC98Provider = { ARRAYSIZE(kEoB1MonsterPropertiesPC98), kEoB1MonsterPropertiesPC98 };
+
+static const byte kEoB1EnemyMageSpellListPC98[10] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x05,
+ 0x06, 0x00
+};
+
+static const ByteProvider kEoB1EnemyMageSpellListPC98Provider = { ARRAYSIZE(kEoB1EnemyMageSpellListPC98), kEoB1EnemyMageSpellListPC98 };
+
+static const byte kEoB1EnemyMageSfxPC98[10] = {
+ 0x00, 0x55, 0x55, 0x55, 0x55, 0x62, 0x62, 0x1F,
+ 0x62, 0x02
+};
+
+static const ByteProvider kEoB1EnemyMageSfxPC98Provider = { ARRAYSIZE(kEoB1EnemyMageSfxPC98), kEoB1EnemyMageSfxPC98 };
+
+static const byte kEoB1BeholderSpellListPC98[4] = {
+ 0x02, 0x0A, 0x0B, 0x62
+};
+
+static const ByteProvider kEoB1BeholderSpellListPC98Provider = { ARRAYSIZE(kEoB1BeholderSpellListPC98), kEoB1BeholderSpellListPC98 };
+
+static const byte kEoB1BeholderSfxPC98[4] = {
+ 0x62, 0x53, 0x40, 0x00
+};
+
+static const ByteProvider kEoB1BeholderSfxPC98Provider = { ARRAYSIZE(kEoB1BeholderSfxPC98), kEoB1BeholderSfxPC98 };
+
+static const byte kEoB1NpcShpDataPC98[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 kEoB1NpcShpDataPC98Provider = { ARRAYSIZE(kEoB1NpcShpDataPC98), kEoB1NpcShpDataPC98 };
+
+static const byte kEoB1NpcSubShpIndex1PC98[6] = {
+ 0x09, 0x08, 0x08, 0x09, 0x09, 0x0A
+};
+
+static const ByteProvider kEoB1NpcSubShpIndex1PC98Provider = { ARRAYSIZE(kEoB1NpcSubShpIndex1PC98), kEoB1NpcSubShpIndex1PC98 };
+
+static const byte kEoB1NpcSubShpIndex2PC98[6] = {
+ 0x0D, 0x0B, 0x0C, 0x0E, 0x0F, 0x10
+};
+
+static const ByteProvider kEoB1NpcSubShpIndex2PC98Provider = { ARRAYSIZE(kEoB1NpcSubShpIndex2PC98), kEoB1NpcSubShpIndex2PC98 };
+
+static const byte kEoB1NpcSubShpYPC98[6] = {
+ 0x34, 0x31, 0x31, 0x34, 0x34, 0x45
+};
+
+static const ByteProvider kEoB1NpcSubShpYPC98Provider = { ARRAYSIZE(kEoB1NpcSubShpYPC98), kEoB1NpcSubShpYPC98 };
+
+static const char *const kEoB1EnchantedStringPC98[1] = {
+ "%s+%d"
+};
+
+static const StringListProvider kEoB1EnchantedStringPC98Provider = { ARRAYSIZE(kEoB1EnchantedStringPC98), kEoB1EnchantedStringPC98 };
+
+static const byte kEoB1SpellLevelsMagePC98[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 kEoB1SpellLevelsMagePC98Provider = { ARRAYSIZE(kEoB1SpellLevelsMagePC98), kEoB1SpellLevelsMagePC98 };
+
+static const byte kEoB1SpellLevelsClericPC98[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 kEoB1SpellLevelsClericPC98Provider = { ARRAYSIZE(kEoB1SpellLevelsClericPC98), kEoB1SpellLevelsClericPC98 };
+
+static const byte kEoB1NumSpellsClericPC98[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 kEoB1NumSpellsClericPC98Provider = { ARRAYSIZE(kEoB1NumSpellsClericPC98), kEoB1NumSpellsClericPC98 };
+
+static const byte kEoB1NumSpellsWisAdjPC98[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 kEoB1NumSpellsWisAdjPC98Provider = { ARRAYSIZE(kEoB1NumSpellsWisAdjPC98), kEoB1NumSpellsWisAdjPC98 };
+
+static const byte kEoB1NumSpellsPalPC98[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 kEoB1NumSpellsPalPC98Provider = { ARRAYSIZE(kEoB1NumSpellsPalPC98), kEoB1NumSpellsPalPC98 };
+
+static const byte kEoB1NumSpellsMagePC98[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 kEoB1NumSpellsMagePC98Provider = { ARRAYSIZE(kEoB1NumSpellsMagePC98), kEoB1NumSpellsMagePC98 };
+
+static const uint32 kEoB1ExperienceTable0PC98[12] = {
+ 0x00000000, 0x000007D0, 0x00000FA0, 0x00001F40, 0x00003E80, 0x00007D00, 0x0000FA00, 0x0001E848,
+ 0x0003D090, 0x0007A120, 0x000B71B0, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB1ExperienceTable0PC98Provider = { ARRAYSIZE(kEoB1ExperienceTable0PC98), kEoB1ExperienceTable0PC98 };
+
+static const uint32 kEoB1ExperienceTable1PC98[12] = {
+ 0x00000000, 0x000009C4, 0x00001388, 0x00002710, 0x00004E20, 0x00009C40, 0x0000EA60, 0x00015F90,
+ 0x00020F58, 0x0003D090, 0x0005B8D8, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB1ExperienceTable1PC98Provider = { ARRAYSIZE(kEoB1ExperienceTable1PC98), kEoB1ExperienceTable1PC98 };
+
+static const uint32 kEoB1ExperienceTable2PC98[11] = {
+ 0x00000000, 0x000005DC, 0x00000BB8, 0x00001770, 0x000032C8, 0x00006B6C, 0x0000D6D8, 0x0001ADB0,
+ 0x00036EE8, 0x0006DDD0, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB1ExperienceTable2PC98Provider = { ARRAYSIZE(kEoB1ExperienceTable2PC98), kEoB1ExperienceTable2PC98 };
+
+static const uint32 kEoB1ExperienceTable3PC98[12] = {
+ 0x00000000, 0x000004E2, 0x000009C4, 0x00001388, 0x00002710, 0x00004E20, 0x00009C40, 0x00011170,
+ 0x0001ADB0, 0x00027100, 0x00035B60, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB1ExperienceTable3PC98Provider = { ARRAYSIZE(kEoB1ExperienceTable3PC98), kEoB1ExperienceTable3PC98 };
+
+static const uint32 kEoB1ExperienceTable4PC98[12] = {
+ 0x00000000, 0x000008CA, 0x00001194, 0x00002328, 0x00004650, 0x00008CA0, 0x000124F8, 0x000249F0,
+ 0x000493E0, 0x000927C0, 0x000DBBA0, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB1ExperienceTable4PC98Provider = { ARRAYSIZE(kEoB1ExperienceTable4PC98), kEoB1ExperienceTable4PC98 };
+
+static const byte kEoB1ExpObjectTblIndexPC98[9] = {
+ 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01,
+ 0x00
+};
+
+static const ByteProvider kEoB1ExpObjectTblIndexPC98Provider = { ARRAYSIZE(kEoB1ExpObjectTblIndexPC98), kEoB1ExpObjectTblIndexPC98 };
+
+static const byte kEoB1ExpObjectShpStartPC98[4] = {
+ 0x07, 0x0C, 0x0F, 0x12
+};
+
+static const ByteProvider kEoB1ExpObjectShpStartPC98Provider = { ARRAYSIZE(kEoB1ExpObjectShpStartPC98), kEoB1ExpObjectShpStartPC98 };
+
+static const byte kEoB1ExpObjectTbl1PC98[13] = {
+ 0x0F, 0x05, 0x0F, 0x05, 0x06, 0x05, 0x06, 0x08,
+ 0x06, 0x08, 0x06, 0x08, 0x00
+};
+
+static const ByteProvider kEoB1ExpObjectTbl1PC98Provider = { ARRAYSIZE(kEoB1ExpObjectTbl1PC98), kEoB1ExpObjectTbl1PC98 };
+
+static const byte kEoB1ExpObjectTbl2PC98[10] = {
+ 0x0F, 0x09, 0x0F, 0x09, 0x02, 0x0A, 0x0B, 0x0A,
+ 0x0B, 0x00
+};
+
+static const ByteProvider kEoB1ExpObjectTbl2PC98Provider = { ARRAYSIZE(kEoB1ExpObjectTbl2PC98), kEoB1ExpObjectTbl2PC98 };
+
+static const byte kEoB1ExpObjectTbl3PC98[11] = {
+ 0x05, 0x03, 0x05, 0x03, 0x03, 0x03, 0x03, 0x0B,
+ 0x03, 0x0B, 0x00
+};
+
+static const ByteProvider kEoB1ExpObjectTbl3PC98Provider = { ARRAYSIZE(kEoB1ExpObjectTbl3PC98), kEoB1ExpObjectTbl3PC98 };
+
+static const byte kEoB1ExpObjectYPC98[4] = {
+ 0x77, 0x67, 0x4F, 0x3F
+};
+
+static const ByteProvider kEoB1ExpObjectYPC98Provider = { ARRAYSIZE(kEoB1ExpObjectYPC98), kEoB1ExpObjectYPC98 };
+
+static const byte kEoB1SparkDefStepsPC98[8] = {
+ 0x40, 0x90, 0xE4, 0xB9, 0x6E, 0x1B, 0x06, 0x01
+};
+
+static const ByteProvider kEoB1SparkDefStepsPC98Provider = { ARRAYSIZE(kEoB1SparkDefStepsPC98), kEoB1SparkDefStepsPC98 };
+
+static const byte kEoB1SparkDefSubStepsPC98[4] = {
+ 0xC0, 0x30, 0x0C, 0x03
+};
+
+static const ByteProvider kEoB1SparkDefSubStepsPC98Provider = { ARRAYSIZE(kEoB1SparkDefSubStepsPC98), kEoB1SparkDefSubStepsPC98 };
+
+static const byte kEoB1SparkDefShiftPC98[4] = {
+ 0x06, 0x04, 0x02, 0x00
+};
+
+static const ByteProvider kEoB1SparkDefShiftPC98Provider = { ARRAYSIZE(kEoB1SparkDefShiftPC98), kEoB1SparkDefShiftPC98 };
+
+static const byte kEoB1SparkDefAddPC98[8] = {
+ 0x08, 0x06, 0x1C, 0x14, 0x0D, 0x18, 0x0D, 0x0F
+};
+
+static const ByteProvider kEoB1SparkDefAddPC98Provider = { ARRAYSIZE(kEoB1SparkDefAddPC98), kEoB1SparkDefAddPC98 };
+
+static const byte kEoB1SparkDefXPC98[6] = {
+ 0x17, 0x20, 0x17, 0x20, 0x17, 0x20
+};
+
+static const ByteProvider kEoB1SparkDefXPC98Provider = { ARRAYSIZE(kEoB1SparkDefXPC98), kEoB1SparkDefXPC98 };
+
+static const byte kEoB1SparkDefYPC98[6] = {
+ 0x02, 0x02, 0x34, 0x34, 0x66, 0x66
+};
+
+static const ByteProvider kEoB1SparkDefYPC98Provider = { ARRAYSIZE(kEoB1SparkDefYPC98), kEoB1SparkDefYPC98 };
+
+static const uint32 kEoB1SparkOfFlags1PC98[11] = {
+ 0x40000000, 0x95000000, 0xEA550000, 0xBFAA5400, 0x6AFFA954, 0x15AAFEA9, 0x0055ABFE, 0x000056AB,
+ 0x00000156, 0x00000001, 0x00000000
+};
+
+static const Uint32Provider kEoB1SparkOfFlags1PC98Provider = { ARRAYSIZE(kEoB1SparkOfFlags1PC98), kEoB1SparkOfFlags1PC98 };
+
+static const uint32 kEoB1SparkOfFlags2PC98[16] = {
+ 0xC0000000, 0x30000000, 0x0C000000, 0x03000000, 0x00C00000, 0x00300000, 0x000C0000, 0x00030000,
+ 0x0000C000, 0x00003000, 0x00000C00, 0x00000300, 0x000000C0, 0x00000030, 0x0000000C, 0x00000003
+};
+
+static const Uint32Provider kEoB1SparkOfFlags2PC98Provider = { ARRAYSIZE(kEoB1SparkOfFlags2PC98), kEoB1SparkOfFlags2PC98 };
+
+static const byte kEoB1SparkOfShiftPC98[16] = {
+ 0x1E, 0x1C, 0x1A, 0x18, 0x16, 0x14, 0x12, 0x10,
+ 0x0E, 0x0C, 0x0A, 0x08, 0x06, 0x04, 0x02, 0x00
+};
+
+static const ByteProvider kEoB1SparkOfShiftPC98Provider = { ARRAYSIZE(kEoB1SparkOfShiftPC98), kEoB1SparkOfShiftPC98 };
+
+static const byte kEoB1SparkOfXPC98[16] = {
+ 0x50, 0x70, 0x30, 0x68, 0x20, 0x60, 0x38, 0x78,
+ 0x80, 0x48, 0x58, 0x28, 0x60, 0x40, 0x70, 0x48
+};
+
+static const ByteProvider kEoB1SparkOfXPC98Provider = { ARRAYSIZE(kEoB1SparkOfXPC98), kEoB1SparkOfXPC98 };
+
+static const byte kEoB1SparkOfYPC98[16] = {
+ 0x31, 0x2B, 0x48, 0x17, 0x16, 0x48, 0x35, 0x1B,
+ 0x43, 0x2E, 0x24, 0x28, 0x38, 0x1C, 0x16, 0x44
+};
+
+static const ByteProvider kEoB1SparkOfYPC98Provider = { ARRAYSIZE(kEoB1SparkOfYPC98), kEoB1SparkOfYPC98 };
+
+static const byte kEoB1SpellPropertiesPC98[1007] = {
+ 0x6a, 0x18, 0xaf, 0x2b, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x6b, 0x18, 0xaf, 0x2b, 0x01,
+ 0xfd, 0x0f, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00,
+ 0x7b, 0x10, 0x2e, 0x1b, 0x5c, 0x00, 0x74, 0x18,
+ 0xaf, 0x2b, 0x00, 0x8e, 0x10, 0x2e, 0x1b, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
+ 0x01, 0x87, 0x18, 0xaf, 0x2b, 0x08, 0x61, 0x11,
+ 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0xaa, 0x11,
+ 0x2e, 0x1b, 0x5f, 0x00, 0x9c, 0x18, 0xaf, 0x2b,
+ 0x00, 0xd0, 0x11, 0x2e, 0x1b, 0xf0, 0x11, 0x2e,
+ 0x1b, 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, 0xaf, 0x18, 0xaf, 0x2b, 0x04, 0x22,
+ 0x12, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x78,
+ 0x12, 0x2e, 0x1b, 0x5c, 0x00, 0xb8, 0x18, 0xaf,
+ 0x2b, 0x02, 0x9c, 0x12, 0x2e, 0x1b, 0x00, 0x00,
+ 0x00, 0x00, 0x43, 0x13, 0x2e, 0x1b, 0x58, 0x00,
+ 0xcf, 0x18, 0xaf, 0x2b, 0x01, 0x8f, 0x13, 0x2e,
+ 0x1b, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x13, 0x2e,
+ 0x1b, 0x5e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18,
+ 0xaf, 0x2b, 0x00, 0xd2, 0x13, 0x2e, 0x1b, 0xf3,
+ 0x13, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x60,
+ 0x01, 0xfb, 0x18, 0xaf, 0x2b, 0x00, 0x27, 0x14,
+ 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x14, 0x19, 0xaf, 0x2b,
+ 0x01, 0x2c, 0x14, 0x2e, 0x1b, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x29,
+ 0x19, 0xaf, 0x2b, 0x00, 0x36, 0x15, 0x2e, 0x1b,
+ 0x57, 0x15, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00,
+ 0x62, 0x01, 0x38, 0x19, 0xaf, 0x2b, 0x00, 0x85,
+ 0x15, 0x2e, 0x1b, 0xa6, 0x15, 0x2e, 0x1b, 0x00,
+ 0x00, 0x00, 0x00, 0x63, 0x01, 0x49, 0x19, 0xaf,
+ 0x2b, 0x08, 0xd4, 0x15, 0x2e, 0x1b, 0x00, 0x00,
+ 0x00, 0x00, 0x39, 0x16, 0x2e, 0x1b, 0x64, 0x00,
+ 0x52, 0x19, 0xaf, 0x2b, 0x00, 0x4f, 0x16, 0x2e,
+ 0x1b, 0x70, 0x16, 0x2e, 0x1b, 0x00, 0x00, 0x00,
+ 0x00, 0x65, 0x01, 0x65, 0x19, 0xaf, 0x2b, 0x08,
+ 0x24, 0x17, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00,
+ 0xb1, 0x13, 0x2e, 0x1b, 0x5e, 0x00, 0x90, 0x19,
+ 0xaf, 0x2b, 0x00, 0x5d, 0x17, 0x2e, 0x1b, 0x7e,
+ 0x17, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x01, 0xa5, 0x19, 0xaf, 0x2b, 0x02, 0xac, 0x17,
+ 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x18,
+ 0x2e, 0x1b, 0x66, 0x00, 0xba, 0x19, 0xaf, 0x2b,
+ 0x00, 0x6a, 0x18, 0x2e, 0x1b, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x01, 0xc1,
+ 0x19, 0xaf, 0x2b, 0x00, 0x2c, 0x19, 0x2e, 0x1b,
+ 0x4d, 0x19, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00,
+ 0x59, 0x01, 0xd2, 0x19, 0xaf, 0x2b, 0x01, 0xe5,
+ 0x19, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0xe1, 0x19, 0xaf,
+ 0x2b, 0x00, 0x5d, 0x1a, 0x2e, 0x1b, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0xee, 0x19, 0xaf, 0x2b, 0x00, 0x62, 0x1a, 0x2e,
+ 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x76, 0x01, 0x05, 0x1a, 0xaf, 0x2b, 0x00,
+ 0xa1, 0x1b, 0x2e, 0x1b, 0xc2, 0x1b, 0x2e, 0x1b,
+ 0x00, 0x00, 0x00, 0x00, 0x65, 0x01, 0x1a, 0x1a,
+ 0xaf, 0x2b, 0x08, 0x76, 0x1c, 0x2e, 0x1b, 0x00,
+ 0x00, 0x00, 0x00, 0xbb, 0x1c, 0x2e, 0x1b, 0x5b,
+ 0x00, 0x21, 0x1a, 0xaf, 0x2b, 0x01, 0xc8, 0x1c,
+ 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x68, 0x00, 0x38, 0x1a, 0xaf, 0x2b,
+ 0x00, 0xeb, 0x1c, 0x2e, 0x1b, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b, 0x01, 0x51,
+ 0x1a, 0xaf, 0x2b, 0x08, 0x61, 0x11, 0x2e, 0x1b,
+ 0x00, 0x00, 0x00, 0x00, 0xaa, 0x11, 0x2e, 0x1b,
+ 0x5f, 0x00, 0x66, 0x1a, 0xaf, 0x2b, 0x01, 0x02,
+ 0x1d, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x37,
+ 0x1d, 0x2e, 0x1b, 0x6e, 0x00, 0x7f, 0x1a, 0xaf,
+ 0x2b, 0x01, 0x4d, 0x1d, 0x2e, 0x1b, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x1e, 0x2e, 0x1b, 0x5b, 0x00,
+ 0x86, 0x1a, 0xaf, 0x2b, 0x02, 0xfe, 0x1e, 0x2e,
+ 0x1b, 0x00, 0x00, 0x00, 0x00, 0x43, 0x13, 0x2e,
+ 0x1b, 0x63, 0x00, 0x99, 0x1a, 0xaf, 0x2b, 0x00,
+ 0x4f, 0x16, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x65, 0x01, 0xac, 0x1a,
+ 0xaf, 0x2b, 0x01, 0x3b, 0x1e, 0x2e, 0x1b, 0x00,
+ 0x00, 0x00, 0x00, 0x98, 0x1e, 0x2e, 0x1b, 0x6f,
+ 0x00, 0xbd, 0x1a, 0xaf, 0x2b, 0x08, 0x8c, 0x1f,
+ 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x70, 0x00, 0xd0, 0x1a, 0xaf, 0x2b,
+ 0x01, 0x2c, 0x14, 0x2e, 0x1b, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0xe5,
+ 0x1a, 0xaf, 0x2b, 0x04, 0xab, 0x1f, 0x2e, 0x1b,
+ 0x00, 0x00, 0x00, 0x00, 0xeb, 0x1f, 0x2e, 0x1b,
+ 0x71, 0x00, 0xfc, 0x1a, 0xaf, 0x2b, 0x08, 0x0c,
+ 0x20, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x3c,
+ 0x20, 0x2e, 0x1b, 0x5b, 0x00, 0x07, 0x1b, 0xaf,
+ 0x2b, 0x08, 0x4e, 0x20, 0x2e, 0x1b, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x00,
+ 0x1c, 0x1b, 0xaf, 0x2b, 0x01, 0x9c, 0x20, 0x2e,
+ 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x69, 0x00, 0x37, 0x1b, 0xaf, 0x2b, 0x00,
+ 0xc3, 0x20, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x6c, 0x01, 0x52, 0x1b,
+ 0xaf, 0x2b, 0x01, 0xdb, 0x20, 0x2e, 0x1b, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73,
+ 0x00, 0x6d, 0x1b, 0xaf, 0x2b, 0x08, 0x03, 0x21,
+ 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x61, 0x21,
+ 0x2e, 0x1b, 0x6e, 0x00, 0x8a, 0x1b, 0xaf, 0x2b,
+ 0x04, 0x9a, 0x21, 0x2e, 0x1b, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0xa7,
+ 0x1b, 0xaf, 0x2b, 0x01, 0xa4, 0x21, 0x2e, 0x1b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x6a, 0x00, 0xc6, 0x1b, 0xaf, 0x2b, 0x00, 0xcb,
+ 0x21, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x6c, 0x01, 0xe5, 0x1b, 0xaf,
+ 0x2b, 0x00, 0xe3, 0x21, 0x2e, 0x1b, 0x04, 0x22,
+ 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x62, 0x01,
+ 0xfa, 0x1b, 0xaf, 0x2b, 0x01, 0x26, 0x22, 0x2e,
+ 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x75, 0x00, 0x09, 0x1c, 0xaf, 0x2b, 0x01,
+ 0xa4, 0x23, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x1c, 0x1c,
+ 0xaf, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68,
+ 0x22, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x75,
+ 0x00, 0x1d, 0x1c, 0xaf, 0x2b, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x8a, 0x22, 0x2e, 0x1b, 0x00, 0x00,
+ 0x00, 0x00, 0x75, 0x00, 0x1e, 0x1c, 0xaf, 0x2b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x23, 0x2e,
+ 0x1b, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00
+};
+
+static const ByteProvider kEoB1SpellPropertiesPC98Provider = { ARRAYSIZE(kEoB1SpellPropertiesPC98), kEoB1SpellPropertiesPC98 };
+
+static const byte kEoB1MagicFlightPropsPC98[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, 0x98, 0x00, 0x18, 0x00,
+ 0x78, 0x00, 0x38, 0x00, 0x58, 0x00, 0x40, 0x40,
+ 0x38, 0x38, 0x38, 0x38, 0xe0, 0x20, 0x01, 0xff
+};
+
+static const ByteProvider kEoB1MagicFlightPropsPC98Provider = { ARRAYSIZE(kEoB1MagicFlightPropsPC98), kEoB1MagicFlightPropsPC98 };
+
+static const byte kEoB1TurnUndeadEffectPC98[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 kEoB1TurnUndeadEffectPC98Provider = { ARRAYSIZE(kEoB1TurnUndeadEffectPC98), kEoB1TurnUndeadEffectPC98 };
+
+static const byte kEoB1BurningHandsDestPC98[8] = {
+ 0x02, 0x03, 0x00, 0x02, 0x00, 0x01, 0x01, 0x03
+};
+
+static const ByteProvider kEoB1BurningHandsDestPC98Provider = { ARRAYSIZE(kEoB1BurningHandsDestPC98), kEoB1BurningHandsDestPC98 };
+
+static const byte kEoB1ConeOfColdDest1PC98[7] = {
+ 0xE0, 0xC0, 0xC1, 0xBF, 0xA0, 0x9F, 0xA1
+};
+
+static const ByteProvider kEoB1ConeOfColdDest1PC98Provider = { ARRAYSIZE(kEoB1ConeOfColdDest1PC98), kEoB1ConeOfColdDest1PC98 };
+
+static const byte kEoB1ConeOfColdDest2PC98[7] = {
+ 0x01, 0x02, 0xE2, 0x22, 0x03, 0xE3, 0x23
+};
+
+static const ByteProvider kEoB1ConeOfColdDest2PC98Provider = { ARRAYSIZE(kEoB1ConeOfColdDest2PC98), kEoB1ConeOfColdDest2PC98 };
+
+static const byte kEoB1ConeOfColdDest3PC98[7] = {
+ 0x20, 0x40, 0x3F, 0x41, 0x60, 0x5F, 0x61
+};
+
+static const ByteProvider kEoB1ConeOfColdDest3PC98Provider = { ARRAYSIZE(kEoB1ConeOfColdDest3PC98), kEoB1ConeOfColdDest3PC98 };
+
+static const byte kEoB1ConeOfColdDest4PC98[7] = {
+ 0xFF, 0xFE, 0x1E, 0xDE, 0xFD, 0x1D, 0xDD
+};
+
+static const ByteProvider kEoB1ConeOfColdDest4PC98Provider = { ARRAYSIZE(kEoB1ConeOfColdDest4PC98), kEoB1ConeOfColdDest4PC98 };
+
+static const byte kEoB1ConeOfColdGfxTblPC98[8] = {
+ 0x0F, 0x09, 0x0F, 0x09, 0x02, 0x0A, 0x02, 0x00
+};
+
+static const ByteProvider kEoB1ConeOfColdGfxTblPC98Provider = { ARRAYSIZE(kEoB1ConeOfColdGfxTblPC98), kEoB1ConeOfColdGfxTblPC98 };
+
+static const byte kEoB1DscDoorShapeIndexPC98[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 kEoB1DscDoorShapeIndexPC98Provider = { ARRAYSIZE(kEoB1DscDoorShapeIndexPC98), kEoB1DscDoorShapeIndexPC98 };
+
+static const byte kEoB1WllFlagPresetPC98[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 kEoB1WllFlagPresetPC98Provider = { ARRAYSIZE(kEoB1WllFlagPresetPC98), kEoB1WllFlagPresetPC98 };
+
+static const uint16 kEoB1DscShapeCoordsPC98[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 kEoB1DscShapeCoordsPC98Provider = { ARRAYSIZE(kEoB1DscShapeCoordsPC98), kEoB1DscShapeCoordsPC98 };
+
+static const byte kEoB1DscDoorScaleOffsPC98[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 kEoB1DscDoorScaleOffsPC98Provider = { ARRAYSIZE(kEoB1DscDoorScaleOffsPC98), kEoB1DscDoorScaleOffsPC98 };
+
+static const byte kEoB1DscDoorScaleMult1PC98[4] = {
+ 0x08, 0x0C, 0x12, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorScaleMult1PC98Provider = { ARRAYSIZE(kEoB1DscDoorScaleMult1PC98), kEoB1DscDoorScaleMult1PC98 };
+
+static const byte kEoB1DscDoorScaleMult2PC98[4] = {
+ 0x00, 0x02, 0x04, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorScaleMult2PC98Provider = { ARRAYSIZE(kEoB1DscDoorScaleMult2PC98), kEoB1DscDoorScaleMult2PC98 };
+
+static const byte kEoB1DscDoorScaleMult3PC98[4] = {
+ 0x04, 0x06, 0x09, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorScaleMult3PC98Provider = { ARRAYSIZE(kEoB1DscDoorScaleMult3PC98), kEoB1DscDoorScaleMult3PC98 };
+
+static const byte kEoB1DscDoorScaleMult4PC98[4] = {
+ 0x00, 0x02, 0x04, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorScaleMult4PC98Provider = { ARRAYSIZE(kEoB1DscDoorScaleMult4PC98), kEoB1DscDoorScaleMult4PC98 };
+
+static const byte kEoB1DscDoorScaleMult5PC98[4] = {
+ 0x07, 0x0B, 0x0E, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorScaleMult5PC98Provider = { ARRAYSIZE(kEoB1DscDoorScaleMult5PC98), kEoB1DscDoorScaleMult5PC98 };
+
+static const byte kEoB1DscDoorScaleMult6PC98[4] = {
+ 0x00, 0x02, 0x04, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorScaleMult6PC98Provider = { ARRAYSIZE(kEoB1DscDoorScaleMult6PC98), kEoB1DscDoorScaleMult6PC98 };
+
+static const byte kEoB1DscDoorXEPC98[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 kEoB1DscDoorXEPC98Provider = { ARRAYSIZE(kEoB1DscDoorXEPC98), kEoB1DscDoorXEPC98 };
+
+static const byte kEoB1DscDoorY1PC98[4] = {
+ 0x3A, 0x47, 0x56, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorY1PC98Provider = { ARRAYSIZE(kEoB1DscDoorY1PC98), kEoB1DscDoorY1PC98 };
+
+static const byte kEoB1DscDoorY3PC98[4] = {
+ 0x20, 0x20, 0x18, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorY3PC98Provider = { ARRAYSIZE(kEoB1DscDoorY3PC98), kEoB1DscDoorY3PC98 };
+
+static const byte kEoB1DscDoorY4PC98[4] = {
+ 0x1E, 0x18, 0x10, 0x30
+};
+
+static const ByteProvider kEoB1DscDoorY4PC98Provider = { ARRAYSIZE(kEoB1DscDoorY4PC98), kEoB1DscDoorY4PC98 };
+
+static const byte kEoB1DscDoorY5PC98[4] = {
+ 0x30, 0x34, 0x3B, 0x3A
+};
+
+static const ByteProvider kEoB1DscDoorY5PC98Provider = { ARRAYSIZE(kEoB1DscDoorY5PC98), kEoB1DscDoorY5PC98 };
+
+static const byte kEoB1DscDoorY6PC98[4] = {
+ 0x3A, 0x45, 0x5A, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorY6PC98Provider = { ARRAYSIZE(kEoB1DscDoorY6PC98), kEoB1DscDoorY6PC98 };
+
+static const byte kEoB1DscDoorY7PC98[4] = {
+ 0x3B, 0x47, 0x58, 0x00
+};
+
+static const ByteProvider kEoB1DscDoorY7PC98Provider = { ARRAYSIZE(kEoB1DscDoorY7PC98), kEoB1DscDoorY7PC98 };
+
+static const uint16 kEoB1DscDoorCoordsExtPC98[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 kEoB1DscDoorCoordsExtPC98Provider = { ARRAYSIZE(kEoB1DscDoorCoordsExtPC98), kEoB1DscDoorCoordsExtPC98 };
+
+static const byte kEoB1DscDoorFrameY1PC98[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 kEoB1DscDoorFrameY1PC98Provider = { ARRAYSIZE(kEoB1DscDoorFrameY1PC98), kEoB1DscDoorFrameY1PC98 };
+
+static const byte kEoB1DscDoorFrameY2PC98[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 kEoB1DscDoorFrameY2PC98Provider = { ARRAYSIZE(kEoB1DscDoorFrameY2PC98), kEoB1DscDoorFrameY2PC98 };
+
+static const byte kEoB1DscDoorFrameIndex1PC98[12] = {
+ 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x08, 0x08,
+ 0x08, 0x0C, 0x0C, 0x1C
+};
+
+static const ByteProvider kEoB1DscDoorFrameIndex1PC98Provider = { ARRAYSIZE(kEoB1DscDoorFrameIndex1PC98), kEoB1DscDoorFrameIndex1PC98 };
+
+static const byte kEoB1DscDoorFrameIndex2PC98[12] = {
+ 0x10, 0x10, 0x10, 0x18, 0x18, 0x18, 0x10, 0x10,
+ 0x10, 0x14, 0x14, 0x18
+};
+
+static const ByteProvider kEoB1DscDoorFrameIndex2PC98Provider = { ARRAYSIZE(kEoB1DscDoorFrameIndex2PC98), kEoB1DscDoorFrameIndex2PC98 };
+
+static const byte kEoB1DscItemPosIndexPC98[16] = {
+ 0x00, 0x01, 0x02, 0x03, 0x02, 0x00, 0x03, 0x01,
+ 0x03, 0x02, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02
+};
+
+static const ByteProvider kEoB1DscItemPosIndexPC98Provider = { ARRAYSIZE(kEoB1DscItemPosIndexPC98), kEoB1DscItemPosIndexPC98 };
+
+static const uint16 kEoB1DscItemShpXPC98[18] = {
+ 0xFFC8, 0xFFF8, 0x0028, 0x0058, 0x0088, 0x00B8, 0x00E8, 0xFFB8,
+ 0x0008, 0x0058, 0x00A8, 0x00F8, 0xFFD8, 0x0058, 0x00D8, 0xFFA8,
+ 0x0058, 0x0108
+};
+
+static const Uint16Provider kEoB1DscItemShpXPC98Provider = { ARRAYSIZE(kEoB1DscItemShpXPC98), kEoB1DscItemShpXPC98 };
+
+static const byte kEoB1DscItemScaleIndexPC98[18] = {
+ 0xFF, 0xFF, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02,
+ 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF,
+ 0x25, 0x00
+};
+
+static const ByteProvider kEoB1DscItemScaleIndexPC98Provider = { ARRAYSIZE(kEoB1DscItemScaleIndexPC98), kEoB1DscItemScaleIndexPC98 };
+
+static const byte kEoB1DscItemTileIndexPC98[18] = {
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0x09, 0xFF, 0x0B,
+ 0x0C, 0x0D
+};
+
+static const ByteProvider kEoB1DscItemTileIndexPC98Provider = { ARRAYSIZE(kEoB1DscItemTileIndexPC98), kEoB1DscItemTileIndexPC98 };
+
+static const byte kEoB1DscItemShapeMapPC98[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 kEoB1DscItemShapeMapPC98Provider = { ARRAYSIZE(kEoB1DscItemShapeMapPC98), kEoB1DscItemShapeMapPC98 };
+
+static const byte kEoB1DscTelptrShpCoordsPC98[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 kEoB1DscTelptrShpCoordsPC98Provider = { ARRAYSIZE(kEoB1DscTelptrShpCoordsPC98), kEoB1DscTelptrShpCoordsPC98 };
+
+static const byte kEoB1PortalSeqDataPC98[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 kEoB1PortalSeqDataPC98Provider = { ARRAYSIZE(kEoB1PortalSeqDataPC98), kEoB1PortalSeqDataPC98 };
+
+static const byte kEoB1DscMonsterFrmOffsTbl1PC98[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 kEoB1DscMonsterFrmOffsTbl1PC98Provider = { ARRAYSIZE(kEoB1DscMonsterFrmOffsTbl1PC98), kEoB1DscMonsterFrmOffsTbl1PC98 };
+
+static const byte kEoB1DscMonsterFrmOffsTbl2PC98[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 kEoB1DscMonsterFrmOffsTbl2PC98Provider = { ARRAYSIZE(kEoB1DscMonsterFrmOffsTbl2PC98), kEoB1DscMonsterFrmOffsTbl2PC98 };
+
+static const uint16 kEoB1InvSlotXPC98[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 kEoB1InvSlotXPC98Provider = { ARRAYSIZE(kEoB1InvSlotXPC98), kEoB1InvSlotXPC98 };
+
+static const byte kEoB1InvSlotYPC98[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 kEoB1InvSlotYPC98Provider = { ARRAYSIZE(kEoB1InvSlotYPC98), kEoB1InvSlotYPC98 };
+
+static const uint16 kEoB1SlotValidationFlagsPC98[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 kEoB1SlotValidationFlagsPC98Provider = { ARRAYSIZE(kEoB1SlotValidationFlagsPC98), kEoB1SlotValidationFlagsPC98 };
+
+static const byte kEoB1ProjectileWeaponTypesPC98[8] = {
+ 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x12
+};
+
+static const ByteProvider kEoB1ProjectileWeaponTypesPC98Provider = { ARRAYSIZE(kEoB1ProjectileWeaponTypesPC98), kEoB1ProjectileWeaponTypesPC98 };
+
+static const byte kEoB1WandTypesPC98[7] = {
+ 0x00, 0x12, 0x18, 0x28, 0x0D, 0xFF, 0x04
+};
+
+static const ByteProvider kEoB1WandTypesPC98Provider = { ARRAYSIZE(kEoB1WandTypesPC98), kEoB1WandTypesPC98 };
+
+static const byte kEoB1DrawObjPosIndexPC98[20] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x03,
+ 0x01, 0x04, 0x02, 0x03, 0x00, 0x01, 0x04, 0x01,
+ 0x03, 0x00, 0x02, 0x04
+};
+
+static const ByteProvider kEoB1DrawObjPosIndexPC98Provider = { ARRAYSIZE(kEoB1DrawObjPosIndexPC98), kEoB1DrawObjPosIndexPC98 };
+
+static const byte kEoB1FlightObjFlipIndexPC98[16] = {
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01,
+ 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00
+};
+
+static const ByteProvider kEoB1FlightObjFlipIndexPC98Provider = { ARRAYSIZE(kEoB1FlightObjFlipIndexPC98), kEoB1FlightObjFlipIndexPC98 };
+
+static const byte kEoB1FlightObjShpMapPC98[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 kEoB1FlightObjShpMapPC98Provider = { ARRAYSIZE(kEoB1FlightObjShpMapPC98), kEoB1FlightObjShpMapPC98 };
+
+static const byte kEoB1FlightObjSclIndexPC98[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 kEoB1FlightObjSclIndexPC98Provider = { ARRAYSIZE(kEoB1FlightObjSclIndexPC98), kEoB1FlightObjSclIndexPC98 };
+
+static const byte kEoB1DscShapeIndexPC98[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 kEoB1DscShapeIndexPC98Provider = { ARRAYSIZE(kEoB1DscShapeIndexPC98), kEoB1DscShapeIndexPC98 };
+
+static const uint16 kEoB1DscXPC98[18] = {
+ 0xFF70, 0xFFA0, 0xFFD0, 0x0000, 0x0030, 0x0060, 0x0090, 0xFF60,
+ 0xFFB0, 0x0000, 0x0050, 0x00A0, 0xFF80, 0x0000, 0x0080, 0x0000,
+ 0x0000, 0x0000
+};
+
+static const Uint16Provider kEoB1DscXPC98Provider = { ARRAYSIZE(kEoB1DscXPC98), kEoB1DscXPC98 };
+
+static const byte kEoB1DscTileIndexPC98[18] = {
+ 0x00, 0x06, 0x01, 0x05, 0x02, 0x04, 0x03, 0x07,
+ 0x0B, 0x08, 0x0A, 0x09, 0x0C, 0x0E, 0x0D, 0x0F,
+ 0x11, 0x10
+};
+
+static const ByteProvider kEoB1DscTileIndexPC98Provider = { ARRAYSIZE(kEoB1DscTileIndexPC98), kEoB1DscTileIndexPC98 };
+
+static const byte kEoB1DscDimData1PC98[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 kEoB1DscDimData1PC98Provider = { ARRAYSIZE(kEoB1DscDimData1PC98), kEoB1DscDimData1PC98 };
+
+static const byte kEoB1DscDimData2PC98[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 kEoB1DscDimData2PC98Provider = { ARRAYSIZE(kEoB1DscDimData2PC98), kEoB1DscDimData2PC98 };
+
+static const byte kEoB1DscBlockMapPC98[12] = {
+ 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00,
+ 0x03, 0x00, 0x01, 0x02
+};
+
+static const ByteProvider kEoB1DscBlockMapPC98Provider = { ARRAYSIZE(kEoB1DscBlockMapPC98), kEoB1DscBlockMapPC98 };
+
+static const byte kEoB1DscDimMapPC98[18] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03,
+ 0x03, 0x03
+};
+
+static const ByteProvider kEoB1DscDimMapPC98Provider = { ARRAYSIZE(kEoB1DscDimMapPC98), kEoB1DscDimMapPC98 };
+
+static const byte kEoB1DscBlockIndexPC98[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 kEoB1DscBlockIndexPC98Provider = { ARRAYSIZE(kEoB1DscBlockIndexPC98), kEoB1DscBlockIndexPC98 };
+
+static const byte kEoB1ClassModifierFlagsPC98[15] = {
+ 0x01, 0x01, 0x05, 0x02, 0x04, 0x08, 0x05, 0x09,
+ 0x03, 0x0B, 0x0A, 0x0C, 0x07, 0x05, 0x06
+};
+
+static const ByteProvider kEoB1ClassModifierFlagsPC98Provider = { ARRAYSIZE(kEoB1ClassModifierFlagsPC98), kEoB1ClassModifierFlagsPC98 };
+
+static const byte kEoB1MonsterStepTable01PC98[4] = {
+ 0xE0, 0x01, 0x20, 0xFF
+};
+
+static const ByteProvider kEoB1MonsterStepTable01PC98Provider = { ARRAYSIZE(kEoB1MonsterStepTable01PC98), kEoB1MonsterStepTable01PC98 };
+
+static const byte kEoB1MonsterStepTable2PC98[8] = {
+ 0x07, 0xFA, 0x05, 0xFC, 0x03, 0xFE, 0x01, 0x00
+};
+
+static const ByteProvider kEoB1MonsterStepTable2PC98Provider = { ARRAYSIZE(kEoB1MonsterStepTable2PC98), kEoB1MonsterStepTable2PC98 };
+
+static const byte kEoB1MonsterStepTable3PC98[8] = {
+ 0xF9, 0x06, 0xFB, 0x04, 0xFD, 0x02, 0xFF, 0x00
+};
+
+static const ByteProvider kEoB1MonsterStepTable3PC98Provider = { ARRAYSIZE(kEoB1MonsterStepTable3PC98), kEoB1MonsterStepTable3PC98 };
+
+static const byte kEoB1MonsterCloseAttPosTable1PC98[4] = {
+ 0x00, 0x01, 0x03, 0x02
+};
+
+static const ByteProvider kEoB1MonsterCloseAttPosTable1PC98Provider = { ARRAYSIZE(kEoB1MonsterCloseAttPosTable1PC98), kEoB1MonsterCloseAttPosTable1PC98 };
+
+static const byte kEoB1MonsterCloseAttPosTable21PC98[8] = {
+ 0x00, 0x01, 0x02, 0x03, 0x00, 0x02, 0x01, 0x03
+};
+
+static const ByteProvider kEoB1MonsterCloseAttPosTable21PC98Provider = { ARRAYSIZE(kEoB1MonsterCloseAttPosTable21PC98), kEoB1MonsterCloseAttPosTable21PC98 };
+
+static const byte kEoB1MonsterCloseAttChkTable1PC98[16] = {
+ 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00
+};
+
+static const ByteProvider kEoB1MonsterCloseAttChkTable1PC98Provider = { ARRAYSIZE(kEoB1MonsterCloseAttChkTable1PC98), kEoB1MonsterCloseAttChkTable1PC98 };
+
+static const byte kEoB1MonsterCloseAttChkTable2PC98[16] = {
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01,
+ 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00
+};
+
+static const ByteProvider kEoB1MonsterCloseAttChkTable2PC98Provider = { ARRAYSIZE(kEoB1MonsterCloseAttChkTable2PC98), kEoB1MonsterCloseAttChkTable2PC98 };
+
+static const byte kEoB1MonsterCloseAttDstTable1PC98[16] = {
+ 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00,
+ 0x00, 0x01, 0x02, 0x03, 0x03, 0x00, 0x01, 0x02
+};
+
+static const ByteProvider kEoB1MonsterCloseAttDstTable1PC98Provider = { ARRAYSIZE(kEoB1MonsterCloseAttDstTable1PC98), kEoB1MonsterCloseAttDstTable1PC98 };
+
+static const byte kEoB1MonsterCloseAttDstTable2PC98[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 kEoB1MonsterCloseAttDstTable2PC98Provider = { ARRAYSIZE(kEoB1MonsterCloseAttDstTable2PC98), kEoB1MonsterCloseAttDstTable2PC98 };
+
+static const byte kEoB1MonsterProximityTablePC98[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 kEoB1MonsterProximityTablePC98Provider = { ARRAYSIZE(kEoB1MonsterProximityTablePC98), kEoB1MonsterProximityTablePC98 };
+
+static const byte kEoB1FindBlockMonstersTablePC98[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 kEoB1FindBlockMonstersTablePC98Provider = { ARRAYSIZE(kEoB1FindBlockMonstersTablePC98), kEoB1FindBlockMonstersTablePC98 };
+
+static const byte kEoB1MonsterDirChangeTablePC98[48] = {
+ 0xFF, 0x06, 0x02, 0xFF, 0x04, 0x05, 0x03, 0xFF,
+ 0x00, 0x07, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xDF, 0xFF, 0xE0, 0xFF, 0xE1, 0xFF, 0xFF, 0xFF,
+ 0x01, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x21, 0x00,
+ 0xC0, 0xFF, 0xA0, 0xFF, 0x02, 0x00, 0x03, 0x00,
+ 0x40, 0x00, 0x60, 0x00, 0xFE, 0xFF, 0xFD, 0xFF
+};
+
+static const ByteProvider kEoB1MonsterDirChangeTablePC98Provider = { ARRAYSIZE(kEoB1MonsterDirChangeTablePC98), kEoB1MonsterDirChangeTablePC98 };
+
+static const uint16 kEoB1EncodeMonsterDefsPC98[168] = {
+ 0x0000, 0x0000, 0x0007, 0x0060, 0x0007, 0x0028, 0x000c, 0x0038,
+ 0x0013, 0x0028, 0x000c, 0x0038, 0x001f, 0x0000, 0x0007, 0x0060,
+ 0x0000, 0x0060, 0x0007, 0x0060, 0x0007, 0x0060, 0x0007, 0x0060,
+ 0x000e, 0x0060, 0x0005, 0x0038, 0x0007, 0x0000, 0x0007, 0x0028,
+ 0x000e, 0x0000, 0x0007, 0x0028, 0x0013, 0x0060, 0x0005, 0x0038,
+ 0x0018, 0x0060, 0x0005, 0x0038, 0x001d, 0x0060, 0x0005, 0x0038,
+ 0x000e, 0x0098, 0x0003, 0x0020, 0x0011, 0x00a0, 0x0004, 0x0018,
+ 0x0015, 0x00a0, 0x0004, 0x0018, 0x0019, 0x0098, 0x0003, 0x0020,
+ 0x001c, 0x0098, 0x0003, 0x0020, 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, 0x0005, 0x0038, 0x000c, 0x0060, 0x0005, 0x0038,
+ 0x0011, 0x0060, 0x0005, 0x0038, 0x0016, 0x0060, 0x0005, 0x0038,
+ 0x001b, 0x0060, 0x0005, 0x0038, 0x0020, 0x0060, 0x0005, 0x0038,
+ 0x0007, 0x0098, 0x0003, 0x0020, 0x000a, 0x0098, 0x0003, 0x0020,
+ 0x000d, 0x0098, 0x0003, 0x0020, 0x0010, 0x0098, 0x0003, 0x0020,
+ 0x0013, 0x0098, 0x0003, 0x0020, 0x0016, 0x0098, 0x0003, 0x0020,
+ 0x0000, 0x0000, 0x000a, 0x0058, 0x000a, 0x0000, 0x000a, 0x0058,
+ 0x0014, 0x0000, 0x000a, 0x0058, 0x001e, 0x0000, 0x000a, 0x0058,
+ 0x0000, 0x0058, 0x000a, 0x0058, 0x000a, 0x0058, 0x000a, 0x0058
+};
+
+static const Uint16Provider kEoB1EncodeMonsterDefsPC98Provider = { ARRAYSIZE(kEoB1EncodeMonsterDefsPC98), kEoB1EncodeMonsterDefsPC98 };
+
+static const EoBCharacter kEoB1NpcPresetsPC98[9] = {
+ { 0x00, 0x01, "\xb1\xc6\xac",
+ 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, "\xcb\xde\xb5\xd7\xd1",
+ 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, "\xb7\xd7\xbd",
+ 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, "\xb2\xda\xd8\xb1",
+ 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, "\xc3\xa8\xd7",
+ 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, "\xc4\xaf\xc4\xde\xb1\xaf\xcc\xdf\xcb\xd9",
+ 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, "\xc0\xba\xde\xb0\xd9",
+ 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, "\xc4\xde\xb0\xd7\xd1",
+ 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, "\xb7\xb1\xb6\xde\xb0",
+ 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 kEoB1NpcPresetsPC98Provider = { ARRAYSIZE(kEoB1NpcPresetsPC98), kEoB1NpcPresetsPC98 };
+
+static const byte kEoB1Palettes16cPC98[480] = {
+ 0x00, 0x00, 0x00, 0x00, 0x0b, 0x05, 0x09, 0x06, 0x0a, 0x08, 0x03, 0x04, 0x06, 0x04, 0x02, 0x0c,
+ 0x0e, 0x06, 0x0c, 0x0f, 0x09, 0x07, 0x0a, 0x05, 0x04, 0x08, 0x04, 0x0a, 0x0a, 0x0d, 0x04, 0x04,
+ 0x0a, 0x02, 0x02, 0x07, 0x02, 0x02, 0x02, 0x04, 0x04, 0x06, 0x08, 0x08, 0x09, 0x0f, 0x0f, 0x0f,
+ 0x00, 0x00, 0x00, 0x06, 0x05, 0x08, 0x08, 0x08, 0x0a, 0x03, 0x0c, 0x04, 0x00, 0x06, 0x00, 0x0d,
+ 0x0e, 0x08, 0x08, 0x0f, 0x08, 0x06, 0x06, 0x03, 0x00, 0x0a, 0x02, 0x04, 0x04, 0x07, 0x0a, 0x09,
+ 0x0c, 0x04, 0x04, 0x06, 0x03, 0x03, 0x03, 0x04, 0x04, 0x06, 0x09, 0x0c, 0x06, 0x0f, 0x0f, 0x0f,
+ 0x00, 0x00, 0x00, 0x00, 0x0b, 0x05, 0x07, 0x03, 0x0b, 0x09, 0x08, 0x0d, 0x0a, 0x0d, 0x02, 0x0c,
+ 0x0e, 0x05, 0x0b, 0x0d, 0x08, 0x07, 0x0a, 0x05, 0x05, 0x08, 0x04, 0x0d, 0x0d, 0x0f, 0x04, 0x04,
+ 0x0a, 0x02, 0x02, 0x05, 0x02, 0x02, 0x02, 0x04, 0x04, 0x06, 0x0b, 0x0a, 0x0c, 0x0f, 0x0f, 0x0f,
+ 0x00, 0x00, 0x00, 0x02, 0x0c, 0x03, 0x09, 0x09, 0x0c, 0x04, 0x07, 0x03, 0x04, 0x04, 0x04, 0x0c,
+ 0x0e, 0x04, 0x0a, 0x0d, 0x08, 0x07, 0x09, 0x04, 0x01, 0x09, 0x02, 0x0c, 0x0c, 0x0f, 0x05, 0x04,
+ 0x0a, 0x02, 0x02, 0x05, 0x02, 0x02, 0x02, 0x06, 0x07, 0x06, 0x0a, 0x09, 0x08, 0x0f, 0x0f, 0x0f,
+ 0x00, 0x00, 0x00, 0x00, 0x0b, 0x05, 0x09, 0x06, 0x0a, 0x08, 0x03, 0x04, 0x06, 0x04, 0x02, 0x0c,
+ 0x0e, 0x06, 0x0c, 0x0f, 0x09, 0x07, 0x0a, 0x05, 0x04, 0x08, 0x04, 0x0a, 0x0a, 0x0d, 0x04, 0x04,
+ 0x0a, 0x02, 0x02, 0x07, 0x02, 0x02, 0x02, 0x04, 0x04, 0x06, 0x07, 0x07, 0x08, 0x0f, 0x0f, 0x0f,
+ 0x00, 0x00, 0x00, 0x04, 0x09, 0x06, 0x0f, 0x05, 0x05, 0x0a, 0x00, 0x02, 0x07, 0x00, 0x04, 0x07,
+ 0x07, 0x09, 0x0c, 0x0e, 0x0a, 0x07, 0x0a, 0x05, 0x04, 0x07, 0x04, 0x08, 0x08, 0x09, 0x0a, 0x0a,
+ 0x0b, 0x05, 0x05, 0x08, 0x02, 0x05, 0x02, 0x0b, 0x0c, 0x0b, 0x0c, 0x0d, 0x0c, 0x0f, 0x0f, 0x0f,
+ 0x00, 0x00, 0x00, 0x0f, 0x0e, 0x0b, 0x0f, 0x0e, 0x08, 0x0d, 0x0d, 0x03, 0x0b, 0x09, 0x00, 0x0d,
+ 0x0b, 0x00, 0x0f, 0x01, 0x04, 0x0c, 0x00, 0x04, 0x0a, 0x04, 0x03, 0x07, 0x09, 0x03, 0x07, 0x05,
+ 0x02, 0x05, 0x04, 0x07, 0x08, 0x05, 0x09, 0x0b, 0x09, 0x0a, 0x0c, 0x0a, 0x0b, 0x0f, 0x0f, 0x0f,
+ 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0b, 0x0c, 0x0d, 0x0b, 0x09, 0x0c, 0x06, 0x04, 0x05, 0x04, 0x0b,
+ 0x0d, 0x08, 0x0b, 0x0c, 0x00, 0x06, 0x08, 0x04, 0x04, 0x05, 0x03, 0x04, 0x04, 0x0c, 0x08, 0x06,
+ 0x0f, 0x04, 0x03, 0x05, 0x00, 0x00, 0x00, 0x04, 0x02, 0x08, 0x06, 0x01, 0x0d, 0x0f, 0x0f, 0x0f,
+ 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0b, 0x0c, 0x0d, 0x0a, 0x09, 0x0c, 0x06, 0x04, 0x05, 0x04, 0x0b,
+ 0x0d, 0x08, 0x0b, 0x0c, 0x0a, 0x05, 0x08, 0x03, 0x04, 0x05, 0x02, 0x05, 0x00, 0x00, 0x09, 0x00,
+ 0x00, 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x06, 0x06, 0x08, 0x0f, 0x01, 0x03, 0x0f, 0x0f, 0x0f,
+ 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0b, 0x0e, 0x0f, 0x0b, 0x09, 0x0c, 0x06, 0x07, 0x08, 0x07, 0x0b,
+ 0x0d, 0x08, 0x0d, 0x0d, 0x0d, 0x05, 0x08, 0x03, 0x04, 0x06, 0x04, 0x06, 0x05, 0x04, 0x09, 0x07,
+ 0x07, 0x0c, 0x0c, 0x0c, 0x02, 0x03, 0x02, 0x09, 0x09, 0x0a, 0x0c, 0x08, 0x08, 0x0f, 0x0f, 0x0f
+};
+
+static const ByteProvider kEoB1Palettes16cPC98Provider = { ARRAYSIZE(kEoB1Palettes16cPC98), kEoB1Palettes16cPC98 };
+
+static const byte kEoB1PalCycleDataPC98[725] = {
+ 0x00, 0xff, 0x20, 0xff, 0xfd, 0x00, 0x32, 0x00, 0x1e, 0x00, 0x1e, 0x01, 0x1e, 0x00, 0x1e, 0x00,
+ 0x1e, 0x20, 0xff, 0xee, 0x00, 0x32, 0x00, 0x1e, 0xff, 0x1e, 0x00, 0x1e, 0xff, 0x1e, 0x00, 0x1e,
+ 0x20, 0xff, 0xdf, 0x00, 0x32, 0x00, 0x1e, 0x00, 0x1e, 0x01, 0x1e, 0x00, 0x1e, 0x00, 0x1e, 0x20,
+ 0xff, 0xd0, 0x00, 0x32, 0x00, 0x1e, 0x00, 0x1e, 0x01, 0x1e, 0x00, 0x1e, 0x00, 0x1e, 0x20, 0xff,
+ 0xc1, 0x00, 0x32, 0x00, 0x1e, 0x00, 0x1e, 0x01, 0x1e, 0x00, 0x1e, 0x00, 0x1e, 0x20, 0xff, 0xb2,
+ 0x00, 0x32, 0x00, 0x1e, 0x00, 0x1e, 0x01, 0x1e, 0x00, 0x1e, 0x00, 0x1e, 0x20, 0xff, 0xa3, 0x00,
+ 0x32, 0x00, 0x1e, 0xff, 0x1e, 0x00, 0x1e, 0xff, 0x1e, 0x00, 0x1e, 0x20, 0xff, 0x94, 0x00, 0x32,
+ 0xff, 0x1e, 0xff, 0x1e, 0xff, 0x1e, 0xff, 0x1e, 0xff, 0x1e, 0x20, 0xff, 0x85, 0x00, 0x32, 0x00,
+ 0x1e, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x1e, 0x20, 0xff, 0x76, 0x00, 0x32, 0x00, 0x1e,
+ 0xff, 0x1e, 0x00, 0x1e, 0xff, 0x1e, 0x00, 0x1e, 0x20, 0xff, 0x67, 0x00, 0x32, 0xff, 0x1e, 0xff,
+ 0x1e, 0xff, 0x1e, 0xff, 0x1e, 0xff, 0x1e, 0x20, 0xff, 0x58, 0x00, 0x32, 0x00, 0x1e, 0x00, 0x1e,
+ 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x1e, 0x20, 0xff, 0x49, 0x00, 0x32, 0x00, 0x1e, 0x00, 0x1e, 0xff,
+ 0x1e, 0x00, 0x1e, 0x00, 0x1e, 0x20, 0xff, 0x3a, 0x00, 0x32, 0x00, 0x1e, 0xff, 0x1e, 0x00, 0x1e,
+ 0xff, 0x1e, 0x00, 0x1e, 0x20, 0xff, 0x2b, 0x00, 0x32, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x1e, 0x00,
+ 0x1e, 0x00, 0x1e, 0x20, 0xff, 0x1c, 0x00, 0x32, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x1e,
+ 0x00, 0x1e, 0x20, 0xff, 0x0d, 0x00, 0x32, 0x00, 0x1e, 0x00, 0x1e, 0xff, 0x1e, 0x00, 0x1e, 0x00,
+ 0x1e, 0x20, 0xfe, 0xfe, 0x00, 0x32, 0x00, 0x1e, 0x01, 0x1e, 0x00, 0x1e, 0x01, 0x1e, 0x00, 0x1e,
+ 0x20, 0xfe, 0xef, 0xfd, 0x01, 0x03, 0x01, 0x20, 0xff, 0xfb, 0xff, 0x01, 0x01, 0x01, 0x20, 0xff,
+ 0xfb, 0xff, 0x01, 0x01, 0x01, 0x20, 0xff, 0xfb, 0xfd, 0x01, 0x03, 0x01, 0x20, 0xff, 0xfb, 0xfe,
+ 0x01, 0x02, 0x01, 0x20, 0xff, 0xfb, 0xff, 0x01, 0x01, 0x01, 0x20, 0xff, 0xfb, 0x00, 0x01, 0x00,
+ 0x01, 0x20, 0xff, 0xfb, 0xff, 0x01, 0x01, 0x01, 0x20, 0xff, 0xfb, 0xff, 0x01, 0x01, 0x01, 0x20,
+ 0xff, 0xfb, 0x00, 0x01, 0x00, 0x01, 0x20, 0xff, 0xfb, 0xff, 0x01, 0x01, 0x01, 0x20, 0xff, 0xfb,
+ 0xff, 0x01, 0x01, 0x01, 0x20, 0xff, 0xfb, 0x00, 0x01, 0x00, 0x01, 0x20, 0xff, 0xfb, 0xff, 0x01,
+ 0x01, 0x01, 0x20, 0xff, 0xfb, 0xfe, 0x01, 0x02, 0x01, 0x20, 0xff, 0xfb, 0x00, 0x05, 0x00, 0x05,
+ 0xff, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x01, 0x05, 0x00, 0x05, 0x00, 0x05,
+ 0x20, 0xff, 0xeb, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00,
+ 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x20, 0xff, 0xeb, 0xff, 0x05, 0xff, 0x05, 0xff, 0x05,
+ 0xff, 0x05, 0xff, 0x05, 0x01, 0x05, 0x01, 0x05, 0x01, 0x05, 0x01, 0x05, 0x01, 0x05, 0x20, 0xff,
+ 0xeb, 0x00, 0x05, 0xff, 0x05, 0x00, 0x05, 0xff, 0x05, 0x00, 0x05, 0x00, 0x05, 0x01, 0x05, 0x00,
+ 0x05, 0x01, 0x05, 0x00, 0x05, 0x20, 0xff, 0xeb, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05,
+ 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x20, 0xff, 0xeb, 0xff,
+ 0x05, 0xff, 0x05, 0xff, 0x05, 0xff, 0x05, 0x00, 0x05, 0x01, 0x05, 0x01, 0x05, 0x01, 0x05, 0x01,
+ 0x05, 0x00, 0x05, 0x20, 0xff, 0xeb, 0x00, 0x05, 0xff, 0x05, 0x00, 0x05, 0xff, 0x05, 0x00, 0x05,
+ 0x00, 0x05, 0x01, 0x05, 0x00, 0x05, 0x01, 0x05, 0x00, 0x05, 0x20, 0xff, 0xeb, 0x00, 0x05, 0xff,
+ 0x05, 0x00, 0x05, 0xff, 0x05, 0x00, 0x05, 0x00, 0x05, 0x01, 0x05, 0x00, 0x05, 0x01, 0x05, 0x00,
+ 0x05, 0x20, 0xff, 0xeb, 0xff, 0x05, 0xff, 0x05, 0xff, 0x05, 0xff, 0x05, 0x00, 0x05, 0x01, 0x05,
+ 0x01, 0x05, 0x01, 0x05, 0x01, 0x05, 0x00, 0x05, 0x20, 0xff, 0xeb, 0x00, 0x05, 0x00, 0x05, 0xff,
+ 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x01, 0x05, 0x00, 0x05, 0x00, 0x05, 0x20,
+ 0xff, 0xeb, 0xff, 0x05, 0x00, 0x05, 0xff, 0x05, 0x00, 0x05, 0xff, 0x05, 0x01, 0x05, 0x00, 0x05,
+ 0x01, 0x05, 0x00, 0x05, 0x01, 0x05, 0x20, 0xff, 0xeb, 0xff, 0x05, 0x00, 0x05, 0xff, 0x05, 0x00,
+ 0x05, 0xff, 0x05, 0x01, 0x05, 0x00, 0x05, 0x01, 0x05, 0x00, 0x05, 0x01, 0x05, 0x20, 0xff, 0xeb,
+ 0x00, 0x05, 0x00, 0x05, 0xff, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x01, 0x05,
+ 0x00, 0x05, 0x00, 0x05, 0x20, 0xff, 0xeb, 0xff, 0x05, 0x00, 0x05, 0xff, 0x05, 0x00, 0x05, 0xff,
+ 0x05, 0x01, 0x05, 0x00, 0x05, 0x01, 0x05, 0x00, 0x05, 0x01, 0x05, 0x20, 0xff, 0xeb, 0x00, 0x05,
+ 0xff, 0x05, 0x00, 0x05, 0xff, 0x05, 0x00, 0x05, 0x00, 0x05, 0x01, 0x05, 0x00, 0x05, 0x01, 0x05,
+ 0x00, 0x05, 0x20, 0xff, 0xeb
+};
+
+static const ByteProvider kEoB1PalCycleDataPC98Provider = { ARRAYSIZE(kEoB1PalCycleDataPC98), kEoB1PalCycleDataPC98 };
+
+static const uint16 kEoB1PalCycleStyle1PC98[96] = {
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x0001,
+ 0x0014, 0x0001, 0x0005, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0050, 0x0001,
+ 0x0041, 0x0001, 0x0032, 0x0001, 0x007d, 0x0001, 0x006e, 0x0001,
+ 0x005f, 0x0001, 0x00aa, 0x0001, 0x009b, 0x0001, 0x008c, 0x0001,
+ 0x00d7, 0x0001, 0x00c8, 0x0001, 0x00b9, 0x0001, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0104, 0x0001, 0x00f5, 0x0001, 0x00e6, 0x0001, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
+};
+
+static const Uint16Provider kEoB1PalCycleStyle1PC98Provider = { ARRAYSIZE(kEoB1PalCycleStyle1PC98), kEoB1PalCycleStyle1PC98 };
+
+static const uint16 kEoB1PalCycleStyle2PC98[96] = {
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0121, 0x0001,
+ 0x011a, 0x0001, 0x0113, 0x0001, 0x0136, 0x0001, 0x012f, 0x0001,
+ 0x0128, 0x0001, 0x014b, 0x0001, 0x0144, 0x0001, 0x013d, 0x0001,
+ 0x0160, 0x0001, 0x0159, 0x0001, 0x0152, 0x0001, 0x0175, 0x0001,
+ 0x016e, 0x0001, 0x0167, 0x0001, 0x01aa, 0x0001, 0x0193, 0x0001,
+ 0x017c, 0x0001, 0x01ef, 0x0001, 0x01d8, 0x0001, 0x01c1, 0x0001,
+ 0x0234, 0x0001, 0x021d, 0x0001, 0x0206, 0x0001, 0x0279, 0x0001,
+ 0x0262, 0x0001, 0x024b, 0x0001, 0x02be, 0x0001, 0x02a7, 0x0001,
+ 0x0290, 0x0001, 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, 0x0000, 0x0000, 0x0000
+};
+
+static const Uint16Provider kEoB1PalCycleStyle2PC98Provider = { ARRAYSIZE(kEoB1PalCycleStyle2PC98), kEoB1PalCycleStyle2PC98 };
+
+static const byte kEoB1FinaleEyesAnimPC98[50] = {
+ 0x00, 0x14, 0x01, 0x03, 0x00, 0x1e, 0x01, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x14, 0x01, 0x03,
+ 0x04, 0x0f, 0x03, 0x03, 0x02, 0x03, 0x01, 0x0a, 0x01, 0x02, 0x00, 0x14, 0x02, 0x03, 0x03, 0x03,
+ 0x04, 0x28, 0x03, 0x03, 0x02, 0x03, 0x01, 0x0a, 0x01, 0x03, 0x00, 0x14, 0x00, 0x14, 0x01, 0x03,
+ 0x64, 0x64
+};
+
+static const ByteProvider kEoB1FinaleEyesAnimPC98Provider = { ARRAYSIZE(kEoB1FinaleEyesAnimPC98), kEoB1FinaleEyesAnimPC98 };
+
+static const uint16 kEoB1FinaleHandsAnimPC98[30] = {
+ 0xffd8, 0x0028, 0xffe2, 0x002d, 0xffec, 0x0032, 0xfff6, 0x0030,
+ 0x0000, 0x002d, 0x0004, 0x002d, 0x0006, 0x002d, 0x0006, 0x002d,
+ 0x0006, 0x002d, 0x0006, 0x002d, 0x0006, 0x002d, 0x0006, 0x002d,
+ 0x0006, 0x002d, 0x0006, 0x002d, 0x0309, 0x0309
+};
+
+static const Uint16Provider kEoB1FinaleHandsAnimPC98Provider = { ARRAYSIZE(kEoB1FinaleHandsAnimPC98), kEoB1FinaleHandsAnimPC98 };
+
+static const uint16 kEoB1FinaleHandsAnim2PC98[30] = {
+ 0x00a0, 0x0028, 0x00a0, 0x0028, 0x00a0, 0x0028, 0x0096, 0x002d,
+ 0x008c, 0x002d, 0x0082, 0x0032, 0x0078, 0x0036, 0x006e, 0x0039,
+ 0x0064, 0x0037, 0x005a, 0x0034, 0x004e, 0x0031, 0x0040, 0x002e,
+ 0x0038, 0x002b, 0x0032, 0x0028, 0x0309, 0x0309
+};
+
+static const Uint16Provider kEoB1FinaleHandsAnim2PC98Provider = { ARRAYSIZE(kEoB1FinaleHandsAnim2PC98), kEoB1FinaleHandsAnim2PC98 };
+
+static const byte kEoB1FinaleHandsAnim3PC98[50] = {
+ 0x00, 0x02, 0x05, 0x07, 0x09, 0x07, 0x05, 0x02,
+ 0x00, 0x02, 0x05, 0x07, 0x09, 0x07, 0x05, 0x02,
+ 0x00, 0x02, 0x05, 0x07, 0x09, 0x07, 0x05, 0x02,
+ 0x00, 0x02, 0x05, 0x07, 0x09, 0x07, 0x05, 0x02
+};
+
+static const ByteProvider kEoB1FinaleHandsAnim3PC98Provider = { ARRAYSIZE(kEoB1FinaleHandsAnim3PC98), kEoB1FinaleHandsAnim3PC98 };
+
+static const byte kEoB1CreditsStringsPC98[459] = {
+ 0x0d, 0x08, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x74, 0x61, 0x66, 0x66, 0x0d, 0x0c, 0x50,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x0d, 0x08, 0x20,
+ 0x20, 0x20, 0x20, 0x59, 0x61, 0x73, 0x75, 0x74, 0x61, 0x6b, 0x61, 0x20, 0x55, 0x6b, 0x61, 0x69,
+ 0x0d, 0x0c, 0x43, 0x68, 0x69, 0x65, 0x66, 0x20, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d,
+ 0x65, 0x72, 0x0d, 0x08, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x61, 0x6b, 0x6f, 0x74, 0x6f, 0x20, 0x49,
+ 0x63, 0x68, 0x69, 0x6e, 0x6f, 0x73, 0x65, 0x6b, 0x69, 0x0d, 0x0c, 0x53, 0x75, 0x62, 0x20, 0x50,
+ 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x0d, 0x08, 0x20, 0x20, 0x20, 0x20, 0x48,
+ 0x69, 0x72, 0x6f, 0x79, 0x75, 0x6b, 0x69, 0x20, 0x46, 0x75, 0x6a, 0x69, 0x77, 0x61, 0x72, 0x61,
+ 0x0d, 0x20, 0x20, 0x20, 0x20, 0x48, 0x69, 0x64, 0x65, 0x66, 0x75, 0x6d, 0x69, 0x20, 0x4f, 0x68,
+ 0x61, 0x72, 0x61, 0x0d, 0x0c, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x20, 0x44, 0x65, 0x73,
+ 0x69, 0x67, 0x6e, 0x0d, 0x08, 0x20, 0x20, 0x20, 0x20, 0x41, 0x74, 0x73, 0x75, 0x68, 0x69, 0x72,
+ 0x6f, 0x20, 0x47, 0x75, 0x6e, 0x6a, 0x69, 0x0d, 0x20, 0x20, 0x20, 0x20, 0x52, 0x69, 0x65, 0x6b,
+ 0x6f, 0x20, 0x59, 0x6f, 0x73, 0x68, 0x69, 0x64, 0x61, 0x0d, 0x0c, 0x4d, 0x75, 0x73, 0x69, 0x63,
+ 0x0d, 0x08, 0x20, 0x20, 0x20, 0x20, 0x59, 0x75, 0x7a, 0x6f, 0x20, 0x4b, 0x6f, 0x73, 0x68, 0x69,
+ 0x72, 0x6f, 0x0d, 0x20, 0x20, 0x20, 0x20, 0x59, 0x75, 0x6a, 0x69, 0x20, 0x59, 0x61, 0x6d, 0x61,
+ 0x64, 0x61, 0x0d, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
+ 0x26, 0x20, 0x53, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x0d, 0x08, 0x20,
+ 0x20, 0x20, 0x20, 0x48, 0x69, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x20, 0x59, 0x61, 0x73, 0x75, 0x64,
+ 0x61, 0x0d, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x69, 0x79, 0x75, 0x6b, 0x69, 0x20, 0x4b, 0x69, 0x79,
+ 0x6f, 0x6d, 0x61, 0x74, 0x73, 0x75, 0x0d, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x67, 0x75, 0x6d,
+ 0x69, 0x20, 0x54, 0x73, 0x75, 0x67, 0x65, 0x0d, 0x0c, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69,
+ 0x6f, 0x6e, 0x0d, 0x08, 0x20, 0x20, 0x20, 0x20, 0x59, 0x6f, 0x73, 0x68, 0x69, 0x61, 0x6b, 0x69,
+ 0x20, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x6d, 0x6f, 0x74, 0x6f, 0x0d, 0x20, 0x20, 0x20, 0x20, 0x4e,
+ 0x6f, 0x62, 0x75, 0x61, 0x6b, 0x69, 0x20, 0x53, 0x75, 0x7a, 0x75, 0x6b, 0x69, 0x0d, 0x0c, 0x44,
+ 0x65, 0x62, 0x75, 0x67, 0x0d, 0x08, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x61, 0x73, 0x61, 0x61, 0x6b,
+ 0x69, 0x20, 0x46, 0x75, 0x72, 0x75, 0x79, 0x61, 0x0d, 0x20, 0x20, 0x20, 0x20, 0x4b, 0x69, 0x79,
+ 0x6f, 0x74, 0x6f, 0x20, 0x59, 0x6f, 0x73, 0x68, 0x69, 0x6d, 0x75, 0x72, 0x61, 0x0d, 0x0c, 0x40,
+ 0x0d, 0x08, 0x20, 0x54, 0x68, 0x75, 0x73, 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x73, 0x20, 0x61,
+ 0x20, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5b, 0x0d, 0x0c, 0x00
+};
+
+static const ByteProvider kEoB1CreditsStringsPC98Provider = { ARRAYSIZE(kEoB1CreditsStringsPC98), kEoB1CreditsStringsPC98 };
+
+static const byte kEoB1CreditsCharWdthPC98[128] = {
+ 0x0b, 0x0a, 0x09, 0x0b, 0x0a, 0x09, 0x0a, 0x0b,
+ 0x06, 0x08, 0x0c, 0x09, 0x0d, 0x0c, 0x09, 0x0a,
+ 0x09, 0x0b, 0x09, 0x0b, 0x0c, 0x0e, 0x0c, 0x0d,
+ 0x0b, 0x0a, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x09, 0x08, 0x07, 0x0a, 0x07, 0x07, 0x08, 0x09,
+ 0x06, 0x05, 0x08, 0x04, 0x0f, 0x0a, 0x08, 0x0a,
+ 0x09, 0x07, 0x07, 0x06, 0x0a, 0x09, 0x0e, 0x0c,
+ 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const ByteProvider kEoB1CreditsCharWdthPC98Provider = { ARRAYSIZE(kEoB1CreditsCharWdthPC98), kEoB1CreditsCharWdthPC98 };
+
+static const char *const kEoB1SoundFilesIntroPC98[2] = {
+ "DUM",
+ "EOBOP"
+};
+
+static const StringListProvider kEoB1SoundFilesIntroPC98Provider = { ARRAYSIZE(kEoB1SoundFilesIntroPC98), kEoB1SoundFilesIntroPC98 };
+
+static const char *const kEoB1SoundFilesIngamePC98[14] = {
+ "DUM",
+ "E1.OBJ",
+ "E2.OBJ",
+ "E2.OBJ",
+ "E7.OBJ",
+ "E7.OBJ",
+ "E5.OBJ",
+ "E5.OBJ",
+ "E4.OBJ",
+ "E4.OBJ",
+ "E8.OBJ",
+ "E8.OBJ",
+ "E3.OBJ",
+ "E6.OBJ"
+};
+
+static const StringListProvider kEoB1SoundFilesIngamePC98Provider = { ARRAYSIZE(kEoB1SoundFilesIngamePC98), kEoB1SoundFilesIngamePC98 };
+
+static const char *const kEoB1SoundFilesFinalePC98[2] = {
+ "DUM",
+ "EOBEND"
+};
+
+static const StringListProvider kEoB1SoundFilesFinalePC98Provider = { ARRAYSIZE(kEoB1SoundFilesFinalePC98), kEoB1SoundFilesFinalePC98 };
diff --git a/devtools/create_kyradat/resources/eob1_pc98_japanese.h b/devtools/create_kyradat/resources/eob1_pc98_japanese.h
new file mode 100644
index 0000000000..10da4423eb
--- /dev/null
+++ b/devtools/create_kyradat/resources/eob1_pc98_japanese.h
@@ -0,0 +1,1070 @@
+static const char *const kEoB1ChargenStrings1PC98Japanese[9] = {
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xcd\x8f""o""\x97\x88\x8f\xe3\x82\xaa\x82\xe8\x82\xdc\x82\xb5\x82\xbd\x81""B\r""\x81""u""\x82""o""\x82""k""\x82""`""\x82""x""\x81""v""\x82\xf0\x91""I""\x82\xd4\x82\xa9\x81""u""\x82""o""\x81""v""\x82\xf0\x89\x9f\x82\xb7\x82\xc6""\r""\x83""Q""\x81""[""\x83\x80\x82\xaa\x8e""n""\x82\xdc\x82\xe8\x82\xdc\x82\xb7\x81""B",
+ " ",
+ "AC\rHP\rLVL",
+ "%s\r%d\r%d\r%d\r%d\r%d",
+ "%d\r%d",
+ "%d",
+ "%d/%d",
+ "%d/%d/%d",
+ "\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xf0\x8d\xec\x82\xe8\x82\xbd\x82\xa2\x83""{""\x83""b""\x83""N""\x83""X""\x82\xa9\x81""A\r""\x8f\xda\x8d\xd7\x82\xf0\x8c\xa9\x82\xbd\x82\xa2\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xcc\x83""{""\x83""b""\x83""N""\x83""X""\x82\xf0""\r""\x91""I""\x82\xf1\x82\xc5\x82\xad\x82\xbe\x82\xb3\x82\xa2\x81""B"
+};
+
+static const StringListProvider kEoB1ChargenStrings1PC98JapaneseProvider = { ARRAYSIZE(kEoB1ChargenStrings1PC98Japanese), kEoB1ChargenStrings1PC98Japanese };
+
+static const char *const kEoB1ChargenStrings2PC98Japanese[12] = {
+ "%s",
+ "%d",
+ "%s",
+ "%d",
+ "%d",
+ "%d",
+ "%s",
+ "%d",
+ "\x8e\xed\x91\xb0\x82\xf0\x91""I""\x82\xf1\x82\xc5\x82\xad\x82\xbe\x82\xb3\x82\xa2\x81""F",
+ "\x83""N""\x83\x89\x83""X""\x82\xf0\x91""I""\x82\xf1\x82\xc5\x82\xad\x82\xbe\x82\xb3\x82\xa2\x81""F",
+ "\x83""A""\x83\x89\x83""C""\x83\x93\x83\x81\x83\x93\x83""g""\x82\xf0\x91""I""\x82\xf1\x82\xc5\x82\xad\x82\xbe\x82\xb3\x82\xa2\x81""F",
+ "\x96\xbc\x91""O""\x81""F"
+};
+
+static const StringListProvider kEoB1ChargenStrings2PC98JapaneseProvider = { ARRAYSIZE(kEoB1ChargenStrings2PC98Japanese), kEoB1ChargenStrings2PC98Japanese };
+
+static const char *const kEoB1ChargenStatStringsPC98Japanese[12] = {
+ "\x91\xcc\x97\xcd\x93""x",
+ "\x92""m""\x90\xab\x93""x",
+ "\x8c\xab\x96\xbe\x93""x",
+ "\x95""q""\x8f\xb7\x93""x",
+ "\x91\xcf\x8b""v""\x93""x",
+ "\x96\xa3\x97\xcd\x93""x",
+ "\x91\xcc\x97\xcd\x93""x",
+ "\x92""m""\x90\xab\x93""x",
+ "\x8c\xab\x96\xbe\x93""x",
+ "\x95""q""\x8f\xb7\x93""x",
+ "\x91\xcf\x8b""v""\x93""x",
+ "\x96\xa3\x97\xcd\x93""x"
+};
+
+static const StringListProvider kEoB1ChargenStatStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1ChargenStatStringsPC98Japanese), kEoB1ChargenStatStringsPC98Japanese };
+
+static const char *const kEoB1ChargenRaceSexStringsPC98Japanese[12] = {
+ "\x90""l""\x8a\xd4\x81""@""\x92""j",
+ "\x90""l""\x8a\xd4\x81""@""\x8f\x97",
+ "\x83""G""\x83\x8b\x83""t""\x81""@""\x92""j",
+ "\x83""G""\x83\x8b\x83""t""\x81""@""\x8f\x97",
+ "\x83""n""\x81""[""\x83""t""\x81""E""\x83""G""\x83\x8b\x83""t""\x81""@""\x92""j",
+ "\x83""n""\x81""[""\x83""t""\x81""E""\x83""G""\x83\x8b\x83""t""\x81""@""\x8f\x97",
+ "\x83""h""\x83\x8f\x81""[""\x83""t""\x81""@""\x92""j",
+ "\x83""h""\x83\x8f\x81""[""\x83""t""\x81""@""\x8f\x97",
+ "\x83""m""\x81""[""\x83\x80\x81""@""\x92""j",
+ "\x83""m""\x81""[""\x83\x80\x81""@""\x8f\x97",
+ "\x83""n""\x81""[""\x83""t""\x83\x8a\x83\x93\x83""O""\x81""@""\x92""j",
+ "\x83""n""\x81""[""\x83""t""\x83\x8a\x83\x93\x83""O""\x81""@""\x8f\x97"
+};
+
+static const StringListProvider kEoB1ChargenRaceSexStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1ChargenRaceSexStringsPC98Japanese), kEoB1ChargenRaceSexStringsPC98Japanese };
+
+static const char *const kEoB1ChargenClassStringsPC98Japanese[21] = {
+ "\x90\xed\x8e""m",
+ "\x83\x8c\x83\x93\x83""W""\x83\x83\x81""[",
+ "\x90\xb9\x8b""R""\x8e""m",
+ "\x96\x82\x96""@""\x8e""g""\x82\xa2",
+ "\x91""m""\x97\xb5",
+ "\x93\x90\x91\xaf",
+ "\x90\xed\x8e""m""\x81""^""\x91""m""\x97\xb5",
+ "\x90\xed\x8e""m""\x81""^""\x93\x90\x91\xaf",
+ "\x90\xed\x8e""m""\x81""^""\x96\x82\x96""@""\x8e""g""\x82\xa2",
+ "\x90\xed\x8e""m""\x81""^""\x96\x82\x96""@""\x8e""g""\x82\xa2\x81""^""\x93\x90\x91\xaf",
+ "\x93\x90\x91\xaf\x81""^""\x96\x82\x96""@""\x8e""g""\x82\xa2",
+ "\x91""m""\x97\xb5\x81""^""\x93\x90\x91\xaf",
+ "\x90\xed\x8e""m""\x81""^""\x91""m""\x97\xb5\x81""^""\x96\x82\x96""@""\x8e""g""\x82\xa2",
+ "\x83\x8c\x83\x93\x83""W""\x83\x83\x81""[""\x81""^""\x91""m""\x97\xb5",
+ "\x91""m""\x97\xb5\x81""^""\x96\x82\x96""@""\x8e""g""\x82\xa2",
+ "\x90\xed\x8e""m",
+ "\x96\x82\x96""@""\x8e""g""\x82\xa2",
+ "\x91""m""\x97\xb5",
+ "\x93\x90\x91\xaf",
+ "\x90\xb9\x8b""R""\x8e""m",
+ "\x83\x8c\x83\x93\x83""W""\x83\x83\x81""["
+};
+
+static const StringListProvider kEoB1ChargenClassStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1ChargenClassStringsPC98Japanese), kEoB1ChargenClassStringsPC98Japanese };
+
+static const char *const kEoB1ChargenAlignmentStringsPC98Japanese[9] = {
+ "\x83\x8d\x81""[""\x83""t""\x83\x8b\x81""E""\x83""O""\x83""b""\x83""h",
+ "\x83""j""\x83\x85\x81""[""\x83""g""\x83\x89\x83\x8b\x81""E""\x83""O""\x83""b""\x83""h",
+ "\x83""P""\x83""C""\x83""I""\x83""e""\x83""B""\x83""b""\x83""N""\x81""E""\x83""O""\x83""b""\x83""h",
+ "\x83\x8d\x81""[""\x83""t""\x83\x8b\x81""E""\x83""j""\x83\x85\x81""[""\x83""g""\x83\x89\x83\x8b",
+ "\x83""g""\x83""D""\x83\x8b\x81""[""\x81""E""\x83""j""\x83\x85\x81""[""\x83""g""\x83\x89\x83\x8b",
+ "\x83""P""\x83""C""\x83""I""\x83""e""\x83""B""\x83""b""\x83""N""\x81""E""\x83""j""\x83\x85\x81""[""\x83""g""\x83\x89\x83\x8b",
+ "\x83\x8d\x81""[""\x83""t""\x83\x8b\x81""E""\x83""C""\x81""[""\x83""r""\x83\x8b",
+ "\x83""j""\x83\x85\x81""[""\x83""g""\x83\x89\x83\x8b\x81""E""\x83""C""\x81""[""\x83""r""\x83\x8b",
+ "\x83""P""\x83""C""\x83""I""\x83""e""\x83""B""\x83""b""\x83""N""\x81""E""\x83""C""\x81""[""\x83""r""\x83\x8b"
+};
+
+static const StringListProvider kEoB1ChargenAlignmentStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1ChargenAlignmentStringsPC98Japanese), kEoB1ChargenAlignmentStringsPC98Japanese };
+
+static const char *const kEoB1ChargenEnterGameStringsPC98Japanese[1] = {
+ "\x81""@""\x81""@""\x83""Q""\x81""[""\x83\x80\x82\xf0\x8e""n""\x82\xdf\x82\xdc\x82\xb7\x81""B\r""\x81""@""\x81""@""\x82\xb5\x82\xce\x82\xe7\x82\xad\x82\xa8\x91\xd2\x82\xbf\x82\xad\x82\xbe\x82\xb3\x82\xa2\x81""B"
+};
+
+static const StringListProvider kEoB1ChargenEnterGameStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1ChargenEnterGameStringsPC98Japanese), kEoB1ChargenEnterGameStringsPC98Japanese };
+
+static const char *const kEoB1MainMenuStringsPC98Japanese[3] = {
+ "\x90""i""\x8d""s""\x92\x86\x82\xcc\x83""Q""\x81""[""\x83\x80\x8f\xee\x95\xf1\x82\xf0\x93\xc7\x82\xdd\x82\xb1\x82\xde""\r",
+ "\x90""V""\x82\xb5\x82\xa2\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xc5\x8e""n""\x82\xdf\x82\xe9""\r",
+ "\x83""Q""\x81""[""\x83\x80\x83\x86\x81""[""\x83""e""\x83""B""\x83\x8a\x83""e""\x83""B\r"
+};
+
+static const StringListProvider kEoB1MainMenuStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1MainMenuStringsPC98Japanese), kEoB1MainMenuStringsPC98Japanese };
+
+
+static const char *const kEoB1BonusStringsPC98Japanese[3] = {
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x82\xcc\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xcc\x96\xbc\x91""O""\x82\xcd\x8e\x9f\x82\xcc\x92\xca\x82\xe8\x82\xc5\x82\xb7\x81""B",
+ "\r",
+ "\x83""p""\x83""X""\x83\x8f\x81""[""\x83""h""\x81""F%04x"
+};
+
+static const StringListProvider kEoB1BonusStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1BonusStringsPC98Japanese), kEoB1BonusStringsPC98Japanese };
+
+static const char *const kEoB1TurnUndeadStringPC98Japanese[1] = {
+ "\x06\x06""%s""\x82\xcd\x83""A""\x83\x93\x83""f""\x83""b""\x83""g""\x82\xf0\x91\xde\x8e""U""\x82\xb3\x82\xb9\x82\xe6\x82\xa4\x82\xc6\x8e\x8e\x82\xdd\x82\xbd\x81""I""\x06\x0f""\r"
+};
+
+static const StringListProvider kEoB1TurnUndeadStringPC98JapaneseProvider = { ARRAYSIZE(kEoB1TurnUndeadStringPC98Japanese), kEoB1TurnUndeadStringPC98Japanese };
+
+static const char *const kEoB1Npc0StringsPC98Japanese[2] = {
+ "\r ""\x82\xb2\x8d""K""\x89""^""\x82\xf0\x8b""F""\x82\xe8\x82\xdc\x82\xb7\x81""B",
+ "\x92""N""\x82\xf0\x95\x9c\x8a\x88\x82\xb3\x82\xb9\x82\xdc\x82\xb7\x82\xa9\x81""H"
+};
+
+static const StringListProvider kEoB1Npc0StringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1Npc0StringsPC98Japanese), kEoB1Npc0StringsPC98Japanese };
+
+static const char *const kEoB1Npc11StringsPC98Japanese[3] = {
+ "\x8f\x9d\x82\xcc\x8e\xe8\x93\x96\x82\xf0\x82\xb7\x82\xe9",
+ "\x98""b""\x82\xb5\x82\xa9\x82\xaf\x82\xe9",
+ "\x97\xa7\x82\xbf\x8b\x8e\x82\xe9"
+};
+
+static const StringListProvider kEoB1Npc11StringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1Npc11StringsPC98Japanese), kEoB1Npc11StringsPC98Japanese };
+
+static const char *const kEoB1Npc12StringsPC98Japanese[2] = {
+ "\x8f\x9d\x82\xcc\x8e\xe8\x93\x96\x82\xf0\x82\xb7\x82\xe9",
+ "\x97\xa7\x82\xbf\x8b\x8e\x82\xe9"
+};
+
+static const StringListProvider kEoB1Npc12StringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1Npc12StringsPC98Japanese), kEoB1Npc12StringsPC98Japanese };
+
+static const char *const kEoB1Npc21StringsPC98Japanese[2] = {
+ "\x90""\\""\x82\xb5\x8f""o""\x82\xf0\x95\xb7\x82\xad",
+ "\x97\xa7\x82\xbf\x8b\x8e\x82\xe9"
+};
+
+static const StringListProvider kEoB1Npc21StringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1Npc21StringsPC98Japanese), kEoB1Npc21StringsPC98Japanese };
+
+static const char *const kEoB1Npc22StringsPC98Japanese[2] = {
+ "\x8f\x95\x82\xaf\x82\xe9",
+ "\x97\xa7\x82\xbf\x8b\x8e\x82\xe9"
+};
+
+static const StringListProvider kEoB1Npc22StringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1Npc22StringsPC98Japanese), kEoB1Npc22StringsPC98Japanese };
+
+static const char *const kEoB1Npc31StringsPC98Japanese[2] = {
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xcc\x8f\x9d\x82\xf0\x96\xfc\x82\xb7",
+ "\x97\xa7\x82\xbf\x8b\x8e\x82\xe9"
+};
+
+static const StringListProvider kEoB1Npc31StringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1Npc31StringsPC98Japanese), kEoB1Npc31StringsPC98Japanese };
+
+static const char *const kEoB1Npc32StringsPC98Japanese[3] = {
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xcc\x8f\x9d\x82\xf0\x96\xfc\x82\xb7",
+ "\x8e\x80\x8e\xd2\x82\xf0\x95\x9c\x8a\x88\x82\xb3\x82\xb9\x82\xe9",
+ "\x97\xa7\x82\xbf\x8b\x8e\x82\xe9"
+};
+
+static const StringListProvider kEoB1Npc32StringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1Npc32StringsPC98Japanese), kEoB1Npc32StringsPC98Japanese };
+
+static const char *const kEoB1Npc4StringsPC98Japanese[2] = {
+ "\x8d""U""\x8c\x82\x82\xb7\x82\xe9",
+ "\x98""d""\x98""G""\x82\xf0\x93""n""\x82\xb7"
+};
+
+static const StringListProvider kEoB1Npc4StringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1Npc4StringsPC98Japanese), kEoB1Npc4StringsPC98Japanese };
+
+static const char *const kEoB1Npc5StringsPC98Japanese[3] = {
+ "\x8e""E""\x82\xb7",
+ "\x98""b""\x82\xf0\x8d\xc5\x8c\xe3\x82\xdc\x82\xc5\x95\xb7\x82\xad",
+ "\x8d""s""\x82\xa9\x82\xb9\x82\xe9"
+};
+
+static const StringListProvider kEoB1Npc5StringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1Npc5StringsPC98Japanese), kEoB1Npc5StringsPC98Japanese };
+
+static const char *const kEoB1Npc6StringsPC98Japanese[2] = {
+ "\x8d""~""\x95\x9a\x82\xb7\x82\xe9",
+ "\x8d""U""\x8c\x82\x82\xb7\x82\xe9"
+};
+
+static const StringListProvider kEoB1Npc6StringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1Npc6StringsPC98Japanese), kEoB1Npc6StringsPC98Japanese };
+
+static const char *const kEoB1Npc7StringsPC98Japanese[3] = {
+ "\x8e\xa9\x97""R""\x82\xc9\x82\xb7\x82\xe9",
+ "\x8e""E""\x82\xb7",
+ "\x97\xa7\x82\xbf\x8b\x8e\x82\xe9"
+};
+
+static const StringListProvider kEoB1Npc7StringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1Npc7StringsPC98Japanese), kEoB1Npc7StringsPC98Japanese };
+
+static const char *const kEoB1PryDoorStringsPC98Japanese[7] = {
+ "\x97\xcd\x82\xf0\x82\xd3\x82\xe8\x82\xb5\x82\xda\x82\xc1\x82\xbd\x82\xaa\x92""N""\x82\xc9\x82\xe0\x94\xe0\x82\xcd\x8a""J""\x82\xaf\x82\xe7\x82\xea\x82\xc8\x82\xa9\x82\xc1\x82\xbd\x81""B\r",
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x82\xcd\x97\xcd\x82\xc3\x82\xad\x82\xc5\x94\xe0\x82\xf0\x8a""J""\x82\xaf\x82\xbd\x81""B\r",
+ "%s""\x82\xcd\x97\xcd\x82\xc3\x82\xad\x82\xc5\x94\xe0\x82\xf0\x8a""J""\x82\xaf\x82\xbd\x81""I\r",
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xcd\x97\xcd\x82\xc3\x82\xad\x82\xc5\x94\xe0\x82\xf0\x8a""J""\x82\xaf\x82\xe6\x82\xa4\x82\xc6\x82\xb5\x82\xc4\x8e\xb8\x94""s""\x82\xb5\x82\xbd\x81""B\r",
+ "\x82\xbb\x82\xcc\x83""A""\x83""C""\x83""e""\x83\x80\x82\xcd\x82\xbb\x82\xb1\x82\xc9\x92""u""\x82\xad\x82\xb1\x82\xc6\x82\xcd\x82\xc5\x82\xab\x82\xc8\x82\xa2\x81""B\r",
+ "\x82\xbb\x82\xcc\x83""A""\x83""C""\x83""e""\x83\x80\x82\xc5\x82\xcd\x91\xe5\x82\xab\x82\xb7\x82\xac\x82\xe9\x81""B\r",
+ "\x92""N""\x82\xc9\x82\xe0\x82\xb1\x82\xcc\x94\xe0\x82\xf0\x8a""J""\x82\xaf\x82\xe9\x82\xb1\x82\xc6\x82\xcd\x82\xc5\x82\xab\x82\xc8\x82\xa2\x81""B\r"
+};
+
+static const StringListProvider kEoB1PryDoorStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1PryDoorStringsPC98Japanese), kEoB1PryDoorStringsPC98Japanese };
+
+static const char *const kEoB1WarningStringsPC98Japanese[3] = {
+ "\x82\xbb\x82\xcc\x95\xfb\x8c\xfc\x82\xd6\x82\xcd\x90""i""\x82\xdf\x82\xc8\x82\xa2\x81""B\r",
+ "%s""\x82\xcd\x90""H""\x97\xbf\x82\xf0\x90""H""\x82\xd7\x82\xe9\x82\xb1\x82\xc6\x82\xaa\x8f""o""\x97\x88\x82\xc8\x82\xa2\x81""I\r",
+ "\x8c\xfb\x82\xc9\x82\xc5\x82\xab\x82\xe9\x82\xcc\x82\xcd\x90""H""\x82\xd7\x82\xe0\x82\xcc\x82\xbe\x82\xaf\x82\xbe\x81""B\r"
+};
+
+static const StringListProvider kEoB1WarningStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1WarningStringsPC98Japanese), kEoB1WarningStringsPC98Japanese };
+
+static const char *const kEoB1ItemNamesPC98Japanese[96] = {
+ "\x83""}""\x83""E""\x83""X",
+ "",
+ "\x83\x8c\x83""U""\x81""[""\x81""E""\x83""A""\x81""[""\x83""}""\x81""[",
+ "\x83\x8d\x81""[""\x83""u",
+ "\x83""X""\x83""^""\x83""b""\x83""t",
+ "\x83""_""\x83""K""\x81""[",
+ "\x83""V""\x83\x87\x81""[""\x83""g""\x83""\\""\x81""[""\x83""h",
+ "\x8c\xae\x8a""J""\x82\xaf\x93\xb9\x8b\xef",
+ "\x8e\xf4\x95\xb6\x8f\x91",
+ "\x91""m""\x97\xb5\x82\xcc\x83""z""\x81""[""\x83\x8a\x81""[""\x81""E""\x83""V""\x83\x93\x83""{""\x83\x8b",
+ "\x83\x8c\x83""U""\x81""[""\x81""E""\x83""u""\x81""[""\x83""c",
+ "\x8c""g""\x8d""s""\x90""H""\x97\xbf",
+ "\x82\xc8\x82\xc9\x82\xe0\x82\xc8\x82\xa2",
+ "\x95\xf3\x90\xce\x82\xcc\x8c\xae",
+ "\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93",
+ "\x95\xf3\x90\xce",
+ "\x82\xc7\x82\xad\x82\xeb\x82\xcc\x8c\xae",
+ "\x83\x8f\x83\x93\x83""h",
+ "\x83""X""\x83""N""\x83\x8d\x81""[""\x83\x8b",
+ "\x83\x8a\x83\x93\x83""O",
+ "\x96""h""\x8c\xec\x82\xcc\x83\x8a\x83\x93\x83""O""\x81""{""\x82""Q",
+ "\x83""A""\x83""_""\x83""}""\x83\x93\x83""^""\x83""C""\x83""g""\x81""E""\x83""_""\x81""[""\x83""c",
+ "\x90\xb9\x8b""R""\x8e""m""\x82\xcc\x83""z""\x81""[""\x83\x8a\x81""[""\x81""E""\x83""V""\x83\x93\x83""{""\x83\x8b",
+ "\x83""V""\x83\x8b\x83\x94\x83""B""\x83""A""\x82\xcc\x83\x8f\x83\x93\x83""h",
+ "\x83""h""\x83\x8f\x81""[""\x83""t""\x82\xcc\x8d\x9c",
+ "\x8c\xae",
+ "\x88\xcf\x94""C""\x8f\xf3\x82\xa9\x82\xc2\x96\xc6\x8b\x96\x8f\xf3",
+ "\x83""A""\x83""b""\x83""N""\x83""X",
+ "\x83""_""\x81""[""\x83""c",
+ "\x83""n""\x83\x8b\x83""o""\x81""[""\x83""h",
+ "\x83""`""\x83""F""\x83""C""\x83\x93\x83\x81\x83""C""\x83\x8b",
+ "\x83""w""\x83\x8b\x83\x81\x83""b""\x83""g",
+ "\x83""h""\x83\x8f\x81""[""\x83""t""\x81""E""\x83""w""\x83\x8b\x83\x81\x83""b""\x83""g",
+ "\x8b\xe2\x82\xcc\x8c\xae",
+ "\x83""A""\x83""_""\x83""}""\x83\x93\x83""^""\x83""C""\x83""g""\x81""E""\x83\x8d\x83\x93\x83""O""\x81""E""\x83""\\""\x81""[""\x83""h",
+ "\x83\x81\x83""C""\x83""X",
+ "\x83\x8d\x83\x93\x83""O""\x81""E""\x83""\\""\x81""[""\x83""h",
+ "\x81""h""\x83""O""\x83""C""\x83\x93\x83""X""\x81""[""\x81""h",
+ "\x97\xcd\x82\xcc\x83""I""\x81""[""\x83""u",
+ "\x83""h""\x83\x8f\x81""[""\x83""t""\x82\xcc\x83""q""\x81""[""\x83\x8a\x83\x93\x83""O""\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93",
+ "\x90\xce",
+ "\x90""H""\x97\xbf",
+ "\x94\xfc\x97\xed\x82\xc8\x83\x8d\x81""[""\x83""u",
+ "\x89\xce\x90\xac\x8a\xe2",
+ "\x83""X""\x83""s""\x83""A",
+ "\x94\xe9\x90\xce\x82\xcc\x83\x81\x83""_""\x83\x8a\x83""I""\x83\x93",
+ "\x83""n""\x81""[""\x83""t""\x83\x8a\x83\x93\x83""O""\x82\xcc\x8d\x9c",
+ "\x83""A""\x83\x8d\x81""[",
+ "\x83""V""\x81""[""\x83\x8b\x83""h",
+ "\x8b\xe0\x82\xcc\x8c\xae",
+ "\x83""{""\x83""E",
+ "\x94\xe9\x90\xce\x82\xcc\x83""_""\x83""K""\x81""[",
+ "\x83""X""\x83\x8a\x83\x93\x83""O",
+ "\x83""o""\x83""b""\x83""N""\x83""X""\x83""^""\x83""b""\x83""o""\x81""[",
+ "\x83\x8d\x83\x93\x83""O""\x83""\\""\x81""[""\x83""h",
+ "\x83""h""\x83\x8f\x81""[""\x83""t""\x82\xcc\x8c\xae",
+ "\x83\x81\x83""_""\x83\x8a\x83""I""\x83\x93",
+ "\x91\x95\x8f\xfc\x82\xcc\x83\x81\x83""_""\x83\x8a\x83""I""\x83\x93",
+ "\x83""h""\x83\x8d\x83""E""\x81""E""\x83""N""\x83\x8c\x81""[""\x83""o""\x81""[",
+ "\x94\xe9\x90\xce\x82\xcc\x83""Z""\x83""v""\x83""^""\x81""[",
+ "\x83""h""\x83\x8f\x81""[""\x83""t""\x81""E""\x83""w""\x83\x8b\x83\x81\x83""b""\x83""g",
+ "\x83""h""\x83\x8f\x81""[""\x83""t""\x81""E""\x83""V""\x81""[""\x83\x8b\x83""h",
+ "\x94\xe9\x90\xce\x82\xcc\x83""l""\x83""b""\x83""N""\x83\x8c\x83""X",
+ "\x83""v""\x83\x8c\x81""[""\x83""g""\x81""E""\x83\x81\x83""C""\x83\x8b",
+ "\x83""X""\x83""P""\x81""[""\x83\x8b\x81""E""\x83\x81\x83""C""\x83\x8b",
+ "\x83""u""\x81""[""\x83""c",
+ "\x83""P""\x83\x93\x83""N""\x82\xcc\x97\x91",
+ "\x94\xe9\x90\xce\x82\xcc\x83\x8a\x83\x93\x83""O",
+ "\x83""u""\x83\x8c\x81""[""\x83""T""\x81""[",
+ "\x83""`""\x81""[""\x83""t""\x83""e""\x83\x93\x81""E""\x83""n""\x83\x8b\x83""o""\x81""[""\x83""h",
+ "\x83""l""\x83""b""\x83""N""\x83\x8c\x83""X",
+ "\x91\x95\x8f\xfc\x82\xcc\x83""l""\x83""b""\x83""N""\x83\x8c\x83""X",
+ "\x8d""K""\x89""^""\x82\xcc\x90\xce\x82\xcc\x83\x81\x83""_""\x83\x8a\x83""I""\x83\x93",
+ "\x81""h""\x83""X""\x83\x89\x83""C""\x83""T""\x81""[""\x81""h",
+ "\x83""o""\x83\x93\x83""f""\x83""B""\x83""b""\x83""h""\x81""E""\x83""A""\x81""[""\x83""}""\x81""[",
+ "\x83""h""\x83\x8d\x83""E""\x82\xcc\x8c\xae",
+ "\x83\x8b\x83""r""\x81""[""\x82\xcc\x8c\xae",
+ "\x81""h""\x83""i""\x83""C""\x83""g""\x81""E""\x83""X""\x83""g""\x81""[""\x83""J""\x81""[""\x81""h",
+ "\x83""h""\x83\x8d\x83""E""\x81""E""\x83""{""\x83""E",
+ "\x83""h""\x83\x8d\x83""E""\x81""E""\x83""u""\x81""[""\x83""c",
+ "\x89\xd8\x97\xed\x82\xcc\x83""v""\x83\x8c\x81""[""\x83""g""\x81""E""\x83\x81\x83""C""\x83\x8b",
+ "\x83""t""\x83\x8c\x83""C""\x83\x8b",
+ "\x89\xa4\x8e\xd2\x82\xcc\x97\xcd\x82\xcc\x83""Z""\x83""v""\x83""^""\x81""[",
+ "\x83""h""\x83\x8d\x83""E""\x81""E""\x83""V""\x81""[""\x83\x8b\x83""h",
+ "\x94\xe9\x90\xce\x82\xcc\x83""z""\x81""[""\x83\x8a\x81""[""\x81""E""\x83""V""\x83\x93\x83""{""\x83\x8b",
+ "\x94\xe9\x90\xce\x82\xcc\x83""I""\x81""[""\x83""u",
+ "\x81""h""\x83""X""\x83\x89\x83""b""\x83""V""\x83\x83\x81""[""\x81""h",
+ "\x8e\xe7\x82\xe8\x82\xcc\x83\x8d\x81""[""\x83""u",
+ "\x81""h""\x83""t""\x83\x8a\x83""b""\x83""J""\x81""h",
+ "\x90""l""\x8a\xd4\x82\xcc\x8d\x9c",
+ "\x81""h""\x83""V""\x83\x94\x83""@""\x83\x8a\x83""A""\x83""X""\x81""h",
+ "\x89\xce\x8b\x85\x82\xcc\x83\x8f\x83\x93\x83""h",
+ "\x89\xf0\x93\xc5\x82\xcc\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93",
+ "\x83""z""\x81""[""\x83\x8a\x81""[""\x81""E""\x83""V""\x83\x93\x83""{""\x83\x8b",
+ "\x8e\xf4\x95\xb6\x8f\x91",
+ ""
+};
+
+static const StringListProvider kEoB1ItemNamesPC98JapaneseProvider = { ARRAYSIZE(kEoB1ItemNamesPC98Japanese), kEoB1ItemNamesPC98Japanese };
+
+static const uint16 kEoB1Ascii2SjisTable1PC98Japanese[30] = {
+ 0x4b83, 0x4d83, 0x4f83, 0x5183, 0x5383, 0x5583, 0x5783, 0x5983,
+ 0x5b83, 0x5d83, 0x5f83, 0x6183, 0x6483, 0x6683, 0x6883, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6f83, 0x7283, 0x7583, 0x7883,
+ 0x7b83, 0x7083, 0x7383, 0x7683, 0x7983, 0x7c83
+};
+
+static const Uint16Provider kEoB1Ascii2SjisTable1PC98JapaneseProvider = { ARRAYSIZE(kEoB1Ascii2SjisTable1PC98Japanese), kEoB1Ascii2SjisTable1PC98Japanese };
+
+static const uint16 kEoB1Ascii2SjisTable2PC98Japanese[160] = {
+ 0x4081, 0x3981, 0x3a81, 0x9481, 0x9081, 0x9381, 0x9581, 0x8c81,
+ 0x6981, 0x6a81, 0x9681, 0x7b81, 0x4381, 0x7c81, 0x4481, 0x5e81,
+ 0x4f82, 0x5082, 0x5182, 0x5282, 0x5382, 0x5482, 0x5582, 0x5682,
+ 0x5782, 0x5882, 0x4681, 0x4781, 0x7181, 0x8181, 0x7281, 0x4881,
+ 0x9781, 0x6082, 0x6182, 0x6282, 0x6382, 0x6482, 0x6582, 0x6682,
+ 0x6782, 0x6882, 0x6982, 0x6a82, 0x6b82, 0x6c82, 0x6d82, 0x6e82,
+ 0x6f82, 0x7082, 0x7182, 0x7282, 0x7382, 0x7482, 0x7582, 0x7682,
+ 0x7782, 0x7882, 0x7982, 0x6d81, 0x8f81, 0x6e81, 0x4f81, 0x5181,
+ 0x4081, 0x8182, 0x8282, 0x8382, 0x8482, 0x8582, 0x8682, 0x8782,
+ 0x8882, 0x8982, 0x8a82, 0x8b82, 0x8c82, 0x8d82, 0x8e82, 0x8f82,
+ 0x9082, 0x9182, 0x9282, 0x9382, 0x9482, 0x9582, 0x9682, 0x9782,
+ 0x9882, 0x9982, 0x9a82, 0x6f81, 0x6281, 0x7081, 0x6081, 0x4081,
+ 0x4081, 0x4281, 0x7581, 0x7681, 0x4181, 0x4581, 0x9283, 0x4083,
+ 0x4283, 0x4483, 0x4683, 0x4883, 0x8383, 0x8583, 0x8783, 0x6283,
+ 0x5b81, 0x4183, 0x4383, 0x4583, 0x4783, 0x4983, 0x4a83, 0x4c83,
+ 0x4e83, 0x5083, 0x5283, 0x5483, 0x5683, 0x5883, 0x5a83, 0x5c83,
+ 0x5e83, 0x6083, 0x6383, 0x6583, 0x6783, 0x6983, 0x6a83, 0x6b83,
+ 0x6c83, 0x6d83, 0x6e83, 0x7183, 0x7483, 0x7783, 0x7a83, 0x7d83,
+ 0x7e83, 0x8083, 0x8183, 0x8283, 0x8483, 0x8683, 0x8883, 0x8983,
+ 0x8a83, 0x8b83, 0x8c83, 0x8d83, 0x8f83, 0x9383, 0x4a81, 0x4b81
+};
+
+static const Uint16Provider kEoB1Ascii2SjisTable2PC98JapaneseProvider = { ARRAYSIZE(kEoB1Ascii2SjisTable2PC98Japanese), kEoB1Ascii2SjisTable2PC98Japanese };
+
+static const uint8 kEoB1FontLookupTablePC98Japanese[275] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+ 0x08, 0x09, 0x0a, 0x0b, 0x01, 0x01, 0x01, 0x01,
+ 0x0c, 0x0d, 0x0e, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x0f, 0x10, 0x01, 0x11,
+ 0x01, 0x01, 0x01, 0x12, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x13, 0x14, 0x01, 0x01, 0x15, 0x16,
+ 0x17, 0x18, 0x01, 0x01, 0x01, 0x01, 0x19, 0x1a,
+ 0x01, 0x01, 0x01, 0x01, 0x1b, 0x1c, 0x01, 0x01,
+ 0x01, 0x01, 0x1d, 0x01, 0x1e, 0x1f, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x20, 0x21, 0x01, 0x01, 0x22, 0x23, 0x24, 0x25,
+ 0x26, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
+ 0x2e, 0x2f, 0x30, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36,
+ 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,
+ 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46,
+ 0x47, 0x48, 0x49, 0x4a, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x66, 0x67, 0x68, 0x69, 0x6a,
+ 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72,
+ 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a,
+ 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82,
+ 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a,
+ 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92,
+ 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a,
+ 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2,
+ 0xa3, 0xa4, 0x01, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9,
+ 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1,
+ 0xb2, 0xb3, 0xb4, 0x01, 0x01, 0xb5, 0xb6, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01
+};
+
+static const ByteProvider kEoB1FontLookupTablePC98JapaneseProvider = { ARRAYSIZE(kEoB1FontLookupTablePC98Japanese), kEoB1FontLookupTablePC98Japanese };
+
+static const char *const kEoB1ItemSuffixStringsRingsPC98Japanese[4] = {
+ "\x83""A""\x83""h""\x81""[""\x83\x93\x83\x81\x83\x93\x83""g",
+ "\x83""E""\x83""B""\x83""U""\x81""[""\x83""h""\x83\x8a\x83""B",
+ "\x83""T""\x83""X""\x83""e""\x83""i""\x83\x93\x83""X",
+ "\x83""t""\x83""F""\x83""U""\x81""[""\x81""E""\x83""t""\x83""H""\x81""[""\x83\x8b"
+};
+
+static const StringListProvider kEoB1ItemSuffixStringsRingsPC98JapaneseProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsRingsPC98Japanese), kEoB1ItemSuffixStringsRingsPC98Japanese };
+
+static const char *const kEoB1ItemSuffixStringsPotionsPC98Japanese[8] = {
+ "\x83""W""\x83\x83\x83""C""\x83""A""\x83\x93\x83""g""\x81""E""\x83""X""\x83""g""\x83\x8c\x83\x93\x83""O""\x83""X",
+ "\x83""q""\x81""[""\x83\x8a\x83\x93\x83""O",
+ "\x83""G""\x83""N""\x83""X""\x83""g""\x83\x89\x81""E""\x83""q""\x81""[""\x83\x8a\x83\x93\x83""O",
+ "\x83""|""\x83""C""\x83""Y""\x83\x93",
+ "\x83""o""\x83""C""\x83""^""\x83""C""\x83""e""\x83""B",
+ "\x83""X""\x83""s""\x81""[""\x83""h",
+ "\x83""C""\x83\x93\x83""r""\x83""W""\x83""r""\x83\x8a\x83""e""\x83""B",
+ "\x83""L""\x83\x85\x83""A""\x81""E""\x83""|""\x83""C""\x83""Y""\x83\x93"
+};
+
+static const StringListProvider kEoB1ItemSuffixStringsPotionsPC98JapaneseProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsPotionsPC98Japanese), kEoB1ItemSuffixStringsPotionsPC98Japanese };
+
+static const char *const kEoB1ItemSuffixStringsWandsPC98Japanese[7] = {
+ "\x83""X""\x83""e""\x83""B""\x83""b""\x83""N",
+ "\x83\x89\x83""C""\x83""g""\x83""j""\x83\x93\x83""O""\x81""E""\x83""{""\x83\x8b\x83""g",
+ "\x83""t""\x83\x8d\x83""X""\x83""g",
+ "\x83""L""\x83\x85\x83""A""\x83\x8a\x83\x93\x83""O",
+ "\x83""t""\x83""@""\x83""C""\x83""A""\x83""{""\x81""[""\x83\x8b",
+ "\x83""V""\x83\x8b\x83\x94\x83""B""\x83""A",
+ "\x83""}""\x83""W""\x83""b""\x83""N""\x81""E""\x83""~""\x83""T""\x83""C""\x83\x8b"
+};
+
+static const StringListProvider kEoB1ItemSuffixStringsWandsPC98JapaneseProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsWandsPC98Japanese), kEoB1ItemSuffixStringsWandsPC98Japanese };
+
+static const char *const kEoB1RipItemStringsPC98Japanese[3] = {
+ "%s""\x82\xcd",
+ "%s""\x82\xcd",
+ "\x82\xf0\x82\xc8\x82\xad\x82\xb5\x82\xbd\x81""B\r"
+};
+
+static const StringListProvider kEoB1RipItemStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1RipItemStringsPC98Japanese), kEoB1RipItemStringsPC98Japanese };
+
+static const char *const kEoB1CursedStringPC98Japanese[1] = {
+ "\x8e\xf4\x82\xed\x82\xea\x82\xc4\x82\xa2\x82\xe9""%s%d"
+};
+
+static const StringListProvider kEoB1CursedStringPC98JapaneseProvider = { ARRAYSIZE(kEoB1CursedStringPC98Japanese), kEoB1CursedStringPC98Japanese };
+
+static const char *const kEoB1MagicObjectStringsPC98Japanese[5] = {
+ "\x96\x82\x96""@""\x8e""g""\x82\xa2\x97""p""\x8a\xaa\x95\xa8",
+ "\x91""m""\x97\xb5\x97""p""\x8a\xaa\x95\xa8",
+ "\x83\x8a\x83\x93\x83""O",
+ "\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93",
+ "\x83\x8f\x83\x93\x83""h"
+};
+
+static const StringListProvider kEoB1MagicObjectStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1MagicObjectStringsPC98Japanese), kEoB1MagicObjectStringsPC98Japanese };
+
+static const char *const kEoB1MagicObjectString5PC98Japanese[1] = {
+ "\x83""X""\x83""e""\x83""B""\x83""b""\x83""N"
+};
+
+static const StringListProvider kEoB1MagicObjectString5PC98JapaneseProvider = { ARRAYSIZE(kEoB1MagicObjectString5PC98Japanese), kEoB1MagicObjectString5PC98Japanese };
+
+static const char *const kEoB1PatternSuffixPC98Japanese[1] = {
+ "%s""\x82\xcc""%s"
+};
+
+static const StringListProvider kEoB1PatternSuffixPC98JapaneseProvider = { ARRAYSIZE(kEoB1PatternSuffixPC98Japanese), kEoB1PatternSuffixPC98Japanese };
+
+static const char *const kEoB1PatternGrFix1PC98Japanese[1] = {
+ "%s""\x82\xcc""%s"
+};
+
+static const StringListProvider kEoB1PatternGrFix1PC98JapaneseProvider = { ARRAYSIZE(kEoB1PatternGrFix1PC98Japanese), kEoB1PatternGrFix1PC98Japanese };
+
+static const char *const kEoB1PatternGrFix2PC98Japanese[1] = {
+ "%s""\x82\xcc""%s"
+};
+
+static const StringListProvider kEoB1PatternGrFix2PC98JapaneseProvider = { ARRAYSIZE(kEoB1PatternGrFix2PC98Japanese), kEoB1PatternGrFix2PC98Japanese };
+
+static const char *const kEoB1ValidateArmorStringPC98Japanese[1] = {
+ "%s""\x82\xcd\x82\xbb\x82\xcc\x83""^""\x83""C""\x83""v""\x82\xcc\x96""h""\x8b\xef\x82\xf0\x90""g""\x82\xc9\x82\xc2\x82\xaf\x82\xe7\x82\xea\x82\xc8\x82\xa2\x81""B\r"
+};
+
+static const StringListProvider kEoB1ValidateArmorStringPC98JapaneseProvider = { ARRAYSIZE(kEoB1ValidateArmorStringPC98Japanese), kEoB1ValidateArmorStringPC98Japanese };
+
+static const char *const kEoB1ValidateNoDropStringPC98Japanese[1] = {
+ "\x82\xbb\x82\xcc\x83""A""\x83""C""\x83""e""\x83\x80\x82\xf0\x82\xbb\x82\xb1\x82\xc9\x92""u""\x82\xad\x82\xb1\x82\xc6\x82\xcd\x82\xc5\x82\xab\x82\xc8\x82\xa2\x81""B\r"
+};
+
+static const StringListProvider kEoB1ValidateNoDropStringPC98JapaneseProvider = { ARRAYSIZE(kEoB1ValidateNoDropStringPC98Japanese), kEoB1ValidateNoDropStringPC98Japanese };
+
+static const char *const kEoB1PotionStringsPC98Japanese[2] = {
+ "\x93\xc5\x82\xf0\x8e\xf3\x82\xaf\x82\xbd",
+ "%s""\x82\xcd""%s""\x81""I\r"
+};
+
+static const StringListProvider kEoB1PotionStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1PotionStringsPC98Japanese), kEoB1PotionStringsPC98Japanese };
+
+static const char *const kEoB1WandStringsPC98Japanese[2] = {
+ "\x82\xbb\x82\xcc\x83\x8f\x83\x93\x83""h""\x82\xc9\x96\x82\x96""@""\x82\xcc\x8c\xf8\x89\xca\x82\xcd\x82\xc8\x82\xa2\x82\xe6\x82\xa4\x82\xbe\x81""B\r",
+ "\x8c\xf8\x89\xca\x82\xcd\x82\xc8\x82\xa9\x82\xc1\x82\xbd\x81""B\r"
+};
+
+static const StringListProvider kEoB1WandStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1WandStringsPC98Japanese), kEoB1WandStringsPC98Japanese };
+
+static const char *const kEoB1ItemMisuseStringsPC98Japanese[3] = {
+ "%s""\x82\xcd\x82\xb1\x82\xcc\x83""A""\x83""C""\x83""e""\x83\x80\x82\xf0\x8e""g""\x82\xa4\x82\xb1\x82\xc6\x82\xaa\x82\xc5\x82\xab\x82\xc8\x82\xa2\x81""B\r",
+ "\x82\xb1\x82\xcc\x83""A""\x83""C""\x83""e""\x83\x80\x82\xcd\x91\x95\x94\xf5\x82\xb7\x82\xea\x82\xce\x8e\xa9\x93\xae\x93""I""\x82\xc9\x8c\xf8\x89\xca\x82\xf0\x8e\x9d\x82\xc2\x81""B\r",
+ "\x83""A""\x83""C""\x83""e""\x83\x80\x82\xcc\x8e""g""\x82\xa2\x95\xfb\x82\xaa\x8a\xd4\x88\xe1\x82\xc1\x82\xc4\x82\xa2\x82\xe9\x81""B\r"
+};
+
+static const StringListProvider kEoB1ItemMisuseStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1ItemMisuseStringsPC98Japanese), kEoB1ItemMisuseStringsPC98Japanese };
+
+static const char *const kEoB1TakenStringsPC98Japanese[1] = {
+ "\x82\xf0\x8e\xe8\x82\xc9\x8e\xe6\x82\xc1\x82\xbd\x81""B\r"
+};
+
+static const StringListProvider kEoB1TakenStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1TakenStringsPC98Japanese), kEoB1TakenStringsPC98Japanese };
+
+static const char *const kEoB1PotionEffectStringsPC98Japanese[8] = {
+ "\x97\xcd\x82\xaa\x82\xa0\x82\xaa\x82\xc1\x82\xbd",
+ "\x8c\xb3\x8b""C""\x82\xc9\x82\xc8\x82\xc1\x82\xbd",
+ "\x82\xb8\x82\xc1\x82\xc6\x8c\xb3\x8b""C""\x82\xc9\x82\xc8\x82\xc1\x82\xbd",
+ "\x82\xb5\x82\xce\x82\xe7\x82\xad\x8b""C""\x95\xaa\x82\xaa\x88\xab\x82\xad\x82\xc8\x82\xc1\x82\xbd",
+ "\x82\xe0\x82\xcd\x82\xe2\x8b\xf3\x95\xa0\x82\xc5\x82\xcd\x82\xc8\x82\xad\x82\xc8\x82\xc1\x82\xbd",
+ "\x82\xb7\x82\xce\x82\xe2\x82\xad\x8b""@""\x95""q""\x82\xc9\x82\xc8\x82\xc1\x82\xbd",
+ "\x93\xa7\x96\xbe\x82\xc9\x82\xc8\x82\xc1\x82\xbd",
+ "\x8b""C""\x95\xaa\x82\xaa\x82\xe6\x82\xad\x82\xc8\x82\xc1\x82\xbd"
+};
+
+static const StringListProvider kEoB1PotionEffectStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1PotionEffectStringsPC98Japanese), kEoB1PotionEffectStringsPC98Japanese };
+
+static const char *const kEoB1YesNoStringsPC98Japanese[2] = {
+ "\x82\xcd\x82\xa2",
+ "\x82\xa2\x82\xa2\x82\xa6"
+};
+
+static const StringListProvider kEoB1YesNoStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1YesNoStringsPC98Japanese), kEoB1YesNoStringsPC98Japanese };
+
+static const char *const kEoB1MoreStringsPC98Japanese[1] = {
+ "\x8e\x9f\x82\xd6"
+};
+
+static const StringListProvider kEoB1MoreStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1MoreStringsPC98Japanese), kEoB1MoreStringsPC98Japanese };
+
+static const char *const kEoB1NpcMaxStringsPC98Japanese[1] = {
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xc9\x93\xfc\x82\xea\x82\xe7\x82\xea\x82\xe9\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xcd\x82""U""\x90""l""\x82\xdc\x82\xc5\x82\xc5\x82\xb7\x81""B\r""\x82\xcd\x82\xb8\x82\xb5\x82\xbd\x82\xa2\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xf0\x82""P""\x90""l""\x91""I""\x82\xf1\x82\xc5\x82\xad\x82\xbe\x82\xb3\x82\xa2\x81""B"
+};
+
+static const StringListProvider kEoB1NpcMaxStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1NpcMaxStringsPC98Japanese), kEoB1NpcMaxStringsPC98Japanese };
+
+static const char *const kEoB1NpcJoinStringsPC98Japanese[1] = {
+ "%s""\x82\xaa\x83""p""\x81""[""\x83""e""\x83""B""\x82\xc9\x89\xc1\x82\xed\x82\xc1\x82\xbd\x81""B\r"
+};
+
+static const StringListProvider kEoB1NpcJoinStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1NpcJoinStringsPC98Japanese), kEoB1NpcJoinStringsPC98Japanese };
+
+static const char *const kEoB1CancelStringsPC98Japanese[1] = {
+ "\x82\xe2\x82\xdf\x82\xe9"
+};
+
+static const StringListProvider kEoB1CancelStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1CancelStringsPC98Japanese), kEoB1CancelStringsPC98Japanese };
+
+static const char *const kEoB1MenuStringsMainPC98Japanese[8] = {
+ "\x91""I""\x91\xf0\x83""R""\x83""}""\x83\x93\x83""h""\x81""F",
+ "\x8b""x""\x91\xa7\x82\xb7\x82\xe9",
+ "\x8e\xf4\x95\xb6\x82\xf0\x8b""L""\x89\xaf\x82\xb7\x82\xe9",
+ "\x8e\xf4\x95\xb6\x82\xf0\x8e\xf6\x82\xa9\x82\xe9",
+ "\x8e\xf4\x95\xb6\x82\xf0\x8f\x91\x82\xab\x82\xb1\x82\xde",
+ "\x83""Q""\x81""[""\x83\x80\x8a\xc2\x8b\xab",
+ "\x95\xe2\x8f\x95\x8b""@""\x94""\\",
+ "\x94\xb2\x82\xaf\x82\xe9"
+};
+
+static const StringListProvider kEoB1MenuStringsMainPC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsMainPC98Japanese), kEoB1MenuStringsMainPC98Japanese };
+
+static const char *const kEoB1MenuStringsSaveLoadPC98Japanese[8] = {
+ "\x83""Q""\x81""[""\x83\x80\x8f\xee\x95\xf1\x82\xf0\x93\xc7\x82\xdd\x82\xb1\x82\xde",
+ "\x83""Q""\x81""[""\x83\x80\x8f\xee\x95\xf1\x82\xf0\x95\xdb\x91\xb6\x82\xb7\x82\xe9",
+ "\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xf0\x82\xcd\x82\xb8\x82\xb7",
+ "\x83""Q""\x81""[""\x83\x80\x82\xf0\x92\x86\x92""f""\x82\xb7\x82\xe9",
+ "\x95\xe2\x8f\x95\x8b""@""\x94""\\""\x81""F",
+ "\r ""\x8f\x91\x82\xab\x82\xb1\x82\xdd\x82\xdc\x82\xb5\x82\xbd\x81""B",
+ "\r ""\x83""Q""\x81""[""\x83\x80\x8f\xee\x95\xf1\x82\xf0\x8f\x91\x82\xab\x82\xb1\x82\xde""\r ""\x8e\xb8\x94""s""\x82\xb5\x82\xdc\x82\xb5\x82\xbd\x81""I",
+ "\r ""\x83""Q""\x81""[""\x83\x80\x8f\xee\x95\xf1\x82\xf0\x93\xc7\x82\xdd\x82\xb1\x82\xde""\r ""\x8e\xb8\x94""s""\x82\xb5\x82\xdc\x82\xb5\x82\xbd\x81""I"
+};
+
+static const StringListProvider kEoB1MenuStringsSaveLoadPC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsSaveLoadPC98Japanese), kEoB1MenuStringsSaveLoadPC98Japanese };
+
+static const char *const kEoB1MenuStringsOnOffPC98Japanese[2] = {
+ "\x82""n""\x82""m",
+ "\x82""n""\x82""e""\x82""e"
+};
+
+static const StringListProvider kEoB1MenuStringsOnOffPC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsOnOffPC98Japanese), kEoB1MenuStringsOnOffPC98Japanese };
+
+static const char *const kEoB1MenuStringsSpellsPC98Japanese[17] = {
+ "\r\r""\x8e\xf4\x95\xb6\x82\xf0\x8b""L""\x89\xaf\x82\xb3\x82\xb9\x82\xbd\x82\xa2\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xf0""\r""\x91""I""\x82\xf1\x82\xc5\x82\xad\x82\xbe\x82\xb3\x82\xa2\x81""B",
+ "\r""\x82\xbb\x82\xcc\x90\xb9\x8b""R""\x8e""m""\x82\xcc\x83\x8c\x83""x""\x83\x8b\x82\xc5\x82\xcd\x82\xdc\x82\xbe\x8e\xf4\x95\xb6\x82\xcd\x8e""g""\x82\xa6\x82\xdc\x82\xb9\x82\xf1\x81""B",
+ "\r\r""\x82\xbb\x82\xcc\x96\x82\x96""@""\x8e""g""\x82\xa2\x82\xcd\x8e\xf4\x95\xb6\x8f\x91\x82\xf0\x8e\x9d\x82\xc1\x82\xc4\x82\xa2\x82\xdc\x82\xb9\x82\xf1\x81""I",
+ "\r\r\r""\x8e\xf4\x95\xb6\x82\xf0\x82\xb3\x82\xb8\x82\xa9\x82\xe7\x82\xb9\x82\xbd\x82\xa2\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xf0""\r""\x91""I""\x82\xf1\x82\xc5\x82\xad\x82\xbe\x82\xb3\x82\xa2\x81""B",
+ "\r""\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xc9\x8e\xf4\x95\xb6\x82\xf0\x82\xb3\x82\xb8\x82\xa9\x82\xe9\x82\xb1\x82\xc6\x82\xcc\x82\xc5\x82\xab\x82\xe9\x91""m""\x97\xb5\x82\xcd\x82\xa2\x82\xdc\x82\xb9\x82\xf1\x81""B",
+ "\r""\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xc9\x8e\xf4\x95\xb6\x82\xf0\x8b""L""\x89\xaf\x82\xb7\x82\xe9\x82\xb1\x82\xc6\x82\xcc\x82\xc5\x82\xab\x82\xe9\x96\x82\x96""@""\x8e""g""\x82\xa2\x82\xcd\x82\xa2\x82\xdc\x82\xb9\x82\xf1\x81""B",
+ "\x8b""C""\x90\xe2\x82\xe0\x82\xb5\x82\xad\x82\xcd\x8e\x80\x82\xf1\x82\xbe\x8f\xf3\x91\xd4\x82\xcc\x96\x82\x96""@""\x8e""g""\x82\xa2\x82\xaa\x8e\xf4\x95\xb6\x82\xf0\x8b""L""\x89\xaf\x82\xb7\x82\xe9\x82\xb1\x82\xc6\x82\xcd\x82\xc5\x82\xab\x82\xdc\x82\xb9\x82\xf1\x81""B",
+ "\x8b""C""\x90\xe2\x82\xe0\x82\xb5\x82\xad\x82\xcd\x8e\x80\x82\xf1\x82\xbe\x8f\xf3\x91\xd4\x82\xcc\x91""m""\x97\xb5\x82\xaa\x8e\xf4\x95\xb6\x82\xf0\x82\xb3\x82\xb8\x82\xa9\x82\xe9\x82\xb1\x82\xc6\x82\xcd\x82\xc5\x82\xab\x82\xdc\x82\xb9\x82\xf1\x81""B",
+ "\x82""P",
+ "\x82""Q",
+ "\x82""R",
+ "\x82""S",
+ "\x82""T",
+ "\x8c\x88\x82\xdf\x92\xbc\x82\xb5",
+ "\x8e""g""\x82\xa6\x82\xe9\x8e\xf4\x95\xb6\x81""F",
+ "\x82\xcd\x82\xa2",
+ "\x82\xa2\x82\xa2\x82\xa6"
+};
+
+static const StringListProvider kEoB1MenuStringsSpellsPC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsSpellsPC98Japanese), kEoB1MenuStringsSpellsPC98Japanese };
+
+static const char *const kEoB1MenuStringsRestPC98Japanese[5] = {
+ "\r""\x96\xfc\x82\xb5\x8e\xe8\x82\xc9\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xcc\x8e\xa1\x97\xc3\x82\xf0\x82\xb3\x82\xb9\x82\xdc\x82\xb7\x82\xa9\x81""H",
+ "\x8f\x9d\x82\xf0\x95\x89\x82\xc1\x82\xbd\x82\xdc\x82\xdc\x82\xcc\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xaa\x82\xa2\x82\xdc\x82\xb7\x81""B\r""\x82\xb3\x82\xe7\x82\xc9\x8b""x""\x91\xa7\x82\xb5\x82\xdc\x82\xb7\x82\xa9\x81""H",
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xcd\x8b""x""\x91\xa7\x82\xb5\x82\xc4\x82\xa2\x82\xdc\x82\xb7\x81""B",
+ "\r""\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xcd\x91""S""\x88\xf5\x81""A""\x8a\xae\x91""S""\x89\xf1\x95\x9c\x82\xb5\x82\xdc\x82\xb5\x82\xbd\x81""B",
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xcd\x8e\xf4\x95\xb6\x82\xf0\x8e""g""\x82\xa6\x82\xe9\x82\xe6\x82\xa4\x82\xc9\x82\xb7\x82\xe9\x82\xcc\x82\xc9\x8b""x""\x91\xa7\x82\xf0\x95""K""\x97""v""\x82\xc6\x82\xb5\x82\xc4\x82\xa2\x82\xdc\x82\xb7\x81""B"
+};
+
+static const StringListProvider kEoB1MenuStringsRestPC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsRestPC98Japanese), kEoB1MenuStringsRestPC98Japanese };
+
+static const char *const kEoB1MenuStringsDropPC98Japanese[1] = {
+ "\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xaa\x82""R""\x90""l""\x88\xc8\x89\xba\x82\xc5\x82\xcd\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xcd\x91""g""\x82\xdf\x82\xdc\x82\xb9\x82\xf1\x81""B"
+};
+
+static const StringListProvider kEoB1MenuStringsDropPC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsDropPC98Japanese), kEoB1MenuStringsDropPC98Japanese };
+
+static const char *const kEoB1MenuStringsExitPC98Japanese[1] = {
+ "\x96""{""\x93\x96\x82\xc9\x83""Q""\x81""[""\x83\x80\x82\xf0\x82\xe2\x82\xdf\x82\xdc\x82\xb7\x82\xa9\x81""H"
+};
+
+static const StringListProvider kEoB1MenuStringsExitPC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsExitPC98Japanese), kEoB1MenuStringsExitPC98Japanese };
+
+static const char *const kEoB1MenuStringsStarvePC98Japanese[1] = {
+ "\x8b\xf3\x95\xa0\x82\xc8\x8f\xf3\x91\xd4\x82\xcc\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xaa\x82\xa2\x82\xdc\x82\xb7\x81""B\r""\x82\xb1\x82\xcc\x82\xdc\x82\xdc\x8b""x""\x91\xa7\x82\xf0\x91\xb1\x82\xaf\x82\xdc\x82\xb7\x82\xa9\x81""H"
+};
+
+static const StringListProvider kEoB1MenuStringsStarvePC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsStarvePC98Japanese), kEoB1MenuStringsStarvePC98Japanese };
+
+static const char *const kEoB1MenuStringsScribePC98Japanese[5] = {
+ "\x8f\x91\x82\xab\x8e\xca\x82\xb5\x82\xbd\x82\xa2\x83""X""\x83""N""\x83\x8d\x81""[""\x83\x8b\x82\xf0\x91""I""\x82\xf1\x82\xc5\x82\xad\x82\xbe\x82\xb3\x82\xa2\x81""B",
+ "\r\r\r""\x8e\xf4\x95\xb6\x82\xf0\x8f\x91\x82\xab\x8e\xca\x82\xb3\x82\xb9\x82\xbd\x82\xa2\x96\x82\x96""@""\x8e""g""\x82\xa2\x82\xf0\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xa9\x82\xe7\x91""I""\x82\xf1\x82\xc5\x82\xad\x82\xbe\x82\xb3\x82\xa2\x81""B",
+ "\x8f\x91\x82\xab\x8e\xca\x82\xb9\x82\xe9\x83""X""\x83""N""\x83\x8d\x81""[""\x83\x8b\x82\xcd\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x93\xe0\x82\xc9\x82\xa0\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81""B",
+ "\x82\xb1\x82\xcc\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xc9\x95""K""\x97""v""\x82\xc8\x83""X""\x83""N""\x83\x8d\x81""[""\x83\x8b\x82\xcd\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x93\xe0\x82\xc9\x82\xa0\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81""B",
+ "\r""\x83""X""\x83""N""\x83\x8d\x81""[""\x83\x8b\x82\xf0\x8f\x91\x82\xab\x8e\xca\x82\xb7\x82\xb1\x82\xc6\x82\xcc\x82\xc5\x82\xab\x82\xe9\x96\x82\x96""@""\x8e""g""\x82\xa2\x82\xcd\x82\xa2\x82\xdc\x82\xb9\x82\xf1\x81""B"
+};
+
+static const StringListProvider kEoB1MenuStringsScribePC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsScribePC98Japanese), kEoB1MenuStringsScribePC98Japanese };
+
+static const char *const kEoB1MenuStringsDrop2PC98Japanese[3] = {
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xa9\x82\xe7\x82\xcd\x82\xb8\x82\xb5\x82\xbd\x82\xa2\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xf0""\r""\x91""I""\x82\xf1\x82\xc5\x82\xad\x82\xbe\x82\xb3\x82\xa2\x81""B",
+ "\x8c\xbb\x8d\xdd\x82\xcc\x83""Q""\x81""[""\x83\x80\x8f\xee\x95\xf1\x82\xf0\x95\xdb\x91\xb6\x82\xb5\x82\xdc\x82\xb7\x81""B\r""\x82\xa2\x82\xa2\x82\xc5\x82\xb7\x82\xa9\x81""H",
+ "\x95\xdb\x91\xb6\x82\xb5\x82\xc4\x82\xa0\x82\xe9\x83""Q""\x81""[""\x83\x80\x8f\xee\x95\xf1\x82\xf0\x93\xc7\x82\xdd\x8d\x9e\x82\xdd\x82\xdc\x82\xb7\x81""B\r""\x82\xa2\x82\xa2\x82\xc5\x82\xb7\x82\xa9\x81""H"
+};
+
+static const StringListProvider kEoB1MenuStringsDrop2PC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsDrop2PC98Japanese), kEoB1MenuStringsDrop2PC98Japanese };
+
+static const char *const kEoB1MenuStringsHeadPC98Japanese[3] = {
+ "\x83""L""\x83\x83\x83\x93\x83""v""\x81""F",
+ "\x91""I""\x91\xf0\x81""F",
+ "\x95\xe2\x8f\x95\x8b""@""\x94""\\""\x81""F"
+};
+
+static const StringListProvider kEoB1MenuStringsHeadPC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsHeadPC98Japanese), kEoB1MenuStringsHeadPC98Japanese };
+
+static const char *const kEoB1MenuStringsPoisonPC98Japanese[1] = {
+ "\x93\xc5\x82\xf0\x8e\xf3\x82\xaf\x82\xc4\x82\xa2\x82\xe9\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xaa\x8e\x80\x82\xf1\x82\xc5\x82\xb5""\r""\x82\xdc\x82\xa2\x82\xdc\x82\xb7\x81""I\r""\x82\xbb\x82\xea\x82\xc5\x82\xe0\x8b""x""\x91\xa7\x82\xb5\x82\xdc\x82\xb7\x82\xa9\x81""H"
+};
+
+static const StringListProvider kEoB1MenuStringsPoisonPC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsPoisonPC98Japanese), kEoB1MenuStringsPoisonPC98Japanese };
+
+static const char *const kEoB1MenuStringsMgcPC98Japanese[2] = {
+ "%1d",
+ "\x91\x8d\x8c""v%d""\x8c\xc2\x81""A""\x8e""c""\x82\xe8""%d""\x8c\xc2\x82\xf0\x91""I""\x82\xd7\x82\xdc\x82\xb7\x81""B""\x81""@""\x81""@"
+};
+
+static const StringListProvider kEoB1MenuStringsMgcPC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsMgcPC98Japanese), kEoB1MenuStringsMgcPC98Japanese };
+
+static const char *const kEoB1MenuStringsPrefsPC98Japanese[4] = {
+ "\x89\xb9\x8a""y""\x81""@%-6s",
+ "\x8c\xf8\x89\xca\x89\xb9\x81""@%-6s",
+ "\x83""o""\x81""[""\x95""\\""\x8e\xa6\x81""@%-6s",
+ "\x83""}""\x83""E""\x83""X""\x81""@%-6s"
+};
+
+static const StringListProvider kEoB1MenuStringsPrefsPC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsPrefsPC98Japanese), kEoB1MenuStringsPrefsPC98Japanese };
+
+static const char *const kEoB1MenuStringsRest2PC98Japanese[4] = {
+ "%s""\x82\xcd""%s""\x82\xcc\x8e\xf4\x95\xb6\x82\xf0\x8e\xf6\x82\xa9\x82\xc1\x82\xbd\x81""B\r",
+ "%s""\x82\xcd""%s""\x82\xcc\x8e\xf4\x95\xb6\x82\xf0\x8b""L""\x89\xaf\x82\xb5\x82\xbd\x81""B\r",
+ "%s""\x82\xcd""%s""\x82\xc9\x8e\xa1\x96\xfc\x82\xcc\x8e\xf4\x95\xb6\x82\xf0\x82\xa9\x82\xaf\x82\xbd\x81""B\r",
+ "\x8b""x""\x8c""e""\x8e\x9e\x8a\xd4\x81""F""\x81""@%-4d""\x81""@""\x81""@""\x81""@""\x81""@"
+};
+
+static const StringListProvider kEoB1MenuStringsRest2PC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsRest2PC98Japanese), kEoB1MenuStringsRest2PC98Japanese };
+
+static const char *const kEoB1MenuStringsRest4PC98Japanese[1] = {
+ "\r""\x82\xb1\x82\xb1\x82\xc5\x8b""x""\x91\xa7\x82\xb7\x82\xe9\x82\xb1\x82\xc6\x82\xcd\x82\xc5\x82\xab\x82\xc8\x82\xa2\x81""B""\x8b\xdf\x82\xad\x82\xc9\x83\x82\x83\x93\x83""X""\x83""^""\x81""[""\x82\xaa\x82\xa2\x82\xe9\x81""B\r"
+};
+
+static const StringListProvider kEoB1MenuStringsRest4PC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsRest4PC98Japanese), kEoB1MenuStringsRest4PC98Japanese };
+
+static const char *const kEoB1MenuStringsDefeatPC98Japanese[1] = {
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xcd\x91""S""\x96\xc5\x82\xb5\x82\xbd\x81""B\r\r""\x82\xb1\x82\xea\x82\xc5\x88\xab\x82\xcc\x88\xea\x96\xa1\x82\xcd\x8e\xd7\x96\x82\x82\xb3\x82\xea\x82\xe9\x82\xb1\x82\xc6\x82\xc8\x82\xad\x8c""v""\x89\xe6\x82\xf0\x8e\xc0\x8d""s""\x82\xc5\x82\xab\x82\xe9\x82\xbe\x82\xeb\x82\xa4\x81""B"
+};
+
+static const StringListProvider kEoB1MenuStringsDefeatPC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuStringsDefeatPC98Japanese), kEoB1MenuStringsDefeatPC98Japanese };
+
+static const char *const kEoB1MenuYesNoStringsPC98Japanese[2] = {
+ "\x82\xcd\x82\xa2",
+ "\x82\xa2\x82\xa2\x82\xa6"
+};
+
+static const StringListProvider kEoB1MenuYesNoStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1MenuYesNoStringsPC98Japanese), kEoB1MenuYesNoStringsPC98Japanese };
+
+static const char *const kEoB1CharGuiStringsHpPC98Japanese[2] = {
+ "HP",
+ "%3d of %-3d"
+};
+
+static const StringListProvider kEoB1CharGuiStringsHpPC98JapaneseProvider = { ARRAYSIZE(kEoB1CharGuiStringsHpPC98Japanese), kEoB1CharGuiStringsHpPC98Japanese };
+
+static const char *const kEoB1CharGuiStringsWp1PC98Japanese[2] = {
+ "MISS",
+ "HACK"
+};
+
+static const StringListProvider kEoB1CharGuiStringsWp1PC98JapaneseProvider = { ARRAYSIZE(kEoB1CharGuiStringsWp1PC98Japanese), kEoB1CharGuiStringsWp1PC98Japanese };
+
+static const char *const kEoB1CharGuiStringsWrPC98Japanese[4] = {
+ "CAN'T",
+ "REACH",
+ "NO",
+ "AMMO"
+};
+
+static const StringListProvider kEoB1CharGuiStringsWrPC98JapaneseProvider = { ARRAYSIZE(kEoB1CharGuiStringsWrPC98Japanese), kEoB1CharGuiStringsWrPC98Japanese };
+
+static const char *const kEoB1CharGuiStringsSt1PC98Japanese[6] = {
+ "Swapping",
+ "\x8e\x80\x82\xf1\x82\xc5\x82\xa2\x82\xe9",
+ "\x8b""C""\x90\xe2\x82\xb5\x82\xc4\x82\xa2\x82\xe9",
+ "\x93\xc5\x82\xf0\x8e\xf3\x82\xaf\x82\xc4\x82\xa2\x82\xe9\x81""i""\x92""x""\x82\xa2\x81""j",
+ "\x93\xc5\x82\xf0\x8e\xf3\x82\xaf\x82\xc4\x82\xa2\x82\xe9",
+ "\x96\x83\xe1\x83\x82\xb5\x82\xc4\x82\xa2\x82\xe9"
+};
+
+static const StringListProvider kEoB1CharGuiStringsSt1PC98JapaneseProvider = { ARRAYSIZE(kEoB1CharGuiStringsSt1PC98Japanese), kEoB1CharGuiStringsSt1PC98Japanese };
+
+static const char *const kEoB1CharGuiStringsInPC98Japanese[4] = {
+ "\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x8f\xee\x95\xf1",
+ "\x83""A""\x81""[""\x83""}""\x81""[""\x83""N""\x83\x89\x83""X",
+ "\x8c""o""\x8c\xb1\x92""l",
+ "\x83\x8c\x83""x""\x83\x8b"
+};
+
+static const StringListProvider kEoB1CharGuiStringsInPC98JapaneseProvider = { ARRAYSIZE(kEoB1CharGuiStringsInPC98Japanese), kEoB1CharGuiStringsInPC98Japanese };
+
+static const char *const kEoB1CharStatusStrings7PC98Japanese[1] = {
+ "%s""\x82\xcd\x83""W""\x83\x83\x83""C""\x83""A""\x83\x93\x83""g""\x81""E""\x83""X""\x83""g""\x83\x8c\x83\x93\x83""O""\x83""X""\x82\xcc\x8c\xf8\x89\xca\x82\xf0\x8e\xb8\x82\xc1\x82\xbd\x81""B\r"
+};
+
+static const StringListProvider kEoB1CharStatusStrings7PC98JapaneseProvider = { ARRAYSIZE(kEoB1CharStatusStrings7PC98Japanese), kEoB1CharStatusStrings7PC98Japanese };
+
+static const char *const kEoB1CharStatusStrings81PC98Japanese[1] = {
+ "%s""\x82\xcd\x93\xc5\x82\xaa\x82\xdc\x82\xed\x82\xe9\x82\xcc\x82\xf0\x8a\xb4\x82\xb6\x82\xbd\x81""I\r"
+};
+
+static const StringListProvider kEoB1CharStatusStrings81PC98JapaneseProvider = { ARRAYSIZE(kEoB1CharStatusStrings81PC98Japanese), kEoB1CharStatusStrings81PC98Japanese };
+
+static const char *const kEoB1CharStatusStrings9PC98Japanese[1] = {
+ "%s""\x82\xcd\x96\x83\xe1\x83\x82\xa9\x82\xe7\x89\xf0\x95\xfa\x82\xb3\x82\xea\x82\xbd\x81""I\r"
+};
+
+static const StringListProvider kEoB1CharStatusStrings9PC98JapaneseProvider = { ARRAYSIZE(kEoB1CharStatusStrings9PC98Japanese), kEoB1CharStatusStrings9PC98Japanese };
+
+static const char *const kEoB1CharStatusStrings131PC98Japanese[1] = {
+ "%s""\x82\xcd""%s\r"
+};
+
+static const StringListProvider kEoB1CharStatusStrings131PC98JapaneseProvider = { ARRAYSIZE(kEoB1CharStatusStrings131PC98Japanese), kEoB1CharStatusStrings131PC98Japanese };
+
+static const char *const kEoB1LevelGainStringsPC98Japanese[1] = {
+ "\x06\x01""%s""\x82\xcd\x83\x8c\x83""x""\x83\x8b\x82\xaa\x82\xa0\x82\xaa\x82\xe9\x82\xcc\x82\xc9\x95""K""\x97""v""\x82\xc8\x8c""o""\x8c\xb1\x92""l""\x82\xf0\x93\xbe\x82\xbd\x81""B""\x06\x0f""\r"
+};
+
+static const StringListProvider kEoB1LevelGainStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1LevelGainStringsPC98Japanese), kEoB1LevelGainStringsPC98Japanese };
+
+static const char *const kEoB1BookNumbersPC98Japanese[5] = {
+ "First",
+ "Second",
+ "Third",
+ "Fourth",
+ "Fifth"
+};
+
+static const StringListProvider kEoB1BookNumbersPC98JapaneseProvider = { ARRAYSIZE(kEoB1BookNumbersPC98Japanese), kEoB1BookNumbersPC98Japanese };
+
+static const char *const kEoB1MageSpellsListPC98Japanese[26] = {
+ "",
+ "\x83""A""\x81""[""\x83""}""\x81""[",
+ "\x83""o""\x81""[""\x83""j""\x83\x93\x83""O""\x81""E""\x83""n""\x83\x93\x83""Y",
+ "\x83""f""\x83""B""\x83""e""\x83""N""\x83""g""\x81""E""\x83""}""\x83""W""\x83""b""\x83""N",
+ "\x83""}""\x83""W""\x83""b""\x83""N""\x81""E""\x83""~""\x83""T""\x83""C""\x83\x8b",
+ "\x83\x8a\x81""[""\x83""h""\x81""E""\x83""}""\x83""W""\x83""b""\x83""N",
+ "\x83""V""\x81""[""\x83\x8b\x83""h",
+ "\x83""V""\x83\x87\x83""b""\x83""L""\x83\x93\x83""O""\x81""E""\x83""O""\x83\x89\x83""X""\x83""v",
+ "\x83""C""\x83\x93\x83""r""\x83""W""\x83""r""\x83\x8a\x83""e""\x83""B",
+ "\x83""m""\x83""b""\x83""N",
+ "\x83\x81\x83\x8b\x83""t""\x83""Y""\x81""E""\x83""A""\x83""V""\x83""b""\x83""h""\x81""E""\x83""A""\x83\x8d\x81""[",
+ "\x83""X""\x83""e""\x83""B""\x83\x93\x83""L""\x83\x93\x83""O""\x81""E""\x83""N""\x83\x89\x83""E""\x83""h",
+ "\x83""f""\x83""B""\x83""X""\x83""y""\x83\x8b\x81""E""\x83""}""\x83""W""\x83""b""\x83""N",
+ "\x83""t""\x83""@""\x83""C""\x83""A""\x83""{""\x81""[""\x83\x8b",
+ "\x83""t""\x83\x8c\x83""C""\x83\x80\x81""E""\x83""A""\x83\x8d\x81""[",
+ "\x83""w""\x83""C""\x83""X""\x83""g",
+ "\x83""z""\x81""[""\x83\x8b\x83""h""\x81""E""\x83""p""\x81""[""\x83""X""\x83\x93",
+ "\x83""C""\x83\x93\x83""r""\x83""W""\x83""r""\x83\x8a\x83""e""\x83""B""\x82""P""\x82""O",
+ "\x83\x89\x83""C""\x83""g""\x83""j""\x83\x93\x83""O""\x81""E""\x83""{""\x83\x8b\x83""g",
+ "\x83""o""\x83\x93\x83""s""\x83\x8a\x83""b""\x83""N""\x81""E""\x83""^""\x83""b""\x83""`",
+ "\x83""t""\x83""B""\x83""A",
+ "\x83""A""\x83""C""\x83""X""\x81""E""\x83""X""\x83""g""\x81""[""\x83\x80",
+ "\x83""X""\x83""g""\x81""[""\x83\x93\x83""X""\x83""L""\x83\x93",
+ "\x83""N""\x83\x89\x83""E""\x83""h""\x83""L""\x83\x8b",
+ "\x83""R""\x81""[""\x83\x93\x81""E""\x83""I""\x83""u""\x81""E""\x83""R""\x81""[""\x83\x8b\x83""h",
+ "\x83""z""\x81""[""\x83\x8b\x83""h""\x81""E""\x83\x82\x83\x93\x83""X""\x83""^""\x81""["
+};
+
+static const StringListProvider kEoB1MageSpellsListPC98JapaneseProvider = { ARRAYSIZE(kEoB1MageSpellsListPC98Japanese), kEoB1MageSpellsListPC98Japanese };
+
+static const char *const kEoB1ClericSpellsListPC98Japanese[25] = {
+ "",
+ "\x83""u""\x83\x8c\x83""X",
+ "\x83""L""\x83\x85\x83""A""\x81""E""\x83\x89\x83""C""\x83""g""\x81""E""\x83""E""\x81""[""\x83\x93\x83""Y",
+ "\x83""R""\x81""[""\x83""Y""\x81""E""\x83\x89\x83""C""\x83""g""\x81""E""\x83""E""\x81""[""\x83\x93\x83""Y",
+ "\x83""f""\x83""B""\x83""e""\x83""N""\x83""g""\x81""E""\x83""}""\x83""W""\x83""b""\x83""N",
+ "\x83""v""\x83\x8d\x83""e""\x83""N""\x83""g""\x81""E""\x83""C""\x81""[""\x83""r""\x83\x8b",
+ "\x83""G""\x83""C""\x83""h",
+ "\x83""t""\x83\x8c\x83""C""\x83\x80\x81""E""\x83""u""\x83\x8c\x81""[""\x83""h",
+ "\x83""z""\x81""[""\x83\x8b\x83""h""\x81""E""\x83""p""\x81""[""\x83""X""\x83\x93",
+ "\x83""X""\x83\x8d\x81""[""\x81""E""\x83""|""\x83""C""\x83""Y""\x83\x93",
+ "\x83""N""\x83\x8a\x83""G""\x83""C""\x83""g""\x81""E""\x83""t""\x81""[""\x83""h",
+ "\x83""f""\x83""B""\x83""X""\x83""y""\x83\x8b\x81""E""\x83""}""\x83""W""\x83""b""\x83""N",
+ "\x83""}""\x83""W""\x83""J""\x83\x8b\x81""E""\x83""x""\x83""X""\x83""g""\x83\x81\x83\x93\x83""g",
+ "\x83""v""\x83\x8c\x83""C""\x83\x84\x81""[",
+ "\x83\x8a\x83\x80\x81""[""\x83""u""\x81""E""\x83""p""\x83\x89\x83\x8a\x83""V""\x83""X",
+ "\x83""L""\x83\x85\x83""A""\x81""E""\x83""V""\x83\x8a\x83""A""\x83""X""\x81""E""\x83""E""\x81""[""\x83\x93\x83""Y",
+ "\x83""R""\x81""[""\x83""Y""\x81""E""\x83""V""\x83\x8a\x83""A""\x83""X""\x81""E""\x83""E""\x81""[""\x83\x93\x83""Y",
+ "\x83""j""\x83\x85\x81""[""\x83""g""\x83\x89\x83\x89\x83""C""\x83""Y""\x81""E""\x83""|""\x83""C""\x83""Y""\x83\x93",
+ "\x83""v""\x83\x8d\x83""e""\x83""N""\x83""V""\x83\x87\x83\x93\x81""E""\x83""C""\x81""[""\x83""r""\x83\x8b\x82""P""\x82""O",
+ "\x83""v""\x83\x8d\x83""e""\x83""N""\x83""V""\x83\x87\x83\x93\x81""E""\x83\x89\x83""C""\x83""g""\x83""j""\x83\x93\x83""O",
+ "\x83""L""\x83\x85\x83""A""\x81""E""\x83""N""\x83\x8a\x83""e""\x83""B""\x83""J""\x83\x8b\x81""E""\x83""E""\x81""[""\x83\x93\x83""Y",
+ "\x83""R""\x81""[""\x83""Y""\x81""E""\x83""N""\x83\x8a\x83""e""\x83""B""\x83""J""\x83\x8b\x81""E""\x83""E""\x81""[""\x83\x93\x83""Y",
+ "\x83""t""\x83\x8c\x83""C""\x83\x80\x81""E""\x83""X""\x83""g""\x83\x89\x83""C""\x83""N",
+ "\x83\x8c\x83""C""\x83""Y""\x81""E""\x83""f""\x83""b""\x83""h",
+ "\x83\x8c\x83""C""\x81""E""\x83""I""\x83\x93\x81""E""\x83""n""\x83\x93\x83""Y"
+};
+
+static const StringListProvider kEoB1ClericSpellsListPC98JapaneseProvider = { ARRAYSIZE(kEoB1ClericSpellsListPC98Japanese), kEoB1ClericSpellsListPC98Japanese };
+
+static const char *const kEoB1SpellNamesPC98Japanese[51] = {
+ "",
+ "\x83""A""\x81""[""\x83""}""\x81""[",
+ "\x83""o""\x81""[""\x83""j""\x83\x93\x83""O""\x81""E""\x83""n""\x83\x93\x83""Y",
+ "\x83""f""\x83""B""\x83""e""\x83""N""\x83""g""\x81""E""\x83""}""\x83""W""\x83""b""\x83""N",
+ "\x83""}""\x83""W""\x83""b""\x83""N""\x81""E""\x83""~""\x83""T""\x83""C""\x83\x8b",
+ "\x83""V""\x81""[""\x83\x8b\x83""h",
+ "\x83""V""\x83\x87\x83""b""\x83""L""\x83\x93\x83""O""\x81""E""\x83""O""\x83\x89\x83""X""\x83""v",
+ "\x83""C""\x83\x93\x83""r""\x83""W""\x83""r""\x83\x8a\x83""e""\x83""B",
+ "\x83\x81\x83\x8b\x83""t""\x83""Y""\x81""E""\x83""A""\x83""V""\x83""b""\x83""h""\x81""E""\x83""A""\x83\x8d\x81""[",
+ "\x83""X""\x83""e""\x83""B""\x83\x93\x83""L""\x83\x93\x83""O""\x81""E""\x83""N""\x83\x89\x83""E""\x83""h",
+ "\x83""f""\x83""B""\x83""X""\x83""y""\x83\x8b\x81""E""\x83""}""\x83""W""\x83""b""\x83""N",
+ "\x83""t""\x83""@""\x83""C""\x83""A""\x83""{""\x81""[""\x83\x8b",
+ "\x83""t""\x83\x8c\x83""C""\x83\x80\x81""E""\x83""A""\x83\x8d\x81""[",
+ "\x83""w""\x83""C""\x83""X""\x83""g",
+ "\x83""z""\x81""[""\x83\x8b\x83""h""\x81""E""\x83""p""\x81""[""\x83""X""\x83\x93",
+ "\x83""C""\x83\x93\x83""r""\x83""W""\x83""r""\x83\x8a\x83""e""\x83""B""\x82""P""\x82""O""\x83""t""\x83""B""\x81""[""\x83""g""\x81""E""\x83\x8c\x83""C""\x83""f""\x83""B""\x83""A""\x83""X",
+ "\x83\x89\x83""C""\x83""g""\x83""j""\x83\x93\x83""O""\x81""E""\x83""{""\x83\x8b\x83""g",
+ "\x83""o""\x83\x93\x83""s""\x83\x8a\x83""b""\x83""N""\x81""E""\x83""^""\x83""b""\x83""`",
+ "\x83""t""\x83""B""\x83""A",
+ "\x83""A""\x83""C""\x83""X""\x81""E""\x83""X""\x83""g""\x81""[""\x83\x80",
+ "\x83""X""\x83""g""\x81""[""\x83\x93\x83""X""\x83""L""\x83\x93",
+ "\x83""N""\x83\x89\x83""E""\x83""h""\x83""L""\x83\x8b",
+ "\x83""R""\x81""[""\x83\x93\x81""E""\x83""I""\x83""u""\x81""E""\x83""R""\x81""[""\x83\x8b\x83""h",
+ "\x83""z""\x81""[""\x83\x8b\x83""h""\x81""E""\x83\x82\x83\x93\x83""X""\x83""^""\x81""[",
+ "\x83""u""\x83\x8c\x83""X",
+ "\x83""L""\x83\x85\x83""A""\x81""E""\x83\x89\x83""C""\x83""g""\x83""E""\x81""[""\x83\x93\x83""Y",
+ "\x83""R""\x81""[""\x83""Y""\x81""E""\x83\x89\x83""C""\x83""g""\x81""E""\x83""E""\x81""[""\x83\x93\x83""Y",
+ "\x83""f""\x83""B""\x83""e""\x83""N""\x83""g""\x81""E""\x83""}""\x83""W""\x83""b""\x83""N",
+ "\x83""v""\x83\x8d\x83""e""\x83""N""\x83""V""\x83\x87\x83\x93\x81""E""\x83""C""\x81""[""\x83""r""\x83\x8b",
+ "\x83""G""\x83""C""\x83""h",
+ "\x83""t""\x83\x8c\x83""C""\x83\x80\x81""E""\x83""u""\x83\x8c\x81""[""\x83""h",
+ "\x83""z""\x81""[""\x83\x8b\x83""h""\x81""E""\x83""p""\x81""[""\x83""X""\x83\x93",
+ "\x83""X""\x83\x8d\x81""[""\x81""E""\x83""|""\x83""C""\x83""Y""\x83\x93",
+ "\x83""N""\x83\x8a\x83""G""\x83""C""\x83""g""\x81""E""\x83""t""\x81""[""\x83""h",
+ "\x83""f""\x83""B""\x83""X""\x83""y""\x83\x8b\x81""E""\x83""}""\x83""W""\x83""b""\x83""N",
+ "\x83""}""\x83""W""\x83""J""\x83\x8b\x81""E""\x83""x""\x83""X""\x83""g""\x83\x81\x83\x93\x83""g",
+ "\x83""v""\x83\x8c\x83""C""\x83\x84\x81""[",
+ "\x83\x8a\x83\x80\x81""[""\x83""u""\x81""E""\x83""p""\x83\x89\x83\x8a\x83""V""\x83""X",
+ "\x83""L""\x83\x85\x83""A""\x81""E""\x83""V""\x83\x8a\x83""A""\x83""X""\x81""E""\x83""E""\x81""[""\x83\x93\x83""Y",
+ "\x83""R""\x81""[""\x83""Y""\x81""E""\x83""V""\x83\x8a\x83""A""\x83""X""\x81""E""\x83""E""\x81""[""\x83\x93\x83""Y",
+ "\x83""j""\x83\x85\x81""[""\x83""g""\x83\x89\x83\x89\x83""C""\x83""Y""\x81""E""\x83""|""\x83""C""\x83""Y""\x83\x93",
+ "\x83""v""\x83\x8d\x83""e""\x83""N""\x83""V""\x83\x87\x83\x93\x81""E""\x83""C""\x81""[""\x83""r""\x83\x8b\x82""P""\x82""O",
+ "\x83""v""\x83\x8d\x83""e""\x83""N""\x83""V""\x83\x87\x83\x93\x81""E""\x83\x89\x83""C""\x83""g""\x83""j""\x83\x93\x83""O",
+ "\x83""L""\x83\x85\x83""A""\x81""E""\x83""N""\x83\x8a\x83""e""\x83""B""\x83""J""\x83\x8b\x81""E""\x83""E""\x81""[""\x83\x93\x83""Y",
+ "\x83""R""\x81""[""\x83""Y""\x81""E""\x83""N""\x83\x8a\x83""e""\x83""B""\x83""J""\x83\x8b\x81""E""\x83""E""\x81""[""\x83\x93\x83""Y",
+ "\x83""t""\x83\x8c\x83""C""\x83\x80\x81""E""\x83""X""\x83""g""\x83\x89\x83""C""\x83""N",
+ "\x83\x8c\x83""C""\x83""Y""\x81""E""\x83""f""\x83""b""\x83""h",
+ "\x83\x8c\x83""C""\x81""E""\x83""I""\x83\x93\x81""E""\x83""n""\x83\x93\x83""Y",
+ "",
+ "",
+ ""
+};
+
+static const StringListProvider kEoB1SpellNamesPC98JapaneseProvider = { ARRAYSIZE(kEoB1SpellNamesPC98Japanese), kEoB1SpellNamesPC98Japanese };
+
+static const char *const kEoB1MagicStrings1PC98Japanese[6] = {
+ "ABORT SPELL",
+ "ABORT SPELL",
+ "\x82\xb1\x82\xcc\x8e\xf4\x95\xb6\x82\xf0\x82\xa9\x82\xaf\x82\xe9\x82\xc9\x82\xcd\x95\xd0\x8e\xe8\x82\xaa\x8e\xa9\x97""R""\x82\xc5\x82\xc8\x82\xaf\x82\xea\x82\xce\x82\xa2\x82\xaf\x82\xc8\x82\xa2\x81""B\r",
+ "\x82\xb1\x82\xcc\x83""^""\x83""C""\x83""v""\x82\xcc\x8e\xf4\x95\xb6\x82\xcd\x93\xaf\x8e\x9e\x82\xc9\x82""Q""\x82\xc2\x8c\xf8\x89\xca\x82\xf0\x8e\x9d\x82\xc2\x82\xb1\x82\xc6\x82\xcd\x82\xc5\x82\xab\x82\xc8\x82\xa2\x81""B\r",
+ "%s""\x82\xcd""%s""\x82\xcc\x8e\xf4\x95\xb6\x82\xf0\x8f\xa5\x82\xa6\x82\xbd""\r",
+ "\x82\x8f\x82\x8b""\r"
+};
+
+static const StringListProvider kEoB1MagicStrings1PC98JapaneseProvider = { ARRAYSIZE(kEoB1MagicStrings1PC98Japanese), kEoB1MagicStrings1PC98Japanese };
+
+static const char *const kEoB1MagicStrings2PC98Japanese[3] = {
+ "\x89""e""\x8b\xbf\x82\xcd\x82\xc8\x82\xa9\x82\xc1\x82\xbd\x81""B\r",
+ "%s""\x82\xcd\x82\xce\x82\xe7\x82\xce\x82\xe7\x82\xc9\x95\xaa\x89\xf0\x82\xb5\x82\xc4\x82\xb5\x82\xdc\x82\xc1\x82\xbd\x81""I\r",
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xcd\x8e\x80\x82\xcc\x8e\xf4\x95\xb6\x82\xc5\x8d""U""\x8c\x82\x82\xb3\x82\xea\x82\xbd\x81""I\r",
+};
+
+static const StringListProvider kEoB1MagicStrings2PC98JapaneseProvider = { ARRAYSIZE(kEoB1MagicStrings2PC98Japanese), kEoB1MagicStrings2PC98Japanese };
+
+static const char *const kEoB1MagicStrings3PC98Japanese[6] = {
+ "\x82\xc7\x82\xcc\x83""L""\x83\x83\x83\x89\x83""N""\x83""^""\x81""[""\x82\xc9\x8e\xf4\x95\xb6\x82\xf0\x82\xa9\x82\xaf\x82\xdc\x82\xb7\x82\xa9\x81""H""\x81""@",
+ "\r""\x82\x8f\x82\x8b""\r",
+ "\r""\x8e\xf4\x95\xb6\x82\xcd\x8e\xb8\x82\xed\x82\xea\x82\xbd\x81""B\r",
+ "%s""\x82\xc9\x82\xa9\x82\xa9\x82\xc1\x82\xc4\x82\xa2\x82\xbd""%s""\x82\xcc\x8c\xf8\x89\xca\x82\xaa\x82\xc8\x82\xad\x82\xc8\x82\xc1\x82\xbd\x81""B\r",
+ "%s""\x82\xcc\x8e\xf4\x95\xb6\x82\xcd\x83\x82\x83\x93\x83""X""\x83""^""\x81""[""\x82\xc9\x8c\xf8\x89\xca\x82\xaa\x82\xc8\x82\xa9\x82\xc1\x82\xbd\x81""B\r",
+ "%s""\x82\xaa\x8d""U""\x8c\x82\x82\xb7\x82\xe9\x82\xc9\x82\xcd\x91""O""\x97\xf1\x82\xc9\x82\xa2\x82\xc8\x82\xaf\x82\xea\x82\xce\x82\xc8\x82\xe7\x82\xc8\x82\xa2\x81""B\r"
+};
+
+static const StringListProvider kEoB1MagicStrings3PC98JapaneseProvider = { ARRAYSIZE(kEoB1MagicStrings3PC98Japanese), kEoB1MagicStrings3PC98Japanese };
+
+static const char *const kEoB1MagicStrings4PC98Japanese[1] = {
+ "\x89""e""\x8b\xbf\x82\xcd\x82\xc8\x82\xa9\x82\xc1\x82\xbd\x81""B\r"
+};
+
+static const StringListProvider kEoB1MagicStrings4PC98JapaneseProvider = { ARRAYSIZE(kEoB1MagicStrings4PC98Japanese), kEoB1MagicStrings4PC98Japanese };
+
+static const char *const kEoB1MagicStrings6PC98Japanese[1] = {
+ "%s""\x82\xcc\x83""A""\x81""[""\x83""}""\x81""[""\x81""E""\x83""N""\x83\x89\x83""X""\x82\xcd\x82\xb7\x82\xc5\x82\xc9\x8f""[""\x95\xaa\x8d\x82\x82\xa2\x81""B\r"
+};
+
+static const StringListProvider kEoB1MagicStrings6PC98JapaneseProvider = { ARRAYSIZE(kEoB1MagicStrings6PC98Japanese), kEoB1MagicStrings6PC98Japanese };
+
+static const char *const kEoB1MagicStrings7PC98Japanese[5] = {
+ "1ST",
+ "2ND",
+ "3RD",
+ "4TH",
+ "5TH"
+};
+
+static const StringListProvider kEoB1MagicStrings7PC98JapaneseProvider = { ARRAYSIZE(kEoB1MagicStrings7PC98Japanese), kEoB1MagicStrings7PC98Japanese };
+
+static const char *const kEoB1MagicStrings8PC98Japanese[3] = {
+ "%s""\x82\xc9\x82\xa9\x82\xa9\x82\xc1\x82\xc4\x82\xa2\x82\xbd\x8e\xf4\x95\xb6\x82\xcd\x82\xb7\x82\xd7\x82\xc4\x8f\xc1\x82\xb5\x8b\x8e\x82\xe7\x82\xea\x82\xbd\x81""B\r",
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xcd\x82\xb7\x82\xc5\x82\xc9\x8f""j""\x95\x9f\x82\xf0\x8e\xf3\x82\xaf\x82\xc4\x82\xa2\x82\xe9\x81""I\r",
+ "\x89\x87\x8f\x95\x82\xcc\x8e\xf4\x95\xb6\x82\xcd\x8e\xb8\x94""s""\x82\xb5\x82\xbd\x81""I\r"
+};
+
+static const StringListProvider kEoB1MagicStrings8PC98JapaneseProvider = { ARRAYSIZE(kEoB1MagicStrings8PC98Japanese), kEoB1MagicStrings8PC98Japanese };
+
+static const char *const kEoB1MonsterDistAttStringsPC98Japanese[5] = {
+ "%s""\x82\xcd\x83""R""\x81""[""\x83""Y""\x81""E""\x83""V""\x83\x8a\x83""A""\x83""X""\x81""E""\x83""E""\x81""[""\x83\x93\x83""Y""\x82\xcc\x8e\xf4\x95\xb6\x82\xc5\x8d""U""\x8c\x82\x82\xb3\x82\xea\x82\xbd\x81""I\r",
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x82\xcd\x90\xb8\x90""_""\x94""g""\x8d""U""\x8c\x82\x82\xf0\x8e\xf3\x82\xaf\x82\xbd\x81""I\r",
+ "\x96\x83\xe1\x83\x82\xb5\x82\xc4\x82\xa2\x82\xe9",
+ "\x93\xc5\x82\xf0\x8e\xf3\x82\xaf\x82\xbd",
+ "\x96\x83\xe1\x83\x82\xb5\x82\xbd"
+};
+
+static const StringListProvider kEoB1MonsterDistAttStringsPC98JapaneseProvider = { ARRAYSIZE(kEoB1MonsterDistAttStringsPC98Japanese), kEoB1MonsterDistAttStringsPC98Japanese };
+
+static const char *const kEoB1IntroStringsTowerPC98[3] = {
+ "\x83""E""\x83""H""\x81""[""\x83""^""\x81""[""\x83""f""\x83""B""\x81""[""\x83""v""\x82\xc9\x8e\xd7\x88\xab\x82\xcc\x89""e""\x82\xaa\x94""E""\x82\xd1\x8a\xf1\x82\xc1\x82\xc4\x82\xa2\x82\xe9\x81""B",
+ "\x82\xed\x82\xea\x82\xed\x82\xea\x97\xcc\x8e\xe5\x82\xcd\x81""A""\x82\xbb\x82\xea\x82\xf0\x8e\xe6\x82\xe8\x8f\x9c\x82\xad\x95\xfb\x8d\xf4\x82\xf0\x8c\xa9\x82\xc2\x82\xaf\x82\xcb\x82\xce\x82\xc8\x82\xe7\x82\xca\x81""B",
+ "\x8d\x91\x92\x86\x82\xcc\x89""p""\x97""Y""\x82\xbd\x82\xbf\x82\xc9\x8c\xc4\x82\xd1\x82\xa9\x82\xaf\x81""A""\x97""E""\x8e""m""\x82\xf0\x91""I""\x82\xda\x82\xa4\x81""B"
+};
+
+static const StringListProvider kEoB1IntroStringsTowerPC98Provider = { ARRAYSIZE(kEoB1IntroStringsTowerPC98), kEoB1IntroStringsTowerPC98 };
+
+static const char *const kEoB1IntroStringsOrbPC98[1] = {
+ "\x82\xb2\x8e\xe5\x90""l""\x82\xb3\x82\xdc\x81""c""\x81""c""\x81""B"
+};
+
+static const StringListProvider kEoB1IntroStringsOrbPC98Provider = { ARRAYSIZE(kEoB1IntroStringsOrbPC98), kEoB1IntroStringsOrbPC98 };
+
+static const char *const kEoB1IntroStringsWdEntryPC98[1] = {
+ "\x82\xe2\x82\xc2\x82\xe7\x82\xcd\x82\xc2\x82\xdc\x82\xe7\x82\xca\x92\xef\x8d""R""\x82\xf0\x8d""l""\x82\xa6\x82\xbd\x82\xe6\x82\xa4\x82\xc5\x82\xb7\x81""B"
+};
+
+static const StringListProvider kEoB1IntroStringsWdEntryPC98Provider = { ARRAYSIZE(kEoB1IntroStringsWdEntryPC98), kEoB1IntroStringsWdEntryPC98 };
+
+static const char *const kEoB1IntroStringsKingPC98[1] = {
+ "\x8c""N""\x82\xbd\x82\xbf\x82\xc9\x94""C""\x96\xb1\x82\xf0\x82\xbd\x82\xad\x82\xb7\x81""B""\x82\xb1\x82\xcc\x88\xab\x82\xcc\x96""{""\x8e\xbf\x82\xf0\x92""T""\x82\xe8\x81""A""\x82\xb3\x82\xe7\x82\xc9\x82\xcd\x94""j""\x89\xf3\x82\xb9\x82\xe6\x81""B"
+};
+
+static const StringListProvider kEoB1IntroStringsKingPC98Provider = { ARRAYSIZE(kEoB1IntroStringsKingPC98), kEoB1IntroStringsKingPC98 };
+
+static const char *const kEoB1IntroStringsHandsPC98[1] = {
+ "\x8a\xeb\x8c\xaf\x82\xc8\x97\xb7\x82\xc5\x82\xa0\x82\xeb\x82\xa4\x81""B""\x8f\x80\x94\xf5\x82\xf0\x91\xd3\x82\xe9\x82\xc8\x81""B"
+};
+
+static const StringListProvider kEoB1IntroStringsHandsPC98Provider = { ARRAYSIZE(kEoB1IntroStringsHandsPC98), kEoB1IntroStringsHandsPC98 };
+
+static const char *const kEoB1IntroStringsWdExitPC98[1] = {
+ "\x92""T""\x8d\xf5\x82\xcd\x92\xac\x82\xcc\x92""n""\x89\xba\x82\xa9\x82\xe7\x82\xcd\x82\xb6\x82\xdf\x82\xc4\x82\xad\x82\xea\x81""B"
+};
+
+static const StringListProvider kEoB1IntroStringsWdExitPC98Provider = { ARRAYSIZE(kEoB1IntroStringsWdExitPC98), kEoB1IntroStringsWdExitPC98 };
+
+static const char *const kEoB1IntroStringsTunnelPC98[1] = {
+ "\x82\xe2\x82\xc2\x82\xe7\x82\xcc\x89""^""\x96\xbd\x82\xcd\x95\x95\x82\xb6\x82\xe7\x82\xea\x82\xbd\x81""B"
+};
+
+static const StringListProvider kEoB1IntroStringsTunnelPC98Provider = { ARRAYSIZE(kEoB1IntroStringsTunnelPC98), kEoB1IntroStringsTunnelPC98 };
+
+static const char *const kEoB1FinaleStringsPC98[17] = {
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x82\xcd\x82\xae\x82\xbf\x82\xe1\x82\xae\x82\xbf\x82\xe1\x82\xc9\x82\xc8\x82\xc1\x82\xbd\x83""N""\x83""T""\x83""i""\x83""^""\x81""[""\x83\x8b\x82\xcc\x8e\x80\x91\xcc\x82\xcc\x8e""c""\x8a""[""\x82\xf0\x92""T""\x82\xc1\x82\xbd\x81""B",
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xcd\x83""N""\x83""T""\x83""i""\x83""^""\x81""[""\x83\x8b\x82\xf0\x93""|""\x82\xb5\x82\xbd\x81""B",
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x81""[""\x82\xcd\x8e\xe5\x82\xcc\x82\xa2\x82\xc8\x82\xa2\x83""N""\x83""T""\x83""i""\x83""^""\x81""[""\x83\x8b\x82\xcc\x91\x83\x82\xf0\x82\xb3\x82\xdc\x82\xe6\x82\xa2\x81""A",
+ "\x8f""o""\x8c\xfb\x82\xd6\x82\xcc\x8e\xe8\x82\xaa\x82\xa9\x82\xe8\x82\xf0\x92""T""\x82\xb5\x82\xbd\x81""B",
+ "\x82\xbb\x82\xcc\x82\xa4\x82\xbf\x82\xc9\x92\x86\x82\xcc\x83""e""\x83\x8c\x83""|""\x81""[""\x83""^""\x82\xcc\x83""X""\x83""C""\x83""b""\x83""`""\x82\xaa\x93\xfc\x82\xc1\x82\xc4\x82\xb5\x82\xdc\x82\xc1\x82\xbd\x81""B",
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x82\xcc\x82\xdc\x82\xed\x82\xe8\x82\xc5\x91\x91\x8c\xb5\x82\xc8\x91\xe5\x97\x9d\x90\xce\x82\xcc\x95\x94\x89\xae\x82\xaa\x82\xb5\x82\xbe\x82\xa2\x82\xc9\x96\xbe\x82\xe9\x82\xb3\x82\xf0\x91\x9d\x82\xb5\x82\xbd\x81""B""\x07",
+ "\x82""Q""\x96""{""\x82\xcc\x90\xce\x92\x8c\x82\xaa\x91\xe5\x82\xab\x82\xc8\x8b\xca\x8d\xc0\x82\xcc\x97\xbc\x98""e""\x82\xc9\x82\xbb\x82\xd1\x82\xa6\x82\xc4\x82\xa2\x82\xe9\x81""B""\x07",
+ "\x82\xb1\x82\xb1\x82\xcd\x83""s""\x83""A""\x83""W""\x83""F""\x83""C""\x83\x8d\x83\x93\x82\xcc\x89""y""\x8c\xa9\x82\xcc\x8a\xd4\x82\xbe\x81""B""\x07",
+ "\x83""p""\x81""[""\x83""e""\x83""B""\x82\xcd\x83""E""\x83""H""\x81""[""\x83""^""\x81""[""\x83""f""\x83""B""\x81""[""\x83""v""\x92""n""\x89\xba\x82\xcc\x96\xc0\x8b""{""\x82\xa9\x82\xe7\x82\xe2\x82\xc1\x82\xc6\x89\xf0\x95\xfa\x82\xb3\x82\xea\x82\xbd\x82\xcc\x82\xbe\x81""B",
+ "\x82\xa8\x82\xdf\x82\xc5\x82\xc6\x82\xa4\x81""I""\x81""I",
+ "\x82\xa0\x82\xc8\x82\xbd\x82\xcd\x82""P""\x82""Q""\x82\xcc\x93\xc1\x95\xca\x92""T""\x8d\xf5\x82\xf0\x82\xb7\x82\xd7\x82\xc4\x92""B""\x90\xac\x82\xb5\x82\xdc\x82\xb5\x82\xbd\x81""B",
+ "\x83""{""\x81""[""\x83""i""\x83""X""\x82\xf0\x8f\x9f\x82\xbf\x8e\xe6\x82\xc1\x82\xbd",
+ "\x81""u""\x8c""N""\x92""B""\x82\xcd\x83""N""\x83""T""\x83""i""\x83""^""\x81""[""\x83\x8b\x82\xf0\x93""|""\x82\xb5\x81""A""\x83""E""\x83""H""\x81""[""\x83""^""\x81""[""\x83""f""\x83""B""\x81""[""\x83""v""\x82\xf0\x93""z""\x82\xcc\x88\xab\x82\xa9\x82\xe7\x8b""~""\x82\xc1\x82\xc4\x82\xad\x82\xea\x82\xbd\x81""I""\x81""v""\x82\xc6\x07",
+ "\x83""s""\x83""A""\x83""W""\x83""F""\x83""C""\x83\x8d\x83\x93\x81""E""\x83""p""\x83\x89\x83""f""\x83""B""\x83\x93\x83""\\""\x83\x93\x82\xaa\x90\xba\x8d\x82\x82\xc9\x8c\xbe\x82\xa4\x81""B""\x07",
+ "\x82\xb1\x82\xcc\x82\xe6\x82\xa4\x82\xc9\x97""L""\x94""\\""\x82\xc5\x8d\xcb\x8a""o""\x82\xcc\x82\xa0\x82\xe9\x96""`""\x8c\xaf\x8e\xd2\x82\xf0\x91""I""\x82\xf1\x82\xc5\x90\xb3\x89\xf0\x82\xbe\x82\xc1\x82\xbd\x81""B""\x07",
+ "\x8d\xa1\x93\xfa\x82\xe6\x82\xe8\x82\xbb\x82\xc8\x82\xbd\x92""B""\x82\xcd\x81""u""\x83""E""\x83""H""\x81""[""\x83""^""\x81""[""\x83""f""\x83""B""\x81""[""\x83""v""\x82\xcc\x89""p""\x97""Y""\x81""v""\x82\xcc\x96\xbc\x82\xc5\x8c\xc4\x82\xce\x82\xea\x81""A""\x07",
+ "\x82\xb7\x82\xd7\x82\xc4\x82\xcc\x82\xe0\x82\xcc\x82\xaa\x82\xbb\x82\xcc\x97""E""\x8a\xb8\x82\xc8\x82\xd3\x82\xe9\x82\xdc\x82\xa2\x82\xf0\x92""m""\x82\xe9\x82\xb1\x82\xc6\x82\xbe\x82\xeb\x82\xa4\x81""I ""\x92""T""\x8d\xf5\x92""B""\x90\xac\x81""A""\x82\xa8\x82\xdf\x82\xc5\x82\xc6\x82\xa4\x81""I"
+};
+
+static const StringListProvider kEoB1FinaleStringsPC98Provider = { ARRAYSIZE(kEoB1FinaleStringsPC98), kEoB1FinaleStringsPC98 };
diff --git a/devtools/create_kyradat/resources/eob2_fmtowns_japanese.h b/devtools/create_kyradat/resources/eob2_fmtowns_japanese.h
index 49a815d057..85d75705ed 100644
--- a/devtools/create_kyradat/resources/eob2_fmtowns_japanese.h
+++ b/devtools/create_kyradat/resources/eob2_fmtowns_japanese.h
@@ -474,6 +474,17 @@ static const char *const kEoB2MenuStringsDefeatFMTownsJapanese[1] = {
static const StringListProvider kEoB2MenuStringsDefeatFMTownsJapaneseProvider = { ARRAYSIZE(kEoB2MenuStringsDefeatFMTownsJapanese), kEoB2MenuStringsDefeatFMTownsJapanese };
+static const char *const kEoB2MenuStringsTransferFMTownsJapanese[5] = {
+ "You must transfer\rfour party members\rbefore you may play!",
+ "You may only transfer\rfour party members to\rEOB II!",
+ "Items which are not\ruseful or unbalance\rthe game will be\rdeleted.",
+ " \r ""\x83""p""\x81""[""\x83""e""\x83""B""\x82\xc9\x83\x81\x83""C""\x83""W""\x82\xaa\x82\xa2\x82\xdc\x82\xb9\x82\xf1\x81""B",
+ " \r ""\x83""p""\x81""[""\x83""e""\x83""B""\x82\xc9\x83""N""\x83\x8c\x83\x8a\x83""b""\x83""N""\x82\xe0\x83""p""\x83\x89\x83""f""\x83""B""\x83\x93""\r ""\x82\xe0\x82\xa2\x82\xdc\x82\xb9\x82\xf1\x81""B"
+};
+
+static const StringListProvider kEoB2MenuStringsTransferFMTownsJapaneseProvider = { ARRAYSIZE(kEoB2MenuStringsTransferFMTownsJapanese), kEoB2MenuStringsTransferFMTownsJapanese };
+
+
static const char *const kEoB2MenuStringsSpecFMTownsJapanese[2] = {
"\r ""\x96\xDA\x82\xAA\x8A""o""\x82\xDF\x82\xE9\x82\xC6\x81""A""\x83""V""\x81""[""\x83""t""\x82\xCC\x83""C""\x83\x93\x83""T""\x83\x8B\x82\xAA""\r ""\x82\xA2\x82\xC8\x82\xAD\x82\xC8\x82\xC1\x82\xC4\x82\xA2\x82\xBD\x81""I",
" ""\x8E\x9D\x82\xBF\x95\xA8\x82\xAA\x82\xC8\x82\xAD\x82\xC8\x82\xC1\x82\xC4\x82\xA2\x82\xE9\x81""I"
diff --git a/dists/engine-data/kyra.dat b/dists/engine-data/kyra.dat
index 4c651221c0..7b037b889b 100644
--- a/dists/engine-data/kyra.dat
+++ b/dists/engine-data/kyra.dat
Binary files differ
diff --git a/engines/kyra/engine/eob.cpp b/engines/kyra/engine/eob.cpp
index dc653fa38e..f9c872dee3 100644
--- a/engines/kyra/engine/eob.cpp
+++ b/engines/kyra/engine/eob.cpp
@@ -34,6 +34,8 @@ EoBEngine::EoBEngine(OSystem *system, const GameFlags &flags)
_menuChoiceInit = 4;
_turnUndeadString = 0;
+ _itemNamesPC98 = 0;
+ _numItemNamesPC98 = 0;
_finBonusStrings = _npcStrings[1] = _npcStrings[2] = 0;
_npcStrings[3] = _npcStrings[4] = _npcStrings[5] = _npcStrings[6] = 0;
_npcStrings[7] = _npcStrings[8] = _npcStrings[9] = _npcStrings[10] = 0;
diff --git a/engines/kyra/engine/eobcommon.cpp b/engines/kyra/engine/eobcommon.cpp
index 4b6e88437f..3389d4fed0 100644
--- a/engines/kyra/engine/eobcommon.cpp
+++ b/engines/kyra/engine/eobcommon.cpp
@@ -82,8 +82,9 @@ EoBCoreEngine::EoBCoreEngine(OSystem *system, const GameFlags &flags) : KyraRpgE
_items = 0;
_itemTypes = 0;
_itemNames = 0;
+ _itemNamesPC98 = 0;
_itemInHand = -1;
- _numItems = _numItemNames = 0;
+ _numItems = _numItemNames = _numItemNamesPC98 = 0;
_castScrollSlot = 0;
_currentSub = 0;
diff --git a/engines/kyra/engine/eobcommon.h b/engines/kyra/engine/eobcommon.h
index e476f8a852..91d0a6e089 100644
--- a/engines/kyra/engine/eobcommon.h
+++ b/engines/kyra/engine/eobcommon.h
@@ -459,6 +459,8 @@ protected:
EoBItemType *_itemTypes;
char **_itemNames;
uint16 _numItemNames;
+ int _numItemNamesPC98;
+ const char * const *_itemNamesPC98;
uint32 _partyEffectFlags;
Item _lastUsedItem;
@@ -865,6 +867,9 @@ protected:
const uint8 *_cgaMappingLevel[5];
const uint8 *_cgaLevelMappingIndex;
+ // hard coded 16 color palettes for PC98 version of EOB1
+ const uint8 *_palette16c[10];
+
bool _enableHiResDithering;
// Default parameters will import all present original save files and push them to the top of the save dialog.
diff --git a/engines/kyra/engine/items_eob.cpp b/engines/kyra/engine/items_eob.cpp
index 3121f567f8..e784e2d3f9 100644
--- a/engines/kyra/engine/items_eob.cpp
+++ b/engines/kyra/engine/items_eob.cpp
@@ -50,9 +50,17 @@ void EoBCoreEngine::loadItemDefs() {
_items[i].value = s->readSByte();
}
- _numItemNames = s->readUint16();
- for (int i = 0; i < _numItemNames; i++)
- s->read(_itemNames[i], 35);
+ if (_itemNamesPC98) {
+ _numItemNames = _numItemNamesPC98;
+ for (int i = 0; i < _numItemNames; i++) {
+ assert(strlen(_itemNamesPC98[i]) < 35);
+ Common::strlcpy(_itemNames[i], _itemNamesPC98[i], 34);
+ }
+ } else {
+ _numItemNames = s->readUint16();
+ for (int i = 0; i < _numItemNames; i++)
+ s->read(_itemNames[i], 35);
+ }
delete s;
diff --git a/engines/kyra/resource/resource.h b/engines/kyra/resource/resource.h
index cbd442fcc1..64247d14e8 100644
--- a/engines/kyra/resource/resource.h
+++ b/engines/kyra/resource/resource.h
@@ -506,6 +506,17 @@ enum KyraResources {
kEoB1IntroFilesHands,
kEoB1IntroFilesWdExit,
kEoB1IntroFilesTunnel,
+
+ kEoB1IntroStringsTower,
+ kEoB1IntroStringsOrb,
+ kEoB1IntroStringsWdEntry,
+ kEoB1IntroStringsKing,
+ kEoB1IntroStringsHands,
+ kEoB1IntroStringsWdExit,
+ kEoB1IntroStringsTunnel,
+
+ kEoB1FinaleStrings,
+
kEoB1IntroOpeningFrmDelay,
kEoB1IntroWdEncodeX,
kEoB1IntroWdEncodeY,
@@ -526,7 +537,11 @@ enum KyraResources {
kEoB1FinaleCouncilAnim4,
kEoB1FinaleEyesAnim,
kEoB1FinaleHandsAnim,
+ kEoB1FinaleHandsAnim2,
+ kEoB1FinaleHandsAnim3,
kEoB1FinaleTextDuration,
+ kEoB1CreditsStrings,
+ kEoB1CreditsCharWdth,
kEoB1DoorShapeDefs,
kEoB1DoorSwitchShapeDefs,
@@ -554,6 +569,11 @@ enum KyraResources {
kEoB1CgaMappingLevel3,
kEoB1CgaMappingLevel4,
+ kEoB1Palettes16c,
+ kEoB1PalCycleData,
+ kEoB1PalCycleStyle1,
+ kEoB1PalCycleStyle2,
+
kEoB1NpcShpData,
kEoB1NpcSubShpIndex1,
kEoB1NpcSubShpIndex2,
@@ -570,6 +590,11 @@ enum KyraResources {
kEoB1Npc6Strings,
kEoB1Npc7Strings,
+ kEoB1ItemNames,
+ kEoB1Ascii2SjisTable1,
+ kEoB1Ascii2SjisTable2,
+ kEoB1FontLookupTable,
+
kEoB2MainMenuStrings,
kEoB2MainMenuUtilStrings,
diff --git a/engines/kyra/resource/staticres.cpp b/engines/kyra/resource/staticres.cpp
index fcf3158f5e..29b899a9b2 100644
--- a/engines/kyra/resource/staticres.cpp
+++ b/engines/kyra/resource/staticres.cpp
@@ -39,7 +39,7 @@
namespace Kyra {
-#define RESFILE_VERSION 94
+#define RESFILE_VERSION 95
namespace {
bool checkKyraDat(Common::SeekableReadStream *file) {
diff --git a/engines/kyra/resource/staticres_eob.cpp b/engines/kyra/resource/staticres_eob.cpp
index 2082fc6ac4..2e299670e1 100644
--- a/engines/kyra/resource/staticres_eob.cpp
+++ b/engines/kyra/resource/staticres_eob.cpp
@@ -1162,6 +1162,13 @@ void EoBEngine::initStaticResource() {
_cgaLevelMappingIndex = _staticres->loadRawData(kEoB1CgaLevelMappingIndex, temp);
for (int i = 0; i < 5; i++)
_cgaMappingLevel[i] = _staticres->loadRawData(kEoB1CgaMappingLevel0 + i, temp);
+ const uint8 *pal16c = _staticres->loadRawData(kEoB1Palettes16c, temp);
+ if (pal16c) {
+ for (int i = 0; i < 10; i++)
+ _palette16c[i] = pal16c + i * 48;
+ }
+
+ _itemNamesPC98 = _staticres->loadStrings(kEoB1ItemNames, _numItemNamesPC98);
_turnUndeadString = _staticres->loadStrings(kEoB1TurnUndeadString, temp);