aboutsummaryrefslogtreecommitdiff
path: root/devtools/create_kyradat/resources/lol_fmtowns.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/lol_fmtowns.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/lol_fmtowns.h')
-rw-r--r--devtools/create_kyradat/resources/lol_fmtowns.h1600
1 files changed, 1600 insertions, 0 deletions
diff --git a/devtools/create_kyradat/resources/lol_fmtowns.h b/devtools/create_kyradat/resources/lol_fmtowns.h
new file mode 100644
index 0000000000..8c9fabf128
--- /dev/null
+++ b/devtools/create_kyradat/resources/lol_fmtowns.h
@@ -0,0 +1,1600 @@
+static const char *const kLoLIngamePakFilesFMTowns[11] = {
+ "VOC.PAK",
+ "GENERAL.PAK",
+ "CHAPTER1.PAK",
+ "CHAPTER2.PAK",
+ "CHAPTER3.PAK",
+ "CHAPTER4.PAK",
+ "CHAPTER5.PAK",
+ "CHAPTER6.PAK",
+ "CHAPTER7.PAK",
+ "CHAPTER8.PAK",
+ "TMUS.PAK"
+};
+
+static const StringListProvider kLoLIngamePakFilesFMTownsProvider = { ARRAYSIZE(kLoLIngamePakFilesFMTowns), kLoLIngamePakFilesFMTowns };
+
+static const char *const kLoLIngameSfxFilesFMTowns[230] = {
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "XXXXXXXX",
+ "DOORMTOP",
+ "DOORMTCL",
+ "PMETLHI",
+ "SWING6",
+ "MDAMAGE2",
+ "LEVERDN",
+ "LEVERUP",
+ "MTLDRSLM",
+ "DOORWDOP",
+ "DOORWDCL",
+ "KEYOPEN",
+ "KEYLOCK",
+ "PORTCUL",
+ "PORTCULD",
+ "LOKPICK",
+ "OCEAN2",
+ "NUNCHUK",
+ "SWING",
+ "SHWING1",
+ "SWING6",
+ "THROW",
+ "CROSSBOW",
+ "HEAL1",
+ "FIRESPL1",
+ "PRESSIN",
+ "PRESSOUT",
+ "PLATEON",
+ "PLATEOFF",
+ "DORWDSLM",
+ "LITENIN1",
+ "ICESPEL2",
+ "SPELL4B",
+ "SHIELD1",
+ "3BOLTC",
+ "2BOLTC",
+ "1BOLTC",
+ "DAWNSPL1",
+ "HEALKING",
+ "SPELL7",
+ "SWING1",
+ "EXPLODE",
+ "CROWCAW",
+ "MORPH2",
+ "CHEST",
+ "MONEY",
+ "SPELBK2",
+ "AUTOMAP",
+ "MINECRT3",
+ "CREAK1",
+ "TURNPAG2",
+ "POLGULP1",
+ "GOOEY1",
+ "BUCKBELL",
+ "KEEPXIT2",
+ "VSCREAM4",
+ "EMPTY",
+ "GOOEY1",
+ "GOOEY2",
+ "RIPPOD4",
+ "PODSKEL1",
+ "INVISO",
+ "OPENBOX2",
+ "ACCEPT2",
+ "BOW2",
+ "HACHUCKM",
+ "FOUNDRY2",
+ "FOUNDRY2",
+ "FOUNDRY4",
+ "FOUNDRY6",
+ "CLEANGL1",
+ "CLEANGL2",
+ "GLOWY1",
+ "DORSTNOP",
+ "DORSTNCL",
+ "EMPTY",
+ "EMPTY",
+ "EMPTY",
+ "EMPTY",
+ "ADAMAGE1",
+ "HDAMAGE1",
+ "TDAMAGE1",
+ "BDAMAGE1",
+ "LDAMAGE1",
+ "TDAMAGE2",
+ "CDAMAGE1",
+ "EMPTY",
+ "EMPTY",
+ "EMPTY",
+ "GOOD1",
+ "GOOD2",
+ "EMPTY",
+ "EMPTY",
+ "EMPTY",
+ "LITENIN1",
+ "COMPASS2",
+ "KINGDOR1",
+ "GLASBRK2",
+ "FLUTTER3",
+ "NUNCHUK",
+ "WALLFALL",
+ "WALLHIT",
+ "MWHOA1",
+ "LADDER",
+ "WHITTL3",
+ "ROWBOAT1",
+ "HORSEY2",
+ "SNORT",
+ "PUMPDOR1",
+ "PUMPSM2",
+ "PUMPSM3",
+ "SPARK1",
+ "BEZEL",
+ "SWARM",
+ "CHEST",
+ "WRIT1",
+ "CAUSFOG",
+ "VAELAN2",
+ "ROARSPL1",
+ "RATTLER",
+ "WINK1",
+ "HANDFATE",
+ "QUAKE1",
+ "WIZLAMP1",
+ "SAP2",
+ "MSTDOOM1",
+ "GARDIAN1",
+ "VORTEX1",
+ "LION1",
+ "STEAM",
+ "SQUAWCK",
+ "SLIDEMUG",
+ "SPARKHIT",
+ "SPARKHIT2",
+ "SPARKHIT3",
+ "ICEFORM",
+ "ICEXPLOD",
+ "EXPLODE2",
+ "EXPLODE3",
+ "BOLTQUK2",
+ "BOLT2",
+ "BOLT3",
+ "SNKBITE",
+ "HANDGLOW",
+ "MSTDOOM2",
+ "MSTDOOM3",
+ "GARDIAN2",
+ "PLUSPOWR",
+ "MINSPOWR",
+ "BLUDCURL",
+ "LORAGASP",
+ "POURH2O",
+ "AWHOA2",
+ "HWHOA1",
+ "CWHOA1",
+ "AFALL2",
+ "EMPTY",
+ "CFALL2",
+ "MFALL2",
+ "EMPTY",
+ "EMPTY",
+ "EMPTY",
+ "EMPTY",
+ "EMPTY",
+ "EMPTY",
+ "EMPTY",
+ "EMPTY",
+ "WRIT2",
+ "WRIT3",
+ "WRIT4",
+ "WRIT5",
+ "WRIT6",
+ "RUCKUS1",
+ "RUCKUS3",
+ "CHANT1",
+ "EMPTY",
+ "EMPTY",
+ "EMPTY",
+ "CHANT2",
+ "CHANT3",
+ ""
+};
+
+static const StringListProvider kLoLIngameSfxFilesFMTownsProvider = { ARRAYSIZE(kLoLIngameSfxFilesFMTowns), kLoLIngameSfxFilesFMTowns };
+
+static const byte kLoLIngameSfxIndexFMTowns[1000] = {
+ 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+ 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+ 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+ 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+ 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+ 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+ 0x34, 0x00, 0x6F, 0x00, 0x7C, 0x00, 0x00, 0x00,
+ 0x7D, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00,
+ 0x7F, 0x00, 0x00, 0x00, 0x36, 0x00, 0x73, 0x00,
+ 0x35, 0x00, 0x9C, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
+ 0x80, 0x00, 0x73, 0x00, 0x81, 0x00, 0x73, 0x00,
+ 0x82, 0x00, 0x73, 0x00, 0x83, 0x00, 0x73, 0x00,
+ 0x84, 0x00, 0x73, 0x00, 0x85, 0x00, 0x73, 0x00,
+ 0x86, 0x00, 0x73, 0x00, 0xD7, 0x00, 0x76, 0x00,
+ 0x87, 0x00, 0x65, 0x00, 0x38, 0x00, 0x5F, 0x00,
+ 0x37, 0x00, 0x5F, 0x00, 0x32, 0x00, 0x0A, 0x00,
+ 0x33, 0x00, 0x64, 0x00, 0x39, 0x00, 0x65, 0x00,
+ 0x3A, 0x00, 0x0A, 0x00, 0x3B, 0x00, 0x14, 0x00,
+ 0x4E, 0x00, 0x65, 0x00, 0x7A, 0x00, 0x64, 0x00,
+ 0x7B, 0x00, 0x64, 0x00, 0x88, 0x00, 0x65, 0x00,
+ 0x3C, 0x00, 0x65, 0x00, 0x3D, 0x00, 0x64, 0x00,
+ 0x89, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x14, 0x00,
+ 0x3E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
+ 0x40, 0x00, 0x65, 0x00, 0x41, 0x00, 0x00, 0x00,
+ 0xC9, 0x00, 0x72, 0x00, 0xCA, 0x00, 0x72, 0x00,
+ 0xCB, 0x00, 0x72, 0x00, 0xCC, 0x00, 0x74, 0x00,
+ 0xCD, 0x00, 0x74, 0x00, 0xCE, 0x00, 0x74, 0x00,
+ 0xCF, 0x00, 0x74, 0x00, 0xD0, 0x00, 0x73, 0x00,
+ 0xD1, 0x00, 0x73, 0x00, 0xD2, 0x00, 0x73, 0x00,
+ 0xD3, 0x00, 0x73, 0x00, 0xD4, 0x00, 0x72, 0x00,
+ 0xD5, 0x00, 0x72, 0x00, 0xD6, 0x00, 0x72, 0x00,
+ 0x42, 0x00, 0x6F, 0x00, 0x43, 0x00, 0x6F, 0x00,
+ 0x44, 0x00, 0x6F, 0x00, 0x45, 0x00, 0x6F, 0x00,
+ 0x46, 0x00, 0x6F, 0x00, 0x47, 0x00, 0x6F, 0x00,
+ 0x48, 0x00, 0x77, 0x00, 0x49, 0x00, 0x89, 0xFF,
+ 0x4F, 0x00, 0x89, 0xFF, 0x50, 0x00, 0x89, 0xFF,
+ 0xA0, 0x00, 0x8A, 0xFF, 0xA1, 0x00, 0x89, 0xFF,
+ 0xA2, 0x00, 0x89, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
+ 0xA3, 0x00, 0x89, 0xFF, 0xA4, 0x00, 0x89, 0xFF,
+ 0x4A, 0x00, 0x13, 0x00, 0x4B, 0x00, 0x13, 0x00,
+ 0x4C, 0x00, 0x32, 0x00, 0x4D, 0x00, 0x32, 0x00,
+ 0x5F, 0x00, 0x0A, 0x00, 0x51, 0x00, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00,
+ 0x53, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
+ 0x55, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00,
+ 0x57, 0x00, 0x00, 0x00, 0x58, 0x00, 0x77, 0x00,
+ 0x60, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x6A, 0x00,
+ 0x8A, 0x00, 0x6F, 0x00, 0x8B, 0x00, 0x6F, 0x00,
+ 0x8C, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00,
+ 0x5A, 0x00, 0x77, 0x00, 0x5C, 0x00, 0x00, 0x00,
+ 0x5B, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x6F, 0x00,
+ 0x61, 0x00, 0x76, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+ 0x62, 0x00, 0x76, 0x00, 0x63, 0x00, 0x3C, 0x00,
+ 0x64, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00,
+ 0x66, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00,
+ 0x68, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00,
+ 0x6A, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00,
+ 0x6C, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00,
+ 0x6E, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00,
+ 0x70, 0x00, 0x88, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
+ 0x71, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00,
+ 0x73, 0x00, 0x74, 0x00, 0x74, 0x00, 0x00, 0x00,
+ 0x75, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00,
+ 0x77, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00,
+ 0x79, 0x00, 0x77, 0x00, 0x90, 0x00, 0x00, 0x00,
+ 0x91, 0x00, 0x00, 0x00, 0x92, 0x00, 0x77, 0x00,
+ 0x93, 0x00, 0x1E, 0x00, 0x94, 0x00, 0x89, 0xFF,
+ 0x95, 0x00, 0x77, 0x00, 0x96, 0x00, 0x76, 0x00,
+ 0x97, 0x00, 0x72, 0x00, 0x98, 0x00, 0x00, 0x00,
+ 0x99, 0x00, 0x50, 0x00, 0x9A, 0x00, 0x78, 0x00,
+ 0x9B, 0x00, 0x64, 0x00, 0x9C, 0x00, 0x5A, 0x00,
+ 0x9D, 0x00, 0x64, 0x00, 0x9E, 0x00, 0x65, 0x00,
+ 0x9F, 0x00, 0x66, 0x00, 0xA5, 0x00, 0x89, 0xFF,
+ 0xA6, 0x00, 0x89, 0xFF, 0xA7, 0x00, 0x77, 0x00,
+ 0xA8, 0x00, 0x76, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+ 0xA9, 0x00, 0x77, 0x00, 0xAA, 0x00, 0x77, 0x00,
+ 0xAB, 0x00, 0x77, 0x00, 0xAC, 0x00, 0x77, 0x00,
+ 0xAD, 0x00, 0x77, 0x00, 0xAE, 0x00, 0x77, 0x00,
+ 0xAF, 0x00, 0x76, 0x00, 0xB0, 0x00, 0x77, 0x00,
+ 0xB1, 0x00, 0x64, 0x00, 0xB2, 0x00, 0x6F, 0x00,
+ 0xB3, 0x00, 0x6E, 0x00, 0xB4, 0x00, 0x6E, 0x00,
+ 0xB5, 0x00, 0x77, 0x00, 0xB6, 0x00, 0x77, 0x00,
+ 0xB7, 0x00, 0x77, 0x00, 0xB8, 0x00, 0x76, 0x00,
+ 0xB9, 0x00, 0x77, 0x00, 0xBA, 0x00, 0x77, 0x00,
+ 0xBB, 0x00, 0x77, 0x00, 0xBC, 0x00, 0x77, 0x00,
+ 0xBD, 0x00, 0x77, 0x00, 0xBE, 0x00, 0x77, 0x00,
+ 0xBF, 0x00, 0x77, 0x00, 0xC0, 0x00, 0x76, 0x00,
+ 0xC1, 0x00, 0x77, 0x00, 0xC2, 0x00, 0x77, 0x00,
+ 0xC3, 0x00, 0x77, 0x00, 0xC4, 0x00, 0x6E, 0x00,
+ 0xC5, 0x00, 0x6E, 0x00, 0xC6, 0x00, 0x7D, 0x00,
+ 0xC7, 0x00, 0x78, 0x00, 0xC8, 0x00, 0x78, 0x00,
+ 0xD8, 0x00, 0x77, 0x00, 0xD9, 0x00, 0x77, 0x00,
+ 0xDA, 0x00, 0x77, 0x00, 0xDB, 0x00, 0x77, 0x00,
+ 0xDC, 0x00, 0x77, 0x00, 0xDD, 0x00, 0x78, 0x00,
+ 0xDE, 0x00, 0x78, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+ 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+ 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+ 0xE3, 0x00, 0x77, 0x00, 0xE4, 0x00, 0x77, 0x00,
+ 0xE0, 0x00, 0x1E, 0x00, 0xDF, 0x00, 0x77, 0x00,
+ 0xE1, 0x00, 0x05, 0x00, 0xE2, 0x00, 0x0A, 0x00,
+ 0x00, 0x00, 0x50, 0x00, 0x01, 0x00, 0x50, 0x00,
+ 0x02, 0x00, 0x50, 0x00, 0x03, 0x00, 0x50, 0x00,
+ 0x04, 0x00, 0x50, 0x00, 0x05, 0x00, 0x50, 0x00,
+ 0x06, 0x00, 0x50, 0x00, 0x07, 0x00, 0x50, 0x00,
+ 0x08, 0x00, 0x50, 0x00, 0x09, 0x00, 0x50, 0x00,
+ 0x0A, 0x00, 0x50, 0x00, 0x0B, 0x00, 0x50, 0x00,
+ 0x0C, 0x00, 0x50, 0x00, 0x0D, 0x00, 0x50, 0x00,
+ 0x0E, 0x00, 0x50, 0x00, 0x0F, 0x00, 0x50, 0x00,
+ 0x10, 0x00, 0x50, 0x00, 0x11, 0x00, 0x5A, 0x00,
+ 0x12, 0x00, 0x5A, 0x00, 0x13, 0x00, 0x5A, 0x00,
+ 0x14, 0x00, 0x5A, 0x00, 0x15, 0x00, 0x5A, 0x00,
+ 0x16, 0x00, 0x5A, 0x00, 0x17, 0x00, 0x5A, 0x00,
+ 0x18, 0x00, 0x5A, 0x00, 0x19, 0x00, 0x5A, 0x00,
+ 0x1A, 0x00, 0x5A, 0x00, 0x1B, 0x00, 0x5A, 0x00,
+ 0x1C, 0x00, 0x5A, 0x00, 0x1D, 0x00, 0x5A, 0x00,
+ 0x1E, 0x00, 0x5A, 0x00, 0x1F, 0x00, 0x5A, 0x00,
+ 0x20, 0x00, 0x5A, 0x00, 0x21, 0x00, 0x73, 0x00,
+ 0x22, 0x00, 0x73, 0x00, 0x23, 0x00, 0x73, 0x00,
+ 0x24, 0x00, 0x73, 0x00, 0x25, 0x00, 0x73, 0x00,
+ 0x26, 0x00, 0x73, 0x00, 0x27, 0x00, 0x73, 0x00,
+ 0x28, 0x00, 0x73, 0x00, 0x29, 0x00, 0x73, 0x00,
+ 0x2A, 0x00, 0x73, 0x00, 0x2B, 0x00, 0x50, 0x00,
+ 0x2C, 0x00, 0x5A, 0x00, 0x2D, 0x00, 0x5A, 0x00,
+ 0x2E, 0x00, 0x5A, 0x00, 0x2F, 0x00, 0x5A, 0x00,
+ 0x30, 0x00, 0x5A, 0x00, 0x31, 0x00, 0x5A, 0x00
+};
+
+static const ByteProvider kLoLIngameSfxIndexFMTownsProvider = { ARRAYSIZE(kLoLIngameSfxIndexFMTowns), kLoLIngameSfxIndexFMTowns };
+
+static const SpellProperty kLoLSpellPropertiesFMTowns[10] = {
+ { 16436, { 5, 10, 15, 25 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0100 },
+ { 16437, { 5, 10, 25, 60 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0001 },
+ { 16438, { 8, 15, 30, 80 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0102 },
+ { 16440, { 20, 35, 65, 100 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0103 },
+ { 16441, { 30, 60, 90, 120 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0104 },
+ { 16442, { 30, 60, 90, 150 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0105 },
+ { 16439, { 25, 30, 50, 100 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0106 },
+ { 16443, { 3, 6, 12, 24 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0107 },
+ { 16975, { 15, 15, 15, 15 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0108 },
+ { 16975, { 15, 15, 15, 15 }, 15, 0, { 0, 0, 0, 0 }, 0, 0, 0x0108 }
+};
+
+static const SpellPropertyProvider kLoLSpellPropertiesFMTownsProvider = { ARRAYSIZE(kLoLSpellPropertiesFMTowns), kLoLSpellPropertiesFMTowns };
+
+static const byte kLoLGameShapeMapFMTowns[276] = {
+ 0x15, 0x54, 0x05, 0x35, 0x09, 0x36, 0x00, 0x34,
+ 0x00, 0x34, 0x00, 0x34, 0x00, 0x3A, 0x26, 0x3B,
+ 0x05, 0x35, 0x07, 0x37, 0x18, 0x3E, 0x0D, 0x3C,
+ 0x06, 0x40, 0x06, 0x3D, 0x01, 0x54, 0x01, 0x54,
+ 0x0A, 0x54, 0x0A, 0x54, 0x0A, 0x54, 0x04, 0x54,
+ 0x04, 0x54, 0x2D, 0x54, 0x2D, 0x54, 0x0B, 0x39,
+ 0x24, 0x54, 0x03, 0x38, 0x00, 0x3A, 0x1E, 0x3C,
+ 0x1E, 0x3C, 0x1B, 0x54, 0x14, 0x54, 0x29, 0x54,
+ 0x02, 0x54, 0x0C, 0x54, 0x22, 0x54, 0x21, 0x3F,
+ 0x0D, 0x3C, 0x25, 0x54, 0x1A, 0x3F, 0x04, 0x54,
+ 0x30, 0x54, 0x31, 0x54, 0x32, 0x54, 0x32, 0x54,
+ 0x00, 0x34, 0x00, 0x34, 0x00, 0x34, 0x00, 0x34,
+ 0x17, 0x54, 0x17, 0x54, 0x0E, 0x54, 0x0E, 0x54,
+ 0x0E, 0x54, 0x26, 0x3B, 0x2C, 0x54, 0x21, 0x3F,
+ 0x07, 0x37, 0x27, 0x54, 0x1B, 0x54, 0x1B, 0x54,
+ 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54,
+ 0x1B, 0x54, 0x1B, 0x54, 0x22, 0x54, 0x22, 0x54,
+ 0x16, 0x54, 0x2D, 0x54, 0x3B, 0x54, 0x3B, 0x54,
+ 0x3A, 0x54, 0x17, 0x54, 0x1B, 0x54, 0x1B, 0x54,
+ 0x17, 0x54, 0x0A, 0x54, 0x0A, 0x54, 0x0A, 0x54,
+ 0x1F, 0x54, 0x17, 0x54, 0x27, 0x54, 0x1B, 0x54,
+ 0x1E, 0x3C, 0x2A, 0x54, 0x2F, 0x54, 0x2F, 0x54,
+ 0x2F, 0x54, 0x2F, 0x54, 0x2F, 0x54, 0x2F, 0x54,
+ 0x2C, 0x54, 0x2C, 0x54, 0x2C, 0x54, 0x2C, 0x54,
+ 0x34, 0x54, 0x0F, 0x54, 0x35, 0x41, 0x1B, 0x54,
+ 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x2B, 0x54,
+ 0x1D, 0x54, 0x1D, 0x54, 0x28, 0x54, 0x28, 0x54,
+ 0x28, 0x54, 0x28, 0x54, 0x01, 0x54, 0x14, 0x54,
+ 0x14, 0x54, 0x14, 0x54, 0x14, 0x54, 0x1B, 0x54,
+ 0x27, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54,
+ 0x1B, 0x54, 0x36, 0x54, 0x37, 0x54, 0x38, 0x54,
+ 0x39, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54,
+ 0x1B, 0x54, 0x27, 0x54, 0x2E, 0x54, 0x2E, 0x54,
+ 0x2E, 0x54, 0x2E, 0x54, 0x17, 0x54, 0x01, 0x54,
+ 0x1C, 0x54, 0x1C, 0x54
+};
+
+static const ByteProvider kLoLGameShapeMapFMTownsProvider = { ARRAYSIZE(kLoLGameShapeMapFMTowns), kLoLGameShapeMapFMTowns };
+
+static const byte kLoLSceneItemOffsFMTowns[8] = {
+ 0x00, 0xFE, 0x01, 0xFF, 0x02, 0x00, 0x01, 0xFF
+};
+
+static const ByteProvider kLoLSceneItemOffsFMTownsProvider = { ARRAYSIZE(kLoLSceneItemOffsFMTowns), kLoLSceneItemOffsFMTowns };
+
+static const byte kLoLCharInvIndexFMTowns[5] = {
+ 0x00, 0x00, 0x03, 0x01, 0x02
+};
+
+static const ByteProvider kLoLCharInvIndexFMTownsProvider = { ARRAYSIZE(kLoLCharInvIndexFMTowns), kLoLCharInvIndexFMTowns };
+
+static const byte kLoLCharInvDefsFMTowns[88] = {
+ 0x05, 0x34, 0x50, 0x34, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x05, 0x04, 0x05, 0x1C, 0x50, 0x04, 0x50, 0x1C,
+ 0x05, 0x5D, 0x0F, 0x4E, 0x50, 0x4E, 0x05, 0x19,
+ 0x50, 0x19, 0x05, 0x49, 0x50, 0x49, 0x05, 0x01,
+ 0x05, 0x31, 0x50, 0x01, 0x50, 0x31, 0x05, 0x61,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x34, 0x50, 0x34,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x04, 0x05, 0x1C,
+ 0x50, 0x04, 0x50, 0x1C, 0x05, 0x5D, 0x0F, 0x4E,
+ 0x50, 0x4E, 0x05, 0x34, 0x50, 0x34, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0x05, 0x04, 0x05, 0x1C, 0x50, 0x04,
+ 0x50, 0x1C, 0xFF, 0xFF, 0x0F, 0x4E, 0x50, 0x4E
+};
+
+static const ByteProvider kLoLCharInvDefsFMTownsProvider = { ARRAYSIZE(kLoLCharInvDefsFMTowns), kLoLCharInvDefsFMTowns };
+
+static const uint16 kLoLCharDefsManFMTowns[9] = {
+ 0x0100, 0x0100, 0x0100, 0x0032, 0x0100, 0x0100, 0x0100, 0x0100,
+ 0x0004
+};
+
+static const Uint16Provider kLoLCharDefsManFMTownsProvider = { ARRAYSIZE(kLoLCharDefsManFMTowns), kLoLCharDefsManFMTowns };
+
+static const uint16 kLoLCharDefsWomanFMTowns[9] = {
+ 0x0100, 0x0100, 0x0100, 0x0032, 0x0100, 0x0100, 0x0100, 0x0100,
+ 0x0004
+};
+
+static const Uint16Provider kLoLCharDefsWomanFMTownsProvider = { ARRAYSIZE(kLoLCharDefsWomanFMTowns), kLoLCharDefsWomanFMTowns };
+
+static const uint16 kLoLCharDefsKieranFMTowns[9] = {
+ 0x0180, 0x0080, 0x00C0, 0x0032, 0x0200, 0x00A6, 0x0100, 0x0140,
+ 0x0006
+};
+
+static const Uint16Provider kLoLCharDefsKieranFMTownsProvider = { ARRAYSIZE(kLoLCharDefsKieranFMTowns), kLoLCharDefsKieranFMTowns };
+
+static const uint16 kLoLCharDefsAkshelFMTowns[9] = {
+ 0x00C0, 0x00C0, 0x0140, 0x0032, 0x0100, 0x0180, 0x0180, 0x0100,
+ 0x0004
+};
+
+static const Uint16Provider kLoLCharDefsAkshelFMTownsProvider = { ARRAYSIZE(kLoLCharDefsAkshelFMTowns), kLoLCharDefsAkshelFMTowns };
+
+static const uint32 kLoLExpRequirementsFMTowns[11] = {
+ 0x00000000, 0x000001F4, 0x000005DC, 0x00001388, 0x000061A8, 0x0000C350, 0x00013880, 0x0001D4C0,
+ 0x0002BF20, 0x00041EB0, 0x7FFFFFFF
+};
+
+static const Uint32Provider kLoLExpRequirementsFMTownsProvider = { ARRAYSIZE(kLoLExpRequirementsFMTowns), kLoLExpRequirementsFMTowns };
+
+static const uint16 kLoLMonsterModifiers1FMTowns[3] = {
+ 0x00C0, 0x0100, 0x0180
+};
+
+static const Uint16Provider kLoLMonsterModifiers1FMTownsProvider = { ARRAYSIZE(kLoLMonsterModifiers1FMTowns), kLoLMonsterModifiers1FMTowns };
+
+static const uint16 kLoLMonsterModifiers2FMTowns[3] = {
+ 0x0100, 0x0100, 0x00C0
+};
+
+static const Uint16Provider kLoLMonsterModifiers2FMTownsProvider = { ARRAYSIZE(kLoLMonsterModifiers2FMTowns), kLoLMonsterModifiers2FMTowns };
+
+static const uint16 kLoLMonsterModifiers3FMTowns[3] = {
+ 0x0140, 0x0100, 0x0080
+};
+
+static const Uint16Provider kLoLMonsterModifiers3FMTownsProvider = { ARRAYSIZE(kLoLMonsterModifiers3FMTowns), kLoLMonsterModifiers3FMTowns };
+
+static const byte kLoLMonsterShiftOffsetsFMTowns[32] = {
+ 0x01, 0x01, 0x01, 0x00, 0x01, 0xFF, 0x00, 0xFF,
+ 0x00, 0x00, 0x00, 0x01, 0xFF, 0x01, 0xFF, 0x00,
+ 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x01, 0x01, 0x00, 0x01, 0xFF, 0x00, 0x00
+};
+
+static const ByteProvider kLoLMonsterShiftOffsetsFMTownsProvider = { ARRAYSIZE(kLoLMonsterShiftOffsetsFMTowns), kLoLMonsterShiftOffsetsFMTowns };
+
+static const byte kLoLMonsterDirFlagsFMTowns[16] = {
+ 0x08, 0x14, 0x00, 0x04, 0x04, 0x08, 0x14, 0x00,
+ 0x00, 0x04, 0x08, 0x14, 0x14, 0x00, 0x04, 0x08
+};
+
+static const ByteProvider kLoLMonsterDirFlagsFMTownsProvider = { ARRAYSIZE(kLoLMonsterDirFlagsFMTowns), kLoLMonsterDirFlagsFMTowns };
+
+static const byte kLoLMonsterScaleYFMTowns[30] = {
+ 0x7C, 0x78, 0x74, 0x70, 0x6C, 0x68, 0x65, 0x62,
+ 0x5F, 0x5C, 0x59, 0x56, 0x53, 0x50, 0x4D, 0x4A,
+ 0x48, 0x46, 0x44, 0x43, 0x41, 0x40, 0x3E, 0x3D,
+ 0x3C, 0x3B, 0x3A, 0x39, 0x38, 0x38
+};
+
+static const ByteProvider kLoLMonsterScaleYFMTownsProvider = { ARRAYSIZE(kLoLMonsterScaleYFMTowns), kLoLMonsterScaleYFMTowns };
+
+static const byte kLoLMonsterScaleXFMTowns[29] = {
+ 0x98, 0x98, 0x90, 0x88, 0x80, 0x76, 0x6E, 0x68,
+ 0x62, 0x5C, 0x58, 0x54, 0x50, 0x4A, 0x44, 0x40,
+ 0x3C, 0x38, 0x36, 0x32, 0x30, 0x2C, 0x2A, 0x28,
+ 0x26, 0x24, 0x22, 0x20, 0x20
+};
+
+static const ByteProvider kLoLMonsterScaleXFMTownsProvider = { ARRAYSIZE(kLoLMonsterScaleXFMTowns), kLoLMonsterScaleXFMTowns };
+
+static const uint16 kLoLMonsterScaleWHFMTowns[65] = {
+ 0x0041, 0x0045, 0x0049, 0x004D, 0x0051, 0x0055, 0x0059, 0x005D,
+ 0x0062, 0x0066, 0x006A, 0x006E, 0x0072, 0x0076, 0x007A, 0x007E,
+ 0x0082, 0x0086, 0x008A, 0x008E, 0x0092, 0x0096, 0x009A, 0x009E,
+ 0x00A3, 0x00A7, 0x00AB, 0x00AF, 0x00B3, 0x00B7, 0x00BB, 0x00BF,
+ 0x00C3, 0x00C7, 0x00CB, 0x00CF, 0x00D3, 0x00D7, 0x00DB, 0x00DF,
+ 0x00E4, 0x00E8, 0x00EC, 0x00F0, 0x00F4, 0x00F8, 0x00FC, 0x0100,
+ 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
+ 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
+ 0x0100
+};
+
+static const Uint16Provider kLoLMonsterScaleWHFMTownsProvider = { ARRAYSIZE(kLoLMonsterScaleWHFMTowns), kLoLMonsterScaleWHFMTowns };
+
+static const FlyingObjectShape kLoLFlyingObjectShpFMTowns[13] = {
+ { 0, 0, 1, 0x00, 0x40, },
+ { 2, 2, 3, 0x00, 0x00, },
+ { 4, 4, 4, 0x00, 0x00, },
+ { 5, 5, 5, 0x20, 0x00, },
+ { 6, 6, 6, 0x20, 0x00, },
+ { 7, 7, 7, 0x20, 0x00, },
+ { 9, 8, 15, 0x00, 0x00, },
+ { 11, 10, 12, 0x00, 0x00, },
+ { 12, 12, 12, 0x20, 0x00, },
+ { 14, 13, 15, 0x00, 0x00, },
+ { 16, 16, 16, 0x00, 0x00, },
+ { 17, 17, 17, 0x20, 0x00, },
+ { 18, 18, 18, 0x00, 0x00, }
+};
+
+static const FlyingObjectShapeProvider kLoLFlyingObjectShpFMTownsProvider = { ARRAYSIZE(kLoLFlyingObjectShpFMTowns), kLoLFlyingObjectShpFMTowns };
+
+static const uint16 kLoLInventoryDescFMTowns[11] = {
+ 0x417A, 0x417B, 0x417A, 0x417B, 0x417C, 0x417D, 0x417E, 0x417F,
+ 0x4180, 0x4181, 0x4181
+};
+
+static const Uint16Provider kLoLInventoryDescFMTownsProvider = { ARRAYSIZE(kLoLInventoryDescFMTowns), kLoLInventoryDescFMTowns };
+
+static const char *const kLoLLevelShpListFMTowns[12] = {
+ "KEEP.SHP",
+ "FOREST1.SHP",
+ "MANOR.SHP",
+ "CAVE1.SHP",
+ "SWAMP.SHP",
+ "URBISH.SHP",
+ "MINE1.SHP",
+ "TOWER1.SHP",
+ "YVEL1.SHP",
+ "CATWALK.SHP",
+ "RUIN.SHP",
+ "CIMMERIA.SHP"
+};
+
+static const StringListProvider kLoLLevelShpListFMTownsProvider = { ARRAYSIZE(kLoLLevelShpListFMTowns), kLoLLevelShpListFMTowns };
+
+static const char *const kLoLLevelDatListFMTowns[12] = {
+ "KEEP.DAT",
+ "FOREST1.DAT",
+ "MANOR.DAT",
+ "CAVE1.DAT",
+ "SWAMP.DAT",
+ "URBISH.DAT",
+ "MINE1.DAT",
+ "TOWER1.DAT",
+ "YVEL1.DAT",
+ "CATWALK.DAT",
+ "RUIN.DAT",
+ "CIMMERIA.DAT"
+};
+
+static const StringListProvider kLoLLevelDatListFMTownsProvider = { ARRAYSIZE(kLoLLevelDatListFMTowns), kLoLLevelDatListFMTowns };
+
+static const CompassDef kLoLCompassDefsFMTowns[32] = {
+ { 0, 3, -3, 0x00 },
+ { 1, 3, -3, 0x00 },
+ { 2, 3, -3, 0x00 },
+ { 3, 5, -3, 0x00 },
+ { 4, 5, -3, 0x00 },
+ { 5, 6, -3, 0x00 },
+ { 6, 6, -3, 0x00 },
+ { 7, 6, -3, 0x00 },
+ { 8, 6, -3, 0x00 },
+ { 7, 6, 4, 0x02 },
+ { 6, 6, 4, 0x02 },
+ { 5, 6, 4, 0x02 },
+ { 4, 5, 4, 0x02 },
+ { 3, 5, 4, 0x02 },
+ { 2, 3, 4, 0x02 },
+ { 1, 3, 4, 0x02 },
+ { 0, 3, 4, 0x02 },
+ { 1, 2, 4, 0x03 },
+ { 2, 2, 4, 0x03 },
+ { 3, 0, 4, 0x03 },
+ { 4, 0, 4, 0x03 },
+ { 5, -1, 4, 0x03 },
+ { 6, -1, 4, 0x03 },
+ { 7, -1, 4, 0x03 },
+ { 8, -1, -3, 0x01 },
+ { 7, -1, -3, 0x01 },
+ { 6, -1, -3, 0x01 },
+ { 5, -1, -3, 0x01 },
+ { 4, 0, -3, 0x01 },
+ { 3, 0, -3, 0x01 },
+ { 2, 2, -3, 0x01 },
+ { 1, 2, -3, 0x01 }
+};
+
+static const CompassDefProvider kLoLCompassDefsFMTownsProvider = { ARRAYSIZE(kLoLCompassDefsFMTowns), kLoLCompassDefsFMTowns };
+
+static const byte kLoLStashSetupFMTowns[12] = {
+ 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x03,
+ 0x03, 0x00, 0x01, 0x01
+};
+
+static const ByteProvider kLoLStashSetupFMTownsProvider = { ARRAYSIZE(kLoLStashSetupFMTowns), kLoLStashSetupFMTowns };
+
+static const byte kLoLDscWallsFMTowns[36] = {
+ 0xFF, 0xFF, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF,
+ 0x02, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0x02, 0x01,
+ 0x02, 0x01, 0x02, 0xFF, 0x02, 0x03, 0x02, 0x03,
+ 0x02, 0x01, 0x02, 0xFF, 0x02, 0x03, 0xFF, 0x01,
+ 0x02, 0xFF, 0xFF, 0x03
+};
+
+static const ByteProvider kLoLDscWallsFMTownsProvider = { ARRAYSIZE(kLoLDscWallsFMTowns), kLoLDscWallsFMTowns };
+
+static const byte kLoLDscShapeIndexFMTowns[36] = {
+ 0x03, 0x09, 0x03, 0x08, 0x03, 0x07, 0x03, 0x03,
+ 0x03, 0xF9, 0x03, 0xF8, 0x03, 0xF7, 0x02, 0x09,
+ 0x02, 0x06, 0x02, 0x02, 0x02, 0xFA, 0x02, 0xF7,
+ 0x01, 0x05, 0x01, 0x01, 0x01, 0xFB, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0xFC
+};
+
+static const ByteProvider kLoLDscShapeIndexFMTownsProvider = { ARRAYSIZE(kLoLDscShapeIndexFMTowns), kLoLDscShapeIndexFMTowns };
+
+static const byte kLoLDscOvlMapFMTowns[10] = {
+ 0x00, 0x01, 0x01, 0x01, 0x04, 0x05, 0x05, 0x05,
+ 0x05, 0x04
+};
+
+static const ByteProvider kLoLDscOvlMapFMTownsProvider = { ARRAYSIZE(kLoLDscOvlMapFMTowns), kLoLDscOvlMapFMTowns };
+
+static const uint16 kLoLDscScaleWidthDataFMTowns[36] = {
+ 0x0060, 0x0000, 0x0060, 0x00CE, 0x0060, 0x0055, 0x0060, 0x0000,
+ 0x0060, 0x0055, 0x0060, 0x00CE, 0x0060, 0x0000, 0x00A0, 0x00AE,
+ 0x00A0, 0x00AA, 0x00A0, 0x0000, 0x00A0, 0x00AA, 0x00A0, 0x00AE,
+ 0x0100, 0x0100, 0x0100, 0x0000, 0x0100, 0x0100, 0x0000, 0x0100,
+ 0x0100, 0x0000, 0x0000, 0x0100
+};
+
+static const Uint16Provider kLoLDscScaleWidthDataFMTownsProvider = { ARRAYSIZE(kLoLDscScaleWidthDataFMTowns), kLoLDscScaleWidthDataFMTowns };
+
+static const uint16 kLoLDscScaleHeightDataFMTowns[36] = {
+ 0x006A, 0x0000, 0x006A, 0x006A, 0x006A, 0x006A, 0x006A, 0x0000,
+ 0x006A, 0x006A, 0x006A, 0x006A, 0x006A, 0x0000, 0x00AA, 0x0056,
+ 0x00AA, 0x00AA, 0x00AA, 0x0000, 0x00AA, 0x00AA, 0x00AA, 0x0056,
+ 0x0100, 0x0100, 0x0100, 0x0000, 0x0100, 0x0100, 0x0000, 0x0100,
+ 0x0100, 0x0000, 0x0000, 0x0100
+};
+
+static const Uint16Provider kLoLDscScaleHeightDataFMTownsProvider = { ARRAYSIZE(kLoLDscScaleHeightDataFMTowns), kLoLDscScaleHeightDataFMTowns };
+
+static const uint16 kLoLDscXFMTowns[36] = {
+ 0xFFB0, 0xFFE0, 0xFFE0, 0x0010, 0x0010, 0x0040, 0x0040, 0x0000,
+ 0x0070, 0x0070, 0x00A0, 0x00A0, 0x00D0, 0x00D0, 0xFF86, 0x0000,
+ 0xFFE0, 0x0030, 0x0030, 0x0000, 0x0080, 0x0080, 0x00D0, 0x00B0,
+ 0xFF98, 0x0018, 0x0018, 0x0000, 0x0098, 0x0098, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x00B0, 0x00B0
+};
+
+static const Uint16Provider kLoLDscXFMTownsProvider = { ARRAYSIZE(kLoLDscXFMTowns), kLoLDscXFMTowns };
+
+static const byte kLoLBaseDscYFMTowns[36] = {
+ 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B,
+ 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x14, 0x1C,
+ 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x1C,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00
+};
+
+static const ByteProvider kLoLBaseDscYFMTownsProvider = { ARRAYSIZE(kLoLBaseDscYFMTowns), kLoLBaseDscYFMTowns };
+
+static const byte kLoLDscTileIndexFMTowns[18] = {
+ 0x00, 0x06, 0x01, 0x05, 0x02, 0x04, 0x03, 0x07,
+ 0x0B, 0x08, 0x0A, 0x09, 0x0C, 0x0E, 0x0D, 0x0F,
+ 0x11, 0x10
+};
+
+static const ByteProvider kLoLDscTileIndexFMTownsProvider = { ARRAYSIZE(kLoLDscTileIndexFMTowns), kLoLDscTileIndexFMTowns };
+
+static const byte kLoLDscUnk2FMTowns[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 kLoLDscUnk2FMTownsProvider = { ARRAYSIZE(kLoLDscUnk2FMTowns), kLoLDscUnk2FMTowns };
+
+static const byte kLoLDscDoorShapeIndexFMTowns[23] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
+};
+
+static const ByteProvider kLoLDscDoorShapeIndexFMTownsProvider = { ARRAYSIZE(kLoLDscDoorShapeIndexFMTowns), kLoLDscDoorShapeIndexFMTowns };
+
+static const byte kLoLDscDimData1FMTowns[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, 0xF8, 0x06, 0xD8, 0xD8,
+ 0xFA, 0x03, 0xD8, 0xFD, 0xD8, 0xD8, 0xD8, 0xD8,
+ 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFA, 0xD7,
+ 0x10, 0xD8, 0xFA, 0xD7, 0x10, 0xD8, 0xD8, 0xD8,
+ 0xD8, 0xD8, 0xD8, 0xF2, 0xD8, 0x14, 0xD8, 0xD8,
+ 0xD8, 0xF0, 0x0E, 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, 0xD8, 0xD8,
+ 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD7, 0xD8,
+ 0xD8, 0xD8, 0xD7, 0xD8, 0xD8, 0xD7, 0xD8, 0xD8,
+ 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, 0xFA, 0xD7,
+ 0x10, 0xFD, 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8,
+ 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xF0, 0xD8, 0xD8,
+ 0xD8, 0xED, 0x10, 0xD8, 0xD8, 0x13, 0xD8, 0xD8,
+ 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8,
+ 0xD7, 0xD8, 0xD8, 0xD8, 0xD7, 0xD8, 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 kLoLDscDimData1FMTownsProvider = { ARRAYSIZE(kLoLDscDimData1FMTowns), kLoLDscDimData1FMTowns };
+
+static const byte kLoLDscDimData2FMTowns[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 kLoLDscDimData2FMTownsProvider = { ARRAYSIZE(kLoLDscDimData2FMTowns), kLoLDscDimData2FMTowns };
+
+static const byte kLoLDscBlockMapFMTowns[12] = {
+ 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00,
+ 0x03, 0x00, 0x01, 0x02
+};
+
+static const ByteProvider kLoLDscBlockMapFMTownsProvider = { ARRAYSIZE(kLoLDscBlockMapFMTowns), kLoLDscBlockMapFMTowns };
+
+static const byte kLoLDscDimMapFMTowns[18] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03,
+ 0x03, 0x03
+};
+
+static const ByteProvider kLoLDscDimMapFMTownsProvider = { ARRAYSIZE(kLoLDscDimMapFMTowns), kLoLDscDimMapFMTowns };
+
+static const byte kLoLDscOvlIndexFMTowns[20] = {
+ 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03,
+ 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06,
+ 0x06, 0x07, 0x07, 0x07
+};
+
+static const ByteProvider kLoLDscOvlIndexFMTownsProvider = { ARRAYSIZE(kLoLDscOvlIndexFMTowns), kLoLDscOvlIndexFMTowns };
+
+static const byte kLoLDscBlockIndexFMTowns[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 kLoLDscBlockIndexFMTownsProvider = { ARRAYSIZE(kLoLDscBlockIndexFMTowns), kLoLDscBlockIndexFMTowns };
+
+static const byte kLoLDscDoorY2FMTowns[128] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+ 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0D, 0x08, 0x03, 0x12, 0x0E, 0x09, 0x04, 0x00,
+ 0x13, 0x0F, 0x0A, 0x05, 0x01, 0x14, 0x10, 0x0B,
+ 0x06, 0x02, 0x11, 0x0C, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x14, 0x13, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x0D,
+ 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05,
+ 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0x0C, 0x11, 0x02, 0x06, 0x0B, 0x10, 0x14,
+ 0x01, 0x05, 0x0A, 0x0F, 0x13, 0x00, 0x04, 0x09,
+ 0x0E, 0x12, 0x03, 0x08, 0x0D, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const ByteProvider kLoLDscDoorY2FMTownsProvider = { ARRAYSIZE(kLoLDscDoorY2FMTowns), kLoLDscDoorY2FMTowns };
+
+static const byte kLoLDscDoorFrameY1FMTowns[4] = {
+ 0x1E, 0x18, 0x10, 0x00
+};
+
+static const ByteProvider kLoLDscDoorFrameY1FMTownsProvider = { ARRAYSIZE(kLoLDscDoorFrameY1FMTowns), kLoLDscDoorFrameY1FMTowns };
+
+static const byte kLoLDscDoorFrameY2FMTowns[4] = {
+ 0x3B, 0x47, 0x56, 0x78
+};
+
+static const ByteProvider kLoLDscDoorFrameY2FMTownsProvider = { ARRAYSIZE(kLoLDscDoorFrameY2FMTowns), kLoLDscDoorFrameY2FMTowns };
+
+static const uint16 kLoLDscDoorScaleFMTowns[8] = {
+ 0x0075, 0x006A, 0x00B9, 0x00B2, 0x0100, 0x0100, 0x0000, 0x0000
+};
+
+static const Uint16Provider kLoLDscDoorScaleFMTownsProvider = { ARRAYSIZE(kLoLDscDoorScaleFMTowns), kLoLDscDoorScaleFMTowns };
+
+static const uint16 kLoLDscDoor4FMTowns[4] = {
+ 0x0005, 0x0002, 0x0008, 0x0000
+};
+
+static const Uint16Provider kLoLDscDoor4FMTownsProvider = { ARRAYSIZE(kLoLDscDoor4FMTowns), kLoLDscDoor4FMTowns };
+
+static const uint16 kLoLDscDoorXFMTowns[576] = {
+ 0xFF98, 0xFFA0, 0xFFA8, 0xFF90, 0xFF98, 0xFFA0, 0xFFA8, 0xFFB0,
+ 0xFF74, 0xFF7E, 0xFF88, 0xFF92, 0xFF9C, 0xFF74, 0xFF7E, 0xFF88,
+ 0xFF92, 0xFF9C, 0xFF64, 0xFF70, 0xFF7C, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFB8, 0xFFC0, 0xFFC8, 0xFFB0, 0xFFB8, 0xFFC0, 0xFFC8, 0xFFD0,
+ 0xFF9C, 0xFFA6, 0xFFB0, 0xFFBA, 0xFFC4, 0xFF9C, 0xFFA6, 0xFFB0,
+ 0xFFBA, 0xFFC4, 0xFF94, 0xFFA0, 0xFFAC, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFD8, 0xFFE0, 0xFFE8, 0xFFD0, 0xFFD8, 0xFFE0, 0xFFE8, 0xFFF0,
+ 0xFFC4, 0xFFCE, 0xFFD8, 0xFFE2, 0xFFEC, 0xFFC4, 0xFFCE, 0xFFD8,
+ 0xFFE2, 0xFFEC, 0xFFC4, 0xFFD0, 0xFFDC, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFF8, 0x0000, 0x0008, 0xFFF0, 0xFFF8, 0x0000, 0x0008, 0x0010,
+ 0xFFEC, 0xFFF6, 0x0000, 0x000A, 0x0014, 0xFFEC, 0xFFF6, 0x0000,
+ 0x000A, 0x0014, 0xFFF4, 0x0000, 0x000C, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0018, 0x0020, 0x0028, 0x0010, 0x0018, 0x0020, 0x0028, 0x0030,
+ 0x0014, 0x001E, 0x0028, 0x0032, 0x003C, 0x0014, 0x001E, 0x0028,
+ 0x0032, 0x003C, 0x0024, 0x0030, 0x003C, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0038, 0x0040, 0x0048, 0x0030, 0x0038, 0x0040, 0x0048, 0x0050,
+ 0x003C, 0x0046, 0x0050, 0x005A, 0x0064, 0x003C, 0x0046, 0x0050,
+ 0x005A, 0x0064, 0x0054, 0x0060, 0x006C, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0058, 0x0060, 0x0068, 0x0050, 0x0058, 0x0060, 0x0068, 0x0070,
+ 0x0064, 0x006E, 0x0078, 0x0082, 0x008C, 0x0064, 0x006E, 0x0078,
+ 0x0082, 0x008C, 0x0084, 0x0090, 0x009C, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFF94, 0xFFA0, 0xFFAC, 0xFF7E, 0xFF8B, 0xFF98, 0xFFA5, 0xFFB2,
+ 0xFF6C, 0xFF7B, 0xFF8A, 0xFF99, 0xFFA7, 0xFF60, 0xFF70, 0xFF80,
+ 0xFF90, 0xFFA0, 0xFF4C, 0xFF60, 0xFF74, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFC4, 0xFFD0, 0xFFDC, 0xFFB2, 0xFFBF, 0xFFCC, 0xFFD9, 0xFFE6,
+ 0xFFA7, 0xFFB6, 0xFFC5, 0xFFD4, 0xFFE2, 0xFFA0, 0xFFB0, 0xFFC0,
+ 0xFFD0, 0xFFE0, 0xFF9C, 0xFFB0, 0xFFC4, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFF4, 0x0000, 0x000C, 0xFFE6, 0xFFF3, 0x0000, 0x000D, 0x001A,
+ 0xFFE2, 0xFFF1, 0x0000, 0x000F, 0x001E, 0xFFE0, 0xFFF0, 0x0000,
+ 0x0010, 0x0020, 0xFFEC, 0x0000, 0x0014, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0024, 0x0030, 0x003C, 0x001A, 0x0027, 0x0034, 0x0041, 0x004E,
+ 0x001E, 0x002C, 0x003B, 0x004A, 0x0059, 0x0020, 0x0030, 0x0040,
+ 0x0050, 0x0060, 0x003C, 0x0050, 0x0064, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0054, 0x0060, 0x006C, 0x004E, 0x005B, 0x0068, 0x0075, 0x0082,
+ 0x0059, 0x0067, 0x0076, 0x0085, 0x0094, 0x0060, 0x0070, 0x0080,
+ 0x0090, 0x00A0, 0x008C, 0x00A0, 0x00B4, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFF9C, 0xFFB0, 0xFFC4, 0xFF7C, 0xFF92, 0xFFA8, 0xFFBE, 0xFFD4,
+ 0xFF6D, 0xFF85, 0xFF9E, 0xFFB6, 0xFFCF, 0xFF5E, 0xFF79, 0xFF94,
+ 0xFFAF, 0xFFCA, 0xFF60, 0xFF80, 0xFFA0, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFEC, 0x0000, 0x0014, 0xFFD4, 0xFFEA, 0x0000, 0x0016, 0x002C,
+ 0xFFCF, 0xFFE7, 0x0000, 0x0019, 0x0031, 0xFFCA, 0xFFE5, 0x0000,
+ 0x001B, 0x0036, 0xFFE0, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x003C, 0x0050, 0x0064, 0x002C, 0x0042, 0x0058, 0x006E, 0x0084,
+ 0x0031, 0x004A, 0x0062, 0x007B, 0x0093, 0x0036, 0x0051, 0x006C,
+ 0x0087, 0x00A2, 0x0060, 0x0080, 0x00A0, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFF60, 0xFF80, 0xFFA0, 0xFF1C, 0xFF42, 0xFF68, 0xFF8E, 0xFFB4,
+ 0xFF40, 0xFF60, 0xFF80, 0xFFA0, 0xFFC0, 0xFF1C, 0xFF42, 0xFF68,
+ 0xFF8E, 0xFFB4, 0xFF60, 0xFF80, 0xFFA0, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFE0, 0x0000, 0x0020, 0xFFB4, 0xFFDA, 0x0000, 0x0026, 0x004C,
+ 0xFFC0, 0xFFE0, 0x0000, 0x0020, 0x0040, 0xFFB4, 0xFFDA, 0x0000,
+ 0x0026, 0x004C, 0xFFE0, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0060, 0x0080, 0x00A0, 0x004C, 0x0072, 0x0098, 0x00BE, 0x00E4,
+ 0x0040, 0x0060, 0x0080, 0x00A0, 0x00C0, 0x004C, 0x0072, 0x0098,
+ 0x00BE, 0x00E4, 0x0060, 0x0080, 0x00A0, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
+};
+
+static const Uint16Provider kLoLDscDoorXFMTownsProvider = { ARRAYSIZE(kLoLDscDoorXFMTowns), kLoLDscDoorXFMTowns };
+
+static const uint16 kLoLDscDoorYFMTowns[576] = {
+ 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1,
+ 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5,
+ 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1,
+ 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5,
+ 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1,
+ 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5,
+ 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1,
+ 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5,
+ 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1,
+ 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5,
+ 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1,
+ 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5,
+ 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1,
+ 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5,
+ 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB,
+ 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3,
+ 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB,
+ 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3,
+ 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB,
+ 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3,
+ 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB,
+ 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3,
+ 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB,
+ 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3,
+ 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD,
+ 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA,
+ 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD,
+ 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA,
+ 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD,
+ 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA,
+ 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
+};
+
+static const Uint16Provider kLoLDscDoorYFMTownsProvider = { ARRAYSIZE(kLoLDscDoorYFMTowns), kLoLDscDoorYFMTowns };
+
+static const byte kLoLScrollXTopFMTowns[5] = {
+ 0x05, 0x0A, 0x0F, 0x14, 0x19
+};
+
+static const ByteProvider kLoLScrollXTopFMTownsProvider = { ARRAYSIZE(kLoLScrollXTopFMTowns), kLoLScrollXTopFMTowns };
+
+static const byte kLoLScrollYTopFMTowns[5] = {
+ 0x02, 0x04, 0x07, 0x09, 0x0C
+};
+
+static const ByteProvider kLoLScrollYTopFMTownsProvider = { ARRAYSIZE(kLoLScrollYTopFMTowns), kLoLScrollYTopFMTowns };
+
+static const byte kLoLScrollXBottomFMTowns[5] = {
+ 0x05, 0x0A, 0x0F, 0x14, 0x19
+};
+
+static const ByteProvider kLoLScrollXBottomFMTownsProvider = { ARRAYSIZE(kLoLScrollXBottomFMTowns), kLoLScrollXBottomFMTowns };
+
+static const byte kLoLScrollYBottomFMTowns[5] = {
+ 0x04, 0x08, 0x0C, 0x10, 0x14
+};
+
+static const ByteProvider kLoLScrollYBottomFMTownsProvider = { ARRAYSIZE(kLoLScrollYBottomFMTowns), kLoLScrollYBottomFMTowns };
+
+static const LoLButtonDef kLoLButtonDefsFMTowns[95] = {
+ { 0x1100, 30, 56, 33, 131, 22, 19, 0x0000, 0 },
+ { 0x1100, 31, 53, 33, 150, 22, 18, 0x0000, 0 },
+ { 0x1100, 31, 53, 33, 150, 22, 18, 0x0000, 0 },
+ { 0x1100, 29, 52, 11, 150, 22, 18, 0x0000, 0 },
+ { 0x1100, 28, 54, 53, 150, 22, 18, 0x0000, 0 },
+ { 0x1100, 127, 55, 11, 131, 22, 19, 0x0000, 0 },
+ { 0x1100, 18, 57, 53, 131, 22, 19, 0x0000, 0 },
+ { 0x0100, 49, 0, 80, 143, 22, 17, 0x0000, 0 },
+ { 0x0100, 50, 0, 80, 143, 22, 17, 0x0001, 0 },
+ { 0x0100, 51, 0, 80, 143, 22, 17, 0x0002, 0 },
+ { 0x0100, 48, 0, 80, 143, 22, 17, 0x0003, 0 },
+ { 0x1100, 0, 0, 80, 160, 22, 17, 0x0000, 0 },
+ { 0x1100, 0, 0, 80, 160, 22, 17, 0x0001, 0 },
+ { 0x1100, 0, 0, 80, 160, 22, 17, 0x0002, 0 },
+ { 0x1100, 0, 0, 80, 160, 22, 17, 0x0003, 0 },
+ { 0x1100, 0, 0, 80, 144, 22, 32, 0x0000, 0 },
+ { 0x1100, 27, 0, 0, 0, 320, 200, 0x0003, 0 },
+ { 0x0100, 0, 0, 80, 143, 33, 34, 0x0000, 0 },
+ { 0x0100, 0, 0, 80, 143, 33, 34, 0x0001, 0 },
+ { 0x0100, 0, 0, 80, 143, 33, 34, 0x0002, 0 },
+ { 0x0100, 0, 0, 80, 143, 33, 34, 0x0003, 0 },
+ { 0x0100, 0, 0, 80, 143, 66, 34, 0x0000, 0 },
+ { 0x0100, 0, 0, 80, 143, 66, 34, 0x0001, 0 },
+ { 0x0100, 0, 0, 80, 143, 66, 34, 0x0002, 0 },
+ { 0x0100, 0, 0, 80, 143, 66, 34, 0x0003, 0 },
+ { 0x0100, 0, 0, 80, 143, 12, 34, 0x0000, 0 },
+ { 0x0100, 0, 0, 80, 143, 12, 34, 0x0001, 0 },
+ { 0x0100, 0, 0, 80, 143, 12, 34, 0x0002, 0 },
+ { 0x0100, 0, 0, 80, 143, 12, 34, 0x0003, 0 },
+ { 0x1000, 0, 0, 80, 143, 66, 34, 0x0000, 0 },
+ { 0x1000, 0, 0, 80, 143, 66, 34, 0x0001, 0 },
+ { 0x1000, 0, 0, 80, 143, 66, 34, 0x0002, 0 },
+ { 0x1000, 0, 0, 80, 143, 66, 34, 0x0003, 0 },
+ { 0x1100, 0, 0, 0, 0, 20, 19, 0x0000, 2 },
+ { 0x1100, 0, 0, 0, 0, 20, 19, 0x0001, 2 },
+ { 0x1100, 0, 0, 0, 0, 20, 19, 0x0002, 2 },
+ { 0x1100, 0, 0, 0, 0, 20, 19, 0x0003, 2 },
+ { 0x1100, 0, 0, 0, 0, 20, 19, 0x0004, 2 },
+ { 0x1100, 0, 0, 0, 0, 20, 19, 0x0005, 2 },
+ { 0x1100, 0, 0, 0, 0, 20, 19, 0x0006, 2 },
+ { 0x1100, 0, 0, 0, 0, 20, 19, 0x0007, 2 },
+ { 0x1100, 0, 0, 0, 0, 20, 19, 0x0008, 2 },
+ { 0x1100, 0, 0, 0, 0, 12, 11, 0x0009, 2 },
+ { 0x1100, 0, 0, 0, 0, 12, 11, 0x000A, 2 },
+ { 0x1100, 27, 0, 160, 93, 43, 19, 0x0000, 2 },
+ { 0x1100, 0, 0, 0, 102, 88, 19, 0x0000, 2 },
+ { 0x1100, 0, 0, 88, 102, 88, 19, 0x0001, 2 },
+ { 0x1100, 0, 0, 0, 85, 88, 17, 0x0002, 2 },
+ { 0x1100, 0, 0, 88, 85, 88, 17, 0x0003, 2 },
+ { 0x1100, 0, 0, 0, 0, 176, 120, 0x0000, 2 },
+ { 0x1100, 0, 0, 106, 179, 21, 21, 0x0000, 0 },
+ { 0x1100, 0, 0, 127, 179, 21, 21, 0x0001, 0 },
+ { 0x1100, 0, 0, 148, 179, 21, 21, 0x0002, 0 },
+ { 0x1100, 0, 0, 169, 179, 21, 21, 0x0003, 0 },
+ { 0x1100, 0, 0, 190, 179, 21, 21, 0x0004, 0 },
+ { 0x1100, 0, 0, 211, 179, 21, 21, 0x0005, 0 },
+ { 0x1100, 0, 0, 232, 179, 21, 21, 0x0006, 0 },
+ { 0x1100, 0, 0, 253, 179, 21, 21, 0x0007, 0 },
+ { 0x1100, 0, 0, 274, 179, 21, 21, 0x0008, 0 },
+ { 0x1100, 0, 0, 274, 179, 21, 21, 0x0009, 0 },
+ { 0x1100, 0, 0, 85, 179, 21, 21, 0xFFFF, 0 },
+ { 0x1100, 0, 0, 295, 179, 22, 21, 0x0001, 0 },
+ { 0x1100, 0, 0, 24, 8, 128, 96, 0x0001, 2 },
+ { 0x1100, 0, 0, 0, 0, 176, 120, 0x0000, 2 },
+ { 0x1100, 0, 0, 0, 0, 0, 0, 0x0000, 0 },
+ { 0x1100, 0, 0, 112, 0, 176, 16, 0x0001, 0 },
+ { 0x1100, 0, 0, 112, 110, 176, 26, 0x0001, 0 },
+ { 0x1100, 0, 0, 96, 88, 32, 32, 0x0001, 0 },
+ { 0x1100, 0, 0, 272, 88, 32, 32, 0x0001, 0 },
+ { 0x1100, 0, 0, 96, 16, 32, 72, 0x0001, 0 },
+ { 0x1100, 0, 0, 272, 16, 32, 72, 0x0001, 0 },
+ { 0x1100, 0, 0, 24, 15, 61, 9, 0x0000, 0 },
+ { 0x1100, 0, 0, 24, 24, 61, 9, 0x0000, 0 },
+ { 0x1100, 0, 0, 24, 33, 61, 9, 0x0000, 0 },
+ { 0x1100, 0, 0, 24, 42, 61, 9, 0x0000, 0 },
+ { 0x1100, 0, 0, 24, 51, 61, 9, 0x0000, 0 },
+ { 0x1100, 0, 0, 24, 60, 61, 9, 0x0000, 0 },
+ { 0x1100, 0, 0, 24, 69, 61, 9, 0x0000, 0 },
+ { 0x1100, 0, 0, 24, 78, 61, 9, 0x0000, 0 },
+ { 0x1100, 0, 0, 24, 87, 61, 9, 0x0000, 0 },
+ { 0x1100, 0, 0, 24, 96, 61, 9, 0x0000, 0 },
+ { 0x0100, 0, 0, 80, 143, 66, 34, 0x0000, 0 },
+ { 0x0100, 0, 0, 80, 143, 66, 34, 0x0001, 0 },
+ { 0x0100, 0, 0, 80, 143, 66, 34, 0x0002, 0 },
+ { 0x0100, 0, 0, 80, 143, 66, 34, 0x0003, 0 },
+ { 0x1100, 27, 0, 0, 0, 320, 200, 0x0003, 0 },
+ { 0x0100, 0, 0, 112, 0, 88, 80, 0x0000, 0 },
+ { 0x0100, 0, 0, 200, 0, 88, 80, 0x0001, 0 },
+ { 0x1100, 79, 27, 11, 178, 21, 22, 0x0000, 0 },
+ { 0x0100, 82, 0, 32, 178, 22, 22, 0x0000, 0 },
+ { 0x0100, 0, 0, 291, 96, 27, 24, 0x0000, 0 },
+ { 0x0100, 0, 0, 289, 0, 31, 28, 0x0000, 0 },
+ { 0x0100, 0, 0, 289, 31, 31, 23, 0x0000, 0 },
+ { 0x0100, 0, 0, 291, 56, 29, 24, 0x0000, 0 },
+ { 0x1100, 0, 0, 220, 98, 43, 19, 0x0000, 0 }
+};
+
+static const LoLButtonDefProvider kLoLButtonDefsFMTownsProvider = { ARRAYSIZE(kLoLButtonDefsFMTowns), kLoLButtonDefsFMTowns };
+
+static const byte kLoLButtonList1FMTowns[40] = {
+ 0x59, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x31,
+ 0x3E, 0x2D, 0x2E, 0x2F, 0x30, 0x56, 0x57, 0x01,
+ 0x02, 0x00, 0x03, 0x04, 0x05, 0x06, 0x32, 0x33,
+ 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B,
+ 0x3C, 0x3D, 0x58, 0x5A, 0x5B, 0x5C, 0x5D, 0xFF
+};
+
+static const ByteProvider kLoLButtonList1FMTownsProvider = { ARRAYSIZE(kLoLButtonList1FMTowns), kLoLButtonList1FMTowns };
+
+static const byte kLoLButtonList2FMTowns[15] = {
+ 0x2C, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x5E, 0xFF
+};
+
+static const ByteProvider kLoLButtonList2FMTownsProvider = { ARRAYSIZE(kLoLButtonList2FMTowns), kLoLButtonList2FMTowns };
+
+static const byte kLoLButtonList3FMTowns[2] = {
+ 0x40, 0xFF
+};
+
+static const ByteProvider kLoLButtonList3FMTownsProvider = { ARRAYSIZE(kLoLButtonList3FMTowns), kLoLButtonList3FMTowns };
+
+static const byte kLoLButtonList4FMTowns[15] = {
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3A, 0x3B, 0x3C, 0x3D, 0x5A, 0x5B, 0xFF
+};
+
+static const ByteProvider kLoLButtonList4FMTownsProvider = { ARRAYSIZE(kLoLButtonList4FMTowns), kLoLButtonList4FMTowns };
+
+static const byte kLoLButtonList5FMTowns[16] = {
+ 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x06, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x5A, 0x5B, 0xFF
+};
+
+static const ByteProvider kLoLButtonList5FMTownsProvider = { ARRAYSIZE(kLoLButtonList5FMTowns), kLoLButtonList5FMTowns };
+
+static const byte kLoLButtonList6FMTowns[14] = {
+ 0x2C, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0xFF
+};
+
+static const ByteProvider kLoLButtonList6FMTownsProvider = { ARRAYSIZE(kLoLButtonList6FMTowns), kLoLButtonList6FMTowns };
+
+static const byte kLoLButtonList7FMTowns[3] = {
+ 0x0F, 0x10, 0xFF
+};
+
+static const ByteProvider kLoLButtonList7FMTownsProvider = { ARRAYSIZE(kLoLButtonList7FMTowns), kLoLButtonList7FMTowns };
+
+static const byte kLoLButtonList8FMTowns[2] = {
+ 0x55, 0xFF
+};
+
+static const ByteProvider kLoLButtonList8FMTownsProvider = { ARRAYSIZE(kLoLButtonList8FMTowns), kLoLButtonList8FMTowns };
+
+static const byte kLoLLegendDataFMTowns[60] = {
+ 0x0E, 0x00, 0x00, 0x07, 0x42, 0x19, 0x00, 0x00,
+ 0x08, 0x42, 0x1A, 0x00, 0x00, 0x09, 0x42, 0x0D,
+ 0x00, 0x00, 0x0A, 0x42, 0x0A, 0x00, 0x00, 0x0B,
+ 0x42, 0x0B, 0x00, 0x00, 0x0C, 0x42, 0x0F, 0x00,
+ 0x00, 0x0D, 0x42, 0x16, 0x00, 0x00, 0x0E, 0x42,
+ 0x17, 0x00, 0x00, 0x0F, 0x42, 0x11, 0x00, 0x00,
+ 0x10, 0x42, 0x12, 0x00, 0xFB, 0x51, 0x42, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF
+};
+
+static const ByteProvider kLoLLegendDataFMTownsProvider = { ARRAYSIZE(kLoLLegendDataFMTowns), kLoLLegendDataFMTowns };
+
+static const uint16 kLoLMapStringIdFMTowns[30] = {
+ 0xFFFF, 0x4211, 0x4212, 0x4213, 0x4214, 0x4215, 0x4216, 0x4217,
+ 0x4218, 0x4219, 0x421A, 0x421B, 0x421C, 0x421D, 0x421E, 0x421F,
+ 0x4220, 0x4221, 0x4222, 0x4223, 0x4224, 0x4225, 0x4226, 0x4227,
+ 0x4228, 0x4229, 0x422A, 0x422B, 0x422C, 0x422D
+};
+
+static const Uint16Provider kLoLMapStringIdFMTownsProvider = { ARRAYSIZE(kLoLMapStringIdFMTowns), kLoLMapStringIdFMTowns };
+
+static const byte kLoLSpellbookAnimFMTowns[28] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x13, 0xB6, 0x04, 0x00, 0x13, 0x4D,
+ 0x04, 0x00, 0x13, 0xB9, 0x04, 0x00, 0x13, 0xB8,
+ 0x04, 0x00, 0x13, 0xBA
+};
+
+static const ByteProvider kLoLSpellbookAnimFMTownsProvider = { ARRAYSIZE(kLoLSpellbookAnimFMTowns), kLoLSpellbookAnimFMTowns };
+
+static const byte kLoLSpellbookCoordsFMTowns[12] = {
+ 0x16, 0x16, 0x16, 0x1F, 0x16, 0x28, 0x16, 0x31,
+ 0x16, 0x3A, 0x16, 0x43
+};
+
+static const ByteProvider kLoLSpellbookCoordsFMTownsProvider = { ARRAYSIZE(kLoLSpellbookCoordsFMTowns), kLoLSpellbookCoordsFMTowns };
+
+static const byte kLoLHealShapeFramesFMTowns[80] = {
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02,
+ 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03,
+ 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
+ 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+ 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00,
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+ 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
+};
+
+static const ByteProvider kLoLHealShapeFramesFMTownsProvider = { ARRAYSIZE(kLoLHealShapeFramesFMTowns), kLoLHealShapeFramesFMTowns };
+
+static const byte kLoLLightningDefsFMTowns[20] = {
+ 0x06, 0x05, 0xAB, 0x00, 0x06, 0x04, 0xAB, 0x00,
+ 0x08, 0x04, 0xAA, 0x00, 0x06, 0x03, 0xAA, 0x00,
+ 0x06, 0x02, 0xA9, 0x00
+};
+
+static const ByteProvider kLoLLightningDefsFMTownsProvider = { ARRAYSIZE(kLoLLightningDefsFMTowns), kLoLLightningDefsFMTowns };
+
+static const uint16 kLoLFireballCoordsFMTowns[256] = {
+ 0x0000, 0x0324, 0x0647, 0x096A, 0x0C8B, 0x0FAB, 0x12C7, 0x15E1,
+ 0x18F8, 0x1C0B, 0x1F19, 0x2223, 0x2527, 0x2826, 0x2B1E, 0x2E10,
+ 0x30FB, 0x33DE, 0x36B9, 0x398C, 0x3C56, 0x3F16, 0x41CD, 0x447A,
+ 0x471C, 0x49B3, 0x4C3F, 0x4EBF, 0x5133, 0x539A, 0x55F4, 0x5842,
+ 0x5A81, 0x5CB3, 0x5ED6, 0x60EB, 0x62F1, 0x64E7, 0x66CE, 0x68A5,
+ 0x6A6C, 0x6C23, 0x6DC9, 0x6F5E, 0x70E1, 0x7254, 0x73B5, 0x7503,
+ 0x7640, 0x776B, 0x7883, 0x7989, 0x7A7C, 0x7B5C, 0x7C29, 0x7CE2,
+ 0x7D89, 0x7E1C, 0x7E9C, 0x7F08, 0x7F61, 0x7FA6, 0x7FD7, 0x7FF5,
+ 0x7FFF, 0x7FF5, 0x7FD7, 0x7FA6, 0x7F61, 0x7F08, 0x7E9C, 0x7E1C,
+ 0x7D89, 0x7CE2, 0x7C29, 0x7B5C, 0x7A7C, 0x7989, 0x7883, 0x776B,
+ 0x7640, 0x7503, 0x73B5, 0x7254, 0x70E1, 0x6F5E, 0x6DC9, 0x6C23,
+ 0x6A6C, 0x68A5, 0x66CE, 0x64E7, 0x62F1, 0x60EB, 0x5ED6, 0x5CB3,
+ 0x5A81, 0x5842, 0x55F4, 0x539A, 0x5133, 0x4EBF, 0x4C3F, 0x49B3,
+ 0x471C, 0x447A, 0x41CD, 0x3F16, 0x3C56, 0x398C, 0x36B9, 0x33DE,
+ 0x30FB, 0x2E10, 0x2B1E, 0x2826, 0x2527, 0x2223, 0x1F19, 0x1C0B,
+ 0x18F8, 0x15E1, 0x12C7, 0x0FAB, 0x0C8B, 0x096A, 0x0647, 0x0324,
+ 0x0000, 0xFCDC, 0xF9B9, 0xF696, 0xF375, 0xF055, 0xED39, 0xEA1F,
+ 0xE708, 0xE3F5, 0xE0E7, 0xDDDD, 0xDAD9, 0xD7DA, 0xD4E2, 0xD1F0,
+ 0xCF05, 0xCC22, 0xC947, 0xC674, 0xC3AA, 0xC0EA, 0xBE33, 0xBB86,
+ 0xB8E4, 0xB64D, 0xB3C1, 0xB141, 0xAECD, 0xAC66, 0xAA0C, 0xA7BE,
+ 0xA57F, 0xA34D, 0xA12A, 0x9F15, 0x9D0F, 0x9B19, 0x9932, 0x975B,
+ 0x9594, 0x93DD, 0x9237, 0x90A2, 0x8F1F, 0x8DAC, 0x8C4B, 0x8AFD,
+ 0x89C0, 0x8895, 0x877D, 0x8677, 0x8584, 0x84A4, 0x83D7, 0x831E,
+ 0x8277, 0x81E4, 0x8164, 0x80F8, 0x809F, 0x805A, 0x8029, 0x800B,
+ 0x8001, 0x800B, 0x8029, 0x805A, 0x809F, 0x80F8, 0x8164, 0x81E4,
+ 0x8277, 0x831E, 0x83D7, 0x84A4, 0x8584, 0x8677, 0x877D, 0x8895,
+ 0x89C0, 0x8AFD, 0x8C4B, 0x8DAC, 0x8F1F, 0x90A2, 0x9237, 0x93DD,
+ 0x9594, 0x975B, 0x9932, 0x9B19, 0x9D0F, 0x9F15, 0xA12A, 0xA34D,
+ 0xA57F, 0xA7BE, 0xAA0C, 0xAC66, 0xAECD, 0xB141, 0xB3C1, 0xB64D,
+ 0xB8E4, 0xBB86, 0xBE33, 0xC0EA, 0xC3AA, 0xC674, 0xC947, 0xCC22,
+ 0xCF05, 0xD1F0, 0xD4E2, 0xD7DA, 0xDAD9, 0xDDDD, 0xE0E7, 0xE3F5,
+ 0xE708, 0xEA1F, 0xED39, 0xF055, 0xF375, 0xF696, 0xF9B9, 0xFCDC
+};
+
+static const Uint16Provider kLoLFireballCoordsFMTownsProvider = { ARRAYSIZE(kLoLFireballCoordsFMTowns), kLoLFireballCoordsFMTowns };
+
+static const byte kLoLCreditsFMTowns[1516] = {
+ 0x02, 0x54, 0x68, 0x65, 0x20, 0x45, 0x6E, 0x64,
+ 0x05, 0x0D, 0x0D, 0x0D, 0x02, 0x4C, 0x41, 0x4E,
+ 0x44, 0x53, 0x20, 0x4F, 0x46, 0x20, 0x4C, 0x4F,
+ 0x52, 0x45, 0x05, 0x0D, 0x01, 0x54, 0x68, 0x65,
+ 0x20, 0x54, 0x68, 0x72, 0x6F, 0x6E, 0x65, 0x20,
+ 0x6F, 0x66, 0x20, 0x43, 0x68, 0x61, 0x6F, 0x73,
+ 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
+ 0x0D, 0x02, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54,
+ 0x49, 0x56, 0x45, 0x20, 0x50, 0x52, 0x4F, 0x44,
+ 0x55, 0x43, 0x45, 0x52, 0x05, 0x0D, 0x0D, 0x02,
+ 0x42, 0x72, 0x65, 0x74, 0x74, 0x20, 0x57, 0x2E,
+ 0x20, 0x53, 0x70, 0x65, 0x72, 0x72, 0x79, 0x05,
+ 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x50, 0x52, 0x4F,
+ 0x44, 0x55, 0x43, 0x45, 0x52, 0x05, 0x0D, 0x0D,
+ 0x02, 0x52, 0x69, 0x63, 0x6B, 0x20, 0x47, 0x75,
+ 0x73, 0x68, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x02,
+ 0x50, 0x52, 0x4F, 0x44, 0x55, 0x43, 0x54, 0x20,
+ 0x43, 0x4F, 0x4F, 0x52, 0x44, 0x49, 0x4E, 0x41,
+ 0x54, 0x4F, 0x52, 0x05, 0x0D, 0x0D, 0x02, 0x43,
+ 0x61, 0x74, 0x68, 0x69, 0x65, 0x20, 0x41, 0x2E,
+ 0x20, 0x54, 0x6F, 0x64, 0x64, 0x05, 0x0D, 0x0D,
+ 0x0D, 0x0D, 0x02, 0x44, 0x45, 0x53, 0x49, 0x47,
+ 0x4E, 0x45, 0x52, 0x53, 0x05, 0x0D, 0x0D, 0x02,
+ 0x57, 0x69, 0x6C, 0x6C, 0x69, 0x61, 0x6D, 0x20,
+ 0x41, 0x6C, 0x61, 0x6E, 0x20, 0x43, 0x72, 0x75,
+ 0x6D, 0x05, 0x0D, 0x50, 0x68, 0x69, 0x6C, 0x69,
+ 0x70, 0x20, 0x57, 0x2E, 0x20, 0x47, 0x6F, 0x72,
+ 0x72, 0x6F, 0x77, 0x05, 0x0D, 0x0D, 0x0D, 0x0D,
+ 0x02, 0x4C, 0x45, 0x41, 0x44, 0x20, 0x50, 0x52,
+ 0x4F, 0x47, 0x52, 0x41, 0x4D, 0x4D, 0x45, 0x52,
+ 0x05, 0x0D, 0x0D, 0x02, 0x50, 0x68, 0x69, 0x6C,
+ 0x69, 0x70, 0x20, 0x57, 0x2E, 0x20, 0x47, 0x6F,
+ 0x72, 0x72, 0x6F, 0x77, 0x05, 0x0D, 0x0D, 0x0D,
+ 0x0D, 0x02, 0x50, 0x52, 0x4F, 0x47, 0x52, 0x41,
+ 0x4D, 0x4D, 0x45, 0x52, 0x53, 0x05, 0x0D, 0x0D,
+ 0x02, 0x4A, 0x6F, 0x65, 0x20, 0x42, 0x6F, 0x73,
+ 0x74, 0x69, 0x63, 0x05, 0x0D, 0x02, 0x53, 0x63,
+ 0x6F, 0x74, 0x74, 0x20, 0x4B, 0x2E, 0x20, 0x42,
+ 0x6F, 0x77, 0x65, 0x6E, 0x05, 0x0D, 0x02, 0x4A,
+ 0x6F, 0x68, 0x6E, 0x20, 0x4C, 0x61, 0x53, 0x61,
+ 0x6C, 0x76, 0x69, 0x61, 0x05, 0x0D, 0x02, 0x4D,
+ 0x61, 0x72, 0x6B, 0x20, 0x4D, 0x63, 0x43, 0x75,
+ 0x62, 0x62, 0x69, 0x6E, 0x05, 0x0D, 0x02, 0x4A,
+ 0x75, 0x73, 0x74, 0x69, 0x6E, 0x20, 0x4D, 0x63,
+ 0x4B, 0x69, 0x6E, 0x6E, 0x65, 0x72, 0x6E, 0x65,
+ 0x79, 0x05, 0x0D, 0x02, 0x51, 0x69, 0x6E, 0x67,
+ 0x20, 0x59, 0x75, 0x61, 0x6E, 0x05, 0x0D, 0x0D,
+ 0x0D, 0x0D, 0x02, 0x4C, 0x45, 0x41, 0x44, 0x20,
+ 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, 0x05, 0x0D,
+ 0x0D, 0x02, 0x52, 0x69, 0x63, 0x6B, 0x20, 0x50,
+ 0x61, 0x72, 0x6B, 0x73, 0x05, 0x0D, 0x0D, 0x0D,
+ 0x0D, 0x02, 0x41, 0x52, 0x54, 0x49, 0x53, 0x54,
+ 0x53, 0x05, 0x0D, 0x0D, 0x02, 0x45, 0x6C, 0x69,
+ 0x65, 0x20, 0x41, 0x72, 0x61, 0x62, 0x69, 0x61,
+ 0x6E, 0x05, 0x0D, 0x02, 0x43, 0x61, 0x72, 0x79,
+ 0x20, 0x44, 0x65, 0x61, 0x6E, 0x20, 0x41, 0x76,
+ 0x65, 0x72, 0x65, 0x74, 0x74, 0x05, 0x0D, 0x02,
+ 0x45, 0x72, 0x69, 0x63, 0x20, 0x47, 0x6F, 0x6F,
+ 0x63, 0x68, 0x05, 0x0D, 0x02, 0x4A, 0x6F, 0x73,
+ 0x65, 0x70, 0x68, 0x20, 0x42, 0x2E, 0x20, 0x48,
+ 0x65, 0x77, 0x69, 0x74, 0x74, 0x20, 0x49, 0x56,
+ 0x05, 0x0D, 0x02, 0x52, 0x65, 0x6E, 0x20, 0x4F,
+ 0x6C, 0x73, 0x65, 0x6E, 0x05, 0x0D, 0x02, 0x4A,
+ 0x75, 0x64, 0x69, 0x74, 0x68, 0x20, 0x50, 0x65,
+ 0x74, 0x65, 0x72, 0x73, 0x6F, 0x6E, 0x05, 0x0D,
+ 0x02, 0x45, 0x2E, 0x4D, 0x2E, 0x20, 0x4C, 0x6F,
+ 0x75, 0x69, 0x73, 0x65, 0x20, 0x53, 0x61, 0x6E,
+ 0x64, 0x6F, 0x76, 0x61, 0x6C, 0x05, 0x0D, 0x0D,
+ 0x0D, 0x0D, 0x02, 0x4D, 0x55, 0x53, 0x49, 0x43,
+ 0x20, 0x26, 0x20, 0x53, 0x4F, 0x55, 0x4E, 0x44,
+ 0x53, 0x05, 0x0D, 0x0D, 0x02, 0x50, 0x61, 0x75,
+ 0x6C, 0x20, 0x53, 0x2E, 0x20, 0x4D, 0x75, 0x64,
+ 0x72, 0x61, 0x05, 0x0D, 0x02, 0x44, 0x77, 0x69,
+ 0x67, 0x68, 0x74, 0x20, 0x4B, 0x2E, 0x20, 0x4F,
+ 0x6B, 0x61, 0x68, 0x61, 0x72, 0x61, 0x05, 0x0D,
+ 0x02, 0x46, 0x72, 0x61, 0x6E, 0x6B, 0x20, 0x4B,
+ 0x6C, 0x65, 0x70, 0x61, 0x63, 0x6B, 0x69, 0x05,
+ 0x0D, 0x02, 0x50, 0x61, 0x74, 0x72, 0x69, 0x63,
+ 0x6B, 0x20, 0x43, 0x6F, 0x6C, 0x6C, 0x69, 0x6E,
+ 0x73, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x51,
+ 0x55, 0x41, 0x4C, 0x49, 0x54, 0x59, 0x20, 0x41,
+ 0x53, 0x53, 0x55, 0x52, 0x41, 0x4E, 0x43, 0x45,
+ 0x05, 0x0D, 0x0D, 0x02, 0x4A, 0x65, 0x73, 0x73,
+ 0x65, 0x20, 0x43, 0x6C, 0x65, 0x6D, 0x69, 0x74,
+ 0x05, 0x0D, 0x02, 0x4B, 0x65, 0x6E, 0x6E, 0x65,
+ 0x74, 0x68, 0x20, 0x44, 0x75, 0x6E, 0x6E, 0x65,
+ 0x05, 0x0D, 0x02, 0x4A, 0x65, 0x66, 0x66, 0x20,
+ 0x53, 0x74, 0x65, 0x76, 0x65, 0x6E, 0x20, 0x46,
+ 0x69, 0x6C, 0x6C, 0x68, 0x61, 0x62, 0x65, 0x72,
+ 0x05, 0x0D, 0x02, 0x57, 0x69, 0x6C, 0x6C, 0x69,
+ 0x61, 0x6D, 0x20, 0x46, 0x6F, 0x73, 0x74, 0x65,
+ 0x72, 0x05, 0x0D, 0x02, 0x53, 0x63, 0x6F, 0x74,
+ 0x74, 0x20, 0x46, 0x6C, 0x65, 0x6D, 0x69, 0x6E,
+ 0x67, 0x05, 0x0D, 0x02, 0x4D, 0x69, 0x63, 0x68,
+ 0x61, 0x65, 0x6C, 0x20, 0x4C, 0x69, 0x67, 0x68,
+ 0x74, 0x6E, 0x65, 0x72, 0x05, 0x0D, 0x02, 0x47,
+ 0x6C, 0x65, 0x6E, 0x6E, 0x20, 0x53, 0x70, 0x65,
+ 0x72, 0x72, 0x79, 0x05, 0x0D, 0x02, 0x43, 0x68,
+ 0x72, 0x69, 0x73, 0x20, 0x4D, 0x63, 0x46, 0x61,
+ 0x72, 0x6C, 0x61, 0x6E, 0x64, 0x05, 0x0D, 0x02,
+ 0x53, 0x63, 0x6F, 0x74, 0x74, 0x20, 0x4D, 0x61,
+ 0x6E, 0x6E, 0x69, 0x6E, 0x67, 0x05, 0x0D, 0x02,
+ 0x50, 0x61, 0x75, 0x6C, 0x20, 0x53, 0x68, 0x6F,
+ 0x65, 0x6E, 0x65, 0x72, 0x05, 0x0D, 0x02, 0x41,
+ 0x64, 0x61, 0x6D, 0x20, 0x52, 0x79, 0x61, 0x6E,
+ 0x05, 0x0D, 0x02, 0x4D, 0x69, 0x74, 0x63, 0x68,
+ 0x20, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x6D, 0x61,
+ 0x6E, 0x05, 0x0D, 0x02, 0x4A, 0x61, 0x72, 0x65,
+ 0x64, 0x20, 0x42, 0x72, 0x69, 0x6E, 0x6B, 0x6C,
+ 0x65, 0x79, 0x05, 0x0D, 0x02, 0x4A, 0x75, 0x73,
+ 0x74, 0x69, 0x6E, 0x20, 0x48, 0x61, 0x6C, 0x6C,
+ 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x02,
+ 0x56, 0x4F, 0x49, 0x43, 0x45, 0x20, 0x41, 0x43,
+ 0x54, 0x4F, 0x52, 0x53, 0x05, 0x0D, 0x0D, 0x03,
+ 0x52, 0x69, 0x63, 0x68, 0x61, 0x72, 0x64, 0x20,
+ 0x53, 0x6D, 0x69, 0x74, 0x68, 0x20, 0x61, 0x73,
+ 0x05, 0x04, 0x4B, 0x49, 0x4E, 0x47, 0x20, 0x52,
+ 0x49, 0x43, 0x48, 0x41, 0x52, 0x44, 0x05, 0x0D,
+ 0x03, 0x45, 0x72, 0x69, 0x63, 0x20, 0x47, 0x6F,
+ 0x6F, 0x63, 0x68, 0x20, 0x61, 0x73, 0x05, 0x04,
+ 0x47, 0x45, 0x52, 0x4F, 0x4E, 0x05, 0x0D, 0x03,
+ 0x53, 0x63, 0x6F, 0x74, 0x69, 0x61, 0x20, 0x61,
+ 0x73, 0x05, 0x04, 0x68, 0x65, 0x72, 0x73, 0x65,
+ 0x6C, 0x66, 0x05, 0x0D, 0x03, 0x46, 0x72, 0x61,
+ 0x6E, 0x6B, 0x20, 0x4B, 0x6C, 0x65, 0x70, 0x61,
+ 0x63, 0x6B, 0x69, 0x20, 0x61, 0x73, 0x05, 0x04,
+ 0x50, 0x49, 0x47, 0x4C, 0x45, 0x54, 0x05, 0x0D,
+ 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x4A, 0x41,
+ 0x50, 0x41, 0x4E, 0x45, 0x53, 0x45, 0x20, 0x56,
+ 0x45, 0x52, 0x49, 0x53, 0x49, 0x4F, 0x4E, 0x05,
+ 0x0D, 0x0D, 0x0D, 0x02, 0x50, 0x52, 0x4F, 0x47,
+ 0x52, 0x41, 0x4D, 0x4D, 0x45, 0x52, 0x53, 0x05,
+ 0x0D, 0x0D, 0x02, 0x59, 0x75, 0x6B, 0x69, 0x6F,
+ 0x20, 0x53, 0x65, 0x6B, 0x69, 0x67, 0x75, 0x63,
+ 0x68, 0x69, 0x05, 0x0D, 0x02, 0x4E, 0x61, 0x6F,
+ 0x73, 0x68, 0x69, 0x20, 0x4E, 0x6F, 0x67, 0x75,
+ 0x63, 0x68, 0x69, 0x05, 0x0D, 0x0D, 0x0D, 0x0D,
+ 0x02, 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, 0x53,
+ 0x05, 0x0D, 0x0D, 0x02, 0x4D, 0x61, 0x73, 0x61,
+ 0x6B, 0x69, 0x20, 0x54, 0x6F, 0x67, 0x61, 0x73,
+ 0x68, 0x69, 0x05, 0x0D, 0x02, 0x52, 0x69, 0x73,
+ 0x61, 0x6B, 0x6F, 0x20, 0x53, 0x65, 0x74, 0x6F,
+ 0x05, 0x0D, 0x02, 0x52, 0x65, 0x69, 0x67, 0x61,
+ 0x20, 0x59, 0x61, 0x73, 0x75, 0x64, 0x61, 0x05,
+ 0x0D, 0x02, 0x4D, 0x61, 0x73, 0x75, 0x6D, 0x69,
+ 0x20, 0x53, 0x68, 0x69, 0x6E, 0x62, 0x6F, 0x05,
+ 0x0D, 0x02, 0x4E, 0x61, 0x6F, 0x6B, 0x6F, 0x20,
+ 0x4E, 0x69, 0x74, 0x74, 0x61, 0x05, 0x0D, 0x02,
+ 0x4B, 0x69, 0x79, 0x6F, 0x66, 0x75, 0x6D, 0x69,
+ 0x20, 0x48, 0x69, 0x6E, 0x6F, 0x05, 0x0D, 0x02,
+ 0x48, 0x69, 0x72, 0x6F, 0x6D, 0x69, 0x20, 0x53,
+ 0x61, 0x6B, 0x61, 0x65, 0x05, 0x0D, 0x02, 0x4B,
+ 0x79, 0x6F, 0x75, 0x6B, 0x6F, 0x20, 0x4D, 0x69,
+ 0x79, 0x61, 0x6D, 0x6F, 0x74, 0x6F, 0x05, 0x0D,
+ 0x02, 0x53, 0x68, 0x6F, 0x6B, 0x6F, 0x20, 0x4D,
+ 0x75, 0x72, 0x61, 0x6B, 0x61, 0x6D, 0x69, 0x05,
+ 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x4D, 0x55, 0x53,
+ 0x49, 0x43, 0x20, 0x26, 0x20, 0x53, 0x4F, 0x55,
+ 0x4E, 0x44, 0x53, 0x05, 0x0D, 0x0D, 0x02, 0x54,
+ 0x61, 0x6B, 0x65, 0x73, 0x68, 0x69, 0x20, 0x41,
+ 0x62, 0x6F, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x02,
+ 0x4A, 0x41, 0x50, 0x41, 0x4E, 0x45, 0x53, 0x45,
+ 0x20, 0x54, 0x52, 0x41, 0x4E, 0x53, 0x4C, 0x41,
+ 0x54, 0x4F, 0x52, 0x05, 0x0D, 0x0D, 0x02, 0x59,
+ 0x75, 0x72, 0x69, 0x20, 0x49, 0x74, 0x6F, 0x05,
+ 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x53, 0x70, 0x65,
+ 0x63, 0x69, 0x61, 0x6C, 0x20, 0x74, 0x68, 0x61,
+ 0x6E, 0x6B, 0x73, 0x20, 0x74, 0x6F, 0x3A, 0x05,
+ 0x0D, 0x0D, 0x02, 0x48, 0x69, 0x72, 0x6F, 0x6B,
+ 0x6F, 0x20, 0x59, 0x6F, 0x72, 0x6F, 0x69, 0x7A,
+ 0x75, 0x6B, 0x61, 0x05, 0x0D, 0x02, 0x59, 0x75,
+ 0x6A, 0x69, 0x20, 0x4F, 0x64, 0x61, 0x77, 0x61,
+ 0x72, 0x61, 0x05, 0x0D, 0x02, 0x4F, 0x68, 0x73,
+ 0x68, 0x75, 0x6E, 0x20, 0x4C, 0x65, 0x65, 0x05,
+ 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x01,
+ 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68,
+ 0x74, 0x20, 0x28, 0x43, 0x29, 0x20, 0x31, 0x39,
+ 0x39, 0x33, 0x2C, 0x20, 0x57, 0x65, 0x73, 0x74,
+ 0x77, 0x6F, 0x6F, 0x64, 0x20, 0x53, 0x74, 0x75,
+ 0x64, 0x69, 0x6F, 0x73, 0x2C, 0x20, 0x49, 0x6E,
+ 0x63, 0x2E, 0x05, 0x0D, 0x01, 0x43, 0x6F, 0x70,
+ 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28,
+ 0x43, 0x29, 0x20, 0x31, 0x39, 0x39, 0x34, 0x2C,
+ 0x20, 0x53, 0x74, 0x61, 0x72, 0x43, 0x72, 0x61,
+ 0x66, 0x74, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E,
+ 0x05, 0x0D, 0x01, 0x41, 0x6C, 0x6C, 0x20, 0x72,
+ 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x72, 0x65,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2E, 0x05,
+ 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
+ 0x00, 0x00, 0x00, 0x00
+};
+
+static const ByteProvider kLoLCreditsFMTownsProvider = { ARRAYSIZE(kLoLCreditsFMTowns), kLoLCreditsFMTowns };
+