From 67fc3d9551ffcbe5daaf3bf2b7d8c362bcee4bea Mon Sep 17 00:00:00 2001 From: mibi88 <76903855+mibi88@users.noreply.github.com> Date: Tue, 30 May 2023 22:53:51 +0200 Subject: [PATCH] Some code --- .ccls | 4 + COPYING | 339 +++++++++++++ Makefile | 52 ++ Realite.g1a | Bin 0 -> 19036 bytes assets/moving/jumping_biting_enemy.png | Bin 0 -> 129 bytes assets/moving/moving_platform.png | Bin 0 -> 141 bytes assets/player/boy/jump/a0.png | Bin 0 -> 173 bytes assets/player/boy/jump/a1.png | Bin 0 -> 239 bytes assets/player/boy/jump/a2.png | Bin 0 -> 235 bytes assets/player/boy/jump/a3.png | Bin 0 -> 243 bytes assets/player/boy/jump/a4.png | Bin 0 -> 228 bytes assets/player/boy/jump/a5.png | Bin 0 -> 238 bytes assets/player/boy/jump/a6.png | Bin 0 -> 241 bytes assets/player/boy/jump/a7.png | Bin 0 -> 240 bytes assets/player/boy/jump/a8.png | Bin 0 -> 234 bytes assets/player/boy/jump/alpha_gen.py | 12 + assets/player/boy/jump/conv.py | 7 + assets/player/boy/jump/main.ase | Bin 0 -> 3002 bytes assets/player/boy/jump/main.gif | Bin 0 -> 1165 bytes assets/player/boy/jump/s0.png | Bin 0 -> 178 bytes assets/player/boy/jump/s1.png | Bin 0 -> 293 bytes assets/player/boy/jump/s2.png | Bin 0 -> 283 bytes assets/player/boy/jump/s3.png | Bin 0 -> 295 bytes assets/player/boy/jump/s4.png | Bin 0 -> 288 bytes assets/player/boy/jump/s5.png | Bin 0 -> 305 bytes assets/player/boy/jump/s6.png | Bin 0 -> 293 bytes assets/player/boy/jump/s7.png | Bin 0 -> 296 bytes assets/player/boy/jump/s8.png | Bin 0 -> 298 bytes assets/player/boy/run/a0.png | Bin 0 -> 296 bytes assets/player/boy/run/a1.png | Bin 0 -> 270 bytes assets/player/boy/run/a10.png | Bin 0 -> 269 bytes assets/player/boy/run/a11.png | Bin 0 -> 292 bytes assets/player/boy/run/a2.png | Bin 0 -> 268 bytes assets/player/boy/run/a3.png | Bin 0 -> 275 bytes assets/player/boy/run/a4.png | Bin 0 -> 272 bytes assets/player/boy/run/a5.png | Bin 0 -> 292 bytes assets/player/boy/run/a6.png | Bin 0 -> 288 bytes assets/player/boy/run/a7.png | Bin 0 -> 272 bytes assets/player/boy/run/a8.png | Bin 0 -> 268 bytes assets/player/boy/run/a9.png | Bin 0 -> 273 bytes assets/player/boy/run/alpha_gen.py | 12 + assets/player/boy/run/conv.py | 7 + assets/player/boy/run/main.ase | Bin 0 -> 3812 bytes assets/player/boy/run/main.gif | Bin 0 -> 1994 bytes assets/player/boy/run/s0.png | Bin 0 -> 255 bytes assets/player/boy/run/s1.png | Bin 0 -> 365 bytes assets/player/boy/run/s10.png | Bin 0 -> 356 bytes assets/player/boy/run/s11.png | Bin 0 -> 389 bytes assets/player/boy/run/s2.png | Bin 0 -> 371 bytes assets/player/boy/run/s3.png | Bin 0 -> 367 bytes assets/player/boy/run/s4.png | Bin 0 -> 375 bytes assets/player/boy/run/s5.png | Bin 0 -> 388 bytes assets/player/boy/run/s6.png | Bin 0 -> 384 bytes assets/player/boy/run/s7.png | Bin 0 -> 376 bytes assets/player/boy/run/s8.png | Bin 0 -> 349 bytes assets/player/boy/run/s9.png | Bin 0 -> 341 bytes assets/player/girl/jump/a0.png | Bin 0 -> 186 bytes assets/player/girl/jump/a1.png | Bin 0 -> 243 bytes assets/player/girl/jump/a2.png | Bin 0 -> 233 bytes assets/player/girl/jump/a3.png | Bin 0 -> 238 bytes assets/player/girl/jump/a4.png | Bin 0 -> 231 bytes assets/player/girl/jump/a5.png | Bin 0 -> 249 bytes assets/player/girl/jump/a6.png | Bin 0 -> 238 bytes assets/player/girl/jump/a7.png | Bin 0 -> 235 bytes assets/player/girl/jump/a8.png | Bin 0 -> 243 bytes assets/player/girl/jump/alpha_gen.py | 12 + assets/player/girl/jump/conv.py | 7 + assets/player/girl/jump/main.ase | Bin 0 -> 3050 bytes assets/player/girl/jump/main.gif | Bin 0 -> 1162 bytes assets/player/girl/jump/s0.png | Bin 0 -> 182 bytes assets/player/girl/jump/s1.png | Bin 0 -> 290 bytes assets/player/girl/jump/s2.png | Bin 0 -> 289 bytes assets/player/girl/jump/s3.png | Bin 0 -> 283 bytes assets/player/girl/jump/s4.png | Bin 0 -> 263 bytes assets/player/girl/jump/s5.png | Bin 0 -> 306 bytes assets/player/girl/jump/s6.png | Bin 0 -> 280 bytes assets/player/girl/jump/s7.png | Bin 0 -> 278 bytes assets/player/girl/jump/s8.png | Bin 0 -> 290 bytes assets/player/girl/run/a0.png | Bin 0 -> 295 bytes assets/player/girl/run/a1.png | Bin 0 -> 270 bytes assets/player/girl/run/a10.png | Bin 0 -> 279 bytes assets/player/girl/run/a11.png | Bin 0 -> 296 bytes assets/player/girl/run/a2.png | Bin 0 -> 277 bytes assets/player/girl/run/a3.png | Bin 0 -> 281 bytes assets/player/girl/run/a4.png | Bin 0 -> 278 bytes assets/player/girl/run/a5.png | Bin 0 -> 295 bytes assets/player/girl/run/a6.png | Bin 0 -> 296 bytes assets/player/girl/run/a7.png | Bin 0 -> 270 bytes assets/player/girl/run/a8.png | Bin 0 -> 276 bytes assets/player/girl/run/a9.png | Bin 0 -> 281 bytes assets/player/girl/run/alpha_gen.py | 12 + assets/player/girl/run/conv.py | 7 + assets/player/girl/run/main.ase | Bin 0 -> 3973 bytes assets/player/girl/run/main.gif | Bin 0 -> 2018 bytes assets/player/girl/run/s0.png | Bin 0 -> 257 bytes assets/player/girl/run/s1.png | Bin 0 -> 363 bytes assets/player/girl/run/s10.png | Bin 0 -> 363 bytes assets/player/girl/run/s11.png | Bin 0 -> 386 bytes assets/player/girl/run/s2.png | Bin 0 -> 381 bytes assets/player/girl/run/s3.png | Bin 0 -> 373 bytes assets/player/girl/run/s4.png | Bin 0 -> 381 bytes assets/player/girl/run/s5.png | Bin 0 -> 384 bytes assets/player/girl/run/s6.png | Bin 0 -> 387 bytes assets/player/girl/run/s7.png | Bin 0 -> 372 bytes assets/player/girl/run/s8.png | Bin 0 -> 373 bytes assets/player/girl/run/s9.png | Bin 0 -> 357 bytes assets/tiles/0clay.png | Bin 0 -> 133 bytes assets/tiles/1wooden_planks.png | Bin 0 -> 91 bytes assets/tiles/2wooden_planks.png | Bin 0 -> 88 bytes assets/tiles/3wooden_planks_end.png | Bin 0 -> 91 bytes build/Realite.bin | Bin 0 -> 18524 bytes build/Realite.elf | Bin 0 -> 24548 bytes build/alpha_boy_jump.c.o | Bin 0 -> 2784 bytes build/alpha_boy_run.c.o | Bin 0 -> 3476 bytes build/alpha_girl_jump.c.o | Bin 0 -> 2784 bytes build/alpha_girl_run.c.o | Bin 0 -> 3440 bytes build/animation.c.o | Bin 0 -> 628 bytes build/assets.c.o | Bin 0 -> 980 bytes build/boy_jump.c.o | Bin 0 -> 2772 bytes build/boy_run.c.o | Bin 0 -> 3464 bytes build/game.c.o | Bin 0 -> 552 bytes build/girl_jump.c.o | Bin 0 -> 2772 bytes build/girl_run.c.o | Bin 0 -> 3464 bytes build/main.c.o | Bin 0 -> 1468 bytes build/player.c.o | Bin 0 -> 1020 bytes icon.png | Bin 0 -> 166 bytes lib/fx98xx.ld | 33 ++ lib/include/microfx/ext/gametools.h | 63 +++ lib/include/microfx/ext/img.h | 20 + lib/include/microfx/ext/strtools.h | 132 ++++++ lib/include/microfx/keycodes.h | 63 +++ lib/include/microfx/microfx.h | 483 +++++++++++++++++++ lib/libMicrofx.a | Bin 0 -> 17446 bytes src/animation.c | 13 + src/animation.h | 25 + src/assets.h | 7 + src/assets/alpha_boy_jump.c | 470 +++++++++++++++++++ src/assets/alpha_boy_run.c | 626 +++++++++++++++++++++++++ src/assets/alpha_girl_jump.c | 470 +++++++++++++++++++ src/assets/alpha_girl_run.c | 626 +++++++++++++++++++++++++ src/assets/assets.c | 24 + src/assets/boy_jump.c | 470 +++++++++++++++++++ src/assets/boy_run.c | 626 +++++++++++++++++++++++++ src/assets/girl_jump.c | 470 +++++++++++++++++++ src/assets/girl_run.c | 626 +++++++++++++++++++++++++ src/game.c | 1 + src/game.h | 40 ++ src/main.c | 51 ++ src/player.c | 45 ++ src/player.h | 24 + 150 files changed, 5879 insertions(+) create mode 100644 .ccls create mode 100644 COPYING create mode 100644 Makefile create mode 100644 Realite.g1a create mode 100644 assets/moving/jumping_biting_enemy.png create mode 100644 assets/moving/moving_platform.png create mode 100644 assets/player/boy/jump/a0.png create mode 100644 assets/player/boy/jump/a1.png create mode 100644 assets/player/boy/jump/a2.png create mode 100644 assets/player/boy/jump/a3.png create mode 100644 assets/player/boy/jump/a4.png create mode 100644 assets/player/boy/jump/a5.png create mode 100644 assets/player/boy/jump/a6.png create mode 100644 assets/player/boy/jump/a7.png create mode 100644 assets/player/boy/jump/a8.png create mode 100644 assets/player/boy/jump/alpha_gen.py create mode 100644 assets/player/boy/jump/conv.py create mode 100644 assets/player/boy/jump/main.ase create mode 100644 assets/player/boy/jump/main.gif create mode 100644 assets/player/boy/jump/s0.png create mode 100644 assets/player/boy/jump/s1.png create mode 100644 assets/player/boy/jump/s2.png create mode 100644 assets/player/boy/jump/s3.png create mode 100644 assets/player/boy/jump/s4.png create mode 100644 assets/player/boy/jump/s5.png create mode 100644 assets/player/boy/jump/s6.png create mode 100644 assets/player/boy/jump/s7.png create mode 100644 assets/player/boy/jump/s8.png create mode 100644 assets/player/boy/run/a0.png create mode 100644 assets/player/boy/run/a1.png create mode 100644 assets/player/boy/run/a10.png create mode 100644 assets/player/boy/run/a11.png create mode 100644 assets/player/boy/run/a2.png create mode 100644 assets/player/boy/run/a3.png create mode 100644 assets/player/boy/run/a4.png create mode 100644 assets/player/boy/run/a5.png create mode 100644 assets/player/boy/run/a6.png create mode 100644 assets/player/boy/run/a7.png create mode 100644 assets/player/boy/run/a8.png create mode 100644 assets/player/boy/run/a9.png create mode 100644 assets/player/boy/run/alpha_gen.py create mode 100644 assets/player/boy/run/conv.py create mode 100644 assets/player/boy/run/main.ase create mode 100644 assets/player/boy/run/main.gif create mode 100644 assets/player/boy/run/s0.png create mode 100644 assets/player/boy/run/s1.png create mode 100644 assets/player/boy/run/s10.png create mode 100644 assets/player/boy/run/s11.png create mode 100644 assets/player/boy/run/s2.png create mode 100644 assets/player/boy/run/s3.png create mode 100644 assets/player/boy/run/s4.png create mode 100644 assets/player/boy/run/s5.png create mode 100644 assets/player/boy/run/s6.png create mode 100644 assets/player/boy/run/s7.png create mode 100644 assets/player/boy/run/s8.png create mode 100644 assets/player/boy/run/s9.png create mode 100644 assets/player/girl/jump/a0.png create mode 100644 assets/player/girl/jump/a1.png create mode 100644 assets/player/girl/jump/a2.png create mode 100644 assets/player/girl/jump/a3.png create mode 100644 assets/player/girl/jump/a4.png create mode 100644 assets/player/girl/jump/a5.png create mode 100644 assets/player/girl/jump/a6.png create mode 100644 assets/player/girl/jump/a7.png create mode 100644 assets/player/girl/jump/a8.png create mode 100644 assets/player/girl/jump/alpha_gen.py create mode 100644 assets/player/girl/jump/conv.py create mode 100644 assets/player/girl/jump/main.ase create mode 100644 assets/player/girl/jump/main.gif create mode 100644 assets/player/girl/jump/s0.png create mode 100644 assets/player/girl/jump/s1.png create mode 100644 assets/player/girl/jump/s2.png create mode 100644 assets/player/girl/jump/s3.png create mode 100644 assets/player/girl/jump/s4.png create mode 100644 assets/player/girl/jump/s5.png create mode 100644 assets/player/girl/jump/s6.png create mode 100644 assets/player/girl/jump/s7.png create mode 100644 assets/player/girl/jump/s8.png create mode 100644 assets/player/girl/run/a0.png create mode 100644 assets/player/girl/run/a1.png create mode 100644 assets/player/girl/run/a10.png create mode 100644 assets/player/girl/run/a11.png create mode 100644 assets/player/girl/run/a2.png create mode 100644 assets/player/girl/run/a3.png create mode 100644 assets/player/girl/run/a4.png create mode 100644 assets/player/girl/run/a5.png create mode 100644 assets/player/girl/run/a6.png create mode 100644 assets/player/girl/run/a7.png create mode 100644 assets/player/girl/run/a8.png create mode 100644 assets/player/girl/run/a9.png create mode 100644 assets/player/girl/run/alpha_gen.py create mode 100644 assets/player/girl/run/conv.py create mode 100644 assets/player/girl/run/main.ase create mode 100644 assets/player/girl/run/main.gif create mode 100644 assets/player/girl/run/s0.png create mode 100644 assets/player/girl/run/s1.png create mode 100644 assets/player/girl/run/s10.png create mode 100644 assets/player/girl/run/s11.png create mode 100644 assets/player/girl/run/s2.png create mode 100644 assets/player/girl/run/s3.png create mode 100644 assets/player/girl/run/s4.png create mode 100644 assets/player/girl/run/s5.png create mode 100644 assets/player/girl/run/s6.png create mode 100644 assets/player/girl/run/s7.png create mode 100644 assets/player/girl/run/s8.png create mode 100644 assets/player/girl/run/s9.png create mode 100644 assets/tiles/0clay.png create mode 100644 assets/tiles/1wooden_planks.png create mode 100644 assets/tiles/2wooden_planks.png create mode 100644 assets/tiles/3wooden_planks_end.png create mode 100755 build/Realite.bin create mode 100755 build/Realite.elf create mode 100644 build/alpha_boy_jump.c.o create mode 100644 build/alpha_boy_run.c.o create mode 100644 build/alpha_girl_jump.c.o create mode 100644 build/alpha_girl_run.c.o create mode 100644 build/animation.c.o create mode 100644 build/assets.c.o create mode 100644 build/boy_jump.c.o create mode 100644 build/boy_run.c.o create mode 100644 build/game.c.o create mode 100644 build/girl_jump.c.o create mode 100644 build/girl_run.c.o create mode 100644 build/main.c.o create mode 100644 build/player.c.o create mode 100644 icon.png create mode 100644 lib/fx98xx.ld create mode 100644 lib/include/microfx/ext/gametools.h create mode 100644 lib/include/microfx/ext/img.h create mode 100644 lib/include/microfx/ext/strtools.h create mode 100644 lib/include/microfx/keycodes.h create mode 100644 lib/include/microfx/microfx.h create mode 100644 lib/libMicrofx.a create mode 100644 src/animation.c create mode 100644 src/animation.h create mode 100644 src/assets.h create mode 100644 src/assets/alpha_boy_jump.c create mode 100644 src/assets/alpha_boy_run.c create mode 100644 src/assets/alpha_girl_jump.c create mode 100644 src/assets/alpha_girl_run.c create mode 100644 src/assets/assets.c create mode 100644 src/assets/boy_jump.c create mode 100644 src/assets/boy_run.c create mode 100644 src/assets/girl_jump.c create mode 100644 src/assets/girl_run.c create mode 100644 src/game.c create mode 100644 src/game.h create mode 100644 src/main.c create mode 100644 src/player.c create mode 100644 src/player.h diff --git a/.ccls b/.ccls new file mode 100644 index 0000000..36dc838 --- /dev/null +++ b/.ccls @@ -0,0 +1,4 @@ +sh-elf-gcc +-Os +-Ilib/include/ +-std=c89 diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6bb1ed4 --- /dev/null +++ b/Makefile @@ -0,0 +1,52 @@ +NAME = Realite + +ELF = $(NAME).elf +BIN = $(NAME).bin + +CC = sh-elf-gcc + +SRC = src/assets/alpha_boy_jump.c \ + src/assets/alpha_girl_jump.c \ + src/assets/boy_run.c \ + src/assets/girl_run.c \ + src/assets/alpha_boy_run.c \ + src/assets/alpha_girl_run.c \ + src/assets/boy_jump.c \ + src/assets/girl_jump.c \ + src/assets/assets.c \ + src/animation.c \ + src/player.c \ + src/game.c \ + src/main.c +OBJ = $(SRC:src/%=build/%.o) + +ICON = icon.png + +LIB = lib + +BUILD = build + +VERSION = v.1.0 + +all: $(BIN) + fxgxa --g1a -n $(NAME) -i $(ICON) --version="$(VERSION)" -o $(NAME).g1a build/$(BIN) + sh-elf-objdump -h $(BUILD)/$(ELF) + +$(BIN): $(ELF) + sh-elf-objcopy -O binary build/$(ELF) build/$(BIN) -R .bss + +$(ELF): $(OBJ) | $(LIB)/ + $(CC) $(addprefix build/, $(notdir $(OBJ))) $(LIB)/libMicrofx.a -o $(BUILD)/$@ -nostdlib -T lib/fx98xx.ld -ffreestanding -mb -m3 -Os -Wa,--dsp -lgcc + +$(BUILD)/%.o: src/% | $(BUILD)/ + $(CC) -c $< -o $(addprefix build/, $(notdir $@)) -Os -Ilib/include/ -std=c89 + +.PRECIOUS: %/ + +%/: + @ mkdir -p $@ + +clean: $(BUILD) + rm $(BUILD) --recursive + rm $(NAME).g1a + diff --git a/Realite.g1a b/Realite.g1a new file mode 100644 index 0000000000000000000000000000000000000000..0ea8b4f69e842a20271dd3712a6a2a46545118d8 GIT binary patch literal 19036 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 literal 0 HcmV?d00001 diff --git a/assets/moving/jumping_biting_enemy.png b/assets/moving/jumping_biting_enemy.png new file mode 100644 index 0000000000000000000000000000000000000000..b31c708db7b37850f3a18734d294b3fb40ed0bc0 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAJUm?-LnNlA_Brw$aNuBKzx=;` zrrfn<7pg881O_b2wwsl`oMFF%M8NjB!d5=5TrGA7b~yYs>#t^NTyy8gQi~Y&4NA{{ bylrfh-hWC|UShxIU69$Hu6{1-oD!MOK7iMK(sOhNW|y85}Sb4q9e0P&$UW&i*H literal 0 HcmV?d00001 diff --git a/assets/player/boy/jump/a0.png b/assets/player/boy/jump/a0.png new file mode 100644 index 0000000000000000000000000000000000000000..2aa59026f987ad68d2a47ee10f78d65a914d648f GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^3P5bY!3HD?)>PyJsS-~Y$B>FSZ>KwQ9WdZv+4}$g z=Dph{IHmd~B|MvFp`y1)lHov_O|^p3qteFeUw!J+gZ4DtXNo@>y7CJ583sm8)-0wo zeqIMVxD{>USC9Q#hiDQoHg*+*xgl!f22@;ARfh{5#8)s<>-QNFz?P-LL UsZyNX450lCp00i_>zopr0LDT(`v3p{ literal 0 HcmV?d00001 diff --git a/assets/player/boy/jump/a1.png b/assets/player/boy/jump/a1.png new file mode 100644 index 0000000000000000000000000000000000000000..f964e0deab68e7f5d69cc48e14add9933944b027 GIT binary patch literal 239 zcmVY{DJA6riapKhiUg3~{XE-F# zL%Zh`0aiF9zzkCfv?%AI$XO&Ifl+|9LvRP`Al7tj{~a$0wA#J(Lc(BKfIXJybzr-I p=Ji7rU=sr83w+{Bxb<;r%I4%;;n`CUrK?IQK(el zDlC$a2rwrt6IclcfcLK8FH=*%hBH%;7Kp-`&?EE}s9HV}+Gc{Yrw4*5s1Cmscq05( zfGxff4v{jXfVYD`l!EL%toa{zaE7_^imNs=U(y6VBLwRVTpD&`!k1SA<3fmxs= zK^J(d)6QCwvFY0@|&o3ZQeR2{51wXsR~}SZ8k%V1+{h z%y39x#&hmr$4I+;os%ViN~k-4R!S3?VOdN_fZ2uR-vi48SY7zvF>(_aXO50!&knGv thXt6J&$0D&+^+*EFcSJ>!jK3b!3B;cR5C4XD~SLA002ovPDHLkV1gh4TWbIS literal 0 HcmV?d00001 diff --git a/assets/player/boy/jump/a4.png b/assets/player/boy/jump/a4.png new file mode 100644 index 0000000000000000000000000000000000000000..0b9d0398caba3c9ee239bb77ecfad81497fc9985 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^3P5bY!3HD?)>PyJsnwn?jv*Cu-rn%$Yf#`}3Hb1@ ze4TXc55;Nc5>(HH1s<+^!G~;ixlJ`OpcuU?R zMXLZx3QQ3w7b0gL)Oun43V2QcMW82nZ6LV>(BVT9=%F=^_vnOA;0iFx?-H;WT|F$o zT0Jaafvlb?fRX}`fVJP@PcoK-YYP|>?jG<;tl5OW60piWG8O3$lCbO8BJ4I4!9Joi o0akKYfXUR~ahQMy+HHt(0NOBAJY_gUS^xk507*qoM6N<$f>#b(*8l(j literal 0 HcmV?d00001 diff --git a/assets/player/boy/jump/a6.png b/assets/player/boy/jump/a6.png new file mode 100644 index 0000000000000000000000000000000000000000..27618a0f9bf749bf1b1b12b5f971736c7c7dc4d4 GIT binary patch literal 241 zcmV;-7@1cR@wG zvwp7{tT;<+4OQY1g(18;h0_FPB8s(?tzkC}_>j6K@DPp-^qkDV5nWUA+wdy}_Ao73 r{v@N{1MEQlUIKfT{uwDuEN{UBY6e^-L2D5G00000NkvXXu0mjfO9Eit literal 0 HcmV?d00001 diff --git a/assets/player/boy/jump/a7.png b/assets/player/boy/jump/a7.png new file mode 100644 index 0000000000000000000000000000000000000000..2ae05df1d0d83ace7b070c76bf24b237fedde0e2 GIT binary patch literal 240 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 literal 0 HcmV?d00001 diff --git a/assets/player/boy/jump/s0.png b/assets/player/boy/jump/s0.png new file mode 100644 index 0000000000000000000000000000000000000000..b51744560e3edb7434b8a8a953a44440660f5b79 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^3P5bY#0(NSG~o}B;tB8xaRt&q@c;jRAbHd$Rvkz& zmIV0)GdMiEkp|?1c)B=-RLn_ESis29dZ|ZyA38tjTMd3=`fZo>1u)^yE?&dA4B%r@=%91xAJ_N%4t7 TD;Goq&1dj*^>bP0l+XkKEuAzE literal 0 HcmV?d00001 diff --git a/assets/player/boy/jump/s1.png b/assets/player/boy/jump/s1.png new file mode 100644 index 0000000000000000000000000000000000000000..a7bb4c94f3ac5ada49b9aa6f1ad4d5762794bc56 GIT binary patch literal 293 zcmV+=0owkFP)*N4BV^fZ)PX=HZyLbO6fU0U&>y@r=mF@vg zy;%S{GL4)*0zftQ0u0TwS_R-cA6mHywdr!P6YvWFOJYGFgk;=PkZHIm09bKH0p8R+ zvB)N}3h*g~R6L#p(A@o$(G0%@EC??Eyq{cb0Jb800000NkvXXu0mjfBFT9F literal 0 HcmV?d00001 diff --git a/assets/player/boy/jump/s2.png b/assets/player/boy/jump/s2.png new file mode 100644 index 0000000000000000000000000000000000000000..9fa3b19f62efa04a05e453f5dead87eda6ea5ade GIT binary patch literal 283 zcmV+$0p$LPP)66Vpg?i8$AN|Gc=k|fDy2s|Hq=Z6b0pAJMc&G;b0 zMQF8Y;~EDl{N~Gx9MeEl;F4kquB@y9mSIG62^Q^8bD{z~2Fu=i=8p)l4D_!05ziuQ zCBG|o6pQV&*LB=DpG%Z0=qbTVTrobRi+cS2DC$U$Zm zAZ4R@O`yYa$~_@K-lG;R@Q6gD1<>^nz7L=zkXN$*6o|m(w=;6t@E5>If$ajJODSlc hH38Jc1XY2sz!#hRYa|sR6Wjm*002ovPDHLkV1jC&c!~f3 literal 0 HcmV?d00001 diff --git a/assets/player/boy/jump/s3.png b/assets/player/boy/jump/s3.png new file mode 100644 index 0000000000000000000000000000000000000000..484ed259d89f297c5458d0741db4994abbccf647 GIT binary patch literal 295 zcmV+?0oeYDP)T$bvAn0DJs zRb_kj8MzF=(+s^&11KWDA7G^BU*9qSWb1~6!bc$0yv27%u)eHoznqk=+p7dc|Q}f2@ewx6{Q4` zQ;-UP=+OX*)SdxAQ35<40BywS89)S|10wMZtaq>aRs0qJuQ0{*9!P)$hycW|KO}&a mg0KS+QMTY;K)^qzsI52h7h*3Aa(R#d0000}|cxUgdrogSGfYUu&_;BceY6Ugop7|=Z?6LFo~aOkk@-Smn=stivH-3U^9V9w2a%$I zQ-Jzlc`N=~0BsHEJ^e5NXb@-$UAc$4lv0Fb|1+9()sYrZJKmnlO41hz~-4Kz< zwkuAL-B-#Ihi}0nK`HpA6H%H30?1rOPh$Z8Qhe|LYk6ogN!E(200000NkvXXu0mjf DBYA_L literal 0 HcmV?d00001 diff --git a/assets/player/boy/jump/s6.png b/assets/player/boy/jump/s6.png new file mode 100644 index 0000000000000000000000000000000000000000..c126958d7e3c5d562d110ec8239de6f9ba180c71 GIT binary patch literal 293 zcmV+=0owkFP)(+OBXKF)Lt79`Qp) zK!|`XfJz<}FeLBXujWL!4C!_4j9k#&h=IJW7j0FT5LtyZ0biAymQyxq_879(xPJs6 zLBuYwOnAEhz$~7Dh_sMQ&`ijdWh9M{=EF1;%^U8`H$r+F0=Z8xmVgthCxQA=x(k%q rzwz@9r0)Sjo;3l3-?6m@ElXg^Sm{!NU2mRl}i6ECC9U9d^&*Hi$PVtdfb@i zooS;v&v&}B%omwUf3_2&0+Wl!xG6gWXXdIp8F%g2`eXo>Wsk;30nE&%UVEl~RC)#? z{bm8!$`r{S0ic>k0hZ=jc>(y&hdggW8>U?P4amw9Wh#Bw^Y#Fy32(tTaGnb%3!toW zqX2IjGET#J0X`Y2{AdPrc=uCQ6TS;r5K#b)esZw^=t2OfYYA6?1#x)`5Scvh2a^l7 ufUW|#901v+)!@N92?Iob!|4E|Sn>eu_GB?K996vl0000#H>%#>^{tnFi7~_Ks z-UO{S_wyNFRB&bI)IOVm%s^|i{9S}ViFRFsL|cv-(I%9KKwGCk`c$uUeNU(a%)FH5 z9Rm06>!)Y;UV$O?5v&4gaPRIt0&pw>(9~N6wgk5b3?mmEzskzXNPW>zX}WM)%uR?c zMRW={GJ=*LLe71S*PH{~cm2wB3n`#VAh4Ezt(Q);03441v=r_Ppd?;dg5wC4lTqlz w%Lq*h92f8mv(|Xq?*oH?^`8*90B9}x0bf5_I2igu^#A|>07*qoM6N<$f)}uUr~m)} literal 0 HcmV?d00001 diff --git a/assets/player/boy/run/a0.png b/assets/player/boy/run/a0.png new file mode 100644 index 0000000000000000000000000000000000000000..4af4046b02aa1bd34f94fd9f11267d940ca5a065 GIT binary patch literal 296 zcmV+@0oVSCP)49k^5Zg^P2_LHpzXX#~v!kPjt4;yb#vSwB zErR!Pw*xB>DoB}a@Ia)KuwB}Hp8|*!fk*(n>Jbp>=h#yOL5*UCWEnugq#-Q5kf)=Mv#LC}Jt8)L@A>K&`bN0*XK}CuVYs%mBUQD3t34 z7)k)D3s47?LUw`06~jxAHZ%b+CZG#|DHy161g~0A^-h8%mF3Ro`iV ztuDO}csk`QP`BZ}DYy(kc@R+mBYnlC6oHVY;Qc#WBnKF23pj$10<31ptbm6~w7*e^ zvN=$)2fTuP5%L=vz%%zgBMJjV-UEzQg9cDv#UX&bzDJ)Qt;it&YR)|Sj2cG@N=`%8 qoK6kDGBYAcJ0000v6mQ literal 0 HcmV?d00001 diff --git a/assets/player/boy/run/a2.png b/assets/player/boy/run/a2.png new file mode 100644 index 0000000000000000000000000000000000000000..00abfae3ea37ca7e9e7abb63070fd3a1ce6807e9 GIT binary patch literal 268 zcmV+n0rUQeP)8I7>;Aza!BJR8>zCin!)nn86WX0V}vyDwF{R zDL}0PZv~V>t^%YgUf+T&Lr8$p0Yd^zQXmB&0i@+p1(;j}bmJ9)W8gc9M;g)0RbK== z7mGFacrZPSIc2$ir1jq;(d~rR zWc&B%b`7;+X77gtYKdAXk_GC@kf%EJHk|%4Vn7x6*VC-W=y~{V212)CGLsbu&4?x4 S`Y3Av00000L+<>?9>JSPxvuW002ovPDHLkV1iJ^Z4dwe literal 0 HcmV?d00001 diff --git a/assets/player/boy/run/a4.png b/assets/player/boy/run/a4.png new file mode 100644 index 0000000000000000000000000000000000000000..f56475698509682dba1d22f1f7ef670cb1e7b6e1 GIT binary patch literal 272 zcmV+r0q_2aP)fC+*mpLakvf2_Ef#M_vInTDejO+hI&))+Bftjk#G|HC z6=1LoP*V_1Kx^a_AgL(70=j|s#E{ViQwCT-23T(o8DNS-1}uh-V+LUZNV}yP=rL>- zFsm?M40{ZjhL%X#FuHyh5fhK4z-xlu2cjlu6+m}GD9^n&E1v~=;C&wMXkHPkB9sdB zL@c8e1DVzwx&lPVjO|n6-ZXq7hi1k8G2cEQB9i?hzT&U}%K^ literal 0 HcmV?d00001 diff --git a/assets/player/boy/run/a5.png b/assets/player/boy/run/a5.png new file mode 100644 index 0000000000000000000000000000000000000000..5cb302a0dc562eb0db6b08aba4ac92a2af1e7a97 GIT binary patch literal 292 zcmV+<0o(qGP)161g~0A^-h8%mF3Ro`iV ztuDO}csk`QP`BZ}DYy(kc@R+mBYnlC6oHVY;Qc#WBnKF23pj$10<31ptbm6~w7*e^ zvN=$)2fTuP5%L=vz%%zgBMJjV-UEzQg9cDv#UX&bzDJ)Qt;it&YR)|Sj2cG@N=`%8 qoK6kDGBYAcJ0000v6mQ literal 0 HcmV?d00001 diff --git a/assets/player/boy/run/a6.png b/assets/player/boy/run/a6.png new file mode 100644 index 0000000000000000000000000000000000000000..0ba8ae1e0232603ed854ac88850382cb36c3087e GIT binary patch literal 288 zcmV+*0pI?KP)l3U?9Y7YwO=N*bCg6NX0cJUw0{EesAqtTKRErLQxE;lrv1%6#0U~p?@dZF(3{S%DsL#5s0fjNV mkaR?y0;mK{!tUs|%*;OAF_1#vN66Fw00008I7>;Aza!BJR8>zCin!)nn86WX0V}vyDwF{R zDL}0PZv~V>t^%YgUf+T&Lr8$p0Yd^zQXmB&0i@+p1(;j}bmJ9)W8gc9M;g)0RbK== z7mGFacrZPSIc2$ir1jq;(d~rR zWc&B%b`7;+X77gtYKdAXk_GC@kf%EJHk|%4Vn7x6*VC-W=y~{V212)CGLsbu&4?x4 S`Y3Av0000?q^GhGc0vSe+s-5Fa9##Y_9xwZ%m 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 literal 0 HcmV?d00001 diff --git a/assets/player/boy/run/s1.png b/assets/player/boy/run/s1.png new file mode 100644 index 0000000000000000000000000000000000000000..f98788a4cde8f83fcc653853854e2dc9b1185f65 GIT binary patch literal 365 zcmV-z0h0cSP)$y@Bijg!Y+UQY1X$!Qgfzfw?x}y2K=nw%yURd_62Et=ffNxEk-G$ul#wL9gUGVo zv~B2xmq6Eq?jVrj+)IF%=)w&CQUmZFJXr)r68xo^Sfm7yL}(?E)`$jCE(>*+2$yx@ z&46T7vZZFieH=$;!3uXHT7)RnD1jd+wMLngI(sPHK9JCC__%B=uO#j|4LN>9X3YX$ ztxdP%5CZ8NV|HezLze*};t_P0vh~#McDk_nZqd!0DUr>xB%o_f$FV8>I|!Jug@8p**|j(Ss;6gQXl5#QW?+Z?2l@B_nqQwn|4VoW00000 LNkvXXu0mjfR8^s= literal 0 HcmV?d00001 diff --git a/assets/player/boy/run/s10.png b/assets/player/boy/run/s10.png new file mode 100644 index 0000000000000000000000000000000000000000..f3bfceb98c10424c00d959996a3a355d01e35a9c GIT binary patch literal 356 zcmV-q0h|7bP)rjFX>)3pDottg`RqOkCFr2HZ zsH!aQV??GA7}-GIwF$VLLul22&pDF+E`imf1#73lmP&j-s|F}VXl8HOm)yj?Fx7|9-7s(nkLSzJ z0~PqTf-j>ZDk+$e*W(4mv6nIRBi8o-00009O2&!AX^mW-QPq~Bpz3*f{-jA!YM!jNF8{^^Y%1s zjC%y80Cl++fQU#o&JiHOD&cbgRGW@QgNYX_09CmsE4&oA^AQ4&-L6zZb6Ow(LN^?k zf~abEzci$3FUXY<=?75&hva57-y#z8 juofy#M%@A(Hr!HvDQl=%KY>G<00000NkvXXu0mjf@)?{e literal 0 HcmV?d00001 diff --git a/assets/player/boy/run/s2.png b/assets/player/boy/run/s2.png new file mode 100644 index 0000000000000000000000000000000000000000..d20651623a428debb4582d2ff9ff5846161c67d7 GIT binary patch literal 371 zcmV-(0gV2MP)k zkmY-;$Y}&xHq?7*0&e9LQa#{n&eT6kz%pv**=5kB6W7mZfRZLuRk{Qj$+Xve3z6x# zW!sPiOQ5^@D+!b#MSyL*G6IGSk+!TWa9tCp*(=Y;%!3f=3k*VhX6INlg z4dLZw?Di~@N)z!7K( z008#%FxRyD5CO=9BZU=_g=!ukFMH9eQ;@QN}N1fm@@KQfeZ4Ok}QGXc#kl-`pi z>a30Ug;vMQA{tW>*Uu^cXu(vSkArnY48c?bMUc0nIl2ZY=A4OJ%X;Lk$qKCn+$XC4 zR(~Cbh`9Dd)PQ-x9KxI)B>8MhEp*s1JT@Hj0eWfok%vCx(5IN N002ovPDHLkV1l2)o7w;X literal 0 HcmV?d00001 diff --git a/assets/player/boy/run/s4.png b/assets/player/boy/run/s4.png new file mode 100644 index 0000000000000000000000000000000000000000..8620b7047bbad1ed911b8eeda4ccba89c30c6a54 GIT binary patch literal 375 zcmV--0f_#IP)LXZohqOm7&9)sD}zV_*c1|MGWd9Q-I|KbDud2Sux z01SYQ?=d1TBM{k0@0AH0PA*wV1IL^z`L7b#5IuSJZ{|aZ`zPz5!gyAKluwm_&xALK zEc;ceU<$67T!yOZs|4KL_b_*mXzPTZLm&(tB;An83rnEA(^XSYE=h?%HUX9Js|2 iN(|7lNq;uHrTqXP3ZY}fE$2J{0000pv08c6QbEM zwH)8k4;;K7>4*^l134)c^R9wNfJ`a2GKWND#Q@wH?FguCcV!|nvfdSkQ|TC;zo6S8mg-M z@7^xELbrQ zTyj6!mfapm!mBgE>V$tkv7e-Lj?tQ1nxb|}X!AngP zl`x$mP~iZ;G%p?mSRgFM&VnF*m;{PmxMWZzKJ_ad~xPH9?U_lsl0VEB};@mWhB1%9q zsfQo{!!-zq$SGL>!Os%lsL4?TU}zBt)pQgA87!$n6tDjpx*cyutR6gPkFfT1oy$hJ z)lijTbxz9}Vz#mqa6?8d=J zpfr2G4ZOzw5JoCtRd$V%l)FYtF|77if}Q7&d>e9ww;AoGD+R5D?uKp>U)hc`aF6Sk vvj7qKiV-@w-A{G61-y^cnHHEK|AKe{BC(G}GpYc(00000NkvXXu0mjf>|vLL literal 0 HcmV?d00001 diff --git a/assets/player/boy/run/s9.png b/assets/player/boy/run/s9.png new file mode 100644 index 0000000000000000000000000000000000000000..77529067079aca2a7f134e2aee4f005a840cb96b GIT binary patch literal 341 zcmV-b0jmCqP)*8>|G$614k2h!_t)D&fL0;4!dA_3IIS`SB=(#1OUKWtS+X_fq`1C z3RM!UAKXi{CUd0TPCzBnS-T7A9AK2#BVfUx(e>jB)S%u4)%PZ8=%N~3xm9=TkqX4+ zdcY-l*|E9@nw)b6Vl-;qS?@op6wwmchoF>7YC{qxaehbS5H>1P6o||MB>~E&DGxX0 nqNF8goYb%svlLLr{$V@-aN(9a_$bEM00000NkvXXu0mjf;Np{@ literal 0 HcmV?d00001 diff --git a/assets/player/girl/jump/a0.png b/assets/player/girl/jump/a0.png new file mode 100644 index 0000000000000000000000000000000000000000..f3e31912e7411e50f4f6d2552d73a06ef93cf35f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^3P5bY!3HD?)>PyJsYXv1$B>FSZ>MkMJD|Y9y7d45 z^Ch|L?4KK)s?29;h`TgpGcx>+a%Ua6Ii{n6|8pX z2sEk)1kNa8J2fwH+L1R>8OjT6j$2B0WLQmdn0922c81~vL*X+g8H6uBXWA_nU^VGt lhkyeEBTE$52h-r4jEcQFE_yrPKLk34!PC{xWt~$(699{jLOcKf literal 0 HcmV?d00001 diff --git a/assets/player/girl/jump/a1.png b/assets/player/girl/jump/a1.png new file mode 100644 index 0000000000000000000000000000000000000000..f912d650a5e6b3610ad758ec115c51f9903545d0 GIT binary patch literal 243 zcmV-bs|03n%ayzRUbD#3 zfK|xVKnp|KfFB|TTts9?1-#%hYd*!yOa(?2Gg?qJ;5}!zz(~T|f@uaKnlKL`TjKk- tAO+eW|9?~gc2Zz{fk&U>2#ME^-~bZ7R5W`XihBS6002ovPDHLkV1oZuUpW8( literal 0 HcmV?d00001 diff --git a/assets/player/girl/jump/a2.png b/assets/player/girl/jump/a2.png new file mode 100644 index 0000000000000000000000000000000000000000..f68a1f0f7378e74e42eb5a087e79bdf0e503a4d5 GIT binary patch literal 233 zcmVJ1R?Rw|w z0i+T=fhEHSkv3Q``x#9Uu=q;UL#UO2D&Q#rw;-O32B`&d5#*kmfHmt0lmn-oi}fl% jfzJuNauj0 zL_p(T0$){YgGdvwgwq5@lkP5n01IfVAJq>Fpy99p8tx)66AlR=lMf59!c79qaFalf z_rA{x(uQz$_-;;?fK_6;0qaU>0zH;rM$8u6-ve#}tQO+G2et{cdv4v5m<_O2Zx&zz oU&rWijMqR4w4hJ4nAb6r3m=qFJe)c*n*aa+07*qoM6N<$f+g2nJpcdz literal 0 HcmV?d00001 diff --git a/assets/player/girl/jump/a4.png b/assets/player/girl/jump/a4.png new file mode 100644 index 0000000000000000000000000000000000000000..ed389b4410c03adb85751f74fb203edcb6130468 GIT binary patch literal 231 zcmVa!3x~<0Mtdq h4d@{vpXKu_*$(qUKu~;P-5&q|002ovPDHLkV1fV|RFnV! literal 0 HcmV?d00001 diff --git a/assets/player/girl/jump/a5.png b/assets/player/girl/jump/a5.png new file mode 100644 index 0000000000000000000000000000000000000000..48a75ba0699b3e34aa5a5e184f5ba85b70a24cdc GIT binary patch literal 249 zcmVi@!fv=?A98iXEq}N{}`?p{ueX76+y*UU8MAL@_M(|$2x%$E0tp2Bt0a+Ob-dLN#BNafnKi>38(^03AhF5)YAld5;Ii@4`H+t`#(dg+%r|7|Bx(O z#}>=Bp~yS^vSq})92Q_g5s0klJuAT410o_9z93LRK5V>s00000NkvXXu0mjf71m)< literal 0 HcmV?d00001 diff --git a/assets/player/girl/jump/a6.png b/assets/player/girl/jump/a6.png new file mode 100644 index 0000000000000000000000000000000000000000..705661d1967c713ec3aed4f1dd56619c9399c73e GIT binary patch literal 238 zcmV`19C7=vX3#h|W0!%p45g~!M@TU;89Zv<2@IEYa z7rg$+tUL>K3{~N@KwK;nxQkQ;rlmwf*lmFaAtH2*^$Wy9N8*h9fF{VZS$F oU;b)W+^+&XOJBtbiRD{x0$fmJ60~ZN>Hq)$07*qoM6N<$g8e*PGXMYp literal 0 HcmV?d00001 diff --git a/assets/player/girl/jump/a7.png b/assets/player/girl/jump/a7.png new file mode 100644 index 0000000000000000000000000000000000000000..5d1a98b53d6276f61999666beb6fe2a04c8006aa GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^3P5bY!3HD?)>PyJsZE|Pjv*Cu-cCQr*Py`TeDMGO zbeorr8YOFrCv7p;e|>v}@)RY{Nh+Q}o3u7ZWUsy3n%$ZuFZj&={z8WQG>#T&hPNgx z2eRKWIh>iOpvP!nRnBOT%9c=;&z3NIHbdI8+6OCU3%vbf?~qA@UBNw{H|C6t jfA|!>W*%$sux}Dh-4SBQe9VIx=z0cES3j3^P6-bs|03n%ayzRUbD#3 zfK|xVKnp|KfFB|TTts9?1-#%hYd*!yOa(?2Gg?qJ;5}!zz(~T|f@uaKnlKL`TjKk- tAO+eW|9?~gc2Zz{fk&U>2#ME^-~bZ7R5W`XihBS6002ovPDHLkV1oZuUpW8( literal 0 HcmV?d00001 diff --git a/assets/player/girl/jump/alpha_gen.py b/assets/player/girl/jump/alpha_gen.py new file mode 100644 index 0000000..f18fba6 --- /dev/null +++ b/assets/player/girl/jump/alpha_gen.py @@ -0,0 +1,12 @@ +from PIL import Image +import sys + +with Image.open(sys.argv[1]) as im: + for i in range(im.n_frames): + im.seek(i) + rgb_im = im.convert("RGBA") + pixels = rgb_im.load() + for y in range(rgb_im.size[1]): + for x in range(rgb_im.size[0]): + if pixels[x, y] != (0, 0, 0, 0): pixels[x, y] = (255, 255, 255, 255) + rgb_im.save("a"+str(i)+".png") diff --git a/assets/player/girl/jump/conv.py b/assets/player/girl/jump/conv.py new file mode 100644 index 0000000..a3ced61 --- /dev/null +++ b/assets/player/girl/jump/conv.py @@ -0,0 +1,7 @@ +from PIL import Image +import sys + +with Image.open(sys.argv[1]) as im: + for i in range(im.n_frames): + im.seek(i) + im.save("s"+str(i)+".png") diff --git a/assets/player/girl/jump/main.ase b/assets/player/girl/jump/main.ase new file mode 100644 index 0000000000000000000000000000000000000000..2fc9dcb7da940f2cfcd996a297ddc407c71c043f GIT binary patch literal 3050 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 NE-B)Dl{+JYH2_RB&F=sJ literal 0 HcmV?d00001 diff --git a/assets/player/girl/jump/s0.png b/assets/player/girl/jump/s0.png new file mode 100644 index 0000000000000000000000000000000000000000..4757f51c0f408cca0070cfbcdd235678f03994eb GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^3P5bY#0(NSG~o}B;tB8xaRt&q@c;jRAbHd$Rvkz& zmIV0)GdMiEkp|>Mc)B=-RLn_ESfI+$dZ|ZSR)J?*rok~C31!h$ZMv+-I2sL&5_=40 zJlev!Ly|9p$4#P{aq>j2U}N4`!$Wg4B$7pa&U($*Z*(%rWzr#zR!h??CLa|B4+aKr XUa_l^LQ&N~I~Y7&{an^LB{Ts5O^Y%( literal 0 HcmV?d00001 diff --git a/assets/player/girl/jump/s1.png b/assets/player/girl/jump/s1.png new file mode 100644 index 0000000000000000000000000000000000000000..4f67de03eb7715de09720cf774b6bc4d62c83ecf GIT binary patch literal 290 zcmV+-0p0$IP)e$s%g>0xgl3NdL9$8>3(rUF@t$&x2zh~L+FHCc@&0jTE+oj6< z_WYbk82~Igz)*cij2_sz4d-9pgh!=@r)%a2EE6>wfMSjU(9974s(BWGZk_>f&7 z09z3N_2!+GLNoyvf}zY2>>wB^WP5;~1k!|52zUxu5I-@7Uni6Gf-*UA50t3^J`R8k ov)6d=Qh))R-!uqiKI1%RemH~`iEsQ>@~07*qoM6N<$f+xkBss%9OFY{?Ssn)K000PpLt<|R7zbd9ZSWXG1T2=TYMMAAV7Jy)KxJ~HG6O6i&+Q3GE3wy< literal 0 HcmV?d00001 diff --git a/assets/player/girl/jump/s3.png b/assets/player/girl/jump/s3.png new file mode 100644 index 0000000000000000000000000000000000000000..2e2ea161254a0f5df7dbdcf94b0f46ca2c9c6b95 GIT binary patch literal 283 zcmV+$0p$LPP)ujP)&~d-X7bC9pz+o&aWv^tV+VeM4F_WAQFq@nX5TPl@pXq@lZ*PD{^i3E7faul$ip-t?Kv4qR9{@FCcn1){ z?|_KE1N*n9zW;8qM&PCh_do(9fCqs3-*R_=u>%lMw%|`dz@Jkz))OSMUKtsc_e%f( N002ovPDHLkV1gTaaPa^D literal 0 HcmV?d00001 diff --git a/assets/player/girl/jump/s5.png b/assets/player/girl/jump/s5.png new file mode 100644 index 0000000000000000000000000000000000000000..dfcacebb8846909f67cbeafc364bd398aaf2a412 GIT binary patch literal 306 zcmV-20nPr2P)(!a|m#KcH^H2{ETes^!? zxQGEt8nfJy_X6}tS%M?`n>kbt)NDrW{`3;0uFL`e00XewzMa!+GXeIbm4v4hS28b3 zi(8hf0WyuQ-b`46WaVBQRWSfB_D3XbLJNG@q5$Z5#d<_FVF3}Mi8zqep6!E=PeTbn z&)io6_)+skA)*e*Aea&yLJS9?BRp0-x*6T1XhKht4(lgg!>k0OGl2!5k}CjqMW-Pn z*nKWkx7{s8iOYoHl~X17rX5k3gaX+91*jOrvywiz0Z|BKFhPm~hyVZp07*qoM6N<$ Ef^Ca_BLDyZ literal 0 HcmV?d00001 diff --git a/assets/player/girl/jump/s6.png b/assets/player/girl/jump/s6.png new file mode 100644 index 0000000000000000000000000000000000000000..6007457d573de598fd668822505dd52a33b98036 GIT binary patch literal 280 zcmV+z0q6dSP)A|Lnbt zyi;(Nyx3qGysli1zqLQ3a?VwmRR5LL zd_pr_-vO{}vJ(IRWVHU501)YC{m||V^uR@S9|1@c1AzOkza7I4fJgJFJOHcC+MKWk z&;!uNZDF^1np+>7o_SjvfT$o)Q_!3kL0C}$UYk<^ZW++X2#Syy7(l`e$s%g>0xgl3NdL9$8>3(rUF@t$&x2zh~L+FHCc@&0jTE+oj6< z_WYbk82~Igz)*cij2_sz4d-9pgh!=@r)%a2EE6>wfMSjU(9974s(BWGZk_>f&7 z09z3N_2!+GLNoyvf}zY2>>wB^WP5;~1k!|52zUxu5I-@7Uni6Gf-*UA50t3^J`R8k ov)6d=Qh))R-!uqiKI1%RemH~`iEsQ>@~07*qoM6N<$fY`UFNGr4(nzV1ZCy$L&z``y~KR9tZ`%>K*~1zK$(<5T#Yj5G?~J*#8|QkKP09 z`KJNS$}XJ}fb|!w3PH(0ChaH{tBA td);P$VGJK6GrD#GSb{d;?C!TjL_QR@h))^riF^P6002ovPDHLkV1n6Wd zK%oh+DvO~GNJ)GGj4Qg2Ko0N;8zK-CfMNqS0XzwD0}P=2dI~@-7=T$eQUDJ`xC@jJ z(mY_h5QuOaK0(M9(RCzVi2vCTx#1qm!k)eZ7(bAB8hj!TyarI4IdoA=FO>@4{R7q- zdM;%#mZNhtGh=hY!Z!3ga|5WvK%7RP4jXQO9*qzEYZFE&48S|qaZeyTluiw!4SXVa UK4QBslK=n!07*qoM6N<$g2VV>lK=n! literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/a10.png b/assets/player/girl/run/a10.png new file mode 100644 index 0000000000000000000000000000000000000000..e8c8a1b4ddbd375ce14e88b4d0dcda201b34e728 GIT binary patch literal 279 zcmV+y0qFjTP)zE-J zfc*{B40PKC%q)ZenDb!1ZP+pywhhm9QMwJ;5T%pQ13?2gn;~sVJxWpYFhC0e0V!KX zcBl)$+iP186oAZVhH4;U)T#wH0BY_n!VeNOYj&sk?g3TR=+wKD`wJ>ga*-LY;%{Zo dv*8&St{oh^a5>R{*>3;<002ovPDHLkV1i|_YP$dc literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/a11.png b/assets/player/girl/run/a11.png new file mode 100644 index 0000000000000000000000000000000000000000..b483a075dad61234808e9eb5859a5ca4d13171ba GIT binary patch literal 296 zcmV+@0oVSCP)FTov%*?(F_72&6DV;N-0Y=VI zsHq4jv;f{pV`vAoCXN8p74j5Z(gl$d1Of(744)~0jF4i40Mu^}15}6xV0vB(U}ok) zly1kWx26G(y7fHZ>5{!bord3S!`lGP3hz1Fu@XYs1^aupNe&R{2pB<>oC%Rx0S}dI zezOo|bD*RKJcE4`@(c~&Irpv+r2#Vk0itNo02PPPG{7kD+4WIGP61Ho%v$&Bcog!; upky~>owG_6A?tj45TR`)i&A!s{)Ilow2(hYMZr!00000`5 zU}yqBU0~HY+5st%9YDH*UV`zvz_Y@L3w=4@U0I|X`f>p2b1Fa!h`vg&i|NAq9MDaV z0DLDtgJ1%F0PbA%4?yI6=Q#_&vp_a^60)>diK7szs)!54HY~xka>CpP5Qy9bk1jtx zODZB#dQTn4Rk=0>~k9pc)sbD?_g8)M@zm%?QzWSF_guc>jlS9jKay bQ+H|wxXXw!E`T~=00000NkvXXu0mjfb=Pta literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/a3.png b/assets/player/girl/run/a3.png new file mode 100644 index 0000000000000000000000000000000000000000..023be012febc647fe5492c24bcf738feef0f31c2 GIT binary patch literal 281 zcmV+!0p|XRP)^fJCa82a?05mqc0;D84UO3lfs)vj8@Z<4m-fOGT(0kSrqF zwiW$2M@&S-eH&5(frKN2uVg*{4aE+`B2qyuE00000NkvXXu0mjf-vw-} literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/a4.png b/assets/player/girl/run/a4.png new file mode 100644 index 0000000000000000000000000000000000000000..ce8636264c1320dcacb31faf13c87cafc15764da GIT binary patch literal 278 zcmV+x0qOpUP)(0WIJgIVvjU zfC5{w5g~6xC@ygTNdqN7b$UvGlAIC{Vd^+m02aWs zTd9B^rp*GS3+u(OhbhxAA}Je2$9FMh7^y_a`v59J=D?8*i7A!m-pR^mfj=?&J>Ahp zNg_ui4)jPOp%MX^)(l+%LlnmLD)P}ZNd65o<9WS(z|4&8dS@8E0`)HV!g^crC$j5V cxdY{R0C%`>K%E~JlmGw#07*qoM6N<$g15PG82|tP literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/a5.png b/assets/player/girl/run/a5.png new file mode 100644 index 0000000000000000000000000000000000000000..70589cfeac0b3a09adcf4e500a94a8ed908cd1f1 GIT binary patch literal 295 zcmV+?0oeYDP){&WgclHqma?_=@2aB)L`1#})*7<;Vme0z1GJn+ zp@t&B&<1!jjYTV<6mkTRs+gVv2%xvq^fL4~h(N5B0`JZu)v#6s&O&OQ3Lqk)L8Ojj z)~;cItEQd@G~F@_*lAd|45tAw2N48d=@Ez0)M?nOg7ZB&LbY6@C)Mkl~boB?JkZZClxVEP!2I6xp$8DN?&1yDy8IY+>r)r56qiigNdyogSQ z2g^V=(P##GAgL}!%FqIl-UH>(==UjrND+txpcOp>@@4=~MG#Zo0z|SNV8MRxAenj( zsOt{{d<$JVDS*~LU=~8s1DVUH3*d)(4q1p00Bt%3;&K&7junS!2%!A!f&dhb=}ovg u>ROjQpm0ndBrBp00aT(k;p*tO%*;L**N9GtVZB-a0000v@G8pQBl*AQaTrs@`a)3|R5P_fo6cexu;7y1dU;yRYQvhng0L-wF0(c;XyFdvc z-3ROx0x{f%ZxFIUbZ?0l;(sROJL+RTh?&&DS7oVfv1VjzkZsFw{lz>LI~)|-T%0r0kU-3km}N<+)&0D1^` UKF?ic&j0`b07*qoM6N<$g5ox8lmGw# literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/a8.png b/assets/player/girl/run/a8.png new file mode 100644 index 0000000000000000000000000000000000000000..859b9d97bd5f3ae1ff87293884f60f321b8a4966 GIT binary patch literal 276 zcmV+v0qg#WP)<2tLIi=7`DXG-kCD8z?s$T&`Trn4>IU*RKXYPdx zWq_ds_%MTcJD`+623lrFSJ0PWS{Gayc_3~tLI_|qLr*dOW(E=<0gx@13c%C}KsVh2 za5QFZwPt{svpxZM?svVh$HIgUBiUpzWNGOcdm&U+kt{UZkagRE0Z@oK3l*0Sh5IPN0 aGqnO8poBD+sjrp*0000^fJCa82a?05mqc0;D84UO3lfs)vj8@Z<4m-fOGT(0kSrqF zwiW$2M@&S-eH&5(frKN2uVg*{4aE+`B2qyuE00000NkvXXu0mjf-vw-} literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/alpha_gen.py b/assets/player/girl/run/alpha_gen.py new file mode 100644 index 0000000..f18fba6 --- /dev/null +++ b/assets/player/girl/run/alpha_gen.py @@ -0,0 +1,12 @@ +from PIL import Image +import sys + +with Image.open(sys.argv[1]) as im: + for i in range(im.n_frames): + im.seek(i) + rgb_im = im.convert("RGBA") + pixels = rgb_im.load() + for y in range(rgb_im.size[1]): + for x in range(rgb_im.size[0]): + if pixels[x, y] != (0, 0, 0, 0): pixels[x, y] = (255, 255, 255, 255) + rgb_im.save("a"+str(i)+".png") diff --git a/assets/player/girl/run/conv.py b/assets/player/girl/run/conv.py new file mode 100644 index 0000000..a3ced61 --- /dev/null +++ b/assets/player/girl/run/conv.py @@ -0,0 +1,7 @@ +from PIL import Image +import sys + +with Image.open(sys.argv[1]) as im: + for i in range(im.n_frames): + im.seek(i) + im.save("s"+str(i)+".png") diff --git a/assets/player/girl/run/main.ase b/assets/player/girl/run/main.ase new file mode 100644 index 0000000000000000000000000000000000000000..f3d53fb8fb7e609e981c284267a6276756c7cc75 GIT binary patch literal 3973 zcmcJQ2{e@Z8^>R3vJBZ(nCM1P#@O#ni$<#m)ySIcrX)+c$iCeWSxTgt$}PFJvLt&L z7sHHwBs&etm@vtWnEy}LZE?E)|GEEj@9&)VbKY~_IrDs<@B4k9CtMJMh92-ka0me| zHVA_3!S&_9zuf*ScV+Alv@pZ{x#~+$MGF3BRoS&QSr8-#R|hXTLF=19l*VNy#Nt5A%GSah5_wv zvjESKUja7tegtHJ13|ZQiUGp{A^}}+I6yP33844>D8Ota60pbA4zSy=6fiFNC}5Nu zf`tRUaIQGK(i~_4bO7W7?LatC4I~4-KrB!SWCD#qAW#RS0bM{8Pz2AQpH#f1Hhw z0`yZ_e^(eJ*!t=Q|tC$C7zkDs4ZR7-o>^1KqKW zigvxKxwJfYs}={(fh(Q_kCV1aXu&Y-?*w&J*Y5bPCS&t-eyXnD=mm?2!JSvCMiArO zCVrZ;PSSNLs+LMa(m2_;%}7}q9Zm2ysmeh*IR+d~Zw~g+lHwTJYyg_!g0n%eZ+hc~ z1VL|$Ezh4%6WI8dUlG21$8h}Y}l>l#GscN}`C9kF@Ch@uDaXZc7aXnp^c zFlq2E7iQQ$N0;>J&sU7&{>nJ1Ka5K@hCPS#VEkD61%x`qko+T7mLhu`ZDrY0`A^?G zS$(}z&OM+GDpqLzxQQiQ0c9B4Zcnj83hP{xO?3BrveYym%ul}8A{Mjk-no(Z8k>GTxs0;QoU!j;Ry$MK(^|7pGRB6ckw4<;1ln2J zySoD?B5qWP$d|-CA9$2MHmQHG(CrZ7=VfSK_7{YACojcpmn5Uu0rS}=uCF@zUp7S) zXnUNNi)MqGZDPE3tTCtVvpHXKT^+hB=5Rh=Vr5K`@4_$CdR!-B(qV_i6zdTf zvD%2%fcEgp`ZqsH6l4{*&Yjh3qlr(Y_t3oKPTKx7i$QK+uzQ*w5;a?rhoOrdT|N5^BTv)r>}@k~cz*KSuh9 zt#PVm)hUi|GAg?2R2wV^&cg-1zYJGq^?EtDrNxuE1n=_dtw&97<8ehL(3lFkW=`lv zv>9|_(t>&(`$Kbgc~~9VMWN!X-0qYD8><<6LB4@@wIqqc@&H8rjNI;6N=VM8ahzYa ze>;|`#F`{y)QYX`ci|QC9hzwr(p;iX(=n7ziswuqRm?8)%f)BSY;fQe1J|2z_ ztc?2Tbr;#UJ~O5rd8zD-rFg_4o8lT+q?gJ}J(Y`>^Ix{UeVjF9HdMx;=8+V zYcM^@Rt(G-&pi3Jz_MNgv|3Mo8eOJepb1t&2_{0?^QJA_xi9CKT zt&dSA#L&CHF4+f#_nweJ6rFN)$$>nt@@Wi+O8f(X(OF|n=c+Z|-(tGL;c$MA)&W-g zvz@}ct|Aghrs-f~qHtGsMZ{tzbz0wfsa9cx_vK4dLOnvy0n?TK#nP0YS^RZ5UI^-g;zNtV_)4K5@@S@ z3TxvP2p^q&flaC{G?cPZ=*ax_M9QJxUSBzGGJm3>>XKwj-xH;w)LFleos9?gkTO38 zPMyAzr#?P*B{iZY*hjEps?PLZ89y7>7+3$t_8REMs6mb@mmSO30m7bDYq1 zu!=zG(5;n9i3M2l9lESl;n>w^eDbmi)R*zP^f&V+Y3g}j&6beiiTVAr+V1^$tcFBM zWl=h#eLDB;xF*A1e#s5JRpi|s`$Ve^dy5}UQ4KuGtcW=`-OQhc_}A87z`}g3{mn*o z{?QS%VNF~rS55i;w(92%g7b3?F_%?bg+x30;uy-f)&s~YLy_Pq+(;uf@c<%lI9LmV z&85iQ8f`|h7PUj|Dc$7)Sv8Z*wr<5o%iA0r?EGSBce$Qg3gDK<=alfdHF`x!3Mt9ch2!PjaAqb`&8NJ z=8`EFi^`+_F8C+*;MBQbtyj>i`Y-rCoYM06l$DWK+Wj&ovy_(FlV9yERv#J zw#*xaiVDuKD0-HNdR|{KWaP3_iumlQiYC;p#Kq-pW3v@X=#3L*5iY|ppMdb_+4*yf z^IXhA!;6=Fi9dy-TeS{$3~cSO(6A&brzE~G+nJBn#Nu0O%PZFr^NT8HUyL8No*&_! awO&})XHD&W+Rg6S%9i)b;O>7QL;nHG{w*c| literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/main.gif b/assets/player/girl/run/main.gif new file mode 100644 index 0000000000000000000000000000000000000000..8dd15ae0498a0a983e194ea62dec6a58788b4120 GIT binary patch literal 2018 zcmaLXc{H2p9tZH3Mw)b+R+NO&K@nG}C6>-|r%HsTRa+#X?vRbprk1fpQ56!@(juX> z8EtJTrGi9e=%K_?V>;H5+q$X|OQ)t)op5`4=f<4*LvNk?p7WgNInR0i_&mSo_kA&5 z9xl#dp98i)A^;fwvD+IR;P2+@gSNM^-Jt=fw>Ch~UF!L$dH|cpx;Ga9@Q3<)|6Y@y zStuB~U`&EE8fD+D6rJ2i2~PByi#Ve%OF0Vd$Nv5p0V>v)uEK+cB6%cz*uS!djW04a)ci%K37S(j7M8SkxRI zo^=Hyge;0tN1)RYu`r0~qp}S*wj)ZkG+PAIM^xWfoMyS)b&@AP7kbHgUQD_QhxgsW z*8sEt1Yo&^ufBw4MrI+xVCl1rYrBKoq&M+PPb|+Y)W00wVSa@bvXT7 z$it*=`-jEY^$HOFtGu6y9d>BFP)0J4!51T;Q|{?Zd=vUAigEtTF0-dE_7&3J1o8dm z7V1?#E2WuQX6>rBW?ZTCyDW+{9WO$P2&GnF*UPL&tM7RPHFP6v?^2Xl2GIW`ASLHw=A|%eZ%Vn z>ji@*WR+OBX!Yvc_cOze4io9Q?AKZ*_tUZ*01OE#yj7@&_@N#du<=sIM^#JqrW(0WCj?r_1&a=ce{uVt9@=-a)@$5KkqXIm3@L-|)srbG&7~W?`)7>pj%Y=kGD7yy~$rl|2bfAg@zt z1eJ+j+bSo+aS>wS6o}t~(@^8|Kf&ey*?<=}8}LMPnV#@#YDlYNL9eB9fDdaI>S&1} zL2}h@_N3pXN|Lb1v-bFMM0-H9#!uGtpQ%qc;~%9XWJnX5(C+7(%wbGS}YyUUKGckv!m?arRMFm4^L->gK`gW(RIkTau` zw?6b{Tt3wnY^Ggzl~iH($aVtu)$Fg)&rA%BvXd+#6HEk&g`D`h z;y3CVF47iz9T#gJZ+NaCHcalcKM2MIMMlUgT_!sixUm-vdBXJDr7gaV1u{uApD-os zGUqDXMf34Jn6(mZcoD(V0fRyinSE5uC}i3KvwiIuagths;p({Su*X~CN5<{qo%W~E2o&{Mu2pp>D%Q|<0$$*mont;r9U62Us%4aq zOuqD8IVyX5`@8zE^Rl9jlyCICnJG1Cz2_o-XrNR(*OUWO8Tz*PRbZTG9S(5dM!#DEZw2b840z+Ap6^39BIt~|5-AO5p znqHFYg0huL75Qe>`Eg90YPfYEC;J?9 ztwYRK-S*K|7f&5+J@vn_Iy@j7SCAs_!W1 zOIldPd&%-N&A#f%HGzHzV;ApY+;s#U{>w-=K|6lbz!8lNPSmi@oxJkJD4*YyF+VSFa?V>E2-3tgzrlkHdGSH6piljSn5VP+54OW0t~( z&F+VHB=<`EJT+yXLD<>k^>MLMY(4?~%oSn^p$WedUg&9b&Yx+spwO)68NjtnP^TeJiy`ncJ>B1o_0%)z4*}Q$iB}sh?=e literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/s1.png b/assets/player/girl/run/s1.png new file mode 100644 index 0000000000000000000000000000000000000000..38501b144ff2e6cf276e759367cbc6d2181e9f3f GIT binary patch literal 363 zcmV-x0hIoUP)&02l9!4^9SYRauAd;lp9T!3J4uURLKs$v+^E=jY)ZKmZW# z_c|lX2-Iv;=gb7M$W^fRKtbdvfyhI8z@-PY4d_OIh}0!;or0rdm=lqZ&=SzkofCm3 z?p~N~2n_+UEFKR6544?cB>?OCwGwEO&@3cN3BZ*=O2Se^PK+S`Z)PIg$1w4k%Y-%q zoKeo!Fca$Q*s291Rxcv9QLO}C7}Oe}Q)+Kfx?GS@Pke0C1Chk3yCBD_$)s7xPgCRf z%y#+`s?T!wLc>mhA_JAKE1tpV4aco{F!@f=^_&eN>t%^Wu?b@ohUNkQkz#rXNVS|7 zB7yCWBfPI;v0z=L2hI|Z^pkh(N6YMmCEtd-L@DckvHcJJ_yYrMnnG9MXQTiC002ov JPDHLkV1fV=o_7EM literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/s10.png b/assets/player/girl/run/s10.png new file mode 100644 index 0000000000000000000000000000000000000000..308805fc5d80bd9398532cf63e3158a25b4f2103 GIT binary patch literal 363 zcmV-x0hIoUP)<^09hnB;X{hhg0A}TsvOUm%TnPXGy`*7^bO}}vrU6R;EX4YFIe=}%s1pnTobC2S zxEaglfYUHV6kxCWY0YwA8h}==o&gY%cJA9|T;M{4KUV^g;xd#uz}TMwD6@bCK;{fk z0r1rwe?y402apT|Q%ksgZ)4d}Jrp}t0s#Jxs8J_o45AQ3C4fyfJgmwlVQ0lE1ARab zq7#UzN3uhi#vB4Exfw~v5eG64V9Upi=IG6+o28fBIC9vC5rF16ZY|&0azp!&x*Jy9 z30K{I9*D?pD=b}?J`_YsFlE(jP(N~M(Q{yQ(448lflQqH^#Pc{pF6;LW76IUlOuzt5&uat_6$+p_k90*;1L1yj0hHP+!^kaXL0%6! z0f;D8_Y{CE3!epLXME&1F2iW~?1AtIY7d}|gdj*RjF%Y?%f+t5@2j{!#;I2DHm4YrhSi>CBx0#j&~WUVzhWn8w2hG$~mD zQb%zVU{?3(^Oha)3IGibKRdb|%N8AV2$xFBK<5NqIU>U8{{!f*M$~0(G`iaWkibVw gPH7j@Hu@Fz0Y?0tV{$N}fdBvi07*qoM6N<$f*@a_Z~y=R literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/s2.png b/assets/player/girl/run/s2.png new file mode 100644 index 0000000000000000000000000000000000000000..3e4ccd7a30cec7e7860cfbb4c55a665c350eda09 GIT binary patch literal 381 zcmV-@0fPRCP)jz~WmlcT%ZC6Zy6v`qH%{;&5ueX!aFI`ZX8(B}8Nr#E zn3>+sts=_+S{mrRFn~HaWYHQpfb0Yi5wU{0DZ(izAV>kG0BDHvxE-KCAjOCPNF)0R zgd8fQDS(<6V0e0>dL5^4Lr4Mi?neOF3K{`H6zE3VJq=R~1>ooqiUMeo5QqgJ1oU*Y z5L*CIEp-H8{ugb%yrw@;|=(Gwdjpe1w>YOQGvGT2h8DB@KnOKSD%=anz$v6s_CDZ-_}Yb}XXcgN3E;LR0G?))eYv&%Q@+y`nB1tUtyExz b{~xp$_YbZ@!BN8500000NkvXXu0mjf7ObK9 literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/s3.png b/assets/player/girl/run/s3.png new file mode 100644 index 0000000000000000000000000000000000000000..d112045d8245f2496904101d9f3d3f45d9b941a5 GIT binary patch literal 373 zcmV-*0gC>KP)vDXAx1>WK7h>!zPre!Ey%RtGyyyf&pwPKyYei7H`?mG+i#D6z-OAc z0wV$i zDroP)61Qp=zhu<$8i~Qh1nXxvzO`Vw&WFh+Buog^fJ(w>Np%fC&ax3;9oYH*EpJ0s zcrCy_(fxMz?YM-*ZHLks+=I#?3V3=!C4tbGR=K$``!zQsn54{79Hl^Y>@UU((r=Ym T`eHo300000NkvXXu0mjfD&V90 literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/s4.png b/assets/player/girl/run/s4.png new file mode 100644 index 0000000000000000000000000000000000000000..f2b261ba89990a782f75f8dce2af605acda6a4c3 GIT binary patch literal 381 zcmV-@0fPRCP)tUUqXgNP(mXJb3W$u!I;ziTPHOm$KzIi=XF}k=)E+ zW>~(r6}gN+%ZB=&Ou(I-f;s~`BDWH#Jd)#`qAZiRentbN4I$ftR2AGJ!>WQ>fhdU- zBT^u%pq}1W0Rc6z71-IZ0*1h$^v&rnCjj7Z0eL$PF`)@$3?NIu)V`|(R`}j8pJ8S! zfwU?}GRz<$8Bu2t3x1%2p#?LS5mUpF3mW#VnTkyja7;WA+aAx8pnSk5@BJQG(Nh+Z zPO@p4vN|d*vCkTgDcuG2Lh{cRa??ssoMfklK{ZZur0j&~^n7+nl?b?`^nMs^!NCKD zfhSuKA+Q?Emwtz1Q zO1+jDIgNm11AP}J&_xa*s(}|GA0^Ouct1$d04l&V0?Z7T03|R)%FJ&&hP+a}mqc10 zK;b38yL#7WWxmI0KZ3++DhKd3X^U46imuMqEl{5a)t;G5|-TnJa2@{)AYCXvvhBfY-VE-PthW>fLM5T`DaDgAs4!9uY3bvA3(0GGuK#ns@tvw^LGe e8ir|t0000NklYFiSvA@?7D0RW(ccam(kCn0HfKv#}akZ41~)wEDSdLDU2 z0HkK5&UXS6#t)^Pg#AY-+cc{VFMzbSlG6dA$=weaYhV4MCkMFCe(UMiDy=7k^I%Hr z34hvoF0~)&h&=!&a|k7NXG6l>5nG)@5Lr3k?u=Fd82akN5HkR7N^C`D2<<4= zZZja~ox%`6`_G?hECDRv;R9XniB$lxvoV^xbVQ)LUPH!~$VpX@VZN-?%Lur1#Z#S{ hNW}L%^vdp;`T*XSs#hMM(CGjG002ovPDHLkV1jlCs4xHk literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/s7.png b/assets/player/girl/run/s7.png new file mode 100644 index 0000000000000000000000000000000000000000..716ea8267b8e06099ca562d355e14abbc613d02f GIT binary patch literal 372 zcmV-)0gL{LP)Zrn SrtxzC0000KP)gibkL`0gC z4FUK^Fc+T%%@J!Q%i1&5w~5!XFfMoK+Av$k?bwD9dkF=|)_kY{2ovHJgg6bO^>jQd z!=}!6dSVr)?#E+wUu@Qg%RJB|%5e6}#2Y+UNz)0twktLXg-hFt(|Uhr*tq^IwyscE zhtafL!Re*!X=sM{%5fag^tk>h0JF9LSej9GadZFg|2G^G=uT9Jc6wlk{U6i|uAZ1q T$j=8g00000NkvXXu0mjfXmg&d literal 0 HcmV?d00001 diff --git a/assets/player/girl/run/s9.png b/assets/player/girl/run/s9.png new file mode 100644 index 0000000000000000000000000000000000000000..a5b31fc20874741096bc33a275813940cc1b6b38 GIT binary patch literal 357 zcmV-r0h<1aP)t)jn|T&sBlP&0_8y};JzB+k@*L2n zxHw)90;sCCEtae3``-f?*~^zh29bG=dueF3kktP<(8U?s74;s7IMD+TFeo~H+yM*P zeuy}Yh#&x(mJG5L5gOGp^X7%N0^I^R2pV#U-4ntPr)^62 z1UD*E96;^@CP1i7V;=5M7e(EIs*@VFVwMB!*gvcX2`!RE0J^Iu00000NkvXXu0mjf D)6tMZ literal 0 HcmV?d00001 diff --git a/assets/tiles/0clay.png b/assets/tiles/0clay.png new file mode 100644 index 0000000000000000000000000000000000000000..343175b3abfaf2a820303fa77ff9b7260a22a0ef GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAd^}woLnNlA_IvX&7;-qt-}!&; z%%SrpYq^=5Ttpce9j-EIG+*dqO}nS^Ame)aio=JGGOWLJcKhX}ru_vE_eh2wY+rGB gq2CYw+v4*M+s*zXDH^TAv=3yyr>mdKI;Vst07IcJ{{R30 literal 0 HcmV?d00001 diff --git a/assets/tiles/1wooden_planks.png b/assets/tiles/1wooden_planks.png new file mode 100644 index 0000000000000000000000000000000000000000..59733ffef7e82d34b3c33c8c67c4232ae6852208 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAlssJ=LnNjq|2Ti(!+b_gW1~Om n34hKv9Pr`ENU-2ESWqp`V9UWLB=E3Q9Hh(B)z4*}Q$iB}+T<8} literal 0 HcmV?d00001 diff --git a/assets/tiles/2wooden_planks.png b/assets/tiles/2wooden_planks.png new file mode 100644 index 0000000000000000000000000000000000000000..81e6d3cb1fec0f9e3458598543857e1c3cff5b3e GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UA>F6`xJFyZ49(v0w42-4;0>gTe~DWM4f&2$&) literal 0 HcmV?d00001 diff --git a/build/Realite.bin b/build/Realite.bin new file mode 100755 index 0000000000000000000000000000000000000000..90ed5a7272f258a86cfc2866c6f4c7e4bac575fc GIT binary patch literal 18524 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 literal 0 HcmV?d00001 diff --git a/build/Realite.elf b/build/Realite.elf new file mode 100755 index 0000000000000000000000000000000000000000..c04971c78f720579f6c1be63b9c69ef7e4edef61 GIT binary patch literal 24548 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 XFiIIqE{^D4xzEcuyu~tl7TV1#vue}$R=z= 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 pU4%j|K;0St1+GEcD1&13gGn=wT8? zVQg1_tq~oNhG*N#wY){%ub9koND0=-ERQ0{z3k_hczF%oDQWnQ?3>@K5yZGAkRG_k l)4dS5Uk2}Tmrx-{ZxrI4u+Kqm(%&BOqVALUg^0*!x^GD0F+TtR literal 0 HcmV?d00001 diff --git a/build/assets.c.o b/build/assets.c.o new file mode 100644 index 0000000000000000000000000000000000000000..dd2e61dac03f13877f9c19b43dc9a526b30dacf1 GIT binary patch literal 980 zcma)4!AiqG5S_$oTd7*ngP=&gNEKNc5QKst6s-s8Nx@s()?h118?sw4Cx6jj@e6cj zH&fF^!G-C(H}kSDoy`07-Hqpaus9x^A}$sD*zj|sXhR)p3+-Q^-|KZ-?f&55q!k1r z5S?Fz3y%tXeU=p~Oa1`JeWzb>_$u=CqSoBD`aRY(EoeLZ!r`|Le?(4?@_mO+UpV~I z;e#bEm5Q_yBM8%2=1~^PI2}u{DICu7@O7S~WuDEaOkXBhywo=ZBPecDX*SW3DlDr! zTbxskF@Co?;|7k4G5*H}<6VFa#yG!C#s>gf77LXpS`I-do!LBQq@y^Bq?fZF_-|M*0;fk0;x|W6Jm-pld8R08a1@8m%69(N+ zyG1>m37lcje)E0zh|7n411u8m6iw3Y6qpkAILf;_wq>YdpS;PJcC3!Uo(MhE0Rg0&C|JXx`enw6!xZ6*yj@V=xWF za9yz0K8$#U>X0&Q5#~MSuq&a;76W=JfgkswD zu>mSjC+J!*|2_ZL4DuA7z%%#&

h~4fHNFKpGOvFJRAs+!5J7Me1z=hG87uMaX!0 zC_n%dU5omz_76`PZv<|_ZIHYtAs^`rRMxQ#Hb6ZjA_~kGxV$CDFi$jGldlEpgrJCofyTh0 zx$C`ArPUTCW-*JtfZn@YELc06V2SWJZEbU4=SQu3S0_-tDsrUSUDl;}i)zlkQoT6& z>!e=J^J(VHL*h5zpWy#|eKfO${_BmAYBP#2@mr8q&u=uQ`kLqOX68}P-xp?5?tg?~TfKJd*fq~@7u)kYu%)>9 zy9b84dav|fPM$YiYGd_wWt*L(oa}S5-^l?d2b~;p(&FT>8(yAq-COplR_(Ykb!xLW z%hg`ZR;j(tn3Za8G-j3Bn~kYgyTO>%&Q4~B`g56Xlg#D@onBNc*K;*zl7l^cndF5` zE@P72*)0BmbIuR+_xD`Nl@nfwwTU2^H#|ht{i`bX)cm$baa^0QNE~NdDtdReQX_V& zYl+`N`=AEozDb+hp*_If$u$hixky!X-V_yL>s=*o*(kmiotJwP#zk*M4f|}?YEaZB tI*^PsrIZ)w z!sRGkNO3U>|A1@+3l%1iMcifG)d*cgTo}Sg^CmO%j-PYyyVI8#(xG5I@R@VYefP)r z+;`_P6JEUhNzaiU)3F}&7ICU!FtYhs+hf!WnEp=RE(1B#0+F}~c_`DfnouAQMOyd> zc3~$)vnJB4IN~aOp_QQh8(XwZ&~^bnOy*(!Xia4McaeG|ve^<@hjK$CXiA)`%WlY& zvJKr@z&b_91M{c#OOCvdJk#e1yZGITBgU(C#p*8*kD-4DtvBHogigO5Kh1OW$E$E# zWCXPktOC_`bFg4 zeUa}2ku~OCUuVxj9zq?O2^v$cY=WBiE<5})Ko4sjq+i0MJ&(RLW8?|C*9mnQ<4A1D zgXp@nl%@L;pF{sJYuqkBLBFp-)oR?01&3>wJkK}K3hfoPD?#J<2Nw7d{}D_=81n8z zdsg(kL=`A=)`yVuEnB+A)<2ZrhU!x5?0b_rRO{1dXPC8swTqAk*4uM_a_FXAX>Ra} zl@(Wqt>Gv7-(}on4*gYo-r6)-{o#Q%$R=lJ1HD7~eQioaE!*hdgc@h4#_*c0hoCD9 zSicB)C^Mp(P$18-_e1D_UD!#{tWbv%P#^sSS_u*UU-wVo=4h-v__25rz9qA_>>#5c)rxwbgqIb-8#;QkTrpVm>4KSGf$QoV!p-6?7<=bro- zFkcb!!2Ad8zrF(t&uyO^{U9#Tu2hMu(%`;&B%#C+`O*qp7y0#q$erMSx_@%$Lc8K? zXcOD-L;(+4LtKHX)Z-P|WG@~FcTXdA|GY$>XMX?WoNlYVj8YSk}xl*7l=k{IqT($2cXl!e^L%+N9o6L#cKWeQI?Mlwo zpzkeJ!_(Y9=F;@^2P31GKK=a6NH&|vX2uWv;nexf)oWxs-Q(z<-($v*AKCZ3cVB*N zUw)i?FliefcH>_(rf-V2RdVhBiZLgaQ~B%09A8c4XUIuA{i)*ER4Sh^rgu4&Poi`+ zm0z^VACJF`jH%S~&nR;_m4BgeDxW1*b9!fsHwp{iT+3WBg(M_cC@hXUmv!zP=iYVh ztaI-<_r7xz&Yg4aymMJUP1dc+XP~+77`-~az@kzGW$ES=r>0|c!IUm1l%=12e z)tDh4j~H{x$8Q)j?Bh{mUhwhT#+-I>X7R>+X=c`B7E24xf9a#r+)~M87UsU5$y}W& z&6v#W;v#v`C0B~`^K;iqotnA|I2ZQ+fPMMI?w`QppHdtqM!UvS zfDKZw`3_Eio@;%^UK;8(?5`eoYgZHRonKd9k;Xb!jedLnqUd~T=Rx}=n)-FV)8I{? wdHh^7^)JypMW9+#qt3_swTpOdqyzW(_zJw~Txxv1IyDdu{>;b6;LY~?2e6uO-v9sr literal 0 HcmV?d00001 diff --git a/build/game.c.o b/build/game.c.o new file mode 100644 index 0000000000000000000000000000000000000000..b93bb9f3a93990caef88963cb056cea34d78c6ec GIT binary patch literal 552 zcmb<-^>JflVq|~=Mg}b)8%coS1(@c$#S1T(7n3_v~;nmkYl0e~D9hV;bTRJ~*d2EF3S+>*p3AYD=fp)+8tlGKV4 z2ECNTl0*i*q~c-*z2yAd+|;}hgh@oPq=BkHZfAq4hWH$z73MERs5+Qiaj8=Ws^b7+ zLh5v&=D|V}WS%e(!vM%$7)A~+51@Dg5QE$c!Yn{60K}X?46_r+WLN>jAa}q3%pZb4 R0c3R>fP7P!A|MS`2LNc)AXxwa literal 0 HcmV?d00001 diff --git a/build/girl_jump.c.o b/build/girl_jump.c.o new file mode 100644 index 0000000000000000000000000000000000000000..d57a1ef768eece5311ec872006048516b6964418 GIT binary patch literal 2772 zcmdUx%S)6|6u|G4`6w%+prAm-h>Dt=-Y-zH2SHSusNFD{RH7NqM78>q0(ZHIwk=u) zZCbXNiHK??{Q;3-6g?<~h_Oa*zw_Pi%-n|TArf@pH|KHB{m!|MnQwvvM-Im3#7t3Q zW<9nSsM#O-Tf>aCX1=K@=KjL4Gm=qeJ&JgW9(GKj3y_B~7=Z^c0OMI}hhUJ@A-Edx z0R0liAP)tY@|eUfhmb7<@;M74Ymo+oMz~GACdWhveG8YYeHvJMjp3{4LC`fkBv$O7 zxb*c;`=|a7@)%E=QWEq71<1n~jNEtUa*wpd5mo3Ih%EI2*SGX8gzG8SS>i%a>QDPD*K!6D`>XyXUnP%G+`NFxjW0Zl zxP#sV#~?|qh=~_W`vimqIfFvLxX^;5WU&K>_AWj9;D&QW&#L(6)JTon)_!ZU_A@+z z<|aFpyW0eBR=8 zQkuVq$F_R@KHBd0{KH~<{&8#(SO3hpzV2k##hwfC4wEc8m|e+qvr`GDHaoS&sjW_J zb85R&JDl3-3K&zZd&@r6s9kN$e6?$hS)g{EF|}$hW82hbzZR*z%9zD!HyBgr?0EW0 zPbSrF;^|DE(`VJnbY9Mwcwc9CDt&F=n~bqfW&^Ny?(os4z!$BXASkxp zRq`rx_$pd=7XitOz7b-oN1QmIX R2-n`v3;&98XNwZ%eFx}5s-*w` literal 0 HcmV?d00001 diff --git a/build/girl_run.c.o b/build/girl_run.c.o new file mode 100644 index 0000000000000000000000000000000000000000..4c527479a79c0ef07485f79248ae284e052381fd GIT binary patch literal 3464 zcmchaO=w(I6o7Bq*!-!}SW!XcMG%QUOft3F)@mmhG#hDF#f>neO;91}KoaRlDKF54 z%Tc-zagl|KEVB_TRG2^(ahIiZ^@J`WE-Ya*naRw&<9F_Tclr`T6AJBx@11k*?>Xn4 zcbN%4`sCw|BORvQI?NmBsgAyywNKd@gQnN?wC5gDkq5RwBrd`@l%bLkAz2vzF0!Lw zZzXIa8_J@?uW439lv+Wgevh@MvCqN#KwpjhYpWuge~46TA{$MSH7M6bf`-KTs_cYp zDVuQE7I01x#)19SmzGk1Jba4pj44|QI(KK$5hHbtV*M|m58?kdzFvdt5IXymZ!sp8orb+W;?70AHX5O>AA$0*#?IovAbSy!bqxrV+6gUf;b@e!u zEeR#o_)5!gRpi%mA~%D_d;hdJzg_~Da52P-*8gg}EF0wFj&S$X zQ}@sF%zNzj4>8z$r}Dp3rf$I2!Jhj^NPII4r4~{@c?d)_-m1bLkL>;t8fUd@sA6*| zaU|-J%k>z3FS)zN|8{6qn0J#osrv_u81P-myBM0gV|bYR$Bd1RzBe#9cH!dd1G!u_ zmmS{shg17ESErH9^o*msevcW0ePqvg=N|isJ@zr|CzHP6ez*QPW4cG^Tfx@(FB{Xf zkg{Jj=GaQgeiIwBJ^v)jMpE`!V>%a7_6VM?r0g;4`Tg}5aAPDjevvR2Qub%6r|d~| zZO-4%znq;e%zkwxd)XAcjy7AE8+Ib+#7QUKcH)#1?>Ohkg>$&ifCK*oc?_ literal 0 HcmV?d00001 diff --git a/build/main.c.o b/build/main.c.o new file mode 100644 index 0000000000000000000000000000000000000000..4faad7bb44db557f9c210b67987caae8d2ab05ce GIT binary patch literal 1468 zcmb7E%TE(w5TEVxC@g3JfhLkr32BhvE{(5fJhVXtA5e_q&1{z4#V*hX-6f!xCK}PC zF&s?z6O1=6Mz0<{cyN;*@NuA~Bpx_mNSYW9I@A5WQW_KEq_f}eH}jj>@3qZcxp`Ia z2~afwh7s2U8XA!M;7mm^1QN6=Yl$&s!_eac)@`>bw-b}hJ-2ag&wLS+jK{fS@vv0} zDN*JVP{AHMWT$4&l z$p5@~OUOmz;f3;i+3R>6Yp0(+6W7ldMfXIZFNPeoQ>bk(3NvfV!r30TFAv*L=sw8h z_fa#6n%3{attU%DB%FsL1iQUxe*bG=TbO%vLn;X+;VzEbKDWKlNcC-pz6J~nnSG&DXnb21c($Psz;uNBojZh+rEYZc<5{RcpfzXL-;XHqrfja7mGc{2`v z78~vK`gL1eYc+fLRS6C7pDMNM|hRR?68 zy$15EZG&8mVuhA15KxJ^Vilp`7N>#LDPjVU%GS_`RgNML3F%CeqysqWjUQ zo^oyIVaECWHjvjEUpwx3rM6Z_J-JaovUBLQ^P_&dlwihn5#)rUUR=C{<0?AMkM2I@ zXnvQ`sUKUTa0hW0IycI3_wgWx66jInE$H+uQojJ>d<{r_uki5@og4Kc!%wXCn-||8 KpQHq{itZ2dWx4SH literal 0 HcmV?d00001 diff --git a/build/player.c.o b/build/player.c.o new file mode 100644 index 0000000000000000000000000000000000000000..e75604ebbb7fb6d10c382719c5921ab20b17b965 GIT binary patch literal 1020 zcma)4O>fgc5FN)UbsHauV^x(v)Ib#isvJk+)I$^zwFQCb2SnoLZc;-m#YyB{K6(m5 zQ1!qOapu5J;Rnzg+?pKPGZLz}!K}TLra3Y4c;1_N>)Bn;VC~VmmeF8r8r(rVk;r^X z_}xTNf;liorhR>+4Z$vsW|l46vTs7pw#x^@Z25D$zIo%+8~oY1f8s3Vx7N1TJ@aS5 zyLwcp87+(5)2q9Pv})OE+_sC+lA92lF$@CYmj_`F&8`)jhK zU$_eZ*_iQu9EyM==YjB9ON6~H_|Ib&1>9#* z?`4;=JZ<(Cz@U424=_jg5RXgv3toAOUA`X))&!S}IE`&WanNC|2;K;A_n2VdHaQ2k z)r+E_E7ZaMGdQS|{VplJoYJof%Rv9;io!LS1jv-|B_~0ylk26mb+rHh literal 0 HcmV?d00001 diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d15353bb85beba720e11955b3d23573faeb50c94 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^azHH1!2%?8mzRDAQn{Wkjv*GkPlKZQ4k&Oe?*6{N z=zF5NV7ggheKylaM^`Qd-Ckw?qkNGw6^r|yt&QeQkw^{KSj**Td#J42qmDmf{kjw1 zCmm1F7dSuD@`~5oBDXYw74QD?ujBvZ{K<9xW{vEJ(zSg*ly|zYh8HlkdyAP)42hQo PTFl_->gTe~DWM4f*=RZU literal 0 HcmV?d00001 diff --git a/lib/fx98xx.ld b/lib/fx98xx.ld new file mode 100644 index 0000000..7aeeae1 --- /dev/null +++ b/lib/fx98xx.ld @@ -0,0 +1,33 @@ +ENTRY(_start) + +MEMORY +{ + rom (rx) : ORIGIN = 0x00300200, LENGTH = 512K + ram (rw) : ORIGIN = 0x08100200, LENGTH = 20K +} + +SECTIONS +{ + .text : { + *(.pretext) + *(.text) + } > rom + .rodata : { + *(.rodata) + *(.rodata.str1.4) + _romdata_start = . ; + } > rom + .bss : { + _start_bss = . ; + _bssdatasize = . ; + LONG(0); + *(.bss) + *(COMMON) + _end_bss = . ; + } > ram + .data : AT(_romdata_start) { + _start_data = . ; + *(.data) + _end_data = . ; + } > ram +} diff --git a/lib/include/microfx/ext/gametools.h b/lib/include/microfx/ext/gametools.h new file mode 100644 index 0000000..6f0f434 --- /dev/null +++ b/lib/include/microfx/ext/gametools.h @@ -0,0 +1,63 @@ +#ifndef GAMETOOLS_H +#define GAMETOOLS_H + +/******* MAP *******/ + +/* Struct */ + +typedef struct { + unsigned char *map; /* Map data (size w*h) + the tile 0 contains nothing, and the other tiles are decremented and grabbed + in tileset, so 1 is the first tile in tileset. */ + unsigned char **tileset; /* Tileset (Sprite Coder sprite table) */ + int w, h; /* Map width and height */ + int tw, th; /* Tile width and height */ + int px, py; /* Contains the position of the player on the screen, after + drawing the map */ + int pw, ph; /* Player height and width. */ + int sx, sy; /* Where the map started to be drawn. */ + int padx, pady; /* Where the map was drawn on the screen. */ + int sw, sh; /* The size of the part that was drawn on screen. */ +} MMap; + +/* Prototypes */ + +/* void vmap(int sx, int sy, MMap *map); + +Draws a map contained in a MMap struct. +vmap draw the map with the player at sx, sy. +*/ + +void vmap(int sx, int sy, MMap *map); + +/* void vplayer(MMap *map, unsigned char **player_sprites, int anim_frame); + +Draws the player on map map, from the sprite coder image in the image table at +anim frame. +*/ + +void vplayer(MMap *map, unsigned char **player_sprites, int anim_frame); + +/* void vitem(MMap *map, int x, int y, int w, int h, unsigned char **item, + int anim_frame); + +Draws an item at the position (x, y) on the map on the screen. +item is the sprite coder sprite table that contains the diffrent frames of the +animation of this item. +anim_frame is the frame of the animation of item that should be drawn. +*/ + +void vitem(MMap *map, int x, int y, int w, int h, unsigned char **item, + int anim_frame); + +/******* COLLISIONS *******/ + +/* int vget_tile_at_point(MMap *map, int x, int y); + +Get the tile located at x, y on MMap map map. +Returns the tile number or -1 if the tile is outside of the map. +*/ + +int vget_tile_at_point(MMap *map, int x, int y); + +#endif diff --git a/lib/include/microfx/ext/img.h b/lib/include/microfx/ext/img.h new file mode 100644 index 0000000..d4937f8 --- /dev/null +++ b/lib/include/microfx/ext/img.h @@ -0,0 +1,20 @@ +#ifndef MICROFX_IMG_H +#define MICROFX_IMG_H + +enum {SNORMAL = 0, SINVERTED, STRANSP, SNOWHITE, SNOBLACK}; + +/* void simage(int sx, int sy, int w, int h, unsigned char *img, int mode); + +Draws an image from a Sprite Coder string that is in img, +where the top left corner is at (sx, sy). +w is the width and h the height of the image. +mode can be : +SNORMAL : Draws the image normally. +SINVERTED : Draws the image with inverted colors. +STRANSP : Black is white and white is not drawn. Useful for +transparency in sprites. +*/ + +void simage(int sx, int sy, int w, int h, unsigned char *img, int mode); + +#endif diff --git a/lib/include/microfx/ext/strtools.h b/lib/include/microfx/ext/strtools.h new file mode 100644 index 0000000..35fc478 --- /dev/null +++ b/lib/include/microfx/ext/strtools.h @@ -0,0 +1,132 @@ +#ifndef MICROFX_STRTOOLS_H +#define MICROFX_STRTOOLS_H + +/* Some string.h functions */ + +/* int memcmp(void const *__s1, void const *__s2, size_t __n); + +Compares the __n first bytes of __s1 and __s2. +Returns +- 0 if they are equal +- a number <0 if the first unsigned char that is diffrent is smaller in __s1 + than in __s2. +- a number >0 if the first unsigned char that is diffrent is bigger in __s1 than + in __s2. +*/ + +int memcmp(void const *__s1, void const *__s2, size_t __n); + +/* void *memcpy(void *__dest, void const *__src, size_t __n); + +Copy __n first bytes from __src to __dest. +Returns __s1. +*/ + +void *memcpy(void *__dest, void const *__src, size_t __n); + +/* void *memset(void *__s, int __c, size_t __n); + +Fills __n first bytes of __s with __c (note that __c is converted to an unsigned +char). +__s is returned. +Overlapping is not allowed. +*/ + +void *memset(void *__s, int __c, size_t __n); + +/* char *strcat(char *__dest, char const *__src); + +Copies __src to the end of __dest. The \0 at the end of __dest will be +overwritten, and \0 will be appended at the end of the __dest. +Returns __dest. +*/ + +char *strcat(char *__dest, char const *__src); + +/* int strcmp(char const *__s1, char const *__s2); + +Compares __s1 and __s2. +Returns +- 0 if they are equal +- a number <0 if the first char that is diffrent is smaller in __s1 than in + __s2. +- a number >0 if the first char that is diffrent is bigger in __s1 than in __s2. +*/ + +int strcmp(char const *__s1, char const *__s2); + +/* size_t strlen(char const *__s); + +Returns the size of the null-terminated string __s, whitout counting the \0. +*/ + +size_t strlen(char const *__s); + +/* char *strncat(char *__dest, char const *__src, size_t __n); + +Copies the first __n chars of __src to the end of __dest. The \0 at the end of +__dest will be overwritten, and \0 will be appended at the end of the __dest. If +__n is bigger than the size of the string, only the chars up to the \0 will be +copied. +Returns __dest. +*/ + +char *strncat(char *__dest, char const *__src, size_t __n); + +/* int strncmp(char const *__s1, char const *__s2, size_t __n); + +Compares the __n first char of __s1 and __s2. +Returns +- 0 if they are equal +- a number <0 if the first char that is diffrent is smaller in __s1 than in + __s2. +- a number >0 if the first char that is diffrent is bigger in __s1 than in __s2. + If __n is bigger than the size of one of the string, only the chars up to the \0 + will be copied. +*/ + +int strncmp(char const *__s1, char const *__s2, size_t __n); + +/* char *strncpy(char *__dest, char const *__src, size_t __n); + +Copy __n first bytes from __src to __dest. No \0 is appended at the end of +__dest. If __src is smaller than __n, __dest will be filled with \0 until __n is +reached. +Returns __s1. +*/ + +char *strncpy(char *__dest, char const *__src, size_t __n); + +/* char *strrchr(char const *__s, int __c); + +Returns a pointer to the last occurence of __c in __s. The \0 at the end of __s +is included. +*/ + +char *strrchr(char const *__s, int __c); + +/* char *strchr(char const *__s, int __c); + +Returns a pointer to the first occurence of __c in __s. The \0 at the end of __s +is included. +*/ + +char *strchr(char const *__s, int __c); + +/* char *strstr(char const *__s1, char const *__s2); + +Returns a pointer to the first occurence of __s2 in __s1, or NULL if there was +no one. The \0 at the end of the strings is not included. +*/ + +char *strstr(char const *__s1, char const *__s2); + +/* void *memmove(void *__dest, void const *__src, size_t __n); + +Copies the __n first bytes of __src to __dest, but __src and __dest can overlap. +__dest is returned. +*/ + +void *memmove(void *__dest, void const *__src, size_t __n); + +#endif diff --git a/lib/include/microfx/keycodes.h b/lib/include/microfx/keycodes.h new file mode 100644 index 0000000..a2667a9 --- /dev/null +++ b/lib/include/microfx/keycodes.h @@ -0,0 +1,63 @@ +#ifndef MICROFX_KEYCODES_H +#define MICROFX_KEYCODES_H + +#define KCF1 79 +#define KCF2 69 +#define KCF3 59 +#define KCF4 49 +#define KCF5 39 +#define KCF6 29 + +#define KCSHIFT 78 +#define KCOPTN 68 +#define KCVARS 58 +#define KCMENU 48 +#define KCLEFT 38 +#define KCUP 28 + +#define KCALPHA 77 +#define KCX2 67 +#define KCPOW 57 +#define KCEXIT 47 +#define KCDOWN 37 +#define KCRIGHT 27 + +#define KCXOT 76 +#define KCLOG 66 +#define KCLN 56 +#define KCSIN 46 +#define KCCOS 36 +#define KCTAN 26 + +#define KCFRAC 75 +#define KCSD 65 +#define KCLPAR 55 +#define KCRPAR 45 +#define KCCOMMA 35 +#define KCARROW 25 + +#define KC7 74 +#define KC8 64 +#define KC9 54 +#define KCDEL 44 +#define KCAC 10 + +#define KC4 73 +#define KC5 63 +#define KC6 53 +#define KCMULTI 43 +#define KCDIV 33 + +#define KC1 72 +#define KC2 62 +#define KC3 52 +#define KCPLUS 42 +#define KCMIN 32 + +#define KC0 71 +#define KCDOT 61 +#define KCEXP 51 +#define KCNEGA 41 +#define KCEXE 31 + +#endif diff --git a/lib/include/microfx/microfx.h b/lib/include/microfx/microfx.h new file mode 100644 index 0000000..4699ce9 --- /dev/null +++ b/lib/include/microfx/microfx.h @@ -0,0 +1,483 @@ +#ifndef MICROFX_H +#define MICROFX_H + +#include "keycodes.h" + +#define size_t unsigned int + +#define NULL 0 + +/******* DISPLAY *******/ + +#define SWIDTH 128 +#define SHEIGHT 64 + +enum {SWHITE = 0, SBLACK}; + +/* void sclear(void); + +Clears the VRAM in white. +*/ + +void sclear(void); + +/* void supdate(void); + +Put the VRAM on the screen. +*/ + +void supdate(void); + +/* void srect(int x1, int y1, int x2, int y2); + +Draws a white rectangle with a black border of one pixel from (x1, y1) to +(x2, y2) in the VRAM. +*/ + +void srect(int x1, int y1, int x2, int y2); + +/* void sline(int x1, int y1, int x2, int y2, int color); + +Draws a line with a width of one pixel from (x1, y1) to (x2, y2) in the VRAM of +color color. +The available colors are SWHITE or SBLACK. +*/ + +void sline(int x1, int y1, int x2, int y2, int color); + +/* void spixel(int x, int y, int color); + +Set the pixel at (x, y) in the color color in the VRAM. +The available colors are SWHITE or SBLACK. +*/ + +void spixel(int x, int y, int color); + +/* void stext(int x, int y, char *text, int color); + +Puts the text text at (x, y) on the screen using casio default font with color +color. +*/ + +void stext(int x, int y, char *text, int color); + +/* void slocate(int x, int y, char *text); + +Works like the Locate function of CASIO Basic. +*/ + +void slocate(int x, int y, char *text); + +/* void saddlocate(char *text); + +Continues the text displayed with slocate, can be used multiple times after a +locate. +*/ + +void saddlocate(char *text); + +/* void sgoto(int x, int y); + +Moves the position where you can add text with saddlocate. +*/ + +void sgoto(int x, int y); + +/* void stextmini(int x, int y, char *text); + +Works like stext, but here the font is PrintMini and you cannot set the color. +*/ + +void stextmini(int x, int y, char *text); + +/* char* sgetvram(void); + +Get the address of the VRAM. +*/ + +char* sgetvram(void); + +/******* KEYBOARD *******/ + +/* int kisdown(void); + +Returns a positive int if a key is down. +Returns 0 if there is no key down. +*/ +int kisdown(void); + +/* int kcheck(int key); + +Checks if the key key is down or not : returns a positive int if the key is +down, or 0 if the key key is not down. +*/ +int kcheck(int key); + +/* int kgetkey(void); + +Works like the Getkey function of CASIO Basic. +Returns the pressed key. +*/ +int kgetkey(void); + +/******* TOOLS *******/ + +/* void itoa(int n, char *buffer); + +Put a string of the int n in buffer. +*/ + +void itoa(int n, char *buffer); + +/* void *malloc(size_t __size); + +returns a pointer of size __size. +*/ + +void *malloc(size_t __size); + +/* void *calloc(size_t __nmemb, size_t __size); + +returns a pointer of size __nmemb * __size. +*/ + +void *calloc(size_t __nmemb, size_t __size); + +/* void *realloc(void *__ptr, size_t __size); + +returns __ptr but changes the size of this pointer to __size. +*/ + +void *realloc(void *__ptr, size_t __size); + +/* void free(void *__ptr); + +Free __ptr. +*/ + +void free(void *__ptr); + +/* void itohex(char *buffer, int value, int len); + +Puts the hex representation of value into buffer. The hex number will have the +size len. +*/ + +void itohex(char *buffer, int value, int len); + +/******* TIME *******/ + +/* void tsleep_ms(int ms); + +Wait ms miliseconds. +*/ +void tsleep_ms(int ms); + +/* void tgetticks(void); + +Get 1/128 seconds ticks since midnight. +*/ + +int tgetticks(void); + +/* int tiselapsed(int start, int ms); + +Check if ms where elapsed since start (ticks that you can get with tgetticks). +Returns 1 if ms is elapsed and 0 if it is not. +*/ + +int tiselapsed(int start, int ms); + +/* void treset(void); + +Resets RTC. +*/ + +void treset(void); + +/* int tinittimer(int ms, void (*callback)(void)); + +Initializes a timer that call callback each ms miliseconds. +The timers have a precision of 25 ms. + +Returns the id of the timer. +*/ + +int tinittimer(int ms, void (*callback)(void)); + +/* void tfreetimer(int id); + +Free the timer id. +*/ + +void tfreetimer(int id); + +/* void tstarttimer(int id); + +Start the timer id. +*/ + +void tstarttimer(int id); + +/* void tstoptimer(int id); + +Stop the timer id. +*/ + +void tstoptimer(int id); + +/******* RTC *******/ + +typedef struct { + int year, month, day; /* The current date (unused) */ + int hour, minute, second, millisecond; /* The current time */ +} MRtc; + +/* void rgettime(MRtc *rtc); + +Puts the current hour, minute, second and millisecond in the rtc Mrtc struct. +*/ + +void rgettime(MRtc *rtc); + +/******* CPU *******/ + +/* void csleep(void); + +Uses asm sleep instruction. +Can be used to reduce battery usage of some loops. +*/ + +void csleep(void); + +/******* GUI *******/ + +enum {GDEC = 0, GHEX}; + +/* int gnumask(char *message, int maxlen, int type); + +Asks for a num that is returned. message contains the message that will be +displayed when asking for the number. maxlen is the maximal length of the input +and type can be GDEC or GHEX. Set type to GDEC if you want to ask for a decimal +number or GHEX if you want that the user inputs a hexadecimal number. +*/ + +int gnumask(char *message, int maxlen, int type); + +/* void gstrask(char *buffer, char *message, int maxlen); + +Asks for a str that will be in buffer. message contains the message that will be +displayed when asking for the string and maxlen is the maximal length of the +input. +*/ + +void gstrask(char *buffer, char *message, int maxlen); + +/* void gfkeyset(int pos, unsigned char *img); + +Draws an fkey from a Sprite Coder string that is in img, at fkey position pos. +*/ + +void gfkeyset(int pos, unsigned char *img); + +/* void gmessagebox(int height, char *message); + +Draws a message box of height height with that contains message. +*/ + +void gmessagebox(int height, char *message); + +/* void gpopup(int hlines); + +Draws a popup that has a height of hlines lines. +*/ + +void gpopup(int hlines); + +/******* Memory *******/ + +/* File structure */ + +typedef struct { + int fd; /* The file descriptor of the file */ + int fpos; /* The position in the file (0 after mopen) */ + int fwpos; /* The writing position in the file */ + int error; /* Positive if there was an error, NULL if there was no one */ + int out; /* There was an error if this value is negative */ +} MFile; + +/* Errors */ + +enum { + MTOOBIGSIZE = 2, + MODDSIZEWRITE = 1, + MBF_ENTRYNOTFOUND = -1, + MBF_ILLEGALPARAM = -2, + MBF_ILLEGALPATH = -3, + MBF_DEVICEFULL = -4, + MBF_ILLEGALDEVICE = -5, + MBF_ILLEGALFS = -6, + MBF_ILLEGALSYS = -7, + MBF_ACCESSDENIED = -8, + MBF_ALREADYLOCKED = -9, + MBF_ILLEGALTASKID = -10, + MBF_PERMISSIONERROR = -11, + MBF_ENTRYFULL = -12, + MBF_ALREADYEXISTS = -13, + MBF_READONLYFILE = -14, + MBF_ILLEGALFILTER = -15, + MBF_ENUMEND = -16, + MBF_DEVICECHANGED = -17, + MBF_NOTRECORDFILE = -18, + MBF_ILLEGALSEEKPOS = -19, + MBF_ILLEGALBLOCKFILE = -20, + MBF_NOSUCHDEVICE = -21, + MBF_EOF = -22, + MBF_NOTMOUNTDEVICE = -23, + MBF_NOTUNMOUNTDEVICE = -24, + MBF_CANNOTLOCKSYS = -25, + MBF_RECORDNOTFOUND = -26, + MBF_NOTDUALRECORDFILE = -27, + MBF_NOALARMSUPPORT = -28, + MBF_CANNOTADDALARM = -29, + MBF_FILEFINDUSED = -30, + MBF_DEVICEERROR = -31, + MBF_SYSTEMNOTLOCKED = -32, + MBF_DEVICENOTFOUND = -33, + MBF_FILETYPEMISMATCH = -34, + MBF_NOTEMPTY = -35, + MBF_BROKENSYSTEMDATA = -36, + MBF_MEDIANOTREADY = -37, + MBF_TOOMANYALARMS = -38, + MBF_SAMEALARMEXISTS = -39, + MBF_ACCESSSWAPAREA = -40, + MBF_MULTIMEDIACARD = -41, + MBF_COPYPROTECTION = -42, + MBF_ILLEGALFILEDATA = -43 +}; + +/* File types */ + +enum { + MFILE = 1, + MFOLDER = 5 +}; + +/* Open modes */ + +enum { + MREAD = 0x01, + MWRITE = 0x02, + MREADW = (MREAD | MWRITE), + MSHARE = 0x80, + MRWS = (MREADW | MSHARE) +}; + +/* Defines */ + +#define MRCONTINUE -1 /* Start reading from the current position. */ + +#define PATHSIZELIMIT 256 /* Max. path size */ + +/* Prototypes */ + +/* IMPORTANT NOTES : + +- The CASIOWIN/Fugue compatibility is made automatically. +- To see if there is an error, check if the int error in the MFile struct. If + error is not NULL, there was an error. To get the error code just get the + output of the function. +- To get the output of a function, read the int out in the MFile struct. +- Errors are defined later on. +- DO NOT MODIFY fwpos : MODIFING THIS VARIABLE MAY BREAK THINGS ! +*/ + +/* int mfugue(void); + +Returns a postive int if the calculator has a fugue filesystem, or 0 if his fs +is CASIOWIN. +*/ + +int mfugue(void); + +/* int mremove(const char *filename); + +Removes the file filename. filename is a const char path for UNIX. +If the returned int is negative there was an error (errors are listed above in +an enum). +*/ + +int mremove(const char *filename); + +/* int mcreate(const char *filename, int type, int size); + +Creates the file or folder filename with size size. filename is a const char +path for UNIX. +Set type to MFILE if you want to create a file. Please consider that your add-in +may run on a CASIOWIN calculator, so please enter the real size of your file, +and not 0. +But if you want to create a folder, set type to MFOLDER and then you can also +set the size to 0 and I also recommend that because fxlib does that. +Returns a negative int if there was an error. +*/ + +int mcreate(const char *filename, int type, int size); + +/* MFile mopen(const char *filename, int mode); + +Opens the file filename with mode mode. +Available modes are : +- MREAD : Opens the file only for reading. +- MWRITE : Opens the file only for writing. +- MREADW : Opens the file for reading and writing. +- MSHARE : (I don't know what it is XD) Opens the file in shared mode. +- MRWS : Opens the file for reading, writing and in shared mode. +As always the filename is for UNIX and is fixed for the calc. +The error, if there was one, is as I described it in "IMPORTANT NOTES" above, +stored in the MFile struct file. +*/ + +MFile mopen(const char *filename, int mode); + +/* void mwrite(MFile *file, const void *data, int size); + +Writes size bytes of data to the file at fwpos of MFile struct file that you can +initialise with mopen. +As always, if there was an error, she's stored in MFile. +*/ + +void mwrite(MFile *file, const void *data, int size); + +/* void mread(MFile *file, void *data, int size, int whence); + +Read size bytes of the file of the MFile struct file and put them into data. Set +whence to a positive value to set where mread should start reading, or to +MRCONTINUE to continue reading from the current position. +As always, if there was an error, she's stored in MFile. +*/ + +void mread(MFile *file, void *data, int size, int whence); + +/* void mclose(MFile *file); + +Close the file MFile. +*/ + +void mclose(MFile *file); + +/* void mseek(MFile *file, int pos); + +Jump to the position pos in the file. if the position is invalid, errors may +occur later on. Pass the MFile struct of the file. +*/ + +void mseek(MFile *file, int pos); + +/* void msize(MFile *file); + +Puts the size of the file into out of file. Pass the MFile struct of the file. +*/ + +void msize(MFile *file); + +#endif diff --git a/lib/libMicrofx.a b/lib/libMicrofx.a new file mode 100644 index 0000000000000000000000000000000000000000..270804c137dc118b4aeb6cba6c6a981c90e3d03d GIT binary patch literal 17446 zcmeHO3vgRidOlZD{7$fAClMjwM`#|KU`er^7b!@w$zuulp+G`6T}hT?S&3vBNqMj^ z>m<%*&17A}ga)RY=`syvnUao~Ap@PlOxZ%aq)Wjj0aBJSF-c*!!|d`10Xi({_n&*t zy+_v=IXldFXJ=1xbkBGG|DN~%pL757yLL?|9qzuN#8s0UJj+)$HMkp_manX-adVRT zTT|m{TDeSrBUr*1i!oM^)?>++jQugj*-tSx*?9E~#$>E{n=y*>-}(Bu2;*jr*DYY| za$?i1jICVF*!BNxM(=L|nQSPXWr41pv7J#C2&|37GrfVfo!J(8wzL>oE$Ptij%YX= z>WL*xMqeV)oJa?5@9^DXaQdU!wp6?)o144dlG~OB%ho&aRw5M+WvNJ>WfVgdZi@Fr zbINW`L_=vMm%nmLyeICD;6-Y4B6Qa+(M%>3i>^)WK_2R*5`2+J8rjIWIeJ%TDwK{; zq9wJvN6l*MSbqz>0TQzPiD_w~az=t@x*|{gs;PVZ49TV+ij`doxNM)RBM>l3Z6TA zBYdj6=p(_h+L7GSSp(mEJ-XfBxBL+u5>8L0z2ZF z2wy!r!rjsE4rG9|gVqg(w3~)0oYB`$mOuGY$$}@VFQaTc6V(?H3uLi0Y4v1L2k2Nq zNYl{EG#646qpu!E%q*{t*h%DK9||Z_^qp z<~8AGuS|$1;k_EGHL}+?H?OW)wEouH7Nbw~o_e=IQ4>aA9PHAED#4!9PsV_47CN%b z0N^kY=Pv-hUgQnT)age1%XI>>^&s%o7QE1c8!ULOz>W%DCEJ)o7n9Ed(Vj@4lXNxD z(UX)1F@~9%0edexYHq^=LA&2_2Tc)^vspsvjr(V^kA@}vYX=rsQp89YqnT%rT zUrx9R%v3MU83lbs>uLIx?W+}OIrkIs(YzHQs(kADkZF%7Ppx+Vc```8rO2SPS0~tL zxnP`GAtL2dEJMU;gtyg=CxvGbD|t%)p?=7yuICZte}G7BmSs{Mv|eQ&kkp>TPb;Df za$KcT-FNwxQUB3;GddUYXUxIV%sgiKQVE^3&1}%v7-j~K@+pHiQE&>l zQo#w}D@!(z~{{~!WV#g@3-NZ#-?$ubYB43L5=O&?0q~72JU{x29BEf&+v6DAn%5`zNe^cg`h7?rQ1IU) z{eXg>LHZE|pG5kEg8v)o7Zm&(q)(ezqduKiuoLME3a&x79SU{976%3uNMHGB5a8|(&0v}NDFn7+=BKBMN>I_=JLA1Aall?*N}x@CU%> z75qEk3nsSFGI1!l6u3&k*yn85DtI1nqk`*zTNI4F*S1-~tAHa4_5o)VjP+zYpx}1k z2NZk<@FNNi0iRItcHkEjoB=+qV2r=*yn=rKd_lp3kOzl?{~EYT!G8;Ut%8pOH!2wO zV{cLLOTe2A97zSl{)}(FKiMq)WV2v_KLVQtJ|8Ci89|~j*!-|ma-0o>2O9F+-*bp2iP>*RtC}u^YnomEegP^9z`Wj~sP8++i zY4*LgQ5)we<>w6xU+AM+=cw%v6Ff8)JdA1!_xP3+E+#PQa2;%|^ObgoN9~dR)&;&L z-4}JP+&b0zDgB;4wroW68f|3Xysbf*J3f&#uSNio<{JAS4`nbS&^#I6d1CR=nku6x z=x)x9A3<+MlFk_O1pQ_UJp@eqhkU==LjOLn7ttx+$9|;;QU2dp@DspW5oLK#Tj)On zjv&hR{D*~p%7T9hycbcHhpAydQZSvb9#ZhBgdmeMHzj z#kS~EE%b&h^egsEX&x0Mf3Ce=7)=Gyav2~@sR~gs(d)aj#c(gIuDZ#eZUHjV<~r^= z;Oh;tdI|Cdz%rXi`_3B0zSG9o6_Oukk8+s~GB#7D_n;`5 z#+hiAOyfLmq#sat9%k%H$#a~stMv5OD1L4(8fQfMeauFz2K}b`q^*JEH>kK{GSI_gWfk?M`P>_9X}Bt&bYjM%m)v|XXpu}sXQ5# zeT997?B_ru8KE{(`^ph5`-<(Kz*mQS8D#q``-%f|%576Qe6XwYdn38AqZJ*z9(O>^?Te zJTrW?o_U_7ofRiFt;ARBE%Md6%No}AUUFa4d0nV9INv*um7dhPy1HVIKzq6lj+C_4 z^tqWMG*lVU{-=K9yLF&y}IyCl$ zMMOi~tn3>>V7I{dPSOJ{2xd;Aa)a{~SAyd%bxa=hju0iPI^{=(EqUtX`98h3{Fmf_ zf<>OSGstry=9A|a=w&5Hd7-tc%JW2gR(U4A$;dOc?+L^_@~jPjrwvgC**=RrYaf7t zY|S!ozGOTTma5Y6cut^pqo^p*@ zWndycs|*m|WMm)+zWWgK$N;|wSqMHEWc#c#a4i_d$pBp=UyclTmNmlXhr(pOmF#;^ zXO0Z0-zVz+rlyJKytq3Z(Yhcp=Xu{$o{7>^^lc+$N$yd`{0gBW{aZ#+$QqrSco6g^ z0KOgt-6zQM+ouDV=1;!=7Z!RKuv?+0E%g1sIM*8Q|CNRQFz^P2{*M;=Gr&0i8t?x+ zhpsOocr2KH4$^f-@prIz(WveZ<2-7lKLjTT&l=S?!s=zC`br3z;&GGZH^#za!f?3Z zUQZwyz7z%pt~dyo)35wis8PNZpaYD%;FZd^LJMORQV!c7?lQg2_$HV--58|KiQo`V z%lW`Y=lvjJKHZ4#nw%i}iE+s}A56q&)s4hw$PUs}o{Z{w|1o3-LCd2XZ6uec5oM6= zv*<=U$;LR{7~2_FRb$@s0X$PK!;Zvl^EtY4BAuq{%!$%dr1xn2DM-B})R}RHxQ1v7 z-PorDqgC(SNQF@l^mZgwz4u*CH0h-0+=#ON@8!_>1j6-6`bgz^k{KRTxh`cf!+&bL zb6Ji@l_aaqhSJN*^g`1c^!w|QsnZiA6EaMsCunYoFQ1<1l?92XltZhYn267+Cx~w{ zdg6etKJw`aeotuF15vhYpG8mDHh?xxPr&;zl{U@IdG*9H_p-}4Llta8ou<7RK5L^I zD-F)nzad-)f5lu!;?4J8*IF0sw;iopG)R7HSC3Y~d!g#ce0!ZhvdtXhGi>zEW4`$h5AHPfzofM*I65iXB1l zgLl5`$mn#}qf}npKT>+S47`WEvxaPA+IIUGdxtq4!Tv>m=d5+sIV)QiY`>_t&}<78 zg>srlrnT0guWOwSFJp_Hc2OH|^BAjYuc~CFRaIZZDayfEhFy=2I$P^PGi#kgrQ7|% z@Qd1D;h0ucSyg4WV6@y<8tHG}-*Lcm)U)tVL3@9#^N@Ya=B#@7iZN}Zr0Z~GKl*a4 zeV@0&>F^wNRlo^MvV9+FJnm)AisAR!Vr8thv2Cmi zepngk%x#n0F-%#2Q7x~}p|k^HG$*_V;50!ey+MB=Ktbwo9D(&vu0O8CgY--m1d_}7 zdbW*0I7u&&k0%d;e;L4DL}{15o)hsS=;RM}6mh92Z>xnK1AY;4gP`|V=y#(TR8)mbNtN>XJF|;p6eSda&?b$=_o8&zshY`&~(>x=|e0sg%`WEI= zyVy?+zs@~|&5f~pl(YGLihUpFO2fw!^I@FXpH+CCQ_k-%nEV>nnDiUfP_I1K zYgm)AObz>(JmZs(%51TJkpGBmr-n5p?*p`#@VO^=Y*;HYpZq`O>iL(w@269`hv_$U zFJN0K))hT420U246Q-fP+y{uxfz)o|!?;-Q1#AiAsX_Fe-`!$N<-Gv$smFW+c)&yN z2qG_UhEkw>iEO>ZNAibYqw}DuYl$YKe24h3RA_*;*&Dr7Vi_^B-T0$f^RP(%?Gt{g0;@hf<`uA8D#q` zYh5b?!?-hXJQ=&JZ|9W_mvdL9y@fh+?#k$7=Q{Fh=6ZB{*!7g_-(9b}-tECj^sPVZ z`@)qDeYC1_a8>x&*q0ftc9r(v^tn6wAD;8)1DVQ?#IasO(*Kw-$b~VPN%&!SkV0cWJ|~eP3J9J$T_=EqZQK zY2?Y_5AFsYdOvz@_)}Iq_(}BKg6`pu3KrA3x94K=V&bBCR>SD)XX&Yx!xQ2>afO^< zE{A;La2qfFa7XwA5X%#P0P=T2wiVBbfMJq(6%@`t~-x-9wgEL&mx#cuw;qq5(JI?ZoV+*L#V z!mcARzw6OBzF~CvYpr{;t?x{G@-KVZ5|LBiiEK+npS(RL{QFB+geyztHXLpE>7g~N&#ZbZ^gQQ!*;ng4;@Le|^lMhI zu(Psw?y`H9J$T5q>ctfgId?~&e4}xFY2+AtTASN>Y?-rqQI9=xcs=T1F>P-6aD%gY z)eieRtnE|x{CnHmFLZq3{0HZcoo_o|an5sI*SBcAoNhn7+By8Qcx61Z$~pXUta8Qs z>njc|_3v-kJ+%1dibD&x^k1JDyw?77aKC-7d!GA!`OXZ25uz^TLI-Xi-AZJ)T7HI?}vR@ZfW)c*0ETH8f; z<=`)3m1%AG@w>I*PsjM&-+1ZLB}%vso@K3d>x#B)?EB2WA(Y``^8L=rwY8xJAKSWq zjBQ@$xuII~)ds@_-)(e`I->oq&Zb4a(yoTSBJ=yZv)Oep;@|qMP`E48I1p`aO59Yj z~@i z4?vG;5uwMX^TEOo*JJv93eOU_1|l9ohWxHu41658jla(YM*g8LiQKoRH6=GdbTR zbf&EZwLXEEM`v>XbG41KeHNW*-;A=x>CA8{k%(vFsh*6kI`jGiNVn0+ozH1svgpiM z^O>0uzw5|t+19!Zu&BlDx9!|e8VPT#7%CsT)RBgEDwlniqscOjztbAGJ7| z;Wqs;@)b)s$bknOX`4YyN` Hlbins%eYMN literal 0 HcmV?d00001 diff --git a/src/animation.c b/src/animation.c new file mode 100644 index 0000000..727d533 --- /dev/null +++ b/src/animation.c @@ -0,0 +1,13 @@ +#include "animation.h" + +void aframe_done(Anim *anim) { + anim->delay_elapsed++; + if(anim->delay_elapsed >= anim->delay_max){ + anim->anim_frame++; + if(anim->anim_frame >= anim->anim_max){ + anim->anim_frame = 0; + anim->amount_anim_done++; + } + anim->delay_elapsed = 0; + } +} \ No newline at end of file diff --git a/src/animation.h b/src/animation.h new file mode 100644 index 0000000..c5c9a96 --- /dev/null +++ b/src/animation.h @@ -0,0 +1,25 @@ +#ifndef ANIMATION_H +#define ANIMATION_H + +/* Structure */ + +typedef struct { + int anim_frame; /* Which frame of animation we're on. */ + int anim_max; /* How many frame does the animation has. */ + int delay_elapsed; /* How many time elapsed since the last time the + animation frame was updated */ + int delay_max; /* How many frames elapse between to frames of the + animation */ + int amount_anim_done; /* How many times the animation looped. */ +} Anim; + +/* Functions */ + +/* void aframe_done(Anim *anim); + +Updates the Anim struct. should be called at the end of the game loop. +*/ + +void aframe_done(Anim *anim); + +#endif \ No newline at end of file diff --git a/src/assets.h b/src/assets.h new file mode 100644 index 0000000..8152595 --- /dev/null +++ b/src/assets.h @@ -0,0 +1,7 @@ +#ifndef ASSETS_H +#define ASSETS_H + +extern unsigned char*** player_sprites; +extern unsigned char*** player_alpha; + +#endif diff --git a/src/assets/alpha_boy_jump.c b/src/assets/alpha_boy_jump.c new file mode 100644 index 0000000..85f86ac --- /dev/null +++ b/src/assets/alpha_boy_jump.c @@ -0,0 +1,470 @@ +const unsigned char bj_a0[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xe0, 0xff, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xf1, 0xff, 0xff, + 0xff, 0xe1, 0xff, 0xff, + 0xff, 0xe0, 0xff, 0xff, + 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xe0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char bj_a1[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe0, 0xff, + 0xff, 0xff, 0xc0, 0x7f, + 0xff, 0xff, 0x80, 0x7f, + 0xff, 0xff, 0x0, 0x7f, + 0xff, 0xfe, 0x0, 0x7f, + 0xff, 0xfc, 0x1, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xe0, 0x3f, 0xff, + 0xff, 0xc0, 0x3f, 0xff, + 0xff, 0x80, 0x3f, 0xff, + 0xff, 0x0, 0x3f, 0xff, + 0xff, 0x2, 0x3f, 0xff, + 0xff, 0x6, 0x3f, 0xff, + 0xff, 0x86, 0x3f, 0xff, + 0xff, 0x83, 0x7f, 0xff, + 0xff, 0xc3, 0xff, 0xff, + 0xff, 0xe1, 0xff, 0xff, + 0xff, 0xe0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char bj_a2[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe0, 0xff, + 0xff, 0xff, 0xc0, 0x7f, + 0xff, 0xff, 0x80, 0x7f, + 0xff, 0xff, 0x0, 0x7f, + 0xff, 0xfc, 0x0, 0x7f, + 0xff, 0xf8, 0x1, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xc0, 0xf, 0xff, + 0xff, 0x0, 0x1f, 0xff, + 0xfe, 0x0, 0x3f, 0xff, + 0xfc, 0x0, 0x7f, 0xff, + 0xfc, 0x80, 0xff, 0xff, + 0xff, 0x81, 0xff, 0xff, + 0xff, 0x83, 0xff, 0xff, + 0xff, 0xc3, 0xff, 0xff, + 0xff, 0xc1, 0xff, 0xff, + 0xff, 0xe0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char bj_a3[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x7f, + 0xff, 0xff, 0xfc, 0x3f, + 0xff, 0xff, 0xf8, 0x1f, + 0xff, 0xff, 0xf0, 0x1f, + 0xff, 0xff, 0xf0, 0x1f, + 0xff, 0xff, 0xe0, 0x7f, + 0xff, 0xff, 0xc0, 0xff, + 0xff, 0xff, 0x83, 0xff, + 0xff, 0xff, 0x83, 0xff, + 0xff, 0xff, 0x3, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x47, 0xff, + 0xff, 0xf0, 0x67, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char bj_a4[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0x83, 0xff, + 0xff, 0xff, 0x1, 0xff, + 0xff, 0xff, 0x1, 0xff, + 0xff, 0xff, 0x1, 0xff, + 0xff, 0xff, 0x1, 0xff, + 0xff, 0xff, 0x81, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xff, 0xe, 0x7f, + 0xff, 0xff, 0xc, 0x7f, + 0xff, 0xff, 0x0, 0xff, + 0xff, 0xfe, 0x1, 0xff, + 0xff, 0xfe, 0x3, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, +}; + +const unsigned char bj_a5[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xc1, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x86, 0x3f, + 0xff, 0xff, 0x86, 0x3f, + 0xff, 0xff, 0x4, 0x3f, + 0xff, 0xff, 0x0, 0x7f, + 0xff, 0xfe, 0x0, 0x7f, + 0xff, 0xfe, 0x0, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xff, 0x7, 0xff, + 0xff, 0xff, 0x83, 0xff, + 0xff, 0xff, 0x83, 0xff, + 0xff, 0xff, 0x83, 0xff, + 0xff, 0xff, 0x7, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, +}; + +const unsigned char bj_a6[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x87, 0xff, + 0xff, 0xff, 0x7, 0xff, + 0xff, 0xfe, 0x3, 0xff, + 0xff, 0xfe, 0x3, 0xff, + 0xff, 0xfe, 0x3, 0xff, + 0xff, 0xfe, 0x3, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfc, 0x19, 0xff, + 0xff, 0xf8, 0x11, 0xff, + 0xff, 0xf0, 0x11, 0xff, + 0xff, 0xe0, 0x11, 0xff, + 0xff, 0xc0, 0x3, 0xff, + 0xff, 0x80, 0x87, 0xff, + 0xff, 0x1, 0xc7, 0xff, + 0xfe, 0x3, 0xff, 0xff, + 0xfe, 0x7, 0xff, 0xff, + 0xff, 0x1, 0xff, 0xff, + 0xff, 0x80, 0xff, 0xff, + 0xff, 0xc0, 0x3f, 0xff, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char bj_a7[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe0, 0xff, + 0xff, 0xff, 0xc0, 0x7f, + 0xff, 0xff, 0x80, 0x7f, + 0xff, 0xff, 0x0, 0x7f, + 0xff, 0xfe, 0x0, 0x7f, + 0xff, 0xfc, 0x1, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xe0, 0x3f, 0xff, + 0xff, 0xc0, 0x3f, 0xff, + 0xff, 0x80, 0x3f, 0xff, + 0xff, 0x0, 0x3f, 0xff, + 0xff, 0x2, 0x7f, 0xff, + 0xff, 0x6, 0x3f, 0xff, + 0xff, 0x86, 0x3f, 0xff, + 0xff, 0x83, 0x3f, 0xff, + 0xff, 0xc3, 0xff, 0xff, + 0xff, 0xe1, 0xff, 0xff, + 0xff, 0xe0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char bj_a8[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe0, 0xff, + 0xff, 0xff, 0xc0, 0x7f, + 0xff, 0xff, 0x80, 0x7f, + 0xff, 0xff, 0x80, 0x7f, + 0xff, 0xff, 0x0, 0x7f, + 0xff, 0xfe, 0x1, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xe0, 0x3f, 0xff, + 0xff, 0xe0, 0x3f, 0xff, + 0xff, 0xc0, 0x3f, 0xff, + 0xff, 0x80, 0x3f, 0xff, + 0xff, 0x80, 0x3f, 0xff, + 0xff, 0x2, 0x3f, 0xff, + 0xff, 0x2, 0x3f, 0xff, + 0xff, 0x3, 0x7f, 0xff, + 0xff, 0x81, 0xff, 0xff, + 0xff, 0x81, 0xff, 0xff, + 0xff, 0xc0, 0xff, 0xff, + 0xff, 0xe0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char* alpha_boy_jump[]={ + bj_a0, + bj_a1, + bj_a2, + bj_a3, + bj_a4, + bj_a5, + bj_a6, + bj_a7, + bj_a8 +}; diff --git a/src/assets/alpha_boy_run.c b/src/assets/alpha_boy_run.c new file mode 100644 index 0000000..194ad16 --- /dev/null +++ b/src/assets/alpha_boy_run.c @@ -0,0 +1,626 @@ +const unsigned char br_a0[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf1, 0x7, 0xff, + 0xff, 0xe3, 0x7, 0xff, + 0xff, 0xe3, 0x7, 0xff, + 0xff, 0xf1, 0x7, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xfc, 0x0, 0xff, + 0xff, 0xfe, 0x0, 0x3f, + 0xff, 0xfc, 0x18, 0x1f, + 0xff, 0xfc, 0x1e, 0x1f, + 0xff, 0xf8, 0x3f, 0x9f, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe1, 0x3, 0xff, + 0xff, 0xc3, 0x81, 0xff, + 0xff, 0xc3, 0xc1, 0xff, + 0xff, 0x7, 0xe1, 0xff, + 0xfe, 0x7, 0xf1, 0xff, + 0xf8, 0xf, 0xf1, 0xff, + 0xf0, 0x3f, 0xf1, 0xff, + 0xc0, 0xff, 0xe1, 0xff, + 0x81, 0xff, 0xe1, 0xff, + 0x87, 0xff, 0xe3, 0xff, + 0x8f, 0xff, 0xe3, 0xff, + 0x8f, 0xff, 0xe1, 0xff, + 0x9f, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_a1[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf1, 0x7, 0xff, + 0xff, 0xf1, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xfc, 0x3, 0xff, + 0xff, 0xfe, 0x1, 0xff, + 0xff, 0xfc, 0x18, 0xff, + 0xff, 0xfc, 0x1c, 0x7f, + 0xff, 0xf8, 0x3e, 0x3f, + 0xff, 0xf8, 0x3e, 0x3f, + 0xff, 0xf0, 0x3f, 0x3f, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe1, 0x3, 0xff, + 0xc7, 0xc3, 0x81, 0xff, + 0xc0, 0x3, 0xc1, 0xff, + 0x80, 0x7, 0xe1, 0xff, + 0x80, 0x7, 0xf1, 0xff, + 0x9f, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_a2[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xf3, 0xfc, 0x7, 0xff, + 0xe1, 0xf8, 0x7, 0xff, + 0xc1, 0xf8, 0x7, 0xff, + 0x80, 0xf0, 0x23, 0xff, + 0x98, 0x70, 0x23, 0xff, + 0xf8, 0x30, 0x11, 0xff, + 0xfc, 0x10, 0x11, 0xff, + 0xfe, 0x0, 0x9, 0xff, + 0xff, 0x1, 0x7, 0xff, + 0xff, 0x83, 0x83, 0xff, + 0xff, 0xc3, 0x83, 0xff, + 0xff, 0xe7, 0xc1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_a3[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xf8, 0xf8, 0x1f, 0xff, + 0xf0, 0x78, 0x1f, 0xff, + 0xe0, 0x78, 0x1f, 0xff, + 0xe4, 0x70, 0xf, 0xff, + 0xfe, 0x30, 0x7, 0xff, + 0xfe, 0x30, 0x3, 0xff, + 0xff, 0x10, 0x11, 0xff, + 0xff, 0x0, 0x9, 0xff, + 0xff, 0x81, 0x7, 0xff, + 0xff, 0x83, 0x83, 0xff, + 0xff, 0xc3, 0x83, 0xff, + 0xff, 0xe7, 0xc1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xc7, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_a4[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0x23, 0xff, + 0xff, 0xf0, 0x31, 0xff, + 0xff, 0xf8, 0x38, 0xff, + 0xff, 0xf8, 0x1c, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xfc, 0x0, 0xff, + 0xff, 0xfc, 0x40, 0x7f, + 0xff, 0xfc, 0x0, 0x7f, + 0xff, 0xe0, 0x0, 0xff, + 0xff, 0xc0, 0x3, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xc4, 0x7f, 0xff, + 0xff, 0xc8, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_a5[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xe2, 0x7, 0xff, + 0xff, 0xe2, 0x7, 0xff, + 0xff, 0xe2, 0x7, 0xff, + 0xff, 0xe1, 0xf, 0xff, + 0xff, 0xf1, 0xf, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xf8, 0x10, 0xff, + 0xff, 0xf8, 0x18, 0x7f, + 0xff, 0xf8, 0xc, 0x7f, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xf0, 0x0, 0xff, + 0xff, 0xe0, 0xc0, 0x7f, + 0xff, 0xe1, 0xe0, 0x7f, + 0xff, 0xc3, 0xf8, 0x7f, + 0xff, 0x83, 0xf8, 0x7f, + 0xff, 0x7, 0xf0, 0xff, + 0xfe, 0xf, 0xf1, 0xff, + 0xf8, 0x1f, 0xe1, 0xff, + 0xf0, 0x3f, 0xe1, 0xff, + 0xf0, 0x7f, 0xe0, 0xff, + 0xf1, 0xff, 0xf0, 0xff, + 0xf9, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_a6[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf1, 0x7, 0xff, + 0xff, 0xe3, 0x7, 0xff, + 0xff, 0xe3, 0x7, 0xff, + 0xff, 0xf1, 0x7, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xfc, 0x0, 0xff, + 0xff, 0xfe, 0x0, 0x3f, + 0xff, 0xfc, 0x18, 0x1f, + 0xff, 0xfc, 0x1e, 0x1f, + 0xff, 0xf8, 0x3f, 0x9f, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe1, 0x3, 0xff, + 0xff, 0xc3, 0x81, 0xff, + 0xff, 0xc3, 0xc1, 0xff, + 0xff, 0x7, 0xe1, 0xff, + 0xfe, 0x7, 0xf1, 0xff, + 0xf8, 0xf, 0xf1, 0xff, + 0xf0, 0x3f, 0xf1, 0xff, + 0xc0, 0xff, 0xe1, 0xff, + 0x81, 0xff, 0xe1, 0xff, + 0x87, 0xff, 0xe3, 0xff, + 0x8f, 0xff, 0xe3, 0xff, + 0x8f, 0xff, 0xe1, 0xff, + 0x9f, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_a7[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf1, 0x7, 0xff, + 0xff, 0xf1, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xfc, 0x3, 0xff, + 0xff, 0xfe, 0x1, 0xff, + 0xff, 0xfc, 0x18, 0xff, + 0xff, 0xfc, 0x1c, 0x7f, + 0xff, 0xf8, 0x3e, 0x3f, + 0xff, 0xf8, 0x3e, 0x3f, + 0xff, 0xf0, 0x3f, 0x3f, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe1, 0x3, 0xff, + 0xc7, 0xc3, 0x81, 0xff, + 0xc0, 0x3, 0xc1, 0xff, + 0x80, 0x7, 0xe1, 0xff, + 0x80, 0x7, 0xf1, 0xff, + 0x9f, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_a8[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xf3, 0xfc, 0x7, 0xff, + 0xe1, 0xf8, 0x7, 0xff, + 0xc1, 0xf8, 0x7, 0xff, + 0x80, 0xf0, 0x23, 0xff, + 0x98, 0x70, 0x23, 0xff, + 0xf8, 0x30, 0x11, 0xff, + 0xfc, 0x10, 0x11, 0xff, + 0xfe, 0x0, 0x9, 0xff, + 0xff, 0x1, 0x7, 0xff, + 0xff, 0x83, 0x83, 0xff, + 0xff, 0xc3, 0x83, 0xff, + 0xff, 0xe7, 0xc1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_a9[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xf8, 0xf8, 0x1f, 0xff, + 0xf0, 0x78, 0x1f, 0xff, + 0xe0, 0x78, 0x1f, 0xff, + 0xe4, 0x70, 0xf, 0xff, + 0xfe, 0x30, 0x7, 0xff, + 0xfe, 0x30, 0x3, 0xff, + 0xff, 0x10, 0x11, 0xff, + 0xff, 0x0, 0x9, 0xff, + 0xff, 0x81, 0x7, 0xff, + 0xff, 0x83, 0x83, 0xff, + 0xff, 0xc3, 0x83, 0xff, + 0xff, 0xe7, 0xc1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xc7, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_a10[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0x23, 0xff, + 0xff, 0xf0, 0x31, 0xff, + 0xff, 0xf0, 0x38, 0xff, + 0xff, 0xf0, 0x1c, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xfc, 0x3, 0xff, + 0xff, 0xfc, 0x0, 0xff, + 0xff, 0xfc, 0x40, 0x7f, + 0xff, 0xfc, 0x0, 0x7f, + 0xff, 0xe0, 0x0, 0xff, + 0xff, 0xc0, 0x3, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xc4, 0x7f, 0xff, + 0xff, 0xc8, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_a11[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xe2, 0x7, 0xff, + 0xff, 0xe2, 0x7, 0xff, + 0xff, 0xe2, 0x7, 0xff, + 0xff, 0xe1, 0xf, 0xff, + 0xff, 0xf1, 0xf, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xf8, 0x10, 0xff, + 0xff, 0xf8, 0x18, 0x7f, + 0xff, 0xf8, 0xc, 0x7f, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xf0, 0x0, 0xff, + 0xff, 0xe0, 0xc0, 0x7f, + 0xff, 0xe1, 0xe0, 0x7f, + 0xff, 0xc3, 0xf8, 0x7f, + 0xff, 0x83, 0xf8, 0x7f, + 0xff, 0x7, 0xf0, 0xff, + 0xfe, 0xf, 0xf1, 0xff, + 0xf8, 0x1f, 0xe1, 0xff, + 0xf0, 0x3f, 0xe1, 0xff, + 0xf0, 0x7f, 0xe0, 0xff, + 0xf1, 0xff, 0xf0, 0xff, + 0xf9, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char* alpha_boy_run[]={ + br_a0, + br_a1, + br_a2, + br_a3, + br_a4, + br_a5, + br_a6, + br_a7, + br_a8, + br_a9, + br_a10, + br_a11 +}; diff --git a/src/assets/alpha_girl_jump.c b/src/assets/alpha_girl_jump.c new file mode 100644 index 0000000..e0ebf95 --- /dev/null +++ b/src/assets/alpha_girl_jump.c @@ -0,0 +1,470 @@ +const unsigned char gj_a0[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xc0, 0xff, 0xff, + 0xff, 0xc1, 0xff, 0xff, + 0xff, 0xc1, 0xff, 0xff, + 0xff, 0xc0, 0xff, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xc0, 0x3f, 0xff, + 0xff, 0xc0, 0x3f, 0xff, + 0xff, 0xc0, 0x3f, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xe0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char gj_a1[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xc1, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x1, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xc0, 0x7, 0xff, + 0xff, 0x80, 0x7, 0xff, + 0xff, 0x0, 0x87, 0xff, + 0xff, 0x80, 0xf, 0xff, + 0xff, 0x1, 0x1f, 0xff, + 0xff, 0x3, 0x3f, 0xff, + 0xff, 0x3, 0xff, 0xff, + 0xff, 0x1, 0xff, 0xff, + 0xff, 0x1, 0xff, 0xff, + 0xff, 0x80, 0xff, 0xff, + 0xff, 0xc0, 0xff, 0xff, + 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char gj_a2[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xc1, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x0, 0xff, + 0xff, 0xfc, 0x0, 0xff, + 0xff, 0xf8, 0x1, 0xff, + 0xff, 0xf0, 0x1, 0xff, + 0xff, 0xc0, 0x1, 0xff, + 0xff, 0x0, 0x1, 0xff, + 0xfe, 0x0, 0x1, 0xff, + 0xfc, 0x0, 0x23, 0xff, + 0xfc, 0x80, 0x37, 0xff, + 0xff, 0x0, 0x7f, 0xff, + 0xff, 0x1, 0xff, 0xff, + 0xff, 0x1, 0xff, 0xff, + 0xff, 0x0, 0xff, 0xff, + 0xff, 0x80, 0x7f, 0xff, + 0xff, 0xc0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char gj_a3[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf8, 0xff, + 0xff, 0xff, 0xf0, 0x7f, + 0xff, 0xff, 0xf0, 0x3f, + 0xff, 0xff, 0xf0, 0x3f, + 0xff, 0xff, 0xf0, 0x3f, + 0xff, 0xff, 0xe0, 0x7f, + 0xff, 0xff, 0xc0, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x1, 0xff, + 0xff, 0xfe, 0x3, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x47, 0xff, + 0xff, 0xf0, 0x67, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char gj_a4[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xc1, 0xff, + 0xff, 0xff, 0xc0, 0xff, + 0xff, 0xff, 0xc0, 0xff, + 0xff, 0xff, 0xc0, 0xff, + 0xff, 0xff, 0x81, 0xff, + 0xff, 0xff, 0x3, 0xff, + 0xff, 0xff, 0x6, 0x7f, + 0xff, 0xff, 0x4, 0x7f, + 0xff, 0xff, 0x0, 0xff, + 0xff, 0xfe, 0x1, 0xff, + 0xff, 0xfe, 0x3, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, +}; + +const unsigned char gj_a5[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xe0, 0xff, + 0xff, 0xff, 0xe0, 0x7f, + 0xff, 0xff, 0xe0, 0x7f, + 0xff, 0xff, 0xc0, 0xff, + 0xff, 0xff, 0x80, 0x3f, + 0xff, 0xff, 0x80, 0x3f, + 0xff, 0xff, 0x0, 0x3f, + 0xff, 0xff, 0x0, 0x7f, + 0xff, 0xfe, 0x0, 0x7f, + 0xff, 0xfe, 0x0, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xff, 0x3, 0xff, + 0xff, 0xff, 0x83, 0xff, + 0xff, 0xff, 0x83, 0xff, + 0xff, 0xff, 0x7, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, +}; + +const unsigned char gj_a6[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xc7, 0xff, + 0xff, 0xff, 0x83, 0xff, + 0xff, 0xff, 0x81, 0xff, + 0xff, 0xff, 0x81, 0xff, + 0xff, 0xff, 0x1, 0xff, + 0xff, 0xfe, 0x0, 0xff, + 0xff, 0xfc, 0x0, 0xff, + 0xff, 0xf8, 0x0, 0xff, + 0xff, 0xf0, 0x0, 0xff, + 0xff, 0xe0, 0x0, 0xff, + 0xff, 0xc0, 0x1, 0xff, + 0xff, 0x80, 0x83, 0xff, + 0xff, 0x1, 0xc7, 0xff, + 0xfe, 0x3, 0xff, 0xff, + 0xfe, 0x7, 0xff, 0xff, + 0xfe, 0x1, 0xff, 0xff, + 0xfe, 0x0, 0xff, 0xff, + 0xff, 0x0, 0x3f, 0xff, + 0xff, 0xc0, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char gj_a7[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xc1, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x0, 0xff, + 0xff, 0xfe, 0x0, 0xff, + 0xff, 0xfc, 0x1, 0xff, + 0xff, 0xf8, 0x1, 0xff, + 0xff, 0xf8, 0x1, 0xff, + 0xff, 0xf0, 0x1, 0xff, + 0xff, 0xe0, 0x1, 0xff, + 0xff, 0xc0, 0x23, 0xff, + 0xff, 0x80, 0x37, 0xff, + 0xff, 0x0, 0x3f, 0xff, + 0xff, 0x0, 0x3f, 0xff, + 0xff, 0x2, 0x3f, 0xff, + 0xff, 0x3, 0x3f, 0xff, + 0xff, 0x1, 0xff, 0xff, + 0xff, 0x81, 0xff, 0xff, + 0xff, 0xc0, 0xff, 0xff, + 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char gj_a8[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xc1, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0x1, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xc0, 0x7, 0xff, + 0xff, 0x80, 0x7, 0xff, + 0xff, 0x0, 0x87, 0xff, + 0xff, 0x80, 0xf, 0xff, + 0xff, 0x1, 0x1f, 0xff, + 0xff, 0x3, 0x3f, 0xff, + 0xff, 0x3, 0xff, 0xff, + 0xff, 0x1, 0xff, 0xff, + 0xff, 0x1, 0xff, 0xff, + 0xff, 0x80, 0xff, 0xff, + 0xff, 0xc0, 0xff, 0xff, + 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, +}; + +const unsigned char* alpha_girl_jump[]={ + gj_a0, + gj_a1, + gj_a2, + gj_a3, + gj_a4, + gj_a5, + gj_a6, + gj_a7, + gj_a8 +}; diff --git a/src/assets/alpha_girl_run.c b/src/assets/alpha_girl_run.c new file mode 100644 index 0000000..f7553cd --- /dev/null +++ b/src/assets/alpha_girl_run.c @@ -0,0 +1,626 @@ +const unsigned char a0[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xf1, 0x3, 0xff, + 0xff, 0xe3, 0x7, 0xff, + 0xff, 0xe3, 0x7, 0xff, + 0xff, 0xf1, 0x7, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xfc, 0x0, 0xff, + 0xff, 0xfe, 0x0, 0x3f, + 0xff, 0xfc, 0x18, 0x1f, + 0xff, 0xfc, 0x1e, 0x1f, + 0xff, 0xf8, 0x3f, 0x9f, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe1, 0x3, 0xff, + 0xff, 0xc3, 0x81, 0xff, + 0xff, 0xc3, 0xc1, 0xff, + 0xff, 0x7, 0xe1, 0xff, + 0xfe, 0x7, 0xf1, 0xff, + 0xf8, 0xf, 0xf1, 0xff, + 0xf0, 0x3f, 0xf1, 0xff, + 0xc0, 0xff, 0xe1, 0xff, + 0x81, 0xff, 0xe1, 0xff, + 0x87, 0xff, 0xe3, 0xff, + 0x8f, 0xff, 0xe3, 0xff, + 0x8f, 0xff, 0xe1, 0xff, + 0x9f, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char a1[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x3, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xfc, 0x3, 0xff, + 0xff, 0xfe, 0x1, 0xff, + 0xff, 0xfc, 0x18, 0xff, + 0xff, 0xfc, 0x1c, 0x7f, + 0xff, 0xf8, 0x3e, 0x3f, + 0xff, 0xf8, 0x3e, 0x3f, + 0xff, 0xf0, 0x3f, 0x3f, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe1, 0x3, 0xff, + 0xc7, 0xc3, 0x81, 0xff, + 0xc0, 0x3, 0xc1, 0xff, + 0x80, 0x7, 0xe1, 0xff, + 0x80, 0x7, 0xf1, 0xff, + 0x9f, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char a2[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xf3, 0xfc, 0x7, 0xff, + 0xe1, 0xf8, 0x7, 0xff, + 0xc1, 0xf8, 0x7, 0xff, + 0x80, 0xf0, 0x23, 0xff, + 0x98, 0x70, 0x23, 0xff, + 0xf8, 0x30, 0x11, 0xff, + 0xfc, 0x10, 0x11, 0xff, + 0xfe, 0x0, 0x9, 0xff, + 0xff, 0x1, 0x7, 0xff, + 0xff, 0x83, 0x83, 0xff, + 0xff, 0xc3, 0x83, 0xff, + 0xff, 0xe7, 0xc1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char a3[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xf8, 0xf8, 0x1f, 0xff, + 0xf0, 0x78, 0x1f, 0xff, + 0xe0, 0x78, 0x1f, 0xff, + 0xe4, 0x70, 0xf, 0xff, + 0xfe, 0x30, 0x7, 0xff, + 0xfe, 0x30, 0x3, 0xff, + 0xff, 0x10, 0x11, 0xff, + 0xff, 0x0, 0x9, 0xff, + 0xff, 0x81, 0x7, 0xff, + 0xff, 0x83, 0x83, 0xff, + 0xff, 0xc3, 0x83, 0xff, + 0xff, 0xe7, 0xc1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xc7, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char a4[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xfe, 0x3, 0xff, + 0xff, 0xfc, 0x3, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0x23, 0xff, + 0xff, 0xf0, 0x31, 0xff, + 0xff, 0xf8, 0x38, 0xff, + 0xff, 0xf8, 0x1c, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xfc, 0x0, 0xff, + 0xff, 0xfc, 0x40, 0x7f, + 0xff, 0xfc, 0x0, 0x7f, + 0xff, 0xe0, 0x0, 0xff, + 0xff, 0xc0, 0x3, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xc4, 0x7f, 0xff, + 0xff, 0xc8, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char a5[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe2, 0x7, 0xff, + 0xff, 0xe1, 0xf, 0xff, + 0xff, 0xf1, 0xf, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xf8, 0x10, 0xff, + 0xff, 0xf8, 0x18, 0x7f, + 0xff, 0xf8, 0xc, 0x7f, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xf0, 0x0, 0xff, + 0xff, 0xe0, 0xc0, 0x7f, + 0xff, 0xe1, 0xe0, 0x7f, + 0xff, 0xc3, 0xf8, 0x7f, + 0xff, 0x83, 0xf8, 0x7f, + 0xff, 0x7, 0xf0, 0xff, + 0xfe, 0xf, 0xf1, 0xff, + 0xf8, 0x1f, 0xe1, 0xff, + 0xf0, 0x3f, 0xe1, 0xff, + 0xf0, 0x7f, 0xe0, 0xff, + 0xf1, 0xff, 0xf0, 0xff, + 0xf9, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char a6[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xf1, 0x3, 0xff, + 0xff, 0xe3, 0x7, 0xff, + 0xff, 0xe3, 0x7, 0xff, + 0xff, 0xf1, 0x7, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xfc, 0x0, 0xff, + 0xff, 0xfe, 0x0, 0x3f, + 0xff, 0xfc, 0x18, 0x1f, + 0xff, 0xfc, 0x1e, 0x1f, + 0xff, 0xf8, 0x3f, 0x9f, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf0, 0x3f, 0xff, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe1, 0x3, 0xff, + 0xff, 0xc3, 0x81, 0xff, + 0xff, 0xc3, 0xc1, 0xff, + 0xff, 0x7, 0xe1, 0xff, + 0xfe, 0x7, 0xf1, 0xff, + 0xf8, 0xf, 0xf1, 0xff, + 0xf0, 0x3f, 0xf1, 0xff, + 0xc0, 0xff, 0xe1, 0xff, + 0x81, 0xff, 0xe1, 0xff, + 0x87, 0xff, 0xe3, 0xff, + 0x8f, 0xff, 0xe3, 0xff, + 0x8f, 0xff, 0xe1, 0xff, + 0x9f, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char a7[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x3, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xfc, 0x3, 0xff, + 0xff, 0xfe, 0x1, 0xff, + 0xff, 0xfc, 0x18, 0xff, + 0xff, 0xfc, 0x1c, 0x7f, + 0xff, 0xf8, 0x3e, 0x3f, + 0xff, 0xf8, 0x3e, 0x3f, + 0xff, 0xf0, 0x3f, 0x3f, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe1, 0x3, 0xff, + 0xc7, 0xc3, 0x81, 0xff, + 0xc0, 0x3, 0xc1, 0xff, + 0x80, 0x7, 0xe1, 0xff, + 0x80, 0x7, 0xf1, 0xff, + 0x9f, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char a8[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0x7, 0xff, + 0xff, 0xfc, 0x3, 0xff, + 0xff, 0xfc, 0x3, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xf3, 0xfc, 0x7, 0xff, + 0xe1, 0xf8, 0x7, 0xff, + 0xc1, 0xf8, 0x7, 0xff, + 0x80, 0xf0, 0x23, 0xff, + 0x98, 0x70, 0x23, 0xff, + 0xf8, 0x30, 0x11, 0xff, + 0xfc, 0x10, 0x11, 0xff, + 0xfe, 0x0, 0x9, 0xff, + 0xff, 0x1, 0x7, 0xff, + 0xff, 0x83, 0x83, 0xff, + 0xff, 0xc3, 0x83, 0xff, + 0xff, 0xe7, 0xc1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char a9[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xf8, 0xf8, 0x1f, 0xff, + 0xf0, 0x78, 0x1f, 0xff, + 0xe0, 0x78, 0x1f, 0xff, + 0xe4, 0x70, 0xf, 0xff, + 0xfe, 0x30, 0x7, 0xff, + 0xfe, 0x30, 0x3, 0xff, + 0xff, 0x10, 0x11, 0xff, + 0xff, 0x0, 0x9, 0xff, + 0xff, 0x81, 0x7, 0xff, + 0xff, 0x83, 0x83, 0xff, + 0xff, 0xc3, 0x83, 0xff, + 0xff, 0xe7, 0xc1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xc7, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char a10[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0x7, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0x23, 0xff, + 0xff, 0xf0, 0x31, 0xff, + 0xff, 0xf0, 0x38, 0xff, + 0xff, 0xf0, 0x1c, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xfc, 0x3, 0xff, + 0xff, 0xfc, 0x0, 0xff, + 0xff, 0xfc, 0x40, 0x7f, + 0xff, 0xfc, 0x0, 0x7f, + 0xff, 0xe0, 0x0, 0xff, + 0xff, 0xc0, 0x3, 0xff, + 0xff, 0xc0, 0x7f, 0xff, + 0xff, 0xc4, 0x7f, 0xff, + 0xff, 0xc8, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char a11[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0x7, 0xff, + 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe0, 0x7, 0xff, + 0xff, 0xe2, 0x7, 0xff, + 0xff, 0xe1, 0xf, 0xff, + 0xff, 0xf1, 0xf, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xf8, 0x10, 0xff, + 0xff, 0xf8, 0x18, 0x7f, + 0xff, 0xf8, 0xc, 0x7f, + 0xff, 0xf0, 0x3, 0xff, + 0xff, 0xf0, 0x0, 0xff, + 0xff, 0xe0, 0xc0, 0x7f, + 0xff, 0xe1, 0xe0, 0x7f, + 0xff, 0xc3, 0xf8, 0x7f, + 0xff, 0x83, 0xf8, 0x7f, + 0xff, 0x7, 0xf0, 0xff, + 0xfe, 0xf, 0xf1, 0xff, + 0xf8, 0x1f, 0xe1, 0xff, + 0xf0, 0x3f, 0xe1, 0xff, + 0xf0, 0x7f, 0xe0, 0xff, + 0xf1, 0xff, 0xf0, 0xff, + 0xf9, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char* alpha_girl_run[]={ + a0, + a1, + a2, + a3, + a4, + a5, + a6, + a7, + a8, + a9, + a10, + a11 +}; \ No newline at end of file diff --git a/src/assets/assets.c b/src/assets/assets.c new file mode 100644 index 0000000..f9ecd62 --- /dev/null +++ b/src/assets/assets.c @@ -0,0 +1,24 @@ +/* Ne vous plaignez pas, je les ai mis dans l'ordre alphabétique ... */ +extern unsigned char boy_jump[]; +extern unsigned char boy_run[]; +extern unsigned char girl_jump[]; +extern unsigned char girl_run[]; + +unsigned char* player_sprites[] = { + boy_jump, + boy_run, + girl_jump, + girl_run +}; + +extern unsigned char* alpha_boy_jump[]; +extern unsigned char* alpha_boy_run[]; +extern unsigned char* alpha_girl_jump[]; +extern unsigned char* alpha_girl_run[]; + +unsigned char* player_alpha[] = { + alpha_boy_jump, + alpha_boy_run, + alpha_girl_jump, + alpha_girl_run +}; diff --git a/src/assets/boy_jump.c b/src/assets/boy_jump.c new file mode 100644 index 0000000..fc25546 --- /dev/null +++ b/src/assets/boy_jump.c @@ -0,0 +1,470 @@ +const unsigned char bj_s0[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf1, 0xff, 0xff, + 0xff, 0xe6, 0xff, 0xff, + 0xff, 0xe4, 0xff, 0xff, + 0xff, 0xe8, 0xff, 0xff, + 0xff, 0xfb, 0xff, 0xff, + 0xff, 0xfb, 0xff, 0xff, + 0xff, 0xf7, 0xff, 0xff, + 0xff, 0xf1, 0xff, 0xff, + 0xff, 0xf6, 0xff, 0xff, + 0xff, 0xf2, 0xff, 0xff, + 0xff, 0xf2, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xfb, 0xff, 0xff, + 0xff, 0xf6, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf1, 0xff, 0xff, + 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char bj_s1[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf8, 0xff, + 0xff, 0xff, 0xc6, 0xff, + 0xff, 0xff, 0xc2, 0xff, + 0xff, 0xff, 0x21, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xfd, 0x9f, 0xff, + 0xff, 0xfd, 0x1f, 0xff, + 0xff, 0xf9, 0x3f, 0xff, + 0xff, 0xf1, 0x7f, 0xff, + 0xff, 0xe1, 0x7f, 0xff, + 0xff, 0xe1, 0x7f, 0xff, + 0xff, 0x9b, 0x7f, 0xff, + 0xff, 0x87, 0x7f, 0xff, + 0xff, 0x8f, 0x7f, 0xff, + 0xff, 0xcf, 0x7f, 0xff, + 0xff, 0xc7, 0xff, 0xff, + 0xff, 0xe7, 0xff, 0xff, + 0xff, 0xf3, 0xff, 0xff, + 0xff, 0xf1, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char bj_s2[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf8, 0xff, + 0xff, 0xff, 0xc6, 0xff, + 0xff, 0xff, 0xc2, 0xff, + 0xff, 0xff, 0x21, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xfb, 0x1f, 0xff, + 0xff, 0xf4, 0x1f, 0xff, + 0xff, 0xc8, 0x3f, 0xff, + 0xff, 0x30, 0x7f, 0xff, + 0xfe, 0xc0, 0xff, 0xff, + 0xff, 0xf1, 0xff, 0xff, + 0xff, 0xcf, 0xff, 0xff, + 0xff, 0xc7, 0xff, 0xff, + 0xff, 0xe7, 0xff, 0xff, + 0xff, 0xe3, 0xff, 0xff, + 0xff, 0xf1, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char bj_s3[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x7f, + 0xff, 0xff, 0xfd, 0x3f, + 0xff, 0xff, 0xf8, 0xbf, + 0xff, 0xff, 0xf8, 0x7f, + 0xff, 0xff, 0xf4, 0xff, + 0xff, 0xff, 0xe7, 0xff, + 0xff, 0xff, 0xd7, 0xff, + 0xff, 0xff, 0xd7, 0xff, + 0xff, 0xff, 0xa7, 0xff, + 0xff, 0xff, 0x2f, 0xff, + 0xff, 0xff, 0x4f, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xfe, 0x5f, 0xff, + 0xff, 0xfe, 0x5f, 0xff, + 0xff, 0xf9, 0xdf, 0xff, + 0xff, 0xf8, 0xef, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xfe, 0x7f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char bj_s4[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xc7, 0xff, + 0xff, 0xff, 0x9b, 0xff, + 0xff, 0xff, 0x93, 0xff, + 0xff, 0xff, 0xa3, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xdf, 0xff, + 0xff, 0xff, 0x9f, 0xff, + 0xff, 0xff, 0xdf, 0xff, + 0xff, 0xff, 0xde, 0xff, + 0xff, 0xff, 0xcd, 0xff, + 0xff, 0xff, 0x23, 0xff, + 0xff, 0xff, 0x17, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xfe, 0x7f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char bj_s5[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xcd, 0xff, + 0xff, 0xff, 0xc9, 0xff, + 0xff, 0xff, 0xd1, 0xff, + 0xff, 0xff, 0xef, 0xff, + 0xff, 0xff, 0xcf, 0xff, + 0xff, 0xff, 0xcf, 0x7f, + 0xff, 0xff, 0x8e, 0xff, + 0xff, 0xff, 0xae, 0xff, + 0xff, 0xff, 0x20, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xfd, 0x3f, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xff, 0x8f, 0xff, + 0xff, 0xff, 0xc7, 0xff, + 0xff, 0xff, 0xe7, 0xff, + 0xff, 0xff, 0xe7, 0xff, + 0xff, 0xff, 0xcf, 0xff, + 0xff, 0xff, 0x9f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char bj_s6[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x8f, 0xff, + 0xff, 0xff, 0x37, 0xff, + 0xff, 0xff, 0x27, 0xff, + 0xff, 0xff, 0x47, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xfc, 0x3b, 0xff, + 0xff, 0xf8, 0x3b, 0xff, + 0xff, 0xf0, 0x3b, 0xff, + 0xff, 0xe0, 0xb7, 0xff, + 0xff, 0xc1, 0xcf, 0xff, + 0xff, 0xb3, 0xff, 0xff, + 0xff, 0xf, 0xff, 0xff, + 0xff, 0xf, 0xff, 0xff, + 0xff, 0x87, 0xff, 0xff, + 0xff, 0xc1, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xfe, 0x7f, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char bj_s7[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf8, 0xff, + 0xff, 0xff, 0xc6, 0xff, + 0xff, 0xff, 0xc2, 0xff, + 0xff, 0xff, 0x21, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xfd, 0x9f, 0xff, + 0xff, 0xfd, 0x1f, 0xff, + 0xff, 0xf9, 0x3f, 0xff, + 0xff, 0xf1, 0x7f, 0xff, + 0xff, 0xe1, 0x7f, 0xff, + 0xff, 0xe1, 0x7f, 0xff, + 0xff, 0x9b, 0x7f, 0xff, + 0xff, 0x87, 0xff, 0xff, + 0xff, 0x8f, 0x7f, 0xff, + 0xff, 0xcf, 0x7f, 0xff, + 0xff, 0xc7, 0xff, 0xff, + 0xff, 0xe7, 0xff, 0xff, + 0xff, 0xf3, 0xff, 0xff, + 0xff, 0xf1, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char bj_s8[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf8, 0xff, + 0xff, 0xff, 0xc6, 0xff, + 0xff, 0xff, 0xc2, 0xff, + 0xff, 0xff, 0xc1, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xff, 0x9f, 0xff, + 0xff, 0xfd, 0x3f, 0xff, + 0xff, 0xf9, 0x3f, 0xff, + 0xff, 0xf1, 0x7f, 0xff, + 0xff, 0xf1, 0x7f, 0xff, + 0xff, 0xe1, 0x7f, 0xff, + 0xff, 0xc1, 0x7f, 0xff, + 0xff, 0xf3, 0x7f, 0xff, + 0xff, 0x8f, 0x7f, 0xff, + 0xff, 0x87, 0x7f, 0xff, + 0xff, 0x87, 0xff, 0xff, + 0xff, 0xc3, 0xff, 0xff, + 0xff, 0xc3, 0xff, 0xff, + 0xff, 0xe1, 0xff, 0xff, + 0xff, 0xf1, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char* boy_jump[]={ + bj_s0, + bj_s1, + bj_s2, + bj_s3, + bj_s4, + bj_s5, + bj_s6, + bj_s7, + bj_s8 +}; diff --git a/src/assets/boy_run.c b/src/assets/boy_run.c new file mode 100644 index 0000000..d19128e --- /dev/null +++ b/src/assets/boy_run.c @@ -0,0 +1,626 @@ +const unsigned char br_s0[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfd, 0xf, 0xff, + 0xff, 0xfb, 0x8f, 0xff, + 0xff, 0xf7, 0x8f, 0xff, + 0xff, 0xf7, 0x8f, 0xff, + 0xff, 0xfb, 0x8f, 0xff, + 0xff, 0xfd, 0x8f, 0xff, + 0xff, 0xfe, 0x93, 0xff, + 0xff, 0xff, 0x99, 0xff, + 0xff, 0xfe, 0x3e, 0x3f, + 0xff, 0xfe, 0x7f, 0xbf, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf3, 0xf, 0xff, + 0xff, 0xf3, 0x87, 0xff, + 0xff, 0xe7, 0xc3, 0xff, + 0xff, 0xe7, 0xe3, 0xff, + 0xff, 0xcf, 0xf3, 0xff, + 0xff, 0xf, 0xfb, 0xff, + 0xfe, 0x3f, 0xfb, 0xff, + 0xf8, 0xff, 0xfb, 0xff, + 0xf1, 0xff, 0xf3, 0xff, + 0xe7, 0xff, 0xf3, 0xff, + 0xdf, 0xff, 0xf7, 0xff, + 0xdf, 0xff, 0xff, 0xff, + 0xdf, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_s1[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0x8f, 0xff, + 0xff, 0xfd, 0x8f, 0xff, + 0xff, 0xfb, 0x8f, 0xff, + 0xff, 0xfb, 0x8f, 0xff, + 0xff, 0xfd, 0x8f, 0xff, + 0xff, 0xfe, 0x97, 0xff, + 0xff, 0xff, 0x9b, 0xff, + 0xff, 0xfe, 0x3d, 0xff, + 0xff, 0xfe, 0x3e, 0xff, + 0xff, 0xff, 0xff, 0x7f, + 0xff, 0xfc, 0x7f, 0x7f, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf4, 0xf, 0xff, + 0xff, 0xf3, 0xf, 0xff, + 0xff, 0xf3, 0x87, 0xff, + 0xff, 0xe7, 0xc3, 0xff, + 0xe7, 0xc7, 0xe3, 0xff, + 0xc8, 0xf, 0xf3, 0xff, + 0xdf, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_s2[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfd, 0xf, 0xff, + 0xff, 0xfd, 0x4f, 0xff, + 0xff, 0xfd, 0x5f, 0xff, + 0xff, 0xfd, 0x5f, 0xff, + 0xff, 0xfe, 0x5f, 0xff, + 0xff, 0xfe, 0x9f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xf3, 0xfe, 0xaf, 0xff, + 0xe7, 0xfe, 0x6f, 0xff, + 0xd9, 0xff, 0x77, 0xff, + 0xfc, 0xf9, 0x77, 0xff, + 0xfc, 0x78, 0xbb, 0xff, + 0xfe, 0x38, 0xbb, 0xff, + 0xff, 0x17, 0x5f, 0xff, + 0xff, 0x83, 0x8f, 0xff, + 0xff, 0xc7, 0xc7, 0xff, + 0xff, 0xe7, 0xc7, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_s3[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xfc, 0x8f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xfe, 0x5f, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xf9, 0xfe, 0x7f, 0xff, + 0xf6, 0xff, 0x7f, 0xff, + 0xfe, 0xf8, 0xbf, 0xff, + 0xff, 0x78, 0xaf, 0xff, + 0xff, 0x78, 0x77, 0xff, + 0xff, 0xbc, 0x3b, 0xff, + 0xff, 0x93, 0x1f, 0xff, + 0xff, 0xc3, 0x8f, 0xff, + 0xff, 0xc7, 0xc7, 0xff, + 0xff, 0xe7, 0xc7, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf7, 0xff, + 0xff, 0xff, 0xe7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_s4[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xff, 0x4f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfc, 0x8f, 0xff, + 0xff, 0xf8, 0x8f, 0xff, + 0xff, 0xfb, 0x1f, 0xff, + 0xff, 0xf9, 0x1f, 0xff, + 0xff, 0xfd, 0x1f, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfd, 0xbf, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xf8, 0x2f, 0xff, + 0xff, 0xf9, 0xf7, 0xff, + 0xff, 0xfe, 0x7b, 0xff, + 0xff, 0xfc, 0x7d, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfd, 0x8f, 0xff, + 0xff, 0xfe, 0x43, 0xff, + 0xff, 0xfe, 0xe0, 0xff, + 0xff, 0xff, 0xc0, 0xff, + 0xff, 0xfc, 0x3, 0xff, + 0xff, 0xe8, 0x7f, 0xff, + 0xff, 0xef, 0xff, 0xff, + 0xff, 0xee, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_s5[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xfa, 0xf, 0xff, + 0xff, 0xf7, 0xf, 0xff, + 0xff, 0xf7, 0xf, 0xff, + 0xff, 0xf7, 0xf, 0xff, + 0xff, 0xfb, 0x9f, 0xff, + 0xff, 0xfb, 0x9f, 0xff, + 0xff, 0xfb, 0x1f, 0xff, + 0xff, 0xfd, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf9, 0xef, 0xff, + 0xff, 0xfe, 0x37, 0xff, + 0xff, 0xfc, 0x3b, 0xff, + 0xff, 0xfc, 0x3c, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfa, 0xf, 0xff, + 0xff, 0xf9, 0xc3, 0xff, + 0xff, 0xf1, 0xe0, 0xff, + 0xff, 0xf3, 0xf8, 0xff, + 0xff, 0xe7, 0xfc, 0xff, + 0xff, 0xc7, 0xfc, 0xff, + 0xff, 0x8f, 0xf9, 0xff, + 0xff, 0x1f, 0xfb, 0xff, + 0xfe, 0x3f, 0xf3, 0xff, + 0xfa, 0x7f, 0xff, 0xff, + 0xfb, 0xff, 0xf1, 0xff, + 0xfb, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_s6[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xfd, 0x4f, 0xff, + 0xff, 0xfd, 0x4f, 0xff, + 0xff, 0xfb, 0xcf, 0xff, + 0xff, 0xf7, 0xcf, 0xff, + 0xff, 0xf7, 0xaf, 0xff, + 0xff, 0xfb, 0xaf, 0xff, + 0xff, 0xfd, 0xaf, 0xff, + 0xff, 0xfe, 0xa3, 0xff, + 0xff, 0xff, 0x99, 0xff, + 0xff, 0xfe, 0x3e, 0x3f, + 0xff, 0xfe, 0x7f, 0xbf, + 0xff, 0xfe, 0x7f, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x9f, 0xff, + 0xff, 0xf8, 0x8f, 0xff, + 0xff, 0xf1, 0xf, 0xff, + 0xff, 0xf3, 0x87, 0xff, + 0xff, 0xe7, 0xc3, 0xff, + 0xff, 0xe7, 0xe3, 0xff, + 0xff, 0xcf, 0xf3, 0xff, + 0xff, 0xf, 0xfb, 0xff, + 0xfe, 0x3f, 0xfb, 0xff, + 0xf8, 0xff, 0xfb, 0xff, + 0xf1, 0xff, 0xf3, 0xff, + 0xe7, 0xff, 0xf3, 0xff, + 0xdf, 0xff, 0xf7, 0xff, + 0xdf, 0xff, 0xff, 0xff, + 0xdf, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_s7[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0x4f, 0xff, + 0xff, 0xfe, 0xcf, 0xff, + 0xff, 0xfc, 0xcf, 0xff, + 0xff, 0xfd, 0xaf, 0xff, + 0xff, 0xfb, 0xaf, 0xff, + 0xff, 0xfb, 0xaf, 0xff, + 0xff, 0xfd, 0xaf, 0xff, + 0xff, 0xfe, 0x97, 0xff, + 0xff, 0xff, 0x9b, 0xff, + 0xff, 0xfe, 0x3d, 0xff, + 0xff, 0xfe, 0x3e, 0xff, + 0xff, 0xfe, 0x7f, 0x7f, + 0xff, 0xfd, 0xff, 0x7f, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x9f, 0xff, + 0xff, 0xf8, 0x8f, 0xff, + 0xff, 0xf1, 0xf, 0xff, + 0xff, 0xf3, 0x87, 0xff, + 0xff, 0xe7, 0xc3, 0xff, + 0xe7, 0xc7, 0xe3, 0xff, + 0xc8, 0xf, 0xf3, 0xff, + 0xdf, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_s8[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfc, 0x4f, 0xff, + 0xff, 0xfc, 0x4f, 0xff, + 0xff, 0xfc, 0x4f, 0xff, + 0xff, 0xfc, 0x2f, 0xff, + 0xff, 0xfc, 0x2f, 0xff, + 0xff, 0xfc, 0x2f, 0xff, + 0xff, 0xfe, 0x2f, 0xff, + 0xff, 0xfe, 0x2f, 0xff, + 0xff, 0xfe, 0x2f, 0xff, + 0xf3, 0xff, 0x2f, 0xff, + 0xe7, 0xfc, 0xef, 0xff, + 0xd9, 0xf8, 0x77, 0xff, + 0xfc, 0xf8, 0x77, 0xff, + 0xfc, 0x78, 0xbb, 0xff, + 0xfe, 0x38, 0xbb, 0xff, + 0xff, 0x11, 0x1f, 0xff, + 0xff, 0x83, 0x8f, 0xff, + 0xff, 0xc7, 0xc7, 0xff, + 0xff, 0xe7, 0xc7, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_s9[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xfe, 0x7f, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xfe, 0x5f, 0xff, + 0xff, 0xfe, 0x5f, 0xff, + 0xff, 0xfe, 0x5f, 0xff, + 0xff, 0xfe, 0x9f, 0xff, + 0xff, 0xfc, 0x9f, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xf9, 0xfc, 0xbf, 0xff, + 0xf6, 0xfe, 0xbf, 0xff, + 0xfe, 0xf9, 0xdf, 0xff, + 0xff, 0x78, 0x6f, 0xff, + 0xff, 0x78, 0xb7, 0xff, + 0xff, 0xb8, 0xbb, 0xff, + 0xff, 0x91, 0x1f, 0xff, + 0xff, 0xc3, 0x8f, 0xff, + 0xff, 0xc7, 0xc7, 0xff, + 0xff, 0xe7, 0xc7, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf7, 0xff, + 0xff, 0xff, 0xe7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_s10[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfa, 0x4f, 0xff, + 0xff, 0xfa, 0x9f, 0xff, + 0xff, 0xfa, 0x9f, 0xff, + 0xff, 0xfe, 0x9f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xfe, 0x2f, 0xff, + 0xff, 0xf9, 0xf7, 0xff, + 0xff, 0xf8, 0x7b, 0xff, + 0xff, 0xf8, 0x7d, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x43, 0xff, + 0xff, 0xfe, 0xe0, 0xff, + 0xff, 0xfe, 0xc0, 0xff, + 0xff, 0xfe, 0x83, 0xff, + 0xff, 0xea, 0xff, 0xff, + 0xff, 0xee, 0xff, 0xff, + 0xff, 0xee, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char br_s11[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xfe, 0x7f, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xf8, 0x5f, 0xff, + 0xff, 0xfa, 0x5f, 0xff, + 0xff, 0xf7, 0x5f, 0xff, + 0xff, 0xf7, 0x5f, 0xff, + 0xff, 0xf7, 0x5f, 0xff, + 0xff, 0xfb, 0xdf, 0xff, + 0xff, 0xfb, 0x9f, 0xff, + 0xff, 0xfb, 0x9f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xf8, 0x5f, 0xff, + 0xff, 0xf9, 0xef, 0xff, + 0xff, 0xfe, 0x37, 0xff, + 0xff, 0xfc, 0x3b, 0xff, + 0xff, 0xfc, 0x3c, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xf8, 0x8f, 0xff, + 0xff, 0xf8, 0xc3, 0xff, + 0xff, 0xf1, 0xe0, 0xff, + 0xff, 0xf3, 0xf8, 0xff, + 0xff, 0xe7, 0xfc, 0xff, + 0xff, 0xc7, 0xfc, 0xff, + 0xff, 0x8f, 0xf9, 0xff, + 0xff, 0x1f, 0xfb, 0xff, + 0xfe, 0x3f, 0xf3, 0xff, + 0xfa, 0x7f, 0xff, 0xff, + 0xfb, 0xff, 0xf1, 0xff, + 0xfb, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char* boy_run[]={ + br_s0, + br_s1, + br_s2, + br_s3, + br_s4, + br_s5, + br_s6, + br_s7, + br_s8, + br_s9, + br_s10, + br_s11 +}; diff --git a/src/assets/girl_jump.c b/src/assets/girl_jump.c new file mode 100644 index 0000000..a271039 --- /dev/null +++ b/src/assets/girl_jump.c @@ -0,0 +1,470 @@ +const unsigned char gj_s0[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf1, 0xff, 0xff, + 0xff, 0xe6, 0xff, 0xff, + 0xff, 0xe4, 0xff, 0xff, + 0xff, 0xeb, 0xff, 0xff, + 0xff, 0xeb, 0xff, 0xff, + 0xff, 0xef, 0xff, 0xff, + 0xff, 0xe9, 0xff, 0xff, + 0xff, 0xee, 0xff, 0xff, + 0xff, 0xea, 0x7f, 0xff, + 0xff, 0xea, 0x7f, 0xff, + 0xff, 0xea, 0x7f, 0xff, + 0xff, 0xea, 0xff, 0xff, + 0xff, 0xea, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xfb, 0xff, 0xff, + 0xff, 0xf6, 0xff, 0xff, + 0xff, 0xfa, 0xff, 0xff, + 0xff, 0xea, 0xff, 0xff, + 0xff, 0xec, 0xff, 0xff, + 0xff, 0xe0, 0xff, 0xff, + 0xff, 0xf1, 0xff, 0xff, + 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xf9, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gj_s1[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xc5, 0xff, + 0xff, 0xff, 0xc5, 0xff, + 0xff, 0xff, 0xc9, 0xff, + 0xff, 0xff, 0xcf, 0xff, + 0xff, 0xff, 0xcf, 0xff, + 0xff, 0xfe, 0xcf, 0xff, + 0xff, 0xfc, 0xcf, 0xff, + 0xff, 0xf8, 0xcf, 0xff, + 0xff, 0xf0, 0xcf, 0xff, + 0xff, 0xe0, 0xcf, 0xff, + 0xff, 0xc1, 0xcf, 0xff, + 0xff, 0x81, 0xcf, 0xff, + 0xff, 0xf1, 0xbf, 0xff, + 0xff, 0x8f, 0xbf, 0xff, + 0xff, 0x87, 0xff, 0xff, + 0xff, 0x8f, 0xff, 0xff, + 0xff, 0x83, 0xff, 0xff, + 0xff, 0x83, 0xff, 0xff, + 0xff, 0xc1, 0xff, 0xff, + 0xff, 0xe1, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gj_s2[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0x21, 0xff, + 0xff, 0xfc, 0xa3, 0xff, + 0xff, 0xfb, 0x23, 0xff, + 0xff, 0xf4, 0x23, 0xff, + 0xff, 0xc8, 0x23, 0xff, + 0xff, 0x30, 0x23, 0xff, + 0xfe, 0xc0, 0x77, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0x8f, 0xff, 0xff, + 0xff, 0x83, 0xff, 0xff, + 0xff, 0x87, 0xff, 0xff, + 0xff, 0x81, 0xff, 0xff, + 0xff, 0xc0, 0xff, 0xff, + 0xff, 0xf0, 0x7f, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gj_s3[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf8, 0xff, + 0xff, 0xff, 0xf8, 0x7f, + 0xff, 0xff, 0xf8, 0x7f, + 0xff, 0xff, 0xf8, 0x7f, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xd1, 0xff, + 0xff, 0xff, 0xd1, 0xff, + 0xff, 0xff, 0xab, 0xff, + 0xff, 0xff, 0x2f, 0xff, + 0xff, 0xff, 0x4f, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xfe, 0x5f, 0xff, + 0xff, 0xfe, 0x5f, 0xff, + 0xff, 0xf9, 0xdf, 0xff, + 0xff, 0xf8, 0xef, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xfe, 0x7f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gj_s4[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xc7, 0xff, + 0xff, 0xff, 0xc7, 0xff, + 0xff, 0xff, 0x8f, 0xff, + 0xff, 0xff, 0x8e, 0xff, + 0xff, 0xff, 0xdd, 0xff, + 0xff, 0xff, 0x33, 0xff, + 0xff, 0xff, 0x17, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xfe, 0x7f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gj_s5[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf1, 0xff, + 0xff, 0xff, 0xf0, 0xff, + 0xff, 0xff, 0xf0, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe3, 0x7f, + 0xff, 0xff, 0x96, 0xff, + 0xff, 0xff, 0xae, 0xff, + 0xff, 0xff, 0x20, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xfd, 0x3f, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfe, 0xf, 0xff, + 0xff, 0xff, 0xf, 0xff, + 0xff, 0xff, 0xc7, 0xff, + 0xff, 0xff, 0xe7, 0xff, + 0xff, 0xff, 0xe7, 0xff, + 0xff, 0xff, 0xcf, 0xff, + 0xff, 0xff, 0x9f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gj_s6[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xc7, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0xc3, 0xff, + 0xff, 0xff, 0x31, 0xff, + 0xff, 0xfe, 0x31, 0xff, + 0xff, 0xfc, 0x31, 0xff, + 0xff, 0xf8, 0x31, 0xff, + 0xff, 0xf0, 0x31, 0xff, + 0xff, 0xe0, 0xbb, 0xff, + 0xff, 0xc1, 0xcf, 0xff, + 0xff, 0xb3, 0xff, 0xff, + 0xff, 0xf, 0xff, 0xff, + 0xff, 0xf, 0xff, 0xff, + 0xff, 0x7, 0xff, 0xff, + 0xff, 0x1, 0xff, 0xff, + 0xff, 0xc0, 0xff, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xfe, 0x3f, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xfe, 0x7f, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gj_s7[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0x21, 0xff, + 0xff, 0xff, 0xa3, 0xff, + 0xff, 0xfd, 0x23, 0xff, + 0xff, 0xfd, 0x23, 0xff, + 0xff, 0xf9, 0x63, 0xff, + 0xff, 0xf1, 0x63, 0xff, + 0xff, 0xf1, 0x77, 0xff, + 0xff, 0xc9, 0x7f, 0xff, + 0xff, 0x84, 0xff, 0xff, + 0xff, 0x83, 0x7f, 0xff, + 0xff, 0x87, 0x7f, 0xff, + 0xff, 0x8f, 0xff, 0xff, + 0xff, 0x83, 0xff, 0xff, + 0xff, 0xc3, 0xff, 0xff, + 0xff, 0xe1, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gj_s8[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xc5, 0xff, + 0xff, 0xff, 0xc5, 0xff, + 0xff, 0xff, 0xc9, 0xff, + 0xff, 0xff, 0xcf, 0xff, + 0xff, 0xff, 0xcf, 0xff, + 0xff, 0xfe, 0xcf, 0xff, + 0xff, 0xfc, 0xcf, 0xff, + 0xff, 0xf8, 0xcf, 0xff, + 0xff, 0xf0, 0xcf, 0xff, + 0xff, 0xe0, 0xcf, 0xff, + 0xff, 0xc1, 0xcf, 0xff, + 0xff, 0x81, 0xcf, 0xff, + 0xff, 0xf1, 0xbf, 0xff, + 0xff, 0x8f, 0xbf, 0xff, + 0xff, 0x87, 0xff, 0xff, + 0xff, 0x8f, 0xff, 0xff, + 0xff, 0x83, 0xff, 0xff, + 0xff, 0x83, 0xff, 0xff, + 0xff, 0xc1, 0xff, 0xff, + 0xff, 0xe1, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char* girl_jump[]={ + gj_s0, + gj_s1, + gj_s2, + gj_s3, + gj_s4, + gj_s5, + gj_s6, + gj_s7, + gj_s8 +}; diff --git a/src/assets/girl_run.c b/src/assets/girl_run.c new file mode 100644 index 0000000..2f2f597 --- /dev/null +++ b/src/assets/girl_run.c @@ -0,0 +1,626 @@ +const unsigned char gr_s0[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xdf, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xfd, 0x4f, 0xff, + 0xff, 0xfd, 0x47, 0xff, + 0xff, 0xfb, 0xa7, 0xff, + 0xff, 0xf7, 0xaf, 0xff, + 0xff, 0xf7, 0xdf, 0xff, + 0xff, 0xfb, 0xdf, 0xff, + 0xff, 0xfd, 0xbf, 0xff, + 0xff, 0xfe, 0x93, 0xff, + 0xff, 0xff, 0x99, 0xff, + 0xff, 0xfe, 0x3e, 0x3f, + 0xff, 0xfe, 0x7f, 0xbf, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xf3, 0xf, 0xff, + 0xff, 0xf3, 0x87, 0xff, + 0xff, 0xe7, 0xc3, 0xff, + 0xff, 0xe7, 0xe3, 0xff, + 0xff, 0xcf, 0xf3, 0xff, + 0xff, 0xf, 0xfb, 0xff, + 0xfe, 0x3f, 0xfb, 0xff, + 0xf8, 0xff, 0xfb, 0xff, + 0xf1, 0xff, 0xf3, 0xff, + 0xe7, 0xff, 0xf3, 0xff, + 0xdf, 0xff, 0xf7, 0xff, + 0xdf, 0xff, 0xff, 0xff, + 0xdf, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gr_s1[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xdf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0x87, 0xff, + 0xff, 0xfe, 0x87, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfa, 0x8f, 0xff, + 0xff, 0xfb, 0x8f, 0xff, + 0xff, 0xfd, 0x8f, 0xff, + 0xff, 0xfe, 0x97, 0xff, + 0xff, 0xff, 0x9b, 0xff, + 0xff, 0xfe, 0x3d, 0xff, + 0xff, 0xfe, 0x3e, 0xff, + 0xff, 0xff, 0xff, 0x7f, + 0xff, 0xfc, 0x7f, 0x7f, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xf4, 0xf, 0xff, + 0xff, 0xf3, 0xf, 0xff, + 0xff, 0xf3, 0x87, 0xff, + 0xff, 0xe7, 0xc3, 0xff, + 0xe7, 0xc7, 0xe3, 0xff, + 0xc8, 0xf, 0xf3, 0xff, + 0xdf, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gr_s2[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfd, 0xbf, 0xff, + 0xff, 0xfd, 0x5f, 0xff, + 0xff, 0xfd, 0x3f, 0xff, + 0xff, 0xfd, 0xf, 0xff, + 0xff, 0xfa, 0x7, 0xff, + 0xff, 0xfa, 0x7, 0xff, + 0xff, 0xf4, 0xf, 0xff, + 0xff, 0xf5, 0xf, 0xff, + 0xff, 0xfd, 0x4f, 0xff, + 0xff, 0xfd, 0x5f, 0xff, + 0xff, 0xfd, 0x5f, 0xff, + 0xff, 0xfe, 0x5f, 0xff, + 0xff, 0xfe, 0x9f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xf3, 0xfe, 0xaf, 0xff, + 0xe7, 0xfe, 0x6f, 0xff, + 0xd9, 0xff, 0x77, 0xff, + 0xfc, 0xf9, 0x77, 0xff, + 0xfc, 0x78, 0xbb, 0xff, + 0xfe, 0x38, 0xbb, 0xff, + 0xff, 0x17, 0x5f, 0xff, + 0xff, 0x83, 0x8f, 0xff, + 0xff, 0xc7, 0xc7, 0xff, + 0xff, 0xe7, 0xc7, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gr_s3[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xdf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0x87, 0xff, + 0xff, 0xfe, 0x87, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xff, 0xbf, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xfe, 0x5f, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xf9, 0xfe, 0x7f, 0xff, + 0xf6, 0xff, 0x7f, 0xff, + 0xfe, 0xf8, 0xbf, 0xff, + 0xff, 0x78, 0xaf, 0xff, + 0xff, 0x78, 0x77, 0xff, + 0xff, 0xbc, 0x3b, 0xff, + 0xff, 0x93, 0x1f, 0xff, + 0xff, 0xc3, 0x8f, 0xff, + 0xff, 0xc7, 0xc7, 0xff, + 0xff, 0xe7, 0xc7, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf7, 0xff, + 0xff, 0xff, 0xe7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gr_s4[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0x4f, 0xff, + 0xff, 0xff, 0xa7, 0xff, + 0xff, 0xfe, 0xa7, 0xff, + 0xff, 0xfe, 0x5f, 0xff, + 0xff, 0xfc, 0xdf, 0xff, + 0xff, 0xf8, 0xbf, 0xff, + 0xff, 0xfb, 0x1f, 0xff, + 0xff, 0xf9, 0x1f, 0xff, + 0xff, 0xfd, 0x1f, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfd, 0xbf, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xf8, 0x2f, 0xff, + 0xff, 0xf9, 0xf7, 0xff, + 0xff, 0xfe, 0x7b, 0xff, + 0xff, 0xfc, 0x7d, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xfe, 0x1f, 0xff, + 0xff, 0xfd, 0x8f, 0xff, + 0xff, 0xfe, 0x43, 0xff, + 0xff, 0xfe, 0xe0, 0xff, + 0xff, 0xff, 0xc0, 0xff, + 0xff, 0xfc, 0x3, 0xff, + 0xff, 0xe8, 0x7f, 0xff, + 0xff, 0xef, 0xff, 0xff, + 0xff, 0xee, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gr_s5[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xdf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfa, 0x87, 0xff, + 0xff, 0xfa, 0x87, 0xff, + 0xff, 0xf6, 0x8f, 0xff, + 0xff, 0xf6, 0x8f, 0xff, + 0xff, 0xf7, 0x8f, 0xff, + 0xff, 0xfb, 0x9f, 0xff, + 0xff, 0xfb, 0x9f, 0xff, + 0xff, 0xfb, 0x1f, 0xff, + 0xff, 0xfd, 0x3f, 0xff, + 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xf8, 0x3f, 0xff, + 0xff, 0xf9, 0xef, 0xff, + 0xff, 0xfe, 0x37, 0xff, + 0xff, 0xfc, 0x3b, 0xff, + 0xff, 0xfc, 0x3c, 0xff, + 0xff, 0xfc, 0x1f, 0xff, + 0xff, 0xfa, 0xf, 0xff, + 0xff, 0xf9, 0xc3, 0xff, + 0xff, 0xf1, 0xe0, 0xff, + 0xff, 0xf3, 0xf8, 0xff, + 0xff, 0xe7, 0xfc, 0xff, + 0xff, 0xc7, 0xfc, 0xff, + 0xff, 0x8f, 0xf9, 0xff, + 0xff, 0x1f, 0xfb, 0xff, + 0xfe, 0x3f, 0xf3, 0xff, + 0xfa, 0x7f, 0xff, 0xff, + 0xfb, 0xff, 0xf1, 0xff, + 0xfb, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gr_s6[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfd, 0xbf, 0xff, + 0xff, 0xfd, 0x5f, 0xff, + 0xff, 0xfd, 0x3f, 0xff, + 0xff, 0xfd, 0x4f, 0xff, + 0xff, 0xfb, 0x47, 0xff, + 0xff, 0xfb, 0xc7, 0xff, + 0xff, 0xf7, 0xcf, 0xff, + 0xff, 0xf7, 0xaf, 0xff, + 0xff, 0xff, 0xaf, 0xff, + 0xff, 0xfd, 0xaf, 0xff, + 0xff, 0xfe, 0xa3, 0xff, + 0xff, 0xff, 0x99, 0xff, + 0xff, 0xfe, 0x3e, 0x3f, + 0xff, 0xfe, 0x7f, 0xbf, + 0xff, 0xfe, 0x7f, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x9f, 0xff, + 0xff, 0xf8, 0x8f, 0xff, + 0xff, 0xf1, 0xf, 0xff, + 0xff, 0xf3, 0x87, 0xff, + 0xff, 0xe7, 0xc3, 0xff, + 0xff, 0xe7, 0xe3, 0xff, + 0xff, 0xcf, 0xf3, 0xff, + 0xff, 0xf, 0xfb, 0xff, + 0xfe, 0x3f, 0xfb, 0xff, + 0xf8, 0xff, 0xfb, 0xff, + 0xf1, 0xff, 0xf3, 0xff, + 0xe7, 0xff, 0xf3, 0xff, + 0xdf, 0xff, 0xf7, 0xff, + 0xdf, 0xff, 0xff, 0xff, + 0xdf, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gr_s7[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xdf, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xcf, 0xff, + 0xff, 0xfe, 0xc7, 0xff, + 0xff, 0xfe, 0xc7, 0xff, + 0xff, 0xfe, 0xaf, 0xff, + 0xff, 0xfa, 0xaf, 0xff, + 0xff, 0xfb, 0xaf, 0xff, + 0xff, 0xfd, 0xaf, 0xff, + 0xff, 0xfe, 0x97, 0xff, + 0xff, 0xff, 0x9b, 0xff, + 0xff, 0xfe, 0x3d, 0xff, + 0xff, 0xfe, 0x3e, 0xff, + 0xff, 0xfe, 0x7f, 0x7f, + 0xff, 0xfd, 0xff, 0x7f, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xf8, 0x9f, 0xff, + 0xff, 0xf8, 0x8f, 0xff, + 0xff, 0xf1, 0xf, 0xff, + 0xff, 0xf3, 0x87, 0xff, + 0xff, 0xe7, 0xc3, 0xff, + 0xe7, 0xc7, 0xe3, 0xff, + 0xc8, 0xf, 0xf3, 0xff, + 0xdf, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gr_s8[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xff, 0x5f, 0xff, + 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0x47, 0xff, + 0xff, 0xfe, 0xa7, 0xff, + 0xff, 0xfc, 0xaf, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xfc, 0x3f, 0xff, + 0xff, 0xfc, 0x2f, 0xff, + 0xff, 0xfc, 0x2f, 0xff, + 0xff, 0xfe, 0x2f, 0xff, + 0xff, 0xfe, 0x2f, 0xff, + 0xff, 0xfe, 0x2f, 0xff, + 0xf3, 0xff, 0x2f, 0xff, + 0xe7, 0xfc, 0xef, 0xff, + 0xd9, 0xf8, 0x77, 0xff, + 0xfc, 0xf8, 0x77, 0xff, + 0xfc, 0x78, 0xbb, 0xff, + 0xfe, 0x38, 0xbb, 0xff, + 0xff, 0x11, 0x1f, 0xff, + 0xff, 0x83, 0x8f, 0xff, + 0xff, 0xc7, 0xc7, 0xff, + 0xff, 0xe7, 0xc7, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gr_s9[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xdf, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xd7, 0xff, + 0xff, 0xfe, 0xd7, 0xff, + 0xff, 0xfe, 0xdf, 0xff, + 0xff, 0xfe, 0xdf, 0xff, + 0xff, 0xfe, 0xdf, 0xff, + 0xff, 0xff, 0xdf, 0xff, + 0xff, 0xfe, 0x5f, 0xff, + 0xff, 0xfe, 0x9f, 0xff, + 0xff, 0xfc, 0x9f, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xf9, 0xfc, 0xbf, 0xff, + 0xf6, 0xfe, 0xbf, 0xff, + 0xfe, 0xf9, 0xdf, 0xff, + 0xff, 0x78, 0x6f, 0xff, + 0xff, 0x78, 0xb7, 0xff, + 0xff, 0xb8, 0xbb, 0xff, + 0xff, 0x91, 0x1f, 0xff, + 0xff, 0xc3, 0x8f, 0xff, + 0xff, 0xc7, 0xc7, 0xff, + 0xff, 0xe7, 0xc7, 0xff, + 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xfb, 0xff, + 0xff, 0xff, 0xf3, 0xff, + 0xff, 0xff, 0xf7, 0xff, + 0xff, 0xff, 0xe7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe7, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gr_s10[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfd, 0xbf, 0xff, + 0xff, 0xfd, 0x5f, 0xff, + 0xff, 0xfd, 0x3f, 0xff, + 0xff, 0xfd, 0x57, 0xff, + 0xff, 0xfa, 0x4f, 0xff, + 0xff, 0xfa, 0x4f, 0xff, + 0xff, 0xf6, 0x4f, 0xff, + 0xff, 0xf6, 0x4f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfa, 0x9f, 0xff, + 0xff, 0xfa, 0x9f, 0xff, + 0xff, 0xfe, 0x9f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xfe, 0x2f, 0xff, + 0xff, 0xf9, 0xf7, 0xff, + 0xff, 0xf8, 0x7b, 0xff, + 0xff, 0xf8, 0x7d, 0xff, + 0xff, 0xf8, 0x7f, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x43, 0xff, + 0xff, 0xfe, 0xe0, 0xff, + 0xff, 0xfe, 0xc0, 0xff, + 0xff, 0xfe, 0x83, 0xff, + 0xff, 0xea, 0xff, 0xff, + 0xff, 0xee, 0xff, 0xff, + 0xff, 0xee, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char gr_s11[]={ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x1f, 0xff, + 0xff, 0xfe, 0x6f, 0xff, + 0xff, 0xfe, 0x4f, 0xff, + 0xff, 0xfe, 0x8f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xdf, 0xff, + 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xfe, 0xd7, 0xff, + 0xff, 0xfa, 0xd7, 0xff, + 0xff, 0xfa, 0xdf, 0xff, + 0xff, 0xf6, 0xdf, 0xff, + 0xff, 0xf6, 0xdf, 0xff, + 0xff, 0xf7, 0xdf, 0xff, + 0xff, 0xfb, 0xdf, 0xff, + 0xff, 0xfb, 0x9f, 0xff, + 0xff, 0xfb, 0x9f, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfe, 0xbf, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xfc, 0xbf, 0xff, + 0xff, 0xf8, 0x5f, 0xff, + 0xff, 0xf9, 0xef, 0xff, + 0xff, 0xfe, 0x37, 0xff, + 0xff, 0xfc, 0x3b, 0xff, + 0xff, 0xfc, 0x3c, 0xff, + 0xff, 0xfc, 0x5f, 0xff, + 0xff, 0xf8, 0x8f, 0xff, + 0xff, 0xf8, 0xc3, 0xff, + 0xff, 0xf1, 0xe0, 0xff, + 0xff, 0xf3, 0xf8, 0xff, + 0xff, 0xe7, 0xfc, 0xff, + 0xff, 0xc7, 0xfc, 0xff, + 0xff, 0x8f, 0xf9, 0xff, + 0xff, 0x1f, 0xfb, 0xff, + 0xfe, 0x3f, 0xf3, 0xff, + 0xfa, 0x7f, 0xff, 0xff, + 0xfb, 0xff, 0xf1, 0xff, + 0xfb, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +const unsigned char* girl_run[]={ + gr_s0, + gr_s1, + gr_s2, + gr_s3, + gr_s4, + gr_s5, + gr_s6, + gr_s7, + gr_s8, + gr_s9, + gr_s10, + gr_s11 +}; diff --git a/src/game.c b/src/game.c new file mode 100644 index 0000000..679fedf --- /dev/null +++ b/src/game.c @@ -0,0 +1 @@ +#include "game.h" \ No newline at end of file diff --git a/src/game.h b/src/game.h new file mode 100644 index 0000000..0a95a8c --- /dev/null +++ b/src/game.h @@ -0,0 +1,40 @@ +#ifndef GAME_H +#define GAME_H + +#include +#include + +#include "player.h" + +typedef enum { + S_INTRO, + S_TITLE, + S_SKINCHOOSE, + S_GAME, + S_FAILURE, + S_DONE, + S_END, + S_AMOUNT +} Screen; + +typedef struct { + Player player; /* The Player struct is defined in player.h */ + Screen screen; /* The screen we're on, the title screen, the caracter + choosing screen, etc. */ + MMap *map; /* A pointer to the MMap that the player is currently on. */ +} Game; + +/* Functions */ + +void pinit(Game *game); + +/* void pdraw(Game *game); + +Draws the player. Should be called after gmap. +*/ + +void pdraw(Game *game); + +void pset_action(Game *game, int n); + +#endif \ No newline at end of file diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..480143a --- /dev/null +++ b/src/main.c @@ -0,0 +1,51 @@ +#include "game.h" + +/* The Game struct is defined in game.h. */ +Game game; + +void slocate_int(int x, int y, int n) { + char buffer[20]; + itoa(n, buffer); + slocate(x, y, buffer); +} + +int main(void) { + /* Wait that all keys are released before starting the game. */ + while(kisdown()); + /* Init game */ + game.screen = S_GAME; + /* Some dirty stuff to try out animations */ + MMap map; + map.px = 32; + map.py = 8; + game.map = ↦ + pinit(&game); + while(!kcheck(KCEXIT)){ + sclear(); + switch(game.screen){ + case S_GAME: + aframe_done(&game.player.anim); + /* Change the action that the player does when SHIFT is + pressed. */ + if(kcheck(KCSHIFT)){ + if(game.player.action+1 >= A_AMOUNT) pset_action(&game, 0); + else pset_action(&game, game.player.action+1); + while(kcheck(KCSHIFT)); + } + /* Change the skin of the player when ALPHA is pressed. */ + if(kcheck(KCALPHA)){ + game.player.skin++; + if(game.player.skin >= L_AMOUNT) game.player.skin = 0; + while(kcheck(KCALPHA)); + } + slocate_int(1, 1, game.player.anim.anim_frame); + slocate_int(1, 2, game.player.anim.delay_elapsed); + pdraw(&game); + break; + default: + game.screen = S_GAME; /* TODO: change this to S_TITLE ... */ + } + supdate(); + } + return 1; +} diff --git a/src/player.c b/src/player.c new file mode 100644 index 0000000..6c7ca96 --- /dev/null +++ b/src/player.c @@ -0,0 +1,45 @@ +#include + +#include "game.h" + +#include "assets.h" + +int frames_amount_actions[A_AMOUNT] = { + 8, + 12 +}; + +void pinit(Game *game) { + game->player.anim.anim_frame = 0; + game->player.anim.anim_max = 12; + game->player.action = A_RUN; + game->player.anim.delay_elapsed = 0; + game->player.anim.delay_max = 5; /* Because the game will run at 50fps (so + 1 frame = 20ms), and one animation frame + takes 100ms, the delay should be + 100/20 = 5. */ + game->player.anim.amount_anim_done = 0; +} + +void pdraw(Game *game) { + simage( + (*game->map).px, (*game->map).py, + 32, 48, + player_alpha[game->player.skin * 2 + game->player.action] + [game->player.anim.anim_frame], + SNOBLACK + ); + simage( + (*game->map).px, (*game->map).py, + 32, 48, + player_sprites[game->player.skin * 2 + game->player.action] + [game->player.anim.anim_frame], + SNOWHITE + ); +} + +void pset_action(Game *game, int n) { + game->player.anim.anim_frame = 0; + game->player.anim.anim_max = frames_amount_actions[n]; + game->player.skin = n; +} \ No newline at end of file diff --git a/src/player.h b/src/player.h new file mode 100644 index 0000000..9deabfd --- /dev/null +++ b/src/player.h @@ -0,0 +1,24 @@ +#ifndef PLAYER_H +#define PLAYER_H + +#include "animation.h" + +typedef enum { + L_BOY, + L_GIRL, + L_AMOUNT +} Skin; + +typedef enum { + A_JUMP, + A_RUN, + A_AMOUNT +} Action; + +typedef struct { + Anim anim; + Skin skin; + Action action; +} Player; + +#endif \ No newline at end of file