#include "intern.h" const uint16_t sound_offsets[] = { 0x04CA,0x185C,0x0F4C,0x05EC,0x0762,0x0898,0x1188,0x0000,0x0CC4,0x1378,0x089C,0x0606,0x0000,0x0000,0x1254,0x2BE4 }; const uint16_t sprite_offsets[] = { 0x2510,0x2420,0x2518,0x2518,0x2420,0x2518,0x1C18,0x1528,0x1528,0x1420,0x2618,0x2620,0x2420,0x2818,0x2318,0x2320, 0x1F28,0x2418,0x2320,0x2128,0x2418,0x2418,0x2418,0x1820,0x1E20,0x2620,0x2720,0x2718,0x2618,0x2718,0x2720,0x2520, 0x2A18,0x2020,0x1A20,0x2820,0x2820,0x1E20,0x2520,0x2520,0x2520,0x1C28,0x1010,0x1010,0x1010,0x1010,0x1010,0x0F10, 0x0808,0x0A08,0x2018,0x2010,0x1F18,0x2010,0x2018,0x1E20,0x1620,0x1720,0x1620,0x1620,0x2218,0x1E18,0x1F18,0x2218, 0x1E18,0x1E20,0x1E28,0x1F20,0x1C18,0x2220,0x1F18,0x1F18,0x1F18,0x1420,0x1820,0x2018,0x2118,0x2120,0x2020,0x2120, 0x2118,0x2120,0x2518,0x1C20,0x1B20,0x2420,0x2220,0x1B20,0x2120,0x2120,0x2120,0x1D20,0x0F10,0x1018,0x1010,0x1010, 0x0A10,0x0610,0x0608,0x0808,0x0910,0x0B10,0x0B10,0x0A08,0x0C10,0x0C10,0x0C10,0x0D10,0x0E10,0x0D10,0x0C10,0x0D10, 0x0E10,0x0E10,0x0E10,0x0C10,0x2D20,0x2D28,0x3330,0x2F38,0x2A30,0x2328,0x2128,0x2420,0x2320,0x2418,0x2528,0x2720, 0x2D30,0x2D30,0x2D30,0x2A30,0x2028,0x1D28,0x1F20,0x2020,0x1F18,0x2028,0x2320,0x1E18,0x2218,0x2318,0x2318,0x2220, 0x2318,0x2318,0x2518,0x2418,0x2220,0x1C18,0x2218,0x2218,0x2218,0x2718,0x2818,0x2820,0x2720,0x2820,0x2818,0x2920, 0x2920,0x2120,0x2820,0x2820,0x2720,0x1918,0x1A18,0x1A18,0x1918,0x1A18,0x1A18,0x1C18,0x1C18,0x1818,0x1720,0x1A18, 0x1A18,0x1A18,0x2020,0x2120,0x2120,0x2018,0x2120,0x2120,0x2420,0x2220,0x1D20,0x2120,0x2120,0x2220,0x0F10,0x0C10, 0x0610,0x0F10,0x0D10,0x1010,0x1010,0x1010,0x3028,0x2030,0x2020,0x0E08,0x0D10,0x2010,0x1010,0x1040,0x1D20,0x1B30, 0x1A20,0x1920,0x1D20,0x1D20,0x1F28,0x1D20,0x1718,0x1518,0x1518,0x1828,0x1628,0x1628,0x2828,0x0828,0x0A28,0x0A28, 0x2020,0x0B30,0x1830,0x1F20,0x1F10,0x1828,0x2428,0x2528,0x1F28,0x1010,0x0D10,0x0808,0x1D30,0x1E30,0x2030,0x2030, 0x1618,0x1718,0x1040,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F08,0x0F10,0x0F10,0x0F10,0x0F10, 0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F08,0x0F10,0x0408, 0x0410,0x0F10,0x0F08,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0F10,0x0000 }; const uint16_t sprite_sizes[] = { 0x2508,0x2410,0x250C,0x250C,0x2410,0x250C,0x1C0C,0x1514,0x1514,0x1410,0x260C,0x2610,0x2410,0x280C,0x270D,0x2310, 0x1F14,0x240E,0x2316,0x2114,0x240C,0x240C,0x240C,0x1810,0x1E10,0x2610,0x2710,0x270C,0x260C,0x270C,0x2710,0x2510, 0x2A0C,0x2010,0x1A10,0x2810,0x2810,0x1E10,0x2510,0x2510,0x2510,0x1C14,0x1008,0x1008,0x1008,0x1008,0x1008,0x0F08, 0x0804,0x0A04,0x200C,0x2008,0x1F0C,0x2008,0x200C,0x1E10,0x1610,0x1710,0x1610,0x1610,0x220C,0x1E0C,0x1F0C,0x220C, 0x1E0C,0x1E10,0x1E14,0x1F10,0x1C0C,0x2210,0x1F0C,0x1F0C,0x1F0C,0x1410,0x1810,0x200C,0x210C,0x2110,0x2010,0x2110, 0x210C,0x2110,0x250C,0x1C10,0x1B10,0x2410,0x2210,0x1B10,0x2110,0x2110,0x2110,0x1D10,0x0F08,0x100C,0x1008,0x1008, 0x0A08,0x0608,0x0604,0x0804,0x0908,0x0B08,0x0B08,0x0A04,0x0C08,0x0C08,0x0C08,0x0D08,0x0E08,0x0D08,0x0C08,0x0D08, 0x0E08,0x0E08,0x0E08,0x0C08,0x2D10,0x2D14,0x3118,0x2F1C,0x2C18,0x2A14,0x2A14,0x2A10,0x2910,0x290C,0x2913,0x2B10, 0x2E18,0x2C18,0x3019,0x2B17,0x2714,0x2714,0x2710,0x2710,0x270C,0x2714,0x2310,0x1E0C,0x220C,0x230C,0x230C,0x2210, 0x230C,0x230C,0x250C,0x240C,0x2210,0x1C0C,0x220C,0x220C,0x220C,0x270C,0x280C,0x2810,0x2710,0x2810,0x280C,0x2910, 0x2910,0x2110,0x2810,0x2810,0x2710,0x190C,0x1A0C,0x1A0C,0x190C,0x1A0C,0x1A0C,0x1C0C,0x1C0C,0x180C,0x1710,0x1A0C, 0x1A0C,0x1A0C,0x2010,0x2110,0x2110,0x200C,0x2110,0x2110,0x2410,0x2210,0x1D10,0x2110,0x2110,0x2210,0x0F08,0x0C08, 0x0608,0x0F08,0x0D08,0x1008,0x1008,0x1008,0x3014,0x2018,0x2010,0x0E04,0x0D08,0x2008,0x1008,0x1020,0x1D10,0x1B18, 0x1A10,0x1910,0x1D10,0x1D10,0x1F14,0x1D10,0x170C,0x150C,0x150C,0x1814,0x1614,0x1614,0x2814,0x0814,0x0A14,0x0A14, 0x2010,0x0B18,0x1818,0x1F10,0x1F08,0x1814,0x120D,0x120E,0x120F,0x0608,0x0507,0x0304,0x1D18,0x1E18,0x2018,0x2018, 0x160C,0x170C,0x1020,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F04,0x0F08,0x0F08,0x0F08,0x0F08, 0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F04,0x0F08,0x0404, 0x0408,0x0F08,0x0F04,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0F08,0x0000 }; const uint8_t sprite_palettes[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x03,0x03, 0x03,0x03,0x03,0x03,0x03,0x03,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, 0x05,0x06,0x06,0x06,0x06,0x06,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, 0x07,0x07,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; const uint8_t level_data1p[] = { 0x00,0x02,0x00,0x05,0x01,0x00,0x01,0x06,0x02,0x00,0x02,0x01,0x00,0x00,0x01,0x07, 0x02,0x02,0x03,0x01,0x00,0x04,0x00,0x03,0x01,0x01,0x01,0x03,0x02,0x03,0x02,0x04, 0x03,0x06,0x03,0x05,0x00,0x06,0x00,0x08,0x00,0x07,0x01,0x04,0x01,0x05,0x02,0x05, 0x02,0x06,0x02,0x07,0x02,0x08,0x03,0x02,0x03,0x03,0x03,0x04,0x01,0x08,0xFF,0xFF }; const uint8_t level_data2p[] = { 0x00,0x02,0x00,0x05,0x01,0x00,0x01,0x06,0x02,0x00,0x02,0x01,0x00,0x00,0x01,0x07, 0x02,0x02,0x03,0x01,0x00,0x04,0x00,0x03,0x01,0x01,0x01,0x03,0x02,0x03,0x02,0x04, 0x03,0x06,0x03,0x05,0x00,0x08,0x00,0x07,0x01,0x04,0x01,0x05,0x02,0x05,0x02,0x06, 0x02,0x08,0x03,0x02,0x03,0x03,0x03,0x04,0x01,0x08,0xFF,0xFF }; const uint8_t level_data3[] = { 0x09,0x09,0x09,0x07,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 }; const uint8_t vscroll_offsets_table[] = { 0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x02,0x02, 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x03,0x03,0x03,0x03,0x03, 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, 0x03,0x03,0x03,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x06,0x06,0x06,0x06,0x06,0x06,0x06, 0x07,0x07,0x07,0x07,0x07,0x07,0x08,0x08,0x08,0x09,0x09,0x09,0x0A,0x0A,0x0B,0x0B, 0x0C,0x0D,0x0E,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, 0x10,0x10,0x10,0x10 }; const uint16_t rotation_table[] = { 0xFF01,0xFF01,0xFF01,0xFF01,0xFF02,0xFF02,0xFF03,0xFF04,0xFF05,0xFF07,0xFF08,0xFF0A,0xFF0C,0xFF0D,0xFF0F,0xFF12, 0xFF14,0xFF16,0xFF19,0xFF1C,0xFF1F,0xFF22,0xFF25,0xFF28,0xFF2C,0xFF2F,0xFF33,0xFF37,0xFF3B,0xFF3F,0xFF43,0xFF47, 0xFF4B,0xFF50,0xFF55,0xFF59,0xFF5E,0xFF63,0xFF68,0xFF6D,0xFF72,0xFF78,0xFF7D,0xFF82,0xFF88,0xFF8D,0xFF93,0xFF99, 0xFF9F,0xFFA4,0xFFAA,0xFFB0,0xFFB6,0xFFBC,0xFFC2,0xFFC8,0xFFCF,0xFFD5,0xFFDB,0xFFE1,0xFFE7,0xFFEE,0xFFF4,0xFFFA, 0x0000,0x0000,0x0006,0x000C,0x0012,0x0019,0x001F,0x0025,0x002B,0x0031,0x0038,0x003E,0x0044,0x004A,0x0050,0x0056, 0x005C,0x0061,0x0067,0x006D,0x0073,0x0078,0x007E,0x0083,0x0088,0x008E,0x0093,0x0098,0x009D,0x00A2,0x00A7,0x00AB, 0x00B0,0x00B5,0x00B9,0x00BD,0x00C1,0x00C5,0x00C9,0x00CD,0x00D1,0x00D4,0x00D8,0x00DB,0x00DE,0x00E1,0x00E4,0x00E7, 0x00EA,0x00EC,0x00EE,0x00F1,0x00F3,0x00F4,0x00F6,0x00F8,0x00F9,0x00FB,0x00FC,0x00FD,0x00FE,0x00FE,0x00FF,0x00FF, 0x00FF,0x00FF,0x00FF,0x00FF,0x00FF,0x00FE,0x00FE,0x00FD,0x00FC,0x00FB,0x00F9,0x00F8,0x00F6,0x00F4,0x00F3,0x00F1, 0x00EE,0x00EC,0x00EA,0x00E7,0x00E4,0x00E1,0x00DE,0x00DB,0x00D8,0x00D4,0x00D1,0x00CD,0x00C9,0x00C5,0x00C1,0x00BD, 0x00B9,0x00B5,0x00B0,0x00AB,0x00A7,0x00A2,0x009D,0x0098,0x0093,0x008E,0x0088,0x0083,0x007E,0x0078,0x0073,0x006D, 0x0067,0x0061,0x005C,0x0056,0x0050,0x004A,0x0044,0x003E,0x0038,0x0031,0x002B,0x0025,0x001F,0x0019,0x0012,0x000C, 0x0006,0x0000,0xFFFA,0xFFF4,0xFFEE,0xFFE7,0xFFE1,0xFFDB,0xFFD5,0xFFCF,0xFFC8,0xFFC2,0xFFBC,0xFFB6,0xFFB0,0xFFAA, 0xFFA4,0xFF9F,0xFF99,0xFF93,0xFF8D,0xFF88,0xFF82,0xFF7D,0xFF78,0xFF72,0xFF6D,0xFF68,0xFF63,0xFF5E,0xFF59,0xFF55, 0xFF50,0xFF4B,0xFF47,0xFF43,0xFF3F,0xFF3B,0xFF37,0xFF33,0xFF2F,0xFF2C,0xFF28,0xFF25,0xFF22,0xFF1F,0xFF1C,0xFF19, 0xFF16,0xFF14,0xFF12,0xFF0F,0xFF0D,0xFF0C,0xFF0A,0xFF08,0xFF07,0xFF05,0xFF04,0xFF03,0xFF02,0xFF02,0xFF01,0xFF01, 0xFF01,0xFF01,0xFF01,0xFF01,0xFF01,0xFF02,0xFF02,0xFF03,0xFF04,0xFF05,0xFF07,0xFF08,0xFF0A,0xFF0C,0xFF0D,0xFF0F, 0xFF12,0xFF14,0xFF16,0xFF19,0xFF1C,0xFF1F,0xFF22,0xFF25,0xFF28,0xFF2C,0xFF2F,0xFF33,0xFF37,0xFF3B,0xFF3F,0xFF43, 0xFF47,0xFF4B,0xFF50,0xFF55,0xFF59,0xFF5E,0xFF63,0xFF68,0xFF6D,0xFF72,0xFF78,0xFF7D,0xFF82,0xFF88,0xFF8D,0xFF93, 0xFF99,0xFF9F,0xFFA4,0xFFAA,0xFFB0,0xFFB6,0xFFBC,0xFFC2,0xFFC8,0xFFCF,0xFFD5,0xFFDB,0xFFE1,0xFFE7,0xFFEE,0xFFF4, 0xFFFA,0x0000 }; const uint8_t bonus_spr_table[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04, 0x05,0x00,0x06,0x00,0x07 }; const uint8_t tiles_5dc9_lut[] = { 0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01 }; const uint8_t tiles_yoffset_table[] = { 0x0F,0x0E,0x0D,0x0C,0x0B,0x0A,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0x00, 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02, 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, 0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09, 0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A, 0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B, 0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C, 0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D, 0x09,0x09,0x08,0x08,0x08,0x07,0x07,0x07,0x06,0x06,0x06,0x05,0x05,0x05,0x04,0x04, 0x04,0x04,0x05,0x05,0x05,0x06,0x06,0x06,0x07,0x07,0x07,0x08,0x08,0x08,0x09,0x09, 0x04,0x03,0x03,0x03,0x02,0x02,0x02,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x02,0x02,0x02,0x03,0x03,0x03,0x04, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0F,0x0F,0x0F,0x0E, 0x0E,0x0E,0x0D,0x0D,0x0D,0x0C,0x0C,0x0C,0x0B,0x0B,0x0B,0x0A,0x0A,0x0A,0x09,0x09, 0x09,0x09,0x0A,0x0A,0x0A,0x0B,0x0B,0x0B,0x0C,0x0C,0x0C,0x0D,0x0D,0x0D,0x0E,0x0E, 0x0E,0x0F,0x0F,0x0F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10 }; const uint8_t monster_spr_anim_data0[] = { 0xE6,0x00,0xFF,0xFF }; const uint8_t monster_spr_anim_data1[] = { 0xD6,0x00,0xD7,0x00,0xFE,0xFF,0x00,0x7D,0xD8,0x00,0xFF,0xFF }; const uint8_t monster_spr_anim_data2[] = { 0xD9,0x00,0xD9,0x00,0xD9,0x00,0xDB,0x00,0xDB,0x00,0xDB,0x00,0xDA,0x00,0xDA,0x00, 0xDA,0x00,0xF7,0xFF,0x00,0x7D,0xDC,0x00,0xFF,0xFF }; const uint8_t monster_spr_anim_data3[] = { 0xE1,0x00,0xFF,0xFF,0xE1,0x00,0xE1,0x00,0xE2,0x00,0xE3,0x00,0xE3,0x00,0xE2,0x00, 0xE1,0x00,0xE1,0x00,0xF8,0xFF,0xE4,0x00,0xFF,0xFF,0x00,0x7D,0xE5,0x00,0xFF,0xFF }; const uint8_t monster_spr_anim_data6[] = { 0xEC,0x00,0xEC,0x00,0xED,0x00,0xED,0x00,0xFC,0xFF,0xEE,0x00,0xFF,0xFF,0x00,0x7D, 0xEF,0x00,0xFF,0xFF }; const uint8_t monster_spr_anim_data8[] = { 0xCE,0x00,0xCE,0x00,0xCE,0x00,0xCF,0x00,0xCF,0x00,0xCF,0x00,0xD0,0x00,0xD0,0x00, 0xD0,0x00,0xD1,0x00,0xD1,0x00,0xD1,0x00,0xF4,0xFF,0xCE,0x00,0xCE,0x00,0xCF,0x00, 0xCF,0x00,0xD0,0x00,0xD0,0x00,0xD1,0x00,0xD1,0x00,0xF8,0xFF,0x00,0x7D,0xD4,0x00, 0xFF,0xFF }; const uint8_t monster_spr_anim_data9[] = { 0xC6,0x00,0xFF,0xFF }; const uint8_t common_palette_data[] = { 0x00,0x00,0x00,0x0C,0x14,0x10,0x04,0x0C,0x08,0x3C,0x3C,0x3C,0x1C,0x20,0x28,0x10, 0x14,0x20,0x0C,0x10,0x1C,0x08,0x0C,0x18,0x04,0x08,0x14,0x04,0x04,0x04,0x3C,0x38, 0x30,0x3C,0x30,0x24,0x30,0x24,0x1C,0x24,0x14,0x0C,0x20,0x28,0x24,0x10,0x18,0x14, 0x3F,0x3F,0x3F,0x08,0x08,0x18,0x18,0x10,0x20,0x18,0x18,0x30,0x20,0x20,0x38,0x38, 0x38,0x38,0x3F,0x3E,0x00,0x2F,0x2E,0x00,0x30,0x18,0x10,0x20,0x10,0x00,0x18,0x00, 0x00,0x1C,0x00,0x00,0x27,0x00,0x00,0x33,0x00,0x00,0x3F,0x10,0x10,0x00,0x00,0x00, 0x04,0x28,0x00,0x20,0x1C,0x20,0x1C,0x14,0x1C,0x18,0x0C,0x18,0x10,0x08,0x10,0x0C, 0x04,0x0C,0x08,0x00,0x08,0x04,0x00,0x04,0x24,0x10,0x04,0x1C,0x0C,0x04,0x18,0x08, 0x04,0x14,0x04,0x00,0x0C,0x00,0x00,0x08,0x00,0x00,0x00,0x04,0x08,0x00,0x00,0x00, 0x06,0x07,0x08,0x3C,0x3C,0x3C,0x24,0x2C,0x28,0x2C,0x14,0x10,0x24,0x10,0x0C,0x1C, 0x0C,0x08,0x14,0x08,0x08,0x0C,0x04,0x04,0x04,0x00,0x00,0x0C,0x14,0x10,0x3C,0x38, 0x30,0x3C,0x30,0x24,0x30,0x24,0x1C,0x24,0x14,0x0C,0x20,0x28,0x24,0x10,0x18,0x14, 0x14,0x10,0x0C,0x3C,0x3C,0x3C,0x1C,0x20,0x28,0x10,0x14,0x20,0x0C,0x10,0x1C,0x08, 0x0C,0x18,0x04,0x08,0x14,0x04,0x04,0x10,0x18,0x10,0x18,0x18,0x20,0x1C,0x20,0x18, 0x20,0x0C,0x14,0x10,0x08,0x10,0x0C,0x2C,0x28,0x2C,0x04,0x0C,0x08,0x00,0x08,0x04, 0x14,0x00,0x14,0x10,0x3C,0x3C,0x10,0x34,0x34,0x0C,0x30,0x30,0x0C,0x28,0x28,0x08, 0x24,0x24,0x08,0x1C,0x1C,0x08,0x18,0x18,0x04,0x10,0x10,0x04,0x0C,0x0C,0x00,0x04, 0x04,0x00,0x00,0x00,0x24,0x24,0x24,0x14,0x14,0x14,0x0C,0x0C,0x0C,0x30,0x34,0x34, 0x14,0x14,0x14,0x24,0x1C,0x1C,0x20,0x18,0x18,0x1C,0x14,0x14,0x18,0x10,0x10,0x14, 0x0C,0x0C,0x10,0x08,0x08,0x08,0x04,0x04,0x18,0x18,0x14,0x04,0x04,0x04,0x10,0x10, 0x0C,0x00,0x30,0x00,0x00,0x24,0x00,0x00,0x14,0x00,0x3C,0x3C,0x3C,0x2C,0x1C,0x28, 0x14,0x1C,0x0C,0x3C,0x3C,0x3C,0x28,0x1C,0x1C,0x20,0x14,0x14,0x1C,0x0C,0x0C,0x18, 0x08,0x08,0x10,0x04,0x04,0x0C,0x0C,0x04,0x14,0x14,0x10,0x18,0x18,0x1C,0x18,0x18, 0x14,0x14,0x14,0x18,0x10,0x10,0x14,0x10,0x10,0x08,0x08,0x0C,0x10,0x00,0x08,0x04 }; const uint8_t levels_palette_data[] = { 0x00,0x34,0x38,0x20,0x28,0x10,0x1C,0x28,0x00,0x18,0x20,0x0C,0x10,0x14,0x04,0x08, 0x0C,0x04,0x14,0x18,0x10,0x14,0x14,0x08,0x00,0x08,0x00,0x04,0x0C,0x14,0x08,0x10, 0x18,0x0C,0x14,0x24,0x10,0x1C,0x28,0x14,0x2C,0x34,0x0C,0x20,0x00,0x10,0x24,0x00, 0x00,0x34,0x38,0x30,0x34,0x2C,0x38,0x20,0x10,0x38,0x24,0x20,0x0C,0x20,0x00,0x10, 0x24,0x00,0x14,0x2C,0x00,0x18,0x34,0x00,0x3C,0x30,0x14,0x38,0x10,0x10,0x2D,0x00, 0x2D,0x21,0x00,0x21,0x16,0x00,0x16,0x00,0x10,0x38,0x28,0x3C,0x10,0x28,0x3C,0x10, 0x00,0x34,0x38,0x00,0x28,0x38,0x38,0x2C,0x20,0x34,0x24,0x18,0x2C,0x20,0x18,0x20, 0x18,0x08,0x1C,0x14,0x08,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x14,0x00,0x00,0x18, 0x00,0x00,0x20,0x00,0x1C,0x2C,0x00,0x3C,0x38,0x20,0x28,0x38,0x10,0x20,0x2C,0x00, 0x00,0x34,0x38,0x38,0x3C,0x38,0x00,0x14,0x00,0x00,0x18,0x00,0x00,0x20,0x00,0x08, 0x2C,0x00,0x00,0x00,0x00,0x3C,0x38,0x20,0x18,0x0C,0x08,0x20,0x10,0x08,0x20,0x14, 0x08,0x28,0x18,0x10,0x34,0x20,0x14,0x3C,0x28,0x0C,0x3C,0x2C,0x08,0x00,0x34,0x38, 0x00,0x34,0x38,0x28,0x2C,0x30,0x28,0x00,0x04,0x1C,0x00,0x04,0x00,0x18,0x04,0x00, 0x2C,0x04,0x34,0x38,0x3C,0x10,0x28,0x34,0x28,0x30,0x34,0x34,0x00,0x04,0x20,0x20, 0x24,0x1C,0x1C,0x20,0x14,0x14,0x18,0x10,0x10,0x14,0x0C,0x0C,0x10,0x3C,0x3C,0x3C, 0x00,0x24,0x26,0x14,0x10,0x0C,0x10,0x0C,0x08,0x0C,0x08,0x04,0x08,0x04,0x00,0x00, 0x00,0x00,0x22,0x07,0x00,0x2B,0x17,0x04,0x35,0x29,0x0A,0x3F,0x3F,0x12,0x00,0x00, 0x06,0x03,0x04,0x11,0x0B,0x0C,0x1D,0x18,0x18,0x28,0x29,0x29,0x33,0x3F,0x3F,0x3F, 0x00,0x24,0x26,0x2C,0x1C,0x14,0x2A,0x18,0x0C,0x26,0x16,0x10,0x20,0x12,0x06,0x1B, 0x10,0x03,0x16,0x0C,0x01,0x12,0x08,0x00,0x04,0x00,0x00,0x3C,0x3C,0x3C,0x1E,0x22, 0x26,0x17,0x1C,0x20,0x11,0x16,0x1B,0x0C,0x10,0x15,0x08,0x0C,0x10,0x04,0x08,0x0C, 0x38,0x2E,0x3F,0x3A,0x3C,0x3E,0x35,0x38,0x3E,0x31,0x35,0x3D,0x2E,0x30,0x3F,0x28, 0x2E,0x3C,0x24,0x2B,0x3C,0x20,0x28,0x3B,0x1C,0x25,0x3B,0x17,0x22,0x3B,0x13,0x1F, 0x3A,0x10,0x1C,0x3A,0x0C,0x19,0x39,0x38,0x32,0x3F,0x32,0x2C,0x3F,0x32,0x2E,0x3F, 0x3F,0x38,0x34,0x3B,0x38,0x31,0x3B,0x37,0x30,0x3B,0x36,0x2F,0x3F,0x35,0x2E,0x3F, 0x33,0x2C,0x3E,0x31,0x2A,0x3D,0x2F,0x29,0x3D,0x2D,0x28,0x3C,0x2C,0x27,0x3C,0x2A, 0x25,0x3B,0x28,0x24,0x3B,0x27,0x23,0x3F,0x37,0x39,0x3F,0x33,0x2E,0x3F,0x35,0x2E, 0x00,0x34,0x38,0x20,0x28,0x10,0x1C,0x28,0x00,0x18,0x20,0x0C,0x10,0x14,0x04,0x08, 0x0C,0x04,0x14,0x18,0x10,0x14,0x14,0x08,0x00,0x08,0x00,0x04,0x0C,0x14,0x08,0x10, 0x18,0x0C,0x14,0x24,0x10,0x1C,0x28,0x14,0x2C,0x34,0x0C,0x20,0x00,0x10,0x24,0x00, 0x1C,0x0C,0x24,0x38,0x3C,0x28,0x1C,0x20,0x00,0x08,0x10,0x00,0x3C,0x3C,0x3C,0x0C, 0x04,0x0C,0x08,0x00,0x08,0x04,0x00,0x04,0x28,0x22,0x1E,0x1C,0x18,0x14,0x14,0x10, 0x0C,0x10,0x0C,0x08,0x0C,0x08,0x04,0x00,0x00,0x00,0x00,0x04,0x08,0x00,0x00,0x00, 0x1C,0x0C,0x24,0x3E,0x36,0x30,0x3E,0x20,0x00,0x32,0x00,0x00,0x3C,0x3C,0x3C,0x0C, 0x04,0x0C,0x08,0x04,0x00,0x00,0x00,0x00,0x28,0x22,0x1E,0x1C,0x18,0x14,0x14,0x10, 0x0C,0x10,0x0C,0x08,0x0C,0x08,0x04,0x00,0x00,0x00,0x00,0x04,0x08,0x00,0x00,0x00, 0x00,0x20,0x00,0x10,0x1C,0x20,0x0C,0x18,0x1C,0x08,0x14,0x18,0x04,0x10,0x14,0x04, 0x0C,0x10,0x00,0x08,0x0C,0x00,0x04,0x08,0x30,0x28,0x0C,0x28,0x1E,0x08,0x22,0x16, 0x04,0x1C,0x0E,0x02,0x14,0x08,0x00,0x0E,0x06,0x00,0x08,0x04,0x00,0x00,0x00,0x00, 0x24,0x34,0x38,0x24,0x10,0x04,0x1C,0x0C,0x04,0x18,0x08,0x04,0x14,0x04,0x00,0x0C, 0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x18,0x14,0x10,0x14, 0x10,0x0C,0x10,0x0C,0x08,0x0C,0x08,0x04,0x08,0x04,0x00,0x04,0x00,0x00,0x00,0x00, 0x00,0x24,0x26,0x14,0x10,0x0C,0x10,0x0C,0x08,0x0C,0x08,0x04,0x08,0x04,0x00,0x00, 0x00,0x00,0x22,0x06,0x00,0x2A,0x16,0x04,0x34,0x28,0x0A,0x3E,0x3E,0x12,0x00,0x00, 0x06,0x02,0x04,0x10,0x0A,0x0C,0x1C,0x18,0x18,0x28,0x28,0x28,0x32,0x3E,0x3E,0x3E, 0x00,0x24,0x26,0x30,0x28,0x0C,0x28,0x1E,0x08,0x22,0x16,0x04,0x1C,0x0E,0x02,0x14, 0x08,0x00,0x0E,0x06,0x00,0x08,0x04,0x00,0x0E,0x18,0x18,0x0C,0x14,0x14,0x0A,0x10, 0x10,0x08,0x0E,0x0C,0x06,0x0A,0x0A,0x04,0x06,0x06,0x02,0x02,0x02,0x00,0x00,0x00, 0x00,0x00,0x00,0x0A,0x07,0x0A,0x0D,0x0A,0x0E,0x10,0x0E,0x12,0x14,0x12,0x16,0x17, 0x1A,0x1D,0x1B,0x1C,0x1F,0x21,0x1B,0x16,0x1B,0x15,0x11,0x17,0x0F,0x0D,0x12,0x0A, 0x09,0x0D,0x08,0x08,0x3A,0x00,0x34,0x3A,0x00,0x34,0x3A,0x00,0x34,0x3A,0x00,0x34, 0x00,0x00,0x00,0x06,0x0C,0x10,0x09,0x10,0x17,0x0E,0x13,0x1D,0x10,0x14,0x1F,0x16, 0x19,0x25,0x12,0x15,0x21,0x24,0x18,0x20,0x1D,0x13,0x1A,0x16,0x0D,0x15,0x0C,0x0C, 0x11,0x0A,0x0A,0x0E,0x3A,0x00,0x34,0x3A,0x00,0x34,0x3A,0x00,0x34,0x3A,0x00,0x34, 0x00,0x24,0x26,0x14,0x10,0x0C,0x10,0x0C,0x08,0x0C,0x08,0x04,0x08,0x04,0x00,0x00, 0x00,0x00,0x22,0x07,0x00,0x2B,0x17,0x04,0x35,0x29,0x0A,0x3F,0x3F,0x12,0x00,0x00, 0x06,0x03,0x04,0x11,0x0B,0x0C,0x1D,0x18,0x18,0x28,0x29,0x29,0x33,0x3F,0x3F,0x3F, 0x1C,0x0C,0x24,0x38,0x3C,0x28,0x1C,0x20,0x00,0x08,0x10,0x00,0x3C,0x3C,0x3C,0x0C, 0x04,0x0C,0x08,0x00,0x08,0x04,0x00,0x04,0x28,0x22,0x1E,0x1C,0x18,0x14,0x14,0x10, 0x0C,0x10,0x0C,0x08,0x0C,0x08,0x04,0x00,0x00,0x00,0x00,0x04,0x08,0x00,0x00,0x00, 0x0C,0x2C,0x04,0x28,0x22,0x1E,0x20,0x28,0x1C,0x20,0x24,0x1C,0x18,0x20,0x14,0x14, 0x18,0x0C,0x00,0x18,0x10,0x00,0x00,0x00,0x20,0x1C,0x18,0x1C,0x18,0x14,0x18,0x14, 0x10,0x14,0x10,0x0C,0x10,0x0C,0x08,0x0C,0x08,0x04,0x00,0x00,0x00,0x38,0x38,0x3C, 0x00,0x1C,0x00,0x16,0x14,0x00,0x12,0x11,0x00,0x0F,0x0E,0x00,0x0B,0x0A,0x00,0x07, 0x07,0x00,0x04,0x03,0x00,0x00,0x00,0x00,0x0A,0x08,0x03,0x11,0x0E,0x06,0x19,0x13, 0x09,0x18,0x14,0x0A,0x1E,0x1A,0x10,0x1A,0x1E,0x08,0x24,0x20,0x12,0x2E,0x26,0x1E, 0x24,0x34,0x38,0x20,0x10,0x04,0x18,0x0C,0x04,0x14,0x08,0x04,0x10,0x04,0x00,0x08, 0x04,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1C,0x20,0x0C,0x18, 0x1C,0x08,0x14,0x18,0x04,0x10,0x14,0x04,0x0C,0x10,0x00,0x08,0x0C,0x00,0x04,0x08, 0x24,0x34,0x38,0x10,0x3C,0x3C,0x10,0x34,0x34,0x0C,0x30,0x30,0x0C,0x28,0x28,0x08, 0x24,0x24,0x08,0x1C,0x1C,0x08,0x18,0x18,0x04,0x10,0x10,0x04,0x0C,0x0C,0x00,0x04, 0x04,0x00,0x00,0x00,0x24,0x24,0x24,0x14,0x14,0x14,0x0C,0x0C,0x0C,0x30,0x34,0x34, 0x3F,0x3F,0x3F,0x3A,0x3D,0x3E,0x36,0x3C,0x3E,0x32,0x3A,0x3E,0x2E,0x39,0x3E,0x2A, 0x37,0x3E,0x26,0x36,0x3F,0x22,0x35,0x3F,0x1E,0x33,0x3F,0x1A,0x32,0x3F,0x16,0x31, 0x3F,0x12,0x2F,0x3F,0x0E,0x2E,0x3F,0x0A,0x2C,0x3F,0x06,0x2B,0x3F,0x02,0x2A,0x3F, 0x00,0x00,0x00,0x0A,0x03,0x03,0x0F,0x05,0x03,0x14,0x07,0x03,0x1A,0x0B,0x03,0x1F, 0x10,0x02,0x23,0x16,0x00,0x0F,0x0B,0x07,0x14,0x11,0x0B,0x1A,0x19,0x10,0x1E,0x1F, 0x15,0x22,0x25,0x1C,0x01,0x3D,0x00,0x01,0x3D,0x00,0x01,0x3D,0x00,0x01,0x3D,0x00, 0x00,0x00,0x00,0x03,0x03,0x05,0x07,0x08,0x0D,0x09,0x0A,0x10,0x0C,0x0D,0x14,0x0F, 0x0F,0x17,0x12,0x12,0x1A,0x0D,0x03,0x00,0x10,0x06,0x00,0x14,0x09,0x00,0x18,0x0D, 0x00,0x1C,0x12,0x00,0x01,0x3D,0x00,0x01,0x3D,0x00,0x01,0x3D,0x00,0x01,0x3D,0x00, 0x00,0x18,0x00,0x20,0x1C,0x18,0x1C,0x18,0x14,0x18,0x14,0x10,0x14,0x10,0x0C,0x10, 0x0C,0x08,0x0C,0x08,0x04,0x08,0x04,0x00,0x00,0x00,0x00,0x18,0x1C,0x18,0x14,0x18, 0x14,0x10,0x14,0x10,0x0C,0x10,0x0C,0x08,0x0C,0x08,0x04,0x08,0x04,0x00,0x04,0x00, 0x00,0x00,0x00,0x1C,0x14,0x14,0x18,0x10,0x10,0x14,0x0C,0x0C,0x10,0x08,0x08,0x0C, 0x04,0x04,0x08,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x1C,0x20,0x1C,0x18,0x1C, 0x18,0x14,0x18,0x14,0x10,0x14,0x10,0x0C,0x10,0x0C,0x08,0x0C,0x08,0x04,0x08,0x04, 0x00,0x00,0x00,0x20,0x1C,0x18,0x1C,0x18,0x14,0x18,0x14,0x10,0x14,0x10,0x0C,0x10, 0x0C,0x08,0x0C,0x08,0x04,0x08,0x04,0x00,0x00,0x00,0x00,0x08,0x08,0x18,0x18,0x18, 0x28,0x1C,0x20,0x30,0x24,0x28,0x3C,0x00,0x08,0x00,0x00,0x28,0x28,0x38,0x38,0x34, 0x00,0x00,0x00,0x3D,0x3F,0x2E,0x3A,0x3F,0x27,0x38,0x3F,0x1F,0x34,0x3F,0x17,0x31, 0x3F,0x10,0x2D,0x3F,0x08,0x28,0x3F,0x00,0x00,0x00,0x00,0x07,0x08,0x17,0x06,0x07, 0x13,0x04,0x05,0x0F,0x03,0x04,0x0B,0x02,0x02,0x08,0x01,0x01,0x04,0x00,0x00,0x00, 0x00,0x18,0x00,0x08,0x08,0x18,0x18,0x10,0x20,0x18,0x18,0x30,0x20,0x20,0x38,0x38, 0x38,0x38,0x28,0x28,0x28,0x23,0x1F,0x1F,0x1E,0x18,0x18,0x1A,0x11,0x11,0x15,0x0C, 0x0C,0x10,0x07,0x07,0x0C,0x04,0x04,0x20,0x2A,0x20,0x38,0x38,0x18,0x00,0x00,0x00, 0x00,0x00,0x00,0x14,0x10,0x0C,0x10,0x0C,0x08,0x0C,0x08,0x04,0x08,0x04,0x00,0x00, 0x00,0x00,0x22,0x07,0x00,0x2B,0x17,0x04,0x35,0x29,0x0A,0x3F,0x3F,0x12,0x00,0x00, 0x06,0x03,0x04,0x11,0x0B,0x0C,0x1D,0x18,0x18,0x28,0x29,0x29,0x33,0x3F,0x3F,0x3F, 0x37,0x00,0x00,0x37,0x00,0x00,0x37,0x00,0x00,0x37,0x00,0x00,0x37,0x00,0x00,0x37, 0x00,0x00,0x37,0x00,0x00,0x37,0x00,0x00,0x37,0x00,0x00,0x37,0x00,0x00,0x37,0x00, 0x00,0x37,0x00,0x00,0x37,0x00,0x00,0x37,0x00,0x00,0x37,0x00,0x00,0x37,0x00,0x00, 0x00,0x00,0x00,0x31,0x24,0x10,0x0B,0x0A,0x12,0x2C,0x1D,0x12,0x25,0x12,0x0E,0x1F, 0x0B,0x0D,0x19,0x08,0x0E,0x12,0x05,0x0D,0x0C,0x03,0x0B,0x37,0x2D,0x1E,0x1A,0x1C, 0x18,0x07,0x14,0x1D,0x0F,0x12,0x12,0x0B,0x0D,0x11,0x0B,0x08,0x10,0x04,0x1F,0x23, 0x00,0x00,0x00,0x14,0x23,0x17,0x12,0x0E,0x0D,0x14,0x20,0x17,0x11,0x1C,0x18,0x0F, 0x19,0x18,0x0D,0x13,0x15,0x0A,0x0D,0x12,0x08,0x08,0x0B,0x1D,0x23,0x17,0x19,0x1E, 0x11,0x19,0x14,0x13,0x08,0x12,0x04,0x08,0x0D,0x0A,0x04,0x09,0x04,0x22,0x1B,0x1A }; const uint8_t tile_lut_data0[] = { 0x01,0xFA,0x06,0x00 }; const uint8_t tile_lut_data1[] = { 0x05,0xFA,0x06,0x00,0x87,0x03,0x01,0x8A,0x03,0x02,0xD5,0x03,0x01,0xD8,0x03,0x02 }; const uint8_t tile_lut_data2[] = { 0x06,0xFA,0x06,0x00,0x80,0x03,0x01,0x83,0x03,0x02,0x87,0x03,0x02,0x8A,0x03,0x01, 0x8D,0x03,0x02 }; const uint8_t tile_lut_data3[] = { 0x01,0xFA,0x06,0x00 }; const uint16_t tile_funcs0[] = { 0x5DAA,0x5E83,0x5E83,0x5DAA,0x5F73,0x5DAA,0x5DAA,0x5F78,0x5DAA,0x5E83,0x5E83,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B, 0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B, 0x5F7B,0x5F0E,0x5F0E,0x5E83,0x5DAA,0x5DAA,0x5DAA,0x5DAA,0x5DAA,0x5DAA,0x5F0E }; const uint16_t tile_funcs1[] = { 0x5DAA,0x5E83,0x5E83,0x5DAA,0x5F73,0x5DAA,0x5EEC,0x5F78,0x5D3E,0x5E83,0x5E83,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B, 0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B, 0x5F7B,0x5F16,0x5F16,0x5FA7,0x5F94,0x5F94,0x5F94,0x5F94,0x5F94,0x5F94,0x5F0E }; const uint16_t tile_funcs2[] = { 0x5DC8,0x5DC8,0x5DC9,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC9,0x5DC9,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8, 0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8, 0x5DC8,0x5DC8,0x5DC8,0x5F9E,0x5F94,0x5F94,0x5F94,0x5F94,0x5F94,0x5F94,0x5DC8 }; const uint16_t tile_funcs3[] = { 0x5DC8,0x5DC8,0x5E58,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5DC8,0x5E58,0x5E58,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B, 0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B,0x5F7B, 0x5F7B,0x5DC8,0x5DC8,0x5F9E,0x5F94,0x5F94,0x5F94,0x5F94,0x5F94,0x5F94,0x5DC8 }; const uint8_t level_data_tiles_lut[] = { 0x00,0x00,0x00,0x00,0x00,0x1D,0x1E,0x00,0x04,0x01,0x01,0x01,0x00,0x00,0x00,0x0B, 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x1B,0x05,0x00,0x05,0x00,0x01,0x01, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x00,0x07, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x05,0x1C,0x1A,0x05,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, 0x00,0x0B,0x0C,0x0D,0x0E,0x0F,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x0B,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x00,0x00, 0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x22,0x21,0x22,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x2A,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x23,0x00,0x1F,0x20,0x00,0x00,0x1D,0x1E,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1A, 0x19,0x1B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x06,0x06,0x06,0x06,0x06,0x06, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02, 0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x00,0x00, 0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02, 0x00,0x02,0x02,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00, 0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x02,0x02,0x02,0x02,0x00,0x00,0x24,0x24,0x24,0x25,0x25,0x25,0x02,0x00,0x00, 0x00,0x00,0x00,0x00,0x0A,0x0A,0x0A,0x02,0x02,0x00,0x00,0x21,0x22,0x21,0x22,0x0A, 0x0A,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x02,0x02,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00, 0x01,0x01,0x08,0x01,0x01,0x26,0x26,0x26,0x27,0x27,0x27,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09, 0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x06,0x06,0x06,0x06,0x06,0x06, 0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x01,0x08,0x01,0x02,0x02,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x23,0x23,0x00,0x08,0x00,0x01,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02, 0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02, 0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x23,0x23,0x02,0x08,0x02,0x02,0x00, 0x00,0x00,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x23,0x23,0x08, 0x08,0x02,0x02,0x00,0x00,0x02,0x00,0x00,0x23,0x23,0x23,0x23,0x00,0x00,0x00,0x00, 0x24,0x24,0x24,0x25,0x25,0x25,0x02,0x26,0x26,0x26,0x27,0x27,0x27,0x28,0x28,0x28, 0x00,0x00,0x08,0x00,0x02,0x02,0x00,0x23,0x00,0x00,0x00,0x21,0x22,0x21,0x22,0x08, 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x23,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06, 0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21, 0x22,0x21,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x02,0x02,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x02,0x02,0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x23,0x23,0x23,0x23,0x23,0x23, 0x23,0x23,0x23,0x23,0x02,0x02,0x02,0x02,0x23,0x00,0x00,0x00,0x00,0x02,0x02,0x02, 0x02,0x02,0x02,0x02,0x23,0x02,0x02,0x02,0x02,0x02,0x23,0x02,0x23,0x00,0x00,0x00, 0x02,0x02,0x23,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06 }; const uint8_t player_anim_dy[] = { 0xFF,0xFE,0xFC,0xF9,0xF2,0xEA,0xDA,0x00 }; const uint8_t player_anim_lut[] = { 0x00,0x02,0x04,0x03,0x02,0x00,0x03,0x00,0x05,0x05,0x00,0x00,0x05,0x00,0x00,0x00, 0x06,0x06,0x07,0x07,0x06,0x06,0x07,0x00,0x06,0x06,0x00,0x00,0x06,0x00,0x00,0x00, 0x0D,0x0F,0x11,0x11,0x0F,0x0D,0x11,0x0D,0x12,0x12,0x0D,0x0D,0x12,0x0D,0x0D,0x0D, 0x13,0x13,0x14,0x14,0x13,0x13,0x14,0x0D,0x13,0x13,0x0D,0x0D,0x13,0x0D,0x0D,0x0D, 0x15,0x17,0x19,0x19,0x17,0x15,0x19,0x15,0x1A,0x1A,0x15,0x15,0x1A,0x15,0x15,0x15, 0x1B,0x1B,0x1C,0x1C,0x1B,0x1B,0x1C,0x15,0x1B,0x1B,0x15,0x15,0x1B,0x15,0x15,0x15, 0x15,0x17,0x19,0x19,0x17,0x15,0x19,0x15,0x1A,0x1A,0x15,0x15,0x1A,0x15,0x15,0x15, 0x1B,0x1B,0x1C,0x1C,0x1B,0x1B,0x1C,0x15,0x1B,0x1B,0x15,0x15,0x1B,0x15,0x15,0x15, 0x09,0x0B,0x0A,0x0A,0x0C,0x09,0x0A,0x0A,0x08,0x05,0x09,0x09,0x05,0x08,0x09,0x09, 0x06,0x06,0x06,0x06,0x06,0x09,0x06,0x09,0x06,0x06,0x09,0x09,0x06,0x09,0x09,0x09, 0x1E,0x20,0x1F,0x1F,0x21,0x1E,0x1F,0x1F,0x1D,0x12,0x1E,0x1E,0x12,0x1D,0x1E,0x1E, 0x13,0x13,0x13,0x13,0x13,0x1E,0x13,0x1E,0x13,0x13,0x1E,0x1E,0x13,0x1E,0x1E,0x1E }; static const uint8_t tab6278[] = { 0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00, 0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00, 0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00, 0x14,0x00,0x15,0x00,0x15,0x00,0x15,0x00,0x15,0x00,0x15,0x00,0x16,0x00,0x16,0x00, 0x16,0x00,0x16,0x00,0x16,0x00,0xF1,0xFF }; static const uint8_t tab62c0[] = { 0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x12,0x00,0x12,0x00, 0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00, 0x11,0x00,0x11,0x00,0x11,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x11,0x00,0x11,0x00, 0x11,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x40,0x12,0x40,0x12,0x40,0x12,0x40, 0x12,0x40,0x12,0x40,0x11,0x40,0x11,0x40,0x11,0x40,0x11,0x40,0x11,0x40,0x11,0x40, 0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00, 0x12,0x00,0x12,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x12,0x00,0x12,0x00,0x12,0x00, 0x11,0x00,0x11,0x00,0x11,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x11,0x40,0x11,0x40, 0x11,0x40,0x11,0x40,0x11,0x40,0x11,0x40,0x12,0x40,0x12,0x40,0x12,0x40,0x12,0x40, 0x12,0x40,0x12,0x40,0x11,0x40,0x11,0x40,0x11,0x40,0x11,0x40,0x11,0x40,0x11,0x40, 0x12,0x40,0x12,0x40,0x12,0x40,0x12,0x40,0x12,0x40,0x12,0x40,0x11,0x40,0x11,0x40, 0x11,0x40,0x11,0x40,0x11,0x40,0x11,0x40,0x12,0x40,0x12,0x40,0x12,0x40,0x11,0x40, 0x11,0x40,0x11,0x40,0x12,0x40,0x12,0x40,0x12,0x40,0x11,0x00,0x11,0x00,0x11,0x00, 0x11,0x00,0x11,0x00,0x11,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00, 0x12,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x12,0x00, 0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x11,0x00,0x11,0x00,0x11,0x00, 0x11,0x00,0x11,0x00,0x11,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00, 0x12,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x12,0x00, 0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x14,0x20,0xFF,0xFF }; static const uint8_t tab63ee[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00, 0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00, 0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x05,0x00, 0xE8,0xFF }; static const uint8_t tab6420[] = { 0x06,0x00,0x06,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x08,0x00,0x08,0x00,0x08,0x00, 0x09,0x00,0x09,0x00,0x09,0x00,0xF7,0xFF }; static const uint8_t tab6438[] = { 0x06,0x00,0xFF,0xFF }; static const uint8_t tab643c[] = { 0x0A,0x00,0xFF,0xFF }; static const uint8_t tab6440[] = { 0x10,0x00,0x10,0x20,0x10,0x00,0xFD,0xFF }; static const uint8_t tab6448[] = { 0x17,0x00,0x17,0x20,0x17,0x00,0xFD,0xFF }; static const uint8_t tab6266[] = { 0x0D,0x00,0x0D,0x00,0x0E,0x00,0x0E,0x00,0x0D,0x40,0x0D,0x40,0x0E,0x40,0x0E,0x40, 0xF8,0xFF }; static const uint8_t tab6262[] = { 0x0D,0x00,0xFF,0xFF }; static const uint8_t tab6450[] = { 0x26,0x00,0x26,0x00,0x26,0x00,0x26,0x00,0x26,0x00,0x26,0x00,0x26,0x00,0x27,0x00, 0x27,0x00,0x27,0x00,0x27,0x00,0x27,0x00,0x27,0x00,0x27,0x00,0x28,0x00,0x28,0x00, 0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x27,0x00,0x27,0x00,0x27,0x00, 0x27,0x00,0x27,0x00,0x27,0x00,0x27,0x00,0xE4,0xFF }; static const uint8_t tab648a[] = { 0x19,0x00,0x19,0x00,0x19,0x00,0x19,0x00,0x1A,0x00,0x1A,0x00,0x1A,0x00,0x1A,0x00, 0x1B,0x00,0x1B,0x00,0x1B,0x00,0x1B,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00, 0x1D,0x00,0x1D,0x00,0x1D,0x00,0x1D,0x00,0x1E,0x00,0x1E,0x00,0x1E,0x00,0x1E,0x00, 0xE8,0xFF }; static const uint8_t tab64bc[] = { 0x21,0x00,0xFF,0xFF }; static const uint8_t tab64c0[] = { 0x23,0x00,0xFF,0xFF }; static const uint8_t tab64c4[] = { 0x29,0x00,0x29,0x20,0xFF,0xFF }; static const uint8_t tab64ca[] = { 0x22,0x00,0x22,0x20,0xFF,0xFF }; static const uint8_t tab64e6[] = { 0x96,0x00,0x96,0x00,0x96,0x00,0x96,0x00,0x96,0x00,0x96,0x00,0x96,0x00,0x97,0x00, 0x97,0x00,0x97,0x00,0x97,0x00,0x97,0x00,0x97,0x00,0x97,0x00,0x98,0x00,0x98,0x00, 0x98,0x00,0x98,0x00,0x98,0x00,0x98,0x00,0x98,0x00,0x97,0x00,0x97,0x00,0x97,0x00, 0x97,0x00,0x97,0x00,0x97,0x00,0x97,0x00,0xE4,0xFF }; static const uint8_t tab6520[] = { 0x8C,0x00,0x8C,0x00,0x8C,0x00,0x8C,0x00,0x8D,0x00,0x8D,0x00,0x8D,0x00,0x8D,0x00, 0x8E,0x00,0x8E,0x00,0x8E,0x00,0x8E,0x00,0x8F,0x00,0x8F,0x00,0x8F,0x00,0x8F,0x00, 0x90,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0x91,0x00,0x91,0x00,0x91,0x00,0x91,0x00, 0xE8,0xFF }; static const uint8_t tab6552[] = { 0x95,0x00,0xFF,0xFF }; static const uint8_t tab6556[] = { 0x92,0x00,0xFF,0xFF }; static const uint8_t tab655a[] = { 0x18,0x20,0xFF,0xFF }; static const uint8_t tab655e[] = { 0x17,0x20,0xFF,0xFF }; static const uint8_t tab64d4[] = { 0x1F,0x00,0x1F,0x00,0x20,0x00,0x20,0x00,0x1F,0x40,0x1F,0x40,0x20,0x40,0x20,0x40, 0xF8,0xFF }; static const uint8_t tab64d0[] = { 0x1F,0x00,0xFF,0xFF }; static const uint8_t tab625e[] = { 0x8A,0x00,0xFF,0xFF }; static const uint8_t tab6562[] = { 0x25,0x00,0xFF,0xFF }; const uint8_t *player_anim_table[] = { tab6278,tab62c0,tab63ee,tab6420, tab6438,tab643c,tab6440,tab6448, tab6266,tab6262,tab6266,tab6266, tab6266,tab6450, 0,tab648a, 0,tab64bc,tab64c0,tab64c4, tab64ca,tab64e6, 0,tab6520, 0,tab6552,tab6556,tab655a, tab655e,tab64d4,tab64d0,tab64d4, tab64d4,tab64d4,tab625e,tab6562, };