aboutsummaryrefslogtreecommitdiff
path: root/devtools/create_kyradat/resources/eob2_dos.h
diff options
context:
space:
mode:
authorJohannes Schickel2014-02-28 01:27:32 +0100
committerJohannes Schickel2014-03-03 02:00:04 +0100
commit800fc0722df4c39b8fac5fcfec14802358894533 (patch)
treea5fdd0b85e891919c98218558a12f89138901cd6 /devtools/create_kyradat/resources/eob2_dos.h
parent201f7a0f826f054986b4baa427f9ada710b2133e (diff)
downloadscummvm-rg350-800fc0722df4c39b8fac5fcfec14802358894533.tar.gz
scummvm-rg350-800fc0722df4c39b8fac5fcfec14802358894533.tar.bz2
scummvm-rg350-800fc0722df4c39b8fac5fcfec14802358894533.zip
DEVTOOLS: Rewrite create_kyradat.
Now static data is directly stored inside source code files which allows the tool to generate kyra.dat without any additional input. This will make supporting fan translations easier, since only the localized strings have to be added and an appropriate game entry has to be added.
Diffstat (limited to 'devtools/create_kyradat/resources/eob2_dos.h')
-rw-r--r--devtools/create_kyradat/resources/eob2_dos.h2501
1 files changed, 2501 insertions, 0 deletions
diff --git a/devtools/create_kyradat/resources/eob2_dos.h b/devtools/create_kyradat/resources/eob2_dos.h
new file mode 100644
index 0000000000..f260913e3c
--- /dev/null
+++ b/devtools/create_kyradat/resources/eob2_dos.h
@@ -0,0 +1,2501 @@
+static const byte kEoB2ChargenStartLevelsDOS[60] = {
+ 0x07, 0x00, 0x00, 0x01, 0x06, 0x00, 0x00, 0x01,
+ 0x06, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x01,
+ 0x07, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x01,
+ 0x06, 0x06, 0x00, 0x02, 0x06, 0x06, 0x00, 0x02,
+ 0x06, 0x05, 0x00, 0x02, 0x05, 0x05, 0x06, 0x03,
+ 0x06, 0x05, 0x00, 0x02, 0x06, 0x06, 0x00, 0x02,
+ 0x05, 0x05, 0x05, 0x03, 0x05, 0x06, 0x00, 0x02,
+ 0x06, 0x05, 0x00, 0x02
+};
+
+static const ByteProvider kEoB2ChargenStartLevelsDOSProvider = { ARRAYSIZE(kEoB2ChargenStartLevelsDOS), kEoB2ChargenStartLevelsDOS };
+
+static const byte kEoB2ChargenClassMinStatsDOS[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 kEoB2ChargenClassMinStatsDOSProvider = { ARRAYSIZE(kEoB2ChargenClassMinStatsDOS), kEoB2ChargenClassMinStatsDOS };
+
+static const byte kEoB2ChargenRaceMinStatsDOS[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 kEoB2ChargenRaceMinStatsDOSProvider = { ARRAYSIZE(kEoB2ChargenRaceMinStatsDOS), kEoB2ChargenRaceMinStatsDOS };
+
+static const uint16 kEoB2ChargenRaceMaxStatsDOS[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 kEoB2ChargenRaceMaxStatsDOSProvider = { ARRAYSIZE(kEoB2ChargenRaceMaxStatsDOS), kEoB2ChargenRaceMaxStatsDOS };
+
+static const byte kEoB2SaveThrowTable1DOS[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 kEoB2SaveThrowTable1DOSProvider = { ARRAYSIZE(kEoB2SaveThrowTable1DOS), kEoB2SaveThrowTable1DOS };
+
+static const byte kEoB2SaveThrowTable2DOS[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 kEoB2SaveThrowTable2DOSProvider = { ARRAYSIZE(kEoB2SaveThrowTable2DOS), kEoB2SaveThrowTable2DOS };
+
+static const byte kEoB2SaveThrowTable3DOS[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 kEoB2SaveThrowTable3DOSProvider = { ARRAYSIZE(kEoB2SaveThrowTable3DOS), kEoB2SaveThrowTable3DOS };
+
+static const byte kEoB2SaveThrowTable4DOS[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 kEoB2SaveThrowTable4DOSProvider = { ARRAYSIZE(kEoB2SaveThrowTable4DOS), kEoB2SaveThrowTable4DOS };
+
+static const byte kEoB2SaveThrwLvlIndexDOS[6] = {
+ 0x11, 0x15, 0x13, 0x15, 0x11, 0x11
+};
+
+static const ByteProvider kEoB2SaveThrwLvlIndexDOSProvider = { ARRAYSIZE(kEoB2SaveThrwLvlIndexDOS), kEoB2SaveThrwLvlIndexDOS };
+
+static const byte kEoB2SaveThrwModDivDOS[6] = {
+ 0x02, 0x05, 0x03, 0x04, 0x02, 0x02
+};
+
+static const ByteProvider kEoB2SaveThrwModDivDOSProvider = { ARRAYSIZE(kEoB2SaveThrwModDivDOS), kEoB2SaveThrwModDivDOS };
+
+static const byte kEoB2SaveThrwModExtDOS[6] = {
+ 0x0A, 0x05, 0x07, 0x06, 0x0A, 0x0A
+};
+
+static const ByteProvider kEoB2SaveThrwModExtDOSProvider = { ARRAYSIZE(kEoB2SaveThrwModExtDOS), kEoB2SaveThrwModExtDOS };
+
+static const char *const kEoB2EnchantedStringDOS[1] = {
+ "+%d %s"
+};
+
+static const StringListProvider kEoB2EnchantedStringDOSProvider = { ARRAYSIZE(kEoB2EnchantedStringDOS), kEoB2EnchantedStringDOS };
+
+static const char *const kEoB2MenuStringsSpellNoDOS[3] = {
+ "6",
+ "7",
+ "8"
+};
+
+static const StringListProvider kEoB2MenuStringsSpellNoDOSProvider = { ARRAYSIZE(kEoB2MenuStringsSpellNoDOS), kEoB2MenuStringsSpellNoDOS };
+
+static const byte kEoB2SpellLevelsMageDOS[35] = {
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05,
+ 0x05, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x08,
+ 0x00, 0x01, 0x01
+};
+
+static const ByteProvider kEoB2SpellLevelsMageDOSProvider = { ARRAYSIZE(kEoB2SpellLevelsMageDOS), kEoB2SpellLevelsMageDOS };
+
+static const byte kEoB2SpellLevelsClericDOS[29] = {
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02,
+ 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04,
+ 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x06, 0x06, 0x08, 0x08, 0x00
+};
+
+static const ByteProvider kEoB2SpellLevelsClericDOSProvider = { ARRAYSIZE(kEoB2SpellLevelsClericDOS), kEoB2SpellLevelsClericDOS };
+
+static const byte kEoB2NumSpellsClericDOS[136] = {
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00,
+ 0x04, 0x04, 0x03, 0x02, 0x02, 0x00, 0x00, 0x00,
+ 0x05, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00,
+ 0x06, 0x05, 0x05, 0x03, 0x02, 0x02, 0x00, 0x00,
+ 0x06, 0x06, 0x06, 0x04, 0x02, 0x02, 0x00, 0x00,
+ 0x06, 0x06, 0x06, 0x05, 0x03, 0x02, 0x01, 0x00,
+ 0x06, 0x06, 0x06, 0x06, 0x04, 0x02, 0x01, 0x00,
+ 0x07, 0x07, 0x07, 0x06, 0x04, 0x03, 0x01, 0x00,
+ 0x07, 0x07, 0x07, 0x07, 0x05, 0x03, 0x02, 0x00
+};
+
+static const ByteProvider kEoB2NumSpellsClericDOSProvider = { ARRAYSIZE(kEoB2NumSpellsClericDOS), kEoB2NumSpellsClericDOS };
+
+static const byte kEoB2NumSpellsWisAdjDOS[64] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00
+};
+
+static const ByteProvider kEoB2NumSpellsWisAdjDOSProvider = { ARRAYSIZE(kEoB2NumSpellsWisAdjDOS), kEoB2NumSpellsWisAdjDOS };
+
+static const byte kEoB2NumSpellsPalDOS[136] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00
+};
+
+static const ByteProvider kEoB2NumSpellsPalDOSProvider = { ARRAYSIZE(kEoB2NumSpellsPalDOS), kEoB2NumSpellsPalDOS };
+
+static const byte kEoB2NumSpellsMageDOS[276] = {
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00,
+ 0x04, 0x04, 0x03, 0x02, 0x02, 0x00, 0x00, 0x00,
+ 0x04, 0x04, 0x04, 0x03, 0x03, 0x00, 0x00, 0x00,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x01, 0x00, 0x00,
+ 0x05, 0x05, 0x05, 0x04, 0x04, 0x02, 0x00, 0x00,
+ 0x05, 0x05, 0x05, 0x04, 0x04, 0x02, 0x01, 0x00,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x02, 0x01, 0x00,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x03, 0x02, 0x01,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x03, 0x03, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00
+};
+
+static const ByteProvider kEoB2NumSpellsMageDOSProvider = { ARRAYSIZE(kEoB2NumSpellsMageDOS), kEoB2NumSpellsMageDOS };
+
+static const uint32 kEoB2ExperienceTable0DOS[14] = {
+ 0x00000000, 0x000007D0, 0x00000FA0, 0x00001F40, 0x00003E80, 0x00007D00, 0x0000FA00, 0x0001E848,
+ 0x0003D090, 0x0007A120, 0x000B71B0, 0x000F4240, 0x001312D0, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB2ExperienceTable0DOSProvider = { ARRAYSIZE(kEoB2ExperienceTable0DOS), kEoB2ExperienceTable0DOS };
+
+static const uint32 kEoB2ExperienceTable1DOS[14] = {
+ 0x00000000, 0x000009C4, 0x00001388, 0x00002710, 0x00004E20, 0x00009C40, 0x0000EA60, 0x00015F90,
+ 0x00020F58, 0x0003D090, 0x0005B8D8, 0x000B71B0, 0x00112A88, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB2ExperienceTable1DOSProvider = { ARRAYSIZE(kEoB2ExperienceTable1DOS), kEoB2ExperienceTable1DOS };
+
+static const uint32 kEoB2ExperienceTable2DOS[14] = {
+ 0x00000000, 0x000005DC, 0x00000BB8, 0x00001770, 0x000032C8, 0x00006B6C, 0x0000D6D8, 0x0001ADB0,
+ 0x00036EE8, 0x0006DDD0, 0x000A4CB8, 0x000DBBA0, 0x00112A88, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB2ExperienceTable2DOSProvider = { ARRAYSIZE(kEoB2ExperienceTable2DOS), kEoB2ExperienceTable2DOS };
+
+static const uint32 kEoB2ExperienceTable3DOS[14] = {
+ 0x00000000, 0x000004E2, 0x000009C4, 0x00001388, 0x00002710, 0x00004E20, 0x00009C40, 0x00011170,
+ 0x0001ADB0, 0x00027100, 0x00035B60, 0x0006B6C0, 0x000A1220, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB2ExperienceTable3DOSProvider = { ARRAYSIZE(kEoB2ExperienceTable3DOS), kEoB2ExperienceTable3DOS };
+
+static const uint32 kEoB2ExperienceTable4DOS[14] = {
+ 0x00000000, 0x000008CA, 0x00001194, 0x00002328, 0x00004650, 0x00008CA0, 0x000124F8, 0x000249F0,
+ 0x000493E0, 0x000927C0, 0x000DBBA0, 0x00124F80, 0x0016E360, 0xFFFFFFFF
+};
+
+static const Uint32Provider kEoB2ExperienceTable4DOSProvider = { ARRAYSIZE(kEoB2ExperienceTable4DOS), kEoB2ExperienceTable4DOS };
+
+static const byte kEoB2ExpObjectTlModeDOS[18] = {
+ 0x00, 0x00, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00,
+ 0x02, 0x00
+};
+
+static const ByteProvider kEoB2ExpObjectTlModeDOSProvider = { ARRAYSIZE(kEoB2ExpObjectTlModeDOS), kEoB2ExpObjectTlModeDOS };
+
+static const byte kEoB2ExpObjectTblIndexDOS[14] = {
+ 0x02, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const ByteProvider kEoB2ExpObjectTblIndexDOSProvider = { ARRAYSIZE(kEoB2ExpObjectTblIndexDOS), kEoB2ExpObjectTblIndexDOS };
+
+static const byte kEoB2ExpObjectShpStartDOS[4] = {
+ 0x07, 0x0C, 0x0F, 0x12
+};
+
+static const ByteProvider kEoB2ExpObjectShpStartDOSProvider = { ARRAYSIZE(kEoB2ExpObjectShpStartDOS), kEoB2ExpObjectShpStartDOS };
+
+static const byte kEoB2ExpObjectTbl1DOS[13] = {
+ 0x0F, 0x05, 0x0F, 0x05, 0x06, 0x05, 0x06, 0x08,
+ 0x06, 0x08, 0x06, 0x08, 0x00
+};
+
+static const ByteProvider kEoB2ExpObjectTbl1DOSProvider = { ARRAYSIZE(kEoB2ExpObjectTbl1DOS), kEoB2ExpObjectTbl1DOS };
+
+static const byte kEoB2ExpObjectTbl2DOS[10] = {
+ 0x0F, 0x09, 0x0F, 0x09, 0x02, 0x0A, 0x0B, 0x0A,
+ 0x0B, 0x00
+};
+
+static const ByteProvider kEoB2ExpObjectTbl2DOSProvider = { ARRAYSIZE(kEoB2ExpObjectTbl2DOS), kEoB2ExpObjectTbl2DOS };
+
+static const byte kEoB2ExpObjectTbl3DOS[11] = {
+ 0x05, 0x03, 0x05, 0x03, 0x03, 0x03, 0x03, 0x0B,
+ 0x03, 0x0B, 0x00
+};
+
+static const ByteProvider kEoB2ExpObjectTbl3DOSProvider = { ARRAYSIZE(kEoB2ExpObjectTbl3DOS), kEoB2ExpObjectTbl3DOS };
+
+static const byte kEoB2ExpObjectYDOS[4] = {
+ 0x77, 0x67, 0x4F, 0x3F
+};
+
+static const ByteProvider kEoB2ExpObjectYDOSProvider = { ARRAYSIZE(kEoB2ExpObjectYDOS), kEoB2ExpObjectYDOS };
+
+static const byte kEoB2SparkDefStepsDOS[8] = {
+ 0x40, 0x90, 0xE4, 0xB9, 0x6E, 0x1B, 0x06, 0x01
+};
+
+static const ByteProvider kEoB2SparkDefStepsDOSProvider = { ARRAYSIZE(kEoB2SparkDefStepsDOS), kEoB2SparkDefStepsDOS };
+
+static const byte kEoB2SparkDefSubStepsDOS[4] = {
+ 0xC0, 0x30, 0x0C, 0x03
+};
+
+static const ByteProvider kEoB2SparkDefSubStepsDOSProvider = { ARRAYSIZE(kEoB2SparkDefSubStepsDOS), kEoB2SparkDefSubStepsDOS };
+
+static const byte kEoB2SparkDefShiftDOS[4] = {
+ 0x06, 0x04, 0x02, 0x00
+};
+
+static const ByteProvider kEoB2SparkDefShiftDOSProvider = { ARRAYSIZE(kEoB2SparkDefShiftDOS), kEoB2SparkDefShiftDOS };
+
+static const byte kEoB2SparkDefAddDOS[8] = {
+ 0x08, 0x06, 0x1C, 0x14, 0x0D, 0x18, 0x0D, 0x0F
+};
+
+static const ByteProvider kEoB2SparkDefAddDOSProvider = { ARRAYSIZE(kEoB2SparkDefAddDOS), kEoB2SparkDefAddDOS };
+
+static const byte kEoB2SparkDefXDOS[6] = {
+ 0x17, 0x20, 0x17, 0x20, 0x17, 0x20
+};
+
+static const ByteProvider kEoB2SparkDefXDOSProvider = { ARRAYSIZE(kEoB2SparkDefXDOS), kEoB2SparkDefXDOS };
+
+static const byte kEoB2SparkDefYDOS[6] = {
+ 0x02, 0x02, 0x34, 0x34, 0x66, 0x66
+};
+
+static const ByteProvider kEoB2SparkDefYDOSProvider = { ARRAYSIZE(kEoB2SparkDefYDOS), kEoB2SparkDefYDOS };
+
+static const uint32 kEoB2SparkOfFlags1DOS[11] = {
+ 0x40000000, 0x95000000, 0xEA550000, 0xBFAA5400, 0x6AFFA954, 0x15AAFEA9, 0x0055ABFE, 0x000056AB,
+ 0x00000156, 0x00000001, 0x00000000
+};
+
+static const Uint32Provider kEoB2SparkOfFlags1DOSProvider = { ARRAYSIZE(kEoB2SparkOfFlags1DOS), kEoB2SparkOfFlags1DOS };
+
+static const uint32 kEoB2SparkOfFlags2DOS[16] = {
+ 0xC0000000, 0x30000000, 0x0C000000, 0x03000000, 0x00C00000, 0x00300000, 0x000C0000, 0x00030000,
+ 0x0000C000, 0x00003000, 0x00000C00, 0x00000300, 0x000000C0, 0x00000030, 0x0000000C, 0x00000003
+};
+
+static const Uint32Provider kEoB2SparkOfFlags2DOSProvider = { ARRAYSIZE(kEoB2SparkOfFlags2DOS), kEoB2SparkOfFlags2DOS };
+
+static const byte kEoB2SparkOfShiftDOS[16] = {
+ 0x1E, 0x1C, 0x1A, 0x18, 0x16, 0x14, 0x12, 0x10,
+ 0x0E, 0x0C, 0x0A, 0x08, 0x06, 0x04, 0x02, 0x00
+};
+
+static const ByteProvider kEoB2SparkOfShiftDOSProvider = { ARRAYSIZE(kEoB2SparkOfShiftDOS), kEoB2SparkOfShiftDOS };
+
+static const byte kEoB2SparkOfXDOS[16] = {
+ 0x50, 0x70, 0x30, 0x68, 0x20, 0x60, 0x38, 0x78,
+ 0x80, 0x48, 0x58, 0x28, 0x60, 0x40, 0x70, 0x48
+};
+
+static const ByteProvider kEoB2SparkOfXDOSProvider = { ARRAYSIZE(kEoB2SparkOfXDOS), kEoB2SparkOfXDOS };
+
+static const byte kEoB2SparkOfYDOS[16] = {
+ 0x31, 0x2B, 0x48, 0x17, 0x16, 0x48, 0x35, 0x1B,
+ 0x43, 0x2E, 0x24, 0x28, 0x38, 0x1C, 0x16, 0x44
+};
+
+static const ByteProvider kEoB2SparkOfYDOSProvider = { ARRAYSIZE(kEoB2SparkOfYDOS), kEoB2SparkOfYDOS };
+
+static const byte kEoB2SpellPropertiesDOS[1750] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xFE, 0x2B, 0x16, 0x2B, 0x60, 0x00, 0xA7,
+ 0x13, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x5C, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x2C, 0x16, 0x2B, 0xC3, 0x00,
+ 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,
+ 0x00, 0x21, 0x00, 0x12, 0x2C, 0x16, 0x2B, 0x9D,
+ 0x01, 0xA7, 0x13, 0x4C, 0x00, 0x00, 0x00, 0x95,
+ 0x29, 0xBB, 0x01, 0xA7, 0x13, 0x5F, 0x02, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x1F, 0x2C, 0x16, 0x2B,
+ 0xD9, 0x01, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0xFA, 0x01, 0xA7, 0x13, 0x55, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x2D, 0x2C, 0x16,
+ 0x2B, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00,
+ 0x00, 0x96, 0x29, 0x00, 0x00, 0x00, 0x00, 0x5C,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x2C,
+ 0x16, 0x2B, 0x2D, 0x02, 0xA7, 0x13, 0x88, 0x04,
+ 0x00, 0x00, 0x97, 0x29, 0xE4, 0x02, 0xA7, 0x13,
+ 0x58, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x43,
+ 0x2C, 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x89,
+ 0x00, 0x00, 0x00, 0x98, 0x29, 0x00, 0x00, 0x00,
+ 0x00, 0x4B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x48, 0x2C, 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00,
+ 0x4C, 0x00, 0x00, 0x00, 0x9A, 0x29, 0x00, 0x00,
+ 0x00, 0x00, 0x5F, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x5C, 0x2C, 0x16, 0x2B, 0x2C, 0x00, 0xA7,
+ 0x13, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x14, 0x40, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x6E, 0x2C, 0x16, 0x2B, 0x00, 0x00,
+ 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x5E, 0x40, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7B, 0x2C, 0x16, 0x2B, 0x2B,
+ 0x03, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x4D, 0x03, 0xA7, 0x13, 0x60, 0x00, 0x00,
+ 0x00, 0x00, 0x11, 0x00, 0x8D, 0x2C, 0x16, 0x2B,
+ 0x02, 0x00, 0xA7, 0x13, 0x00, 0x10, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, 0x2C, 0x16,
+ 0x2B, 0x82, 0x03, 0xA7, 0x13, 0x00, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0xA4, 0x03, 0xA7, 0x13, 0x63,
+ 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0xA3, 0x2C,
+ 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x48, 0x02,
+ 0x00, 0x00, 0x99, 0x29, 0x00, 0x00, 0x00, 0x00,
+ 0x64, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA9,
+ 0x2C, 0x16, 0x2B, 0xD3, 0x03, 0xA7, 0x13, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x03, 0xA7,
+ 0x13, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xB5, 0x2C, 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00,
+ 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x5E, 0x40, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xCD, 0x2C, 0x16, 0x2B, 0xFA, 0x04, 0xA7,
+ 0x13, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1C,
+ 0x05, 0xA7, 0x13, 0x47, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x00, 0xDC, 0x2C, 0x16, 0x2B, 0x4B, 0x05,
+ 0xA7, 0x13, 0x88, 0x04, 0x00, 0x00, 0x9B, 0x29,
+ 0x04, 0x06, 0xA7, 0x13, 0x66, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0xEB, 0x2C, 0x16, 0x2B, 0x2B,
+ 0x06, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xF0, 0x2C, 0x16, 0x2B,
+ 0x89, 0x06, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0xAB, 0x06, 0xA7, 0x13, 0x59, 0x00,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0xFA, 0x2C, 0x16,
+ 0x2B, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00,
+ 0x00, 0x9C, 0x29, 0x00, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x2D,
+ 0x16, 0x2B, 0x3C, 0x07, 0xA7, 0x13, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D,
+ 0x2D, 0x16, 0x2B, 0x9F, 0x07, 0xA7, 0x13, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x76, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00,
+ 0x2A, 0x2D, 0x16, 0x2B, 0x94, 0x08, 0xA7, 0x13,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xB6, 0x08,
+ 0xA7, 0x13, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x37, 0x2D, 0x16, 0x2B, 0xD0, 0x09, 0xA7,
+ 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x45, 0x2D, 0x16, 0x2B, 0x25, 0x0B,
+ 0xA7, 0x13, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0x52, 0x2D, 0x16, 0x2B, 0x89,
+ 0x0B, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x61, 0x2D, 0x16, 0x2B,
+ 0xF1, 0x0B, 0xA7, 0x13, 0x20, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x2D, 0x16,
+ 0x2B, 0x0D, 0x0C, 0xA7, 0x13, 0x4C, 0x00, 0x00,
+ 0x00, 0x9D, 0x29, 0x1C, 0x0C, 0xA7, 0x13, 0x49,
+ 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x2D,
+ 0x16, 0x2B, 0x2B, 0x0C, 0xA7, 0x13, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8C,
+ 0x2D, 0x16, 0x2B, 0x98, 0x0C, 0xA7, 0x13, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x9C, 0x2D, 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xB2, 0x2D, 0x16, 0x2B, 0x00, 0x00,
+ 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x9E, 0x29,
+ 0x00, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0xB8, 0x2D, 0x16, 0x2B, 0xDE,
+ 0x0C, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0xCB, 0x2D, 0x16, 0x2B,
+ 0xF6, 0x0C, 0xA7, 0x13, 0x20, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x2D, 0x16,
+ 0x2B, 0x9D, 0x01, 0xA7, 0x13, 0x4C, 0x00, 0x00,
+ 0x00, 0x95, 0x29, 0xBB, 0x01, 0xA7, 0x13, 0x5F,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEA, 0x2D,
+ 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00,
+ 0x00, 0x00, 0x9F, 0x29, 0x00, 0x00, 0x00, 0x00,
+ 0x6E, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0xFF,
+ 0x2D, 0x16, 0x2B, 0x1A, 0x0D, 0xA7, 0x13, 0x39,
+ 0x00, 0x00, 0x00, 0xA0, 0x29, 0xC9, 0x0D, 0xA7,
+ 0x13, 0x5B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x2E, 0x16, 0x2B, 0xEF, 0x0D, 0xA7, 0x13,
+ 0x08, 0x24, 0x00, 0x00, 0xA1, 0x29, 0xE4, 0x02,
+ 0xA7, 0x13, 0x63, 0x00, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x0F, 0x2E, 0x16, 0x2B, 0xD3, 0x03, 0xA7,
+ 0x13, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF5,
+ 0x03, 0xA7, 0x13, 0x65, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x1B, 0x2E, 0x16, 0x2B, 0x99, 0x0E,
+ 0xA7, 0x13, 0x28, 0x00, 0x00, 0x00, 0xA2, 0x29,
+ 0xF2, 0x0E, 0xA7, 0x13, 0x6F, 0x00, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x27, 0x2E, 0x16, 0x2B, 0x08,
+ 0x0F, 0xA7, 0x13, 0x40, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x33, 0x2E, 0x16, 0x2B,
+ 0x02, 0x00, 0xA7, 0x13, 0x00, 0x10, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x2E, 0x16,
+ 0x2B, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00,
+ 0x00, 0xA3, 0x29, 0x00, 0x00, 0x00, 0x00, 0x71,
+ 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x51, 0x2E,
+ 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x00,
+ 0x00, 0x00, 0xA4, 0x29, 0x00, 0x00, 0x00, 0x00,
+ 0x5B, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x58,
+ 0x2E, 0x16, 0x2B, 0x38, 0x0F, 0xA7, 0x13, 0x40,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x69, 0x2E, 0x16, 0x2B, 0x95, 0x0F, 0xA7, 0x13,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x7E, 0x2E, 0x16, 0x2B, 0x71, 0x0F, 0xA7,
+ 0x13, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x92, 0x2E, 0x16, 0x2B, 0xAE, 0x0F,
+ 0xA7, 0x13, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xA4, 0x2E, 0x16, 0x2B, 0x00,
+ 0x00, 0x00, 0x00, 0x48, 0x02, 0x00, 0x00, 0x9F,
+ 0x29, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x00, 0xC4, 0x2E, 0x16, 0x2B,
+ 0xD1, 0x0F, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0xDA, 0x2E, 0x16,
+ 0x2B, 0xEA, 0x0F, 0xA7, 0x13, 0x20, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x2E,
+ 0x16, 0x2B, 0x0E, 0x10, 0xA7, 0x13, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0xA7, 0x13,
+ 0x62, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0xFC,
+ 0x2E, 0x16, 0x2B, 0x4F, 0x10, 0xA7, 0x13, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0x2F, 0x16, 0x2B, 0x2B, 0x0C, 0xA7, 0x13,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x13, 0x2F, 0x16, 0x2B, 0x0D, 0x0C, 0xA7,
+ 0x13, 0x4C, 0x00, 0x00, 0x00, 0x9D, 0x29, 0x1C,
+ 0x0C, 0xA7, 0x13, 0x49, 0x00, 0x02, 0x00, 0x00,
+ 0x00, 0x00, 0x1F, 0x2F, 0x16, 0x2B, 0x84, 0x10,
+ 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0x24, 0x2F, 0x16, 0x2B, 0x97,
+ 0x10, 0xA7, 0x13, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x29, 0x2F, 0x16, 0x2B,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x2F, 0x16,
+ 0x2B, 0xA8, 0x13, 0xA7, 0x13, 0x20, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x2F,
+ 0x16, 0x2B, 0xE6, 0x10, 0xA7, 0x13, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F,
+ 0x2F, 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x13, 0xA7,
+ 0x13, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x50, 0x2F, 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00,
+ 0x4C, 0x00, 0x00, 0x00, 0xA5, 0x29, 0x00, 0x00,
+ 0x00, 0x00, 0x5B, 0x00, 0x00, 0x02, 0x00, 0x00,
+ 0x00, 0x5F, 0x2F, 0x16, 0x2B, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D,
+ 0x14, 0xA7, 0x13, 0x62, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x60, 0x2F, 0x16, 0x2B, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x6A, 0x12, 0xA7, 0x13, 0x65, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x61, 0x2F, 0x16, 0x2B, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xF6, 0x11, 0xA7, 0x13, 0x65, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x62, 0x2F, 0x16, 0x2B,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xE1, 0x12, 0xA7, 0x13, 0x65, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, 0x16,
+ 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x43, 0x13, 0xA7, 0x13, 0x65,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const ByteProvider kEoB2SpellPropertiesDOSProvider = { ARRAYSIZE(kEoB2SpellPropertiesDOS), kEoB2SpellPropertiesDOS };
+
+static const byte kEoB2MagicFlightPropsDOS[56] = {
+ 0x04, 0xFF, 0x41, 0x0C, 0x0B, 0xFF, 0x04, 0x06,
+ 0x0D, 0xFF, 0x7A, 0x09, 0x0F, 0xFF, 0x4A, 0x08,
+ 0x11, 0x06, 0x38, 0x0A, 0x14, 0x06, 0x7A, 0x0B,
+ 0x18, 0xFF, 0x4A, 0x08, 0x36, 0xFF, 0x4B, 0x09,
+ 0x3F, 0xFF, 0x4B, 0x09, 0x41, 0x06, 0x4B, 0x09,
+ 0x42, 0x06, 0x4B, 0x08, 0x43, 0x06, 0x4B, 0x08,
+ 0x44, 0x06, 0x4B, 0x08, 0x45, 0x06, 0x4B, 0x08
+};
+
+static const ByteProvider kEoB2MagicFlightPropsDOSProvider = { ARRAYSIZE(kEoB2MagicFlightPropsDOS), kEoB2MagicFlightPropsDOS };
+
+static const byte kEoB2TurnUndeadEffectDOS[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 kEoB2TurnUndeadEffectDOSProvider = { ARRAYSIZE(kEoB2TurnUndeadEffectDOS), kEoB2TurnUndeadEffectDOS };
+
+static const byte kEoB2BurningHandsDestDOS[32] = {
+ 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x00, 0x00,
+ 0x00, 0x02, 0x04, 0x01, 0x03, 0x05, 0x00, 0x00,
+ 0x00, 0x01, 0x04, 0x02, 0x03, 0x05, 0x00, 0x00,
+ 0x01, 0x03, 0x04, 0x00, 0x02, 0x05, 0x00, 0x00
+};
+
+static const ByteProvider kEoB2BurningHandsDestDOSProvider = { ARRAYSIZE(kEoB2BurningHandsDestDOS), kEoB2BurningHandsDestDOS };
+
+static const byte kEoB2ConeOfColdDest1DOS[7] = {
+ 0xE0, 0xC0, 0xC1, 0xBF, 0xA0, 0x9F, 0xA1
+};
+
+static const ByteProvider kEoB2ConeOfColdDest1DOSProvider = { ARRAYSIZE(kEoB2ConeOfColdDest1DOS), kEoB2ConeOfColdDest1DOS };
+
+static const byte kEoB2ConeOfColdDest2DOS[7] = {
+ 0x01, 0x02, 0xE2, 0x22, 0x03, 0xE3, 0x23
+};
+
+static const ByteProvider kEoB2ConeOfColdDest2DOSProvider = { ARRAYSIZE(kEoB2ConeOfColdDest2DOS), kEoB2ConeOfColdDest2DOS };
+
+static const byte kEoB2ConeOfColdDest3DOS[7] = {
+ 0x20, 0x40, 0x3F, 0x41, 0x60, 0x5F, 0x61
+};
+
+static const ByteProvider kEoB2ConeOfColdDest3DOSProvider = { ARRAYSIZE(kEoB2ConeOfColdDest3DOS), kEoB2ConeOfColdDest3DOS };
+
+static const byte kEoB2ConeOfColdDest4DOS[7] = {
+ 0xFF, 0xFE, 0x1E, 0xDE, 0xFD, 0x1D, 0xDD
+};
+
+static const ByteProvider kEoB2ConeOfColdDest4DOSProvider = { ARRAYSIZE(kEoB2ConeOfColdDest4DOS), kEoB2ConeOfColdDest4DOS };
+
+static const byte kEoB2ConeOfColdGfxTblDOS[8] = {
+ 0x0F, 0x09, 0x0F, 0x09, 0x02, 0x0A, 0x02, 0x00
+};
+
+static const ByteProvider kEoB2ConeOfColdGfxTblDOSProvider = { ARRAYSIZE(kEoB2ConeOfColdGfxTblDOS), kEoB2ConeOfColdGfxTblDOS };
+
+static const byte kEoB2DscDoorShapeIndexDOS[53] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01
+};
+
+static const ByteProvider kEoB2DscDoorShapeIndexDOSProvider = { ARRAYSIZE(kEoB2DscDoorShapeIndexDOS), kEoB2DscDoorShapeIndexDOS };
+
+static const byte kEoB2WllFlagPresetDOS[25] = {
+ 0x07, 0x00, 0x40, 0xA8, 0x88, 0x88, 0x88, 0x9F,
+ 0xA8, 0x88, 0x88, 0x88, 0x9F, 0xA8, 0x88, 0x88,
+ 0x88, 0x9F, 0xA8, 0x88, 0x88, 0x88, 0x9F, 0x03,
+ 0x03
+};
+
+static const ByteProvider kEoB2WllFlagPresetDOSProvider = { ARRAYSIZE(kEoB2WllFlagPresetDOS), kEoB2WllFlagPresetDOS };
+
+static const uint16 kEoB2DscShapeCoordsDOS[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 kEoB2DscShapeCoordsDOSProvider = { ARRAYSIZE(kEoB2DscShapeCoordsDOS), kEoB2DscShapeCoordsDOS };
+
+static const byte kEoB2DscDoorScaleOffsDOS[53] = {
+ 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, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0x34
+};
+
+static const ByteProvider kEoB2DscDoorScaleOffsDOSProvider = { ARRAYSIZE(kEoB2DscDoorScaleOffsDOS), kEoB2DscDoorScaleOffsDOS };
+
+static const byte kEoB2DscDoorScaleMult1DOS[4] = {
+ 0x08, 0x0C, 0x12, 0x00
+};
+
+static const ByteProvider kEoB2DscDoorScaleMult1DOSProvider = { ARRAYSIZE(kEoB2DscDoorScaleMult1DOS), kEoB2DscDoorScaleMult1DOS };
+
+static const byte kEoB2DscDoorScaleMult2DOS[4] = {
+ 0x00, 0x02, 0x04, 0x00
+};
+
+static const ByteProvider kEoB2DscDoorScaleMult2DOSProvider = { ARRAYSIZE(kEoB2DscDoorScaleMult2DOS), kEoB2DscDoorScaleMult2DOS };
+
+static const byte kEoB2DscDoorScaleMult3DOS[4] = {
+ 0x05, 0x08, 0x0C, 0x00
+};
+
+static const ByteProvider kEoB2DscDoorScaleMult3DOSProvider = { ARRAYSIZE(kEoB2DscDoorScaleMult3DOS), kEoB2DscDoorScaleMult3DOS };
+
+static const byte kEoB2DscDoorType5OffsDOS[6] = {
+ 0x05, 0x03, 0x01, 0x05, 0x03, 0x01
+};
+
+static const ByteProvider kEoB2DscDoorType5OffsDOSProvider = { ARRAYSIZE(kEoB2DscDoorType5OffsDOS), kEoB2DscDoorType5OffsDOS };
+
+static const byte kEoB2DscDoorY1DOS[4] = {
+ 0x3B, 0x47, 0x56, 0x00
+};
+
+static const ByteProvider kEoB2DscDoorY1DOSProvider = { ARRAYSIZE(kEoB2DscDoorY1DOS), kEoB2DscDoorY1DOS };
+
+static const byte kEoB2DscDoorY2DOS[4] = {
+ 0x1F, 0x18, 0x0F, 0x00
+};
+
+static const ByteProvider kEoB2DscDoorY2DOSProvider = { ARRAYSIZE(kEoB2DscDoorY2DOS), kEoB2DscDoorY2DOS };
+
+static const byte kEoB2DscDoorFrameY1DOS[4] = {
+ 0x1E, 0x18, 0x10, 0x00
+};
+
+static const ByteProvider kEoB2DscDoorFrameY1DOSProvider = { ARRAYSIZE(kEoB2DscDoorFrameY1DOS), kEoB2DscDoorFrameY1DOS };
+
+static const byte kEoB2DscDoorFrameY2DOS[4] = {
+ 0x3B, 0x47, 0x56, 0x78
+};
+
+static const ByteProvider kEoB2DscDoorFrameY2DOSProvider = { ARRAYSIZE(kEoB2DscDoorFrameY2DOS), kEoB2DscDoorFrameY2DOS };
+
+static const byte kEoB2DscItemPosIndexDOS[16] = {
+ 0x00, 0x01, 0x02, 0x03, 0x02, 0x00, 0x03, 0x01,
+ 0x03, 0x02, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02
+};
+
+static const ByteProvider kEoB2DscItemPosIndexDOSProvider = { ARRAYSIZE(kEoB2DscItemPosIndexDOS), kEoB2DscItemPosIndexDOS };
+
+static const uint16 kEoB2DscItemShpXDOS[18] = {
+ 0xFFC8, 0xFFF8, 0x0028, 0x0058, 0x0088, 0x00B8, 0x00E8, 0xFFB8,
+ 0x0008, 0x0058, 0x00A8, 0x00F8, 0xFFD8, 0x0058, 0x00D8, 0xFFA8,
+ 0x0058, 0x0108
+};
+
+static const Uint16Provider kEoB2DscItemShpXDOSProvider = { ARRAYSIZE(kEoB2DscItemShpXDOS), kEoB2DscItemShpXDOS };
+
+static const byte kEoB2DscItemScaleIndexDOS[18] = {
+ 0xFF, 0xFF, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02,
+ 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF,
+ 0x25, 0x00
+};
+
+static const ByteProvider kEoB2DscItemScaleIndexDOSProvider = { ARRAYSIZE(kEoB2DscItemScaleIndexDOS), kEoB2DscItemScaleIndexDOS };
+
+static const byte kEoB2DscItemTileIndexDOS[18] = {
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0x09, 0xFF, 0x0B,
+ 0x0C, 0x0D
+};
+
+static const ByteProvider kEoB2DscItemTileIndexDOSProvider = { ARRAYSIZE(kEoB2DscItemTileIndexDOS), kEoB2DscItemTileIndexDOS };
+
+static const byte kEoB2DscItemShapeMapDOS[113] = {
+ 0x00, 0x00, 0x00, 0x05, 0x01, 0x02, 0x03, 0x04,
+ 0x03, 0x05, 0x06, 0x06, 0x12, 0x05, 0x0F, 0x12,
+ 0x14, 0x08, 0x13, 0x11, 0x15, 0x18, 0x07, 0x07,
+ 0x07, 0x1F, 0x09, 0x23, 0x09, 0x09, 0x09, 0x09,
+ 0x08, 0x1C, 0x1C, 0x1A, 0x1B, 0x21, 0x1D, 0x1D,
+ 0x22, 0x22, 0x22, 0x00, 0x16, 0x00, 0x00, 0x17,
+ 0x17, 0x17, 0x17, 0x17, 0x22, 0x21, 0x19, 0x23,
+ 0x10, 0x1E, 0x17, 0x25, 0x17, 0x26, 0x12, 0x21,
+ 0x17, 0x23, 0x1C, 0x00, 0x20, 0x25, 0x12, 0x18,
+ 0x1F, 0x07, 0x07, 0x15, 0x15, 0x0F, 0x03, 0x09,
+ 0x1E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B,
+ 0x1B, 0x17, 0x17, 0x16, 0x16, 0x21, 0x08, 0x25,
+ 0x25, 0x25, 0x25, 0x28, 0x03, 0x04, 0x21, 0x00,
+ 0x17, 0x00, 0x20, 0x24, 0x27, 0x27, 0x1C, 0x27,
+ 0x00
+};
+
+static const ByteProvider kEoB2DscItemShapeMapDOSProvider = { ARRAYSIZE(kEoB2DscItemShapeMapDOS), kEoB2DscItemShapeMapDOS };
+
+static const byte kEoB2DscTelptrShpCoordsDOS[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 kEoB2DscTelptrShpCoordsDOSProvider = { ARRAYSIZE(kEoB2DscTelptrShpCoordsDOS), kEoB2DscTelptrShpCoordsDOS };
+
+static const byte kEoB2PortalSeqDataDOS[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 kEoB2PortalSeqDataDOSProvider = { ARRAYSIZE(kEoB2PortalSeqDataDOS), kEoB2PortalSeqDataDOS };
+
+static const byte kEoB2DscMonsterFrmOffsTbl1DOS[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 kEoB2DscMonsterFrmOffsTbl1DOSProvider = { ARRAYSIZE(kEoB2DscMonsterFrmOffsTbl1DOS), kEoB2DscMonsterFrmOffsTbl1DOS };
+
+static const byte kEoB2DscMonsterFrmOffsTbl2DOS[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 kEoB2DscMonsterFrmOffsTbl2DOSProvider = { ARRAYSIZE(kEoB2DscMonsterFrmOffsTbl2DOS), kEoB2DscMonsterFrmOffsTbl2DOS };
+
+static const uint16 kEoB2InvSlotXDOS[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 kEoB2InvSlotXDOSProvider = { ARRAYSIZE(kEoB2InvSlotXDOS), kEoB2InvSlotXDOS };
+
+static const byte kEoB2InvSlotYDOS[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 kEoB2InvSlotYDOSProvider = { ARRAYSIZE(kEoB2InvSlotYDOS), kEoB2InvSlotYDOS };
+
+static const uint16 kEoB2SlotValidationFlagsDOS[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 kEoB2SlotValidationFlagsDOSProvider = { ARRAYSIZE(kEoB2SlotValidationFlagsDOS), kEoB2SlotValidationFlagsDOS };
+
+static const byte kEoB2ProjectileWeaponTypesDOS[15] = {
+ 0xFF, 0x01, 0xFF, 0x02, 0x04, 0x03, 0x05, 0x10,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x12
+};
+
+static const ByteProvider kEoB2ProjectileWeaponTypesDOSProvider = { ARRAYSIZE(kEoB2ProjectileWeaponTypesDOS), kEoB2ProjectileWeaponTypesDOS };
+
+static const byte kEoB2WandTypesDOS[8] = {
+ 0x00, 0x11, 0x17, 0x31, 0x0D, 0xFF, 0x04, 0x0C
+};
+
+static const ByteProvider kEoB2WandTypesDOSProvider = { ARRAYSIZE(kEoB2WandTypesDOS), kEoB2WandTypesDOS };
+
+static const byte kEoB2DrawObjPosIndexDOS[20] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x03,
+ 0x01, 0x04, 0x02, 0x03, 0x00, 0x01, 0x04, 0x01,
+ 0x03, 0x00, 0x02, 0x04
+};
+
+static const ByteProvider kEoB2DrawObjPosIndexDOSProvider = { ARRAYSIZE(kEoB2DrawObjPosIndexDOS), kEoB2DrawObjPosIndexDOS };
+
+static const byte kEoB2FlightObjFlipIndexDOS[16] = {
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01,
+ 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00
+};
+
+static const ByteProvider kEoB2FlightObjFlipIndexDOSProvider = { ARRAYSIZE(kEoB2FlightObjFlipIndexDOS), kEoB2FlightObjFlipIndexDOS };
+
+static const byte kEoB2FlightObjShpMapDOS[45] = {
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02,
+ 0xFF, 0xFF, 0x04, 0xFF, 0x06, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x00, 0x00, 0x00, 0x00
+};
+
+static const ByteProvider kEoB2FlightObjShpMapDOSProvider = { ARRAYSIZE(kEoB2FlightObjShpMapDOS), kEoB2FlightObjShpMapDOS };
+
+static const byte kEoB2FlightObjSclIndexDOS[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 kEoB2FlightObjSclIndexDOSProvider = { ARRAYSIZE(kEoB2FlightObjSclIndexDOS), kEoB2FlightObjSclIndexDOS };
+
+static const uint16 kEoB2TransferPortraitFramesDOS[32] = {
+ 0x0004, 0x0018, 0x009D, 0x0038, 0x00A2, 0x0018, 0x013C, 0x0039,
+ 0x0004, 0x0040, 0x009D, 0x0060, 0x00A2, 0x0040, 0x013C, 0x0060,
+ 0x0004, 0x0068, 0x009D, 0x0089, 0x00A2, 0x0068, 0x013C, 0x0089,
+ 0x0004, 0x0094, 0x002E, 0x009E, 0x0110, 0x0094, 0x013A, 0x009E
+};
+
+static const Uint16Provider kEoB2TransferPortraitFramesDOSProvider = { ARRAYSIZE(kEoB2TransferPortraitFramesDOS), kEoB2TransferPortraitFramesDOS };
+
+static const byte kEoB2TransferConvertTableDOS[49] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x05, 0x06,
+ 0x0A, 0x00, 0x0B, 0x00, 0x0C, 0x0D, 0x00, 0x0E,
+ 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x00, 0x00,
+ 0x17, 0x18, 0x22, 0x24, 0x23, 0x25, 0x26, 0x27,
+ 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
+ 0x31, 0x30, 0x32, 0x33, 0x00, 0x35, 0x34, 0x36,
+ 0x37
+};
+
+static const ByteProvider kEoB2TransferConvertTableDOSProvider = { ARRAYSIZE(kEoB2TransferConvertTableDOS), kEoB2TransferConvertTableDOS };
+
+static const byte kEoB2TransferItemTableDOS[60] = {
+ 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01,
+ 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
+ 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01,
+ 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00
+};
+
+static const ByteProvider kEoB2TransferItemTableDOSProvider = { ARRAYSIZE(kEoB2TransferItemTableDOS), kEoB2TransferItemTableDOS };
+
+static const uint32 kEoB2TransferExpTableDOS[6] = {
+ 0x000F423F, 0x000B71AF, 0x000DBB9F, 0x0006B6BF, 0x000DBB9F, 0x000DBB9F
+};
+
+static const Uint32Provider kEoB2TransferExpTableDOSProvider = { ARRAYSIZE(kEoB2TransferExpTableDOS), kEoB2TransferExpTableDOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData00DOS[5] = {
+ { 0x01, 0, 208, 16, 1, 1, 0, 0, 0, 0 },
+ { 0x01, 0, 208, 16, 1, 1, 0, 0, 0, 0 },
+ { 0x00, 0, 216, 51, 8, 0, 0, 0, 0, 0 },
+ { 0x06, 3, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData00DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData00DOS), kEoB2IntroAnimData00DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData01DOS[5] = {
+ { 0x01, 1, 184, 8, 1, 1, 0, 0, 0, 0 },
+ { 0x01, 1, 184, 8, 1, 1, 0, 0, 0, 0 },
+ { 0x00, 0, 216, 51, 7, 0, 0, 0, 0, 0 },
+ { 0x06, 4, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData01DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData01DOS), kEoB2IntroAnimData01DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData02DOS[5] = {
+ { 0x01, 2, 216, 51, 1, 0, 0, 0, 0, 0 },
+ { 0x01, 2, 216, 51, 1, 0, 0, 0, 0, 0 },
+ { 0x00, 0, 216, 51, 18, 0, 0, 0, 0, 0 },
+ { 0x06, 6, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData02DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData02DOS), kEoB2IntroAnimData02DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData03DOS[4] = {
+ { 0x00, 0, 0, 0, 1, 2, 0, 0, 0, 0 },
+ { 0x06, 3, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x00, 0, 0, 0, 1, 2, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData03DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData03DOS), kEoB2IntroAnimData03DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData04DOS[3] = {
+ { 0x01, 0, 282, 8, 1, 0, 0, 0, 0, 0 },
+ { 0x01, 0, 282, 8, 1, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData04DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData04DOS), kEoB2IntroAnimData04DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData05DOS[4] = {
+ { 0x00, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
+ { 0x00, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
+ { 0x06, 5, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData05DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData05DOS), kEoB2IntroAnimData05DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData06DOS[16] = {
+ { 0x01, 12, 170, 11, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 12, 188, 38, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 12, 203, 63, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 12, 218, 85, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 12, 232, 107, 2, 0, 0, 0, 0, 0 },
+ { 0x06, 9, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x01, 3, 242, 125, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 4, 240, 125, 3, 0, 0, 0, 0, 0 },
+ { 0x01, 5, 238, 124, 3, 0, 0, 0, 0, 0 },
+ { 0x01, 6, 236, 123, 3, 0, 0, 0, 0, 0 },
+ { 0x01, 7, 232, 121, 3, 0, 0, 0, 0, 0 },
+ { 0x01, 8, 226, 120, 4, 0, 0, 0, 0, 0 },
+ { 0x01, 9, 220, 119, 4, 0, 0, 0, 0, 0 },
+ { 0x01, 10, 241, 115, 4, 0, 0, 0, 0, 0 },
+ { 0x01, 11, 241, 115, 4, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData06DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData06DOS), kEoB2IntroAnimData06DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData07DOS[5] = {
+ { 0x01, 12, 54, 17, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 12, 80, 53, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 12, 104, 87, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 12, 130, 124, 2, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData07DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData07DOS), kEoB2IntroAnimData07DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData08DOS[6] = {
+ { 0x01, 12, 112, 8, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 12, 126, 34, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 12, 142, 60, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 12, 170, 109, 2, 0, 0, 0, 0, 0 },
+ { 0x06, 8, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData08DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData08DOS), kEoB2IntroAnimData08DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData09DOS[4] = {
+ { 0x05, 0, 184, 64, 6, 0, 30, 8, 3, 16 },
+ { 0x05, 0, 184, 64, 6, 0, 33, 8, 3, 16 },
+ { 0x05, 0, 184, 64, 6, 0, 36, 8, 3, 16 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData09DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData09DOS), kEoB2IntroAnimData09DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData10DOS[10] = {
+ { 0x05, 0, 184, 64, 0, 0, 30, 8, 3, 16 },
+ { 0x05, 0, 128, 88, 3, 0, 30, 32, 4, 24 },
+ { 0x05, 0, 128, 88, 3, 0, 34, 32, 4, 24 },
+ { 0x05, 0, 184, 64, 0, 0, 33, 8, 3, 16 },
+ { 0x05, 0, 128, 88, 3, 0, 30, 32, 4, 24 },
+ { 0x05, 0, 128, 88, 3, 0, 34, 32, 4, 24 },
+ { 0x05, 0, 184, 64, 0, 0, 36, 8, 3, 16 },
+ { 0x05, 0, 128, 88, 3, 0, 30, 32, 4, 24 },
+ { 0x05, 0, 128, 88, 3, 0, 34, 32, 4, 24 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData10DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData10DOS), kEoB2IntroAnimData10DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData11DOS[16] = {
+ { 0x03, 15, 36, 48, 1, 1, 0, 0, 0, 0 },
+ { 0x03, 15, 36, 48, 1, 2, 0, 0, 0, 0 },
+ { 0x03, 15, 36, 48, 1, 3, 0, 0, 0, 0 },
+ { 0x03, 15, 36, 48, 1, 4, 0, 0, 0, 0 },
+ { 0x06, 11, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x03, 15, 36, 48, 1, 5, 0, 0, 0, 0 },
+ { 0x03, 15, 36, 48, 1, 6, 0, 0, 0, 0 },
+ { 0x03, 15, 36, 48, 90, 7, 0, 0, 0, 0 },
+ { 0x03, 15, 36, 48, 1, 6, 0, 0, 0, 0 },
+ { 0x03, 15, 36, 48, 1, 5, 0, 0, 0, 0 },
+ { 0x03, 15, 36, 48, 1, 4, 0, 0, 0, 0 },
+ { 0x03, 15, 36, 48, 1, 3, 0, 0, 0, 0 },
+ { 0x03, 15, 36, 48, 1, 2, 0, 0, 0, 0 },
+ { 0x03, 15, 36, 48, 1, 1, 0, 0, 0, 0 },
+ { 0x03, 15, 36, 48, 1, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData11DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData11DOS), kEoB2IntroAnimData11DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData12DOS[3] = {
+ { 0x02, 15, 36, 48, 90, 0, 0, 0, 0, 0 },
+ { 0x07, 15, 36, 48, 0, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData12DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData12DOS), kEoB2IntroAnimData12DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData13DOS[4] = {
+ { 0x06, 10, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 104, 24, 5, 0, 0, 8, 15, 112 },
+ { 0x05, 0, 104, 24, 5, 0, 15, 8, 15, 112 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData13DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData13DOS), kEoB2IntroAnimData13DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData14DOS[6] = {
+ { 0x05, 0, 184, 64, 0, 0, 30, 8, 3, 16 },
+ { 0x05, 0, 104, 72, 5, 0, 10, 120, 10, 64 },
+ { 0x05, 0, 184, 64, 0, 0, 33, 8, 3, 16 },
+ { 0x05, 0, 104, 72, 5, 0, 20, 120, 10, 64 },
+ { 0x05, 0, 184, 64, 0, 0, 36, 8, 3, 16 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData14DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData14DOS), kEoB2IntroAnimData14DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData15DOS[4] = {
+ { 0x05, 0, 104, 0, 8, 0, 0, 0, 13, 200 },
+ { 0x05, 0, 104, 0, 8, 0, 13, 0, 13, 200 },
+ { 0x05, 0, 104, 0, 8, 0, 26, 0, 13, 200 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData15DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData15DOS), kEoB2IntroAnimData15DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData16DOS[11] = {
+ { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 9, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 3, 240, 40, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 6, 112, 72, 6, 0, 0, 0, 0, 0 },
+ { 0x02, 1, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 4, 240, 40, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 7, 112, 72, 6, 0, 0, 0, 0, 0 },
+ { 0x02, 2, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 5, 240, 40, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 8, 112, 72, 6, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData16DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData16DOS), kEoB2IntroAnimData16DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData17DOS[12] = {
+ { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 9, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 3, 240, 40, 6, 0, 0, 0, 0, 0 },
+ { 0x06, 5, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x00, 0, 0, 0, 1, 3, 0, 0, 0, 0 },
+ { 0x00, 0, 0, 0, 1, 3, 0, 0, 0, 0 },
+ { 0x00, 0, 0, 0, 1, 3, 0, 0, 0, 0 },
+ { 0x02, 1, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 4, 240, 40, 6, 0, 0, 0, 0, 0 },
+ { 0x02, 2, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 5, 240, 40, 6, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData17DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData17DOS), kEoB2IntroAnimData17DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData18DOS[8] = {
+ { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 9, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 3, 240, 40, 6, 0, 0, 0, 0, 0 },
+ { 0x02, 1, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 4, 240, 40, 6, 0, 0, 0, 0, 0 },
+ { 0x02, 2, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 5, 240, 40, 6, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData18DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData18DOS), kEoB2IntroAnimData18DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData19DOS[14] = {
+ { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 10, 136, 40, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 9, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 3, 240, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 11, 136, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 12, 136, 40, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 1, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 4, 240, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 13, 136, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 10, 136, 40, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 2, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 5, 240, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 13, 136, 40, 3, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData19DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData19DOS), kEoB2IntroAnimData19DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData20DOS[14] = {
+ { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 11, 136, 40, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 9, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 3, 240, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 10, 136, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 13, 136, 40, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 1, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 4, 240, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 12, 136, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 11, 136, 40, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 2, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 5, 240, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 13, 136, 40, 3, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData20DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData20DOS), kEoB2IntroAnimData20DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData21DOS[14] = {
+ { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 14, 136, 40, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 9, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 3, 240, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 15, 136, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 16, 136, 40, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 1, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 4, 240, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 17, 136, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 14, 136, 40, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 2, 224, 72, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 5, 240, 40, 3, 0, 0, 0, 0, 0 },
+ { 0x02, 17, 136, 40, 3, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData21DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData21DOS), kEoB2IntroAnimData21DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData22DOS[2] = {
+ { 0x05, 0, 104, 32, 0, 0, 10, 0, 10, 96 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData22DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData22DOS), kEoB2IntroAnimData22DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData23DOS[2] = {
+ { 0x05, 0, 104, 32, 3, 0, 20, 0, 10, 96 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData23DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData23DOS), kEoB2IntroAnimData23DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData24DOS[2] = {
+ { 0x05, 0, 104, 32, 0, 0, 30, 0, 10, 96 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData24DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData24DOS), kEoB2IntroAnimData24DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData25DOS[2] = {
+ { 0x05, 0, 104, 32, 0, 0, 0, 96, 10, 96 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData25DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData25DOS), kEoB2IntroAnimData25DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData26DOS[2] = {
+ { 0x05, 0, 104, 32, 3, 0, 10, 96, 10, 96 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData26DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData26DOS), kEoB2IntroAnimData26DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData27DOS[2] = {
+ { 0x05, 0, 104, 32, 0, 0, 20, 96, 10, 96 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData27DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData27DOS), kEoB2IntroAnimData27DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData28DOS[2] = {
+ { 0x05, 0, 104, 32, 0, 0, 0, 0, 10, 96 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData28DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData28DOS), kEoB2IntroAnimData28DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData29DOS[2] = {
+ { 0x05, 0, 104, 32, 3, 0, 0, 0, 10, 96 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData29DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData29DOS), kEoB2IntroAnimData29DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData30DOS[2] = {
+ { 0x05, 0, 104, 32, 4, 0, 10, 0, 10, 96 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData30DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData30DOS), kEoB2IntroAnimData30DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData31DOS[2] = {
+ { 0x05, 0, 104, 32, 8, 0, 20, 0, 10, 96 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData31DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData31DOS), kEoB2IntroAnimData31DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData32DOS[5] = {
+ { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 176, 56, 3, 0, 19, 136, 2, 8 },
+ { 0x05, 0, 176, 56, 3, 0, 21, 136, 2, 8 },
+ { 0x05, 0, 176, 56, 3, 0, 23, 136, 2, 8 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData32DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData32DOS), kEoB2IntroAnimData32DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData33DOS[14] = {
+ { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 176, 56, 0, 0, 19, 136, 2, 8 },
+ { 0x05, 0, 144, 88, 5, 0, 1, 136, 6, 40 },
+ { 0x05, 0, 176, 56, 0, 0, 21, 136, 2, 8 },
+ { 0x05, 0, 144, 88, 3, 0, 7, 136, 6, 40 },
+ { 0x05, 0, 176, 56, 2, 0, 23, 136, 2, 8 },
+ { 0x05, 0, 144, 88, 3, 0, 13, 136, 6, 40 },
+ { 0x05, 0, 176, 56, 0, 0, 19, 136, 2, 8 },
+ { 0x05, 0, 144, 88, 6, 0, 1, 136, 6, 40 },
+ { 0x05, 0, 176, 56, 0, 0, 21, 136, 2, 8 },
+ { 0x05, 0, 144, 88, 3, 0, 7, 136, 6, 40 },
+ { 0x05, 0, 176, 56, 0, 0, 23, 136, 2, 8 },
+ { 0x05, 0, 144, 88, 3, 0, 1, 136, 6, 40 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData33DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData33DOS), kEoB2IntroAnimData33DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData34DOS[8] = {
+ { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 80, 64, 0, 0, 1, 136, 2, 16 },
+ { 0x05, 0, 248, 64, 3, 0, 7, 136, 2, 16 },
+ { 0x05, 0, 80, 64, 0, 0, 3, 136, 2, 16 },
+ { 0x05, 0, 248, 64, 3, 0, 9, 136, 2, 16 },
+ { 0x05, 0, 80, 64, 0, 0, 5, 136, 2, 16 },
+ { 0x05, 0, 248, 64, 3, 0, 11, 136, 2, 16 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData34DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData34DOS), kEoB2IntroAnimData34DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData35DOS[5] = {
+ { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 16, 48, 0, 0, 0, 152, 14, 48 },
+ { 0x05, 0, 192, 48, 4, 0, 14, 128, 13, 48 },
+ { 0x05, 0, 16, 48, 0, 0, 1, 40, 35, 48 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData35DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData35DOS), kEoB2IntroAnimData35DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData36DOS[6] = {
+ { 0x06, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 168, 24, 3, 0, 0, 128, 2, 32 },
+ { 0x05, 0, 152, 16, 3, 0, 0, 88, 5, 40 },
+ { 0x05, 0, 128, 0, 3, 0, 0, 0, 10, 88 },
+ { 0x05, 0, 104, 0, 3, 0, 13, 0, 14, 88 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData36DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData36DOS), kEoB2IntroAnimData36DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData37DOS[2] = {
+ { 0x05, 0, 104, 0, 0, 0, 13, 0, 13, 200 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData37DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData37DOS), kEoB2IntroAnimData37DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData38DOS[43] = {
+ { 0x03, 17, 36, 48, 0, 1, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 1, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 1, 1, 0, 0, 0, 0 },
+ { 0x03, 17, 36, 48, 0, 2, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 2, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 1, 2, 0, 0, 0, 0 },
+ { 0x03, 17, 36, 48, 0, 3, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 3, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 1, 3, 0, 0, 0, 0 },
+ { 0x03, 17, 36, 48, 0, 4, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 4, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 1, 4, 0, 0, 0, 0 },
+ { 0x03, 17, 36, 48, 0, 5, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 5, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 1, 5, 0, 0, 0, 0 },
+ { 0x03, 17, 36, 48, 0, 6, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 6, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 1, 6, 0, 0, 0, 0 },
+ { 0x03, 17, 36, 48, 0, 7, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 7, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 54, 7, 0, 0, 0, 0 },
+ { 0x03, 17, 36, 48, 0, 6, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 6, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 1, 6, 0, 0, 0, 0 },
+ { 0x03, 17, 36, 48, 0, 5, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 5, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 1, 5, 0, 0, 0, 0 },
+ { 0x03, 17, 36, 48, 0, 4, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 4, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 1, 4, 0, 0, 0, 0 },
+ { 0x03, 17, 36, 48, 0, 3, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 3, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 1, 3, 0, 0, 0, 0 },
+ { 0x03, 17, 36, 48, 0, 2, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 2, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 1, 2, 0, 0, 0, 0 },
+ { 0x03, 17, 36, 48, 0, 1, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 1, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 1, 1, 0, 0, 0, 0 },
+ { 0x03, 17, 36, 48, 0, 0, 0, 0, 0, 0 },
+ { 0x03, 16, 142, 80, 0, 0, 0, 0, 0, 0 },
+ { 0x03, 19, 151, 28, 1, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData38DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData38DOS), kEoB2IntroAnimData38DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData39DOS[7] = {
+ { 0x02, 17, 36, 48, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 16, 142, 80, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 19, 151, 28, 54, 0, 0, 0, 0, 0 },
+ { 0x07, 17, 36, 48, 0, 0, 0, 0, 0, 0 },
+ { 0x07, 16, 142, 80, 0, 0, 0, 0, 0, 0 },
+ { 0x07, 19, 151, 28, 0, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData39DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData39DOS), kEoB2IntroAnimData39DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData40DOS[32] = {
+ { 0x03, 22, 21, 32, 0, 1, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 1, 1, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 2, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 1, 1, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 3, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 1, 2, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 4, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 1, 3, 0, 0, 0, 0 },
+ { 0x06, 11, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 5, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 1, 4, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 6, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 1, 5, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 7, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 18, 6, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 7, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 90, 6, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 6, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 1, 5, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 5, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 1, 4, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 4, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 1, 3, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 3, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 1, 2, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 2, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 1, 1, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 1, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 1, 1, 0, 0, 0, 0 },
+ { 0x03, 22, 21, 32, 0, 0, 0, 0, 0, 0 },
+ { 0x03, 23, 67, 80, 1, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData40DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData40DOS), kEoB2IntroAnimData40DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData41DOS[5] = {
+ { 0x02, 22, 21, 32, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 23, 67, 80, 90, 0, 0, 0, 0, 0 },
+ { 0x07, 22, 21, 32, 0, 0, 0, 0, 0, 0 },
+ { 0x07, 23, 67, 80, 0, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData41DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData41DOS), kEoB2IntroAnimData41DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData42DOS[3] = {
+ { 0x06, 3, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x00, 0, 0, 0, 1, 2, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData42DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData42DOS), kEoB2IntroAnimData42DOS };
+
+static const DarkMoonAnimCommand kEoB2IntroAnimData43DOS[5] = {
+ { 0x06, 5, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x00, 0, 0, 0, 1, 3, 0, 0, 0, 0 },
+ { 0x00, 0, 0, 0, 1, 3, 0, 0, 0, 0 },
+ { 0x00, 0, 0, 0, 1, 3, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2IntroAnimData43DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData43DOS), kEoB2IntroAnimData43DOS };
+
+static const DarkMoonShapeDef kEoB2IntroShapes00DOS[15] = {
+ { 0, 1, 137, 4, 43 },
+ { 1, 5, 137, 4, 54 },
+ { 2, 9, 140, 4, 8 },
+ { 3, 1, 181, 1, 3 },
+ { 4, 9, 154, 1, 3 },
+ { 5, 9, 158, 2, 5 },
+ { 6, 9, 164, 3, 7 },
+ { 7, 9, 172, 3, 11 },
+ { 8, 9, 184, 5, 13 },
+ { 9, 15, 137, 6, 15 },
+ { 10, 15, 153, 2, 21 },
+ { 11, 17, 153, 2, 21 },
+ { 12, 1, 185, 1, 4 },
+ { 13, 1, 190, 1, 1 },
+ { 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonShapeDefProvider kEoB2IntroShapes00DOSProvider = { ARRAYSIZE(kEoB2IntroShapes00DOS), kEoB2IntroShapes00DOS };
+
+static const DarkMoonShapeDef kEoB2IntroShapes01DOS[2] = {
+ { 0, 1, 137, 1, 16 },
+ { 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonShapeDefProvider kEoB2IntroShapes01DOSProvider = { ARRAYSIZE(kEoB2IntroShapes01DOS), kEoB2IntroShapes01DOS };
+
+static const DarkMoonShapeDef kEoB2IntroShapes04DOS[10] = {
+ { 15, 2, 0, 32, 14 },
+ { 16, 5, 16, 5, 8 },
+ { 17, 2, 27, 32, 18 },
+ { 18, 0, 140, 35, 10 },
+ { 19, 21, 16, 3, 8 },
+ { 20, 0, 47, 22, 10 },
+ { 21, 0, 59, 31, 10 },
+ { 22, 0, 71, 35, 39 },
+ { 23, 0, 119, 24, 15 },
+ { 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonShapeDefProvider kEoB2IntroShapes04DOSProvider = { ARRAYSIZE(kEoB2IntroShapes04DOS), kEoB2IntroShapes04DOS };
+
+static const DarkMoonShapeDef kEoB2IntroShapes07DOS[18] = {
+ { -9, 1, 136, 6, 40 },
+ { -1, 7, 136, 6, 40 },
+ { -2, 13, 136, 6, 40 },
+ { 3, 19, 136, 2, 16 },
+ { 4, 21, 136, 2, 16 },
+ { 5, 23, 136, 2, 16 },
+ { 6, 19, 152, 1, 8 },
+ { 7, 20, 152, 1, 8 },
+ { 8, 21, 152, 1, 8 },
+ { -10, 25, 136, 2, 16 },
+ { -11, 27, 136, 2, 16 },
+ { -12, 29, 136, 2, 16 },
+ { -13, 31, 136, 2, 16 },
+ { -14, 25, 152, 2, 16 },
+ { -15, 27, 152, 2, 16 },
+ { -16, 29, 152, 2, 16 },
+ { -17, 31, 152, 2, 16 },
+ { 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonShapeDefProvider kEoB2IntroShapes07DOSProvider = { ARRAYSIZE(kEoB2IntroShapes07DOS), kEoB2IntroShapes07DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData00DOS[11] = {
+ { 0x06, 4, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 136, 8, 8, 0, 5, 136, 11, 48 },
+ { 0x02, 1, 136, 8, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 80, 8, 0, 0, 0, 136, 5, 40 },
+ { 0x06, 5, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 232, 88, 4, 0, 0, 88, 8, 48 },
+ { 0x02, 3, 80, 8, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 232, 88, 4, 0, 8, 88, 8, 48 },
+ { 0x05, 0, 232, 88, 4, 0, 16, 88, 8, 48 },
+ { 0x02, 2, 232, 88, 4, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData00DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData00DOS), kEoB2FinaleAnimData00DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData01DOS[9] = {
+ { 0x06, 4, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 136, 8, 12, 0, 5, 136, 11, 48 },
+ { 0x02, 1, 136, 8, 0, 0, 0, 0, 0, 0 },
+ { 0x06, 5, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 232, 88, 6, 0, 0, 88, 8, 48 },
+ { 0x05, 0, 232, 88, 6, 0, 8, 88, 8, 48 },
+ { 0x05, 0, 232, 88, 6, 0, 16, 88, 8, 48 },
+ { 0x02, 2, 232, 88, 6, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData01DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData01DOS), kEoB2FinaleAnimData01DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData02DOS[4] = {
+ { 0x05, 0, 232, 112, 6, 0, 24, 176, 3, 16 },
+ { 0x05, 0, 232, 112, 6, 0, 27, 176, 3, 16 },
+ { 0x05, 0, 232, 112, 6, 0, 30, 176, 3, 16 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData02DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData02DOS), kEoB2FinaleAnimData02DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData03DOS[6] = {
+ { 0x05, 0, 80, 8, 0, 0, 0, 136, 5, 40 },
+ { 0x05, 0, 232, 112, 3, 0, 24, 176, 3, 16 },
+ { 0x02, 3, 80, 8, 3, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 232, 112, 3, 0, 27, 176, 3, 16 },
+ { 0x05, 0, 232, 112, 3, 0, 30, 176, 3, 16 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData03DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData03DOS), kEoB2FinaleAnimData03DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData04DOS[8] = {
+ { 0x06, 6, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 104, 40, 3, 0, 32, 88, 8, 88 },
+ { 0x05, 0, 104, 40, 3, 0, 32, 0, 8, 88 },
+ { 0x05, 0, 104, 40, 3, 0, 24, 0, 8, 88 },
+ { 0x05, 0, 104, 40, 3, 0, 16, 0, 8, 88 },
+ { 0x05, 0, 104, 40, 3, 0, 0, 0, 8, 88 },
+ { 0x05, 0, 104, 40, 3, 0, 24, 88, 8, 88 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData04DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData04DOS), kEoB2FinaleAnimData04DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData05DOS[7] = {
+ { 0x05, 0, 232, 112, 0, 0, 24, 176, 3, 16 },
+ { 0x05, 0, 128, 40, 4, 0, 33, 176, 2, 16 },
+ { 0x05, 0, 232, 112, 0, 0, 27, 176, 3, 16 },
+ { 0x05, 0, 128, 40, 4, 0, 35, 176, 2, 16 },
+ { 0x05, 0, 232, 112, 0, 0, 30, 176, 3, 16 },
+ { 0x05, 0, 128, 40, 4, 0, 37, 176, 2, 16 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData05DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData05DOS), kEoB2FinaleAnimData05DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData06DOS[2] = {
+ { 0x05, 0, 104, 40, 0, 0, 16, 136, 8, 48 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData06DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData06DOS), kEoB2FinaleAnimData06DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData07DOS[6] = {
+ { 0x05, 0, 208, 80, 4, 0, 0, 128, 6, 56 },
+ { 0x05, 0, 208, 80, 4, 0, 6, 128, 6, 56 },
+ { 0x05, 0, 208, 80, 4, 0, 12, 128, 6, 56 },
+ { 0x05, 0, 208, 80, 4, 0, 18, 128, 6, 56 },
+ { 0x05, 0, 208, 80, 4, 0, 24, 128, 6, 56 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData07DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData07DOS), kEoB2FinaleAnimData07DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData08DOS[3] = {
+ { 0x05, 0, 224, 56, 3, 0, 0, 184, 4, 16 },
+ { 0x05, 0, 224, 56, 0, 0, 4, 184, 4, 16 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData08DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData08DOS), kEoB2FinaleAnimData08DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData09DOS[8] = {
+ { 0x01, 1, -10, 40, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 1, 0, 40, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 1, 10, 40, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 1, 20, 40, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 1, 30, 40, 2, 0, 0, 0, 0, 0 },
+ { 0x01, 1, 40, 40, 2, 0, 0, 0, 0, 0 },
+ { 0x02, 2, 48, 40, 2, 0, 0, 0, 0, 0 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData09DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData09DOS), kEoB2FinaleAnimData09DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData10DOS[14] = {
+ { 0x05, 1, 8, 40, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 1, 280, 96, 0, 0, 24, 160, 4, 40 },
+ { 0x05, 1, 96, 96, 3, 0, 12, 80, 1, 16 },
+ { 0x05, 1, 8, 40, 0, 0, 32, 80, 8, 80 },
+ { 0x05, 1, 280, 96, 0, 0, 28, 160, 4, 40 },
+ { 0x05, 1, 96, 96, 3, 0, 13, 80, 1, 16 },
+ { 0x05, 1, 8, 40, 0, 0, 24, 80, 8, 80 },
+ { 0x05, 1, 280, 96, 0, 0, 32, 160, 4, 40 },
+ { 0x05, 1, 96, 96, 3, 0, 14, 80, 1, 16 },
+ { 0x06, 8, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 1, 40, 32, 0, 0, 0, 40, 16, 40 },
+ { 0x05, 1, 248, 88, 0, 0, 12, 176, 6, 24 },
+ { 0x05, 1, 96, 80, 3, 0, 0, 128, 12, 24 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData10DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData10DOS), kEoB2FinaleAnimData10DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData11DOS[18] = {
+ { 0x05, 1, 40, 32, 0, 0, 16, 40, 16, 40 },
+ { 0x05, 1, 248, 88, 0, 0, 18, 176, 6, 24 },
+ { 0x05, 1, 96, 80, 0, 0, 0, 152, 12, 24 },
+ { 0x05, 1, 8, 40, 0, 0, 24, 80, 8, 80 },
+ { 0x05, 1, 280, 96, 0, 0, 32, 160, 4, 40 },
+ { 0x05, 1, 96, 96, 0, 0, 14, 80, 1, 16 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0x05, 1, 8, 40, 0, 0, 24, 80, 8, 80 },
+ { 0x05, 1, 280, 96, 0, 0, 32, 160, 4, 40 },
+ { 0x05, 1, 96, 96, 3, 0, 14, 80, 1, 16 },
+ { 0x05, 1, 8, 40, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 1, 280, 96, 0, 0, 24, 160, 4, 40 },
+ { 0x05, 1, 96, 96, 3, 0, 12, 80, 1, 16 },
+ { 0x05, 1, 8, 40, 0, 0, 16, 80, 8, 80 },
+ { 0x05, 1, 280, 96, 0, 0, 36, 160, 4, 40 },
+ { 0x05, 1, 96, 96, 3, 0, 15, 80, 1, 16 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData11DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData11DOS), kEoB2FinaleAnimData11DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData12DOS[23] = {
+ { 0x05, 1, 40, 32, 0, 0, 16, 40, 16, 40 },
+ { 0x05, 1, 248, 88, 0, 0, 18, 176, 6, 24 },
+ { 0x05, 1, 96, 80, 0, 0, 0, 152, 12, 24 },
+ { 0x05, 1, 8, 40, 0, 0, 24, 80, 8, 80 },
+ { 0x05, 1, 280, 96, 0, 0, 32, 160, 4, 40 },
+ { 0x05, 1, 96, 96, 0, 0, 14, 80, 1, 16 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 2, 168, 16, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 1, 8, 40, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 1, 280, 96, 0, 0, 24, 160, 4, 40 },
+ { 0x05, 1, 96, 96, 3, 0, 12, 80, 1, 16 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 3, 168, 16, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 1, 8, 40, 0, 0, 16, 80, 8, 80 },
+ { 0x05, 1, 280, 96, 0, 0, 36, 160, 4, 40 },
+ { 0x05, 1, 96, 96, 3, 0, 15, 80, 1, 16 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData12DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData12DOS), kEoB2FinaleAnimData12DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData13DOS[23] = {
+ { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 1, 168, 16, 0, 0, 0, 0, 0, 0 },
+ { 0x06, 9, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 1, 40, 32, 0, 0, 0, 0, 16, 40 },
+ { 0x05, 1, 248, 88, 0, 0, 0, 176, 6, 24 },
+ { 0x05, 1, 96, 80, 3, 0, 0, 80, 12, 24 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 3, 168, 16, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 1, 40, 32, 0, 0, 16, 0, 16, 40 },
+ { 0x05, 1, 248, 88, 0, 0, 6, 176, 6, 24 },
+ { 0x05, 1, 96, 80, 3, 0, 0, 104, 12, 24 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 2, 168, 16, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 1, 40, 32, 0, 0, 0, 40, 16, 40 },
+ { 0x05, 1, 248, 88, 0, 0, 12, 176, 6, 24 },
+ { 0x05, 1, 96, 80, 3, 0, 0, 128, 12, 24 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData13DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData13DOS), kEoB2FinaleAnimData13DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData14DOS[24] = {
+ { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 1, 168, 16, 0, 0, 0, 0, 0, 0 },
+ { 0x06, 9, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 1, 40, 32, 0, 0, 0, 0, 16, 40 },
+ { 0x05, 1, 248, 88, 0, 0, 0, 176, 6, 24 },
+ { 0x05, 1, 96, 80, 3, 0, 0, 80, 12, 24 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 3, 168, 16, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 1, 40, 32, 0, 0, 16, 0, 16, 40 },
+ { 0x05, 1, 248, 88, 0, 0, 6, 176, 6, 24 },
+ { 0x05, 1, 96, 80, 3, 0, 0, 104, 12, 24 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 2, 168, 16, 0, 0, 0, 0, 0, 0 },
+ { 0x06, 9, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 1, 40, 32, 0, 0, 0, 40, 16, 40 },
+ { 0x05, 1, 248, 88, 0, 0, 12, 176, 6, 24 },
+ { 0x05, 1, 96, 80, 3, 0, 0, 128, 12, 24 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData14DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData14DOS), kEoB2FinaleAnimData14DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData15DOS[19] = {
+ { 0x05, 1, 40, 32, 0, 0, 0, 0, 16, 40 },
+ { 0x05, 1, 248, 88, 0, 0, 0, 176, 6, 24 },
+ { 0x05, 1, 96, 80, 3, 0, 0, 80, 12, 24 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 3, 168, 16, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 1, 40, 32, 0, 0, 16, 0, 16, 40 },
+ { 0x05, 1, 248, 88, 0, 0, 6, 176, 6, 24 },
+ { 0x05, 1, 96, 80, 3, 0, 0, 104, 12, 24 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0x06, 9, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 1, 40, 32, 0, 0, 0, 40, 16, 40 },
+ { 0x05, 1, 248, 88, 0, 0, 12, 176, 6, 24 },
+ { 0x05, 1, 96, 80, 3, 0, 0, 128, 12, 24 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData15DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData15DOS), kEoB2FinaleAnimData15DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData16DOS[13] = {
+ { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 1, 168, 16, 3, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 2, 168, 16, 3, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x02, 3, 168, 16, 3, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 },
+ { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData16DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData16DOS), kEoB2FinaleAnimData16DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData17DOS[20] = {
+ { 0x05, 0, 168, 16, 1, 0, 0, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 16, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 3, 0, 0, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 1, 0, 0, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 16, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 3, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 1, 0, 16, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 3, 0, 16, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 1, 0, 0, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 16, 0, 16, 80 },
+ { 0x06, 10, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x05, 0, 168, 16, 3, 0, 0, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 1, 0, 16, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 3, 0, 16, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 1, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 16, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 3, 0, 16, 0, 16, 80 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData17DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData17DOS), kEoB2FinaleAnimData17DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData18DOS[28] = {
+ { 0x05, 0, 168, 16, 1, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 3, 0, 16, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 1, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 16, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 3, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 1, 0, 16, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 3, 0, 16, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 1, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 16, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 3, 0, 0, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 1, 0, 0, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 16, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 3, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 1, 0, 16, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 3, 0, 16, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 1, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 16, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 3, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 1, 0, 16, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 3, 0, 16, 0, 16, 80 },
+ { 0x05, 0, 168, 16, 1, 0, 0, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 2, 0, 16, 80, 16, 80 },
+ { 0x05, 0, 168, 16, 0, 0, 16, 80, 16, 80 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData18DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData18DOS), kEoB2FinaleAnimData18DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData19DOS[7] = {
+ { 0x05, 0, 80, 80, 4, 0, 0, 128, 6, 56 },
+ { 0x05, 0, 80, 80, 4, 0, 6, 128, 6, 56 },
+ { 0x05, 0, 80, 80, 4, 0, 12, 128, 6, 56 },
+ { 0x05, 0, 80, 80, 4, 0, 18, 128, 6, 56 },
+ { 0x05, 0, 80, 80, 4, 0, 24, 128, 6, 56 },
+ { 0x05, 0, 80, 80, 4, 0, 30, 128, 6, 56 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData19DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData19DOS), kEoB2FinaleAnimData19DOS };
+
+static const DarkMoonAnimCommand kEoB2FinaleAnimData20DOS[3] = {
+ { 0x05, 0, 96, 56, 3, 0, 0, 184, 4, 16 },
+ { 0x05, 0, 96, 56, 0, 0, 4, 184, 4, 16 },
+ { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData20DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData20DOS), kEoB2FinaleAnimData20DOS };
+
+static const DarkMoonShapeDef kEoB2FinaleShapes00DOS[4] = {
+ { -1, 16, 0, 11, 48 },
+ { -2, 28, 80, 8, 48 },
+ { -3, 9, 0, 5, 40 },
+ { 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonShapeDefProvider kEoB2FinaleShapes00DOSProvider = { ARRAYSIZE(kEoB2FinaleShapes00DOS), kEoB2FinaleShapes00DOS };
+
+static const DarkMoonShapeDef kEoB2FinaleShapes03DOS[3] = {
+ { -1, 30, 0, 8, 96 },
+ { -2, 30, 104, 10, 96 },
+ { 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonShapeDefProvider kEoB2FinaleShapes03DOSProvider = { ARRAYSIZE(kEoB2FinaleShapes03DOS), kEoB2FinaleShapes03DOS };
+
+static const DarkMoonShapeDef kEoB2FinaleShapes07DOS[4] = {
+ { 1, 0, 0, 16, 72 },
+ { 2, 16, 0, 16, 72 },
+ { 3, 0, 72, 16, 72 },
+ { 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonShapeDefProvider kEoB2FinaleShapes07DOSProvider = { ARRAYSIZE(kEoB2FinaleShapes07DOS), kEoB2FinaleShapes07DOS };
+
+static const DarkMoonShapeDef kEoB2FinaleShapes09DOS[9] = {
+ { 0, 0, 0, 32, 16 },
+ { 2, 0, 36, 35, 41 },
+ { 3, 0, 77, 24, 17 },
+ { 4, 0, 94, 15, 33 },
+ { 5, 24, 77, 10, 17 },
+ { 6, 16, 99, 23, 69 },
+ { -10, 0, 136, 8, 64 },
+ { -11, 8, 136, 8, 64 },
+ { 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonShapeDefProvider kEoB2FinaleShapes09DOSProvider = { ARRAYSIZE(kEoB2FinaleShapes09DOS), kEoB2FinaleShapes09DOS };
+
+static const DarkMoonShapeDef kEoB2FinaleShapes10DOS[4] = {
+ { 1, 0, 0, 40, 30 },
+ { 15, 9, 37, 21, 48 },
+ { 16, 16, 88, 6, 56 },
+ { 0, 0, 0, 0, 0 }
+};
+
+static const DarkMoonShapeDefProvider kEoB2FinaleShapes10DOSProvider = { ARRAYSIZE(kEoB2FinaleShapes10DOS), kEoB2FinaleShapes10DOS };
+
+static const byte kEoB2NpcShapeDataDOS[24] = {
+ 0x00, 0x00, 0x00, 0x05, 0x39, 0x00, 0x00, 0xFF,
+ 0x00, 0x00, 0x64, 0x05, 0x4F, 0x00, 0x00, 0xFF,
+ 0x00, 0x00, 0x39, 0x06, 0x2B, 0x00, 0x00, 0xFF
+};
+
+static const ByteProvider kEoB2NpcShapeDataDOSProvider = { ARRAYSIZE(kEoB2NpcShapeDataDOS), kEoB2NpcShapeDataDOS };
+
+static const byte kEoB2ClassModifierFlagsDOS[15] = {
+ 0x01, 0x20, 0x10, 0x02, 0x04, 0x08, 0x05, 0x09,
+ 0x03, 0x0B, 0x0A, 0x0C, 0x07, 0x05, 0x06
+};
+
+static const ByteProvider kEoB2ClassModifierFlagsDOSProvider = { ARRAYSIZE(kEoB2ClassModifierFlagsDOS), kEoB2ClassModifierFlagsDOS };
+
+static const byte kEoB2MonsterStepTable02DOS[8] = {
+ 0xE0, 0xE1, 0x01, 0x21, 0x20, 0x1F, 0xFF, 0xDF
+};
+
+static const ByteProvider kEoB2MonsterStepTable02DOSProvider = { ARRAYSIZE(kEoB2MonsterStepTable02DOS), kEoB2MonsterStepTable02DOS };
+
+static const byte kEoB2MonsterStepTable1DOS[16] = {
+ 0x01, 0xE0, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00,
+ 0x00, 0x00, 0xFF, 0x20, 0xFF, 0x00, 0x00, 0xE0
+};
+
+static const ByteProvider kEoB2MonsterStepTable1DOSProvider = { ARRAYSIZE(kEoB2MonsterStepTable1DOS), kEoB2MonsterStepTable1DOS };
+
+static const byte kEoB2MonsterStepTable2DOS[8] = {
+ 0x07, 0xFA, 0x05, 0xFC, 0x03, 0xFE, 0x01, 0x00
+};
+
+static const ByteProvider kEoB2MonsterStepTable2DOSProvider = { ARRAYSIZE(kEoB2MonsterStepTable2DOS), kEoB2MonsterStepTable2DOS };
+
+static const byte kEoB2MonsterStepTable3DOS[8] = {
+ 0xF9, 0x06, 0xFB, 0x04, 0xFD, 0x02, 0xFF, 0x00
+};
+
+static const ByteProvider kEoB2MonsterStepTable3DOSProvider = { ARRAYSIZE(kEoB2MonsterStepTable3DOS), kEoB2MonsterStepTable3DOS };
+
+static const byte kEoB2MonsterCloseAttPosTable1DOS[4] = {
+ 0x00, 0x01, 0x03, 0x02
+};
+
+static const ByteProvider kEoB2MonsterCloseAttPosTable1DOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttPosTable1DOS), kEoB2MonsterCloseAttPosTable1DOS };
+
+static const byte kEoB2MonsterCloseAttPosTable22DOS[16] = {
+ 0x00, 0x01, 0x02, 0x03, 0x00, 0x02, 0x01, 0x03,
+ 0x00, 0x01, 0x02, 0x03, 0x03, 0x01, 0x02, 0x00
+};
+
+static const ByteProvider kEoB2MonsterCloseAttPosTable22DOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttPosTable22DOS), kEoB2MonsterCloseAttPosTable22DOS };
+
+static const byte kEoB2MonsterCloseAttUnkTableDOS[12] = {
+ 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x00, 0x02, 0xFF, 0x01
+};
+
+static const ByteProvider kEoB2MonsterCloseAttUnkTableDOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttUnkTableDOS), kEoB2MonsterCloseAttUnkTableDOS };
+
+static const byte kEoB2MonsterCloseAttChkTable1DOS[16] = {
+ 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00
+};
+
+static const ByteProvider kEoB2MonsterCloseAttChkTable1DOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttChkTable1DOS), kEoB2MonsterCloseAttChkTable1DOS };
+
+static const byte kEoB2MonsterCloseAttChkTable2DOS[16] = {
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01,
+ 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00
+};
+
+static const ByteProvider kEoB2MonsterCloseAttChkTable2DOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttChkTable2DOS), kEoB2MonsterCloseAttChkTable2DOS };
+
+static const byte kEoB2MonsterCloseAttDstTable1DOS[16] = {
+ 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00,
+ 0x00, 0x01, 0x02, 0x03, 0x03, 0x00, 0x01, 0x02
+};
+
+static const ByteProvider kEoB2MonsterCloseAttDstTable1DOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttDstTable1DOS), kEoB2MonsterCloseAttDstTable1DOS };
+
+static const byte kEoB2MonsterCloseAttDstTable2DOS[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 kEoB2MonsterCloseAttDstTable2DOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttDstTable2DOS), kEoB2MonsterCloseAttDstTable2DOS };
+
+static const byte kEoB2MonsterProximityTableDOS[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 kEoB2MonsterProximityTableDOSProvider = { ARRAYSIZE(kEoB2MonsterProximityTableDOS), kEoB2MonsterProximityTableDOS };
+
+static const byte kEoB2FindBlockMonstersTableDOS[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 kEoB2FindBlockMonstersTableDOSProvider = { ARRAYSIZE(kEoB2FindBlockMonstersTableDOS), kEoB2FindBlockMonstersTableDOS };
+
+static const byte kEoB2MonsterDirChangeTableDOS[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 kEoB2MonsterDirChangeTableDOSProvider = { ARRAYSIZE(kEoB2MonsterDirChangeTableDOS), kEoB2MonsterDirChangeTableDOS };
+
+static const uint16 kEoB2EncodeMonsterDefsDOS[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 kEoB2EncodeMonsterDefsDOSProvider = { ARRAYSIZE(kEoB2EncodeMonsterDefsDOS), kEoB2EncodeMonsterDefsDOS };
+
+static const EoBCharacter kEoB2NpcPresetsDOS[6] = {
+ { 0x00, 0x01, "Insal",
+ 15, 15, 0, 0, 13, 13, 11, 11, 17, 17, 16, 16, 9, 9,
+ 3, 39, 10, 0, 10, 5, 5, -1, 8, { 6, 0, 0 },
+ { 0x00006ADA, 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, "Calandra",
+ 18, 18, 36, 36, 13, 13, 8, 8, 15, 15, 16, 16, 14, 14,
+ 4, 76, 10, 0, 1, 0, 2, -2, 12, { 9, 0, 0 },
+ { 0x0003DF35, 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, "Shorn",
+ 15, 15, 0, 0, 14, 14, 13, 13, 14, 14, 13, 13, 16, 16,
+ 40, 40, 10, 0, 6, 4, 3, -3, 100, { 8, 0, 0 },
+ { 0x00021730, 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, "San-raal",
+ 11, 11, 0, 0, 18, 18, 13, 13, 14, 14, 16, 16, 9, 9,
+ 28, 28, 10, 0, 2, 3, 5, -4, 100, { 8, 0, 0 },
+ { 0x00017AF0, 0x00000000, 0x00000000 }, 0x096B4566,
+ { 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, "Tanglor",
+ 16, 16, 0, 0, 13, 13, 16, 16, 15, 15, 11, 11, 12, 12,
+ 53, 53, 9, 0, 4, 6, 1, -5, 100, { 7, 7, 0 },
+ { 0x00010FC2, 0x00010FC2, 0x00000000 }, 0xFFFFFFFF,
+ { 0x0004, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0024, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000 } },
+ { 0x00, 0x01, "Amber",
+ 14, 14, 0, 0, 17, 17, 12, 12, 18, 18, 9, 9, 17, 17,
+ 36, 36, 10, 0, 3, 10, 1, -6, 100, { 7, 7, 0 },
+ { 0x0000FAE6, 0x0000FAE6, 0x00000000 }, 0x00294566,
+ { 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 kEoB2NpcPresetsDOSProvider = { ARRAYSIZE(kEoB2NpcPresetsDOS), kEoB2NpcPresetsDOS };
+
+static const byte kEoB2DreamStepsDOS[14] = {
+ 0x01, 0x02, 0x03, 0x02, 0x01, 0x00, 0x01, 0x02,
+ 0x03, 0x03, 0x02, 0x01, 0x00, 0xFF
+};
+
+static const ByteProvider kEoB2DreamStepsDOSProvider = { ARRAYSIZE(kEoB2DreamStepsDOS), kEoB2DreamStepsDOS };
+
+static const byte kEoB2HornSoundsDOS[4] = {
+ 0x40, 0x41, 0x42, 0x43
+};
+
+static const ByteProvider kEoB2HornSoundsDOSProvider = { ARRAYSIZE(kEoB2HornSoundsDOS), kEoB2HornSoundsDOS };
+
+static const uint16 kEoB2WallOfForceDsXDOS[18] = {
+ 0xFFCC, 0xFFF4, 0x001C, 0x0044, 0x006C, 0x0094, 0x00BC, 0xFFB8,
+ 0xFFF8, 0x0038, 0x0078, 0x00B8, 0xFFC8, 0x0028, 0x0088, 0x0000,
+ 0x0000, 0x0000
+};
+
+static const Uint16Provider kEoB2WallOfForceDsXDOSProvider = { ARRAYSIZE(kEoB2WallOfForceDsXDOS), kEoB2WallOfForceDsXDOS };
+
+static const byte kEoB2WallOfForceDsYDOS[3] = {
+ 0x20, 0x18, 0x10
+};
+
+static const ByteProvider kEoB2WallOfForceDsYDOSProvider = { ARRAYSIZE(kEoB2WallOfForceDsYDOS), kEoB2WallOfForceDsYDOS };
+
+static const byte kEoB2WallOfForceNumWDOS[3] = {
+ 0x01, 0x02, 0x03
+};
+
+static const ByteProvider kEoB2WallOfForceNumWDOSProvider = { ARRAYSIZE(kEoB2WallOfForceNumWDOS), kEoB2WallOfForceNumWDOS };
+
+static const byte kEoB2WallOfForceNumHDOS[3] = {
+ 0x02, 0x06, 0x09
+};
+
+static const ByteProvider kEoB2WallOfForceNumHDOSProvider = { ARRAYSIZE(kEoB2WallOfForceNumHDOS), kEoB2WallOfForceNumHDOS };
+
+static const byte kEoB2WallOfForceShpIdDOS[3] = {
+ 0x04, 0x02, 0x00
+};
+
+static const ByteProvider kEoB2WallOfForceShpIdDOSProvider = { ARRAYSIZE(kEoB2WallOfForceShpIdDOS), kEoB2WallOfForceShpIdDOS };
+
+static const byte kEoB2DscShapeIndexDOS[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 kEoB2DscShapeIndexDOSProvider = { ARRAYSIZE(kEoB2DscShapeIndexDOS), kEoB2DscShapeIndexDOS };
+
+static const uint16 kEoB2DscXDOS[18] = {
+ 0xFF70, 0xFFA0, 0xFFD0, 0x0000, 0x0030, 0x0060, 0x0090, 0xFF60,
+ 0xFFB0, 0x0000, 0x0050, 0x00A0, 0xFF80, 0x0000, 0x0080, 0x0000,
+ 0x0000, 0x0000
+};
+
+static const Uint16Provider kEoB2DscXDOSProvider = { ARRAYSIZE(kEoB2DscXDOS), kEoB2DscXDOS };
+
+static const byte kEoB2DscTileIndexDOS[18] = {
+ 0x00, 0x06, 0x01, 0x05, 0x02, 0x04, 0x03, 0x07,
+ 0x0B, 0x08, 0x0A, 0x09, 0x0C, 0x0E, 0x0D, 0x0F,
+ 0x11, 0x10
+};
+
+static const ByteProvider kEoB2DscTileIndexDOSProvider = { ARRAYSIZE(kEoB2DscTileIndexDOS), kEoB2DscTileIndexDOS };
+
+static const byte kEoB2DscUnk2DOS[23] = {
+ 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x0D, 0x0D, 0x0D,
+ 0x0D, 0x0D, 0x12, 0x12, 0x12, 0x12, 0x12
+};
+
+static const ByteProvider kEoB2DscUnk2DOSProvider = { ARRAYSIZE(kEoB2DscUnk2DOS), kEoB2DscUnk2DOS };
+
+static const byte kEoB2DscDimData1DOS[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 kEoB2DscDimData1DOSProvider = { ARRAYSIZE(kEoB2DscDimData1DOS), kEoB2DscDimData1DOS };
+
+static const byte kEoB2DscDimData2DOS[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 kEoB2DscDimData2DOSProvider = { ARRAYSIZE(kEoB2DscDimData2DOS), kEoB2DscDimData2DOS };
+
+static const byte kEoB2DscBlockMapDOS[12] = {
+ 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00,
+ 0x03, 0x00, 0x01, 0x02
+};
+
+static const ByteProvider kEoB2DscBlockMapDOSProvider = { ARRAYSIZE(kEoB2DscBlockMapDOS), kEoB2DscBlockMapDOS };
+
+static const byte kEoB2DscDimMapDOS[18] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03,
+ 0x03, 0x03
+};
+
+static const ByteProvider kEoB2DscDimMapDOSProvider = { ARRAYSIZE(kEoB2DscDimMapDOS), kEoB2DscDimMapDOS };
+
+static const byte kEoB2DscBlockIndexDOS[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 kEoB2DscBlockIndexDOSProvider = { ARRAYSIZE(kEoB2DscBlockIndexDOS), kEoB2DscBlockIndexDOS };
+