diff --git a/demos/demo1-basicfeatures/CMakeLists.txt b/demos/demo1-basicfeatures/CMakeLists.txt index 528be55..a65fa44 100644 --- a/demos/demo1-basicfeatures/CMakeLists.txt +++ b/demos/demo1-basicfeatures/CMakeLists.txt @@ -8,7 +8,7 @@ add_executable(${PROJECT_NAME}.elf src/sample_sound.h src/kul.h src/flying_stuff_scene.cpp - src/flying_stuff_scene.h) + src/flying_stuff_scene.h src/ff.h) target_link_libraries(${PROJECT_NAME}.elf gba-sprite-engine) diff --git a/demos/demo1-basicfeatures/flying_stuff_bg.png b/demos/demo1-basicfeatures/img/flying_stuff_bg.png similarity index 100% rename from demos/demo1-basicfeatures/flying_stuff_bg.png rename to demos/demo1-basicfeatures/img/flying_stuff_bg.png diff --git a/demos/demo1-basicfeatures/img/lama.png b/demos/demo1-basicfeatures/img/lama.png new file mode 100644 index 0000000..31c654e Binary files /dev/null and b/demos/demo1-basicfeatures/img/lama.png differ diff --git a/demos/demo1-basicfeatures/img/lopen_jongen.png b/demos/demo1-basicfeatures/img/lopen_jongen.png new file mode 100644 index 0000000..ed1feee Binary files /dev/null and b/demos/demo1-basicfeatures/img/lopen_jongen.png differ diff --git a/demos/demo1-basicfeatures/lama.png b/demos/demo1-basicfeatures/lama.png deleted file mode 100644 index 8737e6b..0000000 Binary files a/demos/demo1-basicfeatures/lama.png and /dev/null differ diff --git a/demos/demo1-basicfeatures/src/ff.h b/demos/demo1-basicfeatures/src/ff.h new file mode 100644 index 0000000..3f5a2ef --- /dev/null +++ b/demos/demo1-basicfeatures/src/ff.h @@ -0,0 +1,39 @@ +// +// Created by Wouter Groeneveld on 06/12/18. +// + +#ifndef GBA_SPRITE_ENGINE_PROJECT_FF_H +#define GBA_SPRITE_ENGINE_PROJECT_FF_H + +const unsigned int lopen_jongenTiles[128] __attribute__((aligned(4)))= + { + 0x1C1C1C1C,0x1D1D1D1C,0x1C1C1C1C,0x2724201D,0x1D1C1C1C,0x27272A24,0x241D1C1C,0x242A2721, + 0x271D1C1C,0x29202120,0x1D1C1C1C,0x21212024,0x1D1D1D1C,0x1F1E1F1E,0x2929211D,0x261E261E, + 0x1C1D1D1D,0x1C1C1C1C,0x1D242A27,0x1C1C1C1D,0x272A2727,0x1C1D1D24,0x1F272724,0x1D242724, + 0x271F2026,0x1C1D1D24,0x20202121,0x1C1D2427,0x1E1F1E22,0x1C1D1E1E,0x1E261E26,0x1D1F2523, + 0x2B211D1C,0x2A261E25,0x211D1C1C,0x1F1E211E,0x1E1D1C1C,0x1E29251F,0x261E1D1C,0x2B231E22, + 0x1E251D1C,0x201F1E1E,0x2323251D,0x25291F1E,0x1E23291D,0x2121231D,0x1D1D1D1C,0x25291D1C, + 0x251E2628,0x1C1D1F2B,0x1E211E1F,0x1C1C1D1F,0x1E25291E,0x1C1D1F22,0x1F1E2329,0x1C1D262A, + 0x1E1E1E20,0x1D1E2626,0x1D1F1F1E,0x1D251E1E,0x1D1D251E,0x1D29231D,0x1C1D1D1D,0x1C1D1D1C, + + 0x1C1C1C1C,0x1D1D1D1C,0x1C1C1C1C,0x2724201D,0x1D1C1C1C,0x27272A27,0x201D1C1C,0x242A2A21, + 0x241D1C1C,0x29202120,0x1D1C1C1C,0x21212024,0x1D1D1D1C,0x1F1E1F1E,0x2929211D,0x261E261E, + 0x1C1D1D1D,0x1C1C1C1C,0x1D242A27,0x1C1C1D1D,0x2A2A2727,0x1C1D2427,0x1F272724,0x1C1D1D24, + 0x241F2026,0x1C1D2427,0x20202121,0x1C1C1D24,0x1E1F1E22,0x1C1D1D1E,0x1E261E26,0x1D212523, + 0x2B211D1C,0x2A261E25,0x211D1C1C,0x1F1E211E,0x221F1D1C,0x1E29251E,0x2A261D1C,0x2B231E1F, + 0x26261E1D,0x201E1E1E,0x1E1E251D,0x1E1F211D,0x1D23291D,0x1E251D1D,0x1C1D1D1C,0x1D1D1D1C, + 0x251E2628,0x1C1D212B,0x1E211E1F,0x1C1C1D1F,0x1F25291E,0x1C1C1D1E,0x221E2329,0x1C1D1E26, + 0x1E1E1F20,0x1C1D251E,0x1E212925,0x1D252323,0x1D232121,0x1D29231E,0x1C1D2925,0x1C1D1D1D, + }; + +const unsigned short sharedPal[44] __attribute__((aligned(4)))= + { + 0x033A,0x0C85,0x0489,0x08AB,0x08AB,0x08CA,0x04CB,0x08CB, + 0x150E,0x0532,0x1D8C,0x1592,0x1578,0x1DCE,0x11B6,0x25EF, + 0x161A,0x123A,0x123C,0x123C,0x1A5A,0x12BD,0x22BD,0x1ADD, + 0x331D,0x231F,0x333D,0x379E,0x0000,0x0842,0x2429,0x0073, + 0x2D2D,0x117B,0x2997,0x19D4,0x51F4,0x0AD8,0x1A9F,0x6AD8, + 0x571F,0x0BBB,0x47DF,0x77FF, + }; + +#endif //GBA_SPRITE_ENGINE_PROJECT_FF_H diff --git a/demos/demo1-basicfeatures/src/lama.h b/demos/demo1-basicfeatures/src/lama.h index d667ea8..e7f7d82 100644 --- a/demos/demo1-basicfeatures/src/lama.h +++ b/demos/demo1-basicfeatures/src/lama.h @@ -1,549 +1,235 @@ +//{{BLOCK(lama) -const unsigned char lama_data [] = { -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x01, 0x01, 0x02, 0x02, -0x02, 0x02, 0x03, 0x03, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x05, 0x05, -0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x02, 0x02, 0x04, 0x04, -0x02, 0x02, 0x06, 0x06, 0x07, 0x07, 0x06, 0x06, 0x02, 0x02, 0x06, 0x06, -0x07, 0x07, 0x06, 0x06, 0x02, 0x02, 0x08, 0x08, 0x06, 0x06, 0x03, 0x03, -0x02, 0x02, 0x08, 0x08, 0x06, 0x06, 0x03, 0x03, 0x02, 0x02, 0x09, 0x09, -0x03, 0x03, 0x07, 0x07, 0x02, 0x02, 0x09, 0x09, 0x03, 0x03, 0x07, 0x07, -0x05, 0x05, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x05, 0x05, 0x02, 0x02, -0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, -0x02, 0x02, 0x0B, 0x0B, 0x07, 0x07, 0x09, 0x09, 0x02, 0x02, 0x0B, 0x0B, -0x07, 0x07, 0x09, 0x09, 0x02, 0x02, 0x0B, 0x0B, 0x0B, 0x0B, 0x04, 0x04, -0x02, 0x02, 0x0B, 0x0B, 0x0B, 0x0B, 0x04, 0x04, 0x02, 0x02, 0x0B, 0x0B, -0x0C, 0x0C, 0x04, 0x04, 0x02, 0x02, 0x0B, 0x0B, 0x0C, 0x0C, 0x04, 0x04, -0x02, 0x02, 0x0B, 0x0B, 0x0C, 0x0C, 0x04, 0x04, 0x02, 0x02, 0x0B, 0x0B, -0x0C, 0x0C, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x0D, 0x0E, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0E, 0x0D, 0x0D, -0x0D, 0x0D, 0x0D, 0x0D, 0x0F, 0x0F, 0x0C, 0x0C, 0x0F, 0x0F, 0x02, 0x02, -0x0F, 0x0F, 0x0C, 0x0C, 0x0F, 0x0F, 0x02, 0x02, 0x10, 0x10, 0x11, 0x11, -0x11, 0x11, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, -0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x10, 0x10, -0x11, 0x11, 0x10, 0x10, 0x02, 0x02, 0x12, 0x12, 0x0C, 0x0C, 0x13, 0x13, -0x02, 0x02, 0x12, 0x12, 0x0C, 0x0C, 0x13, 0x13, 0x12, 0x12, 0x0C, 0x0C, -0x0C, 0x0C, 0x13, 0x13, 0x12, 0x12, 0x0C, 0x0C, 0x0C, 0x0C, 0x13, 0x13, -0x11, 0x11, 0x11, 0x11, 0x13, 0x13, 0x13, 0x13, 0x11, 0x11, 0x11, 0x11, -0x13, 0x13, 0x13, 0x13, 0x11, 0x11, 0x11, 0x11, 0x13, 0x13, 0x04, 0x04, -0x11, 0x11, 0x11, 0x11, 0x13, 0x13, 0x04, 0x04, 0x14, 0x14, 0x02, 0x02, -0x01, 0x01, 0x01, 0x01, 0x14, 0x14, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, -0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x03, 0x03, -0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x0B, 0x0B, 0x01, 0x01, 0x01, 0x01, -0x04, 0x04, 0x0B, 0x0B, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x01, 0x01, 0x02, 0x02, -0x02, 0x02, 0x03, 0x03, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x05, 0x05, -0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x02, 0x02, 0x04, 0x04, -0x02, 0x02, 0x06, 0x06, 0x07, 0x07, 0x06, 0x06, 0x02, 0x02, 0x06, 0x06, -0x07, 0x07, 0x06, 0x06, 0x02, 0x02, 0x08, 0x08, 0x06, 0x06, 0x03, 0x03, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x05, 0x05, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x05, 0x05, 0x02, 0x02, -0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x02, 0x02, 0x08, 0x08, 0x06, 0x06, 0x03, 0x03, 0x02, 0x02, 0x09, 0x09, -0x03, 0x03, 0x07, 0x07, 0x02, 0x02, 0x09, 0x09, 0x03, 0x03, 0x07, 0x07, -0x02, 0x02, 0x0B, 0x0B, 0x07, 0x07, 0x09, 0x09, 0x02, 0x02, 0x0B, 0x0B, -0x07, 0x07, 0x09, 0x09, 0x02, 0x02, 0x0B, 0x0B, 0x0B, 0x0B, 0x04, 0x04, -0x02, 0x02, 0x0B, 0x0B, 0x0B, 0x0B, 0x04, 0x04, 0x02, 0x02, 0x0B, 0x0B, -0x0C, 0x0C, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, -0x0D, 0x0E, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0E, 0x0D, 0x0D, -0x0D, 0x0D, 0x0D, 0x0D, 0x0F, 0x0F, 0x0C, 0x0C, 0x0F, 0x0F, 0x02, 0x02, -0x0F, 0x0F, 0x0C, 0x0C, 0x0F, 0x0F, 0x02, 0x02, 0x10, 0x10, 0x11, 0x11, -0x11, 0x11, 0x11, 0x11, 0x02, 0x02, 0x0B, 0x0B, 0x0C, 0x0C, 0x04, 0x04, -0x02, 0x02, 0x0B, 0x0B, 0x0C, 0x0C, 0x04, 0x04, 0x02, 0x02, 0x0B, 0x0B, -0x0C, 0x0C, 0x04, 0x04, 0x02, 0x02, 0x12, 0x12, 0x0C, 0x0C, 0x13, 0x13, -0x02, 0x02, 0x12, 0x12, 0x0C, 0x0C, 0x13, 0x13, 0x12, 0x12, 0x0C, 0x0C, -0x0C, 0x0C, 0x13, 0x13, 0x12, 0x12, 0x0C, 0x0C, 0x0C, 0x0C, 0x13, 0x13, -0x11, 0x11, 0x11, 0x11, 0x13, 0x13, 0x13, 0x13, 0x03, 0x03, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x14, 0x14, 0x02, 0x02, -0x01, 0x01, 0x01, 0x01, 0x14, 0x14, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, -0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x03, 0x03, -0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x0B, 0x0B, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, -0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x10, 0x10, -0x11, 0x11, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, -0x10, 0x10, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x15, 0x15, 0x16, 0x16, -0x17, 0x17, 0x16, 0x16, 0x15, 0x15, 0x16, 0x16, 0x17, 0x17, 0x16, 0x16, -0x15, 0x15, 0x18, 0x18, 0x15, 0x15, 0x18, 0x18, 0x11, 0x11, 0x11, 0x11, -0x13, 0x13, 0x13, 0x13, 0x11, 0x11, 0x11, 0x11, 0x13, 0x13, 0x04, 0x04, -0x11, 0x11, 0x11, 0x11, 0x13, 0x13, 0x04, 0x04, 0x10, 0x10, 0x11, 0x11, -0x14, 0x14, 0x04, 0x04, 0x10, 0x10, 0x11, 0x11, 0x14, 0x14, 0x04, 0x04, -0x0B, 0x0B, 0x15, 0x15, 0x0B, 0x0B, 0x16, 0x16, 0x0B, 0x0B, 0x15, 0x15, -0x0B, 0x0B, 0x16, 0x16, 0x15, 0x15, 0x01, 0x01, 0x15, 0x15, 0x18, 0x18, -0x04, 0x04, 0x0B, 0x0B, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x0B, 0x0B, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0B, 0x0B, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x15, 0x15, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x15, 0x15, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x15, 0x15, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x02, 0x04, 0x04, 0x05, 0x05, 0x02, 0x02, 0x04, 0x02, 0x04, 0x04, 0x05, -0x05, 0x02, 0x02, 0x04, 0x01, 0x02, 0x02, 0x06, 0x06, 0x07, 0x07, 0x06, -0x01, 0x02, 0x02, 0x06, 0x06, 0x07, 0x07, 0x06, 0x01, 0x02, 0x02, 0x08, -0x08, 0x06, 0x06, 0x03, 0x01, 0x02, 0x02, 0x08, 0x08, 0x06, 0x06, 0x03, -0x01, 0x02, 0x02, 0x09, 0x09, 0x03, 0x03, 0x07, 0x01, 0x02, 0x02, 0x09, -0x09, 0x03, 0x03, 0x07, 0x04, 0x05, 0x05, 0x02, 0x02, 0x01, 0x01, 0x01, -0x04, 0x05, 0x05, 0x02, 0x02, 0x01, 0x01, 0x01, 0x06, 0x02, 0x02, 0x01, -0x01, 0x01, 0x01, 0x01, 0x06, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, -0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x02, 0x01, -0x01, 0x01, 0x01, 0x01, 0x07, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, -0x07, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, -0x0A, 0x0A, 0x0A, 0x0A, 0x01, 0x02, 0x02, 0x0B, 0x0B, 0x07, 0x07, 0x09, -0x01, 0x02, 0x02, 0x0B, 0x0B, 0x07, 0x07, 0x09, 0x01, 0x02, 0x02, 0x0B, -0x0B, 0x0B, 0x0B, 0x04, 0x01, 0x02, 0x02, 0x0B, 0x0B, 0x0B, 0x0B, 0x04, -0x01, 0x02, 0x02, 0x0B, 0x0B, 0x0C, 0x0C, 0x04, 0x01, 0x02, 0x02, 0x0B, -0x0B, 0x0C, 0x0C, 0x04, 0x0A, 0x02, 0x02, 0x0B, 0x0B, 0x0C, 0x0C, 0x04, -0x0A, 0x02, 0x02, 0x0B, 0x0B, 0x0C, 0x0C, 0x04, 0x09, 0x02, 0x02, 0x01, -0x01, 0x01, 0x01, 0x01, 0x09, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, -0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x04, 0x02, 0x02, 0x01, -0x01, 0x01, 0x01, 0x01, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, -0x04, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x04, 0x03, 0x03, 0x01, -0x01, 0x01, 0x01, 0x01, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x0A, 0x0D, 0x0E, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, -0x0A, 0x0D, 0x0E, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0F, 0x0F, 0x0C, -0x0C, 0x0F, 0x0F, 0x02, 0x0D, 0x0F, 0x0F, 0x0C, 0x0C, 0x0F, 0x0F, 0x02, -0x11, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, 0x11, -0x11, 0x11, 0x11, 0x11, 0x0A, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x10, -0x0A, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x10, 0x0D, 0x02, 0x02, 0x12, -0x12, 0x0C, 0x0C, 0x13, 0x0D, 0x02, 0x02, 0x12, 0x12, 0x0C, 0x0C, 0x13, -0x02, 0x12, 0x12, 0x0C, 0x0C, 0x0C, 0x0C, 0x13, 0x02, 0x12, 0x12, 0x0C, -0x0C, 0x0C, 0x0C, 0x13, 0x11, 0x11, 0x11, 0x11, 0x11, 0x13, 0x13, 0x13, -0x11, 0x11, 0x11, 0x11, 0x11, 0x13, 0x13, 0x13, 0x10, 0x11, 0x11, 0x11, -0x11, 0x13, 0x13, 0x04, 0x10, 0x11, 0x11, 0x11, 0x11, 0x13, 0x13, 0x04, -0x13, 0x14, 0x14, 0x02, 0x02, 0x01, 0x01, 0x01, 0x13, 0x14, 0x14, 0x02, -0x02, 0x01, 0x01, 0x01, 0x13, 0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, -0x13, 0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, 0x13, 0x04, 0x04, 0x0B, -0x0B, 0x01, 0x01, 0x01, 0x13, 0x04, 0x04, 0x0B, 0x0B, 0x01, 0x01, 0x01, -0x04, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x04, 0x03, 0x03, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0B, 0x10, 0x10, 0x11, -0x11, 0x10, 0x10, 0x11, 0x0B, 0x10, 0x10, 0x11, 0x11, 0x10, 0x10, 0x11, -0x01, 0x15, 0x15, 0x16, 0x16, 0x17, 0x17, 0x16, 0x01, 0x15, 0x15, 0x16, -0x16, 0x17, 0x17, 0x16, 0x01, 0x15, 0x15, 0x18, 0x18, 0x15, 0x15, 0x18, -0x01, 0x15, 0x15, 0x18, 0x18, 0x15, 0x15, 0x18, 0x01, 0x15, 0x15, 0x19, -0x19, 0x15, 0x15, 0x1A, 0x01, 0x15, 0x15, 0x19, 0x19, 0x15, 0x15, 0x1A, -0x11, 0x10, 0x10, 0x11, 0x11, 0x14, 0x14, 0x04, 0x11, 0x10, 0x10, 0x11, -0x11, 0x14, 0x14, 0x04, 0x16, 0x0B, 0x0B, 0x15, 0x15, 0x0B, 0x0B, 0x16, -0x16, 0x0B, 0x0B, 0x15, 0x15, 0x0B, 0x0B, 0x16, 0x18, 0x15, 0x15, 0x01, -0x01, 0x15, 0x15, 0x18, 0x18, 0x15, 0x15, 0x01, 0x01, 0x15, 0x15, 0x18, -0x1A, 0x15, 0x15, 0x01, 0x01, 0x15, 0x15, 0x1A, 0x1A, 0x15, 0x15, 0x01, -0x01, 0x15, 0x15, 0x1A, 0x04, 0x0B, 0x0B, 0x01, 0x01, 0x01, 0x01, 0x01, -0x04, 0x0B, 0x0B, 0x01, 0x01, 0x01, 0x01, 0x01, 0x16, 0x15, 0x15, 0x01, -0x01, 0x01, 0x01, 0x01, 0x16, 0x15, 0x15, 0x01, 0x01, 0x01, 0x01, 0x01, -0x18, 0x15, 0x15, 0x01, 0x01, 0x01, 0x01, 0x01, 0x18, 0x15, 0x15, 0x01, -0x01, 0x01, 0x01, 0x01, 0x1A, 0x15, 0x15, 0x01, 0x01, 0x01, 0x01, 0x01, -0x1A, 0x15, 0x15, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x05, 0x05, 0x02, 0x02, -0x01, 0x01, 0x02, 0x02, 0x06, 0x06, 0x07, 0x07, 0x01, 0x01, 0x02, 0x02, -0x06, 0x06, 0x07, 0x07, 0x01, 0x01, 0x02, 0x02, 0x08, 0x08, 0x06, 0x06, -0x01, 0x01, 0x02, 0x02, 0x08, 0x08, 0x06, 0x06, 0x01, 0x01, 0x02, 0x02, -0x09, 0x09, 0x03, 0x03, 0x01, 0x01, 0x02, 0x02, 0x09, 0x09, 0x03, 0x03, -0x01, 0x01, 0x02, 0x02, 0x0B, 0x0B, 0x07, 0x07, 0x04, 0x04, 0x05, 0x05, -0x02, 0x02, 0x01, 0x01, 0x06, 0x06, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, -0x06, 0x06, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x02, 0x02, -0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, -0x07, 0x07, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x07, 0x07, 0x02, 0x02, -0x01, 0x01, 0x01, 0x01, 0x09, 0x09, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, -0x0A, 0x0A, 0x0D, 0x0E, 0x0D, 0x0D, 0x0D, 0x0D, 0x01, 0x01, 0x02, 0x02, -0x0B, 0x0B, 0x07, 0x07, 0x01, 0x01, 0x02, 0x02, 0x0B, 0x0B, 0x0B, 0x0B, -0x01, 0x01, 0x02, 0x02, 0x0B, 0x0B, 0x0B, 0x0B, 0x01, 0x01, 0x02, 0x02, -0x0B, 0x0B, 0x0C, 0x0C, 0x01, 0x01, 0x02, 0x02, 0x0B, 0x0B, 0x0C, 0x0C, -0x0A, 0x0A, 0x02, 0x02, 0x0B, 0x0B, 0x0C, 0x0C, 0x0A, 0x0A, 0x02, 0x02, -0x0B, 0x0B, 0x0C, 0x0C, 0x0D, 0x0D, 0x02, 0x02, 0x12, 0x12, 0x0C, 0x0C, -0x09, 0x09, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x02, 0x02, -0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, -0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x03, 0x03, -0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, -0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x13, 0x13, 0x14, 0x14, -0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x0A, 0x0D, 0x0E, -0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0F, 0x0F, 0x0C, 0x0C, 0x0F, 0x0F, -0x0D, 0x0D, 0x0F, 0x0F, 0x0C, 0x0C, 0x0F, 0x0F, 0x11, 0x11, 0x10, 0x10, -0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, -0x0A, 0x0A, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x0A, 0x0A, 0x11, 0x11, -0x10, 0x10, 0x11, 0x11, 0x0B, 0x0B, 0x10, 0x10, 0x11, 0x11, 0x10, 0x10, -0x0D, 0x0D, 0x02, 0x02, 0x12, 0x12, 0x0C, 0x0C, 0x02, 0x02, 0x12, 0x12, -0x0C, 0x0C, 0x0C, 0x0C, 0x02, 0x02, 0x12, 0x12, 0x0C, 0x0C, 0x0C, 0x0C, -0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x13, 0x13, 0x11, 0x11, 0x11, 0x11, -0x11, 0x11, 0x13, 0x13, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x13, 0x13, -0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x13, 0x13, 0x11, 0x11, 0x10, 0x10, -0x11, 0x11, 0x14, 0x14, 0x13, 0x13, 0x14, 0x14, 0x02, 0x02, 0x01, 0x01, -0x13, 0x13, 0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x13, 0x13, 0x04, 0x04, -0x03, 0x03, 0x01, 0x01, 0x13, 0x13, 0x04, 0x04, 0x0B, 0x0B, 0x01, 0x01, -0x13, 0x13, 0x04, 0x04, 0x0B, 0x0B, 0x01, 0x01, 0x04, 0x04, 0x03, 0x03, -0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, -0x04, 0x04, 0x0B, 0x0B, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x0B, 0x0B, 0x10, 0x10, 0x11, 0x11, 0x10, 0x10, 0x01, 0x01, 0x15, 0x15, -0x16, 0x16, 0x17, 0x17, 0x01, 0x01, 0x15, 0x15, 0x16, 0x16, 0x17, 0x17, -0x01, 0x01, 0x15, 0x15, 0x18, 0x18, 0x15, 0x15, 0x01, 0x01, 0x15, 0x15, -0x18, 0x18, 0x15, 0x15, 0x01, 0x01, 0x15, 0x15, 0x19, 0x19, 0x15, 0x15, -0x01, 0x01, 0x15, 0x15, 0x19, 0x19, 0x15, 0x15, 0x01, 0x01, 0x01, 0x01, -0x15, 0x15, 0x15, 0x15, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x14, 0x14, -0x16, 0x16, 0x0B, 0x0B, 0x15, 0x15, 0x0B, 0x0B, 0x16, 0x16, 0x0B, 0x0B, -0x15, 0x15, 0x0B, 0x0B, 0x18, 0x18, 0x15, 0x15, 0x01, 0x01, 0x15, 0x15, -0x18, 0x18, 0x15, 0x15, 0x01, 0x01, 0x15, 0x15, 0x1A, 0x1A, 0x15, 0x15, -0x01, 0x01, 0x15, 0x15, 0x1A, 0x1A, 0x15, 0x15, 0x01, 0x01, 0x15, 0x15, -0x15, 0x15, 0x15, 0x15, 0x01, 0x01, 0x15, 0x15, 0x04, 0x04, 0x0B, 0x0B, -0x01, 0x01, 0x01, 0x01, 0x16, 0x16, 0x15, 0x15, 0x01, 0x01, 0x01, 0x01, -0x16, 0x16, 0x15, 0x15, 0x01, 0x01, 0x01, 0x01, 0x18, 0x18, 0x15, 0x15, -0x01, 0x01, 0x01, 0x01, 0x18, 0x18, 0x15, 0x15, 0x01, 0x01, 0x01, 0x01, -0x1A, 0x1A, 0x15, 0x15, 0x01, 0x01, 0x01, 0x01, 0x1A, 0x1A, 0x15, 0x15, -0x01, 0x01, 0x01, 0x01, 0x15, 0x15, 0x15, 0x15, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, -0x02, 0x03, 0x03, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x05, 0x05, 0x02, -0x01, 0x02, 0x02, 0x04, 0x04, 0x05, 0x05, 0x02, 0x01, 0x01, 0x01, 0x02, -0x02, 0x06, 0x06, 0x07, 0x01, 0x01, 0x01, 0x02, 0x02, 0x06, 0x06, 0x07, -0x01, 0x01, 0x01, 0x02, 0x02, 0x08, 0x08, 0x06, 0x01, 0x01, 0x01, 0x02, -0x02, 0x08, 0x08, 0x06, 0x01, 0x01, 0x01, 0x02, 0x02, 0x09, 0x09, 0x03, -0x01, 0x02, 0x02, 0x03, 0x03, 0x01, 0x01, 0x01, 0x02, 0x04, 0x04, 0x05, -0x05, 0x02, 0x02, 0x01, 0x02, 0x04, 0x04, 0x05, 0x05, 0x02, 0x02, 0x01, -0x07, 0x06, 0x06, 0x02, 0x02, 0x01, 0x01, 0x01, 0x07, 0x06, 0x06, 0x02, -0x02, 0x01, 0x01, 0x01, 0x06, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, -0x06, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x03, 0x07, 0x07, 0x02, -0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x02, 0x02, 0x09, 0x09, 0x03, 0x01, 0x01, 0x01, 0x02, -0x02, 0x0B, 0x0B, 0x07, 0x01, 0x01, 0x01, 0x02, 0x02, 0x0B, 0x0B, 0x07, -0x01, 0x01, 0x01, 0x02, 0x02, 0x0B, 0x0B, 0x0B, 0x01, 0x01, 0x01, 0x02, -0x02, 0x0B, 0x0B, 0x0B, 0x01, 0x01, 0x01, 0x02, 0x02, 0x0B, 0x0B, 0x0C, -0x01, 0x01, 0x01, 0x02, 0x02, 0x0B, 0x0B, 0x0C, 0x0A, 0x0A, 0x0A, 0x02, -0x02, 0x0B, 0x0B, 0x0C, 0x03, 0x07, 0x07, 0x02, 0x02, 0x01, 0x01, 0x01, -0x07, 0x09, 0x09, 0x02, 0x02, 0x01, 0x01, 0x01, 0x07, 0x09, 0x09, 0x02, -0x02, 0x01, 0x01, 0x01, 0x0B, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, -0x0B, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x0C, 0x04, 0x04, 0x03, -0x03, 0x01, 0x01, 0x01, 0x0C, 0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, -0x0C, 0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x01, 0x0A, 0x0A, 0x0D, -0x0E, 0x0D, 0x0D, 0x0D, 0x01, 0x0A, 0x0A, 0x0D, 0x0E, 0x0D, 0x0D, 0x0D, -0x0A, 0x0D, 0x0D, 0x0F, 0x0F, 0x0C, 0x0C, 0x0F, 0x0A, 0x0D, 0x0D, 0x0F, -0x0F, 0x0C, 0x0C, 0x0F, 0x0B, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x11, -0x0B, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x11, 0x01, 0x0A, 0x0A, 0x11, -0x11, 0x10, 0x10, 0x11, 0x0A, 0x0A, 0x0A, 0x02, 0x02, 0x0B, 0x0B, 0x0C, -0x0D, 0x0D, 0x0D, 0x02, 0x02, 0x12, 0x12, 0x0C, 0x0D, 0x0D, 0x0D, 0x02, -0x02, 0x12, 0x12, 0x0C, 0x0F, 0x02, 0x02, 0x12, 0x12, 0x0C, 0x0C, 0x0C, -0x0F, 0x02, 0x02, 0x12, 0x12, 0x0C, 0x0C, 0x0C, 0x11, 0x11, 0x11, 0x11, -0x11, 0x11, 0x11, 0x13, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x13, -0x11, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x13, 0x0C, 0x04, 0x04, 0x03, -0x03, 0x01, 0x01, 0x01, 0x0C, 0x13, 0x13, 0x14, 0x14, 0x02, 0x02, 0x01, -0x0C, 0x13, 0x13, 0x14, 0x14, 0x02, 0x02, 0x01, 0x0C, 0x13, 0x13, 0x04, -0x04, 0x03, 0x03, 0x01, 0x0C, 0x13, 0x13, 0x04, 0x04, 0x03, 0x03, 0x01, -0x13, 0x13, 0x13, 0x04, 0x04, 0x0B, 0x0B, 0x01, 0x13, 0x13, 0x13, 0x04, -0x04, 0x0B, 0x0B, 0x01, 0x13, 0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x0A, 0x11, 0x11, 0x10, 0x10, 0x11, -0x01, 0x0B, 0x0B, 0x10, 0x10, 0x11, 0x11, 0x10, 0x01, 0x0B, 0x0B, 0x10, -0x10, 0x11, 0x11, 0x10, 0x01, 0x01, 0x01, 0x15, 0x15, 0x16, 0x16, 0x17, -0x01, 0x01, 0x01, 0x15, 0x15, 0x16, 0x16, 0x17, 0x01, 0x01, 0x01, 0x15, -0x15, 0x18, 0x18, 0x15, 0x01, 0x01, 0x01, 0x15, 0x15, 0x18, 0x18, 0x15, -0x01, 0x01, 0x01, 0x15, 0x15, 0x19, 0x19, 0x15, 0x11, 0x10, 0x10, 0x11, -0x11, 0x11, 0x11, 0x13, 0x10, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x14, -0x10, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x14, 0x17, 0x16, 0x16, 0x0B, -0x0B, 0x15, 0x15, 0x0B, 0x17, 0x16, 0x16, 0x0B, 0x0B, 0x15, 0x15, 0x0B, -0x15, 0x18, 0x18, 0x15, 0x15, 0x01, 0x01, 0x15, 0x15, 0x18, 0x18, 0x15, -0x15, 0x01, 0x01, 0x15, 0x15, 0x1A, 0x1A, 0x15, 0x15, 0x01, 0x01, 0x15, -0x13, 0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x01, 0x14, 0x04, 0x04, 0x0B, -0x0B, 0x01, 0x01, 0x01, 0x14, 0x04, 0x04, 0x0B, 0x0B, 0x01, 0x01, 0x01, -0x0B, 0x16, 0x16, 0x15, 0x15, 0x01, 0x01, 0x01, 0x0B, 0x16, 0x16, 0x15, -0x15, 0x01, 0x01, 0x01, 0x15, 0x18, 0x18, 0x15, 0x15, 0x01, 0x01, 0x01, -0x15, 0x18, 0x18, 0x15, 0x15, 0x01, 0x01, 0x01, 0x15, 0x1A, 0x1A, 0x15, -0x15, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x02, 0x02, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, -0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x05, 0x05, 0x01, 0x01, 0x02, 0x02, -0x04, 0x04, 0x05, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, -0x03, 0x03, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x05, 0x05, 0x02, 0x02, -0x02, 0x02, 0x04, 0x04, 0x05, 0x05, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x06, 0x06, -0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, -0x02, 0x02, 0x08, 0x08, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x08, 0x08, -0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x09, 0x09, 0x01, 0x01, 0x01, 0x01, -0x02, 0x02, 0x09, 0x09, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x0B, 0x0B, -0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x0B, 0x0B, 0x07, 0x07, 0x06, 0x06, -0x02, 0x02, 0x01, 0x01, 0x07, 0x07, 0x06, 0x06, 0x02, 0x02, 0x01, 0x01, -0x06, 0x06, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x06, 0x06, 0x03, 0x03, -0x02, 0x02, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x02, 0x02, 0x01, 0x01, -0x03, 0x03, 0x07, 0x07, 0x02, 0x02, 0x01, 0x01, 0x07, 0x07, 0x09, 0x09, -0x02, 0x02, 0x01, 0x01, 0x07, 0x07, 0x09, 0x09, 0x02, 0x02, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x0A, -0x0A, 0x0A, 0x0A, 0x0A, 0x01, 0x01, 0x0A, 0x0A, 0x0D, 0x0E, 0x0D, 0x0D, -0x01, 0x01, 0x0A, 0x0A, 0x0D, 0x0E, 0x0D, 0x0D, 0x01, 0x01, 0x01, 0x01, -0x02, 0x02, 0x0B, 0x0B, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x0B, 0x0B, -0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x0B, 0x0B, 0x01, 0x01, 0x01, 0x01, -0x02, 0x02, 0x0B, 0x0B, 0x01, 0x0A, 0x0A, 0x0A, 0x02, 0x02, 0x0B, 0x0B, -0x0A, 0x0A, 0x0A, 0x0A, 0x02, 0x02, 0x0B, 0x0B, 0x0D, 0x0D, 0x0D, 0x0D, -0x02, 0x02, 0x12, 0x12, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x02, 0x12, 0x12, -0x0B, 0x0B, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x0B, 0x0B, 0x04, 0x04, -0x02, 0x02, 0x01, 0x01, 0x0C, 0x0C, 0x04, 0x04, 0x03, 0x03, 0x01, 0x01, -0x0C, 0x0C, 0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x0C, 0x0C, 0x04, 0x04, -0x03, 0x03, 0x01, 0x01, 0x0C, 0x0C, 0x04, 0x04, 0x03, 0x03, 0x01, 0x01, -0x0C, 0x0C, 0x13, 0x13, 0x14, 0x14, 0x02, 0x02, 0x0C, 0x0C, 0x13, 0x13, -0x14, 0x14, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x0A, 0x0D, 0x0D, -0x0F, 0x0F, 0x0C, 0x0C, 0x0A, 0x0A, 0x0D, 0x0D, 0x0F, 0x0F, 0x0C, 0x0C, -0x0B, 0x0B, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x0B, 0x0B, 0x11, 0x11, -0x10, 0x10, 0x11, 0x11, 0x01, 0x01, 0x0A, 0x0A, 0x11, 0x11, 0x10, 0x10, -0x01, 0x01, 0x0A, 0x0A, 0x11, 0x11, 0x10, 0x10, 0x01, 0x01, 0x0B, 0x0B, -0x10, 0x10, 0x11, 0x11, 0x01, 0x01, 0x0B, 0x0B, 0x10, 0x10, 0x11, 0x11, -0x0F, 0x0F, 0x02, 0x02, 0x12, 0x12, 0x0C, 0x0C, 0x0F, 0x0F, 0x02, 0x02, -0x12, 0x12, 0x0C, 0x0C, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, -0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, -0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, -0x10, 0x10, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, 0x10, 0x10, 0x11, 0x11, -0x10, 0x10, 0x11, 0x11, 0x0C, 0x0C, 0x13, 0x13, 0x04, 0x04, 0x03, 0x03, -0x0C, 0x0C, 0x13, 0x13, 0x04, 0x04, 0x03, 0x03, 0x13, 0x13, 0x13, 0x13, -0x04, 0x04, 0x0B, 0x0B, 0x13, 0x13, 0x13, 0x13, 0x04, 0x04, 0x0B, 0x0B, -0x13, 0x13, 0x04, 0x04, 0x03, 0x03, 0x01, 0x01, 0x13, 0x13, 0x04, 0x04, -0x03, 0x03, 0x01, 0x01, 0x14, 0x14, 0x04, 0x04, 0x0B, 0x0B, 0x01, 0x01, -0x14, 0x14, 0x04, 0x04, 0x0B, 0x0B, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, +//====================================================================== +// +// lama, 32x192@8, +// + 96 tiles not compressed +// Total size: 6144 = 6144 +// +// Time-stamp: 2018-12-06, 12:11:50 +// Exported by Cearn's GBA Image Transmogrifier, v0.8.6 +// ( http://www.coranac.com/projects/#grit ) +// +//====================================================================== -}; +const unsigned int lamaTiles[1536] __attribute__((aligned(4)))= + { + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x07070202,0x02020000,0x07070202,0x02020000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000707,0x00000000,0x00000707,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, -const unsigned short lama_palette [] = { -0x7c1f, 0x0000, 0x0489, 0x08cb, 0x22bd, 0x1a5a, 0x1add, 0x379e, 0x04cb, -0x231f, 0x08ca, 0x0532, 0x161a, 0x333d, 0x331d, 0x123c, 0x1578, 0x1592, -0x11b6, 0x123a, 0x12bd, 0x0c85, 0x08ab, 0x150e, 0x1d8c, 0x1dce, 0x25ef, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000 -}; \ No newline at end of file + 0x00000000,0x02020000,0x00000000,0x02020000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x14141616,0x16160202,0x14141616,0x16160202,0x17170202,0x17171B1B,0x17170202,0x17171B1B, + 0x06060202,0x07071717,0x06060202,0x07071717,0x19190202,0x1B1B0707,0x19190202,0x1B1B0707, + 0x02021414,0x00000000,0x02021414,0x00000000,0x00000202,0x00000000,0x00000202,0x00000000, + 0x00000202,0x00000000,0x00000202,0x00000000,0x00000202,0x00000000,0x00000202,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x05050500,0x05050505,0x05050505, + 0x09090202,0x19191B1B,0x09090202,0x19191B1B,0x09090202,0x16160909,0x09090202,0x16160909, + 0x09090202,0x16161010,0x09090202,0x16161010,0x09090202,0x16161010,0x09090202,0x16161010, + 0x00000202,0x00000000,0x00000202,0x00000000,0x00000202,0x00000000,0x00000202,0x00000000, + 0x00000707,0x00000000,0x00000707,0x00000000,0x00000707,0x00000000,0x00000707,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x1A1A181A,0x1A1A1A1A,0x1A1A181A,0x1A1A1A1A,0x10101213,0x02021313,0x10101313,0x02021313, + 0x0B0B0C0C,0x0B0B0B0B,0x0B0B0C0C,0x0B0B0B0B,0x0C0C0B0B,0x0C0C0B0B,0x0C0C0B0B,0x0C0C0B0B, + 0x0E0E0202,0x11111010,0x0E0E0202,0x11111010,0x10100E0E,0x11111010,0x10100E0E,0x11111010, + 0x0B0B0B0B,0x11111111,0x0B0B0B0B,0x11111111,0x0B0B0B0B,0x16161111,0x0B0B0B0B,0x16161111, + 0x02021515,0x00000000,0x02021515,0x00000000,0x07071616,0x00000000,0x07071616,0x00000000, + 0x09091616,0x00000000,0x09091616,0x00000000,0x00000707,0x00000000,0x00000707,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x02020000, + 0x00000000,0x02020000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x07070202,0x02020000,0x07070202,0x02020000,0x14141616,0x16160202, + 0x14141616,0x16160202,0x17170202,0x17171B1B,0x17170202,0x17171B1B,0x06060202,0x07071717, + 0x00000000,0x00000000,0x00000707,0x00000000,0x00000707,0x00000000,0x02021414,0x00000000, + 0x02021414,0x00000000,0x00000202,0x00000000,0x00000202,0x00000000,0x00000202,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x06060202,0x07071717,0x19190202,0x1B1B0707,0x19190202,0x1B1B0707,0x09090202,0x19191B1B, + 0x09090202,0x19191B1B,0x09090202,0x16160909,0x09090202,0x16160909,0x09090202,0x16161010, + 0x00000202,0x00000000,0x00000202,0x00000000,0x00000202,0x00000000,0x00000202,0x00000000, + 0x00000202,0x00000000,0x00000202,0x00000000,0x00000202,0x00000000,0x00000707,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x00000000,0x00000000,0x00000000,0x05050500,0x05050505,0x05050505,0x1A1A181A,0x1A1A1A1A, + 0x1A1A181A,0x1A1A1A1A,0x10101213,0x02021313,0x10101313,0x02021313,0x0B0B0C0C,0x0B0B0B0B, + 0x09090202,0x16161010,0x09090202,0x16161010,0x09090202,0x16161010,0x0E0E0202,0x11111010, + 0x0E0E0202,0x11111010,0x10100E0E,0x11111010,0x10100E0E,0x11111010,0x0B0B0B0B,0x11111111, + 0x00000707,0x00000000,0x00000707,0x00000000,0x00000707,0x00000000,0x02021515,0x00000000, + 0x02021515,0x00000000,0x07071616,0x00000000,0x07071616,0x00000000,0x09091616,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x0B0B0C0C,0x0B0B0B0B,0x0C0C0B0B,0x0C0C0B0B,0x0C0C0B0B,0x0C0C0B0B,0x0B0B0C0C,0x0B0B0C0C, + 0x0B0B0C0C,0x0B0B0C0C,0x04040101,0x03030808,0x04040101,0x03030808,0x0A0A0101,0x0A0A0101, + 0x0B0B0B0B,0x11111111,0x0B0B0B0B,0x16161111,0x0B0B0B0B,0x16161111,0x0B0B0C0C,0x16161515, + 0x0B0B0C0C,0x16161515,0x01010909,0x03030909,0x01010909,0x03030909,0x00000101,0x0A0A0101, + 0x09091616,0x00000000,0x00000707,0x00000000,0x00000707,0x00000000,0x00000909,0x00000000, + 0x00000909,0x00000000,0x00000101,0x00000000,0x00000101,0x00000000,0x00000101,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x00000000,0x02000000,0x00000000,0x02000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x14161602,0x16020214,0x14161602,0x16020214,0x17020200,0x171B1B17,0x17020200,0x171B1B17, + 0x06020200,0x07171706,0x06020200,0x07171706,0x19020200,0x1B070719,0x19020200,0x1B070719, + 0x02141416,0x00000002,0x02141416,0x00000002,0x00020217,0x00000000,0x00020217,0x00000000, + 0x00020207,0x00000000,0x00020207,0x00000000,0x0002021B,0x00000000,0x0002021B,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x05050000,0x05050505,0x05050505, + 0x09020200,0x191B1B09,0x09020200,0x191B1B09,0x09020200,0x16090909,0x09020200,0x16090909, + 0x09020200,0x16101009,0x09020200,0x16101009,0x09020205,0x16101009,0x09020205,0x16101009, + 0x00020219,0x00000000,0x00020219,0x00000000,0x00020216,0x00000000,0x00020216,0x00000000, + 0x00070716,0x00000000,0x00070716,0x00000000,0x00070716,0x00000000,0x00070716,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x1A181A05,0x1A1A1A1A,0x1A181A05,0x1A1A1A1A,0x1012131A,0x02131310,0x1013131A,0x02131310, + 0x0B0C0C0B,0x0B0B0B0B,0x0B0C0C0B,0x0B0B0B0B,0x0C0B0B05,0x0C0B0B0C,0x0C0B0B05,0x0C0B0B0C, + 0x0E02021A,0x1110100E,0x0E02021A,0x1110100E,0x100E0E02,0x11101010,0x100E0E02,0x11101010, + 0x0B0B0B0B,0x1111110B,0x0B0B0B0B,0x1111110B,0x0B0B0B0C,0x1611110B,0x0B0B0B0C,0x1611110B, + 0x02151511,0x00000002,0x02151511,0x00000002,0x07161611,0x00000007,0x07161611,0x00000007, + 0x09161611,0x00000009,0x09161611,0x00000009,0x00070716,0x00000000,0x00070716,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x0B0C0C09,0x0B0C0C0B,0x0B0C0C09,0x0B0C0C0B,0x04010100,0x03080804,0x04010100,0x03080804, + 0x0A010100,0x0A01010A,0x0A010100,0x0A01010A,0x0D010100,0x0F01010D,0x0D010100,0x0F01010D, + 0x0B0C0C0B,0x1615150B,0x0B0C0C0B,0x1615150B,0x01090903,0x03090901,0x01090903,0x03090901, + 0x0001010A,0x0A010100,0x0001010A,0x0A010100,0x0001010F,0x0F010100,0x0001010F,0x0F010100, + 0x00090916,0x00000000,0x00090916,0x00000000,0x00010103,0x00000000,0x00010103,0x00000000, + 0x0001010A,0x00000000,0x0001010A,0x00000000,0x0001010F,0x00000000,0x0001010F,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x16160202,0x02021414,0x02020000,0x1B1B1717,0x02020000,0x1B1B1717,0x02020000,0x17170606, + 0x02020000,0x17170606,0x02020000,0x07071919,0x02020000,0x07071919,0x02020000,0x1B1B0909, + 0x14141616,0x00000202,0x02021717,0x00000000,0x02021717,0x00000000,0x02020707,0x00000000, + 0x02020707,0x00000000,0x02021B1B,0x00000000,0x02021B1B,0x00000000,0x02021919,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x05000000,0x05050505,0x05050505,0x181A0505,0x1A1A1A1A, + 0x02020000,0x1B1B0909,0x02020000,0x09090909,0x02020000,0x09090909,0x02020000,0x10100909, + 0x02020000,0x10100909,0x02020505,0x10100909,0x02020505,0x10100909,0x02021A1A,0x10100E0E, + 0x02021919,0x00000000,0x02021616,0x00000000,0x02021616,0x00000000,0x07071616,0x00000000, + 0x07071616,0x00000000,0x07071616,0x00000000,0x07071616,0x00000000,0x15151111,0x00000202, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x181A0505,0x1A1A1A1A,0x12131A1A,0x13131010,0x13131A1A,0x13131010,0x0C0C0B0B,0x0B0B0B0B, + 0x0C0C0B0B,0x0B0B0B0B,0x0B0B0505,0x0B0B0C0C,0x0B0B0505,0x0B0B0C0C,0x0C0C0909,0x0C0C0B0B, + 0x02021A1A,0x10100E0E,0x0E0E0202,0x10101010,0x0E0E0202,0x10101010,0x0B0B0B0B,0x11110B0B, + 0x0B0B0B0B,0x11110B0B,0x0B0B0C0C,0x11110B0B,0x0B0B0C0C,0x11110B0B,0x0C0C0B0B,0x15150B0B, + 0x15151111,0x00000202,0x16161111,0x00000707,0x16161111,0x00000707,0x16161111,0x00000909, + 0x16161111,0x00000909,0x07071616,0x00000000,0x07071616,0x00000000,0x09091616,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x0C0C0909,0x0C0C0B0B,0x01010000,0x08080404,0x01010000,0x08080404,0x01010000,0x01010A0A, + 0x01010000,0x01010A0A,0x01010000,0x01010D0D,0x01010000,0x01010D0D,0x00000000,0x01010101, + 0x0C0C0B0B,0x15150B0B,0x09090303,0x09090101,0x09090303,0x09090101,0x01010A0A,0x01010000, + 0x01010A0A,0x01010000,0x01010F0F,0x01010000,0x01010F0F,0x01010000,0x01010101,0x01010000, + 0x09091616,0x00000000,0x01010303,0x00000000,0x01010303,0x00000000,0x01010A0A,0x00000000, + 0x01010A0A,0x00000000,0x01010F0F,0x00000000,0x01010F0F,0x00000000,0x01010101,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x02000000,0x00070702,0x16020200,0x02141416,0x16020200,0x02141416,0x02000000,0x1B171702, + 0x02000000,0x1B171702,0x02000000,0x17060602,0x02000000,0x17060602,0x02000000,0x07191902, + 0x07020200,0x00000007,0x14161602,0x00020214,0x14161602,0x00020214,0x0217171B,0x00000002, + 0x0217171B,0x00000002,0x02070717,0x00000002,0x02070717,0x00000002,0x021B1B07,0x00000002, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x02000000,0x07191902,0x02000000,0x1B090902,0x02000000,0x1B090902,0x02000000,0x09090902, + 0x02000000,0x09090902,0x02000000,0x10090902,0x02000000,0x10090902,0x02050505,0x10090902, + 0x021B1B07,0x00000002,0x0219191B,0x00000002,0x0219191B,0x00000002,0x02161609,0x00000002, + 0x02161609,0x00000002,0x07161610,0x00000007,0x07161610,0x00000007,0x07161610,0x00000007, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x05050500,0x05050505,0x1A050500,0x1A1A1A18,0x1A050500,0x1A1A1A18,0x131A1A05,0x13101012, + 0x131A1A05,0x13101013,0x0C0B0B09,0x0B0B0B0C,0x0C0B0B09,0x0B0B0B0C,0x0B050500,0x0B0C0C0B, + 0x02050505,0x10090902,0x021A1A1A,0x100E0E02,0x021A1A1A,0x100E0E02,0x0E020213,0x1010100E, + 0x0E020213,0x1010100E,0x0B0B0B0B,0x110B0B0B,0x0B0B0B0B,0x110B0B0B,0x0B0C0C0B,0x110B0B0B, + 0x07161610,0x00000007,0x15111110,0x00020215,0x15111110,0x00020215,0x16111110,0x00070716, + 0x16111110,0x00070716,0x16111111,0x00090916,0x16111111,0x00090916,0x07161611,0x00000007, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x0B050500,0x0B0C0C0B,0x0C090900,0x0C0B0B0C,0x0C090900,0x0C0B0B0C,0x01000000,0x08040401, + 0x01000000,0x08040401,0x01000000,0x010A0A01,0x01000000,0x010A0A01,0x01000000,0x010D0D01, + 0x0B0C0C0B,0x110B0B0B,0x0C0B0B0C,0x150B0B0C,0x0C0B0B0C,0x150B0B0C,0x09030308,0x09010109, + 0x09030308,0x09010109,0x010A0A01,0x01000001,0x010A0A01,0x01000001,0x010F0F01,0x01000001, + 0x07161611,0x00000007,0x09161615,0x00000009,0x09161615,0x00000009,0x01030309,0x00000001, + 0x01030309,0x00000001,0x010A0A01,0x00000001,0x010A0A01,0x00000001,0x010F0F01,0x00000001, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x07070202,0x00000000,0x07070202,0x02020000,0x14141616,0x02020000,0x14141616, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x02020000,0x00000707,0x02020000,0x00000707,0x16160202,0x02021414,0x16160202,0x02021414, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x17170202,0x00000000,0x17170202,0x00000000,0x06060202,0x00000000,0x06060202, + 0x00000000,0x19190202,0x00000000,0x19190202,0x00000000,0x09090202,0x00000000,0x09090202, + 0x17171B1B,0x00000202,0x17171B1B,0x00000202,0x07071717,0x00000202,0x07071717,0x00000202, + 0x1B1B0707,0x00000202,0x1B1B0707,0x00000202,0x19191B1B,0x00000202,0x19191B1B,0x00000202, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x05050000,0x05050505,0x05050000,0x1A1A181A,0x05050000,0x1A1A181A, + 0x00000000,0x09090202,0x00000000,0x09090202,0x00000000,0x09090202,0x00000000,0x09090202, + 0x05050500,0x09090202,0x05050505,0x09090202,0x1A1A1A1A,0x0E0E0202,0x1A1A1A1A,0x0E0E0202, + 0x16160909,0x00000202,0x16160909,0x00000202,0x16161010,0x00000707,0x16161010,0x00000707, + 0x16161010,0x00000707,0x16161010,0x00000707,0x11111010,0x02021515,0x11111010,0x02021515, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + + 0x1A1A0505,0x10101213,0x1A1A0505,0x10101313,0x0B0B0909,0x0B0B0C0C,0x0B0B0909,0x0B0B0C0C, + 0x05050000,0x0C0C0B0B,0x05050000,0x0C0C0B0B,0x09090000,0x0B0B0C0C,0x09090000,0x0B0B0C0C, + 0x02021313,0x10100E0E,0x02021313,0x10100E0E,0x0B0B0B0B,0x0B0B0B0B,0x0B0B0B0B,0x0B0B0B0B, + 0x0C0C0B0B,0x0B0B0B0B,0x0C0C0B0B,0x0B0B0B0B,0x0B0B0C0C,0x0B0B0C0C,0x0B0B0C0C,0x0B0B0C0C, + 0x11111010,0x07071616,0x11111010,0x07071616,0x11111111,0x09091616,0x11111111,0x09091616, + 0x16161111,0x00000707,0x16161111,0x00000707,0x16161515,0x00000909,0x16161515,0x00000909, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, + }; + +//}}BLOCK(lama) diff --git a/demos/demo1-basicfeatures/src/sample_start_scene.cpp b/demos/demo1-basicfeatures/src/sample_start_scene.cpp index 7b24719..0637c56 100644 --- a/demos/demo1-basicfeatures/src/sample_start_scene.cpp +++ b/demos/demo1-basicfeatures/src/sample_start_scene.cpp @@ -11,6 +11,7 @@ #include "flying_stuff_scene.h" #include "lama.h" +#include "ff.h" #include "sample_sound.h" std::vector SampleStartScene::backgrounds() { @@ -18,22 +19,29 @@ std::vector SampleStartScene::backgrounds() { } std::vector SampleStartScene::sprites() { - return { animation.get() }; + return { animation.get(), finalFantasyGuy.get() }; } void SampleStartScene::load() { - foregroundPalette = std::unique_ptr(new ForegroundPaletteManager(lama_palette, sizeof(lama_palette))); + foregroundPalette = std::unique_ptr(new ForegroundPaletteManager(sharedPal, sizeof(sharedPal))); backgroundPalette = std::unique_ptr(new BackgroundPaletteManager()); SpriteBuilder builder; animation = builder - .withData(lama_data, sizeof(lama_data)) + .withData(lamaTiles, sizeof(lamaTiles)) .withSize(SIZE_32_32) .withAnimated(6, 3) .withLocation(50, 50) .buildPtr(); + finalFantasyGuy = builder + .withData(lopen_jongenTiles, sizeof(lopen_jongenTiles)) + .withSize(SIZE_16_16) + .withAnimated(2, 10) + .withLocation(10, 10) + .buildPtr(); + TextStream::instance().setText("PRESS START", 3, 8); engine->enqueueMusic(zelda_music_16K_mono, zelda_music_16K_mono_bytes); } diff --git a/demos/demo1-basicfeatures/src/sample_start_scene.h b/demos/demo1-basicfeatures/src/sample_start_scene.h index aedb5db..9e68c60 100644 --- a/demos/demo1-basicfeatures/src/sample_start_scene.h +++ b/demos/demo1-basicfeatures/src/sample_start_scene.h @@ -10,6 +10,7 @@ class SampleStartScene : public Scene { private: std::unique_ptr animation; + std::unique_ptr finalFantasyGuy; std::unique_ptr smiley; public: diff --git a/engine/include/libgba-sprite-engine/sprites/sprite_builder.h b/engine/include/libgba-sprite-engine/sprites/sprite_builder.h index 86f7f8c..5712514 100644 --- a/engine/include/libgba-sprite-engine/sprites/sprite_builder.h +++ b/engine/include/libgba-sprite-engine/sprites/sprite_builder.h @@ -10,7 +10,7 @@ template class SpriteBuilder { private: u32 imageSize; - bool stayWithinBounds; + bool stayWithinBounds = false; const void *imageData; u32 x, y, dx, dy; u32 numberOfFrames, animationDelay; @@ -20,6 +20,7 @@ private: void reset() { imageSize = x = y = dx = dy = numberOfFrames = animationDelay = 0; imageData = nullptr; + stayWithinBounds = false; size = SIZE_16_16; } public: diff --git a/engine/src/sprites/sprite.cpp b/engine/src/sprites/sprite.cpp index 5a2f95f..19df17d 100644 --- a/engine/src/sprites/sprite.cpp +++ b/engine/src/sprites/sprite.cpp @@ -53,7 +53,8 @@ void Sprite::syncVelocity() { void Sprite::syncAnimation() { int offset = w == 64 ? 2 : 1; // 64xY sprites don't seem to cut currFrame * w - int newTileIndex = this->tileIndex + (currentFrame * w * offset); + int width = w == 16 ? 8 : w; // 16xY sprites: frame 192 -> 200 (x8) (skip last 2 bpps) + int newTileIndex = this->tileIndex + (currentFrame * width * offset); oam->attr2 &= OAM_TILE_OFFSET_CLEAR; oam->attr2 |= (newTileIndex & OAM_TILE_OFFSET_NEW);