scummvm/devtools/create_kyradat/resources/lol_fmtowns.h
athrxx 999689abff KYRA: (LOL) - add keyboard key binding for map button
Allow map display via 'm' key. The original doesn't have that, although there are keyboard controls for most other buttons.  I add this as a feature, since it's useful for controller play.
2020-08-06 15:06:28 +02:00

1532 lines
63 KiB
C

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 uint16 kLoLIngameSfxIndexFMTowns[500] = {
0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
0xffff, 0x0000, 0xffff, 0x0000, 0x0034, 0x006f, 0x007c, 0x0000, 0x007d, 0x0000,
0x007e, 0x0000, 0x007f, 0x0000, 0x0036, 0x0073, 0x0035, 0xff9c, 0xffff, 0x0000,
0x0080, 0x0073, 0x0081, 0x0073, 0x0082, 0x0073, 0x0083, 0x0073, 0x0084, 0x0073,
0x0085, 0x0073, 0x0086, 0x0073, 0x00d7, 0x0076, 0x0087, 0x0065, 0x0038, 0x005f,
0x0037, 0x005f, 0x0032, 0x000a, 0x0033, 0x0064, 0x0039, 0x0065, 0x003a, 0x000a,
0x003b, 0x0014, 0x004e, 0x0065, 0x007a, 0x0064, 0x007b, 0x0064, 0x0088, 0x0065,
0x003c, 0x0065, 0x003d, 0x0064, 0x0089, 0x0000, 0x008e, 0x0014, 0x003e, 0x0000,
0x003f, 0x0000, 0x0040, 0x0065, 0x0041, 0x0000, 0x00c9, 0x0072, 0x00ca, 0x0072,
0x00cb, 0x0072, 0x00cc, 0x0074, 0x00cd, 0x0074, 0x00ce, 0x0074, 0x00cf, 0x0074,
0x00d0, 0x0073, 0x00d1, 0x0073, 0x00d2, 0x0073, 0x00d3, 0x0073, 0x00d4, 0x0072,
0x00d5, 0x0072, 0x00d6, 0x0072, 0x0042, 0x006f, 0x0043, 0x006f, 0x0044, 0x006f,
0x0045, 0x006f, 0x0046, 0x006f, 0x0047, 0x006f, 0x0048, 0x0077, 0x0049, 0xff89,
0x004f, 0xff89, 0x0050, 0xff89, 0x00a0, 0xff8a, 0x00a1, 0xff89, 0x00a2, 0xff89,
0xffff, 0x0000, 0x00a3, 0xff89, 0x00a4, 0xff89, 0x004a, 0x0013, 0x004b, 0x0013,
0x004c, 0x0032, 0x004d, 0x0032, 0x005f, 0x000a, 0x0051, 0x0000, 0x0052, 0x0000,
0x008f, 0x0000, 0x0053, 0x0000, 0x0054, 0x0000, 0x0055, 0x0000, 0x0056, 0x0000,
0x0057, 0x0000, 0x0058, 0x0077, 0x0060, 0x0000, 0x005d, 0x006a, 0x008a, 0x006f,
0x008b, 0x006f, 0x008c, 0x0000, 0x008d, 0x0000, 0x005a, 0x0077, 0x005c, 0x0000,
0x005b, 0x0000, 0x005e, 0x006f, 0x0061, 0x0076, 0xffff, 0x0000, 0x0062, 0x0076,
0x0063, 0x003c, 0x0064, 0x006d, 0x0065, 0x0000, 0x0066, 0x0000, 0x0067, 0x0000,
0x0068, 0x0000, 0x0069, 0x0000, 0x006a, 0x0000, 0x006b, 0x0000, 0x006c, 0x0000,
0x006d, 0x0000, 0x006e, 0x0000, 0x006f, 0x0000, 0x0070, 0xff88, 0xffff, 0x0000,
0x0071, 0x0000, 0x0072, 0x0000, 0x0073, 0x0074, 0x0074, 0x0000, 0x0075, 0x0000,
0x0076, 0x0000, 0x0077, 0x0000, 0x0078, 0x0000, 0x0079, 0x0077, 0x0090, 0x0000,
0x0091, 0x0000, 0x0092, 0x0077, 0x0093, 0x001e, 0x0094, 0xff89, 0x0095, 0x0077,
0x0096, 0x0076, 0x0097, 0x0072, 0x0098, 0x0000, 0x0099, 0x0050, 0x009a, 0x0078,
0x009b, 0x0064, 0x009c, 0x005a, 0x009d, 0x0064, 0x009e, 0x0065, 0x009f, 0x0066,
0x00a5, 0xff89, 0x00a6, 0xff89, 0x00a7, 0x0077, 0x00a8, 0x0076, 0xffff, 0x0000,
0x00a9, 0x0077, 0x00aa, 0x0077, 0x00ab, 0x0077, 0x00ac, 0x0077, 0x00ad, 0x0077,
0x00ae, 0x0077, 0x00af, 0x0076, 0x00b0, 0x0077, 0x00b1, 0x0064, 0x00b2, 0x006f,
0x00b3, 0x006e, 0x00b4, 0x006e, 0x00b5, 0x0077, 0x00b6, 0x0077, 0x00b7, 0x0077,
0x00b8, 0x0076, 0x00b9, 0x0077, 0x00ba, 0x0077, 0x00bb, 0x0077, 0x00bc, 0x0077,
0x00bd, 0x0077, 0x00be, 0x0077, 0x00bf, 0x0077, 0x00c0, 0x0076, 0x00c1, 0x0077,
0x00c2, 0x0077, 0x00c3, 0x0077, 0x00c4, 0x006e, 0x00c5, 0x006e, 0x00c6, 0x007d,
0x00c7, 0x0078, 0x00c8, 0x0078, 0x00d8, 0x0077, 0x00d9, 0x0077, 0x00da, 0x0077,
0x00db, 0x0077, 0x00dc, 0x0077, 0x00dd, 0x0078, 0x00de, 0x0078, 0xffff, 0x0000,
0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x00e3, 0x0077,
0x00e4, 0x0077, 0x00e0, 0x001e, 0x00df, 0x0077, 0x00e1, 0x0005, 0x00e2, 0x000a,
0x0000, 0x0050, 0x0001, 0x0050, 0x0002, 0x0050, 0x0003, 0x0050, 0x0004, 0x0050,
0x0005, 0x0050, 0x0006, 0x0050, 0x0007, 0x0050, 0x0008, 0x0050, 0x0009, 0x0050,
0x000a, 0x0050, 0x000b, 0x0050, 0x000c, 0x0050, 0x000d, 0x0050, 0x000e, 0x0050,
0x000f, 0x0050, 0x0010, 0x0050, 0x0011, 0x005a, 0x0012, 0x005a, 0x0013, 0x005a,
0x0014, 0x005a, 0x0015, 0x005a, 0x0016, 0x005a, 0x0017, 0x005a, 0x0018, 0x005a,
0x0019, 0x005a, 0x001a, 0x005a, 0x001b, 0x005a, 0x001c, 0x005a, 0x001d, 0x005a,
0x001e, 0x005a, 0x001f, 0x005a, 0x0020, 0x005a, 0x0021, 0x0073, 0x0022, 0x0073,
0x0023, 0x0073, 0x0024, 0x0073, 0x0025, 0x0073, 0x0026, 0x0073, 0x0027, 0x0073,
0x0028, 0x0073, 0x0029, 0x0073, 0x002a, 0x0073, 0x002b, 0x0050, 0x002c, 0x005a,
0x002d, 0x005a, 0x002e, 0x005a, 0x002f, 0x005a, 0x0030, 0x005a, 0x0031, 0x005a
};
static const Uint16Provider kLoLIngameSfxIndexFMTownsProvider = { ARRAYSIZE(kLoLIngameSfxIndexFMTowns), kLoLIngameSfxIndexFMTowns };
static const SpellProperty kLoLSpellPropertiesFMTowns[17] = {
{ 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 },
{ 0, { 0, 0, 0, 0 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0 },
{ 0, { 0, 0, 0, 0 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0 },
{ 0, { 0, 0, 0, 0 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0 },
{ 0, { 0, 0, 0, 0 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0 },
{ 0, { 0, 0, 0, 0 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0 },
{ 0, { 0, 0, 0, 0 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0 },
{ 0, { 0, 0, 0, 0 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0 }
};
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 kLoLDscDoorScaleOffsFMTowns[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 kLoLDscDoorScaleOffsFMTownsProvider = { ARRAYSIZE(kLoLDscDoorScaleOffsFMTowns), kLoLDscDoorScaleOffsFMTowns };
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, 77, 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 };