From 7c01e87f875a1b1bcded48125425c4855cfe79d1 Mon Sep 17 00:00:00 2001 From: DebrisHauler Date: Tue, 10 Sep 2024 08:18:35 -0400 Subject: [PATCH 01/13] Bigbug (#273) * Big Bug prototype added! * fixed acceleration vector and removed pong from main menu. * Got some dirt tiling! * Got the tile field only rendering within the bounds of the camera. * Support added for biiiig tile fields! * implemented drag * Got some UI and early garbotnik art. * collision detection added. * Got some collision resolution. It's a little jank. * fixed the corner bounce jank. * Slightly better circle_AABB collision. * Switched to AABB AABB collision * got some tile map logic * got parallax background done * Rename menu renderer * Add fonts * Redraw menu * Add separate font for menu * Change outlining * Revert changes in the attic * Fix docs, logbook reference * Macos dev fixes (#225) * PULSEAUDIO should be defined for APPLE * Fix compilation errors due to conflicting function signature for keymapKeyCb * Add plain LLDB launch configuration * Update macOS dev env setup docs * .DS_Store files should not appear in git * Add note that (lldb) Launch configuration must be selected. * Update submodules * Remove stray ampersand * Remove stray debug print --------- Co-authored-by: gelakinetic * Fix drawWsgSimpleScaled() misbehaving on negative Y assets. Fixes #228 (#229) * Getting closer to that desired foreground look! * Some good work on the tilesets. * There's a level loading in now with a variety of tile densities. * fixed a corner tile with a wrong index * Did a despeckle filter on all the tiles. Got Ovo bouncing nicely. Digging only occurs at steep angles. Camera is no longer nauseating while you dig. * A bit of code cleanup. * Add bigbug to CMakeLists.txt Load all graphics to SPIRAM instead of internal RAM Use PRId32 format specifier (inttypes.h) * Fix loop bounds when drawing scaled WSGs * Some improvements to the corner tiles. * Untangling the entity manager from Brickout. * Got a midground tileset working. * Lots of tile work. * More code preparation for entities. * A bit of progress toward handling entities. * ffffff * Trying to debug animation. * One shot animation entities are working! * Tweaked scale, origins, and fixed animation bug at extreme Y values. * Dev environment is set up once again! Experimenting with smaller tile size. Testing garbage crumbling! * debugging the swadge * Debugging the swadge. * Some art stuff. * switch off of scaled drawing api calls * Midground tiles are allllmost ready for lighting! * Got some lighting on the midground! * Fixed some lighting arithmetic. * Dithered midground tiles, clamped light falloff so it doesn't go negative, moved floodfill to spiram so it doesn't crash on the swadge, turned off floodfill test. * Super broken right now. I'm working through foreground lighting. * Got some notes together about foreground lighting lookups. Still broken. * Lighting on the foreground! * Got garbotnik rotating! Lighting doesn't rotate yet though. * Fixed transparency in garbotnik. Tweaked animation thresholds. * Small fix for rotation logic. * Started updating the headlamp light. * Got midground lighting from headlamps done! * Lighting done on the foreground. * Started some path finding code. Fixed a swadge crash after several minutes of breaking blocks. Shrank garbotnik's hitbox. * little bit of boilerplate * Merged with main * Remove some duplicate merged code. change to fs_wsg.h. * IDK why these changed * idk * ignoring sdkconfing and dependencies.lock * seems I have to commit these before git merge --squash origin/main * Squashed commit of the following: commit b715d6b61ec7365f73b0dc6397b6e240a906a8be Merge: e3ae66f7 b2479e11 Author: johnnywycliffe Date: Sun Jul 7 13:00:50 2024 -0400 Merge pull request #248 from AEFeinstein/prettykeeb Updates text Entry for more better graphical use. commit b2479e119a55ca1b6f5dcdea8075bbf10b2bbe38 Author: gelakinetic Date: Sun Jul 7 10:59:14 2024 +0000 Fix menu init, typos commit 994d515f640040d2d28230f13dddb690dc00a156 Author: gelakinetic Date: Sun Jul 7 10:58:52 2024 +0000 Fix out-of-bounds font draw commit 37808d4638397dbcb2dbc7ead9640062a60e6b30 Author: gelakinetic Date: Sun Jul 7 10:58:41 2024 +0000 Fix incorrect fread check commit 433a9daccbded52d52bcbc7d98bdfef587064e47 Merge: e3ae66f7 7e81cd71 Author: gelakinetic Date: Sun Jul 7 10:09:52 2024 +0000 Merge branch 'prettykeeb' of https://github.com/AEFeinstein/Swadge-IDF-5.0 into prettykeeb commit 7e81cd712c9ebfa98f74055af57fc9cb6f8e94cc Author: JohnnyWycliffe Date: Sat Jul 6 19:35:45 2024 -0400 Type in file name commit d87c12aee735d19bafbf84c4d6d6d48b97c15fd7 Author: JohnnyWycliffe Date: Sat Jul 6 19:33:07 2024 -0400 Created a test mode to test all the features of the textEntry utility commit 4f7cb605b2ae42e8ad4c3aa5e5c2f536837c16a8 Author: JohnnyWycliffe Date: Sat Jul 6 17:23:14 2024 -0400 All menu items instantiated commit bc6d736ccea5a9a1a37a7fe1409d8e0333236515 Merge: 8c8ec7a6 c1b2d700 Author: JohnnyWycliffe Date: Sat Jul 6 14:41:18 2024 -0400 Merged with other branch commit c1b2d700fae93544d09c18011134ec58f1b110f3 Author: gelakinetic Date: Sat Jul 6 18:29:03 2024 +0000 Remove reference to menu_bg.wsg commit 640eb88d7db381f199574b858deb8737fd779cd2 Author: gelakinetic Date: Sat Jul 6 18:24:44 2024 +0000 Doxygen tweaks, typos, formatting commit e3ae66f74012be29d23c6cb568280a1c0c3d6672 Author: Dylan Whichard Date: Sat Jul 6 10:46:28 2024 -0700 Cleanup (#250) Fix and suppress all warnings commit 8c8ec7a64536bbd29c909a5bc3e8d9bca0643bb6 Author: JohnnyWycliffe Date: Sat Jul 6 13:33:24 2024 -0400 Refactored keeb test mode commit bc7f7dfe7d07050d96f60b94ce345eeca02d5336 Author: JohnnyWycliffe Date: Sat Jul 6 13:17:55 2024 -0400 Cleaned up doxy comments, removed unused define, deleted todos commit 029c99c3cc96f59340d5a55da6734c514171daac Author: JohnnyWycliffe Date: Sat Jul 6 13:11:46 2024 -0400 Everything works dynamically, but based on a sample character from each font for width. commit 5ecee1abf555d60baf6d6481107e91af5fc04e01 Author: JohnnyWycliffe Date: Sat Jul 6 12:27:51 2024 -0400 Finished Doxy header, added multiline text entry support, made the keyboard react dynamically to font size commit d5ecd5118fc60707af544a6060c7bcabee64688b Author: gelakinetic Date: Sat Jul 6 13:54:30 2024 +0000 More aggressive make fullclean commit c96bd80b3865d82cddfef08fb414892c85f5a5b1 Author: JohnnyWycliffe Date: Sat Jul 6 09:42:05 2024 -0400 Removed unecessary functions, streamlined existing functions since backwards compatibility had been removed, added new setters and their doxy comments commit d9997bbcdbb85b0c83a090eaead1ab75dbcfe1c1 Author: gelakinetic Date: Sat Jul 6 13:34:16 2024 +0000 Theme menu (#249) Update fonts Improve battery icon commit 2cec1c24634ab28350d781a5eaddf04ef75dcabe Author: JohnnyWycliffe Date: Sat Jul 6 07:30:56 2024 -0400 Added setter doxy comments commit ff14d8008a9c06a57475e48bb32e36934bc0b128 Author: gelakinetic Date: Sat Jul 6 11:02:34 2024 +0000 Use color enum commit e7b007e1cd7b9f4ea89aad51967467a99e6c6fc9 Author: gelakinetic Date: Sat Jul 6 11:00:02 2024 +0000 Typos and camelCase commit 1111bf98386ff12a7bbf9dc182b9750eed47980a Author: gelakinetic Date: Sat Jul 6 10:54:18 2024 +0000 Fix pointer type commit 87accacf0faacb22cdf82ec7407c389f1ef57b48 Author: gelakinetic Date: Sat Jul 6 10:51:37 2024 +0000 Move static function declarations commit 6fc98de527be82435f96b1c40c7308a18b28e0cb Author: gelakinetic Date: Sat Jul 6 10:30:50 2024 +0000 Always blink the cursor Remove textEntryDraw() commit 10fcfd52c6e7b69689c9938f433e52fa7461e21d Author: gelakinetic Date: Sat Jul 6 10:21:49 2024 +0000 Add keyboard test to secret menu commit d73f5b3cd7c78bcdd58274f2db92707f228a098b Author: gelakinetic Date: Sat Jul 6 10:17:20 2024 +0000 Formatting commit 350798e3f2ce70f3496c1b1d04d7c07640e0734f Author: JohnnyWycliffe Date: Fri Jul 5 23:33:50 2024 -0400 Added return as return commit dce169fcbe3454e95883a3daded202ffcd50557f Author: JohnnyWycliffe Date: Fri Jul 5 23:29:51 2024 -0400 Added emphasis colors, setters for all the new functions for great justice commit 9a69290eb4f72769fa72b6c7e501e287d87d7101 Author: JohnnyWycliffe Date: Fri Jul 5 22:54:59 2024 -0400 Fixed cursor blinking, continued refactor commit 4f272fd2e6d683c9ff9648a40d3e6db6409dee59 Author: JohnnyWycliffe Date: Fri Jul 5 20:35:02 2024 -0400 More refactoring, removed uneccessary includes, moved docstrings to .h file per spec commit 1536117e37df325f15dc9146452cc0a5cf2be6dc Author: JohnnyWycliffe Date: Fri Jul 5 19:46:55 2024 -0400 refactoring commit b4528f89c05d7494ffc53a567aade5e98dbb3539 Merge: d35d95df b2127ec3 Author: Dylan Whichard Date: Thu Jul 4 03:46:04 2024 -0400 Merge pull request #243 from AEFeinstein/midi-synth MIDI Synthesizer commit b2127ec3bc1da5b04bc9710d459b294277f66308 Author: Dylan Whichard Date: Wed Jul 3 18:54:34 2024 -0700 Slightly improve pitch bend algorithm commit 8cdae89391a9d6c5c68229099516c8a60e8b072e Author: Dylan Whichard Date: Tue Jul 2 17:51:38 2024 -0700 Move MIDI USB stuff out of synth mode commit 8d63d773ea54ce8a4e589f4134d7a8e09dd60fa2 Author: Dylan Whichard Date: Tue Jul 2 17:41:36 2024 -0700 Fix warning commit fdd3157476505089c194c9087ed6c01beaab2b26 Author: Dylan Whichard Date: Tue Jul 2 14:23:00 2024 -0700 Use more SPIRAM commit e0d2c4279e779e88a689beadf6dae8089dce606c Author: Dylan Whichard Date: Tue Jul 2 14:09:01 2024 -0700 Better text handling in synth mode commit f1ea1a236cfe66b4d7a6a09cf1b3d091c43ea78a Author: Dylan Whichard Date: Tue Jul 2 14:08:15 2024 -0700 Remove unnecessary complication in handling text/sysex events commit c50c057c3ff77731a7ae1f2bc7e76275621fd865 Author: Dylan Whichard Date: Mon Jul 1 17:09:39 2024 -0700 Make the note colors nicer in USB synth mode commit d35d95df2ff34e8de3d9c4ce47285290914c389f Author: Dylan Whichard Date: Mon Jul 1 18:55:07 2024 -0400 Re-style quick settings to match mania menu (#245) commit 6a9d8ffeff0ca3137f2d491f649725a47b2f1078 Author: gelakinetic Date: Sun Jun 30 23:50:02 2024 +0000 Formatting commit 23add0b275a4e678d80ddd68bfccfe228b371acf Author: gelakinetic Date: Sun Jun 30 23:49:26 2024 +0000 Fix compilation by making buzzer checks conditional commit ae6f77e84a064c723ff94ed1b7eb52a22bf82f6a Author: Dylan Whichard Date: Sun Jun 30 19:44:58 2024 -0400 Hash map data structure utility (#242) Add hash map utility commit a18a6486667ee7740cfce1dd372da7548c0af26a Merge: 6389225b 6b53e99d Author: Dylan Whichard Date: Sun Jun 30 15:40:00 2024 -0700 Merge remote-tracking branch 'origin/main' into midi-synth commit 6389225bc678e76b9a7d04fd74ef4fd0d7b401e4 Author: Dylan Whichard Date: Sun Jun 30 15:36:34 2024 -0700 Update docs intro references to bzr commit ca525fc968e8e7f95d3fc9d363f4730f7080ec90 Author: Dylan Whichard Date: Sun Jun 30 15:32:08 2024 -0700 Add midiUtil.c to CMakeLists.txt commit ac229230cd5209774cd89e1dbf5a3d9c1aed3c10 Author: Dylan Whichard Date: Sun Jun 30 15:30:59 2024 -0700 Remove random file commit 98aa6186ec95e81dd46b97eabb30dba6f90a6ab2 Author: Dylan Whichard Date: Sun Jun 30 15:01:49 2024 -0700 Remove non-committed files from jukebox commit e69cbf47fa27ffd421a055bbc1699939a99e9a7f Author: Dylan Whichard Date: Sun Jun 30 15:00:42 2024 -0700 Use a song that's actually committed for the midi synth commit 7674b9cfbe063d034b14018ab3dd4c6507de8a12 Author: Dylan Whichard Date: Sun Jun 30 14:52:06 2024 -0700 Update porting for MIDI commit 3b9462ac644fe26b82a8efec6f07af7835fdbdac Author: Dylan Whichard Date: Sun Jun 30 12:38:49 2024 -0700 Add ride cymbal 2 commit 68b31f062c999e8aa27ed5ab43110b4b94ee2832 Author: Dylan Whichard Date: Sun Jun 30 12:35:31 2024 -0700 Fix a few more warnings commit c4bf022f95983980288e78081273ecf6ae82c1be Author: Dylan Whichard Date: Sun Jun 30 11:50:35 2024 -0700 Fix doxygen warning commit 7609e5546c890d982a150acec50d715d94e4bc44 Author: Dylan Whichard Date: Sun Jun 30 11:47:25 2024 -0700 Add text to synth commit 2f5552eebcd56ce36dea957ce911d625331339b1 Author: Dylan Whichard Date: Sun Jun 30 11:45:54 2024 -0700 Remove unused drum functions commit 5c46d55146ab6435ae6fe7e15a0d779073fcbeb3 Author: Dylan Whichard Date: Sun Jun 30 11:40:53 2024 -0700 Fix MIDI warnings commit 71ef2b7a3ad2c26c4337e861407a12dedff80923 Author: Dylan Whichard Date: Sun Jun 30 11:20:46 2024 -0700 Remove duplicated pitch table commit e681fd297ce592f00c9d04c2d2075e204b755d05 Author: Dylan Whichard Date: Sun Jun 30 11:20:16 2024 -0700 Ascend the buzzer to the attic commit 6b53e99d2ddea5bd21934e46dd75119a06654f98 Author: gelakinetic Date: Sun Jun 30 11:35:28 2024 +0000 Gems and rings (#239) Implement Ultimate Tic Tac Toe, except CPU player. Still needs more cosmetics Other things: * Update rawdraw & CNFA submodules * Fix IP addr for ESP-NOW emulation * Don't use OpenGL on WSL * Add toggle for menu LEDs * Add arrows to geometry.c commit c6d6d0acfb171dfabaf3540ba3db6c009f29d90d Merge: dceb312c 403f0b50 Author: Dylan Whichard Date: Sat Jun 29 14:19:03 2024 -0400 Merge pull request #241 from AEFeinstein/intro-tutorial-rebased Intro / Tutorial commit 403f0b509b58f55c31a07b38c2260b892e54d5a9 Author: Dylan Whichard Date: Sat Jun 29 11:04:29 2024 -0700 Fix not having instructions to exit quick settings commit 3a7fd9951c29d14878f681aa894061167255181f Author: Dylan Whichard Date: Sat Jun 29 10:55:29 2024 -0700 More formatting commit d9b8e811fac38443e711801946e0e47c5ff87b80 Author: Dylan Whichard Date: Sat Jun 29 10:55:05 2024 -0700 Remove unused background callback commit 8c5b64a58e9cbfb72ceb3b3641fef139578c4481 Author: Dylan Whichard Date: Sat Jun 29 10:54:57 2024 -0700 A bit more text trimming commit c5161bac483f96e3a619c4a5823f619a57c90657 Author: Dylan Whichard Date: Sat Jun 29 10:40:49 2024 -0700 Fix button arrangement commit 8e885d633aa86e2155387846454c296e3d042676 Author: Dylan Whichard Date: Sat Jun 29 10:40:35 2024 -0700 Shorten tutorial titles commit 85e1a645d9de3af5b375bd9d1fdc307445559888 Author: gelakinetic Date: Sat Jun 29 15:09:18 2024 +0000 Squash warnings commit 639f36146567dc6ec898d059bc9d99c2554eb3e0 Author: Dylan Whichard Date: Fri Jun 28 23:31:16 2024 -0700 Formatting commit 7d017ebe44b6083920b01e1d9252d3e71c6cc7fa Author: Dylan Whichard Date: Fri Jun 28 23:29:00 2024 -0700 Remove the intro soundbite for now, since it's gigantic commit cf4e57071370d3b7b84d0aaab5880ff6c1b08476 Author: Dylan Whichard Date: Fri Jun 28 23:24:46 2024 -0700 Make the intro graphics more pretty commit d2eb3d2de2d75b7ed3d578ad30c6a83f39eae451 Author: Dylan Whichard Date: Fri Jun 28 16:50:46 2024 -0700 Bring back buzzer backwards-compatibility commit a7eecfed75df54b477989a9f4904c6655abb59c5 Author: JohnnyWycliffe Date: Fri Jun 28 15:03:33 2024 -0400 Added text coloring commit 3c7bcac21676a8e9c2b1497a9e7a0a787be8bc30 Author: JohnnyWycliffe Date: Fri Jun 28 14:19:14 2024 -0400 Added background image and boxes to make text easy to see. commit 4ed30b9e7860fd0bfa22ab93dd52d164caba87f3 Author: Dylan Whichard Date: Wed Jun 19 00:00:24 2024 -0700 Add midi util temporarily probably commit a9499da058966184cc278d1e39b3f36ffb2b938d Author: Dylan Whichard Date: Wed Jun 19 00:00:06 2024 -0700 more WIP drums commit 5320562b398671bd60af306f061cb783e4a7f6c5 Author: Dylan Whichard Date: Sun Jun 16 22:10:00 2024 -0700 Nicer pitch wheel in synth mode commit 38a03866813103f4726daf39fcb616852f21de8f Author: Dylan Whichard Date: Sun Jun 16 21:24:13 2024 -0700 Support MIDI Format 2 files commit e1a963a1be954645b0ce013bd386df69fc53bf97 Author: Dylan Whichard Date: Sun Jun 16 21:08:53 2024 -0700 Fix some memory leaks and weird logic commit 67e30f62f67b18119e821698204274ca6068c9a0 Author: Dylan Whichard Date: Sun Jun 16 18:01:06 2024 -0700 USB synth mode updates commit 0f20f442a414afe9f2819c9728d1a73872d5884e Author: Dylan Whichard Date: Sun Jun 16 18:00:49 2024 -0700 Implement tempo changing without weird artifacts commit c94db59b170e6d2da01e622c26df43df47446d9f Author: Dylan Whichard Date: Sun Jun 16 17:26:51 2024 -0700 Some more documentation commit cd2bb8dfee8c8be7f86d26a1de0ad92e1105adeb Author: Dylan Whichard Date: Sun Jun 16 12:37:53 2024 -0700 Format everything commit 26555a87b6c2648c50418962d50ba04d5b915fe6 Author: Dylan Whichard Date: Sun Jun 16 12:35:14 2024 -0700 Cleanup and add missing documentation commit f58b4e47366e40de45a36aaf2de2f45d7d25e8aa Author: Dylan Whichard Date: Sun Jun 16 10:01:36 2024 -0700 Fix oscillators being initialized with junk commit f01aa6fa13e26347859b2710d943f3215c1bf141 Author: Dylan Whichard Date: Sat Jun 15 16:18:31 2024 -0700 Update USB synth mode to account for dynamic voices commit d1d88c06fb6e1e9249fa69c2cee73f6797e58f0f Author: Dylan Whichard Date: Sat Jun 15 16:17:51 2024 -0700 Switch to dynamic cross-channel voice pool commit a5e7820f3b909936f1922008350d580761c22f21 Author: Dylan Whichard Date: Sat Jun 15 11:23:40 2024 -0700 Fix memory leak commit 1edd3d58c541131db66e78f1fd9dbc8defd6726d Author: Dylan Whichard Date: Sat Jun 15 10:36:42 2024 -0700 Fix looping commit 128e3a4e61f998c076d97f3d0a2f45f7d3ac09ed Author: Dylan Whichard Date: Sat Jun 15 10:13:18 2024 -0700 Oh no there's a race condition commit 080c89f5490f9a50c8611eb46830d217c3f3e316 Author: Dylan Whichard Date: Sat Jun 15 10:00:39 2024 -0700 Implement save/restore for midi player commit 55cb61ab061622abf8837168d0d8ec7cac9d9143 Author: Dylan Whichard Date: Fri Jun 14 16:10:49 2024 -0700 Move intro mode to match new structure commit 9e6f689a00f17998b3f3a9d38b1540d3fb6779e0 Author: Dylan Whichard Date: Tue Apr 30 15:52:56 2024 -0700 Add script for converting audio to swadge format commit 5d78e5d84b1cb77fca61bc26b26beceb39d70337 Author: Dylan Whichard Date: Tue Apr 30 15:31:30 2024 -0700 Yoink the intro audio commit 642d0a7a34eec3212f9c505806e32dbee0f6f47f Author: Dylan Whichard Date: Mon Apr 29 22:17:32 2024 -0700 Fancify the intro a bit more commit 92bcc77be77ace01d5efb643cc7ce26ccc1a0b0c Author: Dylan Whichard Date: Mon Apr 29 19:31:36 2024 -0700 Add tutorial to CMakelists.txt commit b4a6ca83d33e82e0880d9ae566bd6090b79025bb Author: Dylan Whichard Date: Mon Apr 29 17:35:35 2024 -0700 Add tutorial to main menu too commit 4b0cf38b5107c767968e1c6f9c6d800355416041 Author: Dylan Whichard Date: Mon Apr 29 17:31:03 2024 -0700 Start intro mode on first boot commit ae956a545a30c67bf24fe4d0e11ce07cba40af9b Author: Dylan Whichard Date: Mon Apr 29 16:15:17 2024 -0700 Generify paint_help into tutorial.h and use for intro mode commit cc783ecb7b0e49e0b54f54087dd735847a285166 Author: Dylan Whichard Date: Fri Mar 15 17:05:14 2024 -0700 Add intro mode commit 30262a6ec949ae038d3eb87b578b4e9cb267c4be Author: Dylan Whichard Date: Fri Jun 14 16:02:03 2024 -0700 Fix jukebox looping commit b47da33b3a70c3554200ec10ccf6e449a110b4bf Merge: aecb1b86 dceb312c Author: Dylan Whichard Date: Fri Jun 14 15:57:23 2024 -0700 Merge remote-tracking branch 'origin/main' into midi-synth commit aecb1b86ff9fa330cb39749091cdf757ad1a1c9a Author: Dylan Whichard Date: Fri Jun 14 15:49:23 2024 -0700 Change freeSong()s to MIDI also commit a2237c8d033606b4b622793144f0db9b200ba9dc Author: Dylan Whichard Date: Fri Jun 14 15:48:48 2024 -0700 Fix midi reset behavior commit 186a471ae39b00065b80e1fb3bfb8487034ee1d3 Author: Dylan Whichard Date: Fri Jun 14 15:16:57 2024 -0700 Looping commit e7b4b00b2f83fb3c012d2644d68c9ca381db2ac3 Author: Dylan Whichard Date: Fri Jun 14 15:16:22 2024 -0700 Swap out song_t/.sng for midiFile_t/.mid commit 827e27634abbb0a5e49b9cc35cc8a15175888a18 Author: Dylan Whichard Date: Fri Jun 14 14:51:54 2024 -0700 Replace sng* functions with midi ones commit 2523849c857ab889a376faace29f73d9fa4b66c2 Author: Dylan Whichard Date: Fri Jun 14 14:50:30 2024 -0700 Don't let a song give us a bad tempo commit 418a6da601288b8cf065c3d42fd2ce111403ead9 Author: Dylan Whichard Date: Fri Jun 14 14:40:33 2024 -0700 Add resetMidiParser() commit 0396421f4d38a25a9d88127c20bbd2197e02f4ff Author: Dylan Whichard Date: Thu Jun 13 15:49:28 2024 -0700 Fix deinitMidiParser() commit 222a802d66ba7bbf3bcbbd876e5d5246c5ab8209 Author: Dylan Whichard Date: Thu Jun 13 15:03:01 2024 -0700 Un-jankify the multi-song playback commit a40642a893264bf0e5636e4e0db1269be9e73067 Author: Dylan Whichard Date: Sun Jun 9 11:46:36 2024 -0700 Add multi-song support to MIDI player and add global methods (maybe too janky) commit 4b96e1acd44f6994e1aa9781bf68af7d6bb5109d Author: Dylan Whichard Date: Sun Jun 9 11:44:50 2024 -0700 Clean up MIDI parser states commit a6c5ff88d46d29764b4b2e76704edc1640db6253 Author: Dylan Whichard Date: Sat Jun 8 16:22:28 2024 -0700 Remove old MIDI SPIFFS processor, replace with generic raw processor commit 85d07476c6d9dee6116893d9ed3220ab35a970d7 Author: Dylan Whichard Date: Sat Jun 8 15:44:17 2024 -0700 Refactor MIDI parser to decouple parse state from file data commit c80b0f45a252fdd4eb4edffb30d91345aee55e41 Author: Dylan Whichard Date: Sat Jun 8 09:54:46 2024 -0700 Add a couple missing meta-event types commit 00393fed167da85315d5cfd3c284f2d80848af14 Author: Dylan Whichard Date: Thu Jun 6 18:24:19 2024 -0700 Why not go crazy with the midi text commit 812900083dd19f02d83dd04af4d924313ceb451a Author: Dylan Whichard Date: Thu Jun 6 18:23:32 2024 -0700 Handle end of tracks and files better commit a81dc294e3f1a88d408782b8446418cb22e19918 Author: Dylan Whichard Date: Thu Jun 6 18:22:38 2024 -0700 Lots of midi files are rudely missing bytes commit 208e34e3d39da5053cca262e5453c33b757955a5 Author: Dylan Whichard Date: Thu Jun 6 15:59:11 2024 -0700 Fix running status parsing commit c8aadd5cfd710abbe5f4fc45257ee68a4afcdfff Author: Dylan Whichard Date: Wed Jun 5 17:09:01 2024 -0700 Go back to summing samples at .333x instead of .4x commit 86efb4ddf88d363e76f51bf8649e04a6ad7826f1 Author: Dylan Whichard Date: Wed Jun 5 17:01:54 2024 -0700 Minor synth mode tweaks commit 47ea80ed091ec9d4920888acdf0a538aeea2e460 Author: Dylan Whichard Date: Wed Jun 5 17:00:18 2024 -0700 Mess with the drumkit some more commit af3d43d66cc1ebd7939bb39d544b1fd2d94caa53 Author: Dylan Whichard Date: Wed Jun 5 16:34:57 2024 -0700 Add handling for special-case percussion notes commit 2f0ef306f64539e6ed4f65d36d05a45f6448d365 Author: Dylan Whichard Date: Mon Jun 3 22:26:20 2024 -0700 Event handling cleanup commit 3cc89abdeedd5c7a90c313a44081dc0f678c6695 Author: Dylan Whichard Date: Mon Jun 3 21:52:50 2024 -0700 TIMING FIGURED OUT commit 6c5fcbbca6351dca530970556eb2c375488ca945 Author: Dylan Whichard Date: Mon Jun 3 16:57:58 2024 -0700 Add a MIDI file parser! commit 7a25d6b1ecc6bd4ac44939510242fb734cecae17 Author: Dylan Whichard Date: Fri May 31 19:50:11 2024 -0700 Synth mode minor fixes commit a7ad4a536fe17c6c26c07423a039d2cf12d3604a Author: Dylan Whichard Date: Fri May 31 19:49:49 2024 -0700 Move midi stuff to its own folder commit dc6fe163a1d55d61406bb82120fbb0cfed2849e6 Author: Dylan Whichard Date: Fri May 31 18:34:01 2024 -0700 Add a pretty view to USB synth mode commit 1e75de20ac3e220cb65d17193fe242eeb2e2ceed Author: Dylan Whichard Date: Fri May 31 17:26:43 2024 -0700 Add some sloppy drums (unfinished) commit 08810ff77c311ed5def313b53783b23ef0c9a7fe Author: Dylan Whichard Date: Tue May 28 19:26:02 2024 -0700 25fps is not fast enough for songs oops commit 0efa4adddf936969a93a9bc2322540333931e517 Author: Dylan Whichard Date: Tue May 28 19:20:31 2024 -0700 GET OUT OF HERE BAD TABLE commit 08d7829242198c4e65568c058377a43c01092075 Author: Dylan Whichard Date: Mon May 27 19:42:28 2024 -0700 Fix percussion being on the wrong channel commit 8e98076ea390510606b934ac1533002e0f954046 Author: Dylan Whichard Date: Mon May 27 19:41:53 2024 -0700 Show a nice graph in the USB MIDI mode commit 03c5a0de59b7614c518533c0f0db0f59cb533102 Author: Dylan Whichard Date: Mon May 27 19:40:59 2024 -0700 Use square roots to make mixing better. Still clips sometimes though commit 1ecf8653ee16120c10b9488c25c2c50ee5287aae Author: Dylan Whichard Date: Sun May 26 23:54:22 2024 -0700 Add visualizer to synth mode commit 5a98915f8d2bbd56b76ae38ced87cf79aa3ba41c Author: Dylan Whichard Date: Sun May 26 23:53:39 2024 -0700 Lots of cleanup in midiPlayer commit 82b52a5b8aad0dc598d55eef7c603426343b9946 Author: Dylan Whichard Date: Sun May 26 23:40:25 2024 -0700 Fix the weird frequency overflow that made it sound like trash commit fc478fed1e093f7232beb322df290bc4e738d3c8 Author: Dylan Whichard Date: Sun May 26 16:48:02 2024 -0700 Add midi mode to ext_modes commit dc91e4b73870d5b64ed96b18c8b5506e633c686d Author: Dylan Whichard Date: Sun May 26 16:47:49 2024 -0700 Fix program display in midi player commit f53fbc436c2e4191a06c8a3cb21e31e840692fdf Author: Dylan Whichard Date: Sun May 26 15:51:01 2024 -0700 Add startup sweep and pitch bend for testing commit ec26f87e8bd86ddb31cf4d0f38fee4f6aaa03adb Author: Dylan Whichard Date: Sun May 26 00:47:45 2024 -0700 Add new midi proper player, it does not quite work commit da746173e7a3e15dba3253aed41c4e5da5d6d51b Author: Dylan Whichard Date: Fri May 24 23:36:00 2024 -0700 Add stubs for the real MIDI player commit 1b36d1b9dd6f3c1465c50f3a9d0e1a0c8b9d1f33 Author: Dylan Whichard Date: Fri May 24 18:52:04 2024 -0700 Add adam's wavetables and 16 channel support commit e7ac4d437ad99ffc3e1924b958f63af2d9a14173 Author: Dylan Whichard Date: Wed May 22 15:56:26 2024 -0700 Handle volume in spkPlayNote() commit 0df746f3c1d7ee9ff4dbf83430f8c5f73959c33d Author: Dylan Whichard Date: Wed May 22 15:53:17 2024 -0700 Fix spkPlayNote() using MAX_VOLUME instead of SPK_MAX_VOLUME commit bc5ced5b1ce3396a859db639057e57a8ebf0d761 Author: Dylan Whichard Date: Wed May 22 15:52:18 2024 -0700 Add tinyusb shims so the emulator works again commit 1849c206f1f6e946cc4fc448ab4227fc5146c639 Author: Dylan Whichard Date: Wed May 22 15:27:22 2024 -0700 Add simple USB synth mode * Squashed commit of the following: commit b715d6b61ec7365f73b0dc6397b6e240a906a8be Merge: e3ae66f7 b2479e11 Author: johnnywycliffe Date: Sun Jul 7 13:00:50 2024 -0400 Merge pull request #248 from AEFeinstein/prettykeeb Updates text Entry for more better graphical use. commit b2479e119a55ca1b6f5dcdea8075bbf10b2bbe38 Author: gelakinetic Date: Sun Jul 7 10:59:14 2024 +0000 Fix menu init, typos commit 994d515f640040d2d28230f13dddb690dc00a156 Author: gelakinetic Date: Sun Jul 7 10:58:52 2024 +0000 Fix out-of-bounds font draw commit 37808d4638397dbcb2dbc7ead9640062a60e6b30 Author: gelakinetic Date: Sun Jul 7 10:58:41 2024 +0000 Fix incorrect fread check commit 433a9daccbded52d52bcbc7d98bdfef587064e47 Merge: e3ae66f7 7e81cd71 Author: gelakinetic Date: Sun Jul 7 10:09:52 2024 +0000 Merge branch 'prettykeeb' of https://github.com/AEFeinstein/Swadge-IDF-5.0 into prettykeeb commit 7e81cd712c9ebfa98f74055af57fc9cb6f8e94cc Author: JohnnyWycliffe Date: Sat Jul 6 19:35:45 2024 -0400 Type in file name commit d87c12aee735d19bafbf84c4d6d6d48b97c15fd7 Author: JohnnyWycliffe Date: Sat Jul 6 19:33:07 2024 -0400 Created a test mode to test all the features of the textEntry utility commit 4f7cb605b2ae42e8ad4c3aa5e5c2f536837c16a8 Author: JohnnyWycliffe Date: Sat Jul 6 17:23:14 2024 -0400 All menu items instantiated commit bc6d736ccea5a9a1a37a7fe1409d8e0333236515 Merge: 8c8ec7a6 c1b2d700 Author: JohnnyWycliffe Date: Sat Jul 6 14:41:18 2024 -0400 Merged with other branch commit c1b2d700fae93544d09c18011134ec58f1b110f3 Author: gelakinetic Date: Sat Jul 6 18:29:03 2024 +0000 Remove reference to menu_bg.wsg commit 640eb88d7db381f199574b858deb8737fd779cd2 Author: gelakinetic Date: Sat Jul 6 18:24:44 2024 +0000 Doxygen tweaks, typos, formatting commit e3ae66f74012be29d23c6cb568280a1c0c3d6672 Author: Dylan Whichard Date: Sat Jul 6 10:46:28 2024 -0700 Cleanup (#250) Fix and suppress all warnings commit 8c8ec7a64536bbd29c909a5bc3e8d9bca0643bb6 Author: JohnnyWycliffe Date: Sat Jul 6 13:33:24 2024 -0400 Refactored keeb test mode commit bc7f7dfe7d07050d96f60b94ce345eeca02d5336 Author: JohnnyWycliffe Date: Sat Jul 6 13:17:55 2024 -0400 Cleaned up doxy comments, removed unused define, deleted todos commit 029c99c3cc96f59340d5a55da6734c514171daac Author: JohnnyWycliffe Date: Sat Jul 6 13:11:46 2024 -0400 Everything works dynamically, but based on a sample character from each font for width. commit 5ecee1abf555d60baf6d6481107e91af5fc04e01 Author: JohnnyWycliffe Date: Sat Jul 6 12:27:51 2024 -0400 Finished Doxy header, added multiline text entry support, made the keyboard react dynamically to font size commit d5ecd5118fc60707af544a6060c7bcabee64688b Author: gelakinetic Date: Sat Jul 6 13:54:30 2024 +0000 More aggressive make fullclean commit c96bd80b3865d82cddfef08fb414892c85f5a5b1 Author: JohnnyWycliffe Date: Sat Jul 6 09:42:05 2024 -0400 Removed unecessary functions, streamlined existing functions since backwards compatibility had been removed, added new setters and their doxy comments commit d9997bbcdbb85b0c83a090eaead1ab75dbcfe1c1 Author: gelakinetic Date: Sat Jul 6 13:34:16 2024 +0000 Theme menu (#249) Update fonts Improve battery icon commit 2cec1c24634ab28350d781a5eaddf04ef75dcabe Author: JohnnyWycliffe Date: Sat Jul 6 07:30:56 2024 -0400 Added setter doxy comments commit ff14d8008a9c06a57475e48bb32e36934bc0b128 Author: gelakinetic Date: Sat Jul 6 11:02:34 2024 +0000 Use color enum commit e7b007e1cd7b9f4ea89aad51967467a99e6c6fc9 Author: gelakinetic Date: Sat Jul 6 11:00:02 2024 +0000 Typos and camelCase commit 1111bf98386ff12a7bbf9dc182b9750eed47980a Author: gelakinetic Date: Sat Jul 6 10:54:18 2024 +0000 Fix pointer type commit 87accacf0faacb22cdf82ec7407c389f1ef57b48 Author: gelakinetic Date: Sat Jul 6 10:51:37 2024 +0000 Move static function declarations commit 6fc98de527be82435f96b1c40c7308a18b28e0cb Author: gelakinetic Date: Sat Jul 6 10:30:50 2024 +0000 Always blink the cursor Remove textEntryDraw() commit 10fcfd52c6e7b69689c9938f433e52fa7461e21d Author: gelakinetic Date: Sat Jul 6 10:21:49 2024 +0000 Add keyboard test to secret menu commit d73f5b3cd7c78bcdd58274f2db92707f228a098b Author: gelakinetic Date: Sat Jul 6 10:17:20 2024 +0000 Formatting commit 350798e3f2ce70f3496c1b1d04d7c07640e0734f Author: JohnnyWycliffe Date: Fri Jul 5 23:33:50 2024 -0400 Added return as return commit dce169fcbe3454e95883a3daded202ffcd50557f Author: JohnnyWycliffe Date: Fri Jul 5 23:29:51 2024 -0400 Added emphasis colors, setters for all the new functions for great justice commit 9a69290eb4f72769fa72b6c7e501e287d87d7101 Author: JohnnyWycliffe Date: Fri Jul 5 22:54:59 2024 -0400 Fixed cursor blinking, continued refactor commit 4f272fd2e6d683c9ff9648a40d3e6db6409dee59 Author: JohnnyWycliffe Date: Fri Jul 5 20:35:02 2024 -0400 More refactoring, removed uneccessary includes, moved docstrings to .h file per spec commit 1536117e37df325f15dc9146452cc0a5cf2be6dc Author: JohnnyWycliffe Date: Fri Jul 5 19:46:55 2024 -0400 refactoring commit b4528f89c05d7494ffc53a567aade5e98dbb3539 Merge: d35d95df b2127ec3 Author: Dylan Whichard Date: Thu Jul 4 03:46:04 2024 -0400 Merge pull request #243 from AEFeinstein/midi-synth MIDI Synthesizer commit b2127ec3bc1da5b04bc9710d459b294277f66308 Author: Dylan Whichard Date: Wed Jul 3 18:54:34 2024 -0700 Slightly improve pitch bend algorithm commit 8cdae89391a9d6c5c68229099516c8a60e8b072e Author: Dylan Whichard Date: Tue Jul 2 17:51:38 2024 -0700 Move MIDI USB stuff out of synth mode commit 8d63d773ea54ce8a4e589f4134d7a8e09dd60fa2 Author: Dylan Whichard Date: Tue Jul 2 17:41:36 2024 -0700 Fix warning commit fdd3157476505089c194c9087ed6c01beaab2b26 Author: Dylan Whichard Date: Tue Jul 2 14:23:00 2024 -0700 Use more SPIRAM commit e0d2c4279e779e88a689beadf6dae8089dce606c Author: Dylan Whichard Date: Tue Jul 2 14:09:01 2024 -0700 Better text handling in synth mode commit f1ea1a236cfe66b4d7a6a09cf1b3d091c43ea78a Author: Dylan Whichard Date: Tue Jul 2 14:08:15 2024 -0700 Remove unnecessary complication in handling text/sysex events commit c50c057c3ff77731a7ae1f2bc7e76275621fd865 Author: Dylan Whichard Date: Mon Jul 1 17:09:39 2024 -0700 Make the note colors nicer in USB synth mode commit d35d95df2ff34e8de3d9c4ce47285290914c389f Author: Dylan Whichard Date: Mon Jul 1 18:55:07 2024 -0400 Re-style quick settings to match mania menu (#245) commit 6a9d8ffeff0ca3137f2d491f649725a47b2f1078 Author: gelakinetic Date: Sun Jun 30 23:50:02 2024 +0000 Formatting commit 23add0b275a4e678d80ddd68bfccfe228b371acf Author: gelakinetic Date: Sun Jun 30 23:49:26 2024 +0000 Fix compilation by making buzzer checks conditional commit ae6f77e84a064c723ff94ed1b7eb52a22bf82f6a Author: Dylan Whichard Date: Sun Jun 30 19:44:58 2024 -0400 Hash map data structure utility (#242) Add hash map utility commit a18a6486667ee7740cfce1dd372da7548c0af26a Merge: 6389225b 6b53e99d Author: Dylan Whichard Date: Sun Jun 30 15:40:00 2024 -0700 Merge remote-tracking branch 'origin/main' into midi-synth commit 6389225bc678e76b9a7d04fd74ef4fd0d7b401e4 Author: Dylan Whichard Date: Sun Jun 30 15:36:34 2024 -0700 Update docs intro references to bzr commit ca525fc968e8e7f95d3fc9d363f4730f7080ec90 Author: Dylan Whichard Date: Sun Jun 30 15:32:08 2024 -0700 Add midiUtil.c to CMakeLists.txt commit ac229230cd5209774cd89e1dbf5a3d9c1aed3c10 Author: Dylan Whichard Date: Sun Jun 30 15:30:59 2024 -0700 Remove random file commit 98aa6186ec95e81dd46b97eabb30dba6f90a6ab2 Author: Dylan Whichard Date: Sun Jun 30 15:01:49 2024 -0700 Remove non-committed files from jukebox commit e69cbf47fa27ffd421a055bbc1699939a99e9a7f Author: Dylan Whichard Date: Sun Jun 30 15:00:42 2024 -0700 Use a song that's actually committed for the midi synth commit 7674b9cfbe063d034b14018ab3dd4c6507de8a12 Author: Dylan Whichard Date: Sun Jun 30 14:52:06 2024 -0700 Update porting for MIDI commit 3b9462ac644fe26b82a8efec6f07af7835fdbdac Author: Dylan Whichard Date: Sun Jun 30 12:38:49 2024 -0700 Add ride cymbal 2 commit 68b31f062c999e8aa27ed5ab43110b4b94ee2832 Author: Dylan Whichard Date: Sun Jun 30 12:35:31 2024 -0700 Fix a few more warnings commit c4bf022f95983980288e78081273ecf6ae82c1be Author: Dylan Whichard Date: Sun Jun 30 11:50:35 2024 -0700 Fix doxygen warning commit 7609e5546c890d982a150acec50d715d94e4bc44 Author: Dylan Whichard Date: Sun Jun 30 11:47:25 2024 -0700 Add text to synth commit 2f5552eebcd56ce36dea957ce911d625331339b1 Author: Dylan Whichard Date: Sun Jun 30 11:45:54 2024 -0700 Remove unused drum functions commit 5c46d55146ab6435ae6fe7e15a0d779073fcbeb3 Author: Dylan Whichard Date: Sun Jun 30 11:40:53 2024 -0700 Fix MIDI warnings commit 71ef2b7a3ad2c26c4337e861407a12dedff80923 Author: Dylan Whichard Date: Sun Jun 30 11:20:46 2024 -0700 Remove duplicated pitch table commit e681fd297ce592f00c9d04c2d2075e204b755d05 Author: Dylan Whichard Date: Sun Jun 30 11:20:16 2024 -0700 Ascend the buzzer to the attic commit 6b53e99d2ddea5bd21934e46dd75119a06654f98 Author: gelakinetic Date: Sun Jun 30 11:35:28 2024 +0000 Gems and rings (#239) Implement Ultimate Tic Tac Toe, except CPU player. Still needs more cosmetics Other things: * Update rawdraw & CNFA submodules * Fix IP addr for ESP-NOW emulation * Don't use OpenGL on WSL * Add toggle for menu LEDs * Add arrows to geometry.c commit c6d6d0acfb171dfabaf3540ba3db6c009f29d90d Merge: dceb312c 403f0b50 Author: Dylan Whichard Date: Sat Jun 29 14:19:03 2024 -0400 Merge pull request #241 from AEFeinstein/intro-tutorial-rebased Intro / Tutorial commit 403f0b509b58f55c31a07b38c2260b892e54d5a9 Author: Dylan Whichard Date: Sat Jun 29 11:04:29 2024 -0700 Fix not having instructions to exit quick settings commit 3a7fd9951c29d14878f681aa894061167255181f Author: Dylan Whichard Date: Sat Jun 29 10:55:29 2024 -0700 More formatting commit d9b8e811fac38443e711801946e0e47c5ff87b80 Author: Dylan Whichard Date: Sat Jun 29 10:55:05 2024 -0700 Remove unused background callback commit 8c5b64a58e9cbfb72ceb3b3641fef139578c4481 Author: Dylan Whichard Date: Sat Jun 29 10:54:57 2024 -0700 A bit more text trimming commit c5161bac483f96e3a619c4a5823f619a57c90657 Author: Dylan Whichard Date: Sat Jun 29 10:40:49 2024 -0700 Fix button arrangement commit 8e885d633aa86e2155387846454c296e3d042676 Author: Dylan Whichard Date: Sat Jun 29 10:40:35 2024 -0700 Shorten tutorial titles commit 85e1a645d9de3af5b375bd9d1fdc307445559888 Author: gelakinetic Date: Sat Jun 29 15:09:18 2024 +0000 Squash warnings commit 639f36146567dc6ec898d059bc9d99c2554eb3e0 Author: Dylan Whichard Date: Fri Jun 28 23:31:16 2024 -0700 Formatting commit 7d017ebe44b6083920b01e1d9252d3e71c6cc7fa Author: Dylan Whichard Date: Fri Jun 28 23:29:00 2024 -0700 Remove the intro soundbite for now, since it's gigantic commit cf4e57071370d3b7b84d0aaab5880ff6c1b08476 Author: Dylan Whichard Date: Fri Jun 28 23:24:46 2024 -0700 Make the intro graphics more pretty commit d2eb3d2de2d75b7ed3d578ad30c6a83f39eae451 Author: Dylan Whichard Date: Fri Jun 28 16:50:46 2024 -0700 Bring back buzzer backwards-compatibility commit a7eecfed75df54b477989a9f4904c6655abb59c5 Author: JohnnyWycliffe Date: Fri Jun 28 15:03:33 2024 -0400 Added text coloring commit 3c7bcac21676a8e9c2b1497a9e7a0a787be8bc30 Author: JohnnyWycliffe Date: Fri Jun 28 14:19:14 2024 -0400 Added background image and boxes to make text easy to see. commit 4ed30b9e7860fd0bfa22ab93dd52d164caba87f3 Author: Dylan Whichard Date: Wed Jun 19 00:00:24 2024 -0700 Add midi util temporarily probably commit a9499da058966184cc278d1e39b3f36ffb2b938d Author: Dylan Whichard Date: Wed Jun 19 00:00:06 2024 -0700 more WIP drums commit 5320562b398671bd60af306f061cb783e4a7f6c5 Author: Dylan Whichard Date: Sun Jun 16 22:10:00 2024 -0700 Nicer pitch wheel in synth mode commit 38a03866813103f4726daf39fcb616852f21de8f Author: Dylan Whichard Date: Sun Jun 16 21:24:13 2024 -0700 Support MIDI Format 2 files commit e1a963a1be954645b0ce013bd386df69fc53bf97 Author: Dylan Whichard Date: Sun Jun 16 21:08:53 2024 -0700 Fix some memory leaks and weird logic commit 67e30f62f67b18119e821698204274ca6068c9a0 Author: Dylan Whichard Date: Sun Jun 16 18:01:06 2024 -0700 USB synth mode updates commit 0f20f442a414afe9f2819c9728d1a73872d5884e Author: Dylan Whichard Date: Sun Jun 16 18:00:49 2024 -0700 Implement tempo changing without weird artifacts commit c94db59b170e6d2da01e622c26df43df47446d9f Author: Dylan Whichard Date: Sun Jun 16 17:26:51 2024 -0700 Some more documentation commit cd2bb8dfee8c8be7f86d26a1de0ad92e1105adeb Author: Dylan Whichard Date: Sun Jun 16 12:37:53 2024 -0700 Format everything commit 26555a87b6c2648c50418962d50ba04d5b915fe6 Author: Dylan Whichard Date: Sun Jun 16 12:35:14 2024 -0700 Cleanup and add missing documentation commit f58b4e47366e40de45a36aaf2de2f45d7d25e8aa Author: Dylan Whichard Date: Sun Jun 16 10:01:36 2024 -0700 Fix oscillators being initialized with junk commit f01aa6fa13e26347859b2710d943f3215c1bf141 Author: Dylan Whichard Date: Sat Jun 15 16:18:31 2024 -0700 Update USB synth mode to account for dynamic voices commit d1d88c06fb6e1e9249fa69c2cee73f6797e58f0f Author: Dylan Whichard Date: Sat Jun 15 16:17:51 2024 -0700 Switch to dynamic cross-channel voice pool commit a5e7820f3b909936f1922008350d580761c22f21 Author: Dylan Whichard Date: Sat Jun 15 11:23:40 2024 -0700 Fix memory leak commit 1edd3d58c541131db66e78f1fd9dbc8defd6726d Author: Dylan Whichard Date: Sat Jun 15 10:36:42 2024 -0700 Fix looping commit 128e3a4e61f998c076d97f3d0a2f45f7d3ac09ed Author: Dylan Whichard Date: Sat Jun 15 10:13:18 2024 -0700 Oh no there's a race condition commit 080c89f5490f9a50c8611eb46830d217c3f3e316 Author: Dylan Whichard Date: Sat Jun 15 10:00:39 2024 -0700 Implement save/restore for midi player commit 55cb61ab061622abf8837168d0d8ec7cac9d9143 Author: Dylan Whichard Date: Fri Jun 14 16:10:49 2024 -0700 Move intro mode to match new structure commit 9e6f689a00f17998b3f3a9d38b1540d3fb6779e0 Author: Dylan Whichard Date: Tue Apr 30 15:52:56 2024 -0700 Add script for converting audio to swadge format commit 5d78e5d84b1cb77fca61bc26b26beceb39d70337 Author: Dylan Whichard Date: Tue Apr 30 15:31:30 2024 -0700 Yoink the intro audio commit 642d0a7a34eec3212f9c505806e32dbee0f6f47f Author: Dylan Whichard Date: Mon Apr 29 22:17:32 2024 -0700 Fancify the intro a bit more commit 92bcc77be77ace01d5efb643cc7ce26ccc1a0b0c Author: Dylan Whichard Date: Mon Apr 29 19:31:36 2024 -0700 Add tutorial to CMakelists.txt commit b4a6ca83d33e82e0880d9ae566bd6090b79025bb Author: Dylan Whichard Date: Mon Apr 29 17:35:35 2024 -0700 Add tutorial to main menu too commit 4b0cf38b5107c767968e1c6f9c6d800355416041 Author: Dylan Whichard Date: Mon Apr 29 17:31:03 2024 -0700 Start intro mode on first boot commit ae956a545a30c67bf24fe4d0e11ce07cba40af9b Author: Dylan Whichard Date: Mon Apr 29 16:15:17 2024 -0700 Generify paint_help into tutorial.h and use for intro mode commit cc783ecb7b0e49e0b54f54087dd735847a285166 Author: Dylan Whichard Date: Fri Mar 15 17:05:14 2024 -0700 Add intro mode commit 30262a6ec949ae038d3eb87b578b4e9cb267c4be Author: Dylan Whichard Date: Fri Jun 14 16:02:03 2024 -0700 Fix jukebox looping commit b47da33b3a70c3554200ec10ccf6e449a110b4bf Merge: aecb1b86 dceb312c Author: Dylan Whichard Date: Fri Jun 14 15:57:23 2024 -0700 Merge remote-tracking branch 'origin/main' into midi-synth commit aecb1b86ff9fa330cb39749091cdf757ad1a1c9a Author: Dylan Whichard Date: Fri Jun 14 15:49:23 2024 -0700 Change freeSong()s to MIDI also commit a2237c8d033606b4b622793144f0db9b200ba9dc Author: Dylan Whichard Date: Fri Jun 14 15:48:48 2024 -0700 Fix midi reset behavior commit 186a471ae39b00065b80e1fb3bfb8487034ee1d3 Author: Dylan Whichard Date: Fri Jun 14 15:16:57 2024 -0700 Looping commit e7b4b00b2f83fb3c012d2644d68c9ca381db2ac3 Author: Dylan Whichard Date: Fri Jun 14 15:16:22 2024 -0700 Swap out song_t/.sng for midiFile_t/.mid commit 827e27634abbb0a5e49b9cc35cc8a15175888a18 Author: Dylan Whichard Date: Fri Jun 14 14:51:54 2024 -0700 Replace sng* functions with midi ones commit 2523849c857ab889a376faace29f73d9fa4b66c2 Author: Dylan Whichard Date: Fri Jun 14 14:50:30 2024 -0700 Don't let a song give us a bad tempo commit 418a6da601288b8cf065c3d42fd2ce111403ead9 Author: Dylan Whichard Date: Fri Jun 14 14:40:33 2024 -0700 Add resetMidiParser() commit 0396421f4d38a25a9d88127c20bbd2197e02f4ff Author: Dylan Whichard Date: Thu Jun 13 15:49:28 2024 -0700 Fix deinitMidiParser() commit 222a802d66ba7bbf3bcbbd876e5d5246c5ab8209 Author: Dylan Whichard Date: Thu Jun 13 15:03:01 2024 -0700 Un-jankify the multi-song playback commit a40642a893264bf0e5636e4e0db1269be9e73067 Author: Dylan Whichard Date: Sun Jun 9 11:46:36 2024 -0700 Add multi-song support to MIDI player and add global methods (maybe too janky) commit 4b96e1acd44f6994e1aa9781bf68af7d6bb5109d Author: Dylan Whichard Date: Sun Jun 9 11:44:50 2024 -0700 Clean up MIDI parser states commit a6c5ff88d46d29764b4b2e76704edc1640db6253 Author: Dylan Whichard Date: Sat Jun 8 16:22:28 2024 -0700 Remove old MIDI SPIFFS processor, replace with generic raw processor commit 85d07476c6d9dee6116893d9ed3220ab35a970d7 Author: Dylan Whichard Date: Sat Jun 8 15:44:17 2024 -0700 Refactor MIDI parser to decouple parse state from file data commit c80b0f45a252fdd4eb4edffb30d91345aee55e41 Author: Dylan Whichard Date: Sat Jun 8 09:54:46 2024 -0700 Add a couple missing meta-event types commit 00393fed167da85315d5cfd3c284f2d80848af14 Author: Dylan Whichard Date: Thu Jun 6 18:24:19 2024 -0700 Why not go crazy with the midi text commit 812900083dd19f02d83dd04af4d924313ceb451a Author: Dylan Whichard Date: Thu Jun 6 18:23:32 2024 -0700 Handle end of tracks and files better commit a81dc294e3f1a88d408782b8446418cb22e19918 Author: Dylan Whichard Date: Thu Jun 6 18:22:38 2024 -0700 Lots of midi files are rudely missing bytes commit 208e34e3d39da5053cca262e5453c33b757955a5 Author: Dylan Whichard Date: Thu Jun 6 15:59:11 2024 -0700 Fix running status parsing commit c8aadd5cfd710abbe5f4fc45257ee68a4afcdfff Author: Dylan Whichard Date: Wed Jun 5 17:09:01 2024 -0700 Go back to summing samples at .333x instead of .4x commit 86efb4ddf88d363e76f51bf8649e04a6ad7826f1 Author: Dylan Whichard Date: Wed Jun 5 17:01:54 2024 -0700 Minor synth mode tweaks commit 47ea80ed091ec9d4920888acdf0a538aeea2e460 Author: Dylan Whichard Date: Wed Jun 5 17:00:18 2024 -0700 Mess with the drumkit some more commit af3d43d66cc1ebd7939bb39d544b1fd2d94caa53 Author: Dylan Whichard Date: Wed Jun 5 16:34:57 2024 -0700 Add handling for special-case percussion notes commit 2f0ef306f64539e6ed4f65d36d05a45f6448d365 Author: Dylan Whichard Date: Mon Jun 3 22:26:20 2024 -0700 Event handling cleanup commit 3cc89abdeedd5c7a90c313a44081dc0f678c6695 Author: Dylan Whichard Date: Mon Jun 3 21:52:50 2024 -0700 TIMING FIGURED OUT commit 6c5fcbbca6351dca530970556eb2c375488ca945 Author: Dylan Whichard Date: Mon Jun 3 16:57:58 2024 -0700 Add a MIDI file parser! commit 7a25d6b1ecc6bd4ac44939510242fb734cecae17 Author: Dylan Whichard Date: Fri May 31 19:50:11 2024 -0700 Synth mode minor fixes commit a7ad4a536fe17c6c26c07423a039d2cf12d3604a Author: Dylan Whichard Date: Fri May 31 19:49:49 2024 -0700 Move midi stuff to its own folder commit dc6fe163a1d55d61406bb82120fbb0cfed2849e6 Author: Dylan Whichard Date: Fri May 31 18:34:01 2024 -0700 Add a pretty view to USB synth mode commit 1e75de20ac3e220cb65d17193fe242eeb2e2ceed Author: Dylan Whichard Date: Fri May 31 17:26:43 2024 -0700 Add some sloppy drums (unfinished) commit 08810ff77c311ed5def313b53783b23ef0c9a7fe Author: Dylan Whichard Date: Tue May 28 19:26:02 2024 -0700 25fps is not fast enough for songs oops commit 0efa4adddf936969a93a9bc2322540333931e517 Author: Dylan Whichard Date: Tue May 28 19:20:31 2024 -0700 GET OUT OF HERE BAD TABLE commit 08d7829242198c4e65568c058377a43c01092075 Author: Dylan Whichard Date: Mon May 27 19:42:28 2024 -0700 Fix percussion being on the wrong channel commit 8e98076ea390510606b934ac1533002e0f954046 Author: Dylan Whichard Date: Mon May 27 19:41:53 2024 -0700 Show a nice graph in the USB MIDI mode commit 03c5a0de59b7614c518533c0f0db0f59cb533102 Author: Dylan Whichard Date: Mon May 27 19:40:59 2024 -0700 Use square roots to make mixing better. Still clips sometimes though commit 1ecf8653ee16120c10b9488c25c2c50ee5287aae Author: Dylan Whichard Date: Sun May 26 23:54:22 2024 -0700 Add visualizer to synth mode commit 5a98915f8d2bbd56b76ae38ced87cf79aa3ba41c Author: Dylan Whichard Date: Sun May 26 23:53:39 2024 -0700 Lots of cleanup in midiPlayer commit 82b52a5b8aad0dc598d55eef7c603426343b9946 Author: Dylan Whichard Date: Sun May 26 23:40:25 2024 -0700 Fix the weird frequency overflow that made it sound like trash commit fc478fed1e093f7232beb322df290bc4e738d3c8 Author: Dylan Whichard Date: Sun May 26 16:48:02 2024 -0700 Add midi mode to ext_modes commit dc91e4b73870d5b64ed96b18c8b5506e633c686d Author: Dylan Whichard Date: Sun May 26 16:47:49 2024 -0700 Fix program display in midi player commit f53fbc436c2e4191a06c8a3cb21e31e840692fdf Author: Dylan Whichard Date: Sun May 26 15:51:01 2024 -0700 Add startup sweep and pitch bend for testing commit ec26f87e8bd86ddb31cf4d0f38fee4f6aaa03adb Author: Dylan Whichard Date: Sun May 26 00:47:45 2024 -0700 Add new midi proper player, it does not quite work commit da746173e7a3e15dba3253aed41c4e5da5d6d51b Author: Dylan Whichard Date: Fri May 24 23:36:00 2024 -0700 Add stubs for the real MIDI player commit 1b36d1b9dd6f3c1465c50f3a9d0e1a0c8b9d1f33 Author: Dylan Whichard Date: Fri May 24 18:52:04 2024 -0700 Add adam's wavetables and 16 channel support commit e7ac4d437ad99ffc3e1924b958f63af2d9a14173 Author: Dylan Whichard Date: Wed May 22 15:56:26 2024 -0700 Handle volume in spkPlayNote() commit 0df746f3c1d7ee9ff4dbf83430f8c5f73959c33d Author: Dylan Whichard Date: Wed May 22 15:53:17 2024 -0700 Fix spkPlayNote() using MAX_VOLUME instead of SPK_MAX_VOLUME commit bc5ced5b1ce3396a859db639057e57a8ebf0d761 Author: Dylan Whichard Date: Wed May 22 15:52:18 2024 -0700 Add tinyusb shims so the emulator works again commit 1849c206f1f6e946cc4fc448ab4227fc5146c639 Author: Dylan Whichard Date: Wed May 22 15:27:22 2024 -0700 Add simple USB synth mode * Squashed commit of the following: commit b715d6b61ec7365f73b0dc6397b6e240a906a8be Merge: e3ae66f7 b2479e11 Author: johnnywycliffe Date: Sun Jul 7 13:00:50 2024 -0400 Merge pull request #248 from AEFeinstein/prettykeeb Updates text Entry for more better graphical use. commit b2479e119a55ca1b6f5dcdea8075bbf10b2bbe38 Author: gelakinetic Date: Sun Jul 7 10:59:14 2024 +0000 Fix menu init, typos commit 994d515f640040d2d28230f13dddb690dc00a156 Author: gelakinetic Date: Sun Jul 7 10:58:52 2024 +0000 Fix out-of-bounds font draw commit 37808d4638397dbcb2dbc7ead9640062a60e6b30 Author: gelakinetic Date: Sun Jul 7 10:58:41 2024 +0000 Fix incorrect fread check commit 433a9daccbded52d52bcbc7d98bdfef587064e47 Merge: e3ae66f7 7e81cd71 Author: gelakinetic Date: Sun Jul 7 10:09:52 2024 +0000 Merge branch 'prettykeeb' of https://github.com/AEFeinstein/Swadge-IDF-5.0 into prettykeeb commit 7e81cd712c9ebfa98f74055af57fc9cb6f8e94cc Author: JohnnyWycliffe Date: Sat Jul 6 19:35:45 2024 -0400 Type in file name commit d87c12aee735d19bafbf84c4d6d6d48b97c15fd7 Author: JohnnyWycliffe Date: Sat Jul 6 19:33:07 2024 -0400 Created a test mode to test all the features of the textEntry utility commit 4f7cb605b2ae42e8ad4c3aa5e5c2f536837c16a8 Author: JohnnyWycliffe Date: Sat Jul 6 17:23:14 2024 -0400 All menu items instantiated commit bc6d736ccea5a9a1a37a7fe1409d8e0333236515 Merge: 8c8ec7a6 c1b2d700 Author: JohnnyWycliffe Date: Sat Jul 6 14:41:18 2024 -0400 Merged with other branch commit c1b2d700fae93544d09c18011134ec58f1b110f3 Author: gelakinetic Date: Sat Jul 6 18:29:03 2024 +0000 Remove reference to menu_bg.wsg commit 640eb88d7db381f199574b858deb8737fd779cd2 Author: gelakinetic Date: Sat Jul 6 18:24:44 2024 +0000 Doxygen tweaks, typos, formatting commit e3ae66f74012be29d23c6cb568280a1c0c3d6672 Author: Dylan Whichard Date: Sat Jul 6 10:46:28 2024 -0700 Cleanup (#250) Fix and suppress all warnings commit 8c8ec7a64536bbd29c909a5bc3e8d9bca0643bb6 Author: JohnnyWycliffe Date: Sat Jul 6 13:33:24 2024 -0400 Refactored keeb test mode commit bc7f7dfe7d07050d96f60b94ce345eeca02d5336 Author: JohnnyWycliffe Date: Sat Jul 6 13:17:55 2024 -0400 Cleaned up doxy comments, removed unused define, deleted todos commit 029c99c3cc96f59340d5a55da6734c514171daac Author: JohnnyWycliffe Date: Sat Jul 6 13:11:46 2024 -0400 Everything works dynamically, but based on a sample character from each font for width. commit 5ecee1abf555d60baf6d6481107e91af5fc04e01 Author: JohnnyWycliffe Date: Sat Jul 6 12:27:51 2024 -0400 Finished Doxy header, added multiline text entry support, made the keyboard react dynamically to font size commit d5ecd5118fc60707af544a6060c7bcabee64688b Author: gelakinetic Date: Sat Jul 6 13:54:30 2024 +0000 More aggressive make fullclean commit c96bd80b3865d82cddfef08fb414892c85f5a5b1 Author: JohnnyWycliffe Date: Sat Jul 6 09:42:05 2024 -0400 Removed unecessary functions, streamlined existing functions since backwards compatibility had been removed, added new setters and their doxy comments commit d9997bbcdbb85b0c83a090eaead1ab75dbcfe1c1 Author: gelakinetic Date: Sat Jul 6 13:34:16 2024 +0000 Theme menu (#249) Update fonts Improve battery icon commit 2cec1c24634ab28350d781a5eaddf04ef75dcabe Author: JohnnyWycliffe Date: Sat Jul 6 07:30:56 2024 -0400 Added setter doxy comments commit ff14d8008a9c06a57475e48bb32e36934bc0b128 Author: gelakinetic Date: Sat Jul 6 11:02:34 2024 +0000 Use color enum commit e7b007e1cd7b9f4ea89aad51967467a99e6c6fc9 Author: gelakinetic Date: Sat Jul 6 11:00:02 2024 +0000 Typos and camelCase commit 1111bf98386ff12a7bbf9dc182b9750eed47980a Author: gelakinetic Date: Sat Jul 6 10:54:18 2024 +0000 Fix pointer type commit 87accacf0faacb22cdf82ec7407c389f1ef57b48 Author: gelakinetic Date: Sat Jul 6 10:51:37 2024 +0000 Move static function declarations commit 6fc98de527be82435f96b1c40c7308a18b28e0cb Author: gelakinetic Date: Sat Jul 6 10:30:50 2024 +0000 Always blink the cursor Remove textEntryDraw() commit 10fcfd52c6e7b69689c9938f433e52fa7461e21d Author: gelakinetic Date: Sat Jul 6 10:21:49 2024 +0000 Add keyboard test to secret menu commit d73f5b3cd7c78bcdd58274f2db92707f228a098b Author: gelakinetic Date: Sat Jul 6 10:17:20 2024 +0000 Formatting commit 350798e3f2ce70f3496c1b1d04d7c07640e0734f Author: JohnnyWycliffe Date: Fri Jul 5 23:33:50 2024 -0400 Added return as return commit dce169fcbe3454e95883a3daded202ffcd50557f Author: JohnnyWycliffe Date: Fri Jul 5 23:29:51 2024 -0400 Added emphasis colors, setters for all the new functions for great justice commit 9a69290eb4f72769fa72b6c7e501e287d87d7101 Author: JohnnyWycliffe Date: Fri Jul 5 22:54:59 2024 -0400 Fixed cursor blinking, continued refactor commit 4f272fd2e6d683c9ff9648a40d3e6db6409dee59 Author: JohnnyWycliffe Date: Fri Jul 5 20:35:02 2024 -0400 More refactoring, removed uneccessary includes, moved docstrings to .h file per spec commit 1536117e37df325f15dc9146452cc0a5cf2be6dc Author: JohnnyWycliffe Date: Fri Jul 5 19:46:55 2024 -0400 refactoring commit b4528f89c05d7494ffc53a567aade5e98dbb3539 Merge: d35d95df b2127ec3 Author: Dylan Whichard Date: Thu Jul 4 03:46:04 2024 -0400 Merge pull request #243 from AEFeinstein/midi-synth MIDI Synthesizer commit b2127ec3bc1da5b04bc9710d459b294277f66308 Author: Dylan Whichard Date: Wed Jul 3 18:54:34 2024 -0700 Slightly improve pitch bend algorithm commit 8cdae89391a9d6c5c68229099516c8a60e8b072e Author: Dylan Whichard Date: Tue Jul 2 17:51:38 2024 -0700 Move MIDI USB stuff out of synth mode commit 8d63d773ea54ce8a4e589f4134d7a8e09dd60fa2 Author: Dylan Whichard Date: Tue Jul 2 17:41:36 2024 -0700 Fix warning commit fdd3157476505089c194c9087ed6c01beaab2b26 Author: Dylan Whichard Date: Tue Jul 2 14:23:00 2024 -0700 Use more SPIRAM commit e0d2c4279e779e88a689beadf6dae8089dce606c Author: Dylan Whichard Date: Tue Jul 2 14:09:01 2024 -0700 Better text handling in synth mode commit f1ea1a236cfe66b4d7a6a09cf1b3d091c43ea78a Author: Dylan Whichard Date: Tue Jul 2 14:08:15 2024 -0700 Remove unnecessary complication in handling text/sysex events commit c50c057c3ff77731a7ae1f2bc7e76275621fd865 Author: Dylan Whichard Date: Mon Jul 1 17:09:39 2024 -0700 Make the note colors nicer in USB synth mode commit d35d95df2ff34e8de3d9c4ce47285290914c389f Author: Dylan Whichard Date: Mon Jul 1 18:55:07 2024 -0400 Re-style quick settings to match mania menu (#245) commit 6a9d8ffeff0ca3137f2d491f649725a47b2f1078 Author: gelakinetic Date: Sun Jun 30 23:50:02 2024 +0000 Formatting commit 23add0b275a4e678d80ddd68bfccfe228b371acf Author: gelakinetic Date: Sun Jun 30 23:49:26 2024 +0000 Fix compilation by making buzzer checks conditional commit ae6f77e84a064c723ff94ed1b7eb52a22bf82f6a Author: Dylan Whichard Date: Sun Jun 30 19:44:58 2024 -0400 Hash map data structure utility (#242) Add hash map utility commit a18a6486667ee7740cfce1dd372da7548c0af26a Merge: 6389225b 6b53e99d Author: Dylan Whichard Date: Sun Jun 30 15:40:00 2024 -0700 Merge remote-tracking branch 'origin/main' into midi-synth commit 6389225bc678e76b9a7d04fd74ef4fd0d7b401e4 Author: Dylan Whichard Date: Sun Jun 30 15:36:34 2024 -0700 Update docs intro references to bzr commit ca525fc968e8e7f95d3fc9d363f4730f7080ec90 Author: Dylan Whichard Date: Sun Jun 30 15:32:08 2024 -0700 Add midiUtil.c to CMakeLists.txt commit ac229230cd5209774cd89e1dbf5a3d9c1aed3c10 Author: Dylan Whichard Date: Sun Jun 30 15:30:59 2024 -0700 Remove random file commit 98aa6186ec95e81dd46b97eabb30dba6f90a6ab2 Author: Dylan Whichard Date: Sun Jun 30 15:01:49 2024 -0700 Remove non-committed files from jukebox commit e69cbf47fa27ffd421a055bbc1699939a99e9a7f Author: Dylan Whichard Date: Sun Jun 30 15:00:42 2024 -0700 Use a song that's actually committed for the midi synth commit 7674b9cfbe063d034b14018ab3dd4c6507de8a12 Author: Dylan Whichard Date: Sun Jun 30 14:52:06 2024 -0700 Update porting for MIDI commit 3b9462ac644fe26b82a8efec6f07af7835fdbdac Author: Dylan Whichard Date: Sun Jun 30 12:38:49 2024 -0700 Add ride cymbal 2 commit 68b31f062c999e8aa27ed5ab43110b4b94ee2832 Author: Dylan Whichard Date: Sun Jun 30 12:35:31 2024 -0700 Fix a few more warnings commit c4bf022f95983980288e78081273ecf6ae82c1be Author: Dylan Whichard Date: Sun Jun 30 11:50:35 2024 -0700 Fix doxygen warning commit 7609e5546c890d982a150acec50d715d94e4bc44 Author: Dylan Whichard Date: Sun Jun 30 11:47:25 2024 -0700 Add text to synth commit 2f5552eebcd56ce36dea957ce911d625331339b1 Author: Dylan Whichard Date: Sun Jun 30 11:45:54 2024 -0700 Remove unused drum functions commit 5c46d55146ab6435ae6fe7e15a0d779073fcbeb3 Author: Dylan Whichard Date: Sun Jun 30 11:40:53 2024 -0700 Fix MIDI warnings commit 71ef2b7a3ad2c26c4337e861407a12dedff80923 Author: Dylan Whichard Date: Sun Jun 30 11:20:46 2024 -0700 Remove duplicated pitch table commit e681fd297ce592f00c9d04c2d2075e204b755d05 Author: Dylan Whichard Date: Sun Jun 30 11:20:16 2024 -0700 Ascend the buzzer to the attic commit 6b53e99d2ddea5bd21934e46dd75119a06654f98 Author: gelakinetic Date: Sun Jun 30 11:35:28 2024 +0000 Gems and rings (#239) Implement Ultimate Tic Tac Toe, except CPU player. Still needs more cosmetics Other things: * Update rawdraw & CNFA submodules * Fix IP addr for ESP-NOW emulation * Don't use OpenGL on WSL * Add toggle for menu LEDs * Add arrows to geometry.c commit c6d6d0acfb171dfabaf3540ba3db6c009f29d90d Merge: dceb312c 403f0b50 Author: Dylan Whichard Date: Sat Jun 29 14:19:03 2024 -0400 Merge pull request #241 from AEFeinstein/intro-tutorial-rebased Intro / Tutorial commit 403f0b509b58f55c31a07b38c2260b892e54d5a9 Author: Dylan Whichard Date: Sat Jun 29 11:04:29 2024 -0700 Fix not having instructions to exit quick settings commit 3a7fd9951c29d14878f681aa894061167255181f Author: Dylan Whichard Date: Sat Jun 29 10:55:29 2024 -0700 More formatting commit d9b8e811fac38443e711801946e0e47c5ff87b80 Author: Dylan Whichard Date: Sat Jun 29 10:55:05 2024 -0700 Remove unused background callback commit 8c5b64a58e9cbfb72ceb3b3641fef139578c4481 Author: Dylan Whichard Date: Sat Jun 29 10:54:57 2024 -0700 A bit more text trimming commit c5161bac483f96e3a619c4a5823f619a57c90657 Author: Dylan Whichard Date: Sat Jun 29 10:40:49 2024 -0700 Fix button arrangement commit 8e885d633aa86e2155387846454c296e3d042676 Author: Dylan Whichard Date: Sat Jun 29 10:40:35 2024 -0700 Shorten tutorial titles commit 85e1a645d9de3af5b375bd9d1fdc307445559888 Author: gelakinetic Date: Sat Jun 29 15:09:18 2024 +0000 Squash warnings commit 639f36146567dc6ec898d059bc9d99c2554eb3e0 Author: Dylan Whichard Date: Fri Jun 28 23:31:16 2024 -0700 Formatting commit 7d017ebe44b6083920b01e1d9252d3e71c6cc7fa Author: Dylan Whichard Date: Fri Jun 28 23:29:00 2024 -0700 Remove the intro soundbite for now, since it's gigantic commit cf4e57071370d3b7b84d0aaab5880ff6c1b08476 Author: Dylan Whichard Date: Fri Jun 28 23:24:46 2024 -0700 Make the intro graphics more pretty commit d2eb3d2de2d75b7ed3d578ad30c6a83f39eae451 Author: Dylan Whichard Date: Fri Jun 28 16:50:46 2024 -0700 Bring back buzzer backwards-compatibility commit a7eecfed75df54b477989a9f4904c6655abb59c5 Author: JohnnyWycliffe Date: Fri Jun 28 15:03:33 2024 -0400 Added text coloring commit 3c7bcac21676a8e9c2b1497a9e7a0a787be8bc30 Author: JohnnyWycliffe Date: Fri Jun 28 14:19:14 2024 -0400 Added background image and boxes to make text easy to see. commit 4ed30b9e7860fd0bfa22ab93dd52d164caba87f3 Author: Dylan Whichard Date: Wed Jun 19 00:00:24 2024 -0700 Add midi util temporarily probably commit a9499da058966184cc278d1e39b3f36ffb2b938d Author: Dylan Whichard Date: Wed Jun 19 00:00:06 2024 -0700 more WIP drums commit 5320562b398671bd60af306f061cb783e4a7f6c5 Author: Dylan Whichard Date: Sun Jun 16 22:10:00 2024 -0700 Nicer pitch wheel in synth mode commit 38a03866813103f4726daf39fcb616852f21de8f Author: Dylan Whichard Date: Sun Jun 16 21:24:13 2024 -0700 Support MIDI Format 2 files commit e1a963a1be954645b0ce013bd386df69fc53bf97 Author: Dylan Whichard Date: Sun Jun 16 21:08:53 2024 -0700 Fix some memory leaks and weird logic commit 67e30f62f67b18119e821698204274ca6068c9a0 Author: Dylan Whichard Date: Sun Jun 16 18:01:06 2024 -0700 USB synth mode updates commit 0f20f442a414afe9f2819c9728d1a73872d5884e Author: Dylan Whichard Date: Sun Jun 16 18:00:49 2024 -0700 Implement tempo changing without weird artifacts commit c94db59b170e6d2da01e622c26df43df47446d9f Author: Dylan Whichard Date: Sun Jun 16 17:26:51 2024 -0700 Some more documentation commit cd2bb8dfee8c8be7f86d26a1de0ad92e1105adeb Author: Dylan Whichard Date: Sun Jun 16 12:37:53 2024 -0700 Format everything commit 26555a87b6c2648c50418962d50ba04d5b915fe6 Author: Dylan Whichard Date: Sun Jun 16 12:35:14 2024 -0700 Cleanup and add missing documentation commit f58b4e47366e40de45a36aaf2de2f45d7d25e8aa Author: Dylan Whichard Date: Sun Jun 16 10:01:36 2024 -0700 Fix oscillators being initialized with junk commit f01aa6fa13e26347859b2710d943f3215c1bf141 Author: Dylan Whichard Date: Sat Jun 15 16:18:31 2024 -0700 Update USB synth mode to account for dynamic voices commit d1d88c06fb6e1e9249fa69c2cee73f6797e58f0f Author: Dylan Whichard Date: Sat Jun 15 16:17:51 2024 -0700 Switch to dynamic cross-channel voice pool commit a5e7820f3b909936f1922008350d580761c22f21 Author: Dylan Whichard Date: Sat Jun 15 11:23:40 2024 -0700 Fix memory leak commit 1edd3d58c541131db66e78f1fd9dbc8defd6726d Author: Dylan Whichard Date: Sat Jun 15 10:36:42 2024 -0700 Fix looping commit 128e3a4e61f998c076d97f3d0a2f45f7d3ac09ed Author: Dylan Whichard Date: Sat Jun 15 10:13:18 2024 -0700 Oh no there's a race condition commit 080c89f5490f9a50c8611eb46830d217c3f3e316 Author: Dylan Whichard Date: Sat Jun 15 10:00:39 2024 -0700 Implement save/restore for midi player commit 55cb61ab061622abf8837168d0d8ec7cac9d9143 Author: Dylan Whichard Date: Fri Jun 14 16:10:49 2024 -0700 Move intro mode to match new structure commit 9e6f689a00f17998b3f3a9d38b1540d3fb6779e0 Author: Dylan Whichard Date: Tue Apr 30 15:52:56 2024 -0700 Add script for converting audio to swadge format commit 5d78e5d84b1cb77fca61bc26b26beceb39d70337 Author: Dylan Whichard Date: Tue Apr 30 15:31:30 2024 -0700 Yoink the intro audio commit 642d0a7a34eec3212f9c505806e32dbee0f6f47f Author: Dylan Whichard Date: Mon Apr 29 22:17:32 2024 -0700 Fancify the intro a bit more commit 92bcc77be77ace01d5efb643cc7ce26ccc1a0b0c Author: Dylan Whichard Date: Mon Apr 29 19:31:36 2024 -0700 Add tutorial to CMakelists.txt commit b4a6ca83d33e82e0880d9ae566bd6090b79025bb Author: Dylan Whichard Date: Mon Apr 29 17:35:35 2024 -0700 Add tutorial to main menu too commit 4b0cf38b5107c767968e1c6f9c6d800355416041 Author: Dylan Whichard Date: Mon Apr 29 17:31:03 2024 -0700 Start intro mode on first boot commit ae956a545a30c67bf24fe4d0e11ce07cba40af9b Author: Dylan Whichard Date: Mon Apr 29 16:15:17 2024 -0700 Generify paint_help into tutorial.h and use for intro mode commit cc783ecb7b0e49e0b54f54087dd735847a285166 Author: Dylan Whichard Date: Fri Mar 15 17:05:14 2024 -0700 Add intro mode commit 30262a6ec949ae038d3eb87b578b4e9cb267c4be Author: Dylan Whichard Date: Fri Jun 14 16:02:03 2024 -0700 Fix jukebox looping commit b47da33b3a70c3554200ec10ccf6e449a110b4bf Merge: aecb1b86 dceb312c Author: Dylan Whichard Date: Fri Jun 14 15:57:23 2024 -0700 Merge remote-tracking branch 'origin/main' into midi-synth commit aecb1b86ff9fa330cb39749091cdf757ad1a1c9a Author: Dylan Whichard Date: Fri Jun 14 15:49:23 2024 -0700 Change freeSong()s to MIDI also commit a2237c8d033606b4b622793144f0db9b200ba9dc Author: Dylan Whichard Date: Fri Jun 14 15:48:48 2024 -0700 Fix midi reset behavior commit 186a471ae39b00065b80e1fb3bfb8487034ee1d3 Author: Dylan Whichard Date: Fri Jun 14 15:16:57 2024 -0700 Looping commit e7b4b00b2f83fb3c012d2644d68c9ca381db2ac3 Author: Dylan Whichard Date: Fri Jun 14 15:16:22 2024 -0700 Swap out song_t/.sng for midiFile_t/.mid commit 827e27634abbb0a5e49b9cc35cc8a15175888a18 Author: Dylan Whichard Date: Fri Jun 14 14:51:54 2024 -0700 Replace sng* functions with midi ones commit 2523849c857ab889a376faace29f73d9fa4b66c2 Author: Dylan Whichard Date: Fri Jun 14 14:50:30 2024 -0700 Don't let a song give us a bad tempo commit 418a6da601288b8cf065c3d42fd2ce111403ead9 Author: Dylan Whichard Date: Fri Jun 14 14:40:33 2024 -0700 Add resetMidiParser() commit 0396421f4d38a25a9d88127c20bbd2197e02f4ff Author: Dylan Whichard Date: Thu Jun 13 15:49:28 2024 -0700 Fix deinitMidiParser() commit 222a802d66ba7bbf3bcbbd876e5d5246c5ab8209 Author: Dylan Whichard Date: Thu Jun 13 15:03:01 2024 -0700 Un-jankify the multi-song playback commit a40642a893264bf0e5636e4e0db1269be9e73067 Author: Dylan Whichard Date: Sun Jun 9 11:46:36 2024 -0700 Add multi-song support to MIDI player and add global methods (maybe too janky) commit 4b96e1acd44f6994e1aa9781bf68af7d6bb5109d Author: Dylan Whichard Date: Sun Jun 9 11:44:50 2024 -0700 Clean up MIDI parser states commit a6c5ff88d46d29764b4b2e76704edc1640db6253 Author: Dylan Whichard Date: Sat Jun 8 16:22:28 2024 -0700 Remove old MIDI SPIFFS processor, replace with generic raw processor commit 85d07476c6d9dee6116893d9ed3220ab35a970d7 Author: Dylan Whichard Date: Sat Jun 8 15:44:17 2024 -0700 Refactor MIDI parser to decouple parse state from file data commit c80b0f45a252fdd4eb4edffb30d91345aee55e41 Author: Dylan Whichard Date: Sat Jun 8 09:54:46 2024 -0700 Add a couple missing meta-event types commit 00393fed167da85315d5cfd3c284f2d80848af14 Author: Dylan Whichard Date: Thu Jun 6 18:24:19 2024 -0700 Why not go crazy with the midi text commit 812900083dd19f02d83dd04af4d924313ceb451a Author: Dylan Whichard Date: Thu Jun 6 18:23:32 2024 -0700 Handle end of tracks and files better commit a81dc294e3f1a88d408782b8446418cb22e19918 Author: Dylan Whichard Date: Thu Jun 6 18:22:38 2024 -0700 Lots of midi files are rudely missing bytes commit 208e34e3d39da5053cca262e5453c33b757955a5 Author: Dylan Whichard Date: Thu Jun 6 15:59:11 2024 -0700 Fix running status parsing commit c8aadd5cfd710abbe5f4fc45257ee68a4afcdfff Author: Dylan Whichard Date: Wed Jun 5 17:09:01 2024 -0700 Go back to summing samples at .333x instead of .4x commit 86efb4ddf88d363e76f51bf8649e04a6ad7826f1 Author: Dylan Whichard Date: Wed Jun 5 17:01:54 2024 -0700 Minor synth mode tweaks commit 47ea80ed091ec9d4920888acdf0a538aeea2e460 Author: Dylan Whichard Date: Wed Jun 5 17:00:18 2024 -0700 Mess with the drumkit some more commit af3d43d66cc1ebd7939bb39d544b1fd2d94caa53 Author: Dylan Whichard Date: Wed Jun 5 16:34:57 2024 -0700 Add handling for special-case percussion notes commit 2f0ef306f64539e6ed4f65d36d05a45f6448d365 Author: Dylan Whichard Date: Mon Jun 3 22:26:20 2024 -0700 Event handling cleanup commit 3cc89abdeedd5c7a90c313a44081dc0f678c6695 Author: Dylan Whichard Date: Mon Jun 3 21:52:50 2024 -0700 TIMING FIGURED OUT commit 6c5fcbbca6351dca530970556eb2c375488ca945 Author: Dylan Whichard Date: Mon Jun 3 16:57:58 2024 -0700 Add a MIDI file parser! commit 7a25d6b1ecc6bd4ac44939510242fb734cecae17 Author: Dylan Whichard Date: Fri May 31 19:50:11 2024 -0700 Synth mode minor fixes commit a7ad4a536fe17c6c26c07423a039d2cf12d3604a Author: Dylan Whichard Date: Fri May 31 19:49:49 2024 -0700 Move midi stuff to its own folder commit dc6fe163a1d55d61406bb82120fbb0cfed2849e6 Author: Dylan Whichard Date: Fri May 31 18:34:01 2024 -0700 Add a pretty view to USB synth mode commit 1e75de20ac3e220cb65d17193fe242eeb2e2ceed Author: Dylan Whichard Date: Fri May 31 17:26:43 2024 -0700 Add some sloppy drums (unfinished) commit 08810ff77c311ed5def313b53783b23ef0c9a7fe Author: Dylan Whichard Date: Tue May 28 19:26:02 2024 -0700 25fps is not fast enough for songs oops commit 0efa4adddf936969a93a9bc2322540333931e517 Author: Dylan Whichard Date: Tue May 28 19:20:31 2024 -0700 GET OUT OF HERE BAD TABLE commit 08d7829242198c4e65568c058377a43c01092075 Author: Dylan Whichard Date: Mon May 27 19:42:28 2024 -0700 Fix percussion being on the wrong channel commit 8e98076ea390510606b934ac1533002e0f954046 Author: Dylan Whichard Date: Mon May 27 19:41:53 2024 -0700 Show a nice graph in the USB MIDI mode commit 03c5a0de59b7614c518533c0f0db0f59cb533102 Author: Dylan Whichard Date: Mon May 27 19:40:59 2024 -0700 Use square roots to make mixing better. Still clips sometimes though commit 1ecf8653ee16120c10b9488c25c2c50ee5287aae Author: Dylan Whichard Date: Sun May 26 23:54:22 2024 -0700 Add visualizer to synth mode commit 5a98915f8d2bbd56b76ae38ced87cf79aa3ba41c Author: Dylan Whichard Date: Sun May 26 23:53:39 2024 -0700 Lots of cleanup in midiPlayer commit 82b52a5b8aad0dc598d55eef7c603426343b9946 Author: Dylan Whichard Date: Sun May 26 23:40:25 2024 -0700 Fix the weird frequency overflow that made it sound like trash commit fc478fed1e093f7232beb322df290bc4e738d3c8 Author: Dylan Whichard Date: Sun May 26 16:48:02 2024 -0700 Add midi mode to ext_modes commit dc91e4b73870d5b64ed96b18c8b5506e633c686d Author: Dylan Whichard Date: Sun May 26 16:47:49 2024 -0700 Fix program display in midi player commit f53fbc436c2e4191a06c8a3cb21e31e840692fdf Author: Dylan Whichard Date: Sun May 26 15:51:01 2024 -0700 Add startup sweep and pitch bend for testing commit ec26f87e8bd86ddb31cf4d0f38fee4f6aaa03adb Author: Dylan Whichard Date: Sun May 26 00:47:45 2024 -0700 Add new midi proper player, it does not quite work commit da746173e7a3e15dba3253aed41c4e5da5d6d51b Author: Dylan Whichard Date: Fri May 24 23:36:00 2024 -0700 Add stubs for the real MIDI player commit 1b36d1b9dd6f3c1465c50f3a9d0e1a0c8b9d1f33 Author: Dylan Whichard Date: Fri May 24 18:52:04 2024 -0700 Add adam's wavetables and 16 channel support commit e7ac4d437ad99ffc3e1924b958f63af2d9a14173 Author: Dylan Whichard Date: Wed May 22 15:56:26 2024 -0700 Handle volume in spkPlayNote() commit 0df746f3c1d7ee9ff4dbf83430f8c5f73959c33d Author: Dylan Whichard Date: Wed May 22 15:53:17 2024 -0700 Fix spkPlayNote() using MAX_VOLUME instead of SPK_MAX_VOLUME commit bc5ced5b1ce3396a859db639057e57a8ebf0d761 Author: Dylan Whichard Date: Wed May 22 15:52:18 2024 -0700 Add tinyusb shims so the emulator works again commit 1849c206f1f6e946cc4fc448ab4227fc5146c639 Author: Dylan Whichard Date: Wed May 22 15:27:22 2024 -0700 Add simple USB synth mode * Squash merge from main * MIDI-ify bigbug * Add bigbug to emu modes list * Fix memory leaks * Fix warnings * Squash merge from main, again --------- Co-authored-by: gelakinetic Co-authored-by: JVeg199X <97848253+JVeg199X@users.noreply.github.com> Co-authored-by: Dylan Whichard --- assets/bigbug/animation/crumble/crumble0.png | Bin 0 -> 12869 bytes assets/bigbug/animation/crumble/crumble1.png | Bin 0 -> 13116 bytes assets/bigbug/animation/crumble/crumble10.png | Bin 0 -> 14818 bytes assets/bigbug/animation/crumble/crumble11.png | Bin 0 -> 14403 bytes assets/bigbug/animation/crumble/crumble12.png | Bin 0 -> 14049 bytes assets/bigbug/animation/crumble/crumble13.png | Bin 0 -> 13674 bytes assets/bigbug/animation/crumble/crumble14.png | Bin 0 -> 13309 bytes assets/bigbug/animation/crumble/crumble15.png | Bin 0 -> 12967 bytes assets/bigbug/animation/crumble/crumble16.png | Bin 0 -> 12492 bytes assets/bigbug/animation/crumble/crumble17.png | Bin 0 -> 12068 bytes assets/bigbug/animation/crumble/crumble18.png | Bin 0 -> 11548 bytes assets/bigbug/animation/crumble/crumble19.png | Bin 0 -> 10934 bytes assets/bigbug/animation/crumble/crumble2.png | Bin 0 -> 13499 bytes assets/bigbug/animation/crumble/crumble20.png | Bin 0 -> 10376 bytes assets/bigbug/animation/crumble/crumble21.png | Bin 0 -> 9882 bytes assets/bigbug/animation/crumble/crumble22.png | Bin 0 -> 10114 bytes assets/bigbug/animation/crumble/crumble23.png | Bin 0 -> 10270 bytes assets/bigbug/animation/crumble/crumble3.png | Bin 0 -> 13945 bytes assets/bigbug/animation/crumble/crumble4.png | Bin 0 -> 14482 bytes assets/bigbug/animation/crumble/crumble5.png | Bin 0 -> 14674 bytes assets/bigbug/animation/crumble/crumble6.png | Bin 0 -> 14915 bytes assets/bigbug/animation/crumble/crumble7.png | Bin 0 -> 14974 bytes assets/bigbug/animation/crumble/crumble8.png | Bin 0 -> 15056 bytes assets/bigbug/animation/crumble/crumble9.png | Bin 0 -> 14959 bytes assets/bigbug/baked_Landfill2.png | Bin 0 -> 64626 bytes assets/bigbug/baked_Landfill3.png | Bin 0 -> 39837 bytes assets/bigbug/button-outline.png | Bin 0 -> 302 bytes assets/bigbug/dirt.png | Bin 0 -> 673 bytes assets/bigbug/dirt/H1/1_H_0.png | Bin 0 -> 977 bytes assets/bigbug/dirt/H1/1_H_1.png | Bin 0 -> 1025 bytes assets/bigbug/dirt/H1/1_H_10.png | Bin 0 -> 1067 bytes assets/bigbug/dirt/H1/1_H_11.png | Bin 0 -> 1062 bytes assets/bigbug/dirt/H1/1_H_12.png | Bin 0 -> 1036 bytes assets/bigbug/dirt/H1/1_H_13.png | Bin 0 -> 1048 bytes assets/bigbug/dirt/H1/1_H_14.png | Bin 0 -> 1059 bytes assets/bigbug/dirt/H1/1_H_15.png | Bin 0 -> 1045 bytes assets/bigbug/dirt/H1/1_H_2.png | Bin 0 -> 1055 bytes assets/bigbug/dirt/H1/1_H_3.png | Bin 0 -> 1056 bytes assets/bigbug/dirt/H1/1_H_4.png | Bin 0 -> 1040 bytes assets/bigbug/dirt/H1/1_H_5.png | Bin 0 -> 1045 bytes assets/bigbug/dirt/H1/1_H_6.png | Bin 0 -> 1064 bytes assets/bigbug/dirt/H1/1_H_7.png | Bin 0 -> 1056 bytes assets/bigbug/dirt/H1/1_H_8.png | Bin 0 -> 1051 bytes assets/bigbug/dirt/H1/1_H_9.png | Bin 0 -> 1055 bytes assets/bigbug/dirt/H2/2_H_0.png | Bin 0 -> 977 bytes assets/bigbug/dirt/H2/2_H_1.png | Bin 0 -> 1024 bytes assets/bigbug/dirt/H2/2_H_10.png | Bin 0 -> 1058 bytes assets/bigbug/dirt/H2/2_H_11.png | Bin 0 -> 1053 bytes assets/bigbug/dirt/H2/2_H_12.png | Bin 0 -> 1033 bytes assets/bigbug/dirt/H2/2_H_13.png | Bin 0 -> 1043 bytes assets/bigbug/dirt/H2/2_H_14.png | Bin 0 -> 1053 bytes assets/bigbug/dirt/H2/2_H_15.png | Bin 0 -> 1039 bytes assets/bigbug/dirt/H2/2_H_2.png | Bin 0 -> 1049 bytes assets/bigbug/dirt/H2/2_H_3.png | Bin 0 -> 1052 bytes assets/bigbug/dirt/H2/2_H_4.png | Bin 0 -> 1039 bytes assets/bigbug/dirt/H2/2_H_5.png | Bin 0 -> 1047 bytes assets/bigbug/dirt/H2/2_H_6.png | Bin 0 -> 1054 bytes assets/bigbug/dirt/H2/2_H_7.png | Bin 0 -> 1052 bytes assets/bigbug/dirt/H2/2_H_8.png | Bin 0 -> 1048 bytes assets/bigbug/dirt/H2/2_H_9.png | Bin 0 -> 1047 bytes assets/bigbug/dirt/M1/1_M_0.png | Bin 0 -> 977 bytes assets/bigbug/dirt/M1/1_M_1.png | Bin 0 -> 1014 bytes assets/bigbug/dirt/M1/1_M_10.png | Bin 0 -> 1042 bytes assets/bigbug/dirt/M1/1_M_11.png | Bin 0 -> 1037 bytes assets/bigbug/dirt/M1/1_M_12.png | Bin 0 -> 1022 bytes assets/bigbug/dirt/M1/1_M_13.png | Bin 0 -> 1028 bytes assets/bigbug/dirt/M1/1_M_14.png | Bin 0 -> 1039 bytes assets/bigbug/dirt/M1/1_M_15.png | Bin 0 -> 1025 bytes assets/bigbug/dirt/M1/1_M_2.png | Bin 0 -> 1036 bytes assets/bigbug/dirt/M1/1_M_3.png | Bin 0 -> 1033 bytes assets/bigbug/dirt/M1/1_M_4.png | Bin 0 -> 1020 bytes assets/bigbug/dirt/M1/1_M_5.png | Bin 0 -> 1033 bytes assets/bigbug/dirt/M1/1_M_6.png | Bin 0 -> 1043 bytes assets/bigbug/dirt/M1/1_M_7.png | Bin 0 -> 1037 bytes assets/bigbug/dirt/M1/1_M_8.png | Bin 0 -> 1035 bytes assets/bigbug/dirt/M1/1_M_9.png | Bin 0 -> 1038 bytes assets/bigbug/dirt/M2/2_M_0.png | Bin 0 -> 977 bytes assets/bigbug/dirt/M2/2_M_1.png | Bin 0 -> 1009 bytes assets/bigbug/dirt/M2/2_M_10.png | Bin 0 -> 1041 bytes assets/bigbug/dirt/M2/2_M_11.png | Bin 0 -> 1034 bytes assets/bigbug/dirt/M2/2_M_12.png | Bin 0 -> 1023 bytes assets/bigbug/dirt/M2/2_M_13.png | Bin 0 -> 1034 bytes assets/bigbug/dirt/M2/2_M_14.png | Bin 0 -> 1041 bytes assets/bigbug/dirt/M2/2_M_15.png | Bin 0 -> 1026 bytes assets/bigbug/dirt/M2/2_M_2.png | Bin 0 -> 1037 bytes assets/bigbug/dirt/M2/2_M_3.png | Bin 0 -> 1038 bytes assets/bigbug/dirt/M2/2_M_4.png | Bin 0 -> 1027 bytes assets/bigbug/dirt/M2/2_M_5.png | Bin 0 -> 1032 bytes assets/bigbug/dirt/M2/2_M_6.png | Bin 0 -> 1040 bytes assets/bigbug/dirt/M2/2_M_7.png | Bin 0 -> 1038 bytes assets/bigbug/dirt/M2/2_M_8.png | Bin 0 -> 1031 bytes assets/bigbug/dirt/M2/2_M_9.png | Bin 0 -> 1031 bytes assets/bigbug/dirt/S1/1_S_0.png | Bin 0 -> 977 bytes assets/bigbug/dirt/S1/1_S_1.png | Bin 0 -> 1002 bytes assets/bigbug/dirt/S1/1_S_10.png | Bin 0 -> 1031 bytes assets/bigbug/dirt/S1/1_S_11.png | Bin 0 -> 1026 bytes assets/bigbug/dirt/S1/1_S_12.png | Bin 0 -> 1011 bytes assets/bigbug/dirt/S1/1_S_13.png | Bin 0 -> 1022 bytes assets/bigbug/dirt/S1/1_S_14.png | Bin 0 -> 1027 bytes assets/bigbug/dirt/S1/1_S_15.png | Bin 0 -> 1018 bytes assets/bigbug/dirt/S1/1_S_2.png | Bin 0 -> 1031 bytes assets/bigbug/dirt/S1/1_S_3.png | Bin 0 -> 1024 bytes assets/bigbug/dirt/S1/1_S_4.png | Bin 0 -> 1014 bytes assets/bigbug/dirt/S1/1_S_5.png | Bin 0 -> 1021 bytes assets/bigbug/dirt/S1/1_S_6.png | Bin 0 -> 1032 bytes assets/bigbug/dirt/S1/1_S_7.png | Bin 0 -> 1027 bytes assets/bigbug/dirt/S1/1_S_8.png | Bin 0 -> 1024 bytes assets/bigbug/dirt/S1/1_S_9.png | Bin 0 -> 1027 bytes assets/bigbug/dirt/S2/2_S_0.png | Bin 0 -> 977 bytes assets/bigbug/dirt/S2/2_S_1.png | Bin 0 -> 1001 bytes assets/bigbug/dirt/S2/2_S_10.png | Bin 0 -> 1027 bytes assets/bigbug/dirt/S2/2_S_11.png | Bin 0 -> 1026 bytes assets/bigbug/dirt/S2/2_S_12.png | Bin 0 -> 1014 bytes assets/bigbug/dirt/S2/2_S_13.png | Bin 0 -> 1025 bytes assets/bigbug/dirt/S2/2_S_14.png | Bin 0 -> 1028 bytes assets/bigbug/dirt/S2/2_S_15.png | Bin 0 -> 1017 bytes assets/bigbug/dirt/S2/2_S_2.png | Bin 0 -> 1025 bytes assets/bigbug/dirt/S2/2_S_3.png | Bin 0 -> 1031 bytes assets/bigbug/dirt/S2/2_S_4.png | Bin 0 -> 1017 bytes assets/bigbug/dirt/S2/2_S_5.png | Bin 0 -> 1028 bytes assets/bigbug/dirt/S2/2_S_6.png | Bin 0 -> 1028 bytes assets/bigbug/dirt/S2/2_S_7.png | Bin 0 -> 1028 bytes assets/bigbug/dirt/S2/2_S_8.png | Bin 0 -> 1020 bytes assets/bigbug/dirt/S2/2_S_9.png | Bin 0 -> 1019 bytes assets/bigbug/dumpSurface.png | Bin 0 -> 742834 bytes assets/bigbug/dumpSurface_small.png | Bin 0 -> 55481 bytes assets/bigbug/fromBreakout/brkBgmCrazy.mid | Bin 0 -> 3857 bytes assets/bigbug/fromBreakout/brkBgmFinale.mid | Bin 0 -> 2156 bytes assets/bigbug/fromBreakout/brkBgmPixel.mid | Bin 0 -> 3993 bytes assets/bigbug/fromBreakout/brkBgmSkill.mid | Bin 0 -> 4457 bytes assets/bigbug/fromBreakout/brkBgmTitle.mid | Bin 0 -> 5992 bytes assets/bigbug/fromBreakout/brkGameOver.mid | Bin 0 -> 460 bytes assets/bigbug/fromBreakout/brkGetReady.mid | Bin 0 -> 294 bytes assets/bigbug/fromBreakout/brkHighScore.mid | Bin 0 -> 1624 bytes assets/bigbug/fromBreakout/brkLvlClear.mid | Bin 0 -> 336 bytes assets/bigbug/fromBreakout/sndBounce.mid | Bin 0 -> 152 bytes assets/bigbug/fromBreakout/sndBreak.mid | Bin 0 -> 168 bytes assets/bigbug/fromBreakout/sndBreak2.mid | Bin 0 -> 184 bytes assets/bigbug/fromBreakout/sndBreak3.mid | Bin 0 -> 184 bytes assets/bigbug/fromBreakout/sndBrk1up.mid | Bin 0 -> 201 bytes assets/bigbug/fromBreakout/sndBrkDie.mid | Bin 0 -> 320 bytes assets/bigbug/fromBreakout/sndDropBomb.mid | Bin 0 -> 144 bytes assets/bigbug/fromBreakout/sndTally.mid | Bin 0 -> 136 bytes assets/bigbug/fromBreakout/sndWaveBall.mid | Bin 0 -> 160 bytes .../garbage/foreground/hard/fore_h_0.png | Bin 0 -> 100 bytes .../garbage/foreground/hard/fore_h_1.png | Bin 0 -> 106 bytes .../garbage/foreground/hard/fore_h_10.png | Bin 0 -> 87 bytes .../garbage/foreground/hard/fore_h_100.png | Bin 0 -> 206 bytes .../garbage/foreground/hard/fore_h_101.png | Bin 0 -> 199 bytes .../garbage/foreground/hard/fore_h_102.png | Bin 0 -> 194 bytes .../garbage/foreground/hard/fore_h_103.png | Bin 0 -> 192 bytes .../garbage/foreground/hard/fore_h_104.png | Bin 0 -> 312 bytes .../garbage/foreground/hard/fore_h_105.png | Bin 0 -> 296 bytes .../garbage/foreground/hard/fore_h_106.png | Bin 0 -> 304 bytes .../garbage/foreground/hard/fore_h_107.png | Bin 0 -> 332 bytes .../garbage/foreground/hard/fore_h_108.png | Bin 0 -> 189 bytes .../garbage/foreground/hard/fore_h_109.png | Bin 0 -> 216 bytes .../garbage/foreground/hard/fore_h_11.png | Bin 0 -> 87 bytes .../garbage/foreground/hard/fore_h_110.png | Bin 0 -> 182 bytes .../garbage/foreground/hard/fore_h_111.png | Bin 0 -> 222 bytes .../garbage/foreground/hard/fore_h_112.png | Bin 0 -> 222 bytes .../garbage/foreground/hard/fore_h_113.png | Bin 0 -> 193 bytes .../garbage/foreground/hard/fore_h_114.png | Bin 0 -> 196 bytes .../garbage/foreground/hard/fore_h_115.png | Bin 0 -> 197 bytes .../garbage/foreground/hard/fore_h_116.png | Bin 0 -> 157 bytes .../garbage/foreground/hard/fore_h_117.png | Bin 0 -> 157 bytes .../garbage/foreground/hard/fore_h_118.png | Bin 0 -> 161 bytes .../garbage/foreground/hard/fore_h_119.png | Bin 0 -> 162 bytes .../garbage/foreground/hard/fore_h_12.png | Bin 0 -> 85 bytes .../garbage/foreground/hard/fore_h_120.png | Bin 0 -> 334 bytes .../garbage/foreground/hard/fore_h_121.png | Bin 0 -> 346 bytes .../garbage/foreground/hard/fore_h_122.png | Bin 0 -> 346 bytes .../garbage/foreground/hard/fore_h_123.png | Bin 0 -> 378 bytes .../garbage/foreground/hard/fore_h_124.png | Bin 0 -> 286 bytes .../garbage/foreground/hard/fore_h_125.png | Bin 0 -> 269 bytes .../garbage/foreground/hard/fore_h_126.png | Bin 0 -> 241 bytes .../garbage/foreground/hard/fore_h_127.png | Bin 0 -> 251 bytes .../garbage/foreground/hard/fore_h_128.png | Bin 0 -> 307 bytes .../garbage/foreground/hard/fore_h_129.png | Bin 0 -> 321 bytes .../garbage/foreground/hard/fore_h_13.png | Bin 0 -> 92 bytes .../garbage/foreground/hard/fore_h_130.png | Bin 0 -> 340 bytes .../garbage/foreground/hard/fore_h_131.png | Bin 0 -> 348 bytes .../garbage/foreground/hard/fore_h_132.png | Bin 0 -> 349 bytes .../garbage/foreground/hard/fore_h_133.png | Bin 0 -> 354 bytes .../garbage/foreground/hard/fore_h_134.png | Bin 0 -> 350 bytes .../garbage/foreground/hard/fore_h_135.png | Bin 0 -> 362 bytes .../garbage/foreground/hard/fore_h_136.png | Bin 0 -> 239 bytes .../garbage/foreground/hard/fore_h_137.png | Bin 0 -> 233 bytes .../garbage/foreground/hard/fore_h_138.png | Bin 0 -> 206 bytes .../garbage/foreground/hard/fore_h_139.png | Bin 0 -> 225 bytes .../garbage/foreground/hard/fore_h_14.png | Bin 0 -> 85 bytes .../garbage/foreground/hard/fore_h_140.png | Bin 0 -> 235 bytes .../garbage/foreground/hard/fore_h_141.png | Bin 0 -> 224 bytes .../garbage/foreground/hard/fore_h_142.png | Bin 0 -> 216 bytes .../garbage/foreground/hard/fore_h_143.png | Bin 0 -> 218 bytes .../garbage/foreground/hard/fore_h_144.png | Bin 0 -> 341 bytes .../garbage/foreground/hard/fore_h_145.png | Bin 0 -> 324 bytes .../garbage/foreground/hard/fore_h_146.png | Bin 0 -> 340 bytes .../garbage/foreground/hard/fore_h_147.png | Bin 0 -> 365 bytes .../garbage/foreground/hard/fore_h_148.png | Bin 0 -> 215 bytes .../garbage/foreground/hard/fore_h_149.png | Bin 0 -> 250 bytes .../garbage/foreground/hard/fore_h_15.png | Bin 0 -> 92 bytes .../garbage/foreground/hard/fore_h_150.png | Bin 0 -> 209 bytes .../garbage/foreground/hard/fore_h_151.png | Bin 0 -> 257 bytes .../garbage/foreground/hard/fore_h_152.png | Bin 0 -> 251 bytes .../garbage/foreground/hard/fore_h_153.png | Bin 0 -> 242 bytes .../garbage/foreground/hard/fore_h_154.png | Bin 0 -> 233 bytes .../garbage/foreground/hard/fore_h_155.png | Bin 0 -> 219 bytes .../garbage/foreground/hard/fore_h_156.png | Bin 0 -> 180 bytes .../garbage/foreground/hard/fore_h_157.png | Bin 0 -> 198 bytes .../garbage/foreground/hard/fore_h_158.png | Bin 0 -> 183 bytes .../garbage/foreground/hard/fore_h_159.png | Bin 0 -> 180 bytes .../garbage/foreground/hard/fore_h_16.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_160.png | Bin 0 -> 350 bytes .../garbage/foreground/hard/fore_h_161.png | Bin 0 -> 370 bytes .../garbage/foreground/hard/fore_h_162.png | Bin 0 -> 365 bytes .../garbage/foreground/hard/fore_h_163.png | Bin 0 -> 387 bytes .../garbage/foreground/hard/fore_h_164.png | Bin 0 -> 303 bytes .../garbage/foreground/hard/fore_h_165.png | Bin 0 -> 287 bytes .../garbage/foreground/hard/fore_h_166.png | Bin 0 -> 275 bytes .../garbage/foreground/hard/fore_h_167.png | Bin 0 -> 273 bytes .../garbage/foreground/hard/fore_h_168.png | Bin 0 -> 326 bytes .../garbage/foreground/hard/fore_h_169.png | Bin 0 -> 340 bytes .../garbage/foreground/hard/fore_h_17.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_170.png | Bin 0 -> 342 bytes .../garbage/foreground/hard/fore_h_171.png | Bin 0 -> 364 bytes .../garbage/foreground/hard/fore_h_172.png | Bin 0 -> 370 bytes .../garbage/foreground/hard/fore_h_173.png | Bin 0 -> 367 bytes .../garbage/foreground/hard/fore_h_174.png | Bin 0 -> 370 bytes .../garbage/foreground/hard/fore_h_175.png | Bin 0 -> 380 bytes .../garbage/foreground/hard/fore_h_176.png | Bin 0 -> 268 bytes .../garbage/foreground/hard/fore_h_177.png | Bin 0 -> 253 bytes .../garbage/foreground/hard/fore_h_178.png | Bin 0 -> 227 bytes .../garbage/foreground/hard/fore_h_179.png | Bin 0 -> 256 bytes .../garbage/foreground/hard/fore_h_18.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_180.png | Bin 0 -> 270 bytes .../garbage/foreground/hard/fore_h_181.png | Bin 0 -> 260 bytes .../garbage/foreground/hard/fore_h_182.png | Bin 0 -> 232 bytes .../garbage/foreground/hard/fore_h_183.png | Bin 0 -> 248 bytes .../garbage/foreground/hard/fore_h_184.png | Bin 0 -> 369 bytes .../garbage/foreground/hard/fore_h_185.png | Bin 0 -> 352 bytes .../garbage/foreground/hard/fore_h_186.png | Bin 0 -> 367 bytes .../garbage/foreground/hard/fore_h_187.png | Bin 0 -> 384 bytes .../garbage/foreground/hard/fore_h_188.png | Bin 0 -> 257 bytes .../garbage/foreground/hard/fore_h_189.png | Bin 0 -> 258 bytes .../garbage/foreground/hard/fore_h_19.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_190.png | Bin 0 -> 229 bytes .../garbage/foreground/hard/fore_h_191.png | Bin 0 -> 289 bytes .../garbage/foreground/hard/fore_h_192.png | Bin 0 -> 280 bytes .../garbage/foreground/hard/fore_h_193.png | Bin 0 -> 270 bytes .../garbage/foreground/hard/fore_h_194.png | Bin 0 -> 260 bytes .../garbage/foreground/hard/fore_h_195.png | Bin 0 -> 247 bytes .../garbage/foreground/hard/fore_h_196.png | Bin 0 -> 195 bytes .../garbage/foreground/hard/fore_h_197.png | Bin 0 -> 216 bytes .../garbage/foreground/hard/fore_h_198.png | Bin 0 -> 196 bytes .../garbage/foreground/hard/fore_h_199.png | Bin 0 -> 216 bytes .../garbage/foreground/hard/fore_h_2.png | Bin 0 -> 96 bytes .../garbage/foreground/hard/fore_h_20.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_200.png | Bin 0 -> 354 bytes .../garbage/foreground/hard/fore_h_201.png | Bin 0 -> 363 bytes .../garbage/foreground/hard/fore_h_202.png | Bin 0 -> 357 bytes .../garbage/foreground/hard/fore_h_203.png | Bin 0 -> 400 bytes .../garbage/foreground/hard/fore_h_204.png | Bin 0 -> 324 bytes .../garbage/foreground/hard/fore_h_205.png | Bin 0 -> 303 bytes .../garbage/foreground/hard/fore_h_206.png | Bin 0 -> 282 bytes .../garbage/foreground/hard/fore_h_207.png | Bin 0 -> 295 bytes .../garbage/foreground/hard/fore_h_208.png | Bin 0 -> 330 bytes .../garbage/foreground/hard/fore_h_209.png | Bin 0 -> 347 bytes .../garbage/foreground/hard/fore_h_21.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_210.png | Bin 0 -> 341 bytes .../garbage/foreground/hard/fore_h_211.png | Bin 0 -> 378 bytes .../garbage/foreground/hard/fore_h_212.png | Bin 0 -> 366 bytes .../garbage/foreground/hard/fore_h_213.png | Bin 0 -> 372 bytes .../garbage/foreground/hard/fore_h_214.png | Bin 0 -> 365 bytes .../garbage/foreground/hard/fore_h_215.png | Bin 0 -> 383 bytes .../garbage/foreground/hard/fore_h_216.png | Bin 0 -> 291 bytes .../garbage/foreground/hard/fore_h_217.png | Bin 0 -> 266 bytes .../garbage/foreground/hard/fore_h_218.png | Bin 0 -> 255 bytes .../garbage/foreground/hard/fore_h_219.png | Bin 0 -> 279 bytes .../garbage/foreground/hard/fore_h_22.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_220.png | Bin 0 -> 276 bytes .../garbage/foreground/hard/fore_h_221.png | Bin 0 -> 279 bytes .../garbage/foreground/hard/fore_h_222.png | Bin 0 -> 258 bytes .../garbage/foreground/hard/fore_h_223.png | Bin 0 -> 282 bytes .../garbage/foreground/hard/fore_h_224.png | Bin 0 -> 394 bytes .../garbage/foreground/hard/fore_h_225.png | Bin 0 -> 360 bytes .../garbage/foreground/hard/fore_h_226.png | Bin 0 -> 375 bytes .../garbage/foreground/hard/fore_h_227.png | Bin 0 -> 403 bytes .../garbage/foreground/hard/fore_h_228.png | Bin 0 -> 255 bytes .../garbage/foreground/hard/fore_h_229.png | Bin 0 -> 284 bytes .../garbage/foreground/hard/fore_h_23.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_230.png | Bin 0 -> 244 bytes .../garbage/foreground/hard/fore_h_231.png | Bin 0 -> 294 bytes .../garbage/foreground/hard/fore_h_232.png | Bin 0 -> 299 bytes .../garbage/foreground/hard/fore_h_233.png | Bin 0 -> 284 bytes .../garbage/foreground/hard/fore_h_234.png | Bin 0 -> 273 bytes .../garbage/foreground/hard/fore_h_235.png | Bin 0 -> 270 bytes .../garbage/foreground/hard/fore_h_236.png | Bin 0 -> 210 bytes .../garbage/foreground/hard/fore_h_237.png | Bin 0 -> 234 bytes .../garbage/foreground/hard/fore_h_238.png | Bin 0 -> 214 bytes .../garbage/foreground/hard/fore_h_239.png | Bin 0 -> 205 bytes .../garbage/foreground/hard/fore_h_24.png | Bin 0 -> 89 bytes .../garbage/foreground/hard/fore_h_25.png | Bin 0 -> 95 bytes .../garbage/foreground/hard/fore_h_26.png | Bin 0 -> 89 bytes .../garbage/foreground/hard/fore_h_27.png | Bin 0 -> 87 bytes .../garbage/foreground/hard/fore_h_28.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_29.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_3.png | Bin 0 -> 101 bytes .../garbage/foreground/hard/fore_h_30.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_31.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_32.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_33.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_34.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_35.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_36.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_37.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_38.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_39.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_4.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_40.png | Bin 0 -> 248 bytes .../garbage/foreground/hard/fore_h_41.png | Bin 0 -> 265 bytes .../garbage/foreground/hard/fore_h_42.png | Bin 0 -> 252 bytes .../garbage/foreground/hard/fore_h_43.png | Bin 0 -> 283 bytes .../garbage/foreground/hard/fore_h_44.png | Bin 0 -> 190 bytes .../garbage/foreground/hard/fore_h_45.png | Bin 0 -> 195 bytes .../garbage/foreground/hard/fore_h_46.png | Bin 0 -> 171 bytes .../garbage/foreground/hard/fore_h_47.png | Bin 0 -> 180 bytes .../garbage/foreground/hard/fore_h_48.png | Bin 0 -> 226 bytes .../garbage/foreground/hard/fore_h_49.png | Bin 0 -> 208 bytes .../garbage/foreground/hard/fore_h_5.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_50.png | Bin 0 -> 235 bytes .../garbage/foreground/hard/fore_h_51.png | Bin 0 -> 247 bytes .../garbage/foreground/hard/fore_h_52.png | Bin 0 -> 250 bytes .../garbage/foreground/hard/fore_h_53.png | Bin 0 -> 264 bytes .../garbage/foreground/hard/fore_h_54.png | Bin 0 -> 260 bytes .../garbage/foreground/hard/fore_h_55.png | Bin 0 -> 270 bytes .../garbage/foreground/hard/fore_h_56.png | Bin 0 -> 175 bytes .../garbage/foreground/hard/fore_h_57.png | Bin 0 -> 174 bytes .../garbage/foreground/hard/fore_h_58.png | Bin 0 -> 165 bytes .../garbage/foreground/hard/fore_h_59.png | Bin 0 -> 173 bytes .../garbage/foreground/hard/fore_h_6.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_60.png | Bin 0 -> 166 bytes .../garbage/foreground/hard/fore_h_61.png | Bin 0 -> 153 bytes .../garbage/foreground/hard/fore_h_62.png | Bin 0 -> 171 bytes .../garbage/foreground/hard/fore_h_63.png | Bin 0 -> 177 bytes .../garbage/foreground/hard/fore_h_64.png | Bin 0 -> 254 bytes .../garbage/foreground/hard/fore_h_65.png | Bin 0 -> 241 bytes .../garbage/foreground/hard/fore_h_66.png | Bin 0 -> 241 bytes .../garbage/foreground/hard/fore_h_67.png | Bin 0 -> 256 bytes .../garbage/foreground/hard/fore_h_68.png | Bin 0 -> 166 bytes .../garbage/foreground/hard/fore_h_69.png | Bin 0 -> 164 bytes .../garbage/foreground/hard/fore_h_7.png | Bin 0 -> 86 bytes .../garbage/foreground/hard/fore_h_70.png | Bin 0 -> 160 bytes .../garbage/foreground/hard/fore_h_71.png | Bin 0 -> 173 bytes .../garbage/foreground/hard/fore_h_72.png | Bin 0 -> 177 bytes .../garbage/foreground/hard/fore_h_73.png | Bin 0 -> 168 bytes .../garbage/foreground/hard/fore_h_74.png | Bin 0 -> 170 bytes .../garbage/foreground/hard/fore_h_75.png | Bin 0 -> 161 bytes .../garbage/foreground/hard/fore_h_76.png | Bin 0 -> 132 bytes .../garbage/foreground/hard/fore_h_77.png | Bin 0 -> 135 bytes .../garbage/foreground/hard/fore_h_78.png | Bin 0 -> 135 bytes .../garbage/foreground/hard/fore_h_79.png | Bin 0 -> 147 bytes .../garbage/foreground/hard/fore_h_8.png | Bin 0 -> 89 bytes .../garbage/foreground/hard/fore_h_80.png | Bin 0 -> 314 bytes .../garbage/foreground/hard/fore_h_81.png | Bin 0 -> 325 bytes .../garbage/foreground/hard/fore_h_82.png | Bin 0 -> 316 bytes .../garbage/foreground/hard/fore_h_83.png | Bin 0 -> 345 bytes .../garbage/foreground/hard/fore_h_84.png | Bin 0 -> 239 bytes .../garbage/foreground/hard/fore_h_85.png | Bin 0 -> 251 bytes .../garbage/foreground/hard/fore_h_86.png | Bin 0 -> 208 bytes .../garbage/foreground/hard/fore_h_87.png | Bin 0 -> 223 bytes .../garbage/foreground/hard/fore_h_88.png | Bin 0 -> 288 bytes .../garbage/foreground/hard/fore_h_89.png | Bin 0 -> 288 bytes .../garbage/foreground/hard/fore_h_9.png | Bin 0 -> 89 bytes .../garbage/foreground/hard/fore_h_90.png | Bin 0 -> 312 bytes .../garbage/foreground/hard/fore_h_91.png | Bin 0 -> 318 bytes .../garbage/foreground/hard/fore_h_92.png | Bin 0 -> 330 bytes .../garbage/foreground/hard/fore_h_93.png | Bin 0 -> 336 bytes .../garbage/foreground/hard/fore_h_94.png | Bin 0 -> 324 bytes .../garbage/foreground/hard/fore_h_95.png | Bin 0 -> 331 bytes .../garbage/foreground/hard/fore_h_96.png | Bin 0 -> 217 bytes .../garbage/foreground/hard/fore_h_97.png | Bin 0 -> 202 bytes .../garbage/foreground/hard/fore_h_98.png | Bin 0 -> 186 bytes .../garbage/foreground/hard/fore_h_99.png | Bin 0 -> 193 bytes .../garbage/foreground/medium/fore_m_0.png | Bin 0 -> 113 bytes .../garbage/foreground/medium/fore_m_1.png | Bin 0 -> 112 bytes .../garbage/foreground/medium/fore_m_10.png | Bin 0 -> 101 bytes .../garbage/foreground/medium/fore_m_100.png | Bin 0 -> 173 bytes .../garbage/foreground/medium/fore_m_101.png | Bin 0 -> 141 bytes .../garbage/foreground/medium/fore_m_102.png | Bin 0 -> 174 bytes .../garbage/foreground/medium/fore_m_103.png | Bin 0 -> 162 bytes .../garbage/foreground/medium/fore_m_104.png | Bin 0 -> 201 bytes .../garbage/foreground/medium/fore_m_105.png | Bin 0 -> 210 bytes .../garbage/foreground/medium/fore_m_106.png | Bin 0 -> 248 bytes .../garbage/foreground/medium/fore_m_107.png | Bin 0 -> 236 bytes .../garbage/foreground/medium/fore_m_108.png | Bin 0 -> 157 bytes .../garbage/foreground/medium/fore_m_109.png | Bin 0 -> 150 bytes .../garbage/foreground/medium/fore_m_11.png | Bin 0 -> 99 bytes .../garbage/foreground/medium/fore_m_110.png | Bin 0 -> 164 bytes .../garbage/foreground/medium/fore_m_111.png | Bin 0 -> 161 bytes .../garbage/foreground/medium/fore_m_112.png | Bin 0 -> 155 bytes .../garbage/foreground/medium/fore_m_113.png | Bin 0 -> 160 bytes .../garbage/foreground/medium/fore_m_114.png | Bin 0 -> 175 bytes .../garbage/foreground/medium/fore_m_115.png | Bin 0 -> 171 bytes .../garbage/foreground/medium/fore_m_116.png | Bin 0 -> 106 bytes .../garbage/foreground/medium/fore_m_117.png | Bin 0 -> 124 bytes .../garbage/foreground/medium/fore_m_118.png | Bin 0 -> 150 bytes .../garbage/foreground/medium/fore_m_119.png | Bin 0 -> 142 bytes .../garbage/foreground/medium/fore_m_12.png | Bin 0 -> 105 bytes .../garbage/foreground/medium/fore_m_120.png | Bin 0 -> 241 bytes .../garbage/foreground/medium/fore_m_121.png | Bin 0 -> 258 bytes .../garbage/foreground/medium/fore_m_122.png | Bin 0 -> 261 bytes .../garbage/foreground/medium/fore_m_123.png | Bin 0 -> 288 bytes .../garbage/foreground/medium/fore_m_124.png | Bin 0 -> 196 bytes .../garbage/foreground/medium/fore_m_125.png | Bin 0 -> 178 bytes .../garbage/foreground/medium/fore_m_126.png | Bin 0 -> 206 bytes .../garbage/foreground/medium/fore_m_127.png | Bin 0 -> 180 bytes .../garbage/foreground/medium/fore_m_128.png | Bin 0 -> 231 bytes .../garbage/foreground/medium/fore_m_129.png | Bin 0 -> 226 bytes .../garbage/foreground/medium/fore_m_13.png | Bin 0 -> 106 bytes .../garbage/foreground/medium/fore_m_130.png | Bin 0 -> 248 bytes .../garbage/foreground/medium/fore_m_131.png | Bin 0 -> 265 bytes .../garbage/foreground/medium/fore_m_132.png | Bin 0 -> 252 bytes .../garbage/foreground/medium/fore_m_133.png | Bin 0 -> 247 bytes .../garbage/foreground/medium/fore_m_134.png | Bin 0 -> 268 bytes .../garbage/foreground/medium/fore_m_135.png | Bin 0 -> 283 bytes .../garbage/foreground/medium/fore_m_136.png | Bin 0 -> 180 bytes .../garbage/foreground/medium/fore_m_137.png | Bin 0 -> 168 bytes .../garbage/foreground/medium/fore_m_138.png | Bin 0 -> 183 bytes .../garbage/foreground/medium/fore_m_139.png | Bin 0 -> 174 bytes .../garbage/foreground/medium/fore_m_14.png | Bin 0 -> 100 bytes .../garbage/foreground/medium/fore_m_140.png | Bin 0 -> 184 bytes .../garbage/foreground/medium/fore_m_141.png | Bin 0 -> 163 bytes .../garbage/foreground/medium/fore_m_142.png | Bin 0 -> 198 bytes .../garbage/foreground/medium/fore_m_143.png | Bin 0 -> 178 bytes .../garbage/foreground/medium/fore_m_144.png | Bin 0 -> 247 bytes .../garbage/foreground/medium/fore_m_145.png | Bin 0 -> 225 bytes .../garbage/foreground/medium/fore_m_146.png | Bin 0 -> 258 bytes .../garbage/foreground/medium/fore_m_147.png | Bin 0 -> 273 bytes .../garbage/foreground/medium/fore_m_148.png | Bin 0 -> 176 bytes .../garbage/foreground/medium/fore_m_149.png | Bin 0 -> 169 bytes .../garbage/foreground/medium/fore_m_15.png | Bin 0 -> 107 bytes .../garbage/foreground/medium/fore_m_150.png | Bin 0 -> 181 bytes .../garbage/foreground/medium/fore_m_151.png | Bin 0 -> 179 bytes .../garbage/foreground/medium/fore_m_152.png | Bin 0 -> 181 bytes .../garbage/foreground/medium/fore_m_153.png | Bin 0 -> 174 bytes .../garbage/foreground/medium/fore_m_154.png | Bin 0 -> 194 bytes .../garbage/foreground/medium/fore_m_155.png | Bin 0 -> 179 bytes .../garbage/foreground/medium/fore_m_156.png | Bin 0 -> 119 bytes .../garbage/foreground/medium/fore_m_157.png | Bin 0 -> 136 bytes .../garbage/foreground/medium/fore_m_158.png | Bin 0 -> 157 bytes .../garbage/foreground/medium/fore_m_159.png | Bin 0 -> 168 bytes .../garbage/foreground/medium/fore_m_16.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_160.png | Bin 0 -> 255 bytes .../garbage/foreground/medium/fore_m_161.png | Bin 0 -> 280 bytes .../garbage/foreground/medium/fore_m_162.png | Bin 0 -> 281 bytes .../garbage/foreground/medium/fore_m_163.png | Bin 0 -> 298 bytes .../garbage/foreground/medium/fore_m_164.png | Bin 0 -> 205 bytes .../garbage/foreground/medium/fore_m_165.png | Bin 0 -> 196 bytes .../garbage/foreground/medium/fore_m_166.png | Bin 0 -> 223 bytes .../garbage/foreground/medium/fore_m_167.png | Bin 0 -> 214 bytes .../garbage/foreground/medium/fore_m_168.png | Bin 0 -> 246 bytes .../garbage/foreground/medium/fore_m_169.png | Bin 0 -> 243 bytes .../garbage/foreground/medium/fore_m_17.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_170.png | Bin 0 -> 263 bytes .../garbage/foreground/medium/fore_m_171.png | Bin 0 -> 271 bytes .../garbage/foreground/medium/fore_m_172.png | Bin 0 -> 264 bytes .../garbage/foreground/medium/fore_m_173.png | Bin 0 -> 273 bytes .../garbage/foreground/medium/fore_m_174.png | Bin 0 -> 271 bytes .../garbage/foreground/medium/fore_m_175.png | Bin 0 -> 302 bytes .../garbage/foreground/medium/fore_m_176.png | Bin 0 -> 193 bytes .../garbage/foreground/medium/fore_m_177.png | Bin 0 -> 195 bytes .../garbage/foreground/medium/fore_m_178.png | Bin 0 -> 192 bytes .../garbage/foreground/medium/fore_m_179.png | Bin 0 -> 197 bytes .../garbage/foreground/medium/fore_m_18.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_180.png | Bin 0 -> 203 bytes .../garbage/foreground/medium/fore_m_181.png | Bin 0 -> 175 bytes .../garbage/foreground/medium/fore_m_182.png | Bin 0 -> 210 bytes .../garbage/foreground/medium/fore_m_183.png | Bin 0 -> 191 bytes .../garbage/foreground/medium/fore_m_184.png | Bin 0 -> 258 bytes .../garbage/foreground/medium/fore_m_185.png | Bin 0 -> 236 bytes .../garbage/foreground/medium/fore_m_186.png | Bin 0 -> 264 bytes .../garbage/foreground/medium/fore_m_187.png | Bin 0 -> 286 bytes .../garbage/foreground/medium/fore_m_188.png | Bin 0 -> 185 bytes .../garbage/foreground/medium/fore_m_189.png | Bin 0 -> 182 bytes .../garbage/foreground/medium/fore_m_19.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_190.png | Bin 0 -> 202 bytes .../garbage/foreground/medium/fore_m_191.png | Bin 0 -> 214 bytes .../garbage/foreground/medium/fore_m_192.png | Bin 0 -> 194 bytes .../garbage/foreground/medium/fore_m_193.png | Bin 0 -> 179 bytes .../garbage/foreground/medium/fore_m_194.png | Bin 0 -> 210 bytes .../garbage/foreground/medium/fore_m_195.png | Bin 0 -> 201 bytes .../garbage/foreground/medium/fore_m_196.png | Bin 0 -> 135 bytes .../garbage/foreground/medium/fore_m_197.png | Bin 0 -> 146 bytes .../garbage/foreground/medium/fore_m_198.png | Bin 0 -> 176 bytes .../garbage/foreground/medium/fore_m_199.png | Bin 0 -> 165 bytes .../garbage/foreground/medium/fore_m_2.png | Bin 0 -> 106 bytes .../garbage/foreground/medium/fore_m_20.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_200.png | Bin 0 -> 271 bytes .../garbage/foreground/medium/fore_m_201.png | Bin 0 -> 272 bytes .../garbage/foreground/medium/fore_m_202.png | Bin 0 -> 274 bytes .../garbage/foreground/medium/fore_m_203.png | Bin 0 -> 310 bytes .../garbage/foreground/medium/fore_m_204.png | Bin 0 -> 229 bytes .../garbage/foreground/medium/fore_m_205.png | Bin 0 -> 224 bytes .../garbage/foreground/medium/fore_m_206.png | Bin 0 -> 237 bytes .../garbage/foreground/medium/fore_m_207.png | Bin 0 -> 222 bytes .../garbage/foreground/medium/fore_m_208.png | Bin 0 -> 264 bytes .../garbage/foreground/medium/fore_m_209.png | Bin 0 -> 254 bytes .../garbage/foreground/medium/fore_m_21.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_210.png | Bin 0 -> 261 bytes .../garbage/foreground/medium/fore_m_211.png | Bin 0 -> 288 bytes .../garbage/foreground/medium/fore_m_212.png | Bin 0 -> 268 bytes .../garbage/foreground/medium/fore_m_213.png | Bin 0 -> 270 bytes .../garbage/foreground/medium/fore_m_214.png | Bin 0 -> 288 bytes .../garbage/foreground/medium/fore_m_215.png | Bin 0 -> 307 bytes .../garbage/foreground/medium/fore_m_216.png | Bin 0 -> 212 bytes .../garbage/foreground/medium/fore_m_217.png | Bin 0 -> 209 bytes .../garbage/foreground/medium/fore_m_218.png | Bin 0 -> 219 bytes .../garbage/foreground/medium/fore_m_219.png | Bin 0 -> 207 bytes .../garbage/foreground/medium/fore_m_22.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_220.png | Bin 0 -> 212 bytes .../garbage/foreground/medium/fore_m_221.png | Bin 0 -> 190 bytes .../garbage/foreground/medium/fore_m_222.png | Bin 0 -> 225 bytes .../garbage/foreground/medium/fore_m_223.png | Bin 0 -> 220 bytes .../garbage/foreground/medium/fore_m_224.png | Bin 0 -> 264 bytes .../garbage/foreground/medium/fore_m_225.png | Bin 0 -> 251 bytes .../garbage/foreground/medium/fore_m_226.png | Bin 0 -> 274 bytes .../garbage/foreground/medium/fore_m_227.png | Bin 0 -> 293 bytes .../garbage/foreground/medium/fore_m_228.png | Bin 0 -> 203 bytes .../garbage/foreground/medium/fore_m_229.png | Bin 0 -> 192 bytes .../garbage/foreground/medium/fore_m_23.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_230.png | Bin 0 -> 221 bytes .../garbage/foreground/medium/fore_m_231.png | Bin 0 -> 226 bytes .../garbage/foreground/medium/fore_m_232.png | Bin 0 -> 195 bytes .../garbage/foreground/medium/fore_m_233.png | Bin 0 -> 194 bytes .../garbage/foreground/medium/fore_m_234.png | Bin 0 -> 224 bytes .../garbage/foreground/medium/fore_m_235.png | Bin 0 -> 222 bytes .../garbage/foreground/medium/fore_m_236.png | Bin 0 -> 142 bytes .../garbage/foreground/medium/fore_m_237.png | Bin 0 -> 156 bytes .../garbage/foreground/medium/fore_m_238.png | Bin 0 -> 189 bytes .../garbage/foreground/medium/fore_m_239.png | Bin 0 -> 174 bytes .../garbage/foreground/medium/fore_m_24.png | Bin 0 -> 89 bytes .../garbage/foreground/medium/fore_m_25.png | Bin 0 -> 95 bytes .../garbage/foreground/medium/fore_m_26.png | Bin 0 -> 89 bytes .../garbage/foreground/medium/fore_m_27.png | Bin 0 -> 87 bytes .../garbage/foreground/medium/fore_m_28.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_29.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_3.png | Bin 0 -> 117 bytes .../garbage/foreground/medium/fore_m_30.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_31.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_32.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_33.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_34.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_35.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_36.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_37.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_38.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_39.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_4.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_40.png | Bin 0 -> 184 bytes .../garbage/foreground/medium/fore_m_41.png | Bin 0 -> 203 bytes .../garbage/foreground/medium/fore_m_42.png | Bin 0 -> 200 bytes .../garbage/foreground/medium/fore_m_43.png | Bin 0 -> 230 bytes .../garbage/foreground/medium/fore_m_44.png | Bin 0 -> 126 bytes .../garbage/foreground/medium/fore_m_45.png | Bin 0 -> 127 bytes .../garbage/foreground/medium/fore_m_46.png | Bin 0 -> 157 bytes .../garbage/foreground/medium/fore_m_47.png | Bin 0 -> 157 bytes .../garbage/foreground/medium/fore_m_48.png | Bin 0 -> 184 bytes .../garbage/foreground/medium/fore_m_49.png | Bin 0 -> 185 bytes .../garbage/foreground/medium/fore_m_5.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_50.png | Bin 0 -> 198 bytes .../garbage/foreground/medium/fore_m_51.png | Bin 0 -> 206 bytes .../garbage/foreground/medium/fore_m_52.png | Bin 0 -> 180 bytes .../garbage/foreground/medium/fore_m_53.png | Bin 0 -> 189 bytes .../garbage/foreground/medium/fore_m_54.png | Bin 0 -> 210 bytes .../garbage/foreground/medium/fore_m_55.png | Bin 0 -> 223 bytes .../garbage/foreground/medium/fore_m_56.png | Bin 0 -> 116 bytes .../garbage/foreground/medium/fore_m_57.png | Bin 0 -> 119 bytes .../garbage/foreground/medium/fore_m_58.png | Bin 0 -> 137 bytes .../garbage/foreground/medium/fore_m_59.png | Bin 0 -> 140 bytes .../garbage/foreground/medium/fore_m_6.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_60.png | Bin 0 -> 123 bytes .../garbage/foreground/medium/fore_m_61.png | Bin 0 -> 112 bytes .../garbage/foreground/medium/fore_m_62.png | Bin 0 -> 133 bytes .../garbage/foreground/medium/fore_m_63.png | Bin 0 -> 130 bytes .../garbage/foreground/medium/fore_m_64.png | Bin 0 -> 174 bytes .../garbage/foreground/medium/fore_m_65.png | Bin 0 -> 173 bytes .../garbage/foreground/medium/fore_m_66.png | Bin 0 -> 188 bytes .../garbage/foreground/medium/fore_m_67.png | Bin 0 -> 214 bytes .../garbage/foreground/medium/fore_m_68.png | Bin 0 -> 111 bytes .../garbage/foreground/medium/fore_m_69.png | Bin 0 -> 109 bytes .../garbage/foreground/medium/fore_m_7.png | Bin 0 -> 86 bytes .../garbage/foreground/medium/fore_m_70.png | Bin 0 -> 134 bytes .../garbage/foreground/medium/fore_m_71.png | Bin 0 -> 148 bytes .../garbage/foreground/medium/fore_m_72.png | Bin 0 -> 117 bytes .../garbage/foreground/medium/fore_m_73.png | Bin 0 -> 120 bytes .../garbage/foreground/medium/fore_m_74.png | Bin 0 -> 134 bytes .../garbage/foreground/medium/fore_m_75.png | Bin 0 -> 145 bytes .../garbage/foreground/medium/fore_m_76.png | Bin 0 -> 91 bytes .../garbage/foreground/medium/fore_m_77.png | Bin 0 -> 96 bytes .../garbage/foreground/medium/fore_m_78.png | Bin 0 -> 114 bytes .../garbage/foreground/medium/fore_m_79.png | Bin 0 -> 119 bytes .../garbage/foreground/medium/fore_m_8.png | Bin 0 -> 98 bytes .../garbage/foreground/medium/fore_m_80.png | Bin 0 -> 222 bytes .../garbage/foreground/medium/fore_m_81.png | Bin 0 -> 241 bytes .../garbage/foreground/medium/fore_m_82.png | Bin 0 -> 256 bytes .../garbage/foreground/medium/fore_m_83.png | Bin 0 -> 265 bytes .../garbage/foreground/medium/fore_m_84.png | Bin 0 -> 167 bytes .../garbage/foreground/medium/fore_m_85.png | Bin 0 -> 167 bytes .../garbage/foreground/medium/fore_m_86.png | Bin 0 -> 186 bytes .../garbage/foreground/medium/fore_m_87.png | Bin 0 -> 172 bytes .../garbage/foreground/medium/fore_m_88.png | Bin 0 -> 216 bytes .../garbage/foreground/medium/fore_m_89.png | Bin 0 -> 212 bytes .../garbage/foreground/medium/fore_m_9.png | Bin 0 -> 93 bytes .../garbage/foreground/medium/fore_m_90.png | Bin 0 -> 240 bytes .../garbage/foreground/medium/fore_m_91.png | Bin 0 -> 234 bytes .../garbage/foreground/medium/fore_m_92.png | Bin 0 -> 223 bytes .../garbage/foreground/medium/fore_m_93.png | Bin 0 -> 232 bytes .../garbage/foreground/medium/fore_m_94.png | Bin 0 -> 257 bytes .../garbage/foreground/medium/fore_m_95.png | Bin 0 -> 272 bytes .../garbage/foreground/medium/fore_m_96.png | Bin 0 -> 160 bytes .../garbage/foreground/medium/fore_m_97.png | Bin 0 -> 155 bytes .../garbage/foreground/medium/fore_m_98.png | Bin 0 -> 166 bytes .../garbage/foreground/medium/fore_m_99.png | Bin 0 -> 163 bytes .../garbage/foreground/soft/fore_s_0.png | Bin 0 -> 107 bytes .../garbage/foreground/soft/fore_s_1.png | Bin 0 -> 106 bytes .../garbage/foreground/soft/fore_s_10.png | Bin 0 -> 104 bytes .../garbage/foreground/soft/fore_s_100.png | Bin 0 -> 136 bytes .../garbage/foreground/soft/fore_s_101.png | Bin 0 -> 116 bytes .../garbage/foreground/soft/fore_s_102.png | Bin 0 -> 143 bytes .../garbage/foreground/soft/fore_s_103.png | Bin 0 -> 122 bytes .../garbage/foreground/soft/fore_s_104.png | Bin 0 -> 192 bytes .../garbage/foreground/soft/fore_s_105.png | Bin 0 -> 164 bytes .../garbage/foreground/soft/fore_s_106.png | Bin 0 -> 193 bytes .../garbage/foreground/soft/fore_s_107.png | Bin 0 -> 204 bytes .../garbage/foreground/soft/fore_s_108.png | Bin 0 -> 121 bytes .../garbage/foreground/soft/fore_s_109.png | Bin 0 -> 117 bytes .../garbage/foreground/soft/fore_s_11.png | Bin 0 -> 107 bytes .../garbage/foreground/soft/fore_s_110.png | Bin 0 -> 131 bytes .../garbage/foreground/soft/fore_s_111.png | Bin 0 -> 135 bytes .../garbage/foreground/soft/fore_s_112.png | Bin 0 -> 137 bytes .../garbage/foreground/soft/fore_s_113.png | Bin 0 -> 115 bytes .../garbage/foreground/soft/fore_s_114.png | Bin 0 -> 135 bytes .../garbage/foreground/soft/fore_s_115.png | Bin 0 -> 130 bytes .../garbage/foreground/soft/fore_s_116.png | Bin 0 -> 96 bytes .../garbage/foreground/soft/fore_s_117.png | Bin 0 -> 99 bytes .../garbage/foreground/soft/fore_s_118.png | Bin 0 -> 115 bytes .../garbage/foreground/soft/fore_s_119.png | Bin 0 -> 108 bytes .../garbage/foreground/soft/fore_s_12.png | Bin 0 -> 96 bytes .../garbage/foreground/soft/fore_s_120.png | Bin 0 -> 217 bytes .../garbage/foreground/soft/fore_s_121.png | Bin 0 -> 180 bytes .../garbage/foreground/soft/fore_s_122.png | Bin 0 -> 214 bytes .../garbage/foreground/soft/fore_s_123.png | Bin 0 -> 250 bytes .../garbage/foreground/soft/fore_s_124.png | Bin 0 -> 177 bytes .../garbage/foreground/soft/fore_s_125.png | Bin 0 -> 145 bytes .../garbage/foreground/soft/fore_s_126.png | Bin 0 -> 157 bytes .../garbage/foreground/soft/fore_s_127.png | Bin 0 -> 166 bytes .../garbage/foreground/soft/fore_s_128.png | Bin 0 -> 188 bytes .../garbage/foreground/soft/fore_s_129.png | Bin 0 -> 172 bytes .../garbage/foreground/soft/fore_s_13.png | Bin 0 -> 101 bytes .../garbage/foreground/soft/fore_s_130.png | Bin 0 -> 205 bytes .../garbage/foreground/soft/fore_s_131.png | Bin 0 -> 223 bytes .../garbage/foreground/soft/fore_s_132.png | Bin 0 -> 214 bytes .../garbage/foreground/soft/fore_s_133.png | Bin 0 -> 180 bytes .../garbage/foreground/soft/fore_s_134.png | Bin 0 -> 211 bytes .../garbage/foreground/soft/fore_s_135.png | Bin 0 -> 243 bytes .../garbage/foreground/soft/fore_s_136.png | Bin 0 -> 154 bytes .../garbage/foreground/soft/fore_s_137.png | Bin 0 -> 133 bytes .../garbage/foreground/soft/fore_s_138.png | Bin 0 -> 134 bytes .../garbage/foreground/soft/fore_s_139.png | Bin 0 -> 144 bytes .../garbage/foreground/soft/fore_s_14.png | Bin 0 -> 89 bytes .../garbage/foreground/soft/fore_s_140.png | Bin 0 -> 169 bytes .../garbage/foreground/soft/fore_s_141.png | Bin 0 -> 128 bytes .../garbage/foreground/soft/fore_s_142.png | Bin 0 -> 152 bytes .../garbage/foreground/soft/fore_s_143.png | Bin 0 -> 143 bytes .../garbage/foreground/soft/fore_s_144.png | Bin 0 -> 207 bytes .../garbage/foreground/soft/fore_s_145.png | Bin 0 -> 175 bytes .../garbage/foreground/soft/fore_s_146.png | Bin 0 -> 206 bytes .../garbage/foreground/soft/fore_s_147.png | Bin 0 -> 231 bytes .../garbage/foreground/soft/fore_s_148.png | Bin 0 -> 150 bytes .../garbage/foreground/soft/fore_s_149.png | Bin 0 -> 132 bytes .../garbage/foreground/soft/fore_s_15.png | Bin 0 -> 99 bytes .../garbage/foreground/soft/fore_s_150.png | Bin 0 -> 136 bytes .../garbage/foreground/soft/fore_s_151.png | Bin 0 -> 153 bytes .../garbage/foreground/soft/fore_s_152.png | Bin 0 -> 150 bytes .../garbage/foreground/soft/fore_s_153.png | Bin 0 -> 126 bytes .../garbage/foreground/soft/fore_s_154.png | Bin 0 -> 158 bytes .../garbage/foreground/soft/fore_s_155.png | Bin 0 -> 147 bytes .../garbage/foreground/soft/fore_s_156.png | Bin 0 -> 117 bytes .../garbage/foreground/soft/fore_s_157.png | Bin 0 -> 116 bytes .../garbage/foreground/soft/fore_s_158.png | Bin 0 -> 132 bytes .../garbage/foreground/soft/fore_s_159.png | Bin 0 -> 126 bytes .../garbage/foreground/soft/fore_s_16.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_160.png | Bin 0 -> 226 bytes .../garbage/foreground/soft/fore_s_161.png | Bin 0 -> 203 bytes .../garbage/foreground/soft/fore_s_162.png | Bin 0 -> 221 bytes .../garbage/foreground/soft/fore_s_163.png | Bin 0 -> 257 bytes .../garbage/foreground/soft/fore_s_164.png | Bin 0 -> 188 bytes .../garbage/foreground/soft/fore_s_165.png | Bin 0 -> 153 bytes .../garbage/foreground/soft/fore_s_166.png | Bin 0 -> 166 bytes .../garbage/foreground/soft/fore_s_167.png | Bin 0 -> 179 bytes .../garbage/foreground/soft/fore_s_168.png | Bin 0 -> 194 bytes .../garbage/foreground/soft/fore_s_169.png | Bin 0 -> 183 bytes .../garbage/foreground/soft/fore_s_17.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_170.png | Bin 0 -> 214 bytes .../garbage/foreground/soft/fore_s_171.png | Bin 0 -> 233 bytes .../garbage/foreground/soft/fore_s_172.png | Bin 0 -> 220 bytes .../garbage/foreground/soft/fore_s_173.png | Bin 0 -> 198 bytes .../garbage/foreground/soft/fore_s_174.png | Bin 0 -> 203 bytes .../garbage/foreground/soft/fore_s_175.png | Bin 0 -> 250 bytes .../garbage/foreground/soft/fore_s_176.png | Bin 0 -> 163 bytes .../garbage/foreground/soft/fore_s_177.png | Bin 0 -> 151 bytes .../garbage/foreground/soft/fore_s_178.png | Bin 0 -> 160 bytes .../garbage/foreground/soft/fore_s_179.png | Bin 0 -> 152 bytes .../garbage/foreground/soft/fore_s_18.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_180.png | Bin 0 -> 175 bytes .../garbage/foreground/soft/fore_s_181.png | Bin 0 -> 141 bytes .../garbage/foreground/soft/fore_s_182.png | Bin 0 -> 170 bytes .../garbage/foreground/soft/fore_s_183.png | Bin 0 -> 151 bytes .../garbage/foreground/soft/fore_s_184.png | Bin 0 -> 220 bytes .../garbage/foreground/soft/fore_s_185.png | Bin 0 -> 178 bytes .../garbage/foreground/soft/fore_s_186.png | Bin 0 -> 213 bytes .../garbage/foreground/soft/fore_s_187.png | Bin 0 -> 235 bytes .../garbage/foreground/soft/fore_s_188.png | Bin 0 -> 158 bytes .../garbage/foreground/soft/fore_s_189.png | Bin 0 -> 144 bytes .../garbage/foreground/soft/fore_s_19.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_190.png | Bin 0 -> 154 bytes .../garbage/foreground/soft/fore_s_191.png | Bin 0 -> 167 bytes .../garbage/foreground/soft/fore_s_192.png | Bin 0 -> 165 bytes .../garbage/foreground/soft/fore_s_193.png | Bin 0 -> 130 bytes .../garbage/foreground/soft/fore_s_194.png | Bin 0 -> 166 bytes .../garbage/foreground/soft/fore_s_195.png | Bin 0 -> 160 bytes .../garbage/foreground/soft/fore_s_196.png | Bin 0 -> 126 bytes .../garbage/foreground/soft/fore_s_197.png | Bin 0 -> 128 bytes .../garbage/foreground/soft/fore_s_198.png | Bin 0 -> 138 bytes .../garbage/foreground/soft/fore_s_199.png | Bin 0 -> 135 bytes .../garbage/foreground/soft/fore_s_2.png | Bin 0 -> 120 bytes .../garbage/foreground/soft/fore_s_20.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_200.png | Bin 0 -> 217 bytes .../garbage/foreground/soft/fore_s_201.png | Bin 0 -> 195 bytes .../garbage/foreground/soft/fore_s_202.png | Bin 0 -> 220 bytes .../garbage/foreground/soft/fore_s_203.png | Bin 0 -> 266 bytes .../garbage/foreground/soft/fore_s_204.png | Bin 0 -> 202 bytes .../garbage/foreground/soft/fore_s_205.png | Bin 0 -> 160 bytes .../garbage/foreground/soft/fore_s_206.png | Bin 0 -> 175 bytes .../garbage/foreground/soft/fore_s_207.png | Bin 0 -> 190 bytes .../garbage/foreground/soft/fore_s_208.png | Bin 0 -> 200 bytes .../garbage/foreground/soft/fore_s_209.png | Bin 0 -> 176 bytes .../garbage/foreground/soft/fore_s_21.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_210.png | Bin 0 -> 218 bytes .../garbage/foreground/soft/fore_s_211.png | Bin 0 -> 248 bytes .../garbage/foreground/soft/fore_s_212.png | Bin 0 -> 227 bytes .../garbage/foreground/soft/fore_s_213.png | Bin 0 -> 202 bytes .../garbage/foreground/soft/fore_s_214.png | Bin 0 -> 224 bytes .../garbage/foreground/soft/fore_s_215.png | Bin 0 -> 250 bytes .../garbage/foreground/soft/fore_s_216.png | Bin 0 -> 178 bytes .../garbage/foreground/soft/fore_s_217.png | Bin 0 -> 155 bytes .../garbage/foreground/soft/fore_s_218.png | Bin 0 -> 167 bytes .../garbage/foreground/soft/fore_s_219.png | Bin 0 -> 172 bytes .../garbage/foreground/soft/fore_s_22.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_220.png | Bin 0 -> 184 bytes .../garbage/foreground/soft/fore_s_221.png | Bin 0 -> 149 bytes .../garbage/foreground/soft/fore_s_222.png | Bin 0 -> 172 bytes .../garbage/foreground/soft/fore_s_223.png | Bin 0 -> 170 bytes .../garbage/foreground/soft/fore_s_224.png | Bin 0 -> 225 bytes .../garbage/foreground/soft/fore_s_225.png | Bin 0 -> 183 bytes .../garbage/foreground/soft/fore_s_226.png | Bin 0 -> 213 bytes .../garbage/foreground/soft/fore_s_227.png | Bin 0 -> 243 bytes .../garbage/foreground/soft/fore_s_228.png | Bin 0 -> 172 bytes .../garbage/foreground/soft/fore_s_229.png | Bin 0 -> 145 bytes .../garbage/foreground/soft/fore_s_23.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_230.png | Bin 0 -> 163 bytes .../garbage/foreground/soft/fore_s_231.png | Bin 0 -> 168 bytes .../garbage/foreground/soft/fore_s_232.png | Bin 0 -> 176 bytes .../garbage/foreground/soft/fore_s_233.png | Bin 0 -> 145 bytes .../garbage/foreground/soft/fore_s_234.png | Bin 0 -> 171 bytes .../garbage/foreground/soft/fore_s_235.png | Bin 0 -> 176 bytes .../garbage/foreground/soft/fore_s_236.png | Bin 0 -> 133 bytes .../garbage/foreground/soft/fore_s_237.png | Bin 0 -> 137 bytes .../garbage/foreground/soft/fore_s_238.png | Bin 0 -> 143 bytes .../garbage/foreground/soft/fore_s_239.png | Bin 0 -> 131 bytes .../garbage/foreground/soft/fore_s_24.png | Bin 0 -> 89 bytes .../garbage/foreground/soft/fore_s_25.png | Bin 0 -> 95 bytes .../garbage/foreground/soft/fore_s_26.png | Bin 0 -> 89 bytes .../garbage/foreground/soft/fore_s_27.png | Bin 0 -> 87 bytes .../garbage/foreground/soft/fore_s_28.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_29.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_3.png | Bin 0 -> 113 bytes .../garbage/foreground/soft/fore_s_30.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_31.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_32.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_33.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_34.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_35.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_36.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_37.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_38.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_39.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_4.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_40.png | Bin 0 -> 167 bytes .../garbage/foreground/soft/fore_s_41.png | Bin 0 -> 161 bytes .../garbage/foreground/soft/fore_s_42.png | Bin 0 -> 177 bytes .../garbage/foreground/soft/fore_s_43.png | Bin 0 -> 194 bytes .../garbage/foreground/soft/fore_s_44.png | Bin 0 -> 119 bytes .../garbage/foreground/soft/fore_s_45.png | Bin 0 -> 95 bytes .../garbage/foreground/soft/fore_s_46.png | Bin 0 -> 103 bytes .../garbage/foreground/soft/fore_s_47.png | Bin 0 -> 112 bytes .../garbage/foreground/soft/fore_s_48.png | Bin 0 -> 145 bytes .../garbage/foreground/soft/fore_s_49.png | Bin 0 -> 144 bytes .../garbage/foreground/soft/fore_s_5.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_50.png | Bin 0 -> 165 bytes .../garbage/foreground/soft/fore_s_51.png | Bin 0 -> 180 bytes .../garbage/foreground/soft/fore_s_52.png | Bin 0 -> 164 bytes .../garbage/foreground/soft/fore_s_53.png | Bin 0 -> 167 bytes .../garbage/foreground/soft/fore_s_54.png | Bin 0 -> 170 bytes .../garbage/foreground/soft/fore_s_55.png | Bin 0 -> 183 bytes .../garbage/foreground/soft/fore_s_56.png | Bin 0 -> 96 bytes .../garbage/foreground/soft/fore_s_57.png | Bin 0 -> 93 bytes .../garbage/foreground/soft/fore_s_58.png | Bin 0 -> 96 bytes .../garbage/foreground/soft/fore_s_59.png | Bin 0 -> 97 bytes .../garbage/foreground/soft/fore_s_6.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_60.png | Bin 0 -> 100 bytes .../garbage/foreground/soft/fore_s_61.png | Bin 0 -> 91 bytes .../garbage/foreground/soft/fore_s_62.png | Bin 0 -> 117 bytes .../garbage/foreground/soft/fore_s_63.png | Bin 0 -> 99 bytes .../garbage/foreground/soft/fore_s_64.png | Bin 0 -> 160 bytes .../garbage/foreground/soft/fore_s_65.png | Bin 0 -> 146 bytes .../garbage/foreground/soft/fore_s_66.png | Bin 0 -> 157 bytes .../garbage/foreground/soft/fore_s_67.png | Bin 0 -> 176 bytes .../garbage/foreground/soft/fore_s_68.png | Bin 0 -> 97 bytes .../garbage/foreground/soft/fore_s_69.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_7.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_70.png | Bin 0 -> 106 bytes .../garbage/foreground/soft/fore_s_71.png | Bin 0 -> 105 bytes .../garbage/foreground/soft/fore_s_72.png | Bin 0 -> 97 bytes .../garbage/foreground/soft/fore_s_73.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_74.png | Bin 0 -> 109 bytes .../garbage/foreground/soft/fore_s_75.png | Bin 0 -> 100 bytes .../garbage/foreground/soft/fore_s_76.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_77.png | Bin 0 -> 86 bytes .../garbage/foreground/soft/fore_s_78.png | Bin 0 -> 93 bytes .../garbage/foreground/soft/fore_s_79.png | Bin 0 -> 92 bytes .../garbage/foreground/soft/fore_s_8.png | Bin 0 -> 92 bytes .../garbage/foreground/soft/fore_s_80.png | Bin 0 -> 202 bytes .../garbage/foreground/soft/fore_s_81.png | Bin 0 -> 184 bytes .../garbage/foreground/soft/fore_s_82.png | Bin 0 -> 199 bytes .../garbage/foreground/soft/fore_s_83.png | Bin 0 -> 222 bytes .../garbage/foreground/soft/fore_s_84.png | Bin 0 -> 159 bytes .../garbage/foreground/soft/fore_s_85.png | Bin 0 -> 126 bytes .../garbage/foreground/soft/fore_s_86.png | Bin 0 -> 133 bytes .../garbage/foreground/soft/fore_s_87.png | Bin 0 -> 145 bytes .../garbage/foreground/soft/fore_s_88.png | Bin 0 -> 167 bytes .../garbage/foreground/soft/fore_s_89.png | Bin 0 -> 161 bytes .../garbage/foreground/soft/fore_s_9.png | Bin 0 -> 89 bytes .../garbage/foreground/soft/fore_s_90.png | Bin 0 -> 199 bytes .../garbage/foreground/soft/fore_s_91.png | Bin 0 -> 210 bytes .../garbage/foreground/soft/fore_s_92.png | Bin 0 -> 195 bytes .../garbage/foreground/soft/fore_s_93.png | Bin 0 -> 174 bytes .../garbage/foreground/soft/fore_s_94.png | Bin 0 -> 195 bytes .../garbage/foreground/soft/fore_s_95.png | Bin 0 -> 211 bytes .../garbage/foreground/soft/fore_s_96.png | Bin 0 -> 131 bytes .../garbage/foreground/soft/fore_s_97.png | Bin 0 -> 126 bytes .../garbage/foreground/soft/fore_s_98.png | Bin 0 -> 127 bytes .../garbage/foreground/soft/fore_s_99.png | Bin 0 -> 130 bytes .../bigbug/garbage/midground/hard/mid_h_0.png | Bin 0 -> 86 bytes .../bigbug/garbage/midground/hard/mid_h_1.png | Bin 0 -> 86 bytes .../garbage/midground/hard/mid_h_10.png | Bin 0 -> 85 bytes .../garbage/midground/hard/mid_h_100.png | Bin 0 -> 241 bytes .../garbage/midground/hard/mid_h_101.png | Bin 0 -> 239 bytes .../garbage/midground/hard/mid_h_102.png | Bin 0 -> 234 bytes .../garbage/midground/hard/mid_h_103.png | Bin 0 -> 240 bytes .../garbage/midground/hard/mid_h_104.png | Bin 0 -> 240 bytes .../garbage/midground/hard/mid_h_105.png | Bin 0 -> 238 bytes .../garbage/midground/hard/mid_h_106.png | Bin 0 -> 228 bytes .../garbage/midground/hard/mid_h_107.png | Bin 0 -> 241 bytes .../garbage/midground/hard/mid_h_108.png | Bin 0 -> 240 bytes .../garbage/midground/hard/mid_h_109.png | Bin 0 -> 243 bytes .../garbage/midground/hard/mid_h_11.png | Bin 0 -> 92 bytes .../garbage/midground/hard/mid_h_110.png | Bin 0 -> 254 bytes .../garbage/midground/hard/mid_h_111.png | Bin 0 -> 236 bytes .../garbage/midground/hard/mid_h_112.png | Bin 0 -> 239 bytes .../garbage/midground/hard/mid_h_113.png | Bin 0 -> 245 bytes .../garbage/midground/hard/mid_h_114.png | Bin 0 -> 242 bytes .../garbage/midground/hard/mid_h_115.png | Bin 0 -> 239 bytes .../garbage/midground/hard/mid_h_116.png | Bin 0 -> 248 bytes .../garbage/midground/hard/mid_h_117.png | Bin 0 -> 246 bytes .../garbage/midground/hard/mid_h_118.png | Bin 0 -> 248 bytes .../garbage/midground/hard/mid_h_119.png | Bin 0 -> 242 bytes .../garbage/midground/hard/mid_h_12.png | Bin 0 -> 100 bytes .../garbage/midground/hard/mid_h_13.png | Bin 0 -> 106 bytes .../garbage/midground/hard/mid_h_14.png | Bin 0 -> 96 bytes .../garbage/midground/hard/mid_h_15.png | Bin 0 -> 101 bytes .../garbage/midground/hard/mid_h_16.png | Bin 0 -> 89 bytes .../garbage/midground/hard/mid_h_17.png | Bin 0 -> 95 bytes .../garbage/midground/hard/mid_h_18.png | Bin 0 -> 89 bytes .../garbage/midground/hard/mid_h_19.png | Bin 0 -> 87 bytes .../bigbug/garbage/midground/hard/mid_h_2.png | Bin 0 -> 86 bytes .../garbage/midground/hard/mid_h_20.png | Bin 0 -> 189 bytes .../garbage/midground/hard/mid_h_21.png | Bin 0 -> 194 bytes .../garbage/midground/hard/mid_h_22.png | Bin 0 -> 194 bytes .../garbage/midground/hard/mid_h_23.png | Bin 0 -> 198 bytes .../garbage/midground/hard/mid_h_24.png | Bin 0 -> 181 bytes .../garbage/midground/hard/mid_h_25.png | Bin 0 -> 185 bytes .../garbage/midground/hard/mid_h_26.png | Bin 0 -> 179 bytes .../garbage/midground/hard/mid_h_27.png | Bin 0 -> 166 bytes .../garbage/midground/hard/mid_h_28.png | Bin 0 -> 190 bytes .../garbage/midground/hard/mid_h_29.png | Bin 0 -> 185 bytes .../bigbug/garbage/midground/hard/mid_h_3.png | Bin 0 -> 86 bytes .../garbage/midground/hard/mid_h_30.png | Bin 0 -> 192 bytes .../garbage/midground/hard/mid_h_31.png | Bin 0 -> 187 bytes .../garbage/midground/hard/mid_h_32.png | Bin 0 -> 187 bytes .../garbage/midground/hard/mid_h_33.png | Bin 0 -> 193 bytes .../garbage/midground/hard/mid_h_34.png | Bin 0 -> 195 bytes .../garbage/midground/hard/mid_h_35.png | Bin 0 -> 200 bytes .../garbage/midground/hard/mid_h_36.png | Bin 0 -> 202 bytes .../garbage/midground/hard/mid_h_37.png | Bin 0 -> 185 bytes .../garbage/midground/hard/mid_h_38.png | Bin 0 -> 201 bytes .../garbage/midground/hard/mid_h_39.png | Bin 0 -> 200 bytes .../bigbug/garbage/midground/hard/mid_h_4.png | Bin 0 -> 89 bytes .../garbage/midground/hard/mid_h_40.png | Bin 0 -> 209 bytes .../garbage/midground/hard/mid_h_41.png | Bin 0 -> 212 bytes .../garbage/midground/hard/mid_h_42.png | Bin 0 -> 222 bytes .../garbage/midground/hard/mid_h_43.png | Bin 0 -> 219 bytes .../garbage/midground/hard/mid_h_44.png | Bin 0 -> 188 bytes .../garbage/midground/hard/mid_h_45.png | Bin 0 -> 201 bytes .../garbage/midground/hard/mid_h_46.png | Bin 0 -> 201 bytes .../garbage/midground/hard/mid_h_47.png | Bin 0 -> 200 bytes .../garbage/midground/hard/mid_h_48.png | Bin 0 -> 211 bytes .../garbage/midground/hard/mid_h_49.png | Bin 0 -> 204 bytes .../bigbug/garbage/midground/hard/mid_h_5.png | Bin 0 -> 89 bytes .../garbage/midground/hard/mid_h_50.png | Bin 0 -> 205 bytes .../garbage/midground/hard/mid_h_51.png | Bin 0 -> 209 bytes .../garbage/midground/hard/mid_h_52.png | Bin 0 -> 206 bytes .../garbage/midground/hard/mid_h_53.png | Bin 0 -> 218 bytes .../garbage/midground/hard/mid_h_54.png | Bin 0 -> 215 bytes .../garbage/midground/hard/mid_h_55.png | Bin 0 -> 215 bytes .../garbage/midground/hard/mid_h_56.png | Bin 0 -> 215 bytes .../garbage/midground/hard/mid_h_57.png | Bin 0 -> 206 bytes .../garbage/midground/hard/mid_h_58.png | Bin 0 -> 220 bytes .../garbage/midground/hard/mid_h_59.png | Bin 0 -> 218 bytes .../bigbug/garbage/midground/hard/mid_h_6.png | Bin 0 -> 87 bytes .../garbage/midground/hard/mid_h_60.png | Bin 0 -> 256 bytes .../garbage/midground/hard/mid_h_61.png | Bin 0 -> 265 bytes .../garbage/midground/hard/mid_h_62.png | Bin 0 -> 249 bytes .../garbage/midground/hard/mid_h_63.png | Bin 0 -> 263 bytes .../garbage/midground/hard/mid_h_64.png | Bin 0 -> 247 bytes .../garbage/midground/hard/mid_h_65.png | Bin 0 -> 247 bytes .../garbage/midground/hard/mid_h_66.png | Bin 0 -> 247 bytes .../garbage/midground/hard/mid_h_67.png | Bin 0 -> 242 bytes .../garbage/midground/hard/mid_h_68.png | Bin 0 -> 269 bytes .../garbage/midground/hard/mid_h_69.png | Bin 0 -> 272 bytes .../bigbug/garbage/midground/hard/mid_h_7.png | Bin 0 -> 87 bytes .../garbage/midground/hard/mid_h_70.png | Bin 0 -> 276 bytes .../garbage/midground/hard/mid_h_71.png | Bin 0 -> 267 bytes .../garbage/midground/hard/mid_h_72.png | Bin 0 -> 261 bytes .../garbage/midground/hard/mid_h_73.png | Bin 0 -> 268 bytes .../garbage/midground/hard/mid_h_74.png | Bin 0 -> 276 bytes .../garbage/midground/hard/mid_h_75.png | Bin 0 -> 269 bytes .../garbage/midground/hard/mid_h_76.png | Bin 0 -> 268 bytes .../garbage/midground/hard/mid_h_77.png | Bin 0 -> 256 bytes .../garbage/midground/hard/mid_h_78.png | Bin 0 -> 261 bytes .../garbage/midground/hard/mid_h_79.png | Bin 0 -> 261 bytes .../bigbug/garbage/midground/hard/mid_h_8.png | Bin 0 -> 85 bytes .../garbage/midground/hard/mid_h_80.png | Bin 0 -> 291 bytes .../garbage/midground/hard/mid_h_81.png | Bin 0 -> 270 bytes .../garbage/midground/hard/mid_h_82.png | Bin 0 -> 283 bytes .../garbage/midground/hard/mid_h_83.png | Bin 0 -> 281 bytes .../garbage/midground/hard/mid_h_84.png | Bin 0 -> 273 bytes .../garbage/midground/hard/mid_h_85.png | Bin 0 -> 260 bytes .../garbage/midground/hard/mid_h_86.png | Bin 0 -> 262 bytes .../garbage/midground/hard/mid_h_87.png | Bin 0 -> 260 bytes .../garbage/midground/hard/mid_h_88.png | Bin 0 -> 288 bytes .../garbage/midground/hard/mid_h_89.png | Bin 0 -> 288 bytes .../bigbug/garbage/midground/hard/mid_h_9.png | Bin 0 -> 92 bytes .../garbage/midground/hard/mid_h_90.png | Bin 0 -> 279 bytes .../garbage/midground/hard/mid_h_91.png | Bin 0 -> 273 bytes .../garbage/midground/hard/mid_h_92.png | Bin 0 -> 280 bytes .../garbage/midground/hard/mid_h_93.png | Bin 0 -> 267 bytes .../garbage/midground/hard/mid_h_94.png | Bin 0 -> 279 bytes .../garbage/midground/hard/mid_h_95.png | Bin 0 -> 271 bytes .../garbage/midground/hard/mid_h_96.png | Bin 0 -> 283 bytes .../garbage/midground/hard/mid_h_97.png | Bin 0 -> 279 bytes .../garbage/midground/hard/mid_h_98.png | Bin 0 -> 297 bytes .../garbage/midground/hard/mid_h_99.png | Bin 0 -> 288 bytes .../garbage/midground/medium/mid_m_0.png | Bin 0 -> 86 bytes .../garbage/midground/medium/mid_m_1.png | Bin 0 -> 86 bytes .../garbage/midground/medium/mid_m_10.png | Bin 0 -> 100 bytes .../garbage/midground/medium/mid_m_100.png | Bin 0 -> 210 bytes .../garbage/midground/medium/mid_m_101.png | Bin 0 -> 217 bytes .../garbage/midground/medium/mid_m_102.png | Bin 0 -> 211 bytes .../garbage/midground/medium/mid_m_103.png | Bin 0 -> 227 bytes .../garbage/midground/medium/mid_m_104.png | Bin 0 -> 226 bytes .../garbage/midground/medium/mid_m_105.png | Bin 0 -> 224 bytes .../garbage/midground/medium/mid_m_106.png | Bin 0 -> 220 bytes .../garbage/midground/medium/mid_m_107.png | Bin 0 -> 246 bytes .../garbage/midground/medium/mid_m_108.png | Bin 0 -> 217 bytes .../garbage/midground/medium/mid_m_109.png | Bin 0 -> 240 bytes .../garbage/midground/medium/mid_m_11.png | Bin 0 -> 101 bytes .../garbage/midground/medium/mid_m_110.png | Bin 0 -> 225 bytes .../garbage/midground/medium/mid_m_111.png | Bin 0 -> 245 bytes .../garbage/midground/medium/mid_m_112.png | Bin 0 -> 228 bytes .../garbage/midground/medium/mid_m_113.png | Bin 0 -> 232 bytes .../garbage/midground/medium/mid_m_114.png | Bin 0 -> 248 bytes .../garbage/midground/medium/mid_m_115.png | Bin 0 -> 246 bytes .../garbage/midground/medium/mid_m_116.png | Bin 0 -> 228 bytes .../garbage/midground/medium/mid_m_117.png | Bin 0 -> 234 bytes .../garbage/midground/medium/mid_m_118.png | Bin 0 -> 219 bytes .../garbage/midground/medium/mid_m_119.png | Bin 0 -> 241 bytes .../garbage/midground/medium/mid_m_12.png | Bin 0 -> 108 bytes .../garbage/midground/medium/mid_m_13.png | Bin 0 -> 119 bytes .../garbage/midground/medium/mid_m_14.png | Bin 0 -> 109 bytes .../garbage/midground/medium/mid_m_15.png | Bin 0 -> 120 bytes .../garbage/midground/medium/mid_m_16.png | Bin 0 -> 89 bytes .../garbage/midground/medium/mid_m_17.png | Bin 0 -> 95 bytes .../garbage/midground/medium/mid_m_18.png | Bin 0 -> 89 bytes .../garbage/midground/medium/mid_m_19.png | Bin 0 -> 87 bytes .../garbage/midground/medium/mid_m_2.png | Bin 0 -> 86 bytes .../garbage/midground/medium/mid_m_20.png | Bin 0 -> 189 bytes .../garbage/midground/medium/mid_m_21.png | Bin 0 -> 175 bytes .../garbage/midground/medium/mid_m_22.png | Bin 0 -> 188 bytes .../garbage/midground/medium/mid_m_23.png | Bin 0 -> 198 bytes .../garbage/midground/medium/mid_m_24.png | Bin 0 -> 181 bytes .../garbage/midground/medium/mid_m_25.png | Bin 0 -> 177 bytes .../garbage/midground/medium/mid_m_26.png | Bin 0 -> 182 bytes .../garbage/midground/medium/mid_m_27.png | Bin 0 -> 201 bytes .../garbage/midground/medium/mid_m_28.png | Bin 0 -> 183 bytes .../garbage/midground/medium/mid_m_29.png | Bin 0 -> 186 bytes .../garbage/midground/medium/mid_m_3.png | Bin 0 -> 86 bytes .../garbage/midground/medium/mid_m_30.png | Bin 0 -> 191 bytes .../garbage/midground/medium/mid_m_31.png | Bin 0 -> 200 bytes .../garbage/midground/medium/mid_m_32.png | Bin 0 -> 188 bytes .../garbage/midground/medium/mid_m_33.png | Bin 0 -> 183 bytes .../garbage/midground/medium/mid_m_34.png | Bin 0 -> 183 bytes .../garbage/midground/medium/mid_m_35.png | Bin 0 -> 209 bytes .../garbage/midground/medium/mid_m_36.png | Bin 0 -> 176 bytes .../garbage/midground/medium/mid_m_37.png | Bin 0 -> 180 bytes .../garbage/midground/medium/mid_m_38.png | Bin 0 -> 185 bytes .../garbage/midground/medium/mid_m_39.png | Bin 0 -> 201 bytes .../garbage/midground/medium/mid_m_4.png | Bin 0 -> 98 bytes .../garbage/midground/medium/mid_m_40.png | Bin 0 -> 206 bytes .../garbage/midground/medium/mid_m_41.png | Bin 0 -> 203 bytes .../garbage/midground/medium/mid_m_42.png | Bin 0 -> 206 bytes .../garbage/midground/medium/mid_m_43.png | Bin 0 -> 221 bytes .../garbage/midground/medium/mid_m_44.png | Bin 0 -> 195 bytes .../garbage/midground/medium/mid_m_45.png | Bin 0 -> 189 bytes .../garbage/midground/medium/mid_m_46.png | Bin 0 -> 200 bytes .../garbage/midground/medium/mid_m_47.png | Bin 0 -> 212 bytes .../garbage/midground/medium/mid_m_48.png | Bin 0 -> 200 bytes .../garbage/midground/medium/mid_m_49.png | Bin 0 -> 206 bytes .../garbage/midground/medium/mid_m_5.png | Bin 0 -> 93 bytes .../garbage/midground/medium/mid_m_50.png | Bin 0 -> 203 bytes .../garbage/midground/medium/mid_m_51.png | Bin 0 -> 219 bytes .../garbage/midground/medium/mid_m_52.png | Bin 0 -> 199 bytes .../garbage/midground/medium/mid_m_53.png | Bin 0 -> 198 bytes .../garbage/midground/medium/mid_m_54.png | Bin 0 -> 215 bytes .../garbage/midground/medium/mid_m_55.png | Bin 0 -> 217 bytes .../garbage/midground/medium/mid_m_56.png | Bin 0 -> 207 bytes .../garbage/midground/medium/mid_m_57.png | Bin 0 -> 193 bytes .../garbage/midground/medium/mid_m_58.png | Bin 0 -> 207 bytes .../garbage/midground/medium/mid_m_59.png | Bin 0 -> 219 bytes .../garbage/midground/medium/mid_m_6.png | Bin 0 -> 101 bytes .../garbage/midground/medium/mid_m_60.png | Bin 0 -> 254 bytes .../garbage/midground/medium/mid_m_61.png | Bin 0 -> 231 bytes .../garbage/midground/medium/mid_m_62.png | Bin 0 -> 243 bytes .../garbage/midground/medium/mid_m_63.png | Bin 0 -> 263 bytes .../garbage/midground/medium/mid_m_64.png | Bin 0 -> 235 bytes .../garbage/midground/medium/mid_m_65.png | Bin 0 -> 235 bytes .../garbage/midground/medium/mid_m_66.png | Bin 0 -> 244 bytes .../garbage/midground/medium/mid_m_67.png | Bin 0 -> 251 bytes .../garbage/midground/medium/mid_m_68.png | Bin 0 -> 251 bytes .../garbage/midground/medium/mid_m_69.png | Bin 0 -> 251 bytes .../garbage/midground/medium/mid_m_7.png | Bin 0 -> 99 bytes .../garbage/midground/medium/mid_m_70.png | Bin 0 -> 241 bytes .../garbage/midground/medium/mid_m_71.png | Bin 0 -> 263 bytes .../garbage/midground/medium/mid_m_72.png | Bin 0 -> 247 bytes .../garbage/midground/medium/mid_m_73.png | Bin 0 -> 259 bytes .../garbage/midground/medium/mid_m_74.png | Bin 0 -> 258 bytes .../garbage/midground/medium/mid_m_75.png | Bin 0 -> 269 bytes .../garbage/midground/medium/mid_m_76.png | Bin 0 -> 246 bytes .../garbage/midground/medium/mid_m_77.png | Bin 0 -> 239 bytes .../garbage/midground/medium/mid_m_78.png | Bin 0 -> 249 bytes .../garbage/midground/medium/mid_m_79.png | Bin 0 -> 255 bytes .../garbage/midground/medium/mid_m_8.png | Bin 0 -> 105 bytes .../garbage/midground/medium/mid_m_80.png | Bin 0 -> 264 bytes .../garbage/midground/medium/mid_m_81.png | Bin 0 -> 251 bytes .../garbage/midground/medium/mid_m_82.png | Bin 0 -> 255 bytes .../garbage/midground/medium/mid_m_83.png | Bin 0 -> 270 bytes .../garbage/midground/medium/mid_m_84.png | Bin 0 -> 265 bytes .../garbage/midground/medium/mid_m_85.png | Bin 0 -> 266 bytes .../garbage/midground/medium/mid_m_86.png | Bin 0 -> 249 bytes .../garbage/midground/medium/mid_m_87.png | Bin 0 -> 274 bytes .../garbage/midground/medium/mid_m_88.png | Bin 0 -> 266 bytes .../garbage/midground/medium/mid_m_89.png | Bin 0 -> 264 bytes .../garbage/midground/medium/mid_m_9.png | Bin 0 -> 106 bytes .../garbage/midground/medium/mid_m_90.png | Bin 0 -> 264 bytes .../garbage/midground/medium/mid_m_91.png | Bin 0 -> 279 bytes .../garbage/midground/medium/mid_m_92.png | Bin 0 -> 248 bytes .../garbage/midground/medium/mid_m_93.png | Bin 0 -> 267 bytes .../garbage/midground/medium/mid_m_94.png | Bin 0 -> 272 bytes .../garbage/midground/medium/mid_m_95.png | Bin 0 -> 277 bytes .../garbage/midground/medium/mid_m_96.png | Bin 0 -> 264 bytes .../garbage/midground/medium/mid_m_97.png | Bin 0 -> 281 bytes .../garbage/midground/medium/mid_m_98.png | Bin 0 -> 272 bytes .../garbage/midground/medium/mid_m_99.png | Bin 0 -> 280 bytes .../bigbug/garbage/midground/soft/mid_s_0.png | Bin 0 -> 86 bytes .../bigbug/garbage/midground/soft/mid_s_1.png | Bin 0 -> 86 bytes .../garbage/midground/soft/mid_s_10.png | Bin 0 -> 89 bytes .../garbage/midground/soft/mid_s_100.png | Bin 0 -> 204 bytes .../garbage/midground/soft/mid_s_101.png | Bin 0 -> 172 bytes .../garbage/midground/soft/mid_s_102.png | Bin 0 -> 180 bytes .../garbage/midground/soft/mid_s_103.png | Bin 0 -> 198 bytes .../garbage/midground/soft/mid_s_104.png | Bin 0 -> 191 bytes .../garbage/midground/soft/mid_s_105.png | Bin 0 -> 168 bytes .../garbage/midground/soft/mid_s_106.png | Bin 0 -> 189 bytes .../garbage/midground/soft/mid_s_107.png | Bin 0 -> 211 bytes .../garbage/midground/soft/mid_s_108.png | Bin 0 -> 204 bytes .../garbage/midground/soft/mid_s_109.png | Bin 0 -> 186 bytes .../garbage/midground/soft/mid_s_11.png | Bin 0 -> 103 bytes .../garbage/midground/soft/mid_s_110.png | Bin 0 -> 189 bytes .../garbage/midground/soft/mid_s_111.png | Bin 0 -> 212 bytes .../garbage/midground/soft/mid_s_112.png | Bin 0 -> 214 bytes .../garbage/midground/soft/mid_s_113.png | Bin 0 -> 187 bytes .../garbage/midground/soft/mid_s_114.png | Bin 0 -> 217 bytes .../garbage/midground/soft/mid_s_115.png | Bin 0 -> 228 bytes .../garbage/midground/soft/mid_s_116.png | Bin 0 -> 206 bytes .../garbage/midground/soft/mid_s_117.png | Bin 0 -> 178 bytes .../garbage/midground/soft/mid_s_118.png | Bin 0 -> 183 bytes .../garbage/midground/soft/mid_s_119.png | Bin 0 -> 202 bytes .../garbage/midground/soft/mid_s_12.png | Bin 0 -> 114 bytes .../garbage/midground/soft/mid_s_13.png | Bin 0 -> 108 bytes .../garbage/midground/soft/mid_s_14.png | Bin 0 -> 110 bytes .../garbage/midground/soft/mid_s_15.png | Bin 0 -> 123 bytes .../garbage/midground/soft/mid_s_16.png | Bin 0 -> 89 bytes .../garbage/midground/soft/mid_s_17.png | Bin 0 -> 95 bytes .../garbage/midground/soft/mid_s_18.png | Bin 0 -> 89 bytes .../garbage/midground/soft/mid_s_19.png | Bin 0 -> 87 bytes .../bigbug/garbage/midground/soft/mid_s_2.png | Bin 0 -> 86 bytes .../garbage/midground/soft/mid_s_20.png | Bin 0 -> 161 bytes .../garbage/midground/soft/mid_s_21.png | Bin 0 -> 137 bytes .../garbage/midground/soft/mid_s_22.png | Bin 0 -> 152 bytes .../garbage/midground/soft/mid_s_23.png | Bin 0 -> 151 bytes .../garbage/midground/soft/mid_s_24.png | Bin 0 -> 145 bytes .../garbage/midground/soft/mid_s_25.png | Bin 0 -> 129 bytes .../garbage/midground/soft/mid_s_26.png | Bin 0 -> 149 bytes .../garbage/midground/soft/mid_s_27.png | Bin 0 -> 166 bytes .../garbage/midground/soft/mid_s_28.png | Bin 0 -> 160 bytes .../garbage/midground/soft/mid_s_29.png | Bin 0 -> 134 bytes .../bigbug/garbage/midground/soft/mid_s_3.png | Bin 0 -> 86 bytes .../garbage/midground/soft/mid_s_30.png | Bin 0 -> 149 bytes .../garbage/midground/soft/mid_s_31.png | Bin 0 -> 166 bytes .../garbage/midground/soft/mid_s_32.png | Bin 0 -> 185 bytes .../garbage/midground/soft/mid_s_33.png | Bin 0 -> 164 bytes .../garbage/midground/soft/mid_s_34.png | Bin 0 -> 161 bytes .../garbage/midground/soft/mid_s_35.png | Bin 0 -> 194 bytes .../garbage/midground/soft/mid_s_36.png | Bin 0 -> 172 bytes .../garbage/midground/soft/mid_s_37.png | Bin 0 -> 146 bytes .../garbage/midground/soft/mid_s_38.png | Bin 0 -> 157 bytes .../garbage/midground/soft/mid_s_39.png | Bin 0 -> 173 bytes .../bigbug/garbage/midground/soft/mid_s_4.png | Bin 0 -> 92 bytes .../garbage/midground/soft/mid_s_40.png | Bin 0 -> 181 bytes .../garbage/midground/soft/mid_s_41.png | Bin 0 -> 174 bytes .../garbage/midground/soft/mid_s_42.png | Bin 0 -> 192 bytes .../garbage/midground/soft/mid_s_43.png | Bin 0 -> 188 bytes .../garbage/midground/soft/mid_s_44.png | Bin 0 -> 156 bytes .../garbage/midground/soft/mid_s_45.png | Bin 0 -> 162 bytes .../garbage/midground/soft/mid_s_46.png | Bin 0 -> 185 bytes .../garbage/midground/soft/mid_s_47.png | Bin 0 -> 193 bytes .../garbage/midground/soft/mid_s_48.png | Bin 0 -> 180 bytes .../garbage/midground/soft/mid_s_49.png | Bin 0 -> 182 bytes .../bigbug/garbage/midground/soft/mid_s_5.png | Bin 0 -> 89 bytes .../garbage/midground/soft/mid_s_50.png | Bin 0 -> 187 bytes .../garbage/midground/soft/mid_s_51.png | Bin 0 -> 210 bytes .../garbage/midground/soft/mid_s_52.png | Bin 0 -> 198 bytes .../garbage/midground/soft/mid_s_53.png | Bin 0 -> 176 bytes .../garbage/midground/soft/mid_s_54.png | Bin 0 -> 199 bytes .../garbage/midground/soft/mid_s_55.png | Bin 0 -> 207 bytes .../garbage/midground/soft/mid_s_56.png | Bin 0 -> 176 bytes .../garbage/midground/soft/mid_s_57.png | Bin 0 -> 175 bytes .../garbage/midground/soft/mid_s_58.png | Bin 0 -> 187 bytes .../garbage/midground/soft/mid_s_59.png | Bin 0 -> 200 bytes .../bigbug/garbage/midground/soft/mid_s_6.png | Bin 0 -> 105 bytes .../garbage/midground/soft/mid_s_60.png | Bin 0 -> 199 bytes .../garbage/midground/soft/mid_s_61.png | Bin 0 -> 188 bytes .../garbage/midground/soft/mid_s_62.png | Bin 0 -> 197 bytes .../garbage/midground/soft/mid_s_63.png | Bin 0 -> 217 bytes .../garbage/midground/soft/mid_s_64.png | Bin 0 -> 187 bytes .../garbage/midground/soft/mid_s_65.png | Bin 0 -> 192 bytes .../garbage/midground/soft/mid_s_66.png | Bin 0 -> 193 bytes .../garbage/midground/soft/mid_s_67.png | Bin 0 -> 227 bytes .../garbage/midground/soft/mid_s_68.png | Bin 0 -> 212 bytes .../garbage/midground/soft/mid_s_69.png | Bin 0 -> 195 bytes .../bigbug/garbage/midground/soft/mid_s_7.png | Bin 0 -> 105 bytes .../garbage/midground/soft/mid_s_70.png | Bin 0 -> 208 bytes .../garbage/midground/soft/mid_s_71.png | Bin 0 -> 232 bytes .../garbage/midground/soft/mid_s_72.png | Bin 0 -> 234 bytes .../garbage/midground/soft/mid_s_73.png | Bin 0 -> 203 bytes .../garbage/midground/soft/mid_s_74.png | Bin 0 -> 235 bytes .../garbage/midground/soft/mid_s_75.png | Bin 0 -> 241 bytes .../garbage/midground/soft/mid_s_76.png | Bin 0 -> 221 bytes .../garbage/midground/soft/mid_s_77.png | Bin 0 -> 193 bytes .../garbage/midground/soft/mid_s_78.png | Bin 0 -> 211 bytes .../garbage/midground/soft/mid_s_79.png | Bin 0 -> 220 bytes .../bigbug/garbage/midground/soft/mid_s_8.png | Bin 0 -> 96 bytes .../garbage/midground/soft/mid_s_80.png | Bin 0 -> 234 bytes .../garbage/midground/soft/mid_s_81.png | Bin 0 -> 197 bytes .../garbage/midground/soft/mid_s_82.png | Bin 0 -> 217 bytes .../garbage/midground/soft/mid_s_83.png | Bin 0 -> 225 bytes .../garbage/midground/soft/mid_s_84.png | Bin 0 -> 213 bytes .../garbage/midground/soft/mid_s_85.png | Bin 0 -> 185 bytes .../garbage/midground/soft/mid_s_86.png | Bin 0 -> 211 bytes .../garbage/midground/soft/mid_s_87.png | Bin 0 -> 242 bytes .../garbage/midground/soft/mid_s_88.png | Bin 0 -> 239 bytes .../garbage/midground/soft/mid_s_89.png | Bin 0 -> 205 bytes .../bigbug/garbage/midground/soft/mid_s_9.png | Bin 0 -> 103 bytes .../garbage/midground/soft/mid_s_90.png | Bin 0 -> 222 bytes .../garbage/midground/soft/mid_s_91.png | Bin 0 -> 242 bytes .../garbage/midground/soft/mid_s_92.png | Bin 0 -> 238 bytes .../garbage/midground/soft/mid_s_93.png | Bin 0 -> 221 bytes .../garbage/midground/soft/mid_s_94.png | Bin 0 -> 242 bytes .../garbage/midground/soft/mid_s_95.png | Bin 0 -> 249 bytes .../garbage/midground/soft/mid_s_96.png | Bin 0 -> 226 bytes .../garbage/midground/soft/mid_s_97.png | Bin 0 -> 222 bytes .../garbage/midground/soft/mid_s_98.png | Bin 0 -> 233 bytes .../garbage/midground/soft/mid_s_99.png | Bin 0 -> 233 bytes assets/bigbug/garbotnik-0.png | Bin 0 -> 2114 bytes assets/bigbug/garbotnik-1.png | Bin 0 -> 2046 bytes assets/bigbug/garbotnik-2.png | Bin 0 -> 1963 bytes assets/bigbug/headlampLookup.png | Bin 0 -> 2440 bytes assets/bigbug/hit/hit0.png | Bin 0 -> 573 bytes assets/bigbug/hit/hit1.png | Bin 0 -> 736 bytes assets/bigbug/hit/hit2.png | Bin 0 -> 804 bytes assets/bigbug/hit/hit3.png | Bin 0 -> 789 bytes assets/bigbug/hit/hit4.png | Bin 0 -> 800 bytes assets/bigbug/hit/hit5.png | Bin 0 -> 791 bytes assets/bigbug/hit/hit6.png | Bin 0 -> 782 bytes assets/bigbug/hit/hit7.png | Bin 0 -> 736 bytes assets/bigbug/level.png | Bin 0 -> 4554 bytes assets/bigbug/levelNew.png | Bin 0 -> 7727 bytes assets/bigbug/levelOld.png | Bin 0 -> 19107 bytes assets/bigbug/old/mg0.png | Bin 0 -> 2529 bytes assets/bigbug/old/mg016.png | Bin 0 -> 874 bytes assets/bigbug/old/mg017.png | Bin 0 -> 979 bytes assets/bigbug/old/mg018.png | Bin 0 -> 1022 bytes assets/bigbug/old/mg019.png | Bin 0 -> 1099 bytes assets/bigbug/old/mg020.png | Bin 0 -> 987 bytes assets/bigbug/old/mg021.png | Bin 0 -> 1048 bytes assets/bigbug/old/mg022.png | Bin 0 -> 967 bytes assets/bigbug/old/mg023.png | Bin 0 -> 1115 bytes assets/bigbug/old/mg024.png | Bin 0 -> 1030 bytes assets/bigbug/old/mg025.png | Bin 0 -> 927 bytes assets/bigbug/old/mg026.png | Bin 0 -> 1041 bytes assets/bigbug/old/mg027.png | Bin 0 -> 1082 bytes assets/bigbug/old/mg028.png | Bin 0 -> 1116 bytes assets/bigbug/old/mg029.png | Bin 0 -> 964 bytes assets/bigbug/old/mg030.png | Bin 0 -> 1010 bytes assets/bigbug/old/mg031.png | Bin 0 -> 867 bytes assets/bigbug/old/mg1.png | Bin 0 -> 2501 bytes assets/bigbug/old/mg10.png | Bin 0 -> 2162 bytes assets/bigbug/old/mg11.png | Bin 0 -> 2436 bytes assets/bigbug/old/mg12.png | Bin 0 -> 2473 bytes assets/bigbug/old/mg13.png | Bin 0 -> 2188 bytes assets/bigbug/old/mg14.png | Bin 0 -> 2316 bytes assets/bigbug/old/mg15.png | Bin 0 -> 2499 bytes assets/bigbug/old/mg2.png | Bin 0 -> 2465 bytes assets/bigbug/old/mg3.png | Bin 0 -> 2444 bytes assets/bigbug/old/mg4.png | Bin 0 -> 2499 bytes assets/bigbug/old/mg5.png | Bin 0 -> 2279 bytes assets/bigbug/old/mg6.png | Bin 0 -> 2355 bytes assets/bigbug/old/mg7.png | Bin 0 -> 2491 bytes assets/bigbug/old/mg8.png | Bin 0 -> 2345 bytes assets/bigbug/old/mg9.png | Bin 0 -> 546 bytes assets/bigbug/trash_background.png | Bin 0 -> 7416 bytes assets/fonts/righteous_150.font.png | Bin 3733 -> 8985 bytes emulator/src-lib/rawdraw | 2 +- emulator/src/extensions/modes/ext_modes.c | 10 +- main/CMakeLists.txt | 9 + main/display/wsg.c | 10 +- main/modes/games/bigbug/aabb_utils_bigbug.c | 52 + main/modes/games/bigbug/aabb_utils_bigbug.h | 19 + .../modes/games/bigbug/entityManager_bigbug.c | 259 ++++ .../modes/games/bigbug/entityManager_bigbug.h | 59 + main/modes/games/bigbug/entity_bigbug.c | 40 + main/modes/games/bigbug/entity_bigbug.h | 76 + main/modes/games/bigbug/gameData_bigbug.c | 92 ++ main/modes/games/bigbug/gameData_bigbug.h | 69 + main/modes/games/bigbug/mode_bigbug.c | 699 +++++++++ main/modes/games/bigbug/mode_bigbug.h | 19 + main/modes/games/bigbug/node_bigbug.h | 11 + main/modes/games/bigbug/pathfinding_bigbug.c | 78 + main/modes/games/bigbug/pathfinding_bigbug.h | 27 + main/modes/games/bigbug/soundManager_bigbug.c | 71 + main/modes/games/bigbug/soundManager_bigbug.h | 60 + main/modes/games/bigbug/sprite_bigbug.h | 22 + main/modes/games/bigbug/tilemap_bigbug.c | 1287 +++++++++++++++++ main/modes/games/bigbug/tilemap_bigbug.h | 57 + main/modes/games/bigbug/typedef_bigbug.h | 35 + main/modes/system/mainMenu/mainMenu.c | 6 + main/utils/fp_math.h | 2 +- makefile | 5 +- 1299 files changed, 3062 insertions(+), 14 deletions(-) create mode 100644 assets/bigbug/animation/crumble/crumble0.png create mode 100644 assets/bigbug/animation/crumble/crumble1.png create mode 100644 assets/bigbug/animation/crumble/crumble10.png create mode 100644 assets/bigbug/animation/crumble/crumble11.png create mode 100644 assets/bigbug/animation/crumble/crumble12.png create mode 100644 assets/bigbug/animation/crumble/crumble13.png create mode 100644 assets/bigbug/animation/crumble/crumble14.png create mode 100644 assets/bigbug/animation/crumble/crumble15.png create mode 100644 assets/bigbug/animation/crumble/crumble16.png create mode 100644 assets/bigbug/animation/crumble/crumble17.png create mode 100644 assets/bigbug/animation/crumble/crumble18.png create mode 100644 assets/bigbug/animation/crumble/crumble19.png create mode 100644 assets/bigbug/animation/crumble/crumble2.png create mode 100644 assets/bigbug/animation/crumble/crumble20.png create mode 100644 assets/bigbug/animation/crumble/crumble21.png create mode 100644 assets/bigbug/animation/crumble/crumble22.png create mode 100644 assets/bigbug/animation/crumble/crumble23.png create mode 100644 assets/bigbug/animation/crumble/crumble3.png create mode 100644 assets/bigbug/animation/crumble/crumble4.png create mode 100644 assets/bigbug/animation/crumble/crumble5.png create mode 100644 assets/bigbug/animation/crumble/crumble6.png create mode 100644 assets/bigbug/animation/crumble/crumble7.png create mode 100644 assets/bigbug/animation/crumble/crumble8.png create mode 100644 assets/bigbug/animation/crumble/crumble9.png create mode 100644 assets/bigbug/baked_Landfill2.png create mode 100644 assets/bigbug/baked_Landfill3.png create mode 100644 assets/bigbug/button-outline.png create mode 100644 assets/bigbug/dirt.png create mode 100644 assets/bigbug/dirt/H1/1_H_0.png create mode 100644 assets/bigbug/dirt/H1/1_H_1.png create mode 100644 assets/bigbug/dirt/H1/1_H_10.png create mode 100644 assets/bigbug/dirt/H1/1_H_11.png create mode 100644 assets/bigbug/dirt/H1/1_H_12.png create mode 100644 assets/bigbug/dirt/H1/1_H_13.png create mode 100644 assets/bigbug/dirt/H1/1_H_14.png create mode 100644 assets/bigbug/dirt/H1/1_H_15.png create mode 100644 assets/bigbug/dirt/H1/1_H_2.png create mode 100644 assets/bigbug/dirt/H1/1_H_3.png create mode 100644 assets/bigbug/dirt/H1/1_H_4.png create mode 100644 assets/bigbug/dirt/H1/1_H_5.png create mode 100644 assets/bigbug/dirt/H1/1_H_6.png create mode 100644 assets/bigbug/dirt/H1/1_H_7.png create mode 100644 assets/bigbug/dirt/H1/1_H_8.png create mode 100644 assets/bigbug/dirt/H1/1_H_9.png create mode 100644 assets/bigbug/dirt/H2/2_H_0.png create mode 100644 assets/bigbug/dirt/H2/2_H_1.png create mode 100644 assets/bigbug/dirt/H2/2_H_10.png create mode 100644 assets/bigbug/dirt/H2/2_H_11.png create mode 100644 assets/bigbug/dirt/H2/2_H_12.png create mode 100644 assets/bigbug/dirt/H2/2_H_13.png create mode 100644 assets/bigbug/dirt/H2/2_H_14.png create mode 100644 assets/bigbug/dirt/H2/2_H_15.png create mode 100644 assets/bigbug/dirt/H2/2_H_2.png create mode 100644 assets/bigbug/dirt/H2/2_H_3.png create mode 100644 assets/bigbug/dirt/H2/2_H_4.png create mode 100644 assets/bigbug/dirt/H2/2_H_5.png create mode 100644 assets/bigbug/dirt/H2/2_H_6.png create mode 100644 assets/bigbug/dirt/H2/2_H_7.png create mode 100644 assets/bigbug/dirt/H2/2_H_8.png create mode 100644 assets/bigbug/dirt/H2/2_H_9.png create mode 100644 assets/bigbug/dirt/M1/1_M_0.png create mode 100644 assets/bigbug/dirt/M1/1_M_1.png create mode 100644 assets/bigbug/dirt/M1/1_M_10.png create mode 100644 assets/bigbug/dirt/M1/1_M_11.png create mode 100644 assets/bigbug/dirt/M1/1_M_12.png create mode 100644 assets/bigbug/dirt/M1/1_M_13.png create mode 100644 assets/bigbug/dirt/M1/1_M_14.png create mode 100644 assets/bigbug/dirt/M1/1_M_15.png create mode 100644 assets/bigbug/dirt/M1/1_M_2.png create mode 100644 assets/bigbug/dirt/M1/1_M_3.png create mode 100644 assets/bigbug/dirt/M1/1_M_4.png create mode 100644 assets/bigbug/dirt/M1/1_M_5.png create mode 100644 assets/bigbug/dirt/M1/1_M_6.png create mode 100644 assets/bigbug/dirt/M1/1_M_7.png create mode 100644 assets/bigbug/dirt/M1/1_M_8.png create mode 100644 assets/bigbug/dirt/M1/1_M_9.png create mode 100644 assets/bigbug/dirt/M2/2_M_0.png create mode 100644 assets/bigbug/dirt/M2/2_M_1.png create mode 100644 assets/bigbug/dirt/M2/2_M_10.png create mode 100644 assets/bigbug/dirt/M2/2_M_11.png create mode 100644 assets/bigbug/dirt/M2/2_M_12.png create mode 100644 assets/bigbug/dirt/M2/2_M_13.png create mode 100644 assets/bigbug/dirt/M2/2_M_14.png create mode 100644 assets/bigbug/dirt/M2/2_M_15.png create mode 100644 assets/bigbug/dirt/M2/2_M_2.png create mode 100644 assets/bigbug/dirt/M2/2_M_3.png create mode 100644 assets/bigbug/dirt/M2/2_M_4.png create mode 100644 assets/bigbug/dirt/M2/2_M_5.png create mode 100644 assets/bigbug/dirt/M2/2_M_6.png create mode 100644 assets/bigbug/dirt/M2/2_M_7.png create mode 100644 assets/bigbug/dirt/M2/2_M_8.png create mode 100644 assets/bigbug/dirt/M2/2_M_9.png create mode 100644 assets/bigbug/dirt/S1/1_S_0.png create mode 100644 assets/bigbug/dirt/S1/1_S_1.png create mode 100644 assets/bigbug/dirt/S1/1_S_10.png create mode 100644 assets/bigbug/dirt/S1/1_S_11.png create mode 100644 assets/bigbug/dirt/S1/1_S_12.png create mode 100644 assets/bigbug/dirt/S1/1_S_13.png create mode 100644 assets/bigbug/dirt/S1/1_S_14.png create mode 100644 assets/bigbug/dirt/S1/1_S_15.png create mode 100644 assets/bigbug/dirt/S1/1_S_2.png create mode 100644 assets/bigbug/dirt/S1/1_S_3.png create mode 100644 assets/bigbug/dirt/S1/1_S_4.png create mode 100644 assets/bigbug/dirt/S1/1_S_5.png create mode 100644 assets/bigbug/dirt/S1/1_S_6.png create mode 100644 assets/bigbug/dirt/S1/1_S_7.png create mode 100644 assets/bigbug/dirt/S1/1_S_8.png create mode 100644 assets/bigbug/dirt/S1/1_S_9.png create mode 100644 assets/bigbug/dirt/S2/2_S_0.png create mode 100644 assets/bigbug/dirt/S2/2_S_1.png create mode 100644 assets/bigbug/dirt/S2/2_S_10.png create mode 100644 assets/bigbug/dirt/S2/2_S_11.png create mode 100644 assets/bigbug/dirt/S2/2_S_12.png create mode 100644 assets/bigbug/dirt/S2/2_S_13.png create mode 100644 assets/bigbug/dirt/S2/2_S_14.png create mode 100644 assets/bigbug/dirt/S2/2_S_15.png create mode 100644 assets/bigbug/dirt/S2/2_S_2.png create mode 100644 assets/bigbug/dirt/S2/2_S_3.png create mode 100644 assets/bigbug/dirt/S2/2_S_4.png create mode 100644 assets/bigbug/dirt/S2/2_S_5.png create mode 100644 assets/bigbug/dirt/S2/2_S_6.png create mode 100644 assets/bigbug/dirt/S2/2_S_7.png create mode 100644 assets/bigbug/dirt/S2/2_S_8.png create mode 100644 assets/bigbug/dirt/S2/2_S_9.png create mode 100644 assets/bigbug/dumpSurface.png create mode 100644 assets/bigbug/dumpSurface_small.png create mode 100644 assets/bigbug/fromBreakout/brkBgmCrazy.mid create mode 100644 assets/bigbug/fromBreakout/brkBgmFinale.mid create mode 100644 assets/bigbug/fromBreakout/brkBgmPixel.mid create mode 100644 assets/bigbug/fromBreakout/brkBgmSkill.mid create mode 100644 assets/bigbug/fromBreakout/brkBgmTitle.mid create mode 100644 assets/bigbug/fromBreakout/brkGameOver.mid create mode 100644 assets/bigbug/fromBreakout/brkGetReady.mid create mode 100644 assets/bigbug/fromBreakout/brkHighScore.mid create mode 100644 assets/bigbug/fromBreakout/brkLvlClear.mid create mode 100644 assets/bigbug/fromBreakout/sndBounce.mid create mode 100644 assets/bigbug/fromBreakout/sndBreak.mid create mode 100644 assets/bigbug/fromBreakout/sndBreak2.mid create mode 100644 assets/bigbug/fromBreakout/sndBreak3.mid create mode 100644 assets/bigbug/fromBreakout/sndBrk1up.mid create mode 100644 assets/bigbug/fromBreakout/sndBrkDie.mid create mode 100644 assets/bigbug/fromBreakout/sndDropBomb.mid create mode 100644 assets/bigbug/fromBreakout/sndTally.mid create mode 100644 assets/bigbug/fromBreakout/sndWaveBall.mid create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_0.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_1.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_10.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_100.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_101.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_102.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_103.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_104.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_105.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_106.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_107.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_108.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_109.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_11.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_110.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_111.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_112.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_113.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_114.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_115.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_116.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_117.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_118.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_119.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_12.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_120.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_121.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_122.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_123.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_124.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_125.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_126.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_127.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_128.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_129.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_13.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_130.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_131.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_132.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_133.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_134.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_135.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_136.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_137.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_138.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_139.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_14.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_140.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_141.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_142.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_143.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_144.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_145.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_146.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_147.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_148.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_149.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_15.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_150.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_151.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_152.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_153.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_154.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_155.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_156.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_157.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_158.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_159.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_16.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_160.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_161.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_162.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_163.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_164.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_165.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_166.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_167.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_168.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_169.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_17.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_170.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_171.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_172.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_173.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_174.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_175.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_176.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_177.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_178.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_179.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_18.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_180.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_181.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_182.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_183.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_184.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_185.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_186.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_187.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_188.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_189.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_19.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_190.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_191.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_192.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_193.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_194.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_195.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_196.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_197.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_198.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_199.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_2.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_20.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_200.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_201.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_202.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_203.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_204.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_205.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_206.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_207.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_208.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_209.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_21.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_210.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_211.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_212.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_213.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_214.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_215.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_216.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_217.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_218.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_219.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_22.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_220.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_221.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_222.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_223.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_224.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_225.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_226.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_227.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_228.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_229.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_23.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_230.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_231.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_232.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_233.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_234.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_235.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_236.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_237.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_238.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_239.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_24.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_25.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_26.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_27.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_28.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_29.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_3.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_30.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_31.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_32.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_33.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_34.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_35.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_36.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_37.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_38.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_39.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_4.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_40.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_41.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_42.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_43.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_44.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_45.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_46.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_47.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_48.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_49.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_5.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_50.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_51.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_52.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_53.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_54.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_55.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_56.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_57.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_58.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_59.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_6.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_60.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_61.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_62.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_63.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_64.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_65.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_66.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_67.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_68.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_69.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_7.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_70.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_71.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_72.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_73.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_74.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_75.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_76.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_77.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_78.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_79.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_8.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_80.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_81.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_82.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_83.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_84.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_85.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_86.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_87.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_88.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_89.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_9.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_90.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_91.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_92.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_93.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_94.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_95.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_96.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_97.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_98.png create mode 100644 assets/bigbug/garbage/foreground/hard/fore_h_99.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_0.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_1.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_10.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_100.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_101.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_102.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_103.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_104.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_105.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_106.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_107.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_108.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_109.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_11.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_110.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_111.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_112.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_113.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_114.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_115.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_116.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_117.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_118.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_119.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_12.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_120.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_121.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_122.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_123.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_124.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_125.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_126.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_127.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_128.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_129.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_13.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_130.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_131.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_132.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_133.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_134.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_135.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_136.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_137.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_138.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_139.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_14.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_140.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_141.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_142.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_143.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_144.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_145.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_146.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_147.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_148.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_149.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_15.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_150.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_151.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_152.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_153.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_154.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_155.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_156.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_157.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_158.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_159.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_16.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_160.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_161.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_162.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_163.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_164.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_165.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_166.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_167.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_168.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_169.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_17.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_170.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_171.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_172.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_173.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_174.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_175.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_176.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_177.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_178.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_179.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_18.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_180.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_181.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_182.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_183.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_184.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_185.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_186.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_187.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_188.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_189.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_19.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_190.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_191.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_192.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_193.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_194.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_195.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_196.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_197.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_198.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_199.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_2.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_20.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_200.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_201.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_202.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_203.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_204.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_205.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_206.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_207.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_208.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_209.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_21.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_210.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_211.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_212.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_213.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_214.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_215.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_216.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_217.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_218.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_219.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_22.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_220.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_221.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_222.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_223.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_224.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_225.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_226.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_227.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_228.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_229.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_23.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_230.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_231.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_232.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_233.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_234.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_235.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_236.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_237.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_238.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_239.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_24.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_25.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_26.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_27.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_28.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_29.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_3.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_30.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_31.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_32.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_33.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_34.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_35.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_36.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_37.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_38.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_39.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_4.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_40.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_41.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_42.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_43.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_44.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_45.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_46.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_47.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_48.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_49.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_5.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_50.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_51.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_52.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_53.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_54.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_55.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_56.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_57.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_58.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_59.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_6.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_60.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_61.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_62.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_63.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_64.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_65.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_66.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_67.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_68.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_69.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_7.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_70.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_71.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_72.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_73.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_74.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_75.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_76.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_77.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_78.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_79.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_8.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_80.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_81.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_82.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_83.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_84.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_85.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_86.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_87.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_88.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_89.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_9.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_90.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_91.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_92.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_93.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_94.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_95.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_96.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_97.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_98.png create mode 100644 assets/bigbug/garbage/foreground/medium/fore_m_99.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_0.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_1.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_10.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_100.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_101.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_102.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_103.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_104.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_105.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_106.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_107.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_108.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_109.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_11.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_110.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_111.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_112.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_113.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_114.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_115.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_116.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_117.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_118.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_119.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_12.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_120.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_121.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_122.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_123.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_124.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_125.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_126.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_127.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_128.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_129.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_13.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_130.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_131.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_132.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_133.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_134.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_135.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_136.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_137.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_138.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_139.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_14.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_140.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_141.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_142.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_143.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_144.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_145.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_146.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_147.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_148.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_149.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_15.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_150.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_151.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_152.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_153.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_154.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_155.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_156.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_157.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_158.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_159.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_16.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_160.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_161.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_162.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_163.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_164.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_165.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_166.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_167.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_168.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_169.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_17.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_170.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_171.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_172.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_173.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_174.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_175.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_176.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_177.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_178.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_179.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_18.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_180.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_181.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_182.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_183.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_184.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_185.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_186.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_187.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_188.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_189.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_19.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_190.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_191.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_192.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_193.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_194.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_195.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_196.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_197.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_198.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_199.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_2.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_20.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_200.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_201.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_202.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_203.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_204.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_205.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_206.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_207.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_208.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_209.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_21.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_210.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_211.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_212.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_213.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_214.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_215.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_216.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_217.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_218.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_219.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_22.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_220.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_221.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_222.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_223.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_224.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_225.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_226.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_227.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_228.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_229.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_23.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_230.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_231.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_232.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_233.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_234.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_235.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_236.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_237.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_238.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_239.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_24.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_25.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_26.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_27.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_28.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_29.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_3.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_30.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_31.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_32.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_33.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_34.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_35.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_36.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_37.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_38.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_39.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_4.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_40.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_41.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_42.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_43.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_44.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_45.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_46.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_47.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_48.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_49.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_5.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_50.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_51.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_52.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_53.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_54.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_55.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_56.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_57.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_58.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_59.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_6.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_60.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_61.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_62.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_63.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_64.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_65.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_66.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_67.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_68.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_69.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_7.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_70.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_71.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_72.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_73.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_74.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_75.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_76.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_77.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_78.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_79.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_8.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_80.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_81.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_82.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_83.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_84.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_85.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_86.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_87.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_88.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_89.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_9.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_90.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_91.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_92.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_93.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_94.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_95.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_96.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_97.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_98.png create mode 100644 assets/bigbug/garbage/foreground/soft/fore_s_99.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_0.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_1.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_10.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_100.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_101.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_102.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_103.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_104.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_105.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_106.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_107.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_108.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_109.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_11.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_110.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_111.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_112.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_113.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_114.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_115.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_116.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_117.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_118.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_119.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_12.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_13.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_14.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_15.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_16.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_17.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_18.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_19.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_2.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_20.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_21.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_22.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_23.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_24.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_25.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_26.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_27.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_28.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_29.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_3.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_30.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_31.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_32.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_33.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_34.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_35.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_36.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_37.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_38.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_39.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_4.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_40.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_41.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_42.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_43.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_44.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_45.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_46.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_47.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_48.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_49.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_5.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_50.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_51.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_52.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_53.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_54.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_55.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_56.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_57.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_58.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_59.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_6.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_60.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_61.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_62.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_63.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_64.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_65.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_66.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_67.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_68.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_69.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_7.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_70.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_71.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_72.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_73.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_74.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_75.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_76.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_77.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_78.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_79.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_8.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_80.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_81.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_82.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_83.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_84.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_85.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_86.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_87.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_88.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_89.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_9.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_90.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_91.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_92.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_93.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_94.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_95.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_96.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_97.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_98.png create mode 100644 assets/bigbug/garbage/midground/hard/mid_h_99.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_0.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_1.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_10.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_100.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_101.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_102.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_103.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_104.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_105.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_106.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_107.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_108.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_109.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_11.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_110.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_111.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_112.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_113.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_114.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_115.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_116.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_117.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_118.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_119.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_12.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_13.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_14.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_15.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_16.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_17.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_18.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_19.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_2.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_20.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_21.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_22.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_23.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_24.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_25.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_26.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_27.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_28.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_29.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_3.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_30.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_31.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_32.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_33.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_34.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_35.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_36.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_37.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_38.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_39.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_4.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_40.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_41.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_42.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_43.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_44.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_45.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_46.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_47.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_48.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_49.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_5.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_50.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_51.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_52.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_53.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_54.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_55.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_56.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_57.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_58.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_59.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_6.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_60.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_61.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_62.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_63.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_64.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_65.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_66.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_67.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_68.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_69.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_7.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_70.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_71.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_72.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_73.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_74.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_75.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_76.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_77.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_78.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_79.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_8.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_80.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_81.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_82.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_83.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_84.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_85.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_86.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_87.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_88.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_89.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_9.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_90.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_91.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_92.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_93.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_94.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_95.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_96.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_97.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_98.png create mode 100644 assets/bigbug/garbage/midground/medium/mid_m_99.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_0.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_1.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_10.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_100.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_101.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_102.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_103.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_104.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_105.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_106.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_107.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_108.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_109.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_11.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_110.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_111.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_112.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_113.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_114.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_115.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_116.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_117.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_118.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_119.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_12.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_13.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_14.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_15.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_16.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_17.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_18.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_19.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_2.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_20.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_21.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_22.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_23.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_24.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_25.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_26.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_27.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_28.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_29.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_3.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_30.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_31.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_32.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_33.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_34.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_35.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_36.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_37.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_38.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_39.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_4.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_40.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_41.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_42.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_43.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_44.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_45.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_46.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_47.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_48.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_49.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_5.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_50.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_51.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_52.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_53.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_54.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_55.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_56.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_57.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_58.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_59.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_6.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_60.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_61.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_62.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_63.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_64.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_65.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_66.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_67.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_68.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_69.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_7.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_70.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_71.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_72.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_73.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_74.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_75.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_76.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_77.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_78.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_79.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_8.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_80.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_81.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_82.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_83.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_84.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_85.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_86.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_87.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_88.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_89.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_9.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_90.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_91.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_92.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_93.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_94.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_95.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_96.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_97.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_98.png create mode 100644 assets/bigbug/garbage/midground/soft/mid_s_99.png create mode 100644 assets/bigbug/garbotnik-0.png create mode 100644 assets/bigbug/garbotnik-1.png create mode 100644 assets/bigbug/garbotnik-2.png create mode 100644 assets/bigbug/headlampLookup.png create mode 100644 assets/bigbug/hit/hit0.png create mode 100644 assets/bigbug/hit/hit1.png create mode 100644 assets/bigbug/hit/hit2.png create mode 100644 assets/bigbug/hit/hit3.png create mode 100644 assets/bigbug/hit/hit4.png create mode 100644 assets/bigbug/hit/hit5.png create mode 100644 assets/bigbug/hit/hit6.png create mode 100644 assets/bigbug/hit/hit7.png create mode 100644 assets/bigbug/level.png create mode 100644 assets/bigbug/levelNew.png create mode 100644 assets/bigbug/levelOld.png create mode 100644 assets/bigbug/old/mg0.png create mode 100644 assets/bigbug/old/mg016.png create mode 100644 assets/bigbug/old/mg017.png create mode 100644 assets/bigbug/old/mg018.png create mode 100644 assets/bigbug/old/mg019.png create mode 100644 assets/bigbug/old/mg020.png create mode 100644 assets/bigbug/old/mg021.png create mode 100644 assets/bigbug/old/mg022.png create mode 100644 assets/bigbug/old/mg023.png create mode 100644 assets/bigbug/old/mg024.png create mode 100644 assets/bigbug/old/mg025.png create mode 100644 assets/bigbug/old/mg026.png create mode 100644 assets/bigbug/old/mg027.png create mode 100644 assets/bigbug/old/mg028.png create mode 100644 assets/bigbug/old/mg029.png create mode 100644 assets/bigbug/old/mg030.png create mode 100644 assets/bigbug/old/mg031.png create mode 100644 assets/bigbug/old/mg1.png create mode 100644 assets/bigbug/old/mg10.png create mode 100644 assets/bigbug/old/mg11.png create mode 100644 assets/bigbug/old/mg12.png create mode 100644 assets/bigbug/old/mg13.png create mode 100644 assets/bigbug/old/mg14.png create mode 100644 assets/bigbug/old/mg15.png create mode 100644 assets/bigbug/old/mg2.png create mode 100644 assets/bigbug/old/mg3.png create mode 100644 assets/bigbug/old/mg4.png create mode 100644 assets/bigbug/old/mg5.png create mode 100644 assets/bigbug/old/mg6.png create mode 100644 assets/bigbug/old/mg7.png create mode 100644 assets/bigbug/old/mg8.png create mode 100644 assets/bigbug/old/mg9.png create mode 100644 assets/bigbug/trash_background.png create mode 100644 main/modes/games/bigbug/aabb_utils_bigbug.c create mode 100644 main/modes/games/bigbug/aabb_utils_bigbug.h create mode 100644 main/modes/games/bigbug/entityManager_bigbug.c create mode 100644 main/modes/games/bigbug/entityManager_bigbug.h create mode 100644 main/modes/games/bigbug/entity_bigbug.c create mode 100644 main/modes/games/bigbug/entity_bigbug.h create mode 100644 main/modes/games/bigbug/gameData_bigbug.c create mode 100644 main/modes/games/bigbug/gameData_bigbug.h create mode 100644 main/modes/games/bigbug/mode_bigbug.c create mode 100644 main/modes/games/bigbug/mode_bigbug.h create mode 100644 main/modes/games/bigbug/node_bigbug.h create mode 100644 main/modes/games/bigbug/pathfinding_bigbug.c create mode 100644 main/modes/games/bigbug/pathfinding_bigbug.h create mode 100644 main/modes/games/bigbug/soundManager_bigbug.c create mode 100644 main/modes/games/bigbug/soundManager_bigbug.h create mode 100644 main/modes/games/bigbug/sprite_bigbug.h create mode 100644 main/modes/games/bigbug/tilemap_bigbug.c create mode 100644 main/modes/games/bigbug/tilemap_bigbug.h create mode 100644 main/modes/games/bigbug/typedef_bigbug.h diff --git a/assets/bigbug/animation/crumble/crumble0.png b/assets/bigbug/animation/crumble/crumble0.png new file mode 100644 index 0000000000000000000000000000000000000000..b671e9f24db340a5d3161f51433cd92c83cd11e6 GIT binary patch literal 12869 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

?LyXqQU>1mqWjWg&*3E|JRvd_kWF-2Oeeq`aHBB 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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/animation/crumble/crumble10.png b/assets/bigbug/animation/crumble/crumble10.png new file mode 100644 index 0000000000000000000000000000000000000000..dfc934ec8be6e4784f779bb789844b374ed70510 GIT binary patch literal 14818 zcmbt*2U}B1)Gi*5pa&s(R3cqPMUOP429h96R6sx!1R;nB2uKYzA)q2f5s-uQkcdbx zQ6Nen0j1XjFc4~x8hRk40HIvYcklE4fxDl~UX!)9HI3jd#=D&6uJP?|$4{y7fn+yDNkUw*fZXKjU|11AEBq?zC|7ngK zlKS8L@dKT}`%otFKpgeGc@zHM|Nl8g{`p2e$Q<>%Wp|(y`TM_gsDC_S=Rm0+X#6nn zrpI$v0Ye>!2XNN_xP$ZaCjrh5M!qgV-mX4@a0i3uu0Bs)1OB@R?qK2^@Wk2ORo}j0&(qH=Lj`SN9V<3!`mzCZGnjw8%QtIbo?Ge0w#+ZQJmQtK#Y^Lr!;Lk&L8 z3v!}yz-k_s)KZR~`fFHH%Lo0K`nNEk_6Om^AmfS?`(tcjI?W3aNVksK?CtleFa{K8 z6QQLKyjtJFn0?ZLM}Wm{KckXunTWZwYR93`c=hfZJM_{5;l86erXD#>wh0?xN=qAY zM3HulZC-@Bd0Be$u}0ETUx6iB9Mm-aQdahH;3fw8i9PjuJ<9(kpf*v`NN^6E z@cy)ydiT%vIt$6UwX;>8Abcq025{pZin=}AZsy--vOm$+3V*QbFZLyJf3MRPhF78e zh&OCQOSC&c5WOJJb6phqM8%zY1+|5YLQnr^>$XdISh^b8+R^)K>|8{B6k9StRjyGj zPtLSS8WOR7MR{?-8d3Qqabxoyh-{T&%*@C#R$f)obLjp@XR^`WNeOG*;5MS@IdzC= zB4UDj&KioPCuhpTYwqJD+!Nv`$s3?T`{DW_5zKRs_TG14tFFKGuaFH}`=@}21b}j? z1f;@zVRFrwM0rps4(l1SkYTX>S4m7kxs8-;=XcqkH_xCKJAPsti{5}jOV+!ipArVc zJafgjCwDsX&N`1(0q&8Mq|D3?)dQK;dHPnYv#J}r2aZ|LsIl% zrg6%jsgrS%=5Lc;T3LHx`gICNRGvOCzA?+_84J`#;0!_tYe zuZ44Bt*dFzFRtXSu?VqQ5Peo^f)I{Uad+{r$Zr*FEVOhW zw#TNuvyYP#g;^54iZY|-+t=wDTj=A!LQgHkihbz8!_O17l@H#W(∈d^;DTXo9uo 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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/animation/crumble/crumble12.png b/assets/bigbug/animation/crumble/crumble12.png new file mode 100644 index 0000000000000000000000000000000000000000..30f2d0a957772dc7e6a16c8361e8a82a23086801 GIT binary patch literal 14049 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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/animation/crumble/crumble16.png b/assets/bigbug/animation/crumble/crumble16.png new file mode 100644 index 0000000000000000000000000000000000000000..40239ecb8bd4674f05276803771897d98aea97f9 GIT binary patch literal 12492 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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/animation/crumble/crumble19.png b/assets/bigbug/animation/crumble/crumble19.png new file mode 100644 index 0000000000000000000000000000000000000000..470221e3acb8862e92bd773fb44e7fbb59fd69b1 GIT binary patch literal 10934 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 hK*^4|LHY@;_7c6H?+^XIf0sz=@>v~u$ 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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/animation/crumble/crumble21.png b/assets/bigbug/animation/crumble/crumble21.png new file mode 100644 index 0000000000000000000000000000000000000000..dca6f47254af0f15e53f63abc2cc08db3d16bc91 GIT binary patch literal 9882 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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/animation/crumble/crumble22.png b/assets/bigbug/animation/crumble/crumble22.png new file mode 100644 index 0000000000000000000000000000000000000000..2b16218b9c3551d0e07b1e534c348b9fef82c724 GIT binary patch literal 10114 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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/animation/crumble/crumble3.png b/assets/bigbug/animation/crumble/crumble3.png new file mode 100644 index 0000000000000000000000000000000000000000..f17ab62b9dc378e26847c18bc81386af924ed868 GIT binary patch literal 13945 zcmeIZX;_lm_di_6Z(7F^J9acDu&nIll&L8ySee?SR^~A$%#l)aLKH!?G9xoFkEN*y znx#3xDUTHjnyI0wAWmc{&I00upeRm{=llGw-}StIUi{zux!CvGeAc=)_qF%E@4fc= ztetw**>T^m8o%z?v18xG3+JzI%Uj#!^KSX=>)ONM{%vtO=;p;>C#M}Jw(AGC%Z2T- z^MB$ev7Yi?H z!jBy}RG^fVeWdAixai289_Eqfdv;n;_JMtfR$Zz>xI%nioj;Rl1BdaU(-MhII zc-$I>TTLp4H^}Jlqnpfp0=9mb7hlhskK-biz1>TWceB~-LpS3dCo2q%cr%6Qa3kgj zu9Q>Bk*v^4<#U@Z8~Z3gUXH&+R{0pF>oU<9yuX}2T{Ks)IT*h*=cvFwv!eAuTzJ0& zL&*a+>%|!Hka+3|rr0J2EICmnIV3yWOWyyhqvcKW@kAQwPe)ize@K9QiouC8bUIh zW-(WR{5tS?dOAdy?LLdcjI@l}Im)s7#uW;RRijrDn=@Nzl+IwG^v<+ zsQGiqliU)2$I}2kCQoB1I#R+GZ{oQ7JNIiFaV`f?_U9r3lbB_HegIYOa`|8rc)`vX zzTf6JBfixEHkAT1Rmf?7YC6}sI{Gp#k>kcw3VyR{gX|R)&(SGzAaQk?$w9R?k%=WI zt0_ULSa0g2YfG_WTQo)7dro^Le@LdO6CL=#t#*aqSf^B+3Tq7-`t0fYW|dYc>Fuxw z4qdBJ3ikJT5^9BHHYIpxK})m7UshP;b#^}12b@;Mpd3}d=s&gcW~RxXs^9{GiGsaGo�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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/animation/crumble/crumble5.png b/assets/bigbug/animation/crumble/crumble5.png new file mode 100644 index 0000000000000000000000000000000000000000..d193955e7350f85feed2bd685e79725f31dd7e53 GIT binary patch literal 14674 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 F{};XPo7n&W literal 0 HcmV?d00001 diff --git a/assets/bigbug/animation/crumble/crumble6.png b/assets/bigbug/animation/crumble/crumble6.png new file mode 100644 index 0000000000000000000000000000000000000000..5df22194e567028e73c89214bdb1611c902df3fb GIT binary patch literal 14915 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 AumAu6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/animation/crumble/crumble7.png b/assets/bigbug/animation/crumble/crumble7.png new file mode 100644 index 0000000000000000000000000000000000000000..bb9de0fe420c45cc6cb752042baffbd2d1c8803e GIT binary patch literal 14974 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

S`B4TkzEDebN{!DVC^OE;^`83V;J7yX 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 H`{(}v9t*Z+ literal 0 HcmV?d00001 diff --git a/assets/bigbug/animation/crumble/crumble9.png b/assets/bigbug/animation/crumble/crumble9.png new file mode 100644 index 0000000000000000000000000000000000000000..7dfa89b5d03ec88b51189e4afecfc4f295bdbe15 GIT binary patch literal 14959 zcmeIZ_gj-m{5Gn~D!NE z?5)NBkpJVrfdk^#uUXs@=J$o^>yg94EB~3#h%meCefPSLo!x;8!tyC$x+Y8q|4;tg zLHPrR{x8dsg9`trEG4uZNQ+`M3bUiZR#x!;e*e#B?7|nauy8cwnv2jV_UC`;;J`%e zuF!Zj-12U?mES|}1Lj5$C%AVQ9OCitL6`@`BG@w`&^ss`4l#S^9pvR5_Fp47#M&e5 zfd|a{YLH)`N4Q^bkmiH`Y7dXL9~a*2)PFa#@Cf%lprfs$r=@*aOIKS(=aSJS1EWiZ zx)NNDu#MDzZEpJodLPi%Hu~S+OWIGT)J_WPj{MJH!aRhPm$c7CclZiz;{Vyqg{Cl% z1OGeo6|k7X3bFqx96h~*ybt`(b>XyIhR`hipZV7RjQIcba!FHHTlbSc{lEd01J^CC z-i|uBLPBCDyiqI7y47k~XWw|ewly=uUAe7!^^B}|*I$s^7gUPh7vFuqc%0=LFq~I7 zvK95&75!zlA3zw$*gv85_)m30CG_zh@+x8J2M+%E=j-b_Z*0%O^E&5EmW-oWlL2}?-#Qu`rRM(CT_6t?9W>%-I5sm1o=(_8T;tV1a;HBL%NZ(buu?7CL zDEqXDF0aM!T|v7RxZM(jvUj-C6AEzGYzO*RF_hrd9j&B=#3UCdHOO7o2+V_*zFkQoO?PG_9P5223q1_@cg|!!#C6vU zzy57Or=Xnx1SvKZbBT-N-^;T2C36@snZ!j+d&WM}O%8pds2mRm0k`3&^e>4z$Wb8I zG6HgoWc>4$m)fQdrmIR{%t=Da*UV|ZVmybm$w}yW>vC=WaY)hH=uvVCn0Xm-$wa$| z?6=kqV#48Jitx>uMj*QGLFnV3Eyh*HT|F=@3pG7g8W&MBDex%jE$fOXPR|t+-$rhI z533P&%i2qM8)CYeFfSD$E^0Agp`?%|@}kiq zMTh(2$&T^9&qB=nqj=-V$%gTieEJT6n5>xCo{s7u_hMA3>CsyeU+d^a%NbJ84q6CD z#e`vk`9Shf_sf&i%0m{9N}qKf^)$keU-_DaF3rlJuNNs5x@XEis-t*%WvsCkrR4ACT9 z1*ih0slatek&^J3R4`lKG;7s^)`2+|Q)%ry{^EuI$CEvZaDACPrBt|vK0pebI6G?z zuJIZ&-}PO4I_qZMt7u`J%EkRndsb)Y+|VCD{T|=LxJqvgJ+7?p`;Bg7ZT*Go1>|AI z=%q8yW3RR=YM?AQ-)A#Fo3@>%g{H`LV5AVV*%EhTXP3W&!<3w^Ymr8tVd!iIjYj*2 zFjjYIc&T|SE=cK0(J}uWc-AbTZ|0>d&2zCbZ}tP3-t%K&7pReiqYPsPb#GV0R@jfv zzqc+1*Z!?wk;{Q$Vs9-yOV|^b7>-BYbaae3OA;8|s<^z_ldbPLkt{bT2n=J-D+u;k z!7D2Fu3@Rfhv7YjIWex85Z*>cP5W2V$?Z4CH*xfY?`1&DV%6L37p^*cCYx0XCm(kP z7^Zza)n)>)*n5tLI#n#=A(eiE8QyMgNQJFOT&D&u$CkOc2(BONi(2JmWWZPraeKiX zQm-9y&9^qPsQB0g8`&?ltX+TV>S{r%X>2FR0W=I=1o-tQ6^ZsgUBie&JCd`1U2oK) zeoG3tVgC8ZZ_{5PDp$?&%0?E-rW%Q`tz{QMo!89wC;c}`0=JUnAtyQ4b9hv(cWIo!XDj9Ac1KvFlaoJMf88sC3V79-?eKv) zbcftDF_r_S+nV`@n^8--<;&_GFYms9pVv&V&f_^k!_3-o6AhU~rdi!Ef<4Q%F=W38 z$>#;_d_%|T-_kONZWVq)M{U?-5G2IKQNW23S#b#oyP;f=Nu!pVm5-Bx0#6gsJ8Ei5 z7cY~^izWYU!`dGW{?)zlqk0y==~2>W10yV=e}q~OuO4`I-lJC_K;ZO;l%wa53@o-^uUj< zPZIt#Iz`PZTV1+fohtc^Mlax!>B+*KrTG-(s-p=VG)sV@(BLe&tRqg^OXA zlG;ciX4Jts?{g=d8$_g{Zs4};j=rg#e7(Bui5`1B-S4O27~HgA-8}a7;Jj+$7(1p- z?&=hKT-Sk_la9U9n`eyd>bH^A@A1oV$r?36Q9oXnZpe0p_1xn#cyH)EzJW_h^1c(b z!BI}gc3gpb>{dyGGH->IcUp1?yR06L1mFP$+AHUNxa7fJP z3u`=dG(jWhq@$nz!}5=&bWn@Axg|xi>Zf@l3y+m^HDp4T2zsuw=dQme zM|grD<2Oi@;sw-%GU?0a&y!l)^VPEws~srNa2zcF~fcQY=|)Md402@}3t zls&l@vQ4aau)hV~DA)>^5d^(W-*{-T+O>7(Mv~MQv1t^+M|d zZTQ?+K|?!oaR)_rSo`7CL7?k;=dG<$U&C2TNFUW-HRfm)6 zT6e2HBDyxDUnN?^m`$~F`+Bs%gOl4Gw*-V{eqzd-(&2zqmnz2FA`SO_T2_TFl@AM+s=}m?G@;&P8yU$Wn`#vfK@lhA!xFu z)Vpi`3DdDCmR(rXRGtfeud2SaW`;WfyQ*+=jIukNiO}4RcN|kFOX&unwx8fE0>e!K zekIS#AuEbTWV6dAuG>TC=jJLLXar;fnAg1yjE(tjyuaDd4TxTzc?$wfxG|rPWow~k z+75=RAU220?yO?KnG(IkvO6`G?H<+_BUzK^O-YVcz{BFnx<@Msk#E!k$?Divj4e*J zF+81(bv23}SeRBi@bX1gl;N-|*pUVInZ3T*&tPA{rT(dn-TcMP*#G@zn8K} z&J|ZQR|_{n8FLlwme?cr|jDa5IT%sa%I)8Ix(*m>tfP8V7du0)v!p&C5#(`K7 zFz2jp3i!L@or`f%_P@#%27jH*W=Q<4Iap-31Pq%z4%%KTcGmE+`ULO!xOqrY7Re!q zsNR2^ZeDCH@}aQ(jk%r~isXs9eu-FiB}T1|Yy8dPFF%Jy z4Mws~5!c?T<86Y62zvVZP3FPQ4tXOweR`p@lA?zb8v158m%iF!{QD?0$Z5kh5qyEw zvhM2J&q*<=zs)q#rFuHf4{k&B!5o!(1lzf3V?4jeAQ%cZ(b@R^>7N!{E1bT|_A3HR z#16dj%y$10w)2BOf>W-a)u7*2j%6@sRXf}B#&yCw1ISJAfghicvRXzPtDM@IU(#xq zCpdyQ))c=cc-3TCGOS7G;$V8OINEgGlY8F4%j$-2H%tJjEE!@HTZ94>r0-9yQSa4&Z3~gM@a$H3XCz*XQ8tl;C4Cm*5Gx=Pqxr(u)?Y9 z4!Tr{W5>RHgc+lIvxgDCgfq`-YioHTWX^Q=V-)2&(6yNzNcUWA{K$rXY(7r6+H z$VJKhsXD-S%xL9*OgIs5CfS9u!t}?`%9p)D+0-Lz%A$X@fMwP z*XO#*|8@kgsRb*$vFF@RO5ThG;PT*@_8ZFCrEVb+RYvc{h+PL90DLw?M}tLQzrrl-#m1L^qPjAsuMUcj51cSJkLx!!4B5w1LEBBrg7&zW9Zr&c zUeVrM)`?TmdaXX9u_2EP_1#yOBN2_C%L9OfEQ-YRzLBT7FW9)?yrmi|O z^C4opvYE*I=Dk%u()DF);;i(D>Em1X?+2!>qGS|N$DW9ysxi*v^rr2S z!rX}lT%6Znf^MpN_>fysh2cVOaLk@@8|lp3)t>6qz@{Z~dmAb}6V@xbVmK@|}m8DYhqe{vK=QYuhY715O;PxWb6GM}cB zCf=4vs|D6^Fx95HO`1Eo4l%RrL=(#tehK~Z{lkm4kht)4_`bxq2U;S#DS#IP+mt`INlkP6tP> zS4|6Q0;7Kkber2h{2mn18j5;zPG93!b6mJ3qKp{z?z*I>n-*fGzl>tYUUvIsWSseh zHR>2WS4O@^ieQh}3^?BnLiLtG_u^lQO9Sre1e0^^Qids}dp#NMsLgHzab`Khu(`lp zc6i+CJH6hdU`s6JfOg~&pRpIcqeJFdPgdXTx0~**m%3Lpu)07M z%~AK}o$yAR1D`%67(_f;b@@`}N!iFxpP_MXuYB;+7$lo6CBM-O0>y?>`^9Lv>3~{F z*_|>rg2#&`dT_BUMFY}GJuy&(d74n=e?MdmmrBOv7=Wt1d-Yi+%nv0RgU;YR%9Q*& zlfaDx^(pqqNi=xJiz;f$`5PtwNE*grFEvggSE#K4dQn${lv(XNXTL5#pkKOX-HX9y z73hKEx^pPO6}CU){LKezs+AGEPPBo6Luu3Uv$=+WhJOukJDX!mKA+SKTU6s~AFZyM zn37&qe3W&1yZEE6>m%px#DGr3{f&P+S&eI(c;lH!2f_Xr2t=wtpwh62)J7Ud7suaL z7T_td%jVP?&em#fZFKjDhH3pAwY6o0+PogweNJCLmh~i&N(fq7@y*R{s@Pnnt$^&L zOIgi(zXV%K&46(UOjcG}q03M!K*Iz@zQ;GYVm@{E91B!l-c}IZgPbUYk(b5>_jZc% zCS&;Vk|t|v;vmxSQ4&g(glup&u>UDw^5b@{PzGAX$_n^fwI6F=4${Qme){yXmCZ}% zjDt}m(BA97djAPkG_;;TD%c!_Mc&4aHj)OY!_I*}O=sRwP|W&8`u|Q+|!fQ1ZB+2wcG#Z$Kj!Gm6ifIy~SHl*I>t zf`={yjGIgSme$)STXaZmX!Zthe>TbaGMBTwci)=6s^0L3`_ZA`l`OWa_)$$HBz)+# zrQqG7{yl6URg1!L+N#tVvCq{h93a3V|Jnmw!=F;Ppk!=>&h68Q@I+EpXXW;uaxBZ< zppAnj`fbp>%P+TwEog-nun#FQTTKkeid? zD=z37*4|*P*2D;by~1?48_d%s^2!8DZHasJ>0)Y(8FZXXL;lkr(C@f0x53#p�G^*M;?H}5v+ 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 GpZ+iE`Zd)6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/baked_Landfill2.png b/assets/bigbug/baked_Landfill2.png new file mode 100644 index 0000000000000000000000000000000000000000..07a8ea6ce02275e3c1001dcba96add961610c3f0 GIT binary patch literal 64626 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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/baked_Landfill3.png b/assets/bigbug/baked_Landfill3.png new file mode 100644 index 0000000000000000000000000000000000000000..43b1bed58e7bcd99f796075c9cabb334cbf3bdd8 GIT binary patch literal 39837 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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/button-outline.png b/assets/bigbug/button-outline.png new file mode 100644 index 0000000000000000000000000000000000000000..806211eae22b46d51d6f3beb3a1abe464b573266 GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEjKx9jP7LeL$-D$|UU<4VhD5Z! zo#DuL*norO;H&;O|MwrLyZnu1DQDKAOGnlnnIlt_(6iPfQjMMA!>jPaXZEbV$*z6v z*p9=VFSowB)%D8h$vd&zN{f_Ey6n4?k!$`=d*$BOFC#rgMRx8!x~(H){nQyVyZ4rF ze!7j1!GR&+_-?MPL@)+@(lc3F#aW`#`<;pf~^(o}S1vrBG#^;?tf&q99u`Y-;u9a~+^ w`96BHvE@U3r*n(#wjDoQZK!?Wi`jn`=a9J!>O0yhfPQB1boFyt=akR{0Hh{?(*OVf literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt.png b/assets/bigbug/dirt.png new file mode 100644 index 0000000000000000000000000000000000000000..c253ac171d7afe79cea5b1c6048971d83262ddd0 GIT binary patch literal 673 zcmV;S0$%-zP)Px%TS-JgRCt{2n^|_lAPhxipYDh~c~AA8vZnTn9O5uM4OpV-{f&*KXGsW5wnX1Q zQ|WSj>b?0a^TCo8aWUW&T_-uxK>B;ijKKme)XR%5seK%{d(E8y4Yf>x2TcyrhB z%4b=R-(qV`gJ^ZW%g|Z8r9h&SH8pupV_IGWkUF!n2u}f4c0$8WWaIp*0`8Fw=hh<$ zA^HF>5}o5dz>_N^Cv}#NfYuDbnK@hq&`fiq`_OUS1Sk#U zihy30jN_eI$xuj0=?Xn=4~X(DCjPRq>dsTSQJcG zgGe`*uZbdrStmHFpP!A103P2HtRl#LE#M(SdEZcg(VE>ml(oG}R{+hLor894P4D8K z0#=Orlh$v;J|Nn(HG*sBFao5?u0n`yaa6=>t*{W^qz2p(1+(@Mw}Vpkh>Yc?Ll5LR zqj5EBmSzM!x=3N%d^V)GIaF!M`Nh)xh;RzY1N0%r0r0D57hIUNPD8L9!Et2Hgx{~=s~_5%XsrXi3E!ya0pESJoDG;2wX|apXS$LFE~fwxI#eN;t?u0 z2dxOI6C&t+o`;}nl=d|LHfLps_5dXZiO{BtAKT3kKqti{7IY!k00000NkvXX Hu0mjfz`-S1 literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H1/1_H_0.png b/assets/bigbug/dirt/H1/1_H_0.png new file mode 100644 index 0000000000000000000000000000000000000000..5f3c7c39cc9938b52cf17dafebcc39e1dabe2ee2 GIT binary patch literal 977 zcmds#y-MU!48@NMB7%(Nuvm-DR_Pa%8FfGgnHjdQ5*G3TTG(nQ))uL4#Zs)cwF%bx z23jv{8-M08yr6&XO>%NR=K6Sgu(AGQUDC$na5Uq)`SrK9!vCG0gE^n2v)RF(9$vOS zq~)9Aqs5pu5hKRy4yk?icp5Chb`r)NM))T%Sv8~QkJTr zO&~E!FGX%&$IZel&8io3ceij$w`v}gJuJd9teO_xo)&4DR?U)OFN?A)t0s*ISVI$D z5MeW`zy^$I+Ntxv3HNlbR>)%R5uV}Ig5g0q(lfnUKeXtM@+_~m1GlgTKQI8rNJJAN zU=2-pL4?gfgAEwdv{UDSlM&TcqL9VhGo#vB1jB=JR#Y2JEaZUkIE}S@I?-Vl&uS1TC}(NKjA&s|1-+ z(l6MC^eG&yja3>U7FI&q@!9(`ypX)yJ2Pj_$9`BJtj^C}os%@*U+WF|UYP!M&hh{D z-GvdKnHR&=Wlg?c`z_6WTz@oP;n5_QLQ1LH-Arx@Q<|!k&E>9erK?)Eg*+6Y3{@Mp zl&2zj+)!SJA*71fL; z7IMINoW@$b#5~->9{j)n6eAJRV8I%i@PY`Nfd(5erfH|n1E*SMScyUwbFUU5`4cz^ z6Db)I8YvMAIbb|aV=Z1{2P_%J4-7yt5+My1tf2`nh_D%GumNM5cIrHE_}$$cZJhEs zemNYBX!t+R*x8)U;Zv^?{_<~`R46T w_rd*RU3#+hZSC;sN%!=|pJz)O*Pnl${F>>X9c;bc9Z&sIe`U~{EN|}o0}!)HZU6uP literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H1/1_H_10.png b/assets/bigbug/dirt/H1/1_H_10.png new file mode 100644 index 0000000000000000000000000000000000000000..fb261358667e02ef5d2ef94ab3e0b2060cdf4aea GIT binary patch literal 1067 zcmds#J8P6t5Qax1>=Ia33o#Kbl@ta7(^!b;vg^7U*038aL_wPo1p{6RQEbwM2r6PR zm4YH-5v>9uiYWw%gI6r$d>7}K;<=Yiv9VU|T9i@Cd7xMdLx z56T`EVOjJ;i*8Sgv@CYu7WUu=2A~*;XhH<6p$RXDuo-Bu0b`nW>O645J&TnnWHI*$ z&*ChC;XyglvlvY*|z<8X-TD-&#STc+s7=U6VLK-YsLla&QVKdNR1I9G% z)Oq0WyW816_KVNgOTBKNhX3;%{d4&~BF}W1`zMF)oVc-2do@-a7=H8j>5+#kyI;2- zJpSIge(mO`CxOd5$UVfs!hKA z>wi6)_`m<)))t=)SDV8XS^ThTO=RQEk&~lCJgSI^xJZa(xvPq)xJsyGDXWQ@xJj5~ z=~fqWahGt(GOQsM;vo@|1xr&b#Zw|B3$zMIjM7Vy+xjt8R}IxHi@BSrn}%r?9+b`1 zUBfjCExIk#LnAZ`ONK4gQzJDCX+*#pn(%@Mn^^@mU`*3aod=Gag;^GbEavWR;g&@( zJSclugk{kWExJ7|(z4irTiAmi7=U6Vq6rbOh9SSu3)awt7ev?$G}wSKO*?fSI9W2o zN))n~dzJ{vpTJ3&NXd}UNQqd;0poERYw;30V979kU;v7d2x+ij4NZ7Kgv~&M4H(n3 zQ|E!h?{07F{3@T%lg&nphX3=N`91X*kz@7h@zKG%7jC^Ccy*}f?O^Ti(y4{+vCi#< z=YKlwJ++@FW+&$R$37l;`u@?>_S55)9f!v+c5ht1zVhJS+~(;!%LkU%t_(b!+_(Da x+w`ox+p_fQ+?)H)zE5=9KfZo>qAy>}pWR*A)?PU}GuL6C)Q1|?#mc2?{{RWNWeorT literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H1/1_H_12.png b/assets/bigbug/dirt/H1/1_H_12.png new file mode 100644 index 0000000000000000000000000000000000000000..253628232f5e0279e8348bd4407e5cc721a9f946 GIT binary patch literal 1036 zcmds#y=&BA498=uP+E(2D`JNZzJMqPL2$L)(YqpNxhtX$;uH|U!FK4Xo2Y}s4VgNK zb-TTr7A-2lZi0w(ZJk6^5S938{tO>ze>_i;Z@w@0V6i(tIeu(hL?%1!W{>aD{lBqM z{+~X3q|fKTa&LZ4hVPH>iHtm4ytLHfQAJF|MM5O&t}3SDDxs29RueOElQ7BZRu^+| zmvG4%)({KvkO;}b(iBValt{^fRso4odMR?-Kc?!cp_;XryP3Lam}c>yY_9Gau35C` zwong^&@7e=TdJoVDceilM5)2Q@9u{F) z`k_U)r$t(p9k_)(_<;c^Mk1OJ0c&W&3nFX=8f?Irrky$uoN&*w5``@09^qNeA{ZW& zBR$J#Vj%~N$7!s^OU%P9?7_4Hm4S2``AS8ECKpW14pAJaDoy!%7sgn0r=) zcabSJ%34FC2RQcjexxH+VDg P2vq5`y3OI-&HMiV%&AqC literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H1/1_H_13.png b/assets/bigbug/dirt/H1/1_H_13.png new file mode 100644 index 0000000000000000000000000000000000000000..afccbad69bf79eb6b16755e40b80f8c0b9beb8d4 GIT binary patch literal 1048 zcmds#&x_1)7{?#$U~CPW%Py_!=0M5AMXi`-S`$sv%(Mq3a(Hr(k{?O!!J;fVQV&NN z2eqM`t%KXshH_92E{e0_=JDF+&+w_;Z=cWeJn!fIV^;dTh34e0NfBvwkGBVWr#Ai? zoB6+I-}WJ&O_v7?Em>Wk{V6hWzkhPn;Za3Q#6?0R>#i!M;wqt%RaO%-ag#8~>Q)zX zahGt(8rBdC@sJ3~!qOB=@svo(f>r^EQF7`s-c>-n7f&}X_#j5plq)08m?Ki z=(bP~jnFKX3|p$FMrsymM8F!F@PY`NSp_y=Ow&%C2acPCS(ZW;b9c9J%MuI^${rSB zS^A+xx2Hu~mL0f-J@|nEC`KZh5CLmw!V4m71{!R@n5LaN51eq%vJ!O63=GQ&y~vY2~T zgyc`)Buu1aNNA))EaZUkIE}S^DO?p{uGgm-S)B3%)>hm-Zj_yjn>Y)OJAQ45BF~V9e+GAKeIHk z{Nm`f)1NQAKDg!lfvM@%+xI(GI)7~M+{;f-4sCt&>(&0pT6-;^4{(BtGAwg b$j57EE{?~KMvZOrN7x|UPOrV%I=lQ28%b7| literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H1/1_H_14.png b/assets/bigbug/dirt/H1/1_H_14.png new file mode 100644 index 0000000000000000000000000000000000000000..a1d41d5cbed11e83fa79bbd8edb27ddf65f6db6d GIT binary patch literal 1059 zcmds$ziZQB5XP_SPy(d|QxK^r2wDWOaNur8sR8*ClHyP-S}5lzXwm8vMFe$nP&{?( zAPCl7@W-OlQ4~5T3PM1r;^GgggK&QG{u#cIyxeOR@WxJh-|spJ~lheql%b_i-bs)SXE5LRYE08T20KvO~NEg zwYr##yM#-YW(~0r4~dX0Sejxfo)RfppjAMkm0FTSgJY_$8md_a6Pu}Bn72aLyQti?<0fF;fNfdME+BBa5BH8kM`5heo-Hehs9 zPM!x2zq@_ixec!OOP#7q!T))VZ!WJOa-r2cGP~pUeDz_x*B(B*XLDiq!^H~;Ue)SapE&yNnTSG$^*x365-csg-!ZRpIaTZ^A2 t|E&MIdg z4NalY;?xq@QbR+hSTq>4G-=JzBwa7>&*%gC<@33__q~5SkEXhl&EdntBGT+!Z1?!? z+xcq@^8fgWy?s6dw|kQs_a-?S&O)TVq@i>jOc!_zqg+2Iz0VqZyq``tUG~opiHUkYdU`*3aod-@|?r z7IV*vko*apgo%_435}G9g&Z&*r?D0+P2;|B(y7>SSu3)awt7ev?$G}wSKO*?fS zIQ;I8^{;O6`8L<<_G$P(&*eXNULmsIX^&4Ie0KB6=cb%)v_=;0ZhRa)w0UZE@z&X= zf5-OU82_?zWoTjb)9!m47e>#G9eDm>Ph)*sj-JeiYwzF9Tp#%H;_J}&mA50avv1~? cX134#mh*G3*B2kW`~|#pCc5qA*0uZp04ai3DF6Tf literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H1/1_H_2.png b/assets/bigbug/dirt/H1/1_H_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8b936f8811478101d468820bfe26fc661a3fa2e8 GIT binary patch literal 1055 zcmds#%}dl_5XZ+2LbevW6xrLQkQ54JAiKJ(Yzwl;?$#j`q{DdXREI8>)x{_*2oD2x zDmn^XD#0MSco{oY6nKaZW&eN>B-6*|&*%aD@jNs0o$t#&m})m`)nio=skJUOI(!f9 z{q^tT|Jic`T|Rv`I?cMQemwD8r1EfTvNyq_ikOItgh-aVs+fwagi4mOnwW{3gh`fe zbukxr370Ix8e$s_ zvWG=j7X8qo+tVT~iygRyJ@|nEC`KZh5CLmw!V4m71{!R@n5LaN51eq%VkHV$%ss-h zIE!F-P>%F0MiUD;U_4G^EnZ?CZeb68U;v7d2x+ij4NZ7Kgv~&M4H(n3Q|Ez`B{Qr< zA&a?ZiIDsWoP>##3<-^th=m+59;dMuFR=rb4C4m|pcsje1`F2Egcn5E3^dq)F-<#l z9yt8&hPqd``Fy+CX?JP(KhKq&Th9?W(`t?CcI* z|8cnQ{)_eb*@f-74+q}wKU0}rTbGNE#t;5kYL2XI4Zj+Ddi&+bleObpcV1tcem8k~ mw>NkB@z1|+t$P0Zh0Rj~Up_q>Ym6SLvq)MK?Z#?-_TE3BWLcH~ literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H1/1_H_3.png b/assets/bigbug/dirt/H1/1_H_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c4aad080202895d4e2f4ca7a604766492b1ec884 GIT binary patch literal 1056 zcmds#y=&895XaBB)M8K(L1POYq^KZ8ZV<`3O zCl_((Pz1qE#qAJW1W_l4SUNaW+^(NIe})gVKc46AzW05}!**-BI$RqTk!o|M(c!y$ z@He!b|A&w5>hjrktutMh)z2gAB9%w&Q?pY%s)&iWNQh*)tBR?(N~mNhtBIMoNtk5m zRu^+|mvG54tRWWSArX=VOH(YxQz9h`v z;hKdO-4^Ph5t@Z1!-Gb9c9J%OV&a zlszoMvgn5v-JTX{S?s_q?7WJqYFL@eZh@i>jOc!?dbWEej%0L4gzG+3~PCcGfRW}v|ajA`1b z^T6SEH{R|2=JV}(r`4t5|2${@-h7G33(dyl?Ea_cA1_tq_)ul^!R;USkBs);-+9tM z-P^nJ@k9Lkd35gii%RX{rL{L-W+s=H*B0x)=64(#dv*21_pkeIj4i$Ub7kapZS&d0 n;=P6T#(3XOetLUg=Y;Rsl*?yVZk_8L9Bh*2RI9OCpS!yS1SDC- literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H1/1_H_4.png b/assets/bigbug/dirt/H1/1_H_4.png new file mode 100644 index 0000000000000000000000000000000000000000..579f591058791dd6345ae9a4ee4b4ab9b713fa9f GIT binary patch literal 1040 zcmds#F>BOe493&ip;tIO5UG?3y3~pmluY8(dZk{GKjrS|P(;Kbi{MfR7eU=hu@2&p zwSt2~w+=3jDkUf#3W{GqM;&f(F#ej4;R|;!d6PVOo+tmUwPvL~H8Uk5?cU99pSyGX zn>@k){KClr*Vtx%Wl8ov&;Aq{-(I^lT;@?lOvFV(Br8@GQ*o70$x5q0M-qPJ?{{Z3$Pz(S7 literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H1/1_H_5.png b/assets/bigbug/dirt/H1/1_H_5.png new file mode 100644 index 0000000000000000000000000000000000000000..1ed53bc3864960ef1654f7003b0ef7a08e4e0851 GIT binary patch literal 1045 zcmds#y=&895XaAkVreP9OrjOUp(^6yO(F;h32mT+k^}`&5QNjoMF&w_GF3XL#SRCG zgWw`m5TUqkXZS$-<9Y7xd*7GbUhK_HPwt%*k?HPyyU%y$ z*55>f|A&w581UJ4wLjOAwGT7jMaGsF7ls`kRm4PGBt)|As$wdx5-M3`H8B%636rdD zbukxr374#44Y3dpiI6NTO|cYDiIgm86_6OEmm;^VW2&wis#%MH!SJB$ zVG)+4A6j&KTBK#!fm_&v9~gjQB%%osu!bhQAi`##!3Kv7IMINoW@$b#5~->9{j)n6eAJRV8I%i@PY`Nfd(5erfH|n11BpptVAJ; zxo1U4{sd0KL`sH)MoPp&4j7NqSc{j~0ZWGQ0|QWuL`Z`LYiPm?B5Vd4Y`~bNojMO3 zes{Bjv)}k^UhDS;H2k0E^zZAB5jp6#o5MY;=kI*lB?l&2`7~eR z;hKdO-4^Ph5t@Z1!-Gb9c9J%OV&a zlszoMvgn5v-JTX{S?s_q?7WJqYFL@eZh@i>jOc!?dbWEej%0L4gzG+3~PCcGfRW}v|ajA`1b z^T6SEx3_ox2cIu<-FAx#Qu~z3Vj@*;3hk``YSqZ{f+U*S{`3 zZJn;xXP&PQ)rWWX8v`%D506}4yIc8cht7TK*QakDUVn7z)!)IZ6HD*6FP|N4f4<)z xU41)uvER9H{KcEcgKINWC+BDPFMjxTWY65YJ4YYX^pj;D~;(J{{T@+T%-U1 literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H1/1_H_7.png b/assets/bigbug/dirt/H1/1_H_7.png new file mode 100644 index 0000000000000000000000000000000000000000..18066a350faa31040bcad25be9e077f8f96079b0 GIT binary patch literal 1056 zcmds#&r8%{5XPsvY)fK6gofwr5(xuAcClr}He!)o6AB9HFi=4eMuZULo)iz&L6#xt z5)=dpK?lJ|3%U(Lr-(e3*ri(;bQnLre?~9pm-n5SXPzHBKi(YcsUEG0NKfNjy~X$7 z?q6je|Bs*OZS&bP-5RUO()z$pk-ZD!7bZq|R1p(#kr2spR~1unl~Bo2RueOElQ7BB ztuE%`F5!}8SVJttLn0&#mZn&Wr$kB?XcdqcrI#YN-D9e*8md_qb2n2r4bv<EsJ1y zQ1-A0%c37zbbDH)Ww8Udum?Xd0L4f|6Cz*@O?W|s%|L?<7}K;<=YbRMS*%1Mi@8U5 z7H1I*56Y3A#b{z72aLyQti?;r!!7K=4-7yt5+My1tf2`nh_D%GumNM5cIrHEvSfyp zC}c7BED@4Ffs-(ik|Cjy60wj2#^W^B;w5&#l41P702Ct;(qO?Fn(%@Mn}G%!Fs5mz z&I5F z{kxZ)PIu(q>l>#oz4|t?IJ;b}+;Re(UCaOg literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H1/1_H_8.png b/assets/bigbug/dirt/H1/1_H_8.png new file mode 100644 index 0000000000000000000000000000000000000000..dd8824d8f0b70cbd96d609107ac117d575422649 GIT binary patch literal 1051 zcmds#y=&BA49BClXz^$VMJ+`{p^Bg)5p)tQceID)IIf4FAlwwiK@lCC+k%KgMRdp} zir`>7__B%xmqHL%7Z(v)(6t4Z_-XzOA83C(Pm*uGFZZa|ooIme7@iBcjsvMKhKrT2d@x$wbQyZIPm=S(rWYb;XRFm>zivAW;gEMdie6lr;lUr zx|8P@E;k167hn9|H{3tGtsmO{Wbw|gvuAF0Z@m4vHh=8f=*2&WPQUS`<-ON;A6-4S f@Z;3-#Q4_V(WfV#^=7vG3rnQa?zUE@hV%abLL*oP literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H1/1_H_9.png b/assets/bigbug/dirt/H1/1_H_9.png new file mode 100644 index 0000000000000000000000000000000000000000..b630c9f1d704cb7bad6518b4c3022f4f6085dd54 GIT binary patch literal 1055 zcmds#zf06{7{{OMAViW{gb;;5(Uu^5Xlm-X<2o)bxs!&Rmn5gBRStatfd zIQ<){^8fOc^F2P5C*5XE_CAcCh@9D&yEWh7QAJF|MM5OYT~$oQRYE08SxwBuO~NEg zx4M{%yM#-YVGXem4~dX0Sejxfo)RfppjAL(lwOM5PLHX&YN%#e%-u}gG)%Mbplq)0 z8m?Jr(QTm~8lhQOGHj`y8mU=GBLddYgcn5E%qp+}W14pAJaF7B%(5tCF?V+hw=9C; zLD|D1EQ@|<(d}uGmc%Uz%L~HmJSYpZYX=@NDYMcJsmQbE|8+Un&PDpMUnx9^G4f-Tt$< l({BG*zE=Hp{qbo3?_u@r%fX{}t)(p%NvqMR@6{fz`~!&$TFU?c literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H2/2_H_0.png b/assets/bigbug/dirt/H2/2_H_0.png new file mode 100644 index 0000000000000000000000000000000000000000..5f3c7c39cc9938b52cf17dafebcc39e1dabe2ee2 GIT binary patch literal 977 zcmds#y-MU!48@NMB7%(Nuvm-DR_Pa%8FfGgnHjdQ5*G3TTG(nQ))uL4#Zs)cwF%bx z23jv{8-M08yr6&XO>%NR=K6Sgu(AGQUDC$na5Uq)`SrK9!vCG0gE^n2v)RF(9$vOS zq~)9Aqs5pu5hKRy4yk?icp5Chb`r)NM))T%Sv8~QkJTr zO&~E!FGX%&$IZel&8io3ceij$w`v}gJuJd9teO_xo)&4DR?U)OFN?A)t0s*ISVI$D z5MeW`zy^$I+Ntxv3HNlbR>)%R5uV}Ig5g0q(lfnUKeXtM@+_~m1GlgTKQI8rNJJAN zU=2-pL4?gfgAEwdv{UDSlM&TcqL9VhGo#vB1jB=JR#Y2JEaZUkIE}Sj+)!SJA*71fL; z7IMINoW@$b#5~->9{j)n6eAJRV8I%i@PY`Nfd(5erfH|n1E*SMScyUwbFUU5`4cz^ z6Db)I8YvMAIbb|aV=Z1{2P_%J4-7yt5+My1tf2`nh_D%GumNM5cIrHE_}wjy9~|=e zu{9cwY4|_Sy}!>sAoBL0yS#Sx?dIO|>8;83)cp$&`!nl1m)}n&Z%*yMTX^!a^XJ?2 x*Y(Nwo&Afq7C--7>U3`YI=t5VIDhbX-M==T+nH0TYxyDJ+n{sHOCNqYbQ literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H2/2_H_10.png b/assets/bigbug/dirt/H2/2_H_10.png new file mode 100644 index 0000000000000000000000000000000000000000..d2c97120f3e3cf19017c0c3ca70dd8eedf7a966f GIT binary patch literal 1058 zcmds#ziZQB5XMhqwG`6oR1t-uATEMtA=Wp#oW!*O~W(`56b51 zuHl-67Tp%=p%I#eCBv5Lsgat6G$LRPO?W|s&8z|&Fs5mz&I8BI!YqqI7ISyEaLXbX z9+W*S!m{Xx7Tul}X<6*RE$qP$3_vjw(S!(CLla&QVKdNR1I9G%)Op~9dloBE$YSmh zp2b-N!-I09XEB;s$N}SV8f)q-02Fq(m&_fblquwRnjguw)oNFaX6!gfv*Nh9}~cQ%}mReS8JcIJ^eY@XssSOSX;l?J@tI~(6^W8ce?jq p?@Yd*>Af3lFMs&7eqwqw`FFc=X}0^Z-~2sdm(=GQwc%W6;;CZvH9N)i<;qDVOep^F_H9K=B=g0x77 z8?Df#&_xl)PU>)IJ2*%d6%_?nMRYhneg6z!XurJg-97jG$nspbJz70p6_L@-OtZ)L z$lhONKmY4z4)^)&yVYw?%hsC{-$h0q%*_s3JgSI^xJZa(xvPq)xJsyGDXWQ@xJj5~ z=~fqWahGt(GOQsM;vo@|1xr&b#Zw|B3$zMIjM7Vy+uku%R}IxHi@BSrn}%r?9+b`1 zUBfjCExIk#LnAZ`ONK4gQzJDCX+*#pn(%@Mn^^@mU`*3aod=Gag;^GbEavWR;g&@( zJSclugk{kWExJ7|(z4irTiAmi7=U6Vq6rbOh9SSu3)awt7ev?$G}wSKO*?fSI9W2o zN))n~dzJ{vpTJ3&NXd}UNQqd;0poERYw;30V979kU;v7d2x+ij4NZ7Kgv~&M4H(n3 zQ|E!h@2=Lr{Eg51rCzsB!~c0M{<{4Hk@KDA)L?w=%ERH<_NmJGWA(oaCpY5kmkaZs z+i!o?uD^IW`E_FF++w3%n|dUzYGZ8k)$Y#fjgOlXrw^@-KfZfu*f{$7&%525m8%QS lf43L6pAMHM4-P)uSwHaX$MVX^C%?}c>9o4dt?6s`{sAqTTG{{r literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H2/2_H_12.png b/assets/bigbug/dirt/H2/2_H_12.png new file mode 100644 index 0000000000000000000000000000000000000000..43567e8cefbe64210a45579769eec67a7a687a9b GIT binary patch literal 1033 zcmds#zf0C}5XY}40+FN^LBpU3Dg~ErXcLmh9-oNEr{{TWXmUCb3WtJf2(%%Jf(CIo zkRV!|q@k%Pii+R}q@nr`bZRQ9<$8I4Mjy~GpU>UB@BQO>)a|rJhK~)4$Vhv>+2eb3 z|8M9Z|Ibbz>GL^ov)7uH?avc?B8|u0%Y!){Rm4PGBt)|As$wdx5-M3`H8B%636rdD zbukxr374#44Y3dpiI6NTO|cYDiIgm86_6OEmm;_QW2&wis#%MH!SJB$ zVG)+4A6j&KTBK#!fm_&v9~gjQB%%osu!bhQAi`##!3Kv7IMINoW@$b#5~->9{j)n6eAJRV8I%i@PY`Nfd(5erfH|n11BpptVAJ; zxo1U4{sd0KL`sH)MoPp&4j7NqSc{j~0ZWGQ0|QWuL`Z`LYiPm?B5Vd4Y`~bNojMO3 zes`z)*LL}Qzt!vXY4|_S)n9jBAhOkNUKosRynnJYDkp{-;}7qB`#3p%=F{Khwck6p zpRFz|O@0|Ht~^*@J$doRO!vymrxS1QK7ak;{Ee-}Bz*G_i33gtX z%0jVFh@Bu}Ay&c=w9|i}g{_dr@yYxQ4 z8~i_W_Q-_K)U9!^BRjh%e~ChY5++hIBs5YY7IMINoW@$b#12?8j2{?)VkANuELcMmUJzk3&|m|`H0{)R;PAU! znq2lc<6UcYI6 zYjsX9&D-kSp<#D(y?yR$}>)r{gpv?r*rk*Klc|-WdHyG literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H2/2_H_14.png b/assets/bigbug/dirt/H2/2_H_14.png new file mode 100644 index 0000000000000000000000000000000000000000..d908d64531bc6a327072e1657fe5e1e01901477d GIT binary patch literal 1053 zcmds#ziZQB5XP@&3BjNsVwFazgId&~+@yfHrPGNZU2Mfg1Q#nxK*Zq& zCk3TLH&@3-;Sk*H;3z6C;t&vo^V9dw@P+ov``+Di&yPG>=ymF~Lp2epcQ3U2eE07B zRV(~IaeB{y&&2J1rzM*or+$d+dc1IPah^vNF%cIDkt}yrF%?${l`Lg7F%vfllPulp zVlM6yE?I^(#6mnILb70Kilul;q-23s0f|w1DRSF6rs}Gpnq@I}Gj-E2&BBASxw>n( zW}!v5g?ea&W?{*&rFv?lW+9CTSVI$D5MeW`zy^$I+NtxvakDVXqL9Vh-7Va*2!;n` z4~wuY`k_U)r$t&8J8%no@B;%-j6^gc0@l!k7ev?$G}wSKO*?fSIN_efN))n~dxU3k z7QyhK9O+q%CKhtQc$~&syu>`*!XEs<02Ct;(qO?Fn(%@Mn}G%!Fs5mz&I2b)W>|?r z7IV)MA^8(H2@@$95*jHH3prpsPGc=zVh1c4#t#fYF%lsS7ObHOFNm-iXs`iens(|u zaQNLF8!Ub2v%T8y4QTj3&*kymmx#RDZO<)EKEF2nw7)rBZ8g^KeICs;zRfJX+js88 zN^|n?!S`n?tFN1{YP)CGtG{LW)|aO@w=SI-Utbw)|NQm#P375#evV?!d+XkTe|`5ry^ zJ2J@s$@3#UK8NmhXQyT3%lNLyz~hCv#TJh$Vj?aQB3XA;F%?${m8`Own2DQ&NmjSI zn2WoFOV+T4Scr#2NEVi+Sc<1aN*1&VNQ}};k=wyBRaXtwti{~T)J?-Qiw9+Mb=Pps zqD8lbdT4}Zv1Hg%JvCCZNFxH)(1aI6*vu-h0b`nW>O64VEX=YLvY5NOgvnoH{GaFg@8vZ_&bOOWi^reeeDbled1`oYbnDOZ>$%-KS08@=vHf7H z{qyC-rDyxECYA*?WZt^Vr85BG0>9$kO;_1BvVGoSvxIDPqC VV|{Jv%*aWArQPZ@H>Ufm{{XIWQ@sEH literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H2/2_H_2.png b/assets/bigbug/dirt/H2/2_H_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8d70fffd067adbc153524b75a042112825c439c3 GIT binary patch literal 1049 zcmds#zf0C}5XbMyppYI)B@A&cm!@-S%O24O;!&PQ3YuIx8iIx=fMO&<8Z1~t6J8KuGtgiI#x(8JdEoH7 zyV$$+i_iD_-A<2&|MT4VGuTDs&35bR%7v}l8^eZ-ow?S0{_yS6%h{v7{jVPLW?@IsD_~yHb^XpH$&w7KuuQt~noSbRCSlk%j9uD94 b*9JdFcJ{XqKmXXe#|mlBcUlK?tB?Kx2?JJ{ literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H2/2_H_3.png b/assets/bigbug/dirt/H2/2_H_3.png new file mode 100644 index 0000000000000000000000000000000000000000..7e7db1214b4f37dbbea9eadf8f0bdb0b456d0de2 GIT binary patch literal 1052 zcmds#y=&BA498;&UMU<3MG>(&R1YhNNEX4#^UC!=j&fHVii$6gL3FBu6ol#^iXdGC zvnb-?)J+jwT*Sdp6htf{j#?)t7l-(1{tO>ze>_i;Z@w>gZ?4~Mj_)29k!EkUGvK>@ z^KWdF{|66m8}iw*IOw)zb#2dv$jJSS8YL5-wT88e$Pu{)x<=yn;kIto~U)_mw z%NJ#8`H`-?8CiPL|2;9f^Zo40D~*lDtH0Ney>5N|^mO`wUwv`%`|~qv>$e(9TU!gq i_qQ(ZIP&4`oyC27zpXsJ@OkPGTckJB@2s}Z-~I>W*;SJO literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H2/2_H_4.png b/assets/bigbug/dirt/H2/2_H_4.png new file mode 100644 index 0000000000000000000000000000000000000000..3d1f2e5eebc9e9fce5ec858012e954d11c7adb5a GIT binary patch literal 1039 zcmds#J8P6t5QZlv$P)QTN-qH|MAL}ifUPEMhzoHEdr2TRR`Unk!op&)6GbcxVLC+= z2@)$?!9ol;h?S69BJmHX5M+EZKf?pb$2l|e&U@JhtKH>h`t-DjG@Tpm9^cuczt$xG z=P%9l`AppDEicN>m${!J#~!Y(43>CQ5fgEd5Xri$imA9tsAQGZ#7x{IOtQMw#a!Ga zT(X8W#6mnILb9+l#Zo*aQnH{`Kw^|$irkKlsk&;YW-aD!rfwRhSv)A4tGkA47A?9h z)I%dQizUOB>Zy^MMH&&Xh9W?`14kj32HE!?sM!-KMiMOc=8 zXwmIyk(Ol#Zeb68U;v7dh$ck98k+Ee2%CWh8!)D6r_KW>+_S7iA&a?3c$TvWh6m+H z&oY`=$N}SV8f)`fU_4G^EnZ>=EE&cR3_vjwAq^I+p$RXDuo-Bu0b`nW>O64x-CgK! z9Prs2^}2l;{?D`a>+TCg-t4p&1}8V)J^s+hxz^;V*N3CCuSRpXp0@vfe*0;2_PhU? z+C6{yiC-K)IzDb%&#w%dHy_6XZ#~;@zP-ObY!1E-ul+c2b$k2F@0E@9m%9sF_x1sn M&QiC%vv~XdKl~d~ga7~l literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H2/2_H_5.png b/assets/bigbug/dirt/H2/2_H_5.png new file mode 100644 index 0000000000000000000000000000000000000000..bad72905bbc9d1c0435b77a8de42501e8a2d9e77 GIT binary patch literal 1047 zcmds#J8P6t5QZm-!LYb$>8%ThprSAc3KntM5EsG{cC!}2!Xgf0t3oU+OrxR}iWZYb zL9wvdzo15hD1&`4y;1ChpeT$_=4W^y`8a20-gz&3Z>~GjY#eBaNV9Xk-Q&A=`)^{5 z|3{AR>GK)6)|+X`@bjT>BBS@`X6L7QR1p(#kr2tctBR?(N~mO&)x=EPBuuip)x})g zC0w$GHN-+ZBto*VG{sUpB~r4WRX}2tUW(kdkEyz9sAetZZl-P;rdd2Fo2$EqYZfiK zE!0CJG>av}mg=dInnfBBu!bhQAi`!=fejebv{UDS<7Q!&rI5wk-7Va*1jB=}hecSH zerVC{X_1y?2X0{xeqaEKk%%Tlz#5wHf(V;|1{*M@X{XKuC)~5FL?Mg0M|hUA2!;pc zNY65wSjYk6aT;s!67z5id+-ATP>e)Kg9U47!V4m71{!R@n5LaN51g#buo8tV=AIQH z`4cz^6Db)I8YvMAIbb|aV=Z1{2P_%J4-7yt5+My1tf2`nh_D%GumNM5cIrHE_}v}u zFKqHzzuxQiY4|_Sg{`F*h#Yj<=jQi4z5MW9^Xj$qKeJvZ076%)*elDEd{d?Eeo2kK%=c_aCzwS8J acyLp8zFN6B{^e?m1=5-Bwuh}t%l`l`p;p}h literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H2/2_H_6.png b/assets/bigbug/dirt/H2/2_H_6.png new file mode 100644 index 0000000000000000000000000000000000000000..7f43865aaa7c4f821e5512a4e281bac234d9c81f GIT binary patch literal 1054 zcmds#PfOHc5XYzNAPfGv2vHdeMdcv~hK@llE4Cop@>^FZJeb71fjUGHln8AEdQzBk zhoHj};S1Fv-%b zF6QDc;gV%oLoCEYA|wlzrdW!nL`oKD6_6OEmm;^LW2&wis#z9uH&Zta(=0qFo2$Eq zYZh8`Td0RdXcm?XTdJo-fT2R|?X#YjXGB47w zXAuk!%8{PMXksA;jK^uL#Y@b?E$qP$3_vjwAq^I+p$RXDuo-Bu0b`nW>O63=WQLU} zWHI+F5t2WFlQ5BzA)%2Hv5*7C<22UdC3e7)Vf?@V6eAJRV8I%i@PY`Nfd(5erfH|n z1Bc(;h3@SGK40%w?Jf=f=UMpk;3Xm#Tg~bDlN-IYZxd18U`_Wq+-F!2Bu730E?v<;%z4PP#x#|zLuWhe>nR;!22MqoUDRh|N}GXAzCN#8p|sZcs>wh{ZIPS;WT16p0810)hiU zL_uSdLJ+~q3s{YUh=_%qM*RWCa(psB!vo33IWzOld)Zr4-O1s`{)UJQch0nWe0OjC z4ej9nvF1ph&$jvAaO9M zMT>3=_0R~-V#%$YSmhp5-ip z;Xyglvy3Jda=>_;##+3@Jlw(_{J;PdBN5VI!5W(If(V;|1{*M@X{XKuCo40oL?Mg0 zXGKW<1Wv+4N`{0+O2k4A7?0CfigbEv hgU{c7UYYx{`FH&1;^MA5S3fn`BAs@(wLWqA=0BM5S`PpK literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H2/2_H_8.png b/assets/bigbug/dirt/H2/2_H_8.png new file mode 100644 index 0000000000000000000000000000000000000000..bb0ac1def4acd48cfd4ea60723ae57bed2099959 GIT binary patch literal 1048 zcmds#J8P6t5QZm7p#&CVCu*^UiWWj}3PBKK*sum<3E5>qF%l4`P!yw)q!I~fM8pdO znZ`zoU=drb6oo)!&{7nCfLqu~z+!wdKf?pb$2l|e&U@JhGo5y0bpNP`G^WqBX8Dfo z{Oum$|Iy=nx_pN2%(f?GH!SJB$ zVG)+4A6j&KTBK#!fm_&v9~gjQB%%osu!bhQAi`##!3Kv7IMINoW@$b#5~->9{j)n6eAJRV8I%i@PY`Nfd(5erfH|n11BpptVAJ; zxo1U4{sd0KL`sH)MoPp&4j7NqSc{j~0ZWGQ0|QWuL`Z`LYiPm?B5Vd4Y`~bNojMO3 zes@Q@7k}~jzBt?I((r$t{-5QSi0n_d&i3}Ltv%jqd}xl1%su(LaHco7{qgeC;Wyi# zu8oi1Z_gj=cd!56x^-w`@0G7N*VmgTFRb2O{qb#iW$E+gu1k;JH|Gw#ntJ#8^yZBh fS5LiNT)3A*C!Rms9vq(d$p)F8>a;c{=U4s#fTCEA literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/H2/2_H_9.png b/assets/bigbug/dirt/H2/2_H_9.png new file mode 100644 index 0000000000000000000000000000000000000000..60a62fa3c91000bc883a6a29ae6f9bb3b99fe330 GIT binary patch literal 1047 zcmds#y=&BA49C+erKMPPQHt2XK~D=VX3{QtTs=?ZEO)g9LGX>NRupt`PzMzYP7aw> zM2CV-f(TvIB`9tcbQBewT`a~=^Jn-#`{Q|%eDi&|dvm?c#Q2VJ5t-;7YxntX-S`_D z=KtRPTLyfFuJk)CS^2Q@r%2=e+==;F9#zCdTqH!Y?y6!ct`aI)Wi>GqHwlxhZgnvi zcL|rQVGXem4~dX0EKRW#Pl=Q)XcdqcrI#YNjbo~=8md`~xtpn*hG`ZL%I4~>;hIH@ zZVUC$2+d;2u%&uxq-K#u1gxP6FNm<2RbT_gH0{)R;J8_sWhrDacXtc7EWz-g>|qg> zr5{>!ds?Jr*@0WwgC7`xVkDvo5wM0Pydc76puq-=Y1*mtzzO#(D^bW|?h&5lEP~-d zInuL?CKhtQc$~&syu>`*!XEs<02Ct;(qO?Fn(%@Mn}G%!Fs5mz&I2baGps}*i@9e- zNd5#)!bD1jghoolLJk;@(^!j_*a1t1@dE=;j6_I-1#4)+3nFX=8f?Irrky$u9Da9u z2B&}U`FyqC8_@87o`v7nA0hHow|!)O^5K~WpSB&|HP)KCdt>eCzNzoK7fycbydFJx zaq>X(!l75&M_NOhU%dHq^VjO7ql+W{b#>|Sv&Pc3=gsN!AJ=bh8Z1r^FTa0sx$$=9 c<=Xn+(V6C*bIV_jzhi-PXM63H*4bPC02!)OX8-^I literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M1/1_M_0.png b/assets/bigbug/dirt/M1/1_M_0.png new file mode 100644 index 0000000000000000000000000000000000000000..5f3c7c39cc9938b52cf17dafebcc39e1dabe2ee2 GIT binary patch literal 977 zcmds#y-MU!48@NMB7%(Nuvm-DR_Pa%8FfGgnHjdQ5*G3TTG(nQ))uL4#Zs)cwF%bx z23jv{8-M08yr6&XO>%NR=K6Sgu(AGQUDC$na5Uq)`SrK9!vCG0gE^n2v)RF(9$vOS zq~)9Aqs5pu5hKRy4yk?icp5Chb`r)NM))T%Sv8~QkJTr zO&~E!FGX%&$IZel&8io3ceij$w`v}gJuJd9teO_xo)&4DR?U)OFN?A)t0s*ISVI$D z5MeW`zy^$I+Ntxv3HNlbR>)%R5uV}Ig5g0q(lfnUKeXtM@+_~m1GlgTKQI8rNJJAN zU=2-pL4?gfgAEwdv{UDSlM&TcqL9VhGo#vB1jB=JR#Y2JEaZUkIE}SxDN0$YhBkr3D7_T9ogX&~voxz-%-!9>E#0blQ1-A0%dl!%bbDH)Wm+{$ zhP^DxvaFgkB47oQxkq@0R||#*inJIb@X z+78^p9{j)n6eAH$h=4UT;RO*k0}VD{Ow&%C2Tn#*TZuvzbI*)wXAuk!%2`ouG_jBa z#^W^B;w9$c7WUu=2A~*;kOm9Z(1aI6*bFq-fH6%wbsjj?nPDXgShY5++hI zBs5YY7IMINoW@$b#12?8j2{?)VkANuELcMmUJzk3&|m|`H0{)R;PAVjv{0u8#(XYmZ<417IUY(EtDd literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M1/1_M_10.png b/assets/bigbug/dirt/M1/1_M_10.png new file mode 100644 index 0000000000000000000000000000000000000000..6d95be5b9c104768a45504f474d6f6aaa2592e24 GIT binary patch literal 1042 zcmds#&x_1)7{{OSBTP-!K`lvAtG&qK!G&bjY&%n$rkPD4<@6}BW!GV|n{bnI;_#eZ z_B3&DaS?G)Pl}?HKY((kRommW&!6E_yWc*a=Xu`G`^P*S^yga5{Y?>R^}3xQ--*q? zom=@oeRTJTPh)8~HzVVZ2Y!ldc{DgbKg*+vn23vnNY-6dOvP0~C9A9^X5uDclGUv) z=Hf2lk~OR$7UCfhl7*!ymf|Uqk_D{-5~K7|`PmR+5Bnn;{?Bva_wqAD4tkyT{N&Rsk3a2^_O^3-pWOZYYH?xLwVP*R`S9ey zec#`VPG5fA_^{ZWcyYXW_R#f}=k2!_*Y6)|t$o?vZA_mSpIke&@%PrdU(NUT?rePB Xv2bJc&&#RxDX^tC+wY8Lu0Hq&V9QcH literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M1/1_M_11.png b/assets/bigbug/dirt/M1/1_M_11.png new file mode 100644 index 0000000000000000000000000000000000000000..991d49bc16aa2550d1285b1c030be685b22afcbe GIT binary patch literal 1037 zcmds#zf0C}5XUbgEAyekCBm_?Kr1+iT%<=Hd3>lIS8YL z5-wT88e$5 zZ~fx)?Ow0jr{VuRH~y}?M_tGRe$WBJR+#^B=U&|vh_%$uFd%gyV5=6@VNH*x2} z_|5gf>d&`d*OopXIXrpbyq)^K+a7!MVCj)vTDyPc-B$C%^Wo{u-N(-kzMpt8wQ~C9 P7O>Kp>$bLMZ$JD8EU!=H literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M1/1_M_12.png b/assets/bigbug/dirt/M1/1_M_12.png new file mode 100644 index 0000000000000000000000000000000000000000..2a29bf536c18fcf007ec51a03fd4506ed698a626 GIT binary patch literal 1022 zcmds#J!_Ov5QUEkk+8BT3K~SP5m7`C2C)%|F(EF<5_ZEDS|}DH2v(*@tDUj77_ibl zWm*wUBZJtAz33lEp~d)Qeufv4mwRXC%=y??8{_ri;Os!saCCQd!uQ1C-{L&~FI_!8 z<#XiuWPL@uU(fxP=3Z~y+g#((B$q-;srqgvH-#xp)n#+JD_rTS?zWJJB9x)(VM}=` zQkkm8vXYmgl%;BD6G)8GOOe~*akDT>v+Bj%-7VbGt(pgA4~wu2tENS_r$t((RkLK+ z%c3mHs!1aP*3g6(MA*zKumNM5cIrHE!ad!q6|$InglBlQV0ciD^h~eT4=uW*Jj<)? zz%A^-4-7yt648VRSVI$D5MeXWU<1Z9?bLbTWJI-OvG?B~a!t}V_jAANj&_T=qsbn3^#mrtLM4Q{=7wsZZ;fkqDo qC-;^v|Ge;R|IUrA<%fT_|C~9!@L_j8_uf4PN29gz>h8*;m;V6hQbzCq literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M1/1_M_13.png b/assets/bigbug/dirt/M1/1_M_13.png new file mode 100644 index 0000000000000000000000000000000000000000..56f3811a40d6b9e61e19c865d6458c965eaac44b GIT binary patch literal 1028 zcmds#yKB@@5QUEqFfJ?#LQo@UAwCL=Fk;X~vuunDvV`45!6w=a_F7n3h!Q1QiN%zX zK9#nDV5Nhgoq}MwB3O!`GJd&#h8L0__s-0j^Vml#!{u)0U`JASaH&7yyLanvW(WUI zoZ2(yv+dSsxu?zdhrUVM*H+P2;|B(y7>SSu3)awt7ev?$G}wSKO*?fSIQ;I8jjv7l ze7Zdvj%oNm&y}BdHW1kx^cN@lpFMc@x~n5II~O~j@810TcK+eT54(PUoj?2d_|yCQ z7Cv@=yqZ05^32-qqi?><%}!6RPA*f6!eL%l_K6m%N_mAgkx3e(TJlhnJvG!uC$M^K{ z-$;Z1(-%+m`JA}ZTbPrrj}t#dhMsqq2J<|sh>5sJh-BSW#Z+7+RIyDOu1eATdfWMQ+E(R9!VxvleqVQ#TFMEFP52)m_6i zix%A$>Y)*u#gbu5_0&ksB8>=GLla&QVKb}128?Oisq?^bvoOn2$YSp97H(OB;X&EM zA}mWkwCMJCX1>3f z+t7dvfyf`{m}hPb-6Si=&@?=*#|oH`f|Fw+|W*mR|fi RSlxaHu(anpt*yD0)qjk?RXP9w literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M1/1_M_15.png b/assets/bigbug/dirt/M1/1_M_15.png new file mode 100644 index 0000000000000000000000000000000000000000..d6f4a1b0f4d82a631139feb9ff76b69b42847009 GIT binary patch literal 1025 zcmds#y=v4^5XH~NCI*7qg%A`QjYUA12atqalZCJ>yTO1TkV2-~MobY>Ml2RZD~qYM zkw8F5XC>G<*k~j808wmgY!t^|?qhf%`E&2goH-vm9S+v#=N9KA&G$FDBfjTP|7Oqd ze|hEHm`~^7XnjpbAD6yKGf#$_TRk34aw(*gs@=`xrZAPlbSHdH+#e5?W%ujZ-y%~xqgyL|9#zCdTqH!Y?y6!ct`aI)Wi>GqHwlxhZgnvi zcL|rQVGXem4~dX0EKRW#Pl=Q)XcdqcrI#YN<729>8md`~xtpn*hG`ZL%I4~>;hIH@ zZVUC$2+d;2u%&uxq-K#u1gxP6FNm<2RbT_gH0{)R;J8_sWhrDacXtc7EWz-g>|qg> zr5{>!ds?Jr*@0WwgC7`xVkDvo5wM0Pydc76puq-=Y1*mtzzO#(D^bW|?h&5lEP~-d zInuL?CKhtQc$~&syu>`*!XEs<02Ct;(qO?Fn(%@Mn}G%!Fs5mz&I2baGps}*i@9e- zNd5#)!bD1jghoolLJk;@(^!j_*a1t1@dE=;j6_I-1#4)+3nFX=8f?Irrky$u9Da9~ zCToX$zCReZ6B_={vwHOC6(R@2-nEs}&$piL%tNUWV+xs z+N2Y#wXhkiZ0s%c57>@R=4W^zdAWCH&YX{Zy*J(27@iqQ+St84neiPR|E-a1;c}Kq-T1yerVAhe)Kg9U47!V4m71{!R@n5LaN51i`Euo8tV=3X5k`4cz^6Db)I z8YvMAIbb|aV=Z1{2P_%J4-7yt5+My1tf2`nh_D%GumNM5cIrHE_}yLHzxSKZ&&RXr zJ`Mlpx%>CY5|QKG$*uY3+r{T+tD6rljExj(}T$;-VnbLM>P!{MOUojx!vsoOulIO03A^EWlg z|GD`+V?Lc5quzqnHxGW7CRT?RmX~-m$)%7|s&+S%o5GZ)YGre|D_rTS)@>mVMJPkn zhAri(NM))TmX*8|r7Ts0Hi5(_y%f3a95)NIG^@6lySs&3x>e&r*~20%!>ZAu+tVT~ z)2gv#*vq0U%c_w^1gxP6FNm<2RbT_gH0{)R;Dmd+S5wGh?h&5h)da(Xa-?T^HT}?{ zJIb@XnjN@>J@|nEC`KZh5CLmw!V4m71{!R@n5LaN51fpsW+e()%sn%zIg4O;P|k{K zMiUD;U_4G^EnZ?CZeb68U;v7d2x+ij4NZ7Kgv~&M4H(n3Q|EzGEi##3<-^th=m+59;dMuFR=rb4C4m|pcsje1`F2Egcn5E3^dq)F-<#l9yt8&X2+Mm z@%eajG#JzHf1ZoKZ?7S;*Izuly#Mio%}-q&o|-(f`^V{*KTo`#d3W^qudjC>ZQQxK zv2WM#}T77(s54Yj0LwO?;U@ckKS$_Ta^(Cr3JO*FJPU&ptc!e*4c}Ak|+Q KEUqtHx%Uq?5m2-M literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M1/1_M_6.png b/assets/bigbug/dirt/M1/1_M_6.png new file mode 100644 index 0000000000000000000000000000000000000000..049069009c37cff49d8535e9c10ad72385508327 GIT binary patch literal 1043 zcmds#ziX3W5XVmisg)N+up}xd2-3yr6ju$2F;qgE6cHyE4+l3Dog4~+A}9zQZWd{~ z6a*(J)me_BLqMU6xTu4hE`sN$_h<@_r33rJf0u+o9QFdBGL>lbw_*;?)**d z;s5OE17kkBZjbsMS>HPLU1ax@`OAwv9#zCdTqH!Y?y6!ct`aI)Wi>GqHwlxhZgnvi zcL|rQVGXem4~dX0EKRW#Pl=Q)XcdqcrI#YNonxx58md`~xtpn*hG`ZL%I4~>;hIH@ zZVUC$2+d;2u%&uxq-K#u1gxP6FNm<2RbT_gH0{)R;J8_sWhrDacXtc7EWz-g>|qg> zr5{>!ds?Jr*@0WwgC7`xVkDvo5wM0Pydc76puq-=Y1*mtzzO#(D^bW|?h&5lEP~-d zInuL?CKhtQc$~&syu>`*!XEs<02Ct;(qO?Fn(%@Mn}G%!Fs5mz&I2baGps}*i@9e- zNd5#)!bD1jghoolLJk;@(^!j_*a1t1@dE=;j6_I-1#4)+3nFX=8f?Irrky$u9DaAF z#@D{_`Fv+I9MkZBo-4oazd+=|pnGAlwS0H$WApCBRBvJLn?D0)R5+){J)#^&~`zx!`JTH7}}Zrxm)e0})3(_Wpt{UvkD U&+qk~9c=?HgWj;a-nqW?4_3-kkN^Mx literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M1/1_M_7.png b/assets/bigbug/dirt/M1/1_M_7.png new file mode 100644 index 0000000000000000000000000000000000000000..8c27e4bfb6cb4fe662324491fa958eab43c124b3 GIT binary patch literal 1037 zcmds#PfOHc5XZ-a3Te|*#bS07FF`b&5^0k)-HK(~m4Z$lY~Fw#L=aNCh=+tQm~(jD zLziAahb}{&55VlF76U8 zS;HD)As!MTSy-B4DV`E3S##3<-^th=m+59;dMuFR=rb4C4m|pcsje1`F2Egcn5E3^dq)F-<#l9yt8&rU%cz z@i|%VcLy~5pXceHjdzHA)M?*ezIJeM^yIQkTpI0NINjR(J@sk*)$WbI`#%n^G>3PV zRwjSWTyNc8ZJmEBSARX+*_$12`Rl`bFW-N;^HK|zq0cWxAIP$ literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M1/1_M_8.png b/assets/bigbug/dirt/M1/1_M_8.png new file mode 100644 index 0000000000000000000000000000000000000000..6a131604375f1f01d6cf26bb776017124f8b7b9e GIT binary patch literal 1035 zcmds#J8RTY5XFyKizTqcS3rCe0g+e;!h8akjd39?VK=CxvXHS=Vqs%rm7owC!6{OR zt%furVz13$XCYXLsIjpSG+;6QazBO_l0Wy(%$f7pjpfl|Z~DZvq~7rIV9fW>{$IDl z|M~MX6Fvvl#*2MzzdyArO+8p%T3O)HB$q-;soLF4ZVFSHs+G;fMO&<8Z1~t6J8KuGtgiI#x(8JdEoH7J3CqZ z&gbKu@n}NB|9P(bzWWT3!{OlK%JIi9Heb)`Lbrc<{ob{$+n*1weR#UFH*>7FxpZXx z$=t5aY#p4R+j#zP_S~blmu}wpaa3>KP5ruc_0QKYFFPmqUj6*r`DC&4t+(0*RKtbQ JV7q_){y%RQP$U2V literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M1/1_M_9.png b/assets/bigbug/dirt/M1/1_M_9.png new file mode 100644 index 0000000000000000000000000000000000000000..e452a49c00cd950e2c7373663825e684b74cdb5d GIT binary patch literal 1038 zcmds#y=&895XY|#mJ+RRQxOM+B3+zra3~ZkDQTdDkOaX_f^vIl2Sw=6A}9_*wctVP zQ1=cZIAqYp!EkhQaCOq|3W9KcdVhuwv_GEb?!NbZ$+KR!J=46>6p@+EN~_QJ;_2UX zga7k4FAVrhZ1mepa&&z4r^w{<-s*6fM-?#<7YUK9yQ-LqtAt8cSxwBuO~NFrTV2e> zUBV@6SVJttLn0&#OH(YxQz9h`S_LFV>7~f+^q8uvhHBPg?q=$yVVcE*vbnlzxMtC! z+d@4wLbF&hY^k0asad2E0c&W&3nFZ071)3=O*?fSIBphZSqfRq-QB`1OE5erdsu{J z>4z5Go)&3YcHkEF;0Fev7>Q^?1gxP6FNm-iXs`iens(|uaKb&yN))n~dxU2>i(q(A zj`S>}iG>_69;dMuFEJ0dum?Xd0L4gzG+3~PCcGfRW}v|ajA`1b^T5f<3@cH{V(wWH zl0SiyFp-iWp^*}?kORi!G}huJcEFNh{J;PdBN5VI!5W(If(V;|1{*M@X{XKuhu__e z!P*Z#-!}W*0S*7>x%2zsTSTsQTDOO@dwa*DOLA?x(VH4C-aS}<^`iY=pL~9~GyCTC zXy@sz@6EZ#hufDM!_C7F^K)Ah_dkAG98bpAsdwZ3lhLEUU;5`B{8~7>@n`q?!TGf_ O;7Vt?+d5jhxBU-=Dp5iJ literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M2/2_M_0.png b/assets/bigbug/dirt/M2/2_M_0.png new file mode 100644 index 0000000000000000000000000000000000000000..5f3c7c39cc9938b52cf17dafebcc39e1dabe2ee2 GIT binary patch literal 977 zcmds#y-MU!48@NMB7%(Nuvm-DR_Pa%8FfGgnHjdQ5*G3TTG(nQ))uL4#Zs)cwF%bx z23jv{8-M08yr6&XO>%NR=K6Sgu(AGQUDC$na5Uq)`SrK9!vCG0gE^n2v)RF(9$vOS zq~)9Aqs5pu5hKRy4yk?icp5Chb`r)NM))T%Sv8~QkJTr zO&~E!FGX%&$IZel&8io3ceij$w`v}gJuJd9teO_xo)&4DR?U)OFN?A)t0s*ISVI$D z5MeW`zy^$I+Ntxv3HNlbR>)%R5uV}Ig5g0q(lfnUKeXtM@+_~m1GlgTKQI8rNJJAN zU=2-pL4?gfgAEwdv{UDSlM&TcqL9VhGo#vB1jB=JR#Y2JEaZUkIE}SD?5u3ZU*<8qko>uKX3m_CeZM^(E-u_ykhC~@FqrVYcK&zeBL8o%U!C%q zdp;R%>g31G-_nH-+YfiPcr?kSkW#9?o5@XKN>g>&T;28TPU$ z%d%?Hh=4UT;RO*kvkGj$n5LaN51epM_iBYK<{sf0UM(0Nlp{UUtMx;R?kLalYCCWX zd+-ATP>e)0Ap+LWgcn5E3^dq)F-<#l9yl3MZ6yj>%sn%zokcJ_C}%~r(ZoUy7?0Cf zi#i!M;wqt%RaO%-ag#8~>Q)zX zahGt(8rBdC@sJ3~!qOB=@svo(f>r^EQF-n7f&}X_#j5plq)08m?Ki z=(bP~jnFKX3|p$FMrsymM8F!F@PY`NSp_y=Ow&%C2acPCS(ZW;b9c9J%MuI^${rSB zS^A+xx2Hu~mL0f-J@|nEC`KZh5CLmw!V4m71{!R@n5LaN51eq%vJ!O63=GQ&y~vY2~T zgyc`)Buu1aNNA))EaZUkIE}S(=PF+|ZpQt(>jLEKX!GM7NQ z+dGh=hz>*0G3XKqTHvKa1Rkc3^D=rse>~63eCPXT*XKGj&5df+@1b3k1Ap!E)pVHcU3VJR|%D@vYMEQn}kVLx4M{% zyM#;Du!dNOheSvgmZn&Wr$kB?v)2v|cCUJzk3&|m|`H0{)R;DmdYl_+E}_Xy8&7QyhK z9O+p`6AL+DJWgXRUSb|@VGn*_0E&?aX|P}oO?W|s%|L?<7}K;<=Yf-z8CIf@#oV(Z zB!2=YVIn0%LL((&AqR}dX{^Od?0_Z1_<;c^Mk1uaf;BYZ1ras_4K`p*(@vcS4!^tc z-h)Fv-b zEChpgwt`v>f~8=ig^w>_C5*q!$M8b(=iZq)a~`|3vb;DP934m+j+aKOd=KpY&Cc-u z)S3MgK2tYW7w5I}>DX^+`q9eewFMqcaw(*gs_$lUQ<&0JT{f4y!j-P-ZVP!RLK&(a zwv?wLm8ohhD|snOS*nIMfy5}i6uIplHw&{gt6t3A-NG&1s(DcMun5brYFc!ATBK!K zHA{xQEXuO1nlvI{4NZ7Kgw3o18!)D6r_KW>+|#{UA&a?3c!pOCh6m+H&-7~j(4sra zv%K04+`=CGzyK5@5lx7IH8kM`5jF!2HegKCPMrr%MpRpgLKbt+jA~~Q3=hg#QEfD_ zkORi!G}huJ=HV9h;0Fev7>SSu3)awt7ev?$G}wSKO*?fSIMtb9B??*0y*fhjCvXxb zQZghoQX&>|z<8X-TD-&#STc+s7=U6VLK-YsLla&QVKdNR1I9G%)Oq0WyE{3#`isw( zTdT_x8vf67<E~IulLUVyzmMjjTe?jJM$Y4{sDjKNWuUB literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M2/2_M_13.png b/assets/bigbug/dirt/M2/2_M_13.png new file mode 100644 index 0000000000000000000000000000000000000000..a90f4e67665243d452a13faf02c32f3b5a70e545 GIT binary patch literal 1034 zcmds#zf0C}5XUbiu?M7F!XhCGLIMfAxxt6W9v_JZc^-*ydZwdEEE`%Hp2ESRO^2%` zs5K!d+G=gMf`$eMAqb*Y5r>xR<^36bK)-xGclW;ck7sMS+n#8gZ-~f5XR+1ed*=9W ze3bt)v#0xfPHgnrP1*f=;g873)8(5h3p}cbiMU9JWZhN8R9q!gvdU^=CT5Vl zF76U8S;HD)As!MTSy-B4DV`E3S##3<-^th=m+59;dMuFR=rb4C4m|pcsje1`F2Egcn5E3^dq)F-<#l9yt8& zuJl)b^Vz%K>-K5*KhLeB2d@yh*lEqLOzmtw`!*>T$D8LqKfJwvckcbc;pLA%rZ2rd zwe;k9>(1Ka?a{OASJz*(-%kEI8VvuwoBy(UV`FUg!`P?6+TpdIZ-yru_g-HAJ~EsG NQ#uRX)^2m~=pRy)PbL5W literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M2/2_M_14.png b/assets/bigbug/dirt/M2/2_M_14.png new file mode 100644 index 0000000000000000000000000000000000000000..2269775f0b55787d0bae22efacb990320873db08 GIT binary patch literal 1041 zcmds#y=&895Xa9bSX$!?Rw|;K*e+c>2klU5NQr?GOA;LfrPI;Xs-TNV5qzn*sobpK z7Mz`Qb2zd)hzf#naCH*SPw&t0f%eDq+}-!SFL|=w>oliNOp8dfd#T;$dwBP6YA^p6 z77q>h?77wNv}80s`Aej+v%WT5#i!M;wqt%RaO%-ag#8~>Q)zXahGt( z8rBdC@sJ3~!qOB=@svo(f>r^EQF-n7f&}X_#j5plq)08m?Ki=(bP~ zjnFKX3|p$FMrsymM8F!F@PY`NSp_y=Ow&%C2acPCS(ZW;b9c9J%MuI^${rSBS^A+x zx2Hu~mL0f-J@|nEC`KZh5CLmw!V4m71{!R@n5LaN51eq%vJ!O63=GQ&y~vY2~Tgyc`) zBuu1aNNA))EaZUkIE}SWsSmn_qmqJRZ+TBcU3R9Y@mCfa@aHXqSw}m_up$t_U zwv?wLm8oi2R`ODmvQ!P)1QMh4Qsj1g+$_w}tlDDk?iOz8R*eT`4~wu2t451%Pm8on ztHzRHFN?A)t410Tu!bhQAi`!=fejebv{UDS6Yl9=O(Bc9M|g%;6ATZ^k)G+*^h1m8 zD9`e0cHkEF;0Fev7>Q^?1gxP6FNm-iXs`iens(|ua5AErl_+E}_spo~EP~-dIV-9e zO)TVq@i>jOc!_zqg+2Iz0VqZyq``tUG~opiHUkYdU`*3aod-^}%&-!LEaqMhY z5++hIBs5YY7IMINoW@$b#12?8j2{?)VkANuELcMmUJzk3&|m|`H0{)R;PAUUH@SJp z=gWifXhOsPd2Sp%+C${ZaByYg)VH4kL~Z*>1b*5#m=q8IeUBQ?EL+gU}?BI8ch3lpZo(46-+w- literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M2/2_M_2.png b/assets/bigbug/dirt/M2/2_M_2.png new file mode 100644 index 0000000000000000000000000000000000000000..1b2c98200e3fb90a0d39e538e12beb1d5dac6859 GIT binary patch literal 1037 zcmds#y=&895XY}A#Zn9v9F$T)ND&>JP7uMthLjqV&?ccnaS(@792C@|Qz_k21wnMU z!O5j`C~XIK_tV*zf1q)3>n7)?_hyY_9Gau35C` zwong^&@7e=TdJoVDceilM5)2Q@9u{F) z`k_U)r$t(p9k_)(_<;c^Mk1OJ0c&W&3nFX=8f?Irrky$uoN&*w5``@09^qNeA{ZW& zBR$J#Vj%~N$7!s^OU%P9?7_4Hm4S2``AS8ECKpW14pAJaDoy!%7sgn0r=) z8*v&lRpPrH=Cz=&4;a*!#_K7lN&eUVDriT_s-v6`wzz7ef@a-+~{x} OSm`Ww+k371TmJyCW=}W( literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M2/2_M_3.png b/assets/bigbug/dirt/M2/2_M_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1ebd024edfe818a58414ed9f76c8129870de2d09 GIT binary patch literal 1038 zcmds#zf0C}5XVoS#U7Fhp)3T2AR;h>YjTj1=i%uId6MTbhlU7*Bit&7mWF}`DJa2$ zLz*1g+}vBE!)OT_gqEOaX-cT!dU=0FAJ8wK&)vQ6{o`3*>~%()XPP21+P&85^F4m} zH`3t$`RQW=K0^=soq5^WoA@Cz{A_Vysm-H`n23vnNY-6dOvP0~C9A9^X5uDclGUv) z=Hf2lk~OR$7UCfhl7*!ymf|Uqk_D{-5~K7|`PmR@S|L0l${cszR3*FY$rSVr!U%WpdQzMP(yMMbsH@Ampzjo%1e%QEl zWqD=l(_?=$wDzv?`uXh33+qR|eZGG0?CQshTe~+-PM(^$xz{}K{rhkC|BQ{zT;96f Se)H=zxYBL+T08T1p8NwRHBWB< literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M2/2_M_4.png b/assets/bigbug/dirt/M2/2_M_4.png new file mode 100644 index 0000000000000000000000000000000000000000..97d43cd687d83c8d2ea3a5b2724f49e91f7389b7 GIT binary patch literal 1027 zcmds$KWh_U5XK)Bp;m%*QIU2KL=+SXhoIt;kWvFBl%xncIo%h~!MWhz->t)m7D@&O zrJEnXxrcOh5kZG2DB_@l!}-hmF?=C;x%cj#d!FZ#hwH=D&iv_lNu9xs{)l^F_L)1x z_xVf5##{&Pj#hixeZTlsI{0{fZDWN;lUxcZrE0O6+!UrXRZE-8UExYswQ37_C_)*k z)@&(HMJiL(u&m^zC}pV{ve&r+QT9&!>ZAu+S4K} z)2gwg*~_9V%c_w^1gxP6FNiRiQD6f`H|6Ac;Dmd+S5wGf;t0?1YJ%ZGI?^+}nto_e z9pzbG%?{kc9{j)n6eAH$h=4UT;RO*U0}VD{bW={A2Tn#*vl4|2CeDm%&LS8dq_d)$ z(X53%U_4G^EnZ?CZeb68U;v7d2x+ij4NZ7KgvmgI4H(^&ljng`ZD&}CLIx98TOs>r z;cS?dvO|`}mRJjWz<8X-TD-&#SkjCi7=U6VLK-YsLla&QVKUHQ14cLH~jvZ!{cJ@PD40zwb{F*&Xz|8>hD3KHKYPd9JrK{r>se(yQ*%%OCeTUnVaP|2_NZ z$J)CGXOR{>@w|*4&>zop&iS72pS!-;oo~h_$3&#*TyORGo;~>+ z9p?Y^%$Yu)p?kggIobYv{!rx9#^Sn z#a+TBYgj`p#6uz^3rkZh#Zw|B3t9yvM(L%N5dmvx!V4m7W);|gF-<#l9yo3mW?2eZ%-!9>ElV&wD0^6h zW$A|&-JTX{S$5zS_TUEwpcsj0LIkX#2``AS8ECKpW14pAJaEE2%Ssfon0th0Ig4O; zP>%F0qltwaFdnC|7B4Xmx3C94FaX6!gfv*Nh9J}oeby~Aa6Ho3w{@BQ+(YF&Hj&?5p_;dAT^XT2~rw8xP z#p{uWYlHUw-q5WVPgi!{?EfD8`u^XXF|40|?|&VCx7}Fpw4P1; zeShQ2&BONVrHe~{Hb3sQbn^86!Su$}k^a-?W7|86#}8H>A5A?RIo$kl>BHOAy`MwN W>ua|zT)*}LWa-ZII$Q1g%l`ln&sCKG literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M2/2_M_7.png b/assets/bigbug/dirt/M2/2_M_7.png new file mode 100644 index 0000000000000000000000000000000000000000..4f652af36a57aa8a1a901f149544476338e6fd5e GIT binary patch literal 1038 zcmds#PfOHc5XVQYlm)ROLNX~RqKl^~5W3W|%eo+o>~0ebE-Ug{EEDmv5~=sJCzm(c_I<9TN0JKsP1a;evuY@BO|$Ygh+)#rQi=x<_- z|5xXx27E@=`kkii9iIOqGWu$1aoFZjMNGs+LL}?1DyHHpp^{Zr6Eks>Fv;px7jto! zaLF3h5DW2;2+6|I6ie}xNXdd$0f|w1DRMhHrs}Gpnzfj_nYwA1X7QkGuI?JHS+wZ3 zP!EmJES3ygs;5S37HLGl8k+Ee2%A|2HegKCPMrsin}u1HLKbs(w{Xi63=hg47GYWX zp+&c+MOu~}xP?9VfdME+BAO5ZYiPm?B5Vd4Y`~bNojMPkaL=+5g)HVC;aSci7#@@( zJ40!4C{TF%lsS7ObHOFNm-iXs`iens(|uaI!MPN))n~dsc+x zPv9g>q-02Fq(m&_fblquwRnjguw)oNFaX6!gfv*Nh9N^WmCcW*4sK42&b@ege|z=k?1R(4c5l2p^R{vM zOLOYj@X^e{h3QWt+t)TOt#90(Uq1f*#J8RKAN!AoA7

Kfn8=v-Ns+eC6WSZ2R!~ PS#YJ>?zQ%s_n!R&?(9vf literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M2/2_M_8.png b/assets/bigbug/dirt/M2/2_M_8.png new file mode 100644 index 0000000000000000000000000000000000000000..4ce593b37720e16c67fc6245c79b4595e1f60d48 GIT binary patch literal 1031 zcmds#J!_Ov5QUEs!V(FFR4SsTQ9-Px5X&sP#Ko}0-LQpKY~~MWAqW;W>I$X`IHd^M zZD(UC*o|VUU?T_$ew2zSQjAaT&+tO>a_`KXIUoCYW4N}saB4x);^10u#CPfNuXB|D z7cU?#<%|4GNxfD`L)$V3;Q<&0Jt!yrLg)3dvx-I0P2xX|+ zu%$c|sZ3SFvXYmgl%;CWCXg7Vmm;^r<7Q!&X4MvRceij$w`x2ndsu{JST$O7ds?Jr zS~Zpods&oaSvAs#fHgGX1rav03T(ibrky$uoN!O~Y6@A*J;F1*nqYWPj`U2grXN~# zM|qZ4vjexV2R|?X#YjXGB47O63&Wrmd~WHI+@5t2WF zlQ5BzA)%2Hv5*7C<22UdC3e7)Vf?@V6eAJRV8I%i@PY`Nfd(5erfH|n1Bc(;`SH!~ zd_LV74aYS6pJ(#-?h8cr2ffwJ6FaZBuP^Idr+am2|I5!a7k=C1;PZ6l#@yMh<@YP! zrt_EHe!TUk)15pzIoMtQy1lxyd*#)`H}CFGU+z8KKRDK#fBx&)-s~QL8uW*~S$FHf EKX5uwlK=n! literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/M2/2_M_9.png b/assets/bigbug/dirt/M2/2_M_9.png new file mode 100644 index 0000000000000000000000000000000000000000..500a422fdee364831659ce3b8fee465f9daa6567 GIT binary patch literal 1031 zcmds#y=&895XVp3p%j93Q4s^BqS!%{-r~^3nh*megrqo#gE$=SIygJ|26hSb=B(18 zLrWLmmM(`|s{R3m>L?;Y(eu;$Gkl=^@jQ3;z3)q&_j{ej?D<&{X>@P527Kp^|7NE6 zf92|_A)gbE2Avhz{B+@)$jO)e)wMQ{DqZpib9L8n&7wuO zg?ea&X0c@0Qav?Nvq&QX*3g6(MA*zKumNM5cIrHE+$_wp6tbARyMUPR-%x_+_NGi ze*!0AA|*pYBPC)X2aLyQti?<0fF;BDfdME+BBa5BH8kM`5jF!2HegKCPMrr1zq`xB zyN7(fJ|6UjH2k0E&aWq9M7F!Fn``Grqt_o!zn`C(UVM18yT8~OKZt{aw;RnH^Vb(H zZB2cjTs(8@aBlMB#hX{xK7U+V{`qcu`b+a!b7^ON@80jD#-u;`yM6Z07J$-i_gb4P H_n-a)`5ID$ literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S1/1_S_0.png b/assets/bigbug/dirt/S1/1_S_0.png new file mode 100644 index 0000000000000000000000000000000000000000..5f3c7c39cc9938b52cf17dafebcc39e1dabe2ee2 GIT binary patch literal 977 zcmds#y-MU!48@NMB7%(Nuvm-DR_Pa%8FfGgnHjdQ5*G3TTG(nQ))uL4#Zs)cwF%bx z23jv{8-M08yr6&XO>%NR=K6Sgu(AGQUDC$na5Uq)`SrK9!vCG0gE^n2v)RF(9$vOS zq~)9Aqs5pu5hKRy4yk?icp5Chb`r)NM))T%Sv8~QkJTr zO&~E!FGX%&$IZel&8io3ceij$w`v}gJuJd9teO_xo)&4DR?U)OFN?A)t0s*ISVI$D z5MeW`zy^$I+Ntxv3HNlbR>)%R5uV}Ig5g0q(lfnUKeXtM@+_~m1GlgTKQI8rNJJAN zU=2-pL4?gfgAEwdv{UDSlM&TcqL9VhGo#vB1jB=JR#Y2JEaZUkIE}Sv+Bj%-7VbGt(pgA4~wu2tENS_r$t((RkLK+%c3mH zs!1aP*3g6(MA*zKumNM5cIrHE!ad!q6|$InglBlQV0ciD^h~eT4=uW*Jj<)?z%A^- z4-7yt648VRSVI$D5MeXWU<1Z9?bLbTWJI-S*}o?AwRIayVP<57+l^H@F#+tj0<#jKtb1OH#zbVz81F zf<+oz8wDE~qOF}}6f89e;`rqL3@;=v_s-0j^Rd(6V52j?G%u;s-|UX~UOM}mo#FrW zwS_UCbB{(F>pD7K{wAH@8{V1pcr?kSkW#94H8jRkArD0;L)C^Y z<*7(zsv4G+ycDG@Rf9Hx#3;QKxt$$13$rwdL(4sra zv%H!exP?9VfdME+BAO5ZYiPm?B5Vd4Y`~bNojMPkjHqTM3R%oOGpad@V0ci@ifTp^ z3prpsPGc=zVjgZ`4}M?(ijfFuuwV^MctM2CK!Xh!)3j6Pfm1CrtVAJ;xmSyj{0W?d ziIfZpjg*Lm955cIu@*0}1C|Wq2L_-RiI4^h*3g6(MA!^8*nlxjJ9Qp7{O(rAcTf0y z*&YqXH2j}u>(`S*ME3gK+mprT502k;v@$z$>%#ZHZ?>1GE0?b>Oz&S?+`6*)@a?P9 z&a>ScyQgyp`|o=%c0PXY{Qi0I_T{K+??8x#5`a?(M(nDgGZn zxod^b#M*dqURxgz{gfu}k1nh(@Mw}tA*ED(H3zSSPW-wzd*$Wh@!hq*>)+nq`ts?`!O@Nzryd@?`uyu{u(Y(WJlvYUeCHo~&P#;= literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S1/1_S_12.png b/assets/bigbug/dirt/S1/1_S_12.png new file mode 100644 index 0000000000000000000000000000000000000000..bb34322da4b2cc325e91705c1df1109ef70ed9f2 GIT binary patch literal 1011 zcmds#y=v4^5XDan5fc*)Rw5P>VM${lQv~c1HY5wOth>R&N(fAuMnOw4;0G2~7Sjb% ziLy^JgtUSW5MMy-#$V|;N4IBu z7G6#Fb~Hb`|3|v^W%Bf3mq(La3Mr-PyP4b+rZiQT&E>9erK`HzLLQ1xhN_1x<*7(z zsv65mUW!tds-aCFF-k8*ZkNZ+!Ys|I7jt*Fa7(vp9+W*S!ZNIy7Tul}X_;2dl3_24 zvMj46jR;sn6J8KuGpoP`jA`1b^S}xBbgx#(V(t;1;njlSK{?Vhy;?uC=#KI%ueJlX zum?Xd0L4f|6Cz*@O?W|s%|L?<7}K;<=Yf+E)mEaA#oRNa+F1m{gK}0>8%-?afblqu zwRnknxP?9VfdME+BBa5BH8kM`5jF!2HegKCPMrr%b!J$JLKbtcj*$EboP>##3<-^t zh=m+59;dMuFR=rb4C4m|pcsje1`F2Egcn5E3^dq)F-<#l9yt8&2D29ze15&2j%PGn z&GY>4+fzh79u2n-?tVKw-(FnZI{K~Y`kmqF^2NKQ2O8+vr@_hb!NwGp8Y{7|ve+&X z>%4;4i7cX631Y1;V7q>|kKqq@Kl|_Q?9A-ltNqc=^3tUxNz23C!I*nx_E}uud+qx9 z3D?}y@y?b`zO4R{=3npcO}BY8$)%7|s*cU%rZA1R`ODmvQ!Oi0*O{?NfOPDn}u1LRSzb1w{T0hY96FLEW$FZnikcb7HOGQ&5~v> zi?S@MCXEPKLla&QVKSq@28?dX$@9Po_jIpT$YA0K&+ux&@E{%OnO?0QT2x1QmRH+> zTiAmi7=U6Vq6rbOh9{##+3@4p`ER9~gjQBtjZ2SVI$D5MeUVU;{=s<>Yzb@VmP;40!4C{TF%lsS7ObHOFNm-iXs`iens(|uaH?g7l_+E}_i7Q6KY^1l zk&+>ykrJ_x1IFVt*5W00z>;D7zyK5@5z=768k+Ee2%CWh8!)D6r_KY1-`$PHz2AI( zKAle&H2k0E?%!vJh#XEv!{x@h~ vHU72M9h}pxZ~fhey_dVE_m#8jovYiAI_tLg_2Bb`FMw$>o{o+-cAozOb-6=< literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S1/1_S_15.png b/assets/bigbug/dirt/S1/1_S_15.png new file mode 100644 index 0000000000000000000000000000000000000000..42d2c42f853979f708b99130d86dca62839a239b GIT binary patch literal 1018 zcmds#uWQv|6viJnrk4vtL4(MOMJ>YM6rjw-)>DdmWMZnl9o3gj;DODoc|3L`G4o` zlv4HGOl}HOnySm@a#y(0Ro!hN4@D?L)x(zZ zRHQOhjb$Y-MJY?w&?b-=rI#YN^W$b=mS)w9xw~7qrCT)*${rSB8CFe;ZcmG}Osi(e zu$M(ymQ|BR1gxP6FNm<2RbT_gH0{)R;Dmd+S1V*O_XyAMYQgZJ9O;=}tsh!+M|qZ4 z+ksoygC7`xVkDvo5wM0Pydc76puq-=Y1*mtz{!YeD^bW|?wL{TEP~-dIV-A-CKhtQ zc$~&syu>`*!XEs<02Ct;(qO?Fn(%@Mn}G%!Fs5mz&I6}9Gps}*i@8@vNd5#)!bD1j zghoolLJk;@(^!j_*a1t1@dE=;j6_I-1#4)+3nFX=8f?Irrky$u9DaAVW=~G}{MegL zW;Fbt=keLgIU?_Ejvs7a|M2wW^Yh;q2Vb=KemA}~vrM{yN%S+26knhBntHFW zf>lb{aR3wbC)8LBpH zDNjWzQ`NAn+|#|9LKbt6@C>ge7#@@(J=3e{hZfyY zp5@i-z%A^-4-7yt648VRSVI$D5MeXWU<1Z9?bLbTWJEP9QOIKMnNiJI1jB=JR#Y>Z zSjYk6aT;s!67z5id+-ATP>e)Kg9U47!V4m71{!R@n5LaN51eY5VI>M#%)MHKN_glAry3<+u(tWYF zaJ%z*W%=*5Pp>XrneF#)Y^?SV?k@e@zInX&Vezx{^4`J8$K!{m0BSTG502J$p8o?# CMoAd} literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S1/1_S_3.png b/assets/bigbug/dirt/S1/1_S_3.png new file mode 100644 index 0000000000000000000000000000000000000000..963e6fb1751f6eacad97c0701ab22f1a3c1c1aa0 GIT binary patch literal 1024 zcmds$v1=4y48@<8ljEQ$q9EenR9u8Y=-?u?z0w}YQQG3*WDx`EBzABVH*s-s2spId z=Fr_yR1gW`>g;m;2V5NDulY0l;O-+|l9%^h?p|+CHy1}&N0JsNTjL$>3#Xsq0^c`o zp5Ns<^L%G>O~*g3ok(ZjY~S76;L#+PLQ1JRHj|sel&0#mx!e`5bX8Yd$U_mzP<6AV zJQb--RbyGnOHs;FHM9vNTB#*Tbb8z@%+joSFtNLZTe?;AAnjohmSNSjsP?o-%d~2i zG<#W;Wmz?8M8F!F@PY`F83i_AbW={A2Tr)Bd$mFa6GwQ4R||#*=}6D?YW>inI?A)W z+78^p9{j)n6eAH$h=4UT;RO*U0}VD{bW={A2Tn#*TZuvj6K6)Xvj~O<>8z+WnzgV8 zjK^uL#Y@b?E$qP$3_vjwAq^I+p$RXDFd1mD0i&C8@;q>=cZQWHWH52{3fVskXTz+N z9kMjG#9G(`#^W^B;w5&#l4ktC02Ct;(qO?Fn(%@MlYs^sFuExx&jW|w-O}#;IoGd) zo#`$G|L3{)=fw<>w7EnoWn s^6}RtJvtiAS1%upuKykEU;MJa#sB!$`;`w*PgX$EWMeu$UVHHBAGexD`v3p{ literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S1/1_S_4.png b/assets/bigbug/dirt/S1/1_S_4.png new file mode 100644 index 0000000000000000000000000000000000000000..f02455d7317b9ca7244aa51c6eb7f7385487f298 GIT binary patch literal 1014 zcmds#y=v4^5XFxhkq``~T*V@VNE&U%Mk|dQk_B19Zm_TrMHnpwH(==ph+<`7F<=qc z#wvw2K7z#{7B+$ppgw@5<1h0VUP%7jJ2Pj_$G+N~Y_G1IS&_6l-Wg5#t{wd?FY$ll z!l@abV~?iWn>ze*_Lnqxy?bMCi${}O3Mr-PyP4b+rZiQT&E>9erK`HzLLQ1xhN_1x z<*7(zsv65mUW!tds-aCFF-k8*Zb!$>!Ys|I7jt*Fa7(vp9+W*S!ZNIy7Tul}X_;2d zl3_24vMj46jR;sn6J8KuGpoP`jA`1b^S}xBbgx#(V(t;1;njlSK{?Vhy;?uC=#KI% zueJlXum?Xd0L4f|6Cz*@O?W|s%|L?<7}K;<=Yf+E)mEaA#oRNa+F1m{gK}0>8%-?a zfblquwRnknxP?9VfdME+BBa5BH8kM`5jF!2HegKCPMrr%b!J$JLKbtcj*$EboP>## z3<-^th=m+59;dMuFR=rb4C4m|pcsje1`F2Egcn5E3^dq)F-<#l9yt8&&d+ZBFJ5#gL4Oq#q*0--<@9Hzw&;t_Hq5i?;lTQCzmh3 k-2Xgyc>T@s`FuG4D&7D4;qJHFOB>84v!|e6jDmncQd&uOlhhvo6B9{N>_Eag*+6Y3{?+X%2Scb zR5g~BycDG@RYRLVVw7Hr+)j?0g;|$d>7}K;<=YbRM>0Ygn#oQx2!>a|ugL0&2dbNIN(H-SkUTp_% zVGn*_0E&@_CPcs*n(%@Mn}G%!Fs5mz&I2bSs;xvJi@9e;wX+C@2j#4&Hkw$-0poER zYw;5Ea0`3z0|QWuL`Z`LYiPm?B5Vd4Y`~bNojMPk>ddebg)HV?9U=J>I0+Le84?;P z5eqqBJWgXRUSbC<8O9F`Krs>_4Hm4S2``AS8ECKpW14pAJaG8kZO-?9@%g@(P3AQG zpXc7+gD;4@H6GpGTl@I%_{DIsHa)ocXlZM8adG3!^T&fv?|La&+bV_tDpbOo*g~~M&q5y=xF=?%YPA{LVy4O literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S1/1_S_6.png b/assets/bigbug/dirt/S1/1_S_6.png new file mode 100644 index 0000000000000000000000000000000000000000..5029cfdf629362ca73da87a7b7b70ac9d6bb7910 GIT binary patch literal 1032 zcmds#J!_Ov5QR??$cDuvHbNAURHC4TOf8zQF)qro?uH0r5fG=c(?YNlL_)xiBE?h+ z=~IYUXssfQMl1w-i-^6A#rWj@3@;=v_s-0j^Rb)5!Rl=HSXa_)|8j4{_wd2r%oP7m zot+=^nYcSzUDocGM+R6&_7;DWsID-Oc2tFr}$l*<9`lSGuZoTgXEZ%22go zOL;0%nW~0mB`-xOOVyxFATdfWMQ#Vj&B83rsx9X3ZsC@0)p$_$un5brYP9I~v`EXe zYAhM{vM9^4YNQbXYiPm?B5Y6uY ze%u=k#x(q&XZ_Fp9YkL0_muPakYB>M;?~B_X`&Vx5Je^)T|Lx4hSL>bU zokKrAX#4B$&f<{^``1srd_OVw?#;&Ag`4M|?R~oQVD9tebUr!yee?8V5Y=B9^mdmw G9{vLt|4aA) literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S1/1_S_7.png b/assets/bigbug/dirt/S1/1_S_7.png new file mode 100644 index 0000000000000000000000000000000000000000..08d62f581c6bee89316a3e93e935d6c61efec36e GIT binary patch literal 1027 zcmds#J!_Ov5QR@%#JCWQU_e3&t00IV%pXXWjd4MiWj9#ZXdwf3f)+`khy)?1m86(b z#5NGph+?5-7_=5UK~S_10s$MxC--M~A$hrXX3m_C-5L#7XS(xUNi%~h{W0I!qrd46 z|Ic4MHQ_ULcf8uu&c}rx(y=F_t7|Jfn&eVQDOJ0h$xUHOQ?;_W+!d~LRqM8pha!}r zYQvWDRHQOh4a-Viic*%UL7PBglwOM5j*gp!S(;T_%-!9>E#0c|pzL80mSNRs(d}uG zmTA>kGVEnhmSxpQBLddYgcn5E%qp+}W14pAJaEE2-K!~NG4}}1@M?nLK{?Vhy_$Y# z(H-SkUd;~N!XEs<02Ct;O^ARsG~opiHUkYdU`*3aod-@vRI?I=EasjW)tp5zJSb;H zHKU1z955cIu@)~e54W%fKQI8rNQ5+4u!bhQAi`##!3K2-Gk??_9UOo2YU=*hhhMMHJ$U{E&%ga%1WbdKVSlH0^U*&W C8%?SJ literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S1/1_S_8.png b/assets/bigbug/dirt/S1/1_S_8.png new file mode 100644 index 0000000000000000000000000000000000000000..8b17602a1bee03c3b1788609a412825b1e0ce2b9 GIT binary patch literal 1024 zcmds#y=v4^5XFzifChuXLPRYTWYNMjQ`iL(c8LoT*4H{S&+0izBZilT{`$XI>-M@ zS5D0M9C|QaU(?>#bHAm-&nDM5M?9M3Qb;LP-_7KvFr}%wY%X_&D_zyy7V=PpGE_Zm zDNjWzQ`J~j@=}ztR1IwciBWnfayvL~7G`Nyy_mbZgDBt7MR$~E zd9@w5g+2Iz0VqZynh*hNXu=C3Yz7)^z?i0;IuD$TsJ0S?EasjW)y^Uq9+b19+Gt`S z2aLyQti?;r!!7K=4-7yt5+My1tf2`nh_D%GumNM5cIrHEsx!k%6tb9mb%f+k;3Q0> zWJqYFL@eZh@i>jOc!?dbWEej%0L4gzG+3~PCcGfRW}v|ajA`1b^T6SEH<;bp=kxvH zbYn)t|9Niyd9;hjmGN+O^YqI*-&W_2U%mH3)1{Nc-DCS(^XE0tjVFUQ+mr3L^9%1T tZhbhlth--cKmWCJ_Wq~ON47qW{;ue!UR}Ph{Qd<<8jm)Hduz8J{{udqMsxrG literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S1/1_S_9.png b/assets/bigbug/dirt/S1/1_S_9.png new file mode 100644 index 0000000000000000000000000000000000000000..85344aa033b080d6ea833c319e423225d75b630b GIT binary patch literal 1027 zcmds#y=v4^5XDbSqlwWVDk|DY5DTrQNSh5Cl7+A=yNg9CQJ6-sF@>c>5hY+DSWKNh zrB5-6DFq)Og0=1V+j$HxB!BLmnKS2OKTgKGYb$qFB(071hEu-li@%G@{D1iP>Wt6Q ztLg5xPQTy%EnPUC?9X?2G|8oqQmVe2$xUHOQ+3%~?h04Bs=F=Zp$KKDde~B)id3em zv8?2!C}pV{+5{4#^it%uIBphZX;!_MySs&3x>fU_>|qg>Vb!$g_OwXLv}%?Nds&oa zSv6@yz#5wHf(V;g1vX$z(@vcSPPnIgwL%tikMIny77P!{k)G+*`k_U4lxKOh9k_)( z_<;c^Mk1OJ0c&W&3nFX=8f?Irrky$uoQ$Zp5``@0o*C87A{ZW&v!dE)Vj%~N$7!s^ zOU%P9?7_4Hm4S2``AS8ECKpW14pAJaDQr!%7sgn0s}ELF8aG9L#ThdH!Rte0lTbFHP64?VYS{&9}6#N5>mSlcgJjn_B(6p|AJ89ej9m l<-OirI(vIxo7YGBb2yh?Oh4T|JAbwS(`aWrJl%eJ^bb&8LnHtI literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S2/2_S_0.png b/assets/bigbug/dirt/S2/2_S_0.png new file mode 100644 index 0000000000000000000000000000000000000000..5f3c7c39cc9938b52cf17dafebcc39e1dabe2ee2 GIT binary patch literal 977 zcmds#y-MU!48@NMB7%(Nuvm-DR_Pa%8FfGgnHjdQ5*G3TTG(nQ))uL4#Zs)cwF%bx z23jv{8-M08yr6&XO>%NR=K6Sgu(AGQUDC$na5Uq)`SrK9!vCG0gE^n2v)RF(9$vOS zq~)9Aqs5pu5hKRy4yk?icp5Chb`r)NM))T%Sv8~QkJTr zO&~E!FGX%&$IZel&8io3ceij$w`v}gJuJd9teO_xo)&4DR?U)OFN?A)t0s*ISVI$D z5MeW`zy^$I+Ntxv3HNlbR>)%R5uV}Ig5g0q(lfnUKeXtM@+_~m1GlgTKQI8rNJJAN zU=2-pL4?gfgAEwdv{UDSlM&TcqL9VhGo#vB1jB=JR#Y2JEaZUkIE}SbsfT6s9y)m(As_aHXrd+d>|SP=>09E#;|5WvUv> zN?wXmma3smATdfWMQ(S;&B83rsuy#2w{T0hY95q5EW$FZnik!j7HOGQ&5~g+i?S@M zCXEPKLla&QVKb}128?Oisq?@I_jIpT$YSmhp5fJk;XyglGrd|rwCIlVEU&f$x3C94 zFaX6!L=z%l4NZ7Kgv~&M4H(n3Q|Ez`5!F_rkj30HquN;n!-H~GR2xk!z9xr4Y2Rwh$z>km&+; z7I_8t0fvy)*2=tq?c|sH7+y&J+&eR8&c}Y+pYHUR*On#qC%fYr-@)zQy)OTsK3kph z>3p2+Z0X|i(Y18vbpQ3iHjgH`6jDmn?q+gRn9@|OY%X_&D_zyPE##pHWvJS)r92g> zOjX0Ol9!^CrE1V7kQk+xBDdS)W?`0Q)fRJiw{T0hYCI@=ScGL*HCl9gTBK!KHI@u} zS(Ig2HPVQHH8kM`5jL|5Y`~bNojMPka8LJY3R%oO!ZW;@V0ciD^h~d&A6j%rd6rkR z1GlgTKQI8rNJJANU=2-pL4?gfgAEwdv{UDSlM&UdL?Mg0XGS$=5eyH?Sy9bsVj%~N z$7!s^OU%P9?7_4Hm4S2``AS8ECKpW14pAJaDRIhLtE}G52Z_l0SiyFp-iW zp^*}?kORi!G}huJcEFNh{J;PdBN5VI!5W(If(V;|1{*M@X{XKuhu__k`O#lKzdy~U za~l57^Y-88ABY@H#-oFW-``)2y7$-rEDhFsABOt6=x=r&>s^VQ<$d2ev}t8;SQ?+p)Ey4szeyj+~Gt^uaW_H=x)b^PT9Xahps literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S2/2_S_11.png b/assets/bigbug/dirt/S2/2_S_11.png new file mode 100644 index 0000000000000000000000000000000000000000..bad58ded468ce33522600356b294a829043e1ed6 GIT binary patch literal 1026 zcmds#ziZQB5XPT0P)caElf+-pNs1r{H*|4mLrN1UAtb?}Q$V;$aL_?F6%^FLK^$%? zxEDvq{sBjE?Iuoj76hmB)A!Hth4#z)-raN0kGz{s4mNr>dXhHAqv4G2=H=g7m;c-M zuFm;%p3V*iIyt-bOIrCbJzVVbXp&1IrBv;1CO3sCP1VZga#y(0Rju1X9*R(gstsGp zQ<2J4H7qN6DN0$Y25ka~QFb8~2jxi5^lJK{MR$~E zc{Mw53w!Vb15k`aG$8`k(1aI6*bFq-fH6%wbsjhwQO!yevY2~jRC5-=@SvO()r=+< za=>_;##+3@Jlw(_{J;PdBN5VI!5W(If(V;|1{*M@X{XKur&?xMi9!~0uNEQs6F3PI zDH#$PDG>`fU_4G^EnZ>=EE&cR3_vjwAq^I+p$RXDuo-Bu0b`nW>O64x-QAfVUGO=7 zHk-_8_&?9XKhM7)a(6u3Tl7Ca`o7m)-}Nwe}DNh uChzt3`ttXa$UaH?ZvB`7k8%}eH?sxu{~Nn2211p$?#;beEkp1oJA!7 literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S2/2_S_12.png b/assets/bigbug/dirt/S2/2_S_12.png new file mode 100644 index 0000000000000000000000000000000000000000..eba4793bc9243a94027137680874b66bce427a4f GIT binary patch literal 1014 zcmds#ziZQB5XPUTi|CDn zS$i=%KG4~h>%XPJ>Ga{^h)0uL3Mr-PyP4b+rZiQT&E>9erK`HzLLQ1xhN_1x<*7(z zsv65mUW!tds-aCFF-k8*ZWqVR!Ys|I7jt*Fa7(vp9+W*S!ZNIy7Tul}X_;2dl3_24 zvMj46jR;sn6J8KuGpoP`jA`1b^S}xBbgx#(V(t;1;njlSK{?Vhy;?uC=#KI%ueJlX zum?Xd0L4f|6Cz*@O?W|s%|L?<7}K;<=Yf+E)mEaA#oRNa+F1m{gK}0>8%-?afblqu zwRnknxP?9VfdME+BBa5BH8kM`5jF!2HegKCPMrr%b!J$JLKbtcj*$EboP>##3<-^t zh=m+59;dMuFR=rb4C4m|pcsje1`F2Egcn5E3^dq)F-<#l9yt8&ZqFb8;`9CGY%-_e z|2&WWzIunq(fDwGvHj-h*ZuX)z2)cOjpd(byFZqL&DFK%JA2d7YH@FS_mjSzZt4B` d>gUZXcRvm^@(*jb9-O>oUgM+5;n~5HlYf(yL6iUh literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S2/2_S_13.png b/assets/bigbug/dirt/S2/2_S_13.png new file mode 100644 index 0000000000000000000000000000000000000000..5301f51d28b81fd086d7808b6d6715cc735d394a GIT binary patch literal 1025 zcmds$KWh_U5XPSv`iIa^2L}-g4pKxYhzE5vtqC=tAtY5n6cpibEa>1UqJoH{!$Au| zSLtVPa6H7dn}dV;0bI{t-;d!7$;-WW_uTV5m%N)!cKW?@JxTrX&Ebsu^vP$r%lD;? z)j3z^*=%Q9N8ir>mQKB&-r61UXp&1IrBp38lbgbnrfO+(xhq`hs#a|w4@D?L)tW8k zsYqq28kUv36s0UxgEoOgE43tvPL7*}S(;TFOzdvqmTuK}koK?$%dl#+sP?o-%d~1N zY4)-x%d%>u5dmvx!V4lyW)#?f(M>sd9ysBi?$s1Bm^i{SyqaKmkdE|BucjYbR7ZK1 zSF;1Rum?Xd0L4f|6Cz*@O?W|s$v}e*7~PbU=Yf+E)vQDzgNZYvnzIOo2kES+W;API z4;YWrSc{jKhg;Z#9~gjQBtjZ2SVI$D5MeUVU;{=s<>YzbRNEO=qL9JF)mF&CMy2S3WQB7yt9~;KTmr>mg7Yk0!&T?MJWv0dd(tWdHyG literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S2/2_S_14.png b/assets/bigbug/dirt/S2/2_S_14.png new file mode 100644 index 0000000000000000000000000000000000000000..fef8fb0a94f08d4c6eb731d3d1bb96f471138005 GIT binary patch literal 1028 zcmds#J!_Ov5QWcXn-E#FjACIW+XxHO_|>>B!?Kc>qLig-&?b-=rI#YN!{cUQmS)u!b9c9JOSft~D0^6hWmq*@bbDH) zWm+|s40~CWWmz@Sh=4UT;RO*kvkGj$n5LaN51epM_i74R%ss+0yqaKmP>%FWucjYb zbVqrXSF;1Rum?Xd0L4f|6Cz*@O?W|s%|L?<7}K;<=Yf+E)vQDzi@9e;HD?hF56W3l z&1hmF2aLyQti?;r!!7K=4-7yt5+My1tf2`nh_D%GumNM5cIrHEs%3_iC}c7BY7vq@ zfs-(ik|Cjy60wj2#^W^B;w5&#l41P702Ct;(qO?Fn(%@Mn}G%!Fs5mz&I5n;U~WdA)n%=kw)fe|KJf>u!G;Y&_^4dG~z_G>um#qrKs+`~Ltm C)J#19 literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S2/2_S_15.png b/assets/bigbug/dirt/S2/2_S_15.png new file mode 100644 index 0000000000000000000000000000000000000000..d02dd71848f3b059818e3e3d5e7d52fbeef619b4 GIT binary patch literal 1017 zcmds#J!_Ov5QWbsAYs|4g~cM)Vq-O+wP8bCkY(8of>wesSP5zhu@Ds-5lf5d0x4`v zdd0@ZYLKM#2M7@aJF#+nGC#u$$;-VnbLM>PtNCneeRzH-X?=Qqvfz96!xul&bG$a#NVnR9!ZgyTX;O>TU~pC_)*k9=4RH zB9*CXEGu~_N?EFgHi5(_y%f2f95)NIG^<|B-QB`1-Ku#|_OJ-cuxeU#ds?JrS~W|C zy)4SIteP|;U=2-pL4?h$0vj-M#%)L57@+WW-CQ>pa zG*TiKa=>_;##+3@4p=gb9~gjQBtjZ2SVI$D5MeXWU<1Z9?bLbT@VmRXynW2)+sevt+U~uT;qmTx^~$+hFUNzC-GBD} l^RLsRcY9Ax{ak!{I?%(9`}=SH{`mrgrkk_L!N#2z{{RR-N811Z literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S2/2_S_2.png b/assets/bigbug/dirt/S2/2_S_2.png new file mode 100644 index 0000000000000000000000000000000000000000..863980c8cd294af2d481187276b598fa138f4e3b GIT binary patch literal 1025 zcmds#ziZQB5XPT2A`%FSbO_qPF5(gqZx9qwOF|8l5R&TPBvx)xD40P<1qE?&aX4`( zxOZ@K>mP849o;(CK{s8`Pv1Yo7uqlHdw0)0Kk{}u+30o8btU!2cZV~+XO90)b@+d2 zaC**X>Dg>!U3=eFe@e^mrkh(M9!+v7q?D@N&E%#qrKwukTXLvQi@Sq&&nO;plwCIlV zEU#tBdS@6LKbt+jB3sz7#@_fqMFgf zLJk;@(^!j_n1@@~gC7`xVkANuELcMmUJzk3&|m|`H0{)R;8e>DD^bW|?$shBe*!0A zA|*pYBPC)X2aLyQti?<0fF;BDfdME+BBa5BH8kM`5jF!2HegKCPMrr1zq^a`2S!(-mod-(e(PX%{{_xd55j;oi literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S2/2_S_3.png b/assets/bigbug/dirt/S2/2_S_3.png new file mode 100644 index 0000000000000000000000000000000000000000..01f0da00538b1c7595f3491a58a1ed30ba4cd04f GIT binary patch literal 1031 zcmds#&r8%{5XPTOB806F%m^VU3NJ!1-DPDrU5Z6^C8AT8<{G4hcnP{mU=Rq+EvTa? zLB~#A8#+Z{bm*A>fVY@FzJEq9=$H4MnP;9KyS+MG?o3^tlGGWj^hSIyocx_V&Hwp@ z^J6}z)V-%+jpdV(#u1Zs}Hy2W1b7unen4i*8Sgv`nkU zl3_24vMj4c8WFIDCcGfRW>$d>7}K;<=YbRM>0V7Ci@8U5hF22|56Y3A>DBZ@i|#1T z@@jVA7WUu=2A~*;XhH<6p$RXDuo-Bu0b`nW>O62VqMDT`WHI;5sOBt!;Xyeosu@iz z|z<8X-TD-&#STc+s7=U6VLK-YsLla&QVKdNR1I9G%)Oq0WySp)d@Q2Ug z#%MUE;r~4MjyK;SvOnl`*DmcoeRVjao0F3>xBmWk{p9L&_uS%_&5IKs=RSAeA1}Vm z`QQ4a+50Pxw({q<@3%WgJDp$CSGKQT`*7#r@%qNIy*CSIwnonZ)Sy4??Jqri@ekXo BOVj`W literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S2/2_S_4.png b/assets/bigbug/dirt/S2/2_S_4.png new file mode 100644 index 0000000000000000000000000000000000000000..2980246281c49e920afb93d897c2bfba93294f4f GIT binary patch literal 1017 zcmds#yKB@@5QUG)vWA6VDv4qWLBz&tl+=a|$$~6lvxr&=!eA+w!qP_(UxiJI=>)M5 zAy{s0Ck*zsRtnZ)H-4Ev!wboeduQg%dF;!*>CWot{7BO3WOqE{yLR%ovdsT0SI_M8 zIrV6^v!&y27k)`gulH`ww|O+lrI1ppzMIKSVMlZdNFr*3%7Ku=0VxRA}qtIY0>Rzk(O!IEE)E) zD9f^H(ujaHG~opiHnR$Bz?i0;IuD$1PxoqtEao2J8D1?I9+V?J)2sDEi|#1T@@hM9 z3w!Vb15k`aG$8`k(1aI6*bFq-fH6%wbsjhwQEep(SIli7z)6@$$&k=U ziCD-1<8c~m@e(^=$uNFk0E&?aX|P}oO?W|s%|L?<7}K;<=YhlT?(+WKpM1U_%%=M^ z{GaF6pU3YJxj7l%n6Dq*UpyVIKe+U6dFk)q;O*eawO6B!7rOmpINv(`_3T1lw6Qq% i@cP=}#ovQFpPmo(=JUr7hnp+AKxnc(9UpJqd-e}C5<(yV literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S2/2_S_5.png b/assets/bigbug/dirt/S2/2_S_5.png new file mode 100644 index 0000000000000000000000000000000000000000..a48d2c8012a7785eca652d5a783e603c3af098ea GIT binary patch literal 1028 zcmds#J!_Ov5QUGXa9vqqkwQh#N^GnKYjxSME`&Ai28AGEp+gEAF@;$AQ3MHS5y(^; z#KOYh53msgn?dVfB>{=pr?D8H+@IlvN7thhHo%EY0(1l1m|_RPAmiH-#xp)yn2_SGdwut=mE#icp5C z4O_}nk;+sxEGu~_N?ED~Z32l=dMR={IBphZX;y79cXtc7bgRaLvWG=jhE=0Qx2Hu~ zrd4Cfu$M(ymQ^E-2v|cCUJzk3tH1_~Y1*mtzzO$sucna2+#@{0s|kh&e)0Ap+LWgcn5E3^dq)F-<#l9yl3M%}Nxqn0sbaa~8qypqv%e zj3yRxz<8X-TD-(O+`=CGzyK5@5z=768k+Ee2%CWh8!)D6r_KYXT4q>@LKbtc79sf) zI0+Le84?;P5eqqBJWgXRUSbC<8O9F`Krs>_4Hm4S2``AS8ECKpW14pAJaG8kotrN2 z@!46OjHfjGpXbK@qqm6cj|NwkPHfy;|IyRg&dkZZ{nyVQ%&o0#9lbO>^XuBj@3%VL zPfvetzPkPR^8NR_M|M76y#8+V=EK~}XRBZS4DNniS-$yqYh$;6Y!)<)=EsBW{+%cP E0CbW~z5oCK literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S2/2_S_6.png b/assets/bigbug/dirt/S2/2_S_6.png new file mode 100644 index 0000000000000000000000000000000000000000..0b0d4a7bd307c4c04416366d001f7e9e15ae9a54 GIT binary patch literal 1028 zcmds#J!_Ov5QUE}XbdbSl_7>;qe#HUX-pyLx*;ye5_UrhEwma?OFyu(NFjuPgn-D@ zTG$w{uo5APokLPv+h{9dqcT3ZKf?>j%e^ym=6vkN%5b?mIXfw-JGj~(@tr#Oo9OWW z?78D(K8Nm&mV4USoBJ*u-dwr1y2PVNE`^j*wY!4z5G zQJ&@1?7%JT!4C{TF%r>)2v|cCUJzk3&|m|`H0{)R;ABKKD^bW|?wL`|Sp>s_a#mC` znpnsI<8c~m@e=cJ3w!Vb15k`aNP`7yXu=C3Yz7)^z?i0;IuD#`nPDXgSFC~B zaEah}NGGA22txe_3Qp&z@1Nld?U(nxyXT%Cd9y#+?Jce?O6rYA!zth8%fD`i|93WT z%=lb+G2I>L!xul&am$u5dmvx!V4m7W);|gF-<#l9ysBi?$s2sn0th0cs0TBpd9I$UQIu==#KI% zuVx2sVGn*_0E&@_CPcs*n(%@Mn}G%!Fs5mz&I2bSs#%Fb7IV*xYR)1U9+b19n$g5U z4j7NqSc{jKhg;Z#9~gjQBtjZ2SVI$D5MeXWU<1Z9?bLbTRLcx2QOIKM)gmN+0w-Z2 zB|}0ZC1N25jK^uL#Y^mfCByiE0VqZyq``tUG~opiHUkYdU`*3aod*uTyW6wFb3SLs z)5(m6|MNV)c=ZX9gYmF`u=@VVX}@!Q{nxeShkv(L=l7p2Z2df(?|tr$uI5Vj=(PX) v=En2Rww^xtFz+32j_z*X>wMFfl}Af!(vOetzP=ott%IiV&SZEpIC}jLM`A`8 literal 0 HcmV?d00001 diff --git a/assets/bigbug/dirt/S2/2_S_8.png b/assets/bigbug/dirt/S2/2_S_8.png new file mode 100644 index 0000000000000000000000000000000000000000..b8581554cce3604e3c5f8c091e881f91b035af0d GIT binary patch literal 1020 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 z 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 z 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%0A6y1QuOrE%NFgJFfI+2E8KWX%7aMBFhcV&d90ZU; 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 H40(G_8ZK@69w0 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 D-0@<) literal 0 HcmV?d00001 diff --git a/assets/bigbug/fromBreakout/brkBgmCrazy.mid b/assets/bigbug/fromBreakout/brkBgmCrazy.mid new file mode 100644 index 0000000000000000000000000000000000000000..cb199fbfce0fbf404f5f82754ccdf6571e8b731b GIT binary patch literal 3857 zcmeH~&2HO96orS9Bg-NsD}RNST{RHlQa}vE0u@rSOiMOpsj}r12ATu~%mxLz>(723 zL671G>9P;dH*vp9a-v41+89C5jaLWf-nnOv?pzM3>E(}!QmUdXRaW0mFMs|C=BV4N zt*uh4s%|?fkJ;+>ylij(z6v$|P`Bmk^fWsC@|)j&RX4SPy4gZafnGC>ve#r0<0dcE=UvHphm8y5K6U{M4L5X}5z0$G=?}0Ad1q1e#dM|mTJec#X3hi=lK2Q}{KO5TSCJ*d%(O4^4$c@N$nR8v18zT_Tv@$2H( z#jlHBm$;k84HoBp*2z8IroK&moBB5OZQ|`TZm>9S&f#O0RuA{H)Wemn|1fS@5 zEbm2hp65EpQfKRESkH78!gq8u+RftQI*3k?>zoTZI=*)Jj`~7R#&W;l=g5NFdNRv( zUJ2hJzngt;oi)Lxp7>St@Hxu;9f;l|9bc|~SIl!0U&wuk?za|sTgQufw(phfTho(C zDU1JNEl?&yC!F7Zln8F$@iiA;P5M~P z_IvAqk9GX|0rAK5|3RiRmb!=NY-c)0ns@Z9eCjIJ=oCGw>7Y(r`KvZ182Tk zKEvO$Lks>;&w}lYKNoK6*{Gi3agMz@-=j4>=UnHU$NX#Q+fyB%mEY^6=XBkm36D&^Pfb0zP0z7yWb|3B`Lmlp31TYF$gJY2|ol=mmt T1-s*X?#I@K|Dl`W^56C^#OyGD literal 0 HcmV?d00001 diff --git a/assets/bigbug/fromBreakout/brkBgmFinale.mid b/assets/bigbug/fromBreakout/brkBgmFinale.mid new file mode 100644 index 0000000000000000000000000000000000000000..b37e680e3c8db987d1c957f26745b4dc1b9a204e GIT binary patch literal 2156 zcma)6e^V3L5{+xLc*R zl+V|le1Y>3-#6j)t-@FS`Tj`NP0zjEr_VXvLHlG7i^Xos@5YV)1nrOSVzII9*wxgH zSnTTNKh{qAA3hwNP0h!y;@|(-iN}9hH*)ad!NzFa-W*xcTnHvS*jbWn338ug0tKg zRONCUrGWr0B}r3u*jo`AL{pe+Q1nt*U3cMV~fK-hCB zlt+;!A`&7zO@t>z2y15)3K4;BHxMGy0w(=`5y25Qy9czX(P%=pz9Xcq326%nwYK-;|VdI5Yy4bbcC4p_GfAvqJ==26DZ%bF;36PkeAiB9#y-u zP`z_fYa(LrCDq;E;hc_o$6zmsIUN+!yEME)UP(G1GU*#hQrs7}8oZ5r)T72(3UWeKJ zOy=SR+!D9QO{8G91*%y-f%m5v%gfHg^!Yb3S9jsoLwpLHX4*r7NF7HxqZ5(ESe-s#paCZ0}Iq5x^w$7NIg1g2x zx%Y}N*F{`2ISKC-N8~LgU~ceJsal2W^D4QMPhmEs3sZdM9B_%8r&WC?L1v)^_fX@= z3y%IdnNPmJ?T;dI#~-3_EPWN0Qn2b`UMsbvF$d&UreQTdl9l}muOmCaTg<@f@C;eg zYw$y<UNjZaxlcTPMye!GEpI@>n8$!Dj_kQFM4r z!IMj5dfcT<{XWzgkCDosAZW8oK{gAuAq!0z3jPj1CqFHbwveKXB0QgysFFbtNcHi* z_A)O>qy}$O`tt4{!w!TodwLaqN>umDhp<=qkwiQMuST*hfB7AmJ_~~`qJq-PR*lEe3S>H4S=lePcul3sXdd!?Y8qWAOIEZpo*{T9 zY6m~fKxxyc^gMj6sV|z!R&q#9K=o4WYBu&?Xt~(v literal 0 HcmV?d00001 diff --git a/assets/bigbug/fromBreakout/brkBgmPixel.mid b/assets/bigbug/fromBreakout/brkBgmPixel.mid new file mode 100644 index 0000000000000000000000000000000000000000..17484a9109dad31bc91c9bbe1339d73f57d7a8cc GIT binary patch literal 3993 zcmeH~+iFum6oyAzv`E1V!A=XJcxy;vW7;&vv^BAZv@urep?IL;E((Gdq8HxnN0>_= zBah^T?@_<~@3m<1y%M?DelT>o99}fBRM9oIB-CxG}fe-+ucVH0kyqjgO!7 z6K=oaZ0(%e-x@pp`NKz(2U};i-Tv4_f4#eYY4HA?8=hHm!_$fTxIklt_vM-=cx-#zH2spSOKrJU6@DCcU_Ke zxv&UcTyZ&H!-r+?@?GQGbUA+LLYwtAyy7eSoWE)7TV@X)efP-tS{{2oonQ5=`?TFL zKUVF##QZ2Q{_0#8jUQg|m5qO3crEkWr;9!FciV*q{x$BIzu1@Fos4fftyQLSKN3%z zeA=4##FseYm+TdO5>M^lJFwq`w~1eh3vsT4>u=1@IXhq1^frAc!&_c5-dWq zl-Mt^F8gbizh}n##Nq)~{&uo+`Luyw${+F7I{6UZFkE#x-+~W4{Oi56b@D9y+VFGZ zBhO{ND;IUriR$LD3$xgrCBCvlo#@;>vwPq8$eZe+ZFZMzo&7_8kVo;=eCT7hf7|Nt zfy*&*)w%Fne4KZK?=~*G&_#B!D@=Zc$*bab)91Vci}PI{uHg5T4U2Ep_KW!i#mw=Qt=t-OX1(L zFS)-e7QY|bmosT??tGq?Ke#WI*MF!l2lVCOD}AXr9HTEw@RsU!Zy{r>`~RBH=f{HG zFG$Uk5v+Mr&+c#d8a6kPF%}Hmt zAGeQr50lqJ@&BcL%)6X^);a!)KIY!0{)@g<-;MNffxowpi+6O<#|2jYe&0Sm;y?Jr J5$oB%^%qYyavA^t literal 0 HcmV?d00001 diff --git a/assets/bigbug/fromBreakout/brkBgmSkill.mid b/assets/bigbug/fromBreakout/brkBgmSkill.mid new file mode 100644 index 0000000000000000000000000000000000000000..6bc9e6ea652eb4167025c3868245eec3cf4c2eed GIT binary patch literal 4457 zcmeHL-A)rh6h7@jCCZH#Bug}gYoMth0<{)uf2=K(LMqTe2$HOciFZct_YuZ7=_C0D zK0^I==A7N`u%i_S@xrSwXXea&d%knd%(T7tp8_H(P>wwM(0l*oGpu2=eouxTuhQ6?>vfu)rT(|CG2>Xr-^HYthQs7$Shb1Dl z6ZqjyjnqLf8y-+jodM5)X?qd-ME<^oq^cONV*NhW?PJ{#I0U9`_xd{4*Rj5fbzQ7G z0iFQUwyY;rgMSVF=6e$U3dSoF-?s*P4fZ;4JszJnUOWElwo4EBzI6Py9xgl2`bm7( z_1;E2+lapjotn_;5O@fj&d#&Hy+0}0SK=xM&%-j2ssJlM(QyU*D|#Gy<2xGQZ-BoK z>;tE>^XyN`?B~bW!agnRa|ApB+P2i2tZT!s4Zi_!0JLqXZ}GSHvu#~Bh)evlk@blE zNNquvE!ak%y|;coBGI}&t>PkCUI~dPS{#U@ay=%=jwN(tNVNu-P8GH zUhqjjnz~GEJq~_z?%8=rY>D5MH#u*GXBm1fLtl;HH~L@y9^uz@i1>fMzx#gqTmDo( z#`#b3E%}vw&yn|YT_5TEr{`~;|9$8c-FuS9EAU;xmijjLA^l-K$9~re4O`w z*nY?Qyy5%4#rQUw&%Pf_y^>?z<9a5ef8SS|;Msi1SY_U}Z_e@8zPUfQ81WriOHnt95?H`W`YuPpvcb*7Mt3r}z$?pN-qctMfnf)hcveMO+$D z?@idv0o(YF)cn(EKKmWChw(l1efGSkWL}?hCB9EkFZz6``{rIjoMLN4-ZdiMb?je9 zeapEgwz)saG4JvHO6Gh8pN<G^!z_xk(G%(u(9#JuPq{VoD(zqo(N^wl8J3%>*Iy^r}_2L3MiyZ7GDNu9|1LF!2C z4!*17?Dy#X=!Y%bgXw%F@8D_Ax$M4=-Z!&h6?HEA+qUL+o(su4*nZcFZQ^vjgFSv% i@$Z%Y=R=$axo;&e)8<+C-@ki4IR4+rImV;^Onw2&?VU#e literal 0 HcmV?d00001 diff --git a/assets/bigbug/fromBreakout/brkBgmTitle.mid b/assets/bigbug/fromBreakout/brkBgmTitle.mid new file mode 100644 index 0000000000000000000000000000000000000000..e768a069b21d44f65017696d3e20fc76e0945587 GIT binary patch literal 5992 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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/fromBreakout/brkGameOver.mid b/assets/bigbug/fromBreakout/brkGameOver.mid new file mode 100644 index 0000000000000000000000000000000000000000..d632913b8e0217dd4a21ab72e0ea42f43ba1c214 GIT binary patch literal 460 zcmb7L|8~A#3pDdf$V06-TW;>V2g;AU?8AGu(UGx0@K_37(SZg zH`#@3YxV7(d(WJEs(Sk*B0UKt3fEQr_RQb4xK-4<{1CT}1%1H65BbP!zEn83Rbe;vA5Efo& zHjSMj%(@#TLfI8^gk1LTym3oNf<)QA*>+m^U4lz3^@9~EfhY*)f#G8 zzydbyIJy~_qtF~{+Re_!1nb1N$oR;_*byB07GqkBxi+Ik26I~EP;tG28fxDn#gQIb F`~hm~jRXJy literal 0 HcmV?d00001 diff --git a/assets/bigbug/fromBreakout/brkGetReady.mid b/assets/bigbug/fromBreakout/brkGetReady.mid new file mode 100644 index 0000000000000000000000000000000000000000..70d5f5054e96fb72f70b931ca37aa17a184d1cea GIT binary patch literal 294 zcmZ9^PYVHI5C-sPS#oetE{+`3N_mUj6_&MXQ}QS67A~Y#DJM!f@(t!AI=lGo`{< zY}VP__XDXXk7s=dY0~BfqNv(JI<(_MENZ!FzJfTMof)K0`(;Rrws>z-oBJN^1rVS5 z-Sm%2^EqV1eAI?a=){4z)b$`9_4bf}24hG_L#h(*spxcy+ zF25*iv^M^&-?@8xrTw)-`>U8f3HV5~hwr{=9>t4ATvrpN3uh$UI7(fI#5x|OYv2mF z0>1>mJcw6_SA}i_-{a~7_yzFuq4y8!-PlH76a6L5#SFR`bP5T)2j0S5(XVqk&^tf# zpXL+7H^e+Vp9??NiHg2HVmYtQt9uH;hv*xiK0sd8$@58ll%vecbCX~_pMMK}i+b*_ z>ZIO=-pp~1`?c{tjLe%AehJ+YbxLpIzHHo=iT6`{2n-Q#f!o5L{n($8dG^yh`~BC) zM<3rYYxcBJ!|UB|++g?Hy!)N*_^36nvlYGC^|#U<)~gpw^m4Ss81cBm>pbhrx}>P* zyu#D{x|pMjITU(1T4D%(SmAY^^<`aB)N`Kw%R2U9)cwo4MD#I7A9E=5ig*HkQsH%; r^<`Zm2B;gLPN7%CQ}ELYuk)-g>(2ik{GR7|UwKYXp0{Ri|N181ZI9ch literal 0 HcmV?d00001 diff --git a/assets/bigbug/fromBreakout/brkLvlClear.mid b/assets/bigbug/fromBreakout/brkLvlClear.mid new file mode 100644 index 0000000000000000000000000000000000000000..9c609cdd6dff52ed3dcf7fa09750fcb47027d5d7 GIT binary patch literal 336 zcmZXO%}T>i5QQhntthzBl^dag3zJfeg{X-^Z?G*E%%Ua1WTU8w6f5-)B+I!`T(}zW zX?z>snhNX?fS&0WIc-Nl{VXV6<1UQ70Hlhy2kC`c0sKHIRbBRNZ12 z3yM;8$PGc=)WI%m|5}}6-(RKP*(3G_^*x0b6^62+gf)@1OW9}_Gig%JAeSFo^J&lj zrgi>K>j2s1>k-;vy+YpA5WQ2iPJXHO(RTv!(h5BZ&!X88)N>`6)~c8`ywiU^XL!tp*ea^MN!Q55ofnpgbc3!+`*X a2?_Q54G9bk6Fh*l2aq-Z(gr}I^%(%X&?T<` literal 0 HcmV?d00001 diff --git a/assets/bigbug/fromBreakout/sndBreak.mid b/assets/bigbug/fromBreakout/sndBreak.mid new file mode 100644 index 0000000000000000000000000000000000000000..02e71c09bb4c89c1b3cc9139148dc04dd5dacf75 GIT binary patch literal 168 zcmXYqF%E)26hz+wS%}(eX=O`c1);DaG$fi(cz`uAq0`C=j=&YX!5+b*aFca{R&U=RZI3FU>mfs}nwT`1OFl$z6oE>XvMN m`JjGr(QcU0Zs2ofYKCfTV5-DQtcT-RlTD?(low*5S2B}hBa)|)D4Ivh=?E*IA{S1L9=F!4BCKOXa{czEybO@4%X%=XOxVXcu23)V)SzM&u rJe%Kq(0Ez~{tR51VHVVB}hBa)|)R72+m^c;+9JBz1pjop<25rDCw1c;Vmf}uc2W#}* zbI*m_wAT)ZFjzA+?fs^-#RuRoVQ6;?{5gofysT-@PS1Fl!@EH2V+ rp3QGQXg_Bet(j17;B#WEht0Ewv67W6Who0;$Xw5OHy+c(o;(q{M@CJJXkHSsx7ka7Y zy*K+cTh+HlQY@pu^i}=1v#m9R(r}5QV6)J04wLs*!(LNuQu!w}PyF&IpEUAmD}QBg z0{NKRIGbtSaUXXwUa1$okv=DNWqWv)Qdf`#=}1TBWKPca7H{zuZ}Apy@fL6KbA5() T_zdsx8Q$SDyu<(Ne_!$i1(Z^S literal 0 HcmV?d00001 diff --git a/assets/bigbug/fromBreakout/sndDropBomb.mid b/assets/bigbug/fromBreakout/sndDropBomb.mid new file mode 100644 index 0000000000000000000000000000000000000000..c68438886c615c929eed0ef36ef89b33e2e1360b GIT binary patch literal 144 zcmeYb$w*;fU|?flWME=^;2Tnu4djV4{AXrh_#eT-!X&}L@IR25eW3!we|-k1bTq?; zN}x1Q$p$V5h7If~3>&!X88)N>`6)~c8`ywiU^XL!tp*ea^MN!Q55ofnpgbc3!+`*X X2~qWO4N(jX6T<6l8p44_>N5ZUma-%F literal 0 HcmV?d00001 diff --git a/assets/bigbug/fromBreakout/sndTally.mid b/assets/bigbug/fromBreakout/sndTally.mid new file mode 100644 index 0000000000000000000000000000000000000000..eb47ab549c603428cb038a45f784fce215a38d65 GIT binary patch literal 136 zcmeYb$w*;fU|?flWME=^;2Tnu4djV4{AXrh_#eT-!X&}L@IR25eW3!we|-k1bTGq) zN}x1Q$p$V5h7If~3>&!X88)N>`6)~c8`ywiU^XL!tp*ea^MN!Q55ofnpgbc3!+`*X O2?_Q54GBP_^cetq^dWNq literal 0 HcmV?d00001 diff --git a/assets/bigbug/fromBreakout/sndWaveBall.mid b/assets/bigbug/fromBreakout/sndWaveBall.mid new file mode 100644 index 0000000000000000000000000000000000000000..f04eb8b265a82dd8ece8d19517d5be819535fe46 GIT binary patch literal 160 zcmXYqF$%&!6hz-9VIyj(NNAM`Q$vQ-%gII&4!?d>{r3Y6qE@lg0VMxI9Z=>H3`Nm&e=97QA@HgZ2$ClMgtBV~}qAj7~AF_Tql#b#?Jpk@Y7S3j3^P6oOfVMSmg3~ k1><729w`S`W(_t5pM8w7$~GQ{fhrk1UHx3vIVCg!07%Uh%m4rY literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_100.png b/assets/bigbug/garbage/foreground/hard/fore_h_100.png new file mode 100644 index 0000000000000000000000000000000000000000..db9dee69ad3b8a0895efcf2c54efc4b53d7fb751 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q$1ZALn`LlRa^0EWTDcS9AC*Q2o+j#Z- zXEztlh2aHSTRwe{dS2$W>E!OziAc-Pk^Xz5BAJ9Bb$9UGF(-r`U$IH+(XjUa)b!Vsp}q|5OQdAcLo?pUXO@ GgeCyb7FK2e literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_101.png b/assets/bigbug/garbage/foreground/hard/fore_h_101.png new file mode 100644 index 0000000000000000000000000000000000000000..14ca3f877266aaa9b5e2cdd5999cf21ada0158e7 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`eV#6kAr*6aCtu_}pupjxAN%sH zeUtH4`Kw(_V#2qcv@r8cSz>J>bVu?@qv<5uhM)Z&F-HN@eBM`uwDoD`rxs{p2sqcO_UZm;qhJ;OXk;vd$@?2>{%XN!-gxia zJKKye^7}5<=;(CxJICxY$!C(|_Wx~H#g}Qa8AyHOQHb-XQnxl}S+LvrVrs#y;;<7@ z-xoi)`KxH!B&}1K(>N0kTii`u<$maC<6G-k{%`Hw_5#zVv$#AL)z)?mo;9(8Nwg4T);OXk;vd$@?2>=-COVN|3${=T3Ez0~&iVkwLf%bHQAb7J q{c||{r}awjr}Z}6r)^oD|6^c&&m>Ra10qFSG z$>b<^q^*zq>i`Br<^@dp(QF#6V&v^Ak})VKGmAVX6a3sn@0#ruv1?%5gZ^ojge% z@Ln*>-@2T4zMJ&5x|V%5>ixb+rr45wuH@;`yCoOfxLsb!bn;*D4(^UQxwr>DJX+FO u5Ncw0L2GM0i)`{z_PN{FTE9)=!{ZN)De)-lLbV}S;7&9hEo@~{gqJM?jkr8za z9W7etq@RUWNC#IjxBe|E;+d~6{7u-S=V$Q5jo zOfw|8wi}bdLLujHAPXXq1vMMo3okfaIETPhaqYO%cRs`3<<9(Wo37fu8EhsWP>U-^ zYjgtFtG{|DHi9sD&G&i51Ho3-w(<+lLhEYRBJcy6A>Qakbv63{0000!eprak=U{^cRXWeFR&01SM)mzsM00F?p z=SZEYbr7sxtlNclk3yb+PSk1^$*U$!xV5kXdFJBH@&XGg0#CwC0>bm8RziAr|)xxM(=FNe$1?~Lv-@ARV~4?!CwTu65T z`MAGXH-&^!rg9%vSF2y}{9uNU+q@*)t7%GJ0F+&hXfrsa_wjO%tJ?+XRpqc}KK|Ctt8;m^i!(A;}12D%u?Q13cCIQSka}O}N}GZh3gfF!D$+ybGD}TKt;w7i9;%r(by&cDEF_b8u!R-&Qcb@#SOWnj4H7 zLVfkCnB+P&r<}dL%d5C^V~T9XpDVkZFWha;*wndX=fYg6Zany*<|%ZS>(BKe|K zRcXBKgw|UBb?oOfVMSmg3~ k1><729w`S`W(_t5pM8w7$~GQ{fhrk1UHx3vIVCg!07%Uh%m4rY literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_110.png b/assets/bigbug/garbage/foreground/hard/fore_h_110.png new file mode 100644 index 0000000000000000000000000000000000000000..d7333b8d3c5989b0b87ae21e6e63c43c405c5695 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`wVp1HAr*6$PIBZspuoYh{O_fI z|8u`w$l&gZ%695tVT)ljn4svhtG4%GvX+{BvFFAGRs56h{GDpEN!+7ulIL|EJu3zg zg~&C_8<{k!os0wL&nnN&Rg3wtOH7K%&{8}oqSR7hysVp{aEkY z!MnDqeG**cab$N&8oNl#*+mR&5=Grj@(Yj3v3+vb{wLkN(bb_l&pS-QD&>?;oa2p! zkM?g(GDSR0Cl$)}*GygYeDCh)rJKapa@Ex^F_=i1#CsU5m8|un9 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_112.png b/assets/bigbug/garbage/foreground/hard/fore_h_112.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff7e40df64979e1b644bf78635f9cd3b387f48f GIT binary patch literal 222 zcmV<403rX0P)c_#V+B!rlV23aPYbv}Fmlq@tqPht(8BqQ0A_!ZnxWXTrUKaKm0zwG* Y0RTerR7;oXq5uE@07*qoM6N<$g0Y%i)c^nh literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_113.png b/assets/bigbug/garbage/foreground/hard/fore_h_113.png new file mode 100644 index 0000000000000000000000000000000000000000..14e7a34992d56eed73b07e8a09b6712b2b39454b GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9iA?ZAr*6aC!J`ySv_Br_fo`*1O`)$P9^~hQ z2Rzs_Iqs=-vd~4nMZ&_o4VyDr7S3)ETvRLWSY(xx8)pzLUc>Zv@ryHzzET{!-#z_T ra(ThE!+K5yQ!08I^tRbW@P1(2wMOVqkvN|T&`k`Uu6{1-oD!Mc;6%s*S*HoHeAyK`tvcKw~ecc@?OKFbA*nEc|Vu9OF# zZ(FMf$XfgjVt!_KvgZX`Jd>_#X%feob%je0+F5vRSbR~=Lg>vYcIS!HHm=zHzuhTd v>$*8QPi+KQF4lc<%*~fNnekwr=`U`Mi_8LBE*r!EoyFkk>gTe~DWM4f1*S~p literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_115.png b/assets/bigbug/garbage/foreground/hard/fore_h_115.png new file mode 100644 index 0000000000000000000000000000000000000000..aaf6df84a93e4d5d93e6e8fbb99a513f51fbf177 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J)SO(Ar*7x20HQ`P~dp|ZRx-N zocm77Ug3;to5`72c0r8g0M~*hgPqA-^55mm0}S}9^*%>s{1Xp0uD1F7Dj`8cBH*FU zTGw?2N8>K8nYdA#hiT~%onl3fsrHL3A8%*=+OkhQGRY&O{J`Q|cV*L5uF##WTEc7MU}>y+#46B=O1D+ z>TGCw$PjC{buUxLyonnREj8X(8?Vu;DtcxAo+rD{&sEagvCZrG=C?rm7(8A5T-G@y GGywqpUpajM literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_117.png b/assets/bigbug/garbage/foreground/hard/fore_h_117.png new file mode 100644 index 0000000000000000000000000000000000000000..d28b0a39aada53861970bc94f93517bdb412638d GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`DV{ElAr*6u20C&bFyQe1zVy%k z+;^LLGq>_u%n-O0By7sZ(B>v1`^lZ@4JXf^_XlmAN{>|weQPjic(|9fR*7}f|LV}N z6UHq|yeI4|2%K87Z^Ju1fh{|Y`ENxpIGZ%-!m6u(yZmz{XWh7-E~^N%kHOQ`&t;uc GLK6T3o;%$D literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_118.png b/assets/bigbug/garbage/foreground/hard/fore_h_118.png new file mode 100644 index 0000000000000000000000000000000000000000..1c34fbfc2be561378cec840a8fc6a5e477a75ed9 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr*73PW0w$P~dTKU;pJ@ z{kB~JK2txfT$AIZkov4ub5hDfC$)#?*0u9!++sT*eRTDIhH?f)A2vRt>{ajG7@P{1 zc)G2KH=X}iPD9c`o5{E#qvIt8bg K=d#Wzp$P!4AUl2l literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_119.png b/assets/bigbug/garbage/foreground/hard/fore_h_119.png new file mode 100644 index 0000000000000000000000000000000000000000..4010a10cd9f95ab13b8a35e5ea5171c859615dda GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nVv3=Ar*7(208LI7;vnvTlv3U zTCT_Nb(HGoXOq%e7+d)mbQqY#R@hbC|KQNqSQTwD)8o1(m$|ldPA1E2iINXe9tE4^ zts|1BGll(Cx%Z`aePiaD%Lo5GIwQMbtAX6@(A2MQ;wRMyJz!Y(Yp3jv9hR;@OBp;} L{an^LB{Ts5ImSES literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_12.png b/assets/bigbug/garbage/foreground/hard/fore_h_12.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b0de3999f1e1651cb8c8b15da3235167d779a2 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`GM+AuAr*6yQyLon^Q17T6`A%) h8Dt$;!PtD3fx**-QNHj@-ZP*&22WQ%mvv4FO#m3f761SM literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_120.png b/assets/bigbug/garbage/foreground/hard/fore_h_120.png new file mode 100644 index 0000000000000000000000000000000000000000..fb0af3f2862afcce0b6d26c4a67424349f816cb1 GIT binary patch literal 334 zcmV-U0kQsxP)@0+uVnSccU`~Q3cemlX8 zfB-Q*8Q9Fo5J-ZgT`CDAsEUjQUiMB<#UyY} z(-Ko2WoU(-jx^y`%5;2rp%XJGbbxtBQZU?+L{65Ru?_LeAgzJA3l*$2jlThj* zk@hiQ#RG6f#4-nK_xe%(tmK}`99*yTZuYKAp*`9)Soy}_I4Y==+42!VW=Hyq`fVW? s&meU|grdu@PIzZ+Bq2jOapu1H2B9R+G3tg!^Z)<=07*qoM6N<$g24=wtN;K2 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_122.png b/assets/bigbug/garbage/foreground/hard/fore_h_122.png new file mode 100644 index 0000000000000000000000000000000000000000..8cbe21cbaac345d8548fed53519441f75af52187 GIT binary patch literal 346 zcmV-g0j2(lP)SD*^bncQmE=`ue%NMPSVnK`e8-n~oOet4E} z6$jwMI-^;8AMIxek%28-*EhiiYxbuJ_Y~+RnSx^)wozx~Dk1{AnlNS$EU>2vwbW&Z z^;xy2Qgxw>XQdHIX=}t_gZlP2LZ%^WN_7dM0raB(M;9fDI5C*apC!n}h@+uqIX}!(dp& z^Fcx(Tn%7007-;|X+mSv5H;qbc~FSK-7KzRt?H8v4j1xU=Mxe!QS;X+Cc7lO3T%`~ zDHuh3%BC=NCHRsh$jpAt=-tNkN_dd=k#w4<5FiAU-IXJTB*F^|YVmwe#e3=@hhWuj zvaIXIS>L1cta0z(%BIN{%OWSy_XMTa|5r+MYwOJ%A^g(?AtIuk(2vef({4{AdR}@I zUKd0Uis?DHj03!b0%2j-FUg;(#bq392Cl-Z+DZih)Raw`Qa&fiR^+DtiLJ;TnOhO> zx6F++SM13Ce*m5gHi9C-CRCII14-f0yDTzhR-Ml|`4h<=ce*ipt-L!OE9K*LB>$)N Y2a(Rzp3{HbcK`qY07*qoM6N<$f)gyLfdBvi literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_124.png b/assets/bigbug/garbage/foreground/hard/fore_h_124.png new file mode 100644 index 0000000000000000000000000000000000000000..4badeb0795e0509a1afc7c13dea2c6c9c8c15b04 GIT binary patch literal 286 zcmV+(0pb3MP)Lu)a%JL|P|Tz6eNy>aIrt#D}Dg4B`K-F9heg=S{=ji!U;|nci%=JO~cG ze<)0X*Gu21^6a%m=$2qJv>975wzJl^a zHwQH!K0ys86K%Lh*6V^Vw?nBP7&nFs?j#- zz*km^Q_Y3c;cxU?fH@?NZm1yKY5rv6DE@btX)zWc=M4>FEl7(y(9-y4ll=b!u)5Jj T59;{`00000NkvXXu0mjfldX5S literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_126.png b/assets/bigbug/garbage/foreground/hard/fore_h_126.png new file mode 100644 index 0000000000000000000000000000000000000000..1b792a62fcd62d89b5fe7f5db359570f752c42a4 GIT binary patch literal 241 zcmV_VJHDJ-g?K{BK#G-1UYUR?yX7|qKAl?^1+q(DL zcU3jtM%L-bU`z0(MH2Ne2V3*Z+dF?00000NkvXXu0mjf#MQ%{$1V?2vxkouJ!v?c zpLk)w5FEr3#>}G>84MWUA#k_E+HI{3$+`%MOPlK0!pM2Y}mf^8}A&vUtx5g@@|;-iWY4hjf?ZU{hh z9AQ8WkKLDB0tsa2Qpzmlo-#|M)%Ten^|b)ReNRymwMuRXtuio)yKu*uTNaB?S7wRL z&2rm#sTe@q1DQSPCLqSxs}6QmUr0#=?#`$N!A^s(N8$p~%m@mox%KqI?4ZRn#nMvF zc04_hmIvjD+J|d_*5f4{Waa*g6m1rgcr-J-26`Bcybv%et%1-~UP+djBVTn+#L002ovPDHLk FV1n8if-(RA literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_129.png b/assets/bigbug/garbage/foreground/hard/fore_h_129.png new file mode 100644 index 0000000000000000000000000000000000000000..c82944ff303cd96ada65387efeed7c5fca337af1 GIT binary patch literal 321 zcmV-H0lxl;P)q@jobj9JzIPTOWj%cspaw<1p4 zhac(QtpM6so;53$I!~|nuCzlxDzzW>w zpk}$sx*p)lIzdv+$HGrWsZ*1N7`H&)Z(KpkyFHqlQ29qC*?au-`t}_ye7=7G*(}4G T=S!~s00000NkvXXu0mjfey@(f literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_13.png b/assets/bigbug/garbage/foreground/hard/fore_h_13.png new file mode 100644 index 0000000000000000000000000000000000000000..a826e79297e6206d2ab05a5d1bb2b470ef423186 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`%APKcAr*6yQxXz>oOiHGNLl1y n%nSsFS1>MS>ya{u;9+106kt^NV{M}hRLgTe~DWM4fmM0bA literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_130.png b/assets/bigbug/garbage/foreground/hard/fore_h_130.png new file mode 100644 index 0000000000000000000000000000000000000000..c90927275501c75ac0d09571e3b781fd4ad6c47a GIT binary patch literal 340 zcmV-a0jvIrP)BOCxIqX&U>iLC%K@6-@?ik5IDngJ zj~JSVkFQ5;oXjy5tl)2^!3aj7CG10iUb$i`x8LZBk$b*rJjw;+eaXd&3Kej=0H#x# ztsJf>B%22~GsEhV0rfsS;pG zopWDGC9)+a7S@)OEyof7c8#@n+>+?Mdb+`m-nlU}YjoH~%2AR42U5P@)LbUubV&-C mpaJ>r-IvR&?|;3W|Jo0l)2!bD)DKGl00008hz>`2im1$YC32E8b&nfK;9zkOS%ckWGK^kok zF08&L9KttR_8DNZ1Cx{d7D5=W=bsg+JPO+7dbamfY-`-oVBW;*6;{hLp#{!l|B?&n zFSZ1g$ki2uXzAuGHtK|EReyhWxUQQ@wSn`HXvR= zB`CoIj{$%p7J!h9Bn$*FOf}F-$z&>W0zbDxQ=xsn?;ZdVObLdgCXk5G9vzH_(T**O z5|3MhF)GO7RWxc=+gylyz4od3TuDcdJ4e?9a3}yn`EiL4NC8~M>-*VptGfF=n)d%? zf5lw@80^3{$`bPYYfz}VNHtlXp#UsURp3!Y<2^p~Xl*;M8^558H{_GWZKUR-G8)=~ zt2MA7ygD|zzKS>b*5MK(gQ+YhDsw90a$y|zNwq(n3X%M}_^@&nf5({5o>q&$GC)ER vTm2Tcr#_Z$4SWD_y@Oi_#U-xp_h9}2L=@3JHC^MO00000NkvXXu0mjf&R3KX literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_133.png b/assets/bigbug/garbage/foreground/hard/fore_h_133.png new file mode 100644 index 0000000000000000000000000000000000000000..3fc2fd55d80ac417f14b56f672af00d2dcbb9b09 GIT binary patch literal 354 zcmV-o0iFJdP)aqkGwT^#R_2r+DMAa~`YJ(47%Zaw%YKW~_YMHUV z74hTG=>caVqD4egyi9xH0oMo1hg-BOAOHXW07*qoM6N<$f9cHWLTp!R|A@aTTrE&0hK9&0;I82EVuID7)J`Kn{dc4n z#RsVuYo3^Wi+}R@vvvyK?R~MZyCXBjURy+{-;Z0K+1n9I8zO9`D1a*bu*~f!*hBVDX6kEi(EV+vL>z12S3KzgULwe*gdg07*qo IM6N<$f&*@&d;kCd literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_136.png b/assets/bigbug/garbage/foreground/hard/fore_h_136.png new file mode 100644 index 0000000000000000000000000000000000000000..54e9b7c713f83f96c4cb94881ab2d083dc2acd66 GIT binary patch literal 239 zcmVGfn$*Aq2yA3+lhBzMj*BH$vsN|LVz`CeE!Bp}F%9GtPGJ_#lrtJiED z<+hMyr%$+MOUWuks?7 zSpLD&2-5{7kb}FPNV`&Xjd%yRDM1aissK2R6CjnYc!BVJVqOyM2mqoXAQZ97*Jf-R p;8#hyoHEHc?)AKVOu#6iNnf#K?I|5IV#fdg002ovPDHLkV1kt2VNL)5 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_137.png b/assets/bigbug/garbage/foreground/hard/fore_h_137.png new file mode 100644 index 0000000000000000000000000000000000000000..0112540dec530bc0c6e52a5597bf01dceb4735ac GIT binary patch literal 233 zcmVh^`{!B9H0yQ+!)!-A&-sELf?6j9+ESRqdIZ1U zG`?pY`(P7avRE&J`*#7MrH}tjday*Qb<);H8_FNZYb=)&(bQV;BHVrFgjw6y2TUkU zUZ1me$>YVp7`M+h|CgyzS$ZorYo&tPdqvlxh7}oKxq0vWz1>~J<_L5kgQu&X%Q~lo FCIHq=PUQdq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_139.png b/assets/bigbug/garbage/foreground/hard/fore_h_139.png new file mode 100644 index 0000000000000000000000000000000000000000..f6fff7263e9b5f2d908797acbd86cbbb8b4e9a9e GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`D?D8sLn`L9PC6*cqR8R=|Ms*? zm%nXs4V+wE5W-Tz$EBnqz%Y Z&$zoqFtC644$rjF6*2UngH5FTaf?& literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_14.png b/assets/bigbug/garbage/foreground/hard/fore_h_14.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b0de3999f1e1651cb8c8b15da3235167d779a2 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`GM+AuAr*6yQyLon^Q17T6`A%) h8Dt$;!PtD3fx**-QNHj@-ZP*&22WQ%mvv4FO#m3f761SM literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_140.png b/assets/bigbug/garbage/foreground/hard/fore_h_140.png new file mode 100644 index 0000000000000000000000000000000000000000..f07a1b626b945437cbe49d858fbd61fefc52d2f1 GIT binary patch literal 235 zcmV?mV^Q5+b3N|bneY49Sr{g7z?SPm~*|rj@-R_ zR%|cm!PuCT6q3+A%9tzyknP~|2D1HxZbkp-JiJJ#7se8$tn&g?QNE?_K<^I4{hKf- z{YZc-x0r!=6PI~U^zFf*^ut36YdWXyO#6@SK_1;~nEs9Ucn=;gu$;)#lkZHt5NH5k l1N6H9T6-ddB%q0a$_F{N6`NA%uqFTi002ovPDHLkV1f={W(WWP literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_141.png b/assets/bigbug/garbage/foreground/hard/fore_h_141.png new file mode 100644 index 0000000000000000000000000000000000000000..d154f003b07221c97d9dd3a59d89fc86763ad3bf GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`%ROBjLn`L9PP)x|RDs8N?e0rA zJ9B4t{$|vz6zCEO%y@G{QHaOWTH~8hN5Y|houv;QG9y3%D01| zmV1Lt+0~+yg{QMzGne*YX?46Lm%5Jm@vK?JZx|w#vTnY!v-7vQ?!5I)jDw$R7>iVW YOR%7Y!q+?dflg-dboFyt=akR{0Q2`%a{vGU literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_142.png b/assets/bigbug/garbage/foreground/hard/fore_h_142.png new file mode 100644 index 0000000000000000000000000000000000000000..7a16e4597dbc5d26ea77f3685e712cf89edc8184 GIT binary patch literal 216 zcmV;}04M*6P)gG4H|~#bE`rsZnc`eenctEo ztxq+x`<0R#pbLVh4wkvY2u~hNe}lwCnh(_irrp(ds)O@YT@w=%v%COyBmDsXYyYPB S@jD{`0000pCqm`JX zw6sE|Z0fG#elmJNtZU03G5%Vw8gAbDX3gvG&*NXbdM(!AaNulB&9=Iz!^|yf1TN>L S^{odwmci52&t;ucLK6VAPFL{& literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_144.png b/assets/bigbug/garbage/foreground/hard/fore_h_144.png new file mode 100644 index 0000000000000000000000000000000000000000..8ac2e2022bfc84151a40d411a4927cea1ba2a61b GIT binary patch literal 341 zcmV-b0jmCqP)kik%s=C?lP9sh}7RH#=d zKlqbXfH*@Sh|q2Z&?HC)2<(&Y%u^bL<}?I{ouQ>W&JO_5d;OD$(ABVtwPI71Bp&rB z35&KCMWa}7!uFfu91Xv0dL=CxirW%x`U=r(!!$+_r`yWQEbW_}51QeDI)$Qp4;Ps) zv~P1;^g4T!2RLv29P?&lNkzo)C^UQ>3(`MSO^NnVfeL6#*zR8jT`k!6K-w4*wB0?w zXkD6C@$x1ofQ#OcG!z=ZSo_Ir@OORhVYG|kcP204Y=4%qkECI3rsw@!>!p1cOZ!ze nV@U8!5V~&Vp3ePR+NasSJodtnA7{y$6tfx-go3V2aksyFzF1{(rDSWl2wR2=V3Ft@A`G4^}SFn znuXQhZOZ+lv)werIAp4S0DPktnKHM51}egpajnTmTtJ?>q-9GUJ^pUjj;~mDZ~Ox> WWVzBUm;sdl0000Ba?(yX&KuH;l1{a5QVsy zWJwFDqO6^y#tbZ0=vhKjXn=62mGIp$FE@W^ zk#IK`7FHP%^t&HBFl%4%4mt literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_147.png b/assets/bigbug/garbage/foreground/hard/fore_h_147.png new file mode 100644 index 0000000000000000000000000000000000000000..590d807e03ae363d4bffade64e55c1fa3ff39979 GIT binary patch literal 365 zcmV-z0h0cSP)rp z4g-`0n}_YvCffNzngSF8Lpl%d*I9t^%2#)V_=y0y%uiz)T+c%_Iw!K&#`dll+ z=5;Qo56xEs{%mhLuTKV3czQF$U zzbCO<8vgPJxSig;-g6kGm@~mJLWD(jQ6CZi=>n(%0E#&NfxwBz0DA?{`;oru4YG|k zF#;pP4|mJ27HDPhAHGdXW0Wlu1V3A${%LLey9^qE42c;s$+&(2XsyZu(M?9S00000 LNkvXXu0mjftNxfN literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_148.png b/assets/bigbug/garbage/foreground/hard/fore_h_148.png new file mode 100644 index 0000000000000000000000000000000000000000..2b37995c446ed1833376537868d26bc0539e2325 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^E_P~Ln`L(u}`$ z6C5NTFW&m$XVgZXiCe`A^<_6Eq$}iHbP0l+XkKYBW^a literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_149.png b/assets/bigbug/garbage/foreground/hard/fore_h_149.png new file mode 100644 index 0000000000000000000000000000000000000000..0e481a570c72a6f2a534ff6a0398cebcea3ac107 GIT binary patch literal 250 zcmVmK`3q7?csumJ55w6Bzi;M^pv_82K8O|ZQ=mDg?Sfs z3bHMk{+gq*ru9;=%Uw&?80MicQKAG;)a;i303d?P0RHSooOiHGNLl1y n%nSsFS1>MS>ya{u;9+106kt^NV{M}hRLgTe~DWM4fmM0bA literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_150.png b/assets/bigbug/garbage/foreground/hard/fore_h_150.png new file mode 100644 index 0000000000000000000000000000000000000000..482636c59b7e2fa782c78b9958dd3ba010c4306b GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gdx`!Ln`LX4UXnJpuq9^+!gD} z=yOl(j&N?aG8SS=(&azQy6F&)PKzXiL;}N&JMK4_za04RdU224-#63bn6>WiN@7r+ z8RUQ9klP_Y0mk=hBxV|i2|nrGIzObT^d+~D;U0_WDWOcJ2g+49DRptB^gl{Gru%E| zt;o97OgU^;$I}G%%jZT}sFv)t;+FWPu6MCf=KXkY#&2!ua*rQ6BdG86sb7sjZqC4>_=!W{%82OQy`>G|!C=>}hgbOT0y6t2~2 zw%+>)#v)Z>w)v4}W~c)u#ekx<86S&&Y4MCo!RPYRnMY!9llB;B@tEa2;l1Sy-@rw;3*(IQ+N`q z)dp{y_S7M0SDYYjoC3xK3v7(>+Qgvx28U;-%k}Mt`J%@Me|*-u+!Hva00000NkvXX Hu0mjfCungZ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_152.png b/assets/bigbug/garbage/foreground/hard/fore_h_152.png new file mode 100644 index 0000000000000000000000000000000000000000..6d8eaeee3c1fa5d6dfcb073ab2918ead0aa833ad GIT binary patch literal 251 zcmVXe6SI1m!?brow@4iIU($1CDm@8QdD^b>~=!A|e0wnVf zqg5WueXp_}TKrcF<2ltalX4m!Z_7;b{QoFuJ2+=%k!_Le5*erQJ!%nwNDvRveE>nZ zazrbm&7sxd12VGiZIh0_4s2H{RWcRM$65h}fFH><=RyFHyubhe002ovPDHLkV1g}U BYi0ld literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_153.png b/assets/bigbug/garbage/foreground/hard/fore_h_153.png new file mode 100644 index 0000000000000000000000000000000000000000..c9d21af5cdf19f1fff281c48a8543efeca1cc70f GIT binary patch literal 242 zcmVh;(i>O_NGhae6lD1ZQ9H426NURbVE1g%a| z?$EYo!S>f)yst>>Za^H>=mC7uNEX)m`l?O1t?s9Q`=&j0`b07*qoM6N<$g6CFj$^ZZW literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_154.png b/assets/bigbug/garbage/foreground/hard/fore_h_154.png new file mode 100644 index 0000000000000000000000000000000000000000..418286c77490fd52b451d360e0473788c45d1515 GIT binary patch literal 233 zcmVuSXBaLYLKc!#-@&-1pG|wh*Mi0|I{ThBe-(yiD>0XL zUr4SXeFDbTuta`LuXuoN?|vZD-(I;e4kiL;Lb<4ncguin7gFU-7sh}{6v5EDa73`= zhRQYh{~;uYZzMkY`0<47oRc6EQdm(_NKq13(iuwnI9Il_sLVv7IkMv6KwK|onWN~i^OwE>BR}NEO~%ve00000NkvXXu0mjf%yDF9 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_155.png b/assets/bigbug/garbage/foreground/hard/fore_h_155.png new file mode 100644 index 0000000000000000000000000000000000000000..ace4f5fec321d0343b15989897517268f50829df GIT binary patch literal 219 zcmV<103`p3P)&AbP&)50G$g1NGqma zJ#vp*`N>HP6W_(&BX21ZZgb;v(Ws-m=H;^D zs_aIw3D|b93na2mCi9)^$8t~X1di@*oLXPzt}}Z9xj*rTM6Xc!_p}A+z}ipZy#cY# V;QZEk`8WUo002ovPDHLkV1i=STG0Ri literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_156.png b/assets/bigbug/garbage/foreground/hard/fore_h_156.png new file mode 100644 index 0000000000000000000000000000000000000000..b76fcd72f0d46f98d73a27c0eb19ac7000098994 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr*6$PP)t6pup3@AO7o` zeB;bl%^HhTx7=!3GUZ<3U(HEA_Bp>>lJ-Qs`p~tM(XmO=V6B5uMT4i1j@L(FN41U# zzxQv*ic{zJc*>Y`qWem(b5r3DV}*T9zg3p8X#c!v`@(d0FlX7_Sc5flbk-@Z^jc)O e_2@eGO!lM49vm!MRkaD|3Z}&#hb+yyJTLE8lYKT+c=BlA&iO&zQv9$gybo ys@d^1JKWwxI2|dRw^HPt^s>nt#hyC;W4z2y{`b-! z&HYb(zXYgzbv%yRxy6HH!`V#oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_160.png b/assets/bigbug/garbage/foreground/hard/fore_h_160.png new file mode 100644 index 0000000000000000000000000000000000000000..599287cd2e8c52e7510f8993e6cbd23a98107d36 GIT binary patch literal 350 zcmV-k0iphhP)5L9rGm5Ep*HCXMvYLOWfaajoNP<08w zp|QZvM79646*HOf$O#>lodZ*$3F^Hx5$6n;XN-486TDl}m2bi|(%VMVx)hlZT5)yX wUY@=`wwHi>O&>uhFQ*-9~4DVg8%%E-Wm2hNbs+HYaG7>AA15| zf~>@J%6aY23IKX%WHMe1(Q^Rr6)_0C?jmzU=E%THud6PA1ls%A~8 zy2?2eG1$R?C&%k=7nD&Zw&^M?XeY-9iQx8OhRh%XZVguE4LREd141LS52T@t5xG2B z9z@1p{`6#I-#$nKy$w^w`|jr*?rt0_0GIEgcTWLDz{6k+QbUHbaeM*X>RJ9)b``w` zNuH1}c)fjR7Clg!YAzn3eO#ROo$SaSqv~#;@YU~MC3x;rg#_ox@omjB`SQSm?TJDN zQLWuAzUF?HU}NqqDbdQ0xtN4g-4-J73Bcz<86q`jW-GF1qDSJgsj4gN59b)xrOyBn Q(*OVf07*qoM6N<$f}ISW^Z)<= literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_162.png b/assets/bigbug/garbage/foreground/hard/fore_h_162.png new file mode 100644 index 0000000000000000000000000000000000000000..209737de0e2da2831ec3e2ff8eef5c5da4087370 GIT binary patch literal 365 zcmV-z0h0cSP)m5erzrQpO^*kQSk(h`z&8^mD)W1d(|ae?8Jd8$99yc>&C1S#W5a;e;sz zcAr})g$rJXf`B5iy1=_o>RN?xZIBJ7hz&4V7_0K=w-uSx z7{r{9{I!J>$B}2o?=>GaKMQ&QoXBKd4&>KHZ$7%&;s4_wNklx|SfK}-;n6_e*+yJ~t5dm2s{BS3-+F)>sH25jTyKnNj1!T^G9Q)(pm ze7Ig9R6*PPYmz95-tX=PuR`qfcZBZbKHaxDn-8o>6btE99fIup8y zDy%}MKpL7R(_dh1{#7eEsy45s!|8P)%>!`u4Mrje(g|%;g*JDQw}=-ozl5tmn^wA^ zeRucPO8x+l$@ND1QWb->oi?iY1zr@>!H6~OTN1`dOBQ!OfGV(QH`q8tD86)lNh=s3 zypM-lG_RP}TZ%o#W3RIhc~j}<5QK<``yGPL2K=nCKe+_aIkDBPGwDn$ClB_*HTO1VRLvOUJ2q+(F_9(_v+CL0tH#=EjInv<7S7awQ6R4=E6j+-Jl(GvOr6^n h{LgRIbtwOt{Qw1>(8T&UB5eQw002ovPDHLkV1n%>sKo#P literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_164.png b/assets/bigbug/garbage/foreground/hard/fore_h_164.png new file mode 100644 index 0000000000000000000000000000000000000000..235d80e2a594a16c3cccada887c49a1350f038a1 GIT binary patch literal 303 zcmV+~0nq-5P)NNSc?wew;r@GTT8dQ7d{R;TLB?FmXS91y9#uA8@N}Vg8D33+Uh}1;wKsr$=E1 zda03|v3ZX|snOZL z!Iz0LwvO~SOdYa*OI1^s6WX+shpoAfv11;=3=|t1ISQ?1iQ0F24J3N6kOvEMG^>;I z!gTaP)ijk--K}I+lB4KDXKsp14!EQ!g-UUg{s9%wl)o${$sPaz002ovPDHLkV1k7d Bf}a2Y literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_165.png b/assets/bigbug/garbage/foreground/hard/fore_h_165.png new file mode 100644 index 0000000000000000000000000000000000000000..7b39155cb3c86039f63beaa874539e67324ab786 GIT binary patch literal 287 zcmV+)0pR|LP)1cb>)fDwaO}P(&5IA8*V++BuEP(U@>XD!R|K;3ZY!e{4OY3f;nA*2i zR#psVYRn$K@uP)bz9&epuBL^KBt1ZG4Iv2$w3@~*u7w>k#ZLq%hA#T zP;FSKXfR-J<-}a072p6+GOVq4SJcvft-g*#e~3IYt5XQvv4nkPnR7{UCnW7b1hI1{ l*}@)IvWY4I1Tg0;@BbhQu&Pf+3jzNs`(8(B^vzlFa=kgw)UzG2%eg zVTh^ISbiA2PyG@a(ZTdB_{S`CkS_1&K?~}F{ZZVD+|}v{IoRBW1T1bm<`+x^Jex?Y zREZ+BpGk!{$w|vZCcDSbat_t`PNe#&wtLP(BE})x1KIT;IZfqKtBVSmI#z4juDoXC z3^jArd&@Q*X52VAkr*80d7j;|jT2Zq6|x?s1Lc1>AlXh`k-5t2!uCj>Fdd!?s}po?uRcR=A3a91zdJfLN1L7F2*W3jWJvH(T=%g>H~#gd-t_% z2OnBDuAb4xt!*!};EiA$nW=q9*BN>!i8kQYvsnhX-hz`|?`Bf)JD^nN!$M`YotQ4H z^OBk89=UWzanbOeC==Nqw!&?NX<8*L`3BP~ScEu}tg7@%oDzJP#Fa9{?zq3nki%0} zO>Kcf+KI>$g6gzhCb4}~gO#8Mrp|jvc1CjdPZ8u{vdrrTTP9NIM3#h)fY=M+zsaN@ XaIWNF+uchc00000NkvXXu0mjf;z)WT literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_168.png b/assets/bigbug/garbage/foreground/hard/fore_h_168.png new file mode 100644 index 0000000000000000000000000000000000000000..e1ba1b023bd6280eb9ba7a6b55c04ed650a8b667 GIT binary patch literal 326 zcmV-M0lEH(P)^J?^(?P>=*N&2Dd~lO6eq zsa$y=)m82r0uRJRtrWNk`^&e_r3d=P=4;A2-&YXJk61s)WL5PSH`AT*)kxbAx5E(p Y04?R?!OT5#TmS$707*qoM6N<$f*?zgi~s-t literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_169.png b/assets/bigbug/garbage/foreground/hard/fore_h_169.png new file mode 100644 index 0000000000000000000000000000000000000000..fba862e31e17e9e2b140fe84a53f32018797decc GIT binary patch literal 340 zcmV-a0jvIrP)1eMeTocq}Y9b%#Wa;viiDzVsMY~$S@Xu%5Ho*zFas>-1&T--ritCt4X2WQKqN6lQ4NmYL)vF4EiH^lfivf^V5E ztNm&RCJ_;hbseh#DF7qmV#uv*G6OK+x-Kx`vfgjEA6?7@OyzzTrZTqzdPxP8+#hVi zkxFg_(gV&Vw-fuwW0ND*m;^GmMlE|F?*iXh0dYOk8B_JwbKlMt(ZoYLkGLJ!)|}NO zkr^N4o_|L4Ibg_ChiHB>v;{4^E+YBP+!EwL>Z$3d`M$;LmGih5h+5=iDL;SJIr^gy m5?{;vBJZViG9!<87ykj?Zo&&t&hr)k0000Xaw| literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_17.png b/assets/bigbug/garbage/foreground/hard/fore_h_17.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_170.png b/assets/bigbug/garbage/foreground/hard/fore_h_170.png new file mode 100644 index 0000000000000000000000000000000000000000..846b9764828f5ea46aff80c58d735387765552d9 GIT binary patch literal 342 zcmV-c0jd6pP)%0kpE3uizNxUh0>cIwH6PoM~)93hBI^Qh~DVo|+6a+v129 oS2eJzusE$AoAveGZ~yuJ02t%Wg{`!PhyVZp07*qoM6N<$g8CSlivR!s literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_171.png b/assets/bigbug/garbage/foreground/hard/fore_h_171.png new file mode 100644 index 0000000000000000000000000000000000000000..00fd17536110dcd7fa5431fbf729d2d1a2b62c00 GIT binary patch literal 364 zcmV-y0h9iTP)=Mt;eV~h6c+qQe6rEgnPCvjv1XNrtR5c}g60GB_V=OssBY%$9HVLEFDRO(kS z#k1xKN*NoBLYFeG%-lfpY&)iI>0i_7j+fEQ5Tgog@=U6HqZzfeZ$dZpS)K)+fMO+`wRXdx=n2oprMg--8>fmol8|$XY$IE zs|9CM*T7E7CRI(}@Z$jJGg>eI@XF*`k8_Ft+E2#av|m5re~f>a<&AMIoAkOp!bkIpuRAGPw#dX|0K!XiWgrPc%|d#xzc)HiMMYO?41UF8FWtNBjOec-y7{IMv1 zto(T3z6(u4^J|aLoZ`y1a%S&D+FtOzAN3esG9IdcA=HvSiXE0#XxqW&2j1c6>m_mI Q0ssI207*qoM6N<$g0h#O#{d8T literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_173.png b/assets/bigbug/garbage/foreground/hard/fore_h_173.png new file mode 100644 index 0000000000000000000000000000000000000000..0de0cc529b2b909e764aa68cf4024d5b7678adf7 GIT binary patch literal 367 zcmV-#0g(QQP)6EJB1m^4K!Wd= z*9YnVYVK4aGO7nn}_%WBavAYMP{~}O_*5^%z&R;n)mU|B8FWtkVXXK zx)=Z-P%A7Qb|wnz3{D4LBFHsD&#+e^6LCeqS0?F>me8eptoLL7MPg>SPla@EM{~PK zuGV{>z)h?Dzb6*f66ro2@@+RWL}~0bE*lDahG@?~F&hyx#1}AR`sq@&sa+}|R)(nj zED}^cn|Q~ff8b5L1wZ{`r}XGBLN{=;)D3yfStn4Mbn literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_174.png b/assets/bigbug/garbage/foreground/hard/fore_h_174.png new file mode 100644 index 0000000000000000000000000000000000000000..6a50e805eefb38d8a97d52f4bf02fd23999ededd GIT binary patch literal 370 zcmV-&0ge8NP)oP&6=k~?+KdOKduL8 z$Kk7lPg~K@BJ+~=lzm!gFM`g%U?mu;HGZyJ=1utCC3q39v_LeL=MjH_GC@m)a0O+MT7)df}wAx#y#%>8W!ZuLcSyZ4-< z9K8?SMmjR*2!D^YuGkxP#~ST(k!}<3hTU3l+W8!$1&p5OH$H;nVgHH$0|#^4HlcLZ Q+5i9m07*qoM6N<$f?y$>i~s-t literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_175.png b/assets/bigbug/garbage/foreground/hard/fore_h_175.png new file mode 100644 index 0000000000000000000000000000000000000000..31f2ce5005d11f3e3e971675d387721872dea1f1 GIT binary patch literal 380 zcmV-?0fYXDP)ygAD41>Sj*^aa|nVRgHqMC9)Fp#@rh7b}zWJxc?jR6TT5kZx~MiEFt0vjxFnN)#b ze0jY=AbJS{^b{WFDckYdJcIXD??ssMGZ;^S& zb={fVjX(zvX5n4)UzrF{<_24J5WQ!z7KfdzJ^$B5je&r;5*w~25#TeEj2DO=E)b(? zs?ptTwj%N>aM;+(K+#fWY>^hq;h0hapEbfhZ7`UVTrMzu?^ykk@kqH4?c|myFVOh zKMHILR#{D1^(ZnC399}GC*8}=%C>IAKU+uJIWq6ayz`n?{+#waSYukcM{)nxmF;%Z a#^whI6Vvk&Fp9bW0000FD)DQRzuFIUnW_N@8X-fkWh;5QIOC9ZgSMO=nM2llKES76c;+?wgs33*v&w)ocIdV2u0xVkp{BSIB37CgDle zoyDSg#b&TO0D@|z5Igu?V?T6(!mA2&wPw^w&@eF9dIOMjO&F9yM1NqiA@`L00U)W&xh#U2({)${A;FQ7u$_wr zC9svpRcvXtheZSS^K-VxQ(HmX)bN{xBr2EZ|lh{cloOi zrmnc3;O%}%MoTSwZN$6oyrThH67d%&1;4bsy7_sb*u8rkRUdiYw5B%mU2POIJ6b<^ z&z%-2w!T*hr@!hRC^ymP@~#uUV6XeKt#Kazxu_Xjdn*`?E2lGl$rSBhE&o(UPrs7w b@_D&l<9h-bzCDdVS2K9J`njxgN@xNA2?trZ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_179.png b/assets/bigbug/garbage/foreground/hard/fore_h_179.png new file mode 100644 index 0000000000000000000000000000000000000000..243fc45eec152c7a83539d1a6fa693cde69d02a2 GIT binary patch literal 256 zcmV+b0ssDqP)DgxIAI1Oi#v2Dfdr&2f!5eSoOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_180.png b/assets/bigbug/garbage/foreground/hard/fore_h_180.png new file mode 100644 index 0000000000000000000000000000000000000000..aac11bee4a6c5a7f1d67d3e8200f92810b1fe24c GIT binary patch literal 270 zcmV+p0rCEcP)D_5>%bC~@wFcBqN6`c^#z#_WH6(=uJBYqm#^}|hEm$D&eLc}mn37Uh zkHz!nM+zlS=7j;j@dC|6z#Ln@a9~8Woqe}URg&`cGph$N0$2(#j=o|vMEnH8$i|78 zXsa6qbe4}&;#zVOFppcH3An|&^-}}C+Rr-SdPEayPrvnS7Y$rI#c(3k-2s41>RBCGEsc?M|MF{s<;AA-!_v^8*mb7DyeqOlhh)Pp0+q9~W!gH?)APIbEX0 zYTCb`<+a6Y0376!K*I;8Wvr3gijg1l;5-o{w>Y;1gywtaatft^57dnRNx{*lw;y@k zK6z1CFNJQ5iZ{?Kbv4<@>YUqdO4aro?X4~cy$h%V{WY40&rA77L42|of{1GZ5J|0000< KMNUMnLSTZz?Qr4% literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_182.png b/assets/bigbug/garbage/foreground/hard/fore_h_182.png new file mode 100644 index 0000000000000000000000000000000000000000..c87ecdf8e7e2fa99fd3ec24bd4e1aac41d7b2437 GIT binary patch literal 232 zcmVP)@6`7^;Tx%2lfjWl=?$pdr36L2 i`{y0p(N%N8BgqfOaqwKNy(jAc0000DD>D|fOdM5iJDp1BUlOZ7j%PvYVB~8H;y6@8ZKC$HO`K$nvhOWO(SSRCKN46&Ets;iU#>ABL8mVQh;8pvL1x`0#Pp2XbLG^fiy;jUUlA^ yNaqj;o>0YmaW*tAW%F#_^|af!RlyYSW@o<(9@m7P^+GEE0000Q$=?ko(RBX8jWY&WexIu7whk+zac_v0%O3pQ3TGT zNg-Y_#-AA7??Tw|1RxiVIbt`V?^M?e}kgS6zBtAOs}eTwh=qU+=6F)>ab2@60GZLMG)(9d`4x1+IOEs0KAhDC^Qu@H8g>#(A0?8lTAWrEltGP!@N%0 z)!lsLR4F{?QSj=OYI5eq@gL&B;L8 zlqG!a_R0W*Z4|-W3#* zVY|}!G~NPG+%p9EVIngpP;Q)gS1GW1j7RM*crck1j^`-?S2cq*e`6#yO&vhKe+Qr; yGy$IA9n_(N*6#%A%=dQRa@w0NXYmGE!v6tcF2^?HYG7Od0000v6*{41+)CvJo;9H4`~gFq8U2uQ+XeC)>10m;k5?se_ROfIV)C5s&YtiWvh2V_@X; zy`=rF(1_>S@!H$@b5jxh2KK$AjwX1<2DxU!>Cc{huFJQ_P7Pth4M3^MZ?IcfBNp}o z^9H#luOpZsfYxgNEi-9VD8O|90ItDb)T>YiGI%kVtq7>{DO^+mBJ-yH5lo#=Cw{pz z;%E7^stkmv*8UalTiYjfvV`VYol-$1ft1Qt8Hz4 zhzs!8BDDrF0x587qnkRG-T4TYdGMinD5+QDn4qnVTOE*fAOJF_@)12UyWY7KkBqMT zW5hpPx!y^)puN5ok2#LVcCRtrHi*Z|abbApDPF>26Vj|%#S3Ae{{W>g;_j`8MUwyk N002ovPDHLkV1ktbqR;>U literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_187.png b/assets/bigbug/garbage/foreground/hard/fore_h_187.png new file mode 100644 index 0000000000000000000000000000000000000000..9f6322f2a92931a8479e4a0d33803778f059d1c3 GIT binary patch literal 384 zcmV-`0e}99P)AF zyE?ppiXUR! zj_@CwFSC+t5(DZCNJujIt*|9EV5WZT5Yo6y*e^N&bqZSj&mt_#u8t)MoK>)>ZObD142>dCOW`CMNni%6Ega@t*HYbg zvxU<(mh*}?vsinKL&&kG>=T4oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_190.png b/assets/bigbug/garbage/foreground/hard/fore_h_190.png new file mode 100644 index 0000000000000000000000000000000000000000..60a2e9ecd81157419f1f8c815d1524e0a5650971 GIT binary patch literal 229 zcmV^P)k-2s41>RPCGC`LnTh;}L;bqaYke^UFt#M%Kui!40E}UcWCJq^?$4$N_Xy^4rGKgR zFm=jeGzq~zS@x9RNpe_#!F-xgd&dSqrx-@jRWYbU$c0LvoEMa|@Y=Lg^$9^0u!!Ae z4e&cOfl7k7JBb>%sVrBuB$3l#2em_|Ou<~=P+DtEkdmnCj@JBr6ZJfe_=eUE&2wh) fD*s@we>MYL=YHJQ8SEoD00000NkvXXu0mjfE-YYi literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_191.png b/assets/bigbug/garbage/foreground/hard/fore_h_191.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a9cdc977f10e2c51e0f61242ddab7d07dab649 GIT binary patch literal 289 zcmV++0p9+JP)RiZX@r+PIo(bCf*McNNG=p6oH_z9VZ1bfPpj+5pjm^`-)3K0a@n*8AOudSR;!4~*wq``C1ett6JTgi+ax!2EC^rizOGq^N{K!Czc# zg06+`^dXteO=v^fG8LYwn5c(jZP2EyH3{8##Dud#8;(*xJzH4-C`kmV%DLvtf0nq1vot8#l~;B z_u)nmRtUND16WDZ5|e;IXZ-c+kk^KceG9*kuLYmN!9l$u-L2s7J zr1XujpcG%^+g%;A204Cv5 elVNzbGM9fSOw$H!^|@340000kK}SKtKU8!9*qMXTSG#8^YAB1#~03e}kEL^yPpF z>X8kg7vo!9u>pVd>iR1k>=98DpqwJsKGnYeVD^s%ptN#ut+B2nVC=9_77jlAnn{fj zP74s)c-I@XCso0aELVc4$OVjItMvfTtwmEw zSFx*IdBnRI09;A4SItA5xH!%&-?InKAL$L&dZBgS>F7^4ri?~g#Zf%^#`cxM7kGTV U_M?M;hX4Qo07*qoM6N<$f@l(V&Hw-a literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_194.png b/assets/bigbug/garbage/foreground/hard/fore_h_194.png new file mode 100644 index 0000000000000000000000000000000000000000..455df59555ee040d4ba60c24ce35795c1fb97cc7 GIT binary patch literal 260 zcmV+f0sH=mP)Got%+Y>dp9}5ADuICtt4`vwQk~9?qNmhIznWZmVtaR%%%s=4&mH~xu zr0Zc&(RYIk%-~0i8sP86KrYLJ$Dgl>PvKTmFoDV7Imck$jb2S9G>}{e>*pld$D9Ex zgNnRZM-Km10ZIlH*=;OE?&O7@`%aTU4h{Objex5yDOLJ{65z#z@)`#Xh*t<5n#$G; zEKfkz#vZ+;K|@}2=oC2xJIr$__oh>CmfYNTBa)2L2U(13TYmv2sbzI;80000< KMNUMnLSTYmlxm>> literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_195.png b/assets/bigbug/garbage/foreground/hard/fore_h_195.png new file mode 100644 index 0000000000000000000000000000000000000000..11c3c99ca419a999fd590b22d0344d20c2d4d88d GIT binary patch literal 247 zcmV0wnw4gpeg_W002ovPDHLkV1n`xWIX@? literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_196.png b/assets/bigbug/garbage/foreground/hard/fore_h_196.png new file mode 100644 index 0000000000000000000000000000000000000000..f29e84af8985946c30faef553761574597f82b20 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`U7jwEAr*7xPKx9^pupjhx&F($ zC%Lwh|7x(U7TBn!wu9%~q7D!1c@edlAFJ;i=eTC&dNo%2w@k&o^y>*T9x#38jZ?Td z(_b)SN=R|M`9$`=^9;GpMlvb~WdCNrdUCenm#EUsS^qe=ZXLf7KV6@ht5amgEFU4^ uc*&(}gwj@OUS}@$b$aqg>ZUpG65GbQYZjNY78n6t#o+1c=d#Wzp$Py}%SxvJ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_197.png b/assets/bigbug/garbage/foreground/hard/fore_h_197.png new file mode 100644 index 0000000000000000000000000000000000000000..e33d01f150faba1935af145251d661d18f9825a4 GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^F3W0Ln`Jhoph1+hyssueB?>% zyW8e<{^r=y*c_}nVGV{j=A?( QfKFxbboFyt=akR{0R5;_`Tzg` literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_198.png b/assets/bigbug/garbage/foreground/hard/fore_h_198.png new file mode 100644 index 0000000000000000000000000000000000000000..8baee667a9812ad28c1c963dc1f5bdd37fb6b95c GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`-JULvAr*6uP735}P~dT19bQ%b zX`A)rx`thbBECL3OvcG;qZ21>ImPUG?MQ)wqvtHo%~3KbS~E`>e~&#eDYH$bQ0UDH zp962R%O5H&DHi)SOS*CHiPE!Ee0u73*40ijh>ExEaeAZF_x%X-{N-Pt9=(6tLga;D@E!*BIn(R}&{+(gu6{1-oD!M<_YF{l literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_199.png b/assets/bigbug/garbage/foreground/hard/fore_h_199.png new file mode 100644 index 0000000000000000000000000000000000000000..91aa13e30710dc6b5ab6262a81d0ec0d78905ddf GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^F3W0Ln`Lnop_P=umOil{Mx({ z>(b~nCHaG#$3n8M?pI1oPI+g+@UTI7sHQ-AIS(){*_|{?N#I)? P(5Vcbu6{1-oD!M<+R0N6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_2.png b/assets/bigbug/garbage/foreground/hard/fore_h_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4a4820233bc053fd3cf6e590fa85d99bddb29cc0 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>Ygr+Ar*6yQyLon^Q17T6`A%) t8Duf|@+8OoOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_200.png b/assets/bigbug/garbage/foreground/hard/fore_h_200.png new file mode 100644 index 0000000000000000000000000000000000000000..0783a97d13fd74efa8a6bd35efacc8fc5eb2e485 GIT binary patch literal 354 zcmV-o0iFJdP)*{8?`fnTbylDS#wE!#}^*Z^0_YUkSdRzymB@aS4)Q z?;xoa1U&7SAmTy z(4lC><=K4V{o!fj-$1j93rzM@eiHLOH#qXd>60j<;8s`&euAcYJhI|d679R$76-n)yq z3Ha)c5@}$7uWid*Bp2j8Vif)747MD=xhnag&jx7yH<@N`%~I`zbnud$#j0#0tR~iv z2M>dW8J9caQEXFFd60sUowG;j literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_202.png b/assets/bigbug/garbage/foreground/hard/fore_h_202.png new file mode 100644 index 0000000000000000000000000000000000000000..2215926bfa7756702637bcdcf8d88aed4cd0faf4 GIT binary patch literal 357 zcmV-r0h<1aP)jv=5&2Z8(a z72;SXl}X`VKmp}Brtem`l@Bk>3Md=%T>b;$TTH8pxfNVI15xR%^V$d`Wx-Z(X?h>eX zGLyCn*ckT=8i}I6>blut)X!F0YlrE6XJqbGE)`Bu`9oYgcJ8-or)5%EOVXb}pJ&|w z*OPK3byjI}Ya%fk*h41|yZFPlGA9!6tPS)T|F8W3Z=dXK3^g}<00000NkvXXu0mjf Dq+Xav literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_203.png b/assets/bigbug/garbage/foreground/hard/fore_h_203.png new file mode 100644 index 0000000000000000000000000000000000000000..aeffa5c57ea794942882bb87301c721c76410d60 GIT binary patch literal 400 zcmV;B0dM|^P)5wU6Ze}K=N0)fjZprSzgG`lb}BI-d!fKCcup|d#P zxFrapa2H|M+RCH~z?Ooj;;O=Kc^fQuB$1hb@SI2XRdK#QQAI`J5}O)LM}jHGA_%ih zk^rP0f&nzI@adq{Jd10UkdsrjV3tt=8;mcm7hFq(9xLC{ZwE#=>9L!r1=22|B4F8! z=cIOt)S3&Q{=@f`gljorRZr*l$rY@UrY~t*;jQ~4{5=a3kLiIfiJbJ~UXVP;6GU;r(lV+}U uC+(dFKYrNWAyEC?8;Ts4*+0|&JN^KPmFD1o4a$oE0000@?Pz*ZYC7&oHF-b$PS!wR!;(dcVlJQpAdr0rL@>#00hP@BB;KFL$+kqt z%mFUo2o6Mw!KKm|`m6TP2b3~%g$&6TUYq%qjz z0uH6+Pdm*|3$9`_zUc3HU%G6x-=c1xVZGb<26P)4Z&e5F|Lj*s=P<)LbZ|^y!veBo zFEGKjzPHga0F~z{L`375$vx=|u_pNGwqRMgJf-3Sc5(6ehbY} zbM|LKmfRjMQvSr~J_z91DR#>9&3`UPT+tIl-VNKFgYV!U7F`%=VK`;>b9@)^72&VA*r2KN^icdRy6}lAL3r!cN z8Q6gH=gS#^%Q^r{Ir}B|&=c2Onw@e>kv=cFa$~;No5h;~bUic1#Au}ee5DCjy!Yx3 zF+^PT5WFAQJUp{zDs``u5tF7VFY+O>bx`+;CHWLIdtd&8Xf|4Wav!`igk`VC(?&Rt zqs%V&Zf|QOXL&PXfI}P8fIWh!F_3*1a*bJ?Mf-cRw#U|B1%y-4z!bb#2_7P{Q7#)J zHHcW4`e-5Gu!52~k$INhd+yQrF0sslzryZ^&2uPbp zT79XZ?#uMVrFP%efOd@zAS(TPB)}&Wgbc2zxPmy?O0M32A>f=GRtm09Y zSgMV9#}@IJ!fiG%vd6zrjF6e97HPIodUo79c%`r1Xs{_b64?*|UuId`M`e^W1~mIx z*_#2X8c=3Wn6X5mMGEFbDsd4p-d}9bVH*{{OnYe4K-+yt@xxg+u~vP`vzPDJ@-RZm gscYQt`U7(32c*Qj`3Lz^zyJUM07*qoM6N<$f_rIt82|tP literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_207.png b/assets/bigbug/garbage/foreground/hard/fore_h_207.png new file mode 100644 index 0000000000000000000000000000000000000000..3a96a741d7b1c2b47e2e76e93bdcb76000d05209 GIT binary patch literal 295 zcmV+?0oeYDP)6rnK- tQ+-!&P67`WC2Jo%S>zWez*IMx{U4|%>+#k{NIn1n002ovPDHLkV1n1ZdZYjV literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_208.png b/assets/bigbug/garbage/foreground/hard/fore_h_208.png new file mode 100644 index 0000000000000000000000000000000000000000..9e79731bf50966cf29cebf6e6a1dcf6a2212dc7e GIT binary patch literal 330 zcmV-Q0k!^#P)S`$3`3tY>4>fgu1TtitV#JGb?hel70$>O4*@VK!$0kEXZ#1?Yi`1vjuSXo#%w*H z<2*Dvp1F!6_W=xGti3ekz82EXOE3Oahv@fRh$_mCJk?l000Qn=ci1>p{I%phtZC4u zvbL07<^}wWzTjs1OdjjLCq8#jGh(Jw=AH}o2J1>B(GfhK<_R3mHY%^nr zQnR6^aUmN<^(ta3nT)5hL*cd){nK5T%x6u-u9R5F?{+fI5lvNP`7^CVV4A7Azrw7O+A#+8AA%2n1oi~1L8d|T9f;;+ zC@}*IWboBNj8S=>Z`z3IGaqOS@_O4u?~?#1B8Zh_8@F~R*~Xbqn<2VZEbyb=iCF!z zT923&Tf<)1T^(}Go0)3|XvP2?ab_biqj%1IJP9yP(*&e}h^iVzM8)U@)EcXRH@4wO z>rW~|ub}AtjeY$SD@UqhCd8b}-15!#AbMbgFh+!+o$a3LSge0+j6uu9x8m2Hwb*w#E&@x_+w1%NCE<=q^$S3a&Mj;~ww3?@002ovPDHLkV1gZ^nWz8& literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_21.png b/assets/bigbug/garbage/foreground/hard/fore_h_21.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_210.png b/assets/bigbug/garbage/foreground/hard/fore_h_210.png new file mode 100644 index 0000000000000000000000000000000000000000..4ddf3ec7bcd13aa18aa989a0b61f3f44dd88bf11 GIT binary patch literal 341 zcmV-b0jmCqP)^m+k*Vns5sb=-4SzSd*REhFZNv*ei nU7JL$f8_-KQ|~`#{Db@ec9|jwE=MM000000NkvXXu0mjf+(MI# literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_211.png b/assets/bigbug/garbage/foreground/hard/fore_h_211.png new file mode 100644 index 0000000000000000000000000000000000000000..d71fe9bf074c28876ad210b953ecb5f3a47a1a8c GIT binary patch literal 378 zcmV-=0fqjFP)n>TEL_DifJ05;@`P;897g0+$y6>%jWnX7{RRRw|1hfjAW@7&6>nCXNxQIlaK8Ci?p5TO9UAqlL-7sh8^n~Iv)#%XM?KmsH3Jc*jTqGrctWMnRS zcV!Sc21F2{&mPIlYrTgM`6MB)o3fJaHQzK=8UO$Q07*qoM6N<$f+Vx8ivR!s literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_212.png b/assets/bigbug/garbage/foreground/hard/fore_h_212.png new file mode 100644 index 0000000000000000000000000000000000000000..0aaf47995e6787b0fcdd0f5ffb6e8097ac3e6617 GIT binary patch literal 366 zcmV-!0g?WRP)%Nah}9^zAz?{=>V8n7ptDPG8r~<0DpewHsm&dwQpYoG8vW=Vm3T;So)Cru(Sn2 z8kqW?G>#h}!Epd)-Btva4h2O~RS;X-b1eYCHu`IsTi4bGr~>H?_{)VjuZ^TWzCotP z1&QUtvhZ_7eRQ$ecvVsqmbqSyIkUNe37Pt(dk4N(2LM+Pw}yM`Xmu#NLsU>3pv2<< zv;%A0YQR-}PhBA20A42%zsJ@M-(`uKBlH;TA+pRTP%zBB12luPLiCwLx&Iqwxp$$o zo!O8yHXAi(PcXyM(Nw>#Dd@CNZcweqD+f!DCFX>>FAe1C;%Y5^0OW=35CO;o(f|Me M07*qoM6N<$g6}e$5C8xG literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_213.png b/assets/bigbug/garbage/foreground/hard/fore_h_213.png new file mode 100644 index 0000000000000000000000000000000000000000..76fcceb6ed15a9e5fbe7161788238343bc3e9264 GIT binary patch literal 372 zcmV-)0gL{LP)m-RRTP5T?92Chm}XfRBS8X9rgU9#R1COR(ERkef|eJM5#&V SjA?lQ0000>w+eMFW5YGw@8v#7uZP z_z1k1t6AZy0{69rdyWhVGQ)wa6=WPMg06@T{C>e8d)8+3HQy(!^%Cj z4^|~b>qy^iJ-_eEl!fa7f8R!KV9O)q{r`Zt4hD)iHvzLZ-E$KE*MsV4?;XYJ!@eChh|y+ZWGhjF4EC1%XNdg-D@N8rC+Hn3hFUM3m0Lv?8b| z3gAs9h=2eIy$1k65WqT@9*-bvJK+Lu70s*gmi!HqTvXxnN^3i$FX znEx{X@8--;7tUn?RXb5Do%{D8L9D0FZ(Zoj{0K-wsGsc{AbqH2Vqx7vYs$NYt;LmH zhUklaNJkhondi{H127ukPE_ChetFTe&%A}6bv6BY6MLLBo}>I}ZEmByXbD$9* du$B`;=nuaO^mbqC)GPo1002ovPDHLkV1kMSr&Ry| literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_216.png b/assets/bigbug/garbage/foreground/hard/fore_h_216.png new file mode 100644 index 0000000000000000000000000000000000000000..df9af028675601b1bdd1358cd8c9f439422832f8 GIT binary patch literal 291 zcmV+;0o?wHP)eCJLD|H>bBjx%SJ$eXy@b@ygm2;^{X)Jm6G>hRvwm zeeV8(ZgOBHp|Z*Q5!NGl3hhPo7cF%(oO@6u_|ov^FL4WX6D#buq%xwyda!C|KQH<| zCtFq#)^kq7>wNixz=YhBj~+UY9lOszUek@AZd+Btz9c6S#Z3%}Ev6zR**^N>W+Np6 p_8xdnfC(v@B$9tSZjR9+f`8}sjj+aaWyk;k002ovPDHLkV1k88e&qlF literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_217.png b/assets/bigbug/garbage/foreground/hard/fore_h_217.png new file mode 100644 index 0000000000000000000000000000000000000000..13abbdd982d8a221e6126942e9428aaa0a40ab4d GIT binary patch literal 266 zcmV+l0rmcgP);eG$@aUobD{0`H5zj?Us#Tfr)<1q@HBOQ7=jH_Vr?dY7gW QApigX07*qoM6N<$g6~and;kCd literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_218.png b/assets/bigbug/garbage/foreground/hard/fore_h_218.png new file mode 100644 index 0000000000000000000000000000000000000000..3273f78bec1a6e49e11107afc4b8426a20688336 GIT binary patch literal 255 zcmVF00Y2IkOooV zOo%5BHvukgkQ>B4$?lVIT%JAV-9c7tR_O?~CBQxSD;bI5t^cXmJCm#Vh=U4Zh$Mcq zm!?yq-DG90D*m9ENmSjg^w&$si;Z(pTWf6=nt@FU0VKO4~`^>d%~Cw7YQg0)~7^X{&i#-F;;`2kW?k--&KA!Gmm002ovPDHLk FV1jG0YKi~= literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_219.png b/assets/bigbug/garbage/foreground/hard/fore_h_219.png new file mode 100644 index 0000000000000000000000000000000000000000..037949fa553e69151226684f4b0c331a1cd5e725 GIT binary patch literal 279 zcmV+y0qFjTP)kY#o41~X+Zge}PGqp3-GtnOyW79;cB?6ou__zR~LmJW;&^gt0s((Ib*GtQv;v2>= z3B(u<%D>OIVNV+|GeN_9jEWZFVPE5WklgCE z0LY@DHj}jTGf>L1qC&MUjS&>~H8&JpfM4GK%<&c`Ep0qk@7H^eZR}>dgg1q_D?k!u de+HrdvM(~1kY7dx4t4+l002ovPDHLkV1hZcaz_9F literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_22.png b/assets/bigbug/garbage/foreground/hard/fore_h_22.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_220.png b/assets/bigbug/garbage/foreground/hard/fore_h_220.png new file mode 100644 index 0000000000000000000000000000000000000000..783ee094bb431f97d989f95550658aa0a92c6c96 GIT binary patch literal 276 zcmV+v0qg#WP)Op0sDL$7mxr5L_+}-fQW#7!$A1ZW3Cb9Bck?v zTe21jBvy3JpW$ty4a@qaWM`>0@2sXTt;BOcNo%#vpt6F*lNFGkqu>-^fOl2cAuw7* z^aX8K65rZbK&*{Uy8fqo41HQCw_;Ols=Bc`kk@NGD>a52LS9rS7U7n;mF9Gm_wK|+ zo2m2>MZ^opz9(vdg~|2~N}=m9(VlpXnq(wy4qc37rCXKm<|>Cf)76PaYkBW!FzEkc aJoz7yS&vpBUSM|Y?uFymXV`LM(QG5XSZ(Lbb3|LlFE0$^NK=p#nl8mJE)2&cTk$JX2!ub=()N^|?CGe9{D==gGjZky!98FXZGa;X0KzZ;Fh)?pSwSS|Z_#Fggqeu# zY=9XEp5E8Fk0jaFPdL)p%Mt!O-P-`?FXKz{Ex zu2$u&diZH7IkRd9H({?L-llhbiNQ+cD$jq`05({v7erw20rXqA88H2{h5!Hn07*qo IM6N<$f-zlcxBvhE literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_223.png b/assets/bigbug/garbage/foreground/hard/fore_h_223.png new file mode 100644 index 0000000000000000000000000000000000000000..e368c0523ef17c61830dcfefda8db02dcb7b9581 GIT binary patch literal 282 zcmV+#0piFjAcLfREQQ5t_vZJ<+lc=Bo_~V9m05-56$pe3N zN&$%SICMSZ7QS|>-s<=>9D}^;-0f|AV)6}RgD^b)?+RbL6mAb>K;IDWB})hLjN&{k{i=U|Qcv7%4$^Q=+lLybZyY;h@L zoym;7X*+KNn(`L^V+wFq*|aUM!YArAe{rUw46wPM{jfpVr)1-e_SXIsNA}-o!-ce- o@nNF~-expgBMEPF&u?AkFXEfy0@7LQC;$Ke07*qoM6N<$g7~_)ssI20 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_225.png b/assets/bigbug/garbage/foreground/hard/fore_h_225.png new file mode 100644 index 0000000000000000000000000000000000000000..7d770e44730b01c88a8faa6fb35643549f48524c GIT binary patch literal 360 zcmV-u0hj)XP)Hx$;*0%!3jtpp#y1<$tpD?AOT6UfjBSRI{@Yc;5<2g zh`UrD6H~n)B6(J-6LflK0E|7Pfi>K``w^=(5SpyYxY0pU&8TX$^u%@GddjrI8oon50<`qN+mLa0R zbsr!nc-j3|@9JH%d;9t@_tl!dhH1UR)71Z&Y?X;>;wiVB%pI&HGf6CQo!6FoOxAC? zQYeW>Aj#>`i$FFg_e-!?qWxb00000wkE13vL@xAkJnD386AYB2@r%YqyZoUC8`RlP#6IcR6(yoOrRzJ z769Yi*=ztqq4{1{;qzVgslSkhEJV@o;@_jmMimZI6xI1hfi&<_!K3CV^gxVj0h1&= z2c9pALfeErdvR(Mh9{fDL+KG2Z)}Rv-za|^)b zjL~~Pz$sW`z=v#$f(K>|)>@n~{2~9-IBj$H2$T8u`kcYcRL7p?_PbBK-AB#0GgkxA zTf>=P0}v9enEtFB^!4L2p)-dwrzCsKcbt*l_I~p6%FNfBY@6QNYW=_?sJr9vgL<9J z)ipMI9wuiD#UG~nW#Y9O(Av9+D`jYBpm-(malTr`rK#kxfn+aRGSvPfJ=AM<`T_aR V5xerS0TBQI002ovPDHLkV1lIMt1bWl literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_227.png b/assets/bigbug/garbage/foreground/hard/fore_h_227.png new file mode 100644 index 0000000000000000000000000000000000000000..be093f9edda7a40a471196a3e9e00ad552bf464b GIT binary patch literal 403 zcmV;E0c`$>P)~OR#8ADQ1yNP z20)##_3TAe0Y&#y7hfTP#0zT+2%7@VOd6_w9?O%;0*kALwPLRod+pdr8?j+d%i9Y7 zesDiz0g~yw{42?|d`puZPuZE^fIY zK!nVZ=dD>|a6#qm<_8IBTm>{bvJ$dTxO3_|2@Z;IP!yl5@g+ac^TDQdXBBH0Ee9aZ zYa_#tZi@M_(8xu1#GdNi0-?Fn3jdop>9srFB?1gfJwxT2?!Xq?Z- xylwp;pCjYJpz-s3{&Ejrrm)vISx$=e`U9Gy;iPKw836zQ002ovPDHLkV1h>*w9o(m literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_228.png b/assets/bigbug/garbage/foreground/hard/fore_h_228.png new file mode 100644 index 0000000000000000000000000000000000000000..b2ed4917b94a5ed59e51b38da6d89a82b5400ba2 GIT binary patch literal 255 zcmVQI@9esE9%sam8HoZ>jP;Q=%N1mfP)8ig8krG`-t5K)mp-I@ns z-y70^rk`{Aq@fLIK25d9v;b(A5pzP8tq^l~;7bz0#1C~A{v)9af@-<@zom4^i_gvP zk;kabe_JMSC-V$65qgKXC=-c@EsGrHy5|hm%zkA65EVf=wN~I0u4DSDAj-FWs65g( zCB5E?2lmf*ut=Pay0Ys_OUL^GCg~$o3j&knZ`X3y0^V(niHO6q^ppSq002ovPDHLk FV1itnYt{e& literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_229.png b/assets/bigbug/garbage/foreground/hard/fore_h_229.png new file mode 100644 index 0000000000000000000000000000000000000000..d9a821c5f29aaba527300fc43f62708aa030f192 GIT binary patch literal 284 zcmV+%0ptFOP)oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_230.png b/assets/bigbug/garbage/foreground/hard/fore_h_230.png new file mode 100644 index 0000000000000000000000000000000000000000..f06532bf8aee34b5a6aa2b17bf024a8eaa003e64 GIT binary patch literal 244 zcmVkY#o41~W_-RO2=r*@~CiT(%)HjqTBC4_CxXZ+ZZDj1alHU{__B(OQ92z3kF&^+}# zQr30cL5HfMh!0?HPQa*?s?SccHNY+saC~jJV>y6|uwfuz9ehP5cwYvc8BOY56vHbT ziA1fWn857BfpBY$X#}fMVghEuIG&{6O(INeZeq$bI8&Q?zvdknf5m{wz8R!3cv;S& uFF?}5zTVc(C}|3QT=9p;N0K~+Kja5@ImD`3_TnD^0000G literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_231.png b/assets/bigbug/garbage/foreground/hard/fore_h_231.png new file mode 100644 index 0000000000000000000000000000000000000000..e0c6c76b9f531e72926eed99896d05dc681b5899 GIT binary patch literal 294 zcmV+>0oneEP)`$#$?B2#l(H^hNTJ%B!ovZ0yF~|%{W`eo^3tN50XJ3SS@u;*+-mi z;2Pd-M3jS3GSnj(;CgQ{!E#YV|M76e0;pS)`F-!R#+eVAW!OG7quF~--U#KK+DI&p zK1>7m0s9BP7g}ra&@YybcN07*qoM6N<$g5Jf3V*mgE literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_232.png b/assets/bigbug/garbage/foreground/hard/fore_h_232.png new file mode 100644 index 0000000000000000000000000000000000000000..001ac613d788fbdd0a4814c4617a3ff41181b3dd GIT binary patch literal 299 zcmV+`0o4A9P)3PLIceY&(^xt@bMjgxILa`K^0d@B^$NCDHN1&bzIVy%ob z?(~cF3RVkR0B>1GkY#&2!y{{-RO4ePVG)NQ~JXufRh%ZtxW%Wa1BTT~;1zy^DjtW~$2JZQFo(>%a4 zqkl0)x2cmhPMc0N6Q&+jmj7(3fgP i^DE<|j&pycCD9iESC!?H$Qzsh0000Z`~E*e?pQ z(3&PnF>eied}dbycC4>eQG@>3x;vfCfp9X@3^JFd#Q`hwX8N;jd7bEYTlan!?b4?P zYVzvB<66=*v{wT_!tT+^%id2w3hze^n7|5MNozTqx$eZzEt}T}={0`N*TT$Q2nK>b XD5sv@-*+bk00000NkvXXu0mjfNHlpe literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_235.png b/assets/bigbug/garbage/foreground/hard/fore_h_235.png new file mode 100644 index 0000000000000000000000000000000000000000..272e0aaccbc2039557c5e8ef5a95dfc027189a58 GIT binary patch literal 270 zcmV+p0rCEcP)~djGxOauN?#4Gt($% zB-^?mCaeaRP{Msre{=Ld%zc-Aa U7=KeZy8r+H07*qoM6N<$g7}AVWdHyG literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_236.png b/assets/bigbug/garbage/foreground/hard/fore_h_236.png new file mode 100644 index 0000000000000000000000000000000000000000..c8116f4d7fe075be464c217e02a6d36b48f5170e GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gd*1#Ln`JhoqSQS*?`CS>bfsw zrvmPtG+ruyFkwUEvV!TxEZ!4S-6#F}lJxyA$DR9CpA_Z_7j*o~v-}#PC9Z1lka2^0 zi@lEuBX^Sm|BEd`1(WnL16*~v_TQ4!zyHJ&A?Zg2Q_w&KQ* zNd6!jo>L+-Q{;EgIHHs3a(b!GVWaX+mC{+|55u3I^}c2ElgVwuvK{OvS?&WJ$>8bg K=d#Wzp$P!YZd1_! literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_237.png b/assets/bigbug/garbage/foreground/hard/fore_h_237.png new file mode 100644 index 0000000000000000000000000000000000000000..81aa7456f0fcb4b9bfc5427ce3c5f389509d3f85 GIT binary patch literal 234 zcmV0129O$-wLm;KPnV233hG z1I!V^qH!ped3>nTki)xOxmx>`(TkbrNFCINA2Dm`;6rcNxQ@Xf;EQNG_`t)zNmTF@ za%<(<+SHQ=LeaR?7mxMbF_4hJ41eudI7<31!7~~b`fVl6vUZ#UY5og2(UKhBi#TTE k)q|*(6Q}&ti=re_er3c=X<(J0m;e9(07*qoM6N<$f)qw-mH+?% literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_238.png b/assets/bigbug/garbage/foreground/hard/fore_h_238.png new file mode 100644 index 0000000000000000000000000000000000000000..77ac44e0fb19cdb8eddca2658ccea25eb0055e0f GIT binary patch literal 214 zcmV;{04e{8P)X?k)|>1k^s2XI(}6C&l5C&BVrhR4d@fI^n7i>TuejIu z$T+EKza9qIm05AN=y8xojob8u%Tu~-28M?(Zkd`Cutq89oYV5|9mw@Y^J0q4!aY5^ zvAJPzB;~${%NhjeYi)6Rp4;ow^A-S1;{mt?d<6djNRam*(wCb5g}(zl0n%8CLEUX5 QOaK4?07*qoM6N<$f}$W=^#A|> literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_239.png b/assets/bigbug/garbage/foreground/hard/fore_h_239.png new file mode 100644 index 0000000000000000000000000000000000000000..c0da96616a8d4e5f9b3a71f696ce11c2424e6d30 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q#@T9Ln`Lnop_V?umO*Ad{5qy zxx3b;7uhdzY0qW(smtg*O<|&ygVX_s8CQSq&*^onYFBl5ufQnl{-L_exo=~==#{QX z5?!)O`HmE1ZJvBeZhq=UuiqO~bL~8Rx|aM-YB-!$81l8f@K&tK(xli|b8gt$lETb@tZul|FvuhS>^?~^~vfbL`PboFyt=akR{ E0G*vu!vFvP literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_24.png b/assets/bigbug/garbage/foreground/hard/fore_h_24.png new file mode 100644 index 0000000000000000000000000000000000000000..611a5bfc0606049403a48886162f96c74dfde9ad GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6yQyLon^Q17Td6^vM kS-{aFWsr4X1!IU2Q1woOiHGNLl1y s%*@PuxZaC5LBcfQN<$#?iWCNhJL{O_*Y=gf19dQXy85}Sb4q9e02+%KjQ{`u literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_26.png b/assets/bigbug/garbage/foreground/hard/fore_h_26.png new file mode 100644 index 0000000000000000000000000000000000000000..a88976d6a50d2f91669da54be6f681b6b32c6e96 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6yQxXz>oOfVMSmg3~ m1><729w~=ZW(iG01_s|+Mg`;7Yjy+GGI+ZBxvXoOfVMSmg3~ k1><729w~zko&**KUq?m-#l8DdfGQb0UHx3vIVCg!08@MxTL1t6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_28.png b/assets/bigbug/garbage/foreground/hard/fore_h_28.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_29.png b/assets/bigbug/garbage/foreground/hard/fore_h_29.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_3.png b/assets/bigbug/garbage/foreground/hard/fore_h_3.png new file mode 100644 index 0000000000000000000000000000000000000000..0b7ffbf92a45db9ac13a384f19b8aa6a8977ec51 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`I-V|$Ar*6yQxXz>oOiHGNLl1y w%nSsFS1>MSmdKI;Vst0Gh!X5dZ)H literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_30.png b/assets/bigbug/garbage/foreground/hard/fore_h_30.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_31.png b/assets/bigbug/garbage/foreground/hard/fore_h_31.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_32.png b/assets/bigbug/garbage/foreground/hard/fore_h_32.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_33.png b/assets/bigbug/garbage/foreground/hard/fore_h_33.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_34.png b/assets/bigbug/garbage/foreground/hard/fore_h_34.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_35.png b/assets/bigbug/garbage/foreground/hard/fore_h_35.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_36.png b/assets/bigbug/garbage/foreground/hard/fore_h_36.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_37.png b/assets/bigbug/garbage/foreground/hard/fore_h_37.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_38.png b/assets/bigbug/garbage/foreground/hard/fore_h_38.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_39.png b/assets/bigbug/garbage/foreground/hard/fore_h_39.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_4.png b/assets/bigbug/garbage/foreground/hard/fore_h_4.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_40.png b/assets/bigbug/garbage/foreground/hard/fore_h_40.png new file mode 100644 index 0000000000000000000000000000000000000000..4d32230886477d0f13cff2ea54fbf02746853c44 GIT binary patch literal 248 zcmV5jd0mPz2F!nye|Yionc(^yj)xm!S4G!KVi1V6*U~DAF_%}Ae(KREu7rbq_7T^syr0|4|KG*dv@X3 yk`7AKx*^!Qa6*#`CJllf;E5$0=a^&Vp}qmnWVW)UWtYDI0000rsM{&ru6)(Bv z!M1$)kQyJ_Z}Hs+=dJ0mC%{$Y8n4b#;fkezI4l1-irNHI*4j3v0SFWaWpTvPzj>Fj?AtjYTUauI7%k`@shhKD2xG$l=e>o|iZFomWRzKqq1bpZYsC)obL zLDc|`2gla|-F_5;EWnT;w0m5es!;7L0U8sMdeUZRF-j9 znL^U#pk3{!BdKP#_+>SC^GbEkYcQ*Xm;eN>?etf&Z4Zj(wi|ID{>*T0T3hYIzc#Tp z@(rl#3O4#Q)WlZfF0xI*Ov6kg&JG%lO^9#%^<93>VXhc8L^RF-0000neL$ETc6;87KHt>{cN;e=MMFzDfa_fJjt1l|tMdCl;m6~?m?F(rlH+uCd hc7Z1Nhh^fw*)PHazmkev-_QU6002ovPDHLkV1gYIcJu%M literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_44.png b/assets/bigbug/garbage/foreground/hard/fore_h_44.png new file mode 100644 index 0000000000000000000000000000000000000000..5f747462552813e05e9d2a0470dc5e7c58a07f70 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`t)4E9Ar*6$PP)k3V8G#Waq7K) z$`-A^9U;t}@E6X1aXC`O%L1TGFh7)qzJZMee)x zStPAZeZzvaPIvUa?(Y{&`W+}K%C$(w@Ws57atUtj8rN6(F+ObTb>^|*oYCOyI^FJp pR)xd9L$c{lX1C4dl=M9OX1(n}58DqZeLx2>c)I$ztaD0e0sz7INl*X) literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_45.png b/assets/bigbug/garbage/foreground/hard/fore_h_45.png new file mode 100644 index 0000000000000000000000000000000000000000..1ff32d7af0cfaa8283113027962778d20f9d5f16 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`U7jwEAr*6$PQJ*?qR8QrzJBTT zdd_P{YS)wtxjb5@;?m4#pd2^Jhy9x+<8#i4H{6@u&xus?mT*q+?D5WF^qmyTxETj(OEpMKmaN2dSUf9PX;M6ceJ$#2fF tANScYU##%N2PvOFFP-`%47j`Ba6cB<(x;)7z6aB>Ar*7>P735}P~dT19bWa_ z{`MaMo)gEetWe=ylk9zZf{O5_ym0Aco}Y&rS8C5l++VZ6ESBqIP9qa*PgzpMzGewY zrA&cEc6VY~cgk+hj{9*+L}l$|9Xaz!3-@$n*FQThwy1PdVdSp%{mUHeCswiLZrMH0 Ua;o680HEy*p00i_>zopr0P?m!YybcN literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_47.png b/assets/bigbug/garbage/foreground/hard/fore_h_47.png new file mode 100644 index 0000000000000000000000000000000000000000..3fbfbe353a8e26ec4d3506ff83b69cf4ccc9a7af GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr*6$PKxAfP~dTKU;pJ@ zz1bfoZa&tnCsi(#?(zt#Z2H~XCGl_XenW%OyahK6LN7CjYAGuz_h%4@UU03At_7>0?44$rjF6*2UngAq!LrNLf%<|#L&jf@2m71a9UOfkg z=QdtBA4Jib>*7-IlF??ti_*Iy(|g~YZJCF)@IAzDE_BM6$R3~Q&0b1;uwiN7c^H3L cPWaI12gd~5bpx;SlK=n!07*qoM6N<$f=fGK2><{9 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_49.png b/assets/bigbug/garbage/foreground/hard/fore_h_49.png new file mode 100644 index 0000000000000000000000000000000000000000..2f2602e2e810ae52aa269d33fa549ae465487451 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`(>+}rLn`Jho#f4TK!L+0e)7GH zcl9jiQpB%xB^3k;|7kGh(fA`X-Q~A)fwV$Hd9qz2kB^**v#r=WE{7oIO>6%>)mi!b z7;E`FPrD6QUd(3v_BA+cVuP@UiD1W~Ga*r0+fQu!nknFGtKqm*mLb10bP0 Hl+XkK3BOKA literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_5.png b/assets/bigbug/garbage/foreground/hard/fore_h_5.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_50.png b/assets/bigbug/garbage/foreground/hard/fore_h_50.png new file mode 100644 index 0000000000000000000000000000000000000000..1d2999d7c699cd51309875cf89fb82d6bbf482b2 GIT binary patch literal 235 zcmVGfZNYRVq?*lsD_WLb8Qq+8N0I>uGch{!mPBz{H2oA`r+otSis zhBQ2=L$UnkU|w|f@;x!E?4S>ZUY(G@w7hMLKp+bpWuO2voR;XUSp?U)Bz<~svXL0-i((;C lN{%Uz!qMm2+o_ZP#22*9<2|}5l~Diy002ovPDHLkV1m}nW{3a) literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_51.png b/assets/bigbug/garbage/foreground/hard/fore_h_51.png new file mode 100644 index 0000000000000000000000000000000000000000..4bae0653a20d3ba60120cf03ddb8616ba9227972 GIT binary patch literal 247 zcmVAU|Cawhjj3)X`BUX3`W%I_HKw%fGK1of6Lk8n%iz;7PCxCFdXj zNs?{-w2)M&CyRP@w8`bpPjEx1!a#hZj;*~i2$h`Kz~XXas}$ed)PNac6=);cWkVA` zQl(5GA_inR(uNYgC0}EB+2}qz&nGD?d%PuluUPt{10=_$7FfL(!O09H xPs5f)*ygfnk8DOK2w5R8vfHgE>{HD@>kZI2;N|w6y%Nid5Y{}&ppqfXX z-vAz9FMG%jmr0;9eFa5<@QwwGS;?dg{YM#Z>>eWir-aR)B^1)2Ey!I`(f0a0%IFwq zg6GZ6nhb(fsJO&inC-TPezkG1yBKYGp99dlHC1y|IDm+gRo8`k0(sY?oy2+zi=du| znz!&x?N%Rq25wW>-rNmRNiqZ*in$6Jd*=B60hH?1MT{IEZvX%Q07*qoM6N<$f%?Tg@tL#*g^N>zju#xWm;M(`xs-hpzS!H(c=4_AA&P;6K0 zyeFV4tZfqa!4gLsUjqBYUqh4=L=4qVaGQT!$cl@PyUkY&(2!nm6+vwYW1kaTF0V#PF2{j?Du}vyT0yROT6bTJzLh+R5b!7lB7aPob?H|qn zFE8v#f&P?%EGHULtfgGL3W`HOb`~Kicime@8lpN6`PCAg#TZ8x83oYU$U;H!IkE%g z7LSAjb&aMSCi3Y3L4w}$rQJGWR$HRXQrws+@x#t9}MBSAhwuS~v(hgqF*XNAa2Q0C|9FGwcQjzpB1 zxn-ux9_tl)`;FV@rv2c%0aoCD$-IIBcoz3b7F+{D1%?*ZG@tS^xjP&}W+sb-q<_lr zwPZNX<#&5)FvY7xHdrL59^XYg1mx^Wf((G?7O;uV5mAV_m0A>b1$8^oy0F`~D6q?i z%jPKm=OAU!u4Y^iqTT>UfONESRJj4T1FqIiS~<$fE?ACL>kH(}y7~;i6n~|ge-fJ6 USOn!HR{#J207*qoM6N<$f`$rq0RR91 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_56.png b/assets/bigbug/garbage/foreground/hard/fore_h_56.png new file mode 100644 index 0000000000000000000000000000000000000000..c60655b946e2d0b1f99b11c85146190fc72d9748 GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Wu7jMAr*7hP735Zpupk$dfk_I z^=98T&NOs2GVFQRnqvXHm6ZL<~LPCa^0yWvImxlm^wqZVevA3ayLGW73R$L4;lVj_1r Z)5AAwzb@7i?ghGl!PC{xWt~$(69AEEL$3e; literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_57.png b/assets/bigbug/garbage/foreground/hard/fore_h_57.png new file mode 100644 index 0000000000000000000000000000000000000000..b8af9fb9670aae1dd8b1007131d403d7249d92ca GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rJgR1Ar*7BPP)l^K!L~EH@xb1 z{{f$u{yUu(e(4f%lzDVR$Z^t3*PQ&e`GOawIqr{2C@4?#ee^1DTDf`Kx#Cm%E>$b+ zSN?IQNqw%qglUB8TE<_wF%zC03_b66v`s~Ds`6ipg6ECLn^ae5IJhlkyVU8J&!1ww Y|HPV~dztNT03E>K>FVdQ&MBb@05Mxd9RL6T literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_58.png b/assets/bigbug/garbage/foreground/hard/fore_h_58.png new file mode 100644 index 0000000000000000000000000000000000000000..92aa4d0b3c732e1269dce6deca613655359182a3 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar*7BP7LHbpupjLzijEf z|2c1xXIZd!=_xA;=5U8HF!Lm?dLHCF{g8w0GS-*ApFU~MQ*e>K%gj8%yTCPl!OFE~ zRvq4bA^O_67pH?}vbnwAWNW$epv#99TDuE(#jfqF`S^c&tD4A7&A;453y<5MW=Yop P+RNbS>gTe~DWM4fzAHa* literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_59.png b/assets/bigbug/garbage/foreground/hard/fore_h_59.png new file mode 100644 index 0000000000000000000000000000000000000000..f38e04291949013fa5709087e9d594532be6d27d GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`C7v#hAr*7hPWI+HV8G$BeD9?@ z|8vSNimjQsf>TsQV*f`$h7FD{bEPWhFXnGEoH^g=is!x+RxzW>gTe~DWM4f$umIk literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_6.png b/assets/bigbug/garbage/foreground/hard/fore_h_6.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_60.png b/assets/bigbug/garbage/foreground/hard/fore_h_60.png new file mode 100644 index 0000000000000000000000000000000000000000..c7d7fbc1204b75544848e4454bb4a660307117a7 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`xt=bLAr*6$PKxF_V8Fp*zW36d z|2f~5>#D{IPv#Q(Xs9zwP4mm)zAa9lX2pcaXtp>lT3>orqCwt=!FUGi6{-ETF$`VR z1^4nKqtn(ONZO+&DX!13r>pm^ePvw3-Qa8OZ1xj<4tj{Db!uiTc*7F={HC_vyL5h_ O#SEUVelF{r5}E)^Av+}i literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_61.png b/assets/bigbug/garbage/foreground/hard/fore_h_61.png new file mode 100644 index 0000000000000000000000000000000000000000..549f37c1469464b0fe105741d158eeacc6e7d5e2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`37#&FAr*6$P735ZpuppFbKQ}@ z=a=p8c0O=piD6Xbl^g5_4!G_yPvU*BNz5?E=#68QgIUB1`}P|%cRBD*DiCv;zjiY7 z1rB2$@f-io9prhjIsf2}y!k@vy3dYnWxx4NDTk^3{B^xgwnxH%b}@Lm`njxgN@xNA DzuY^0 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_62.png b/assets/bigbug/garbage/foreground/hard/fore_h_62.png new file mode 100644 index 0000000000000000000000000000000000000000..3f97581e2e16396da456fa26fed954324810c74f GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`MV>B>Ar*6$PCCtdK!L|OHmvG* z{{f$utWl1K)sG4(O;oiu^qAyn6qxt^!IcCB?^P#$F}0u8UAl0!HK#BCjnG;5J%Xoc z{!Wm)W%cAPk3{F%rsyvAxP#(6)@*7wgt@K1$-m0@@2BwXpSt!NjxXoV-pj9LPTzY| T-?zvNrQ0{}42B-d64M|+y3(o)6>X&`idf-`g a9W%>}8&ldICf)(Mfx*+&&t;ucLK6VPz(D8# literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_64.png b/assets/bigbug/garbage/foreground/hard/fore_h_64.png new file mode 100644 index 0000000000000000000000000000000000000000..d1d38fdd817a8f651ee03da51f60025f61341333 GIT binary patch literal 254 zcmV;Wg#1ezE-SQ-TwyBJ*lvK>EpY>BG7SDsjap^J8<G$kq$l5e*^Y`G;&a$<#?+=(NgeWDl>R1`3vmUnhbv(YdXbyMj%-fPP zlg!`6?|C zKhh|aYUo(2DHO2pkI`RE1@tSMr+=I^tw34Is{)Ne!Iq3rx>rvIo$|0s3@)#qKhCLB rSt)F)WGb_awG%fGryAHk&MliiR=NZi2jyv&00000NkvXXu0mjf(M4VC literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_67.png b/assets/bigbug/garbage/foreground/hard/fore_h_67.png new file mode 100644 index 0000000000000000000000000000000000000000..5350e0fe97d854bfa3a3fc577cd241520b469849 GIT binary patch literal 256 zcmV+b0ssDqP)GfX%HJK0aKrzlZl8EjBN>W=Vlq z;YZP3@rbGpoYF><<^CS=ts={VgVYDJ##KdF{4g`ONjx8l8~G-C5}7Oj0000sV!w1IWU#6w;7rk_x+U^*A+C;O6Z>!5?n@Pe9Oni^McSn{z z-0iSkYS9Ol*_SUK5YAh%cZ-G(gII1%Xqfxjt>S${7&$8Wa(lj;l3H%nGbi5I>( Q8E7$sr>mdKI;Vst0JFhBRR910 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_69.png b/assets/bigbug/garbage/foreground/hard/fore_h_69.png new file mode 100644 index 0000000000000000000000000000000000000000..e4712c998a1649bd484a782b1478449583b5f121 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`*`6+rAr*7BP7LHapupq&c-@zG z_1oShzqr!bJz11Vbk>Y5ooOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_70.png b/assets/bigbug/garbage/foreground/hard/fore_h_70.png new file mode 100644 index 0000000000000000000000000000000000000000..06acc367a66e0a52131c638fbdb1a9bcfcd1978e GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar*7>P7LHapuppNzijE9 z|2cR2xw5wU-DGMNn?1#aftlxIz^l7Kw+@F`NF+P?%e--6^7G_o3bwvl?QkXL%PFnh zJ63zfPCk~F_uzN0k;U)U^F|ql+v5rz{ZD1v_u<=9d#9KK%#WRxpRkBOwijq6gQu&X J%Q~loCIH5_J{14} literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_71.png b/assets/bigbug/garbage/foreground/hard/fore_h_71.png new file mode 100644 index 0000000000000000000000000000000000000000..f1fc181b85960cef87b1f2aa99d41ec8622d651b GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`C7v#hAr*7xPWBc%puoXgynN^X zn=cmCnlAlUaIi^T#b6bS;!4(E&t89M5mwZmXWD!2g!UBXquQ5>Bi9>g#F$QEl~Lh* z@lW^8sVNSR)~WL-I5^7vJf5;aNOgPOU6;QiNfVD2bGYp{2|S+oJb#Bn^{LtC)M^-c X*Ko7sKCq4h+RxzW>gTe~DWM4f4zEDW literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_72.png b/assets/bigbug/garbage/foreground/hard/fore_h_72.png new file mode 100644 index 0000000000000000000000000000000000000000..75c33d6c3f9c95a1042f793f497bfe5485843dbf GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr*7hP6`xiP~dP0U;pJ@ zeakr)dEb?)USh^QyR>(3cusoR{8Z6fr*m(S+>I|yo<=e;ix(`=Ke^9lZe-Znw@l~i zk`j0F#XBhcW52>#H@A7&_mZY8o^-xlljeSE+sbZdw)^cOrES*N*F9zBTX`k@qLxEj b*CW|_^F2~q-@9)Bx`Dyd)z4*}Q$iB}^b|yr literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_73.png b/assets/bigbug/garbage/foreground/hard/fore_h_73.png new file mode 100644 index 0000000000000000000000000000000000000000..e272e49cd3fe29cc6c988f99f8ba1e4ad96e2738 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%``JOJ0Ar*6$PIeSJpuoX=xi0hn zf3vC=t&21w(kvv{JQ(ynm&uoPHykNHs8i|{VQ5&IBBa;pw#jG1%RSxOznp(8cqHTO zgR2)W%W@Z({Cz6*Q|t@R@^XWhHfI=*m!xcX6ELM S5@A5A89ZJ6T-G@yGywp)AVHJ> literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_74.png b/assets/bigbug/garbage/foreground/hard/fore_h_74.png new file mode 100644 index 0000000000000000000000000000000000000000..a8d943e44c82c6266a221b3d126bb76192cc3a60 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`g`O^sAr*7x20QW{P~gb^w)EeB z&T3(69ji8p6)G;y0=JqN5++@qZ?a|5IsXlt+w^*wFfQ4A5HEX7}>c<&J`={8?b@Ey|@lWmD)=SKu4&QHN TEsT8yw4A}y)z4*}Q$iB}w#q<# literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_75.png b/assets/bigbug/garbage/foreground/hard/fore_h_75.png new file mode 100644 index 0000000000000000000000000000000000000000..aa24421a69297eb6e2f2c459f1cd5953d58fec28 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr*7h208K_P~b`WE%d*B zwzco{Fp=4&nK@UKSQ!^EW+X%;ulgH!A=}3x#qPv(8MgM590t{)=lq%*^`CJ*U3r0N z?jg~Y2haK0UYm69o$%V24Xrwr_diz!t}6WA#bCcx+TKXx81q5R6HBTpPJ!%X@O1Ta JS?83{1OPx;J9Gd5 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_76.png b/assets/bigbug/garbage/foreground/hard/fore_h_76.png new file mode 100644 index 0000000000000000000000000000000000000000..68a4408f9a3e5fc329f09aeaf7aceb3fc662047b GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`-kvUwAr*6yQxXz>oOfVMSmg3~ z1>+Nmgr3+R_I^1%?tER6l59G%3YF~(j3o;y*_GTD{SQ3S`%%K7ra>r^;gFlwu_nWf ejUDQ?3=A^1slvw|E4BfRW$<+Mb6Mw<&;$U6f+*Dh literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_77.png b/assets/bigbug/garbage/foreground/hard/fore_h_77.png new file mode 100644 index 0000000000000000000000000000000000000000..83185ef1ab68e5de4824e3b92a9b735ef05552cb GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ex5FlAr*6yQxXz>oOfVMSmg3~ z1!IWu0f|#i%P-!vU{Gcby~Mc7*X2eJ&p+Yb-i=+8*9x9xNKSqf+tl=NX5am^67dI@ jGJH-rtU0H2OO>H}U#ff2v+47JCNp@t`njxgN@xNACDSou literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_78.png b/assets/bigbug/garbage/foreground/hard/fore_h_78.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf813a5b89c75b6e58e01b46858e3e5d6cadf95 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ex5FlAr*6y6A}`B^f&fy>`?4p zeClyP&vl376hkGR14#=EJ@pP`br=e=J>cRF@!7Lk)41WF#Po$vSe05Yb{yz22tL8; hGbKaLw80B#?6HW+YvcB@aso|e@O1TaS?83{1OTU{EGGZ} literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_79.png b/assets/bigbug/garbage/foreground/hard/fore_h_79.png new file mode 100644 index 0000000000000000000000000000000000000000..ad88ff59beca111364f6c234d5347ff3abc18307 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`QJyZ2Ar*6;PIBZrpuoej{O_fI z|8qYk-BNP9bS1iV0p}Y77DgU}EAKZh`WbuPEx&2rNfuEizUwRI2{Y6>#=L4yt73o6 vD$2-p&)Xrcl4(WzU58~#3774Em@i;_TshU{_2M>Npe+oZu6{1-oD!M<*CsV_ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_8.png b/assets/bigbug/garbage/foreground/hard/fore_h_8.png new file mode 100644 index 0000000000000000000000000000000000000000..37b48cd03227f40438e91b0edb62e72182248768 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6y6BY;<7#SG+S$>2; m%`4U*>%a=e#cTm585md=G0OH`6%PZdW$<+Mb6Mw<&;$TyDHezT literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_80.png b/assets/bigbug/garbage/foreground/hard/fore_h_80.png new file mode 100644 index 0000000000000000000000000000000000000000..fbd66ea9b2a0e8e3f577d57310586e12a5a87b79 GIT binary patch literal 314 zcmV-A0mc4_P)tCi;;Fv@@zI6^Sb##Bq!-{Bt}$9Y(NikaGXq`tkR~z_|8C z26O>ra$p$@g32~_qA3E~gRTgk4PZc8usZGuNJ62kYUc#JRx*fSV_5zylq5Xs1htJq zyoNz?{&oq0mk%3h+G%#rq1hGcd*7RJ(eJijr+Re5c_&l-%X%m4^jh29taR{kVU z#J*aPuI7*ONT6!XaFsx65e2Z|E-Izcop>|qXKdjj*ivj@D`HF9Ku&3+UbEqfR M07*qoM6N<$f>uw73jhEB literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_81.png b/assets/bigbug/garbage/foreground/hard/fore_h_81.png new file mode 100644 index 0000000000000000000000000000000000000000..e41a18356cc63a8e8c406756711470311fcf317b GIT binary patch literal 325 zcmV-L0lNN)P)*I+~tb6g^E%+z%T=vQmETN-R%%9ya{*dr2%QH#YoQ&&lhNAcAE;1_UM^ z(FQ{9WcHOvp#^*nDaUoDh$U%7up(GH{_UA)f4ZygAjln`8q&SoT z&xtPWQnDC3SnY!=s3V)f_GQjv5lAaS3$zrM_L?6al@FT%_v1E9TIkEvFQd1SZ_*~L zUg7Q7C6CKc$$dT2sIB*!CEB${FqXjQY9xpfspbsG&QkrYst_NQWn`@nXWjIx3uiGi zv)S${yuDMIL?M|N7k)|Xs->DE!JHF|lxX^iN@6uvHfwagk&lX26n!81Tai#}KR56P XGqAo$A^nJl00000NkvXXu0mjf2;_-8 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_82.png b/assets/bigbug/garbage/foreground/hard/fore_h_82.png new file mode 100644 index 0000000000000000000000000000000000000000..ac6d4d6918e3fe89c20f7775fa6614af51e94a20 GIT binary patch literal 316 zcmV-C0mJ@@P)o11_cQ7Dgc0CApuFd0vM9*J`!N=l(uS!l`qXz z$IBnIuqi(fzXEeM-ktnx=>*!wWutpDs=Ahph)9|RtRtoB`*JYThi%el?9<7K+`YRL zD0Jw*WAB`$Ur{vVf~1VbdRt>d1dNe*Iv!x9v!x5dXDa)*F&4|tND-)cpool3`{O;j zFY81a`3>}nZOyMfjS#a0*T}6v9%lv8FQt(WfX=3jR*U6hNq=wmzs?`Jcg1?0kwA$6 O00007{QJa$N=4XOfjp|+QzeFFE3D~)Y3lRliUUzL_Bd7VA=zjV~euu;S-4(>eh{$P;` z9|DXNxY?Meg?kV}_*5=%X_GK4BZ`HdV)s+H6PD_5>%bDB{q=>a$*O^XJf`L#Zsc#?Dp?+`Q>!pfu5hyXoYy@7q2~1vm z>0sBoa9lWs0EZpy^9}@}`igxf>YP{G#h(ZctT72h;8*4Om;N_Ia=GBL-6TmSKcMT7 zF$RT@nNtP=sg-226tEC9hmwSiG>Zf&SC;B^+PwQZmtijn&(pqbA<&!qV;aQdJyh7>gqo6$G59~>go=` z*u8gHkJWOdpam`Uec)n&;0i>78vqeOAOwKmDf;kTX3Tqx4!}7xCDLyyQZ(oE!2U+B z1}7#24f4hgvaIaww1s&)RbTl?;;OB*Mzc3oP7`Ism&`~6hYk-;W^NoW(Gf2FE_Neo zQIo{B+s+}rLn`L)X@%)Db^{*MO&JCi?DmvB0SRYuQ~ zPSL%%k$qxbvUIoGnp63vD~?6omS>V${$QW7Y}H5mmN2_D8+ja}Dk@5VPGsbP0 Hl+XkKO1x0e literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_87.png b/assets/bigbug/garbage/foreground/hard/fore_h_87.png new file mode 100644 index 0000000000000000000000000000000000000000..92dadc3bec1128958f78eff89c0cc772e2b19387 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`%RF5iLn`LgTe~DWM4f_`-az#`ddt?hfUd3&FUxTJ zS!0zDmthCV)=IwcW2N zQ^=VMaEz{Rt4hwRlXu7LxMNV>U>7_O^kkGQv==>_?o}^7&Mkg|?^Au7Ld{9tpDhgd m@Y`g_Bfh8eox#TuK61Y;e&e{wOk=hH0000GAr*6y6BY;<7#SG+S$>2; m%`4U*>%a=e#cTm585md=G0OH`6%PZdW$<+Mb6Mw<&;$TyDHezT literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_90.png b/assets/bigbug/garbage/foreground/hard/fore_h_90.png new file mode 100644 index 0000000000000000000000000000000000000000..b6d30fe2cf496cfb828cd5b38624a0f1bf2c5ad8 GIT binary patch literal 312 zcmV-80muG{P)2+b>!K>7bSLKQ|#}-uD~u5H)&G@ zES!l#I48kUJwb|%yim$U`-$xt5!>EOW}TBot4z8`^+M}P)q&8+fS{7H>O zNSK2~q=;D|h102Jfjz~kkgF9)u3{IIz$)!G%g634)h_BC_oP`6JLZ`7&vYzhBaX3k zdhg3;3T(zN=1*E%IMjQ`qC+rmWiqTdsetU$#@tSAfFH QY5)KL07*qoM6N<$g1sY%$p8QV literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_92.png b/assets/bigbug/garbage/foreground/hard/fore_h_92.png new file mode 100644 index 0000000000000000000000000000000000000000..bd56535579fdaf35465e139db05e9d59bc8db267 GIT binary patch literal 330 zcmV-Q0k!^#P)od*dq7Bi4R~||Wo?M5hzWd7NfT+WkG&fTF{4lnPf8RNX&cT_1{B}?%WRX8rCpiUOtEG=Cqt~`X>yRDs~Tk^lez07*qoM6N<$f`NU89{>OV literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_93.png b/assets/bigbug/garbage/foreground/hard/fore_h_93.png new file mode 100644 index 0000000000000000000000000000000000000000..43619001fcad9ae5c92cb6c34a4f4ce3e17a0923 GIT binary patch literal 336 zcmV-W0k8gvP)FD%CQSOPFxF14~B-b;xWI(_!D}efb)j~@xW3E6MQ9wmdN&yUHKPqVN zA={oiBGDj;6~?%{Bp^uwnbVQa6@Xw)-!c0G0V(tcmJx+kNEs8t3#l$WKY69rX-`PS z%w0H4o`=^USC9v-Vz^-?!1J*93Uk*PnDelWONqOYC$FDQnukO-X6%)U9v4u?7e_kB z*c`CQ>Ld|U10N*%PZAf2)6h)8$A0m#yPw#!NB!^`4eCLUAg1Mjn)VlXcCWs-i3_%-$azi_|-NAKb7W{5^X>4Dzbw4iMjNSb= ixMkd&E&}r?ANT{|`ol8`#AYr40000u7p%QS>x5u^-07WOZu^LC9e2XLA84m=FNi1{;OIfJieKBZN~3f* z!9e+AAIP~o@;X==03w)*n85!-Owa_Tq_wAc0Z2>c1&d5CWJ;nC?qKtz!Fz!*M7r;kh_q65X5Xwp@ z^rI4LPIBx%*x=MDzaUl*Y>4U%0(+!fT2rcRzba6-csUTj$b&_FR2Ay3Moy2jyYER_ zZ=r5z>DVixo)pbFw?5m8B)sRl|?G02pH^famgcPqpi$QB9XWkzI Wn89Ux;jIk-0000$p#Az0PBFV zKk%&8m3M;|tC`&yB%s-VXGO}+eAp*6?WtN?y<5QNt`+I}a=_YEiCyZ8D=*IkT~?Ag z8hoT_+FzoV3-p1lyhO-5gNk3|7I8IBnn6y1uD-F$!hc$A26_wVR{yxXG=L(P2F+($ zHT@39_q_SbdiC8EAbx5)y1E6N)Mq#5W1~ldePL`?=NvAbtH9cHe)cUSq^(@Z;IcAe dH3_l<{sPr6!Hq$Iy7>SA002ovPDHLkV1jJvlcoRw literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_96.png b/assets/bigbug/garbage/foreground/hard/fore_h_96.png new file mode 100644 index 0000000000000000000000000000000000000000..c69791fbb31722230f7111812c9477fd99a7b2b1 GIT binary patch literal 217 zcmV;~04D#5P)Nkl{uI@> zQ*v#Ee>y5M_S}uzX?%l&)1Gg^hvQb;JIwY8Pd{jKR8WsgQ&IeXlYy`(=bs=a@eg%f zEo?eo=Y=B+_ZnTOXmk4Oduz#=O;KAvrZ;{|&{ThY-lxR4a8reO;O_Xtnl%->LORc> zTzO}G&*OY0gDaEqgqB2x3&}eeg7 BO!NQ% literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_98.png b/assets/bigbug/garbage/foreground/hard/fore_h_98.png new file mode 100644 index 0000000000000000000000000000000000000000..06aa8b2db39ad6c32b499a94be3149138edd5320 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar*7xP7LHbpupiAU$*q# ze-3Nm-!t@l9PfB=7+$*+#^5|d#aZG+!_KR_AIs%1EMxrJ)A7EwsNJ>y`zaBPnUF(OX6T-=P>gSRr1O72@Y+8H4Oe93iiIqz(?~CJl;qXN|>@y?2s!qR@ kpPSBmA-?J3!bubK1>*m)-fXqI0(1<6r>mdKI;Vst08GtB_y7O^ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/hard/fore_h_99.png b/assets/bigbug/garbage/foreground/hard/fore_h_99.png new file mode 100644 index 0000000000000000000000000000000000000000..6ba9fb5561ba6671dcd314eb4a7cd17ab5ecc299 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9iA?ZAr*6`PC6}kK!L+$`||6- zzuq^<^fb#06n|Kt^IKXqC8*3mvHAeZ+uY;);!hk-{&?r2)c1PL$|n6a#%fIoKV6<3 znyq?%{>05z7ECv$swTfu$o#K$&gMyuWnYNswr?9tw?4BGY@JavQOi#~!(LDK<)R}z tHq&NLW}o(d=Lf~Dca;vkebi9RD7-?@@PO~K8$dTPc)I$ztaD0e0szfrPN@I@ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_0.png b/assets/bigbug/garbage/foreground/medium/fore_m_0.png new file mode 100644 index 0000000000000000000000000000000000000000..43d6eff66dc0ea7cebb4a355faa74dbc9a597bf8 GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`7M?DSAr*6yQx5R`OBPH%vP@vL z0w41RrV{3kYaGlzQ!?Dl8*~_q8+2~3eAN`l+_r}?MO|st4hDw%&)Fn*SA3ceG=ss@ L)z4*}Q$iB}VWlCz literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_1.png b/assets/bigbug/garbage/foreground/medium/fore_m_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e9cfdcc82365bfdefc94ec56cb10180130b72c5c GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`=AJH&Ar*6y6A}`B@E=WKbQ3Z) zUc_xMF+;H}+tZZcra~7_gS1m8qsZ=r0*Mdx2VxDf7)*H>7;=O-#1Gwdx&SnS!PC{x JWt~$(69Czu9vJ`t literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_10.png b/assets/bigbug/garbage/foreground/medium/fore_m_10.png new file mode 100644 index 0000000000000000000000000000000000000000..a252571c5511eea5f58ac57b42cdef7925e0b665 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`I-V|$Ar*6yQxXz>oOfVMSmg3~ y1><729;pTf9hDWSN0h$JpU7xxogCaE&cJY%n^~c&cf&)VJ_b)$KbLh*2~7a^oE+c) literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_100.png b/assets/bigbug/garbage/foreground/medium/fore_m_100.png new file mode 100644 index 0000000000000000000000000000000000000000..e2cbdbb1c2397b05fd520483948d9eff8eca1935 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`C7v#hAr*7hP7dU2P~dT%AG7ki zeN*}&`6-Dvj=Y?tc3{D4E`}?bPuAT3CbH)SqorkU^K-9xs{$Njeg*9`-Bu#PP`S4) z>DR(iex56TJz^H0{QLM|kwu(p)P%YFO#(uCS)JO|*ZcRnv^_{U`|xt&fc7(Zy85}Sb4q9e061tzVE_OC literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_101.png b/assets/bigbug/garbage/foreground/medium/fore_m_101.png new file mode 100644 index 0000000000000000000000000000000000000000..76b23513968c095373028ca8ab3603b24c4cb1da GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`A)YRdAr*6yQxXz>oOfVMSma`y z$J}!t<8 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_102.png b/assets/bigbug/garbage/foreground/medium/fore_m_102.png new file mode 100644 index 0000000000000000000000000000000000000000..a4a42add84aa8315f00d89bd3bebf2c5d69a9cd1 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rJgR1Ar*7>P735}P~dT19bWa_ zzA1f{d21WB7FyKhqE%e>~ z_P11H`7_&2rX6zkbXmplgjJ!LHN45%m+#sMg(H!UhIcI=cOQ0q)*13!Q?^9lzNJs< z_H#!Hd>=5guUfSEc(txY<;=6oejDrzc)_M?A}Xf&<+13RL#BCm{;kx#9Jc2#&{76Z LS3j3^P64T|PFpumw`w)EbA zj(I0*A1u4HOOvzFLE|YSgF;}V<4Lcg4T9YJ5)^IQ>Gi$8#eeFB`Dx~sdv7J#RomUp`QNkbw>k6glv9tE3-i9< zVXC}Ye(k6bC*J`fi@UDXp?dLO!-ZdQ3NN_VH{pjs)()wAK({e?y85}Sb4q9e0DSjN AUjP6A literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_105.png b/assets/bigbug/garbage/foreground/medium/fore_m_105.png new file mode 100644 index 0000000000000000000000000000000000000000..f68ea69d0ede9094f381220024e8f391620d9382 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gd*1#Ln`LXoqU@2hystxeYe{e zzr;6XE3q>Prg7YK{d82~{BgDgHzw5lx^; zd)e7a89&T=wYFCE;LIt3um7DkDfqqLXv@_v=cjO+PoD5@m$0?R$<5gfz1x9~WbkzL Kb6Mw<&;$TV?o%oN literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_106.png b/assets/bigbug/garbage/foreground/medium/fore_m_106.png new file mode 100644 index 0000000000000000000000000000000000000000..21403675291a3cce14828659cb519b7cf9623a70 GIT binary patch literal 248 zcmVMtVxYYy6e74eVu`g)?5@Deh20QOy|Z>!u%uC6S}1tO<& yYv|nxS|?(zYT6ycnQ+WW9KQ6Ka2Tw{P2>%sE5V^4u8`CK0000jf^bvjhZHgzvi7`PT5%JGpy4xiOCC<3ImU ya=0h&lDa79>TAoeyw(SL@A}p%DqCEi(7{t}m?5zKmh@SmMGT&oOfVMSmg3~ w1><729;pTfos?I}M-mJY&R^?^I1<3X&}_-1`1NH~8BiC4r>mdKI;Vst0P4vd>i_@% literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_110.png b/assets/bigbug/garbage/foreground/medium/fore_m_110.png new file mode 100644 index 0000000000000000000000000000000000000000..a814b43d7eb6c055d70f90ecd657835e68df06f2 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`*`6+rAr*7>PKxC_puo|*JND)7 z|2OYU_6wZ2Aw|vCWyutIPc0|cRR?acCETxCE^P5P*-?On=cHBgwC5A%h`5~on0-_| z+10>IW6_a(q22`Rdly!0+o9$C?aoS#d$0YuKHNR-s!84RTj4-PYm9)Y;_NH62WO>xy)faFU`TEA^Gn~&z206p z8re|TIcHv7!{_8V2MV~XKM1o+W^PI8ZAeWNYyP9`QqC$QZq8Zs{d&uZl$}6389ZJ6 KT-G@yGywnyNIa1M literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_112.png b/assets/bigbug/garbage/foreground/medium/fore_m_112.png new file mode 100644 index 0000000000000000000000000000000000000000..a22cc7f8cc2ed5b0e36a842151d4db7d0a3c4311 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`NuDl_Ar*7ZP6*^WpupoifA^)` z|8MTxZ;G@Uy)FO#X#E_JYD@<);T3K F0RY&ZJOKaz literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_113.png b/assets/bigbug/garbage/foreground/medium/fore_m_113.png new file mode 100644 index 0000000000000000000000000000000000000000..4a6b7f71a256ad99b132a2b6fdea5d1c50184bac GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar*7BPCCtdK!L~EH~iB- zWrN_VE{zj4PFFl0CLCmD7iVa5u?Pfiu zIOxNI=5o&iU&SNM?Hl_aK36?{Lo>C@dTB*ZB>Ar*7>20HRJDDbSVTlv5K zw#|z(bEYt=O)^nQ&ECz(z;@x>ZAaya7Mv1$EX*c0o@R?wSe9WiIrrZy;okm`D4Fff zefI>CYmx;t(sT^=<(j%h8hq%@J~x>u>ce}MyQ*5#|0UU<&7Zw`&Ai%Gv+`dtOqudx VOZ%RJr$E~oJYD@<);T3K0RXB9K#%|c literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_116.png b/assets/bigbug/garbage/foreground/medium/fore_m_116.png new file mode 100644 index 0000000000000000000000000000000000000000..0296f6c7ca8e06c184d529509502472c2cee77f1 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`hMq2tAr*6yQxXz>oOfVMSmg3~ z1><5io(YV{GE7dg&2gQP(vxzce$oa*t@#rZ7ZfWq)NL2x(y~ag1!`vSboFyt=akR{ E0K=dkjQ{`u literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_117.png b/assets/bigbug/garbage/foreground/medium/fore_m_117.png new file mode 100644 index 0000000000000000000000000000000000000000..52b308550b898746bdbc9b5153e6202c50e95bad GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`&YmugAr*6yQxXz>oOfVMSmg3~ z1!MDhhU8B?2`LM*oRlt${+E=H_$MvxoMB`jbo_=y=p+v3l`?EE8crA-EYah9$jERi X&E)Yv{~u;R;}|?${an^LB{Ts5auO%z literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_118.png b/assets/bigbug/garbage/foreground/medium/fore_m_118.png new file mode 100644 index 0000000000000000000000000000000000000000..f56d6f8f8d57e2cc5750447e19b691acca920309 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`v7RoDAr*6y6A}`B^f&ch{Lx}~ zQtE=P(q#s=GO7Ro literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_119.png b/assets/bigbug/garbage/foreground/medium/fore_m_119.png new file mode 100644 index 0000000000000000000000000000000000000000..e1487cba08d079000d3c1ded95630e92cbc7c940 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`p`I>|Ar*7(PITmAP~>4w|L*oOfVMNJ>aZ zSaOAd&5I{dX-$hC+XUGO&BwVHv+-2-^5<0@u1_yXg>UiZ}&ooxmLv zbr#s2m;DP7z;^oVrica{t%#;jpGy<=>sg?a(#5-;$xnMXDbQ1XT}uR42Pr)zncoP6 z8Y}{TLVR|+ZbE!}!uXN`5KD#%VZa7S10dWHpwG)m8dR(!W>0bZhjHMAr0m)qY*zm0 r4zNYg_W!_kC%vf8C@<+Wd?@q<2xh3tT-%gO00000NkvXXu0mjffeB;Z literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_121.png b/assets/bigbug/garbage/foreground/medium/fore_m_121.png new file mode 100644 index 0000000000000000000000000000000000000000..155f10c7e8193266cd50c7b73121be705e0ef825 GIT binary patch literal 258 zcmV+d0sa1oP)Mkmc_^!Y8_Y)ra-;vSp?&+Kr{Jw@eu4X-VB1SGeh1|~3ZpZOr^ zlSBeQKrj%YPE~;nl1f-MZIFmOtR$lf9|Htpfc*mgJpGL)_$zDd$DZJ&{G}Z-h+6qR z?16gyiB*}Dp|h(22;z}h0yHW!TExt9kr*IJAlg#BgA)*T14mS**Up*zb^rhX07*qo IM6N<$f==mZ&Hw-a literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_122.png b/assets/bigbug/garbage/foreground/medium/fore_m_122.png new file mode 100644 index 0000000000000000000000000000000000000000..cfc155bfedb8b1b07a52b882fe948bbef95b9710 GIT binary patch literal 261 zcmV+g0s8)lP)bIS_20bvBd;stEwFL2YTD4FtTo>S2ngNOeBj zn<^Ur--0)$i6o*|=3HCQQstK9v8w6fbTmS3f7c9|g}~{NF9kYCCD0`u5RXiX$kP!4 z2CGd(BXec2jes`^XGM8ZG1#vp7XoL`l*Y*2qQ~7(CsIs=5xpgSQXzH9S{mQPh;R>}EM5qWC^l{BzuO zj2WK0}Kbg`{6uN(#fcCA-g+Dzf28J#EY1;mx>1CnEq%+^kwDZ<^Zuwzx)#~Mo w#)ARx=P&v#Grxc%wPnqT(ywV^ed$|-nXf*Jkzf909ne_}p00i_>zopr0FXUXegFUf literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_125.png b/assets/bigbug/garbage/foreground/medium/fore_m_125.png new file mode 100644 index 0000000000000000000000000000000000000000..db131c63e25e05190799a2287382d31380bdb7de GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`m7Xq+Ar*6$P735Zpupk0JND(> z{~Xqne;Wn2+{{r^VOz5FsB_Te{^Dt(H51HOkM8YL;q*&Z-w<&r?G)#ov@3GLv6p{Y zPgs|?XtkxEVO7IxyR1ttKkgn8J#f4FAODS?0oQBIJQ~e<0>w^mar_@}CWTSZB=YQQ cshJJ=+w1RY{ysQo1JDr+p00i_>zopr0OEE>r~m)} literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_126.png b/assets/bigbug/garbage/foreground/medium/fore_m_126.png new file mode 100644 index 0000000000000000000000000000000000000000..8efe3382c52e3cf14544cca6f1338667d1af4b34 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q$1ZALn`KMoqU^@S&@fDJu~x{ z{z21;{O^i7ZWMHicqhoEMOHH|P+VI*yXx%wt%*tOH)W;tE9Yp$&r}dPP%J(p%0b}$ z+l6ewRySgnUcJ8A#`nOp!|u98PkQx3BaAe!?mW0aVzvD#iyKkLPT8=C{5!Lt%0qba zqlr9I=Rf`Yi{FyDaX~qgVX!6hncyEOa@Q9*e3`HCf$7+tSx=wO%k}^|kipZ{&t;uc GLK6T8p;52^ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_127.png b/assets/bigbug/garbage/foreground/medium/fore_m_127.png new file mode 100644 index 0000000000000000000000000000000000000000..5d369f44be86d2096ff2ed1b34ec0d02d7b60e6e GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr*7xP735}FyL_B8T`K9 z>~Fy2AS=n=3ej`k-s2MN&~D;7ksa;lukjOX?3rE|Ty0#*Je_mG^8?@S)ZFIH^|bJ> e{o1nGAYY)L|Nqw+KSY4eVDNPHb6Mw<&;$SrA4f6( literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_128.png b/assets/bigbug/garbage/foreground/medium/fore_m_128.png new file mode 100644 index 0000000000000000000000000000000000000000..08ff7a7a56db25b5990120c1109111ab6403f813 GIT binary patch literal 231 zcmVs{LhO8A)@9-QF7gwoei-u-%i4RV hdP#3Ns4o7+DnFaK;MrGe+aLe{002ovPDHLkV1hXUV-f%W literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_129.png b/assets/bigbug/garbage/foreground/medium/fore_m_129.png new file mode 100644 index 0000000000000000000000000000000000000000..ea0b5819e211df880fc54a97447280053b9f21df GIT binary patch literal 226 zcmV<803H8{P)k-2+2!p@$x{-EbDDR}1=nv=G*zqIf4%>i0$Oi+9Ap2Y?5Yfa3!21gBK_+l1O$^{t zz9a{GgX2E4M@C~50av(9z1cSYQCZCxovDwH<~J5vZOEF<)jAZgz$;VKRR*mZzH z*xnBD_oyR$234Ds!*}nx)ayL}EIx2RFfBawhd_}qBv`CJi}lwA9qV1@1-RQ_`iWXH c%!i8n0J-bN)ikFdYybcN07*qoM6N<$g8B1Z4*&oF literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_13.png b/assets/bigbug/garbage/foreground/medium/fore_m_13.png new file mode 100644 index 0000000000000000000000000000000000000000..fa42682956b82f90376705802da8f9bb9d3b6d4e GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`hMq2tAr*7pp4%wMpuod);P~J2 zzNy?R$~C9VYhUn2)xhlZwGW&Rn9Cco>L+|-U(f95`^t|+USHDTHBd8yr>mdKI;Vst E023i0y8r+H literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_130.png b/assets/bigbug/garbage/foreground/medium/fore_m_130.png new file mode 100644 index 0000000000000000000000000000000000000000..d672269740c1dfef4cff9744db8193ad16568db5 GIT binary patch literal 248 zcmV|G&Wz4fISp<6c*6Q`ci) z0_mq;^;q!bm`;TC7>gXkuS07U*GY7YctV8DKuO-TqPLn@*U zp>7e80@9HRkFHY{Q-nwYfJ}_MJnze^960aafz0;xGQ_v`y-UdKYN-DIZaHy4?lJRFPy4WShhwUjSN6VE706a{OS(i1vFx*@K|spb&#Ba zr}*wW2mlHRAnM#|UzvF~`?^V8x3X$;GV(XQvlc5bmHUmI$&Z4Iv&*4Y%m2r?U-UpA zNA6N7mb;MKpz&lDNkju-PAm!gE7;Ok4ICvoz&7svD-%ok41eyow=r8xYbOcFr+}T7 zz0l})=ppl+(Xf&uY?e}U94{J_xlTec49HeW6Y;6W7oMKGt&*01+ME3Wf7QK%p!?SL P00000NkvXXu0mjfbN_KW literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_132.png b/assets/bigbug/garbage/foreground/medium/fore_m_132.png new file mode 100644 index 0000000000000000000000000000000000000000..db31786b9a9200027a412479aa6e2e04df1aff9d GIT binary patch literal 252 zcmVk)(?41_u7sQQTDVoaX$d%b?RjX9Rf)Wb7*@jZ2C| zC?QQ}NC}ZZUGe$il(YtN{`V#Pb}u0bRQwgTne3_*@rb5b@Mpk%3$M+6t4qQZs|ob` z9Ux*+p=h9UNfUXWp9qhc<^}QhEv!Y26bHk0000;#)vz_B9IDesJH7tji7Rl7k9%pJ1&P9K`GEo z-sHwXFd5QW5+=cW)rvr7`}`m4JvUrh7;$m9XYh3J#O1Y1?8Ni7<185xRPyQGiYMT) zf=TSInoN@QB_@FT2BL##L|qJ?x^EMm!5^_<)mRLU-f4!o{D(AxQYeLE=z}})S9In} x%m4OueQ+r+Gs8~QpESPG$iQcqhF2RKQ9q%(pGU+~QQ`mq002ovPDHLkV1hL-kJYO!NaMfrM6VksPd89^3f6TBC=?bwUE;^E@iK$6BKU9qr)o ze=_Yl{P#i{rMH!rE`T5k3&7SUU(hWeXGN4)u&OmkE5m08 zHAbq%GeFkL`xu>p)_W>e!HNHs*8Kj-D9Y88fORHMZ^?X{TQ0cJ~K|oOgd8EGh1Qi>ftFIwYV}9RX{nWB z?SOVRz`$MYF9#+f0Jb?%hZ4!H=jYg1D%d-Cti1llS$OH-HMB{6b1TQOeG_zW2Hs|A zpO^i*c;5e=fZ=om8~D`dB8b=g7B8Z74ka8w1FPgX0NyQQ5)ez@S1~uF@(;%>G9F%^ h)-ygk;Kj;PsDJ-Lv7HUbfI0vG002ovPDHLkV1g;$c&z{c literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_136.png b/assets/bigbug/garbage/foreground/medium/fore_m_136.png new file mode 100644 index 0000000000000000000000000000000000000000..44d3a1111468bc59db1278f83e1d0973f94fb80f GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr*7xP735Zpupk0JND(> z{~Xqne@o8h;#T796o_81Qe~@#VjX*_&xBO>AcjT9LY}jv9Qh$#d|{0vuK{1-*}M0mthcA7PfTvbYWYJhl}wKPO7eP`wy8>0YN$by|_% dmaSYV=IMLy##FU+83Ucc;OXk;vd$@?2>>OdKZF1P literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_137.png b/assets/bigbug/garbage/foreground/medium/fore_m_137.png new file mode 100644 index 0000000000000000000000000000000000000000..8cedb31e36dc12ab0b0738b460f22f2100ecdd6f GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%``JOJ0Ar*7BPQ1x`K!L~EH@xci z`Dt}iHnW~mR9dLf?ki;Nxr}#r*@03fl|Ax?%ayfz{`h5We%a2GG-uM{2jO|SOr4V& zZgTFiUvfz3;QW%gRoj%m);^v)BVb`^NQOWFW8G}|txofr8uSd-vz}z!&G?|9M>>7y R`)Z)o44$rjF6*2UngCnuKBoWx literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_138.png b/assets/bigbug/garbage/foreground/medium/fore_m_138.png new file mode 100644 index 0000000000000000000000000000000000000000..bcf0841629c05bbe525ff96fe59a8db0e279f0f8 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b)GJcAr*6$2HzGupupk1JLuc| zvvna;loo`&`_S6SBFeyZf@#qfLjkMfJ8mA4So59ZqN>jAW7oa}w|_~yxxwp0;~7sY zwbc5~Pd<~B+>*5qTG?N>n);X}CvdyU8Y_Q}5V!yGL0f;b*r+dfS?aNNsg&gX{YU1M iE7<$}w{zC`%zkb1d6w|FMU_C8FnGH9xvXoOfVMNJ>aZ xSaOA->%a=e#cT@F4rN&~HgO8p?m=&u7*3yKQZVz~^B1U%!PC{xWt~$(69CFw96$g7 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_140.png b/assets/bigbug/garbage/foreground/medium/fore_m_140.png new file mode 100644 index 0000000000000000000000000000000000000000..94df1af496e664e01000f87e0a2e6e6f9b70bf6c GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^`0({Ar*7xPP)r`K!KxWeeBC` z@{KcJG>87NUOY)4P)|MqsB}(2*hiiDepbsGbd;D)p1kx?Pz(qt*vx#l=>3VcF+aH( z+KQEn3nDF#1-{ikmh@ZPYYTg=(bH>jGao*hJMjubut3uWCd~#esf`<3|6HH9Ry;HR h;I>xo1Cd9M*{_{*z^|=4Y8lWe44$rjF6*2UngGP(M}7bR literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_141.png b/assets/bigbug/garbage/foreground/medium/fore_m_141.png new file mode 100644 index 0000000000000000000000000000000000000000..13fdf84d0cb1aa8d41b1ef7c6619f2615101aad4 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`S)MMAAr*6$21oN9P~cd-JLr9V z%iPYt9>>mPF?dRK2FaQ7Ftjo6e!~6P^9?gs{DbAp`;Omzsla{6;;Xe{yCB!1wKB|+ ztKQkIbn{pte?jH^j)#%E!h{2lY}t3Qb}#qrRj)%&oatNem9@)|-!*22Q@2L#bD*sZ Mp00i_>zopr04#q!XaE2J literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_142.png b/assets/bigbug/garbage/foreground/medium/fore_m_142.png new file mode 100644 index 0000000000000000000000000000000000000000..945be56febc667f6498e4e4aa04e7f8c0b636be2 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`CPwPRAz^t-tGS_<;|}sMm2nTrpDCr?ah<)*IRalx-xxnP+_$? zn0KA)mgdavb<6%sY*&wHoGo;H-Wk{9Cs*>T^Y{I`BNt>Grn~-Jk@RzKkqf1=Cqy}p x^hNlHetBkBDX>6RAiGK5E-5VOu^ZD5hI7K(CeBn^G8O1B22WQ%mvv4FO#sBEO;Z2> literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_143.png b/assets/bigbug/garbage/foreground/medium/fore_m_143.png new file mode 100644 index 0000000000000000000000000000000000000000..8380fb942484fe5bdb1e642d7043f8566f58cf41 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`m7Xq+Ar*6$P735ZpupigJND(> z|2glH^_m{FoLOS1H6>``0?(?3SuXb{Gq^3P_n4Hh`gFLutC+|8RTaX@Mb{5`IOW2wf>kS(eyrM4zdA(vRnJ0J;bc+CnV)y;j;KDEs8nCQK`2(pYi({s cZid*MfSZ3Te^fpX06K!f)78&qol`;+0PJQ({r~^~ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_144.png b/assets/bigbug/garbage/foreground/medium/fore_m_144.png new file mode 100644 index 0000000000000000000000000000000000000000..432fd89b70ad1e576e7f07a86adb4a7d1e0c1e5c GIT binary patch literal 247 zcmV#1fmS%Hj)51i7iSUh$DdE>Z791^8iqAaM#Q0 zB)?xQQF)v_!51wa=99u#Y=8Srtls@=0V!Xib%b9oa9@=*Fi05jawXhB?kz)u+#QVb xE~Y9a0%cp5;N>Eti`m+2wGG!;dHds6{{!If#sWt=ep&zk002ovPDHLkV1j^OXJh~X literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_145.png b/assets/bigbug/garbage/foreground/medium/fore_m_145.png new file mode 100644 index 0000000000000000000000000000000000000000..42c7fef01accbfccf0b5c440985ff8d835d4d98b GIT binary patch literal 225 zcmV<703QE|P)oX^MEpcRV0s-%v{B?5M05K5gB5TA%*9eRXBJc@GH@LgZ zY25P}KpVc{lFN4!gW600000NkvXXu0mjf2X|ob literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_146.png b/assets/bigbug/garbage/foreground/medium/fore_m_146.png new file mode 100644 index 0000000000000000000000000000000000000000..d6be4b03f6026070b766a735bd8b620a8648cb23 GIT binary patch literal 258 zcmV+d0sa1oP)Btp6;mbl!KF%pHBFff;+&v z#8w&I^=s0dzx%tVYaIS}pxl{C1lwaMo=+ATe-)QK8!#jeJ+w}J09UO8aZ0FZCrS%$ zv)9t%TQF&JMpFFR*fF1YU=$1 Xpjpm#D1~Az00000NkvXXu0mjf*ot&A literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_148.png b/assets/bigbug/garbage/foreground/medium/fore_m_148.png new file mode 100644 index 0000000000000000000000000000000000000000..cfb8b2410d1937cb78b69fda0be8156ce9d6c9e3 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`<(@8%Ar*7x208K_P~dp|C+Pow zmitHa(z=6KR29_}0=(oI+U5#6h#LyXa85p_@b2?T_wXZ6b;a9OB%FDWx5u#{#ORaq zm#k0yR!#E9cCMS_>oI$t!*j>xM_IZlJCi-a<|UkZIagC5+i@;e=RQV`-B%C$Jc|2# aDSku9U7hd7?P)+KFnGH9xvXUD5Sw9ZOXddwnPQG)`82V$WT0V9B9LN{XLcAC!exowkdOvNh%F=$W(h z)5PY8j;hVo-su}zi3nG RemoOh5*0MZEw zO2Ni5Jh{yOg0l`BU{^XCx8MeAh~b0(4Z9O8Bp4V9Zn4NUCT|M?>SpkC^>bP0l+XkK Dy&502 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_150.png b/assets/bigbug/garbage/foreground/medium/fore_m_150.png new file mode 100644 index 0000000000000000000000000000000000000000..ce879b48516868f0a6e3da654c7f9c0d0aa81f06 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`HJ&bxAr*7>PLAelFyLTuUvKi= z-syaZ{gtTPqv1-Nin=;EjZ7&f=cnzl{=VgFESt%yX-S7?J)Ov*)XAb)x?VCsZZ`5ty7|HmgTe~DWM4f*jht2 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_151.png b/assets/bigbug/garbage/foreground/medium/fore_m_151.png new file mode 100644 index 0000000000000000000000000000000000000000..bde0bf4dc03d0bd51145eccd7892b65575a75ad2 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Rh}-6Ar*7x1|JkWpuln3?`FN( zuM1TI3%%rJIs}+B93&i=4O-6a6TZPv81+{FVRT{U@e{wZ4oI%J%K7+7gJBxc%*K)_$u#V{U(MNvv)A(g@+t)D>%34=6|`zWpSaGmlW))|9my}@%N>h dU%aE3JFw1`(R#A4m9FP0#gktaABq-!HtmMVgo~e}omnFS9wZkV*w(aKNM5Vzn76l0 zdcL5$#H2@EO>75}Iu>&qrZR@FTd--G_!ONbP0l+XkKsZ&C5 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_153.png b/assets/bigbug/garbage/foreground/medium/fore_m_153.png new file mode 100644 index 0000000000000000000000000000000000000000..97d11ef104068211133ac8fa93747546a889cd31 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rJgR1Ar*6$PKxDfFyLu6UjOCp ze-7*5+5pF7^Dy3)O+lN!EcfL4dth4H#ut^&HXTeHi9Z>I**#tb#pgd>yXVL6lR+QX z`ieKCGTvbnJst7qQG#9bEr!LhTJaO(li1qYEjG^I>$z>h#G3&pSsp~B*Gg}-{%}jS Y`_=BPI(|!E03E>K>FVdQ&MBb@0Cn<2i2wiq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_154.png b/assets/bigbug/garbage/foreground/medium/fore_m_154.png new file mode 100644 index 0000000000000000000000000000000000000000..b544ec179a8f00b7bd0ad645b5d81aea25737b7f GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ot`d^Ar*7xP7V}mP~dRczV6Gr zdX{q`@?McmQD+SLxOXpFpd!oveCzz<>Ma*CTkAM1B>Q4#PIOb5yg=m%)3pwkB(>cS zTH6;LesG8_Wrv}bXY8K!3{?l89ceZD6qjri$?9Df|J-`!vQ1}0|3%rc=PhnbQhDGq t*<}IKBDLC|m4VaUJXv&gcbq@UX)^P$#6r0{*MN><@O1TaS?83{1OU17O3DBL literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_155.png b/assets/bigbug/garbage/foreground/medium/fore_m_155.png new file mode 100644 index 0000000000000000000000000000000000000000..8ab621a62f380c553a29f1a5fa9d6a9e1b96b7c6 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Rh}-6Ar*7x2Hh4spupjse(K-m zi~YAgg>>I5Trk1Kg+V}I(L80jx@^8BE`O4;VrH{Sg-Tr#<(zrd^k>Cd&D&gA9Ioqh zpM733OJ4K&-F-~!If~aY&ht}@`#JwpPeO8`k!*nF(#8KG1=qNR)^2)iKI7g3ei4SE dy*kTZv+2kFGtoOfVMSmg3~ z1*3`iff*Le5|S@w@fGZNWqpg;`wZgkEG=p0M`PA4b6iHb(^cGUXd52|RwOtXbZ1iOZ+cL|nNg literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_159.png b/assets/bigbug/garbage/foreground/medium/fore_m_159.png new file mode 100644 index 0000000000000000000000000000000000000000..5e2b7c9f5cc37a2f1c6387df83ace88170db86e1 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%``JOJ0Ar*7(PV(k!P~dTyACvj6 zp5NQehiQkHf^%M!(_PN@71!Jrd08weVwb83 zRMB6x&!Z$S(>eqKb8Oh literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_16.png b/assets/bigbug/garbage/foreground/medium/fore_m_16.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_160.png b/assets/bigbug/garbage/foreground/medium/fore_m_160.png new file mode 100644 index 0000000000000000000000000000000000000000..2dc1f6dc00d91fd40b419c8fd1d59fc031bfef8b GIT binary patch literal 255 zcmV7kG85j3ndpx+^>gE zXnEhJ73A~GyT6b4cg6ZHG!og`y$+_h*uoDZs5BCtx1eL^(mX76- z5JAato>wy+DCk`+5md|ljc3b=^w+im`=3p)y`QDq1P}CI!4t@YLeBsI002ovPDHLk FV1jTaabN%d literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_161.png b/assets/bigbug/garbage/foreground/medium/fore_m_161.png new file mode 100644 index 0000000000000000000000000000000000000000..fb6f55e0a90b797eea0619c9ef7d17edc2928e71 GIT binary patch literal 280 zcmV+z0q6dSP)T9V}44%n)NO|{0W5A<kY#o41~W#+30q1W->c@Cie${LLRMJOGsefnX?Ux8(HKKL9>XM&XY-(Shgj%M9R^3 zyTpk50)9$>5|OJr$h@jEo25$kWgt)hVy)-s{!X3}o%pQ>0bAWvMC|3@G)5fQA_sge>kL1=WA19y5CgR7~W)VlpPN}2U{0D$@L zWSQkMl$88o+fzVhwTG?zQf}kx;OlDSh7eH#q|1Yp8*M@hAIzO3>Xa0)7mz!OASCqk fV?UYPr(V4PY{`=<#mbp;00000NkvXXu0mjfLRfs1 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_163.png b/assets/bigbug/garbage/foreground/medium/fore_m_163.png new file mode 100644 index 0000000000000000000000000000000000000000..55129f226384084e6ebcd0c4a7a7bd5f2e504d8d GIT binary patch literal 298 zcmV+_0oDGAP)^ASF2o%9?cKe>toe-$QJiNtN>=0=JhEs>&$(-AlXm)$8(-FCFXfmktGEEt$F5^ZgMkd=_xrd3rhw}0o0psoQtywgx!B6mew3I$ODkPw wjf|Q>jcldLM|(gD`GEY-5lW}XTs_vLjaEWZ$NrJ`YaX3thv zMdL3)Piz(nPPe%$VX`&#)IloIzKbfzD#^boFyt=akR{0DJjR_5c6? literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_166.png b/assets/bigbug/garbage/foreground/medium/fore_m_166.png new file mode 100644 index 0000000000000000000000000000000000000000..29d47a8324d427765cb7b309b4c41c3c481354da GIT binary patch literal 223 zcmV<503iQ~P)-9>Bxp9@?&czoTZY?-D2 z8H4ybp`8chvvC?OF`5n75aR&gO9RXDv{A0WKiaq!*_VmWrigg|ce6kT Zc>tdjzPb-~3AF$K002ovPDHLkV1nnrSg`;A literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_167.png b/assets/bigbug/garbage/foreground/medium/fore_m_167.png new file mode 100644 index 0000000000000000000000000000000000000000..40b305f02e8bd3d32285b5b4b184e4840cd4246e GIT binary patch literal 214 zcmV;{04e{8P)n`P}L-Bw2LGlG7&M7N#syR_BO0t3n3?g;j3(%E9RNc$%R+a zigu0!x5;rX9}~fhT@25!_}WU|#DXZt#`$LIOB??TF{qrecK*|{>1DUmKgzbv&q3jxKja2I8i>x{j3Cp02(2?XhxNL zJvqNLvx-#By&eq!2_pXAQs$;|YpM#O#0i?+x@Tv(HC&q9&^9dDd@-LiFD(&!FP%j!OJi&tWTUC-;v`?9x(nK$b-^Pbh#TINE?w2t wM;D!Q+l8o**j>END8>y~UE1ehbyC>p7nVlXxZ&=|4gdfE07*qoM6N<$g7uhY4*&oF literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_169.png b/assets/bigbug/garbage/foreground/medium/fore_m_169.png new file mode 100644 index 0000000000000000000000000000000000000000..e06b6bd56493b6cdc52fafff56945d43b7df55e5 GIT binary patch literal 243 zcmVRPCG7+=nVmEf?*}1G8y6mTzLRZPvN=dz1RcNzY1C?kh=FZrjRW9_pikl? z&Abt~)=O9=K*qHVF~b4F?M*634Z94t*0Lq9_sWWPAnk`$%5#I+SPiR`3#S4**8u?E zPPnV?oedu7bzgZWVjJ5ZIgArJQcv-BNM~HUgz#(lTjcz|TVper$3LC*le5?$%by~P tJG0H6A`A8OPxP*93g~RCZ+-Sf{{!d##}f-Po5278002ovPDHLkV1oK-Wpw}m literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_17.png b/assets/bigbug/garbage/foreground/medium/fore_m_17.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_170.png b/assets/bigbug/garbage/foreground/medium/fore_m_170.png new file mode 100644 index 0000000000000000000000000000000000000000..506402c048b9f94671ad3c3b6a546a087b4bfc5a GIT binary patch literal 263 zcmV+i0r>ujP)B|DBmRG=c&cJBV>o3Ro6LH?Zg55k=Y z)D-}U<~d9{|8v1GNUS4I3_|`Qsz_a7 zh&3<2W^tWGixOif&L&~@^M}E`n_0)b3%dKXMmKdKo#*o$+~3Y3q}Fuol6KvH;tvWO Vs64hHS$qHh002ovPDHLkV1nkUcP;<` literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_172.png b/assets/bigbug/garbage/foreground/medium/fore_m_172.png new file mode 100644 index 0000000000000000000000000000000000000000..f2a3af538ae33b5673ccc293bbaa68c5d2ab1dcd GIT binary patch literal 264 zcmV+j0r&oiP) z+YQ7Z46~}+$UAwbu#;!XeL!1Yy&h6jktPl{1|SkxgW@(1ASEQ)Iy3#fbTu6>Pcr469Qr!2k8VzVj zk?@!@HD%p9Xp`xt>m?jqAjFdA;4wQ!H3Mk|2Z20r3&f$Hq==+k1|r`QAP<59`e(Z~ zE9_*Li-b`|p@Kvwl5lF2aO&h;@zA9sIY~In2*1M^kD8KRx(a9Ov+uK%?e7JC2InJ^ z)LxyW#vk#%y9hU&62E)D7sRsMgE@ZSh?P(h7r|wGcc1z%Q}8`aP+f)($(-AC_6rE1 Ve@7PkE`tC7002ovPDHLkV1mNdaIOFV literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_175.png b/assets/bigbug/garbage/foreground/medium/fore_m_175.png new file mode 100644 index 0000000000000000000000000000000000000000..1c8c49b74796e43601b7d529b0dc503c54820b5f GIT binary patch literal 302 zcmV+}0nz@6P)Nkl-b~6~m2mK<8k@o0%bbS9SR@R=(6QUd55NY6951J07*qoM6N<$f|;p; AtN;K2 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_176.png b/assets/bigbug/garbage/foreground/medium/fore_m_176.png new file mode 100644 index 0000000000000000000000000000000000000000..8e08cd7862b028eff5915c6101a7956fa4df8486 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9iA?ZAr*6$P6`w{tiZv#edncn z|2gJp{@tL~=jy9#%%kz4p^{@i*s`y#Ee9h++sgj8sLM-oU?75~X z{Np~$0CNI58Sbnq>)+uPVDm7yxYWYCo>$nocfR_n1Z rO8Z}iTHku#d}D9(vg)t(4Asnsw_ndWdyGLF=q3hFS3j3^P6{4(j< z-~9)CzAfAmwc2eFXPbh3`5e!nYsV~i1t$3xshOX z_bG>1VU0ZTo=+bg8o6#~urp_!zR(@G_?<&fWJ2LzMqw5m)0rP)GJ@)q>h^NoSnIR7 ua`KVMU+Pj-Bwf{~UwO0sw(apd?&247rnjZFnrQ=F#o+1c=d#Wzp$PznflkZ- literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_178.png b/assets/bigbug/garbage/foreground/medium/fore_m_178.png new file mode 100644 index 0000000000000000000000000000000000000000..99ee122bbf93f324ac09e31871f9015f72e706e4 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?Vc`P6`xiP~dP`slE62 z{IhnGoE&EUIU&jJ5;L7ua0%y@+g`#i_dSvRU|1Ys!=oVkB4CO?x9RrJ7o=WfS{kd} z5c2S9u*rMR+~B_6t=0P s;$0`Sxn+h0!{%Ad3`uLZ?L4lhvgL?#R$%ZSppzIpUHx3vIVCg!0JLRJQUCw| literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_179.png b/assets/bigbug/garbage/foreground/medium/fore_m_179.png new file mode 100644 index 0000000000000000000000000000000000000000..a76ea7babce322eeda8b19a9954613945fa77ade GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J)SO(Ar*7xPKxAXQRHCF{^eEr zU%5i<`Qd3V6)#D1I!4Ozi!4!=?Yowkzp`XQ`&@@#{82C17W9ixYUgWxF3Df8ao71|GdFnkxrHYSH*S%+-*q%ZTKc!&r(M6RT2>$W^D>Xo<=`hv weT{Xy^d&<&O~1A)U-6L_Q)Qdq`6+B)_PxiwbKcC;1-gsD)78&qol`;+09oHoMF0Q* literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_18.png b/assets/bigbug/garbage/foreground/medium/fore_m_18.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_180.png b/assets/bigbug/garbage/foreground/medium/fore_m_180.png new file mode 100644 index 0000000000000000000000000000000000000000..13af32cc5f48d29aff27732c4edfa7c91ae367ce GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`lRRA2Jx0UL%bR|ggDYYc2gv%jeCSby6bn*SFrzBtheMv;Q!4iQLTn$M^ah&~*%+u6{1-oD!M< Dt3Fhc literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_181.png b/assets/bigbug/garbage/foreground/medium/fore_m_181.png new file mode 100644 index 0000000000000000000000000000000000000000..f1cffcc6e7a20a7e369af5052f061c25cf8f93b4 GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Wu7jMAr*6$P7dTdpupiQz5dI) zdY1EB{^oEyCqDA%2=vb7^m;L&?&%YO?P@ng*gj6}7FXWzWmDje=dyOXDi81In!h=g zcumc-;fnh+ja|3zopr0Ey5*Qvd(} literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_182.png b/assets/bigbug/garbage/foreground/medium/fore_m_182.png new file mode 100644 index 0000000000000000000000000000000000000000..59764e86e01d57047868253724013b7186db6f0d GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gd*1#Ln`Jhoph1+umX=u{O(J) z>sitk$vb$-Buy0KY&0x4JI)xgy^Be&HeXx@4`Cv)%6l9`)!qX z7EEc9Y&6--Ii=|2O>=K1{tfYygm2WvTw~$QUTrhE_eqA&PX_iQ>n_bG6|@IBlEKr} K&t;ucLK6To3{zbI literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_183.png b/assets/bigbug/garbage/foreground/medium/fore_m_183.png new file mode 100644 index 0000000000000000000000000000000000000000..3f883ba656e06e1860da415f8af1c96ee81a3d6b GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ZJsWUAr*6$PP)r`K!KxWf63C@ z^(^U|^g|}DI(V(+gK~ibpQmVG<95FjuGO#70?T77{;9NQUEbn3WroMX8(e>~Zkb(T z5?$4{)tz4arHCB=_;ikKU(e|)U^=ig1Bix@mz{an^LB{Ts5;j2Q6-uN;Og@~07*qo IM6N<$f*#v)4*&oF literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_185.png b/assets/bigbug/garbage/foreground/medium/fore_m_185.png new file mode 100644 index 0000000000000000000000000000000000000000..2d2e64f2a476b3bece6d0e1e804d778452e64e15 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`n>}3|Ln`Luq_cUk>oI6Y@JPk&N(^nK^+i|-uwnP)OFmFHis7ku|Sz#?6t z(L7*TO+(}5*G#J2rJjM7ukYo@Pn!J7dEt^Z2XlP6U;eWdIA!g2eNsp#OWUU_rd!r{ k?wR}7HQVtUds?IXF3~MTTfS8_0-ev`>FVdQ&MBb@0ElQ`(EtDd literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_186.png b/assets/bigbug/garbage/foreground/medium/fore_m_186.png new file mode 100644 index 0000000000000000000000000000000000000000..511cdca61b267060fa1956c2d15b7519bbd7288c GIT binary patch literal 264 zcmV+j0r&oiP){Bb9o`r-vj?Q+cl%Icpot<8uC7zPuKOyzwbr%R;QV6cx z^cP~8{z8(Pa=nrdhzh)J+q?tYRV?jC0-V6h4&HAqGY|&lHF>8rkn{z{J&Y@`&@Q3? O0000FB z1C)@p7BCAuul1f}u@bSs&eyZVBv^zuN|t2L6%fhHgBaQ8JvK766FwHnu&doej;DOR z0)7x4&#&4{HN$U~_djAe8>@QUfQ`V2%l%2gQw-q#iDzVMUkV<=tgv)uj{b>0i6Pz?`H>i*8l(j07*qoM6N<$f_>|HzyJUM literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_188.png b/assets/bigbug/garbage/foreground/medium/fore_m_188.png new file mode 100644 index 0000000000000000000000000000000000000000..e90755dd490ab4b755af7cc88011f06e198fe4f7 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4W2HJAr*7x21WB7P~dpIC+K}W z%lRXA1;sPEtb~#nqUSLr1kK#9!n-7vcR?$|s!zuo)+I!W%2%_W_;Kt;d*zue%MIo+ z{t{r+-fX#cNpjjv^}6``7n=U<@U7b9wy|{&)7EVn(`!7gt~cbkdtC0s@27{p3wa1t kRz4D{mzym2Nbw@?;@OY-BZMp00o}sj>FVdQ&MBb@0E50slK=n! literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_189.png b/assets/bigbug/garbage/foreground/medium/fore_m_189.png new file mode 100644 index 0000000000000000000000000000000000000000..52ce85eb69afc8b9241e1313a241fc9c5cfb40c2 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`wVp1HAr*7ZPC6*qpuoe@tefj! zmhJno(Sc`yg8aA=L!*T5A3af-Oku0la zb-wN5n!w7_v`A0o)b(Jenn>9TSD$SA@OF311FrY$vd_;*kmJ%Q-%yxsX?CdiLx_jx g_r#@dX3X!H*H|^7-Yc8;4A3DAp00i_>zopr04+90I{*Lx literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_19.png b/assets/bigbug/garbage/foreground/medium/fore_m_19.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_190.png b/assets/bigbug/garbage/foreground/medium/fore_m_190.png new file mode 100644 index 0000000000000000000000000000000000000000..5fc3c8b4b2e4438e9032a5bc78a35f7df5319f07 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FprVLn`L1ofOT-tjOW&pYEOh z-@Cx~TkcS9ec4PVx36>38HaYMiFJ*67i^{X}`KlT$w&DR)_tGeDDI*7UWs< zOkhoRpV>jWF8!a0lfbTxhxO-+Gy(MvTGhM%Cx6wS)2ELzVBg9o@D{6h0}7nLF5}Lj Q$N&HU07*qoM6N<$g6$Al4*&oF literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_192.png b/assets/bigbug/garbage/foreground/medium/fore_m_192.png new file mode 100644 index 0000000000000000000000000000000000000000..74a5153b4a0c352efa3ffc00cf9494eb8d369485 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ot`d^Ar*6$PP)l^M1jX8KI7%r zEq8aRePWE7sI&aqB@Poi$r{F)_By<_O|Iiqbo9#3*3fpwEI&cRYfgL5 zJ~Ml}LGj6shF!s5o=Ds3TzLKC(XZJSk&c32Ui+0Kc?V3nzp+qD;CzAUV*AB6A2ytM uelp&527^k+-~U^V(@hJb6Mw<&;$VCI#OH! literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_193.png b/assets/bigbug/garbage/foreground/medium/fore_m_193.png new file mode 100644 index 0000000000000000000000000000000000000000..98aa08ed53c1d6227517bc7f15f4561cdcbb5384 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Rh}-6Ar*6$PIBZspuoXmUYGgr zf6Km;a%*^lwysc-acR?8Ep+Nqo!ZwX_3Bb_&*`rhUYO!s{jw_CWRgSVhE2z|dmIqI zyg5!@j7(8A5T-G@yGywo9=SGtN literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_194.png b/assets/bigbug/garbage/foreground/medium/fore_m_194.png new file mode 100644 index 0000000000000000000000000000000000000000..8e695a79260624ee3312f6c3c327630f32ebc81b GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gd*1#Ln`LXogB#5qQJwN{@ts1 z`QF^~E%FN%G<2IeUjAm-_=RzT-)ZlE%l|*kWLe<;OLIwj;y;c%^AC917HM~I9?+WO z#8Ap)VRmbkHRoaB8>icPI67ipxIMMg(%s2aMN$3M`UD)L<@jzJ+o*0bs8*ZmRK zizL~blfPxvj2Iw{hPgg&ebxsLQ0G;Yk AlK=n! literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_196.png b/assets/bigbug/garbage/foreground/medium/fore_m_196.png new file mode 100644 index 0000000000000000000000000000000000000000..61e73499c658b4b331cfe69c6890db5fcc7d0ed8 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ex5FlAr*6yQxXz>oOfVMSmg3~ z1*3`iff*Le5|S@w@fGZNWq&CSalc}E@halQ#UU^3pAO*)78&qol`;+0O~_80RR91 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_197.png b/assets/bigbug/garbage/foreground/medium/fore_m_197.png new file mode 100644 index 0000000000000000000000000000000000000000..674968164d6c3fd6932c62784fe67c5d78a5dd01 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k)AG&Ar*7pPIBZrV8Fqm{`b#Hm?5Xkq4Z|KYF-2B!nYm#3QQsG5r+cKEuTeIN3-Z>6tJJ^hJefB&t~~9+=fzn-OBg&|{an^LB{Ts5bQ?AO literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_198.png b/assets/bigbug/garbage/foreground/medium/fore_m_198.png new file mode 100644 index 0000000000000000000000000000000000000000..35af37de0b2080f3fa1cc51b52f7edc865e77490 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`<(@8%Ar*7>PLAa|pup3-|E<@~ z|AJL&-wpm3gf8z9^*Xw2VJC+`(W;ekcGb)uCb%$ixFs?Vdm>{zA&%s%nwH?>;9G|{7eU4X!bklsZ3qR^!>wC!0SfOvT agJJXW#-rR<3xt7AVDNPHb6Mw<&;$S=2SCmM literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_199.png b/assets/bigbug/garbage/foreground/medium/fore_m_199.png new file mode 100644 index 0000000000000000000000000000000000000000..7e85e286f3309bb15a8748c71a417a181452ec8b GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar*7(PCCtdK!L|OKJw)6 z{sTTQ87DYh2{^KLYf8@#6+Z^gHiH);Y>BxC4>kM>V7$8Qava&A$hxi{>oaBmXn3;c5Tr!Yj4^K69Ceh}I?bIhWP~ P?Pc(E^>bP0l+XkK6*@x} literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_2.png b/assets/bigbug/garbage/foreground/medium/fore_m_2.png new file mode 100644 index 0000000000000000000000000000000000000000..540b7fc018289ab2f5796dd90a6dd4741a70a626 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`hMq2tAr*6yQxXz>oOfVMSmg3~ z1tSNu1p6J<5W|L?d>%RdfTIkX4mD0t>nhR;Y-3{Bf09{t-mb2#K+O!Eu6{1-oD!M< Da&sPv literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_20.png b/assets/bigbug/garbage/foreground/medium/fore_m_20.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_200.png b/assets/bigbug/garbage/foreground/medium/fore_m_200.png new file mode 100644 index 0000000000000000000000000000000000000000..fc4722d89133ff6698d97e480cda98539330a1c4 GIT binary patch literal 271 zcmV+q0r38bP)EIqK6J6!B?~=(k^MFi%mpqTTgx1XKABfgBanC#W>G^Ro**eQ9{FLfzi7Sz8L> zcPG?`7;=A?`}iA8Kh{og#W4GsxBWTHr+Kldl*xq59rjy;f5Fy5-941~X3ZAa6Ssmat7*TnrG5R=F4=`2|&c4inqK-<=U#y{YP)MCR3`8H)X4E-BOd_ULO!$LyF>BYTN(1PcZV7_DsqTgY0vzyCz@4i|zkGG5%qmjd zZC8~lYWvWQ&qVV>G=pRYtaU<_{;1GsM7Eg8ENR8v3i;~Ti>)7?bN~4&;GAoH(IwG#a=K+LvB<83hg+W`Z(oKE)wdutm^41>QrbR%{qc_w+LawhkOe4v`7#**PY_^G zjb@Gr0A&yn+~LVOKaUsDTF$uz%KU?1-F`A*8%ekum8#f~e4TQ2T<-2em_qMey(_3f z8+RYYC1cuCDtl`HuS!1LmWCp3-B;#y&0|d_SyU)*O7?hE3!m5(D`RWoi-J2S16f$p z$>n8l?XgvGMPvY?yC0?9{RsRdkWgk7T-rfYkQgH%W!&1U2j}m)h-SZT4I?6A#{4NU zw-2Qr%K%1X4rQMEGkTz+xWjsJC5-kx&qwCy)xy8=ll!!O0l$KtG;I{VHUIzs07*qo IM6N<$g4Qd7j{pDw literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_204.png b/assets/bigbug/garbage/foreground/medium/fore_m_204.png new file mode 100644 index 0000000000000000000000000000000000000000..7828dd1d2bc8b4ca1ce269e76dc9c9925e95bbac GIT binary patch literal 229 zcmV^P)8G(Bxm+Y>dJ57D5}J!Z)<7#;%|F#&~1BrpR6G)>&ADe{~QbF!+o0Mb7o ztvc9BE877C62(E*tNEpkUm<8tI#@YS5=c1xohq*?hSq(*Oa5ga`B(=^I_2h{wod?_ ztp@va3QLB4;v@}r`GebYPtb(Wr|v1H+mjpW5Ny`!U>1hL?}+TSCubWBtiE1J(nqD= f(r|U{dxmrYxLKe0dZ5PM00000NkvXXu0mjf2Yy_^ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_205.png b/assets/bigbug/garbage/foreground/medium/fore_m_205.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2b3d71e1322aea0c579cad9d43dc929714465a GIT binary patch literal 224 zcmV<603ZK}P)u}Sg_ww3jW5VDQ|`>s6-vS-Q!{C9OU4XQ<`H!WCI>HLZoVW0cCfjV^?gZ*Y6mfgWsZ6v0m&Gf9PUGEfs z#J1~P-_6y}$FlEVQOmBsRd@EkogQ;*1R$4`|_DB$PIZT{~jopU9*n*qnIVh)j^MjerHHBM(3T zlkD4e=|v{HO-PL(bA0)R=|CT6dj|`YS%-=ODsFdWR%Dhki_oP96s;KpXc&C>R%2vc zqzQiveRiX=7fI{W~ O00001bRNSrgL}YvO)rWha)bWC;iok2wf!Od^7kAhYEX>^nrXcP6;A0c;Ue z2fDYR9!cAf9{~vff zUxKAVD}ouxEFX#P6z@oe+NGg|gX=1-KPk?49UX}J1^4&IKlyLXjQ{`u07*qoM6N<$ Ef-=NqmjD0& literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_21.png b/assets/bigbug/garbage/foreground/medium/fore_m_21.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_210.png b/assets/bigbug/garbage/foreground/medium/fore_m_210.png new file mode 100644 index 0000000000000000000000000000000000000000..72535ba33805af9aff536864fb6094f3d0ea1d52 GIT binary patch literal 261 zcmV+g0s8)lP)qls;&WrhKPT@VGSA}Ugau%h`Zz2`2;gXohEO}2yO zCy~M_Jf=WTgfHGm>E2_Bm!e2(qK;QgaK!V;EU96|Nwi?O?LcN{_o=u|H8nAtCm7m? zEtm5=MaemKU^WFQ#~KtjjasPHDR~a;M@>-FK?{f4g`A4ts_jv#NHm00000 LNkvXXu0mjf2xM+7 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_211.png b/assets/bigbug/garbage/foreground/medium/fore_m_211.png new file mode 100644 index 0000000000000000000000000000000000000000..0ece1cbee57c404a77c033c5b0520d8802558418 GIT binary patch literal 288 zcmV+*0pI?KP)u7tznn+D=Yw~_1#;Eb$F@r*Y%>r2vI|ytLv=3k~{}5?M>_|IMwSqRg z#hL4RT-Lx&7IO7*^TkZoUU;Ik-22~Cke_}7XWYe&SS_}X*$hMJ0qNTRU8ge|?a-q@ z5wC#v{G}O{RYYUz-o`gsXNR+5MWBqw`GvuoD5EdI$IJ~bWzOJUEQIZIE2V-&<^Uj} z%*U>U@UT7u5yGXO_7);@co8+x+r}7kDMSRN6cmBCjYXOJk@((5cHrVd${Zz2W@Ydf mM&{MuHkL=y=QDjcU*#7@A(zQVtv(X~0000kY&p41>Q`w~=>BX9_!IChiBcysF;SQiPxlv7N91nF(@(07O{{B7g{Fy8er3Ie89q z%QDMI%Qu-aC?oR5c*!GVs#P1k&r08kF*)pW?zwsqYB z%pG+`2>soei$U*KIt~y-is8jXiZ;sicr*7L_0>frNbja%2Nk`5WSIM)`xm|dIp}GmlE^g;x{=2d}7nf4*X&+DXPjU}VwCh=47+Y|Du$WY6+0;0hFcQ07mU7aa2IM0F4>QE5N>Y zAZ3n0Bl!~>b%5EGZ8(>(=1zfw#WqvVyHSrE@#jXbt!x+Mz2Xj8tFfoebR@+>?a;wL z&d|Xq{8h3-?J>2~_`;rd4s|W$Bk@)Leb3v6TvP&?9H3#HzM|`dQ_2f{QSA(bl-!gI mbdhnx03Ql8fUj~M@Batg#*28AcvlJl0000iCH2e*p)ks!2xhiWPgH; zxhI>(4Vi6;08Y^@HCxLTxEV7Nsfo4(vpJb>>7SK=QpkNn@P$b-@@xK7-maN@&4#Kr zlI@aPnOUg;1=Jh72(AEA$?ON=iwJ<@x@iNaqT_;;j_APA~Rx+d0vmDPMho!-)W4=W;R-lNyHc&h~gi^ zSB!;-3?w7RSPGsczqE}te`5OlC$taDZpnS6uz+%>{s1K9nF0+^;^Y7T002ovPDHLk FV1n#}hC=`V literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_216.png b/assets/bigbug/garbage/foreground/medium/fore_m_216.png new file mode 100644 index 0000000000000000000000000000000000000000..c5d282bd3e144425fe2c0f06000e43d5e1c8cf60 GIT binary patch literal 212 zcmV;_04x8AP)7wJM zIp#o52JCrWA&1PS)3=tw58PmFv}=s;xe2^o1ZKOb(pP%2-CE-0V}1dca?j$NaiaqO O00002wcnn literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_217.png b/assets/bigbug/garbage/foreground/medium/fore_m_217.png new file mode 100644 index 0000000000000000000000000000000000000000..84a9714dc6896196db3ca1dd04c9bc5b310ded8e GIT binary patch literal 209 zcmV;?051QDP)w%-@(Uis0}m5a;6dGC<`EVx_q)d2O!|00000 LNkvXXu0mjfRdQMD literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_218.png b/assets/bigbug/garbage/foreground/medium/fore_m_218.png new file mode 100644 index 0000000000000000000000000000000000000000..8de1bcbe1b74fa8dcf7d576483c956f7cf17b008 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`i#%N%Ln`LX4RRDZqQG(boA=Ml z|E8I5ZExb`dRH>nk;TM`LBVf=o<-w@tshR`RCjAI?Puq(Y_Mzmlw~MV$iPrp?bPp` zCCshAGw6Q;@pk2iF@K3Ukdf<bP0l+XkKS6Nr= literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_219.png b/assets/bigbug/garbage/foreground/medium/fore_m_219.png new file mode 100644 index 0000000000000000000000000000000000000000..dbae42cc45af3cab6341966cf142946c6db0e4e9 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`(>z@qLn`LXofyq`M1hCdJtp(r zmhDe{?(*-l@ya;u=JbF?C%IYX1*6Q@JKyD|pW#ojxj#Wwz-TFp&Bi7Lrk!V+yizru z$a^0&b8$VUv-phPy5;h9ITgR2HAjX8ciKuFER|SODaRAS6e(@+OHcpe%_fB^~^MdL%{{?hHY8XXszU<)_EZz@vA%mx@pUXO@ GgeCx`mQkGm literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_22.png b/assets/bigbug/garbage/foreground/medium/fore_m_22.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_220.png b/assets/bigbug/garbage/foreground/medium/fore_m_220.png new file mode 100644 index 0000000000000000000000000000000000000000..1208abeb1b64740d45780108b5431ee1703d9945 GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vproLLn`LXophV`hyo7_d(^FY zm)2%0$+PguOfJ}X#Jj@%(=ASo9TN`RI?V8MH-mGB2&0xuY+~BG&3U^Hq*i-gUg^yG z()Ww?RR-fPj$1Ys8Rv3^7rnR`=z8<_W?A3upB$p56n#%(?cm`qw%=07z9HJF@6W^q zvtHj)7C2;5vXJxGopq+W4Xv(~E6S~Co#>pmtEFaMd*`3$63kCo)PlBJXa+xu13Htz M)78&qol`;+0LZCSQUCw| literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_221.png b/assets/bigbug/garbage/foreground/medium/fore_m_221.png new file mode 100644 index 0000000000000000000000000000000000000000..04da8f4160a2a378657a20467f75a65f3f1b9961 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`t)4E9Ar*7xPCm(dK!JxPJTvo` ze&ehY?2{y>DJw+A>`P-6IyGtI#meOAcN~JWHt)`ETY1L%|62ydiKq0oUcV@Q{h*q? zOPjk&!*l{#!OV@Sf3)X8ViC9-V$nS4X*vV)1<0Gq@EYCL|(~M@{ p(D@AQi5p%BY1YZi&gdy(p2U0q`;zBNR{_TdNjm@l literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_222.png b/assets/bigbug/garbage/foreground/medium/fore_m_222.png new file mode 100644 index 0000000000000000000000000000000000000000..cecf5de0d1c768e4b9511c3798bcf1a826f68b52 GIT binary patch literal 225 zcmV<703QE|P)WIl}Qi} z+TP~oVcEX=g_Q>N-q~4D>+3tOJPH?mMgr*AyDi8>s|~2bX$vN&Y?4G0%gwjd)3p=; z_A|f#_a}}10kcy+mF3r18>#97B8wDt@jyV>Rkob{9W7W`8FYfI(azlDUY+1>18!uK bEeT5pi3_EH5-!z<00000NkvXXu0mjfi#lA? literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_223.png b/assets/bigbug/garbage/foreground/medium/fore_m_223.png new file mode 100644 index 0000000000000000000000000000000000000000..2a21ad918ec7c03d4ac75a577f025acb6d83fbb7 GIT binary patch literal 220 zcmV<203-j2P)D{Tf^-S)Eutkg2k{GB6Wo8f;O{hsSZ{L2mIYm{HkT9>RerJYWt@O8E zRC@vRkWjsBgqmO+UuqE=mM4S7g$0hCe-cK17;@euKFUs#nUs2uGYzSgG4|9+Mb@vczaYp0dj90qycTy&6->d^)>i_hPgMnO-5VvZ|evG#Xt;D z&$;Gr^Q<|`rkT#M`?=A$mm8p^9 z+K$^X_4p@j)?zo8{>;l>2aozBtv|fjj|oxZq$SCTy!UWwRc38~#<+vg6Qy;s2qfahYlGc!19S&cTZGy`JI;JH}TDZcLC-cU(BJo$!USsi#51(csBp9c=itUCQ+uV1}AEFjHC%@+=FPs zRUwC;iM6l;#U6c0St?4V`JR_bze`yEKm(Skd;sDlv9+8S%j5t6002ovPDHLkV1f&m BXN>>= literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_226.png b/assets/bigbug/garbage/foreground/medium/fore_m_226.png new file mode 100644 index 0000000000000000000000000000000000000000..4d555fd9d37f2f89cf7a4f5aee69fd54beabec34 GIT binary patch literal 274 zcmV+t0qy>YP)pfvDs61^Tm-N?0+TM9P2t@geH1KgWJg7y7oIg<$Q3VA*JCs{Cj Y0KMdZKr!VYlmGw#07*qoM6N<$f-RtPs{jB1 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_227.png b/assets/bigbug/garbage/foreground/medium/fore_m_227.png new file mode 100644 index 0000000000000000000000000000000000000000..4c9034bc1d702998e2781875aa51a2c7f8b6e23c GIT binary patch literal 293 zcmV+=0owkFP)1k%6kBMyDz}n!^*o z5YeO8IywqKA#78b6gpFw3)qEm)i=VyCVFpH rnFx*fI6Dym42z{E(Wkd0Se4|LTlJi=u4C|Y^>bP0l+XkK DS=UeG literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_229.png b/assets/bigbug/garbage/foreground/medium/fore_m_229.png new file mode 100644 index 0000000000000000000000000000000000000000..354c69b2975d86c28b334b9ecb5f11843a5a1a6a GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?Vc`Sljr^i3nhkUv0s?FPi)Nv;VVsZC;e)iWH8l+ r^Y-bqA8t>wj;cI;95r=!;8OpOPiOj=r9HC;I*Gy4)z4*}Q$iB}XdO$K literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_23.png b/assets/bigbug/garbage/foreground/medium/fore_m_23.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_230.png b/assets/bigbug/garbage/foreground/medium/fore_m_230.png new file mode 100644 index 0000000000000000000000000000000000000000..248dbe626e3a36bd7b6f13f397972da50deb879e GIT binary patch literal 221 zcmV<303!d1P)FEP@{|VYFVt;{6{i-vQ1vME*sI(T zH;DlK_|5EU?QZJn1Z9O|FAEs2SIXFWg&d72HbTUd_nfd=P~vV!lwx0bjTb>=o`kid zIZ~GlKyxHZns3XBe()a`)>~3 XA8WIjV%;zD00000NkvXXu0mjf2fSLS literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_231.png b/assets/bigbug/garbage/foreground/medium/fore_m_231.png new file mode 100644 index 0000000000000000000000000000000000000000..cf56e81772e80cb1f08311c8d65b2b15ca75d66e GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`D?MEtLn`J>opf99umTTDc}8Zn z*Y;JNH4$t{3W_|NHk_I3&wrsSH;{bSBv8ujz1Tc**$T)~UV6KJV~i z=v8TSQ4o?0=4cXi&y=6sR^!IptZSAxt+GA9eSp8Z>3h~Wj%_P* z(jPz2@7^i#s(_>Jm*>H`|4R<8S6TY?>${3423y_wnG^VLCZ}J$xBP?q?PpBaidls} aY%))_cyj4LSa&(l(F~rhelF{r5}E*OOJ8CD literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_232.png b/assets/bigbug/garbage/foreground/medium/fore_m_232.png new file mode 100644 index 0000000000000000000000000000000000000000..d5554dabc31b2a90222268bd84e5e727a8a25a4c GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`U7jwEAr*7hPQ1y>tjNRazQx2g zcl#9=y8tGg?IPZ8cJtn*Gfya6b^6aDk4e87tJ&T!3+GjHb!~6>dXAZ`ob~L428Sn6 zYu-F uiw=il*FMT@@R!M2Fv0Q2@v`^5H4IC3Uz=whT)6<~Dh5wiKbLh*2~7Y_TTg}n literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_233.png b/assets/bigbug/garbage/foreground/medium/fore_m_233.png new file mode 100644 index 0000000000000000000000000000000000000000..5647713cc4edf2b5fb80e0b81f8c43c6e97f1eb1 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ot`d^Ar*7xPP)i@M1jY7ZS>2x zCAW=)zc*fKyKkY&p41;}L>DwvWW~TH92Nxct*CHWQ$G9dKNs4YVeBaj}Y;HUn_fu6K4J0|jq+?6k z6#3SV0Uvm*ad(Nb^a7qO4#2`ug}MeoZs@OBKma}0h)JN5m4twhX%dhW7ftlyKHGNW z?wxmx`3V2c}=18~^|S07*qoM6N<$f;L`Xv;Y7A literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_236.png b/assets/bigbug/garbage/foreground/medium/fore_m_236.png new file mode 100644 index 0000000000000000000000000000000000000000..3b99e6e7d4453faf3f57918ac194cc5ca8f2b48f GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`p`I>|Ar*6yQxXz>oOfVMSmg3~ z1>+X812<+^FiS|jn90|((W1LV{JLbXs>Fm~l`-ukSX4$!vu)n+rITRVM#` peB_wLkqJjKMYvs-F|q*x1IIM!tWdS-uYeXXc)I$ztaD0e0st<-FZ%!h literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_237.png b/assets/bigbug/garbage/foreground/medium/fore_m_237.png new file mode 100644 index 0000000000000000000000000000000000000000..8943a44b81cea7a099e344029be5edd9a588d194 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`$(}BbAr*7pPITmJP~c&4-@m2) z(|`LF?28_89XoVYZ3*k9%XzyP4!W!{ek7m3kSQZHiHXDIS=9Sw^Y$C*F8Aj@YwW5u$&x1@pAF?hQAxvXPQJ~1K!L+GfA^)k zD{mVG|89)>(6~`eH86xj#*y)XUh~vq;N@v@9{yP`$AWQkXG z)$R`K{>{cpk^*};In#tLIYz#8OW&og+?2@sWsw5M#ii?+q|deBQOkzG<4( z?{o8gLRQN|iN`mumI?{;M87^JalGWf5q=rYXOnYR>iDbf_59cHpy+jyW%ML_n@3!n X|0eh{xz7&(I)K5`)z4*}Q$iB};W$B? literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_24.png b/assets/bigbug/garbage/foreground/medium/fore_m_24.png new file mode 100644 index 0000000000000000000000000000000000000000..611a5bfc0606049403a48886162f96c74dfde9ad GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6yQyLon^Q17Td6^vM kS-{aFWsr4X1!IU2Q1woOiHGNLl1y s%*@PuxZaC5LBcfQN<$#?iWCNhJL{O_*Y=gf19dQXy85}Sb4q9e02+%KjQ{`u literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_26.png b/assets/bigbug/garbage/foreground/medium/fore_m_26.png new file mode 100644 index 0000000000000000000000000000000000000000..a88976d6a50d2f91669da54be6f681b6b32c6e96 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6yQxXz>oOfVMSmg3~ m1><729w~=ZW(iG01_s|+Mg`;7Yjy+GGI+ZBxvXoOfVMSmg3~ k1><729w~zko&**KUq?m-#l8DdfGQb0UHx3vIVCg!08@MxTL1t6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_28.png b/assets/bigbug/garbage/foreground/medium/fore_m_28.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_29.png b/assets/bigbug/garbage/foreground/medium/fore_m_29.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_3.png b/assets/bigbug/garbage/foreground/medium/fore_m_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a6efeb0d7525314839bace660646f677d1cf80 GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Hl8kyAr*6yQxXz>oOiHGNLl1y z%nSsFS1>Z?Fg$M9{osGY?t}-286NW3FxW0PQtA}GoOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_31.png b/assets/bigbug/garbage/foreground/medium/fore_m_31.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_32.png b/assets/bigbug/garbage/foreground/medium/fore_m_32.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_33.png b/assets/bigbug/garbage/foreground/medium/fore_m_33.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_34.png b/assets/bigbug/garbage/foreground/medium/fore_m_34.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_35.png b/assets/bigbug/garbage/foreground/medium/fore_m_35.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_36.png b/assets/bigbug/garbage/foreground/medium/fore_m_36.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_37.png b/assets/bigbug/garbage/foreground/medium/fore_m_37.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_38.png b/assets/bigbug/garbage/foreground/medium/fore_m_38.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_39.png b/assets/bigbug/garbage/foreground/medium/fore_m_39.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_4.png b/assets/bigbug/garbage/foreground/medium/fore_m_4.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_40.png b/assets/bigbug/garbage/foreground/medium/fore_m_40.png new file mode 100644 index 0000000000000000000000000000000000000000..b8bfcd275be419a793b37a9ccbcf6ed15c5bae51 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^`0({Ar*7x208K_P~dp|ZRx-N zoclUupNXYRU8r(|Wl1hq1BVdXffLq@vwlr)ZQSzk>&@)BFHYN>EiYi;J={2Prce*p zoeTYwI5t=ah%$EWnbpM9{Y{lsW0jT6fv`D|lb2|m>RZl z>|}X0+`AYPw5Jv~=)Pu{%97isv$*e3`azw0*QF#b#O}Jiqtznq$x-=W4t1ql^4l%u zFkUwO9$!$njOp5*a={BLZ+p31_E=vxgPr^MP4g{{h4~^H$B%yn2FXa@xBlpwk#UUHx3vIVCg!0ABV` A9{>OV literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_43.png b/assets/bigbug/garbage/foreground/medium/fore_m_43.png new file mode 100644 index 0000000000000000000000000000000000000000..37fc811287f8f444c984cc3b9b087edfd7136731 GIT binary patch literal 230 zcmV*_nG67&WlA-cro;*G13=iY#TcL!jO%8k?3Te* zqkUBX3I~G(#l0Nll8`D;1X)Z86anQxCrPD3EeV~r2dLscNw92sswf?%(06x01q{HE zX}ckb0l)w>Ka3-}@OCS2N6gaPgTA55f5}5q5B!ZQdYz5JSvb}852g4%GwY6jY23`_ gfY*<2fDG&6f2e@b23#;4#sB~S07*qoM6N<$f);gLB>(^b literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_44.png b/assets/bigbug/garbage/foreground/medium/fore_m_44.png new file mode 100644 index 0000000000000000000000000000000000000000..0dfcb9fa4f0e2766d3f7db6fc62d5d49192ad7ae GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`uAVNAAr*6yQxXz>oOfVMP>Nn| z*peh;A>LEM+!MI-e_>LxO;Lc2$l{938$a0~*NS>FVdQ&MBb@0KrZud;kCd literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_45.png b/assets/bigbug/garbage/foreground/medium/fore_m_45.png new file mode 100644 index 0000000000000000000000000000000000000000..5cbf8389e61728ab52d3106be01ecf7f08fd6096 GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Zk{fVAr*6yQxXz>oOfVMSmg3~ z1>+Q{gr0};(&L41)OG}ZMP}1<^4`UJIO*V;S@ndp_ek8Gl_RV==d@Pw^p-H0} aKf{3lmw7@{{#*u{$l&Sf=d#Wzp$PzI%PSoK literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_46.png b/assets/bigbug/garbage/foreground/medium/fore_m_46.png new file mode 100644 index 0000000000000000000000000000000000000000..83d6b1205936489514f02e88799a2f65639033d6 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`DV{ElAr*6uPJYYPV8G$(zxPt@ z|MboB7dOmWn>nGNeMjLR38sk21`|#mKQ^oCjZi221WBVDDY^{YT9OINS372#B6Np50H7Gi9oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_50.png b/assets/bigbug/garbage/foreground/medium/fore_m_50.png new file mode 100644 index 0000000000000000000000000000000000000000..ffc0f3602ab3510a0f3e7f7f40ae4ceaadf1a50d GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`Cap zyZ;MXO#Zt}f2ng))*;mOSzkEUbMO&6{`ox!I)TiWjU$qTQzz&*ooqUn^fC7h$e(cM) z_D#k&`L$iU!aO%&*q3{MrABMU-~iS zvBMc}EhA^A7f04fXlzq)i>q;F*7DD8;jEQda=?vCbn3UqCwM$0e;r_{FRna(LYO6P zRo!{D!v%4gS>FyE_;tL0XZL0;2Y)BuGa)NZn*QA^EwbhMd7kgbihvGe@O1TaS?83{ F1ON|IPeA|x literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_52.png b/assets/bigbug/garbage/foreground/medium/fore_m_52.png new file mode 100644 index 0000000000000000000000000000000000000000..d43ac5f92ab0cc00a8e0e5c13d063dbe01a0472a GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr*6$PCCtdK!L|uH>~P+ z|Am<^7>_g_5m`EsNkjg$#l$7^tj^qidOf;`wPXD=)(Oow-1r!*Q`49iemrs@;CyUU zljt7a7WewI9A!s+lxCWG?@($;pX&c`+l|g0(w|k*IyPFk@kt%I!LVQt_l1d7r88%3 fSsVDvJzw8F;_O1@e^1r|ox$Mg>gTe~DWM4fVS`6f literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_53.png b/assets/bigbug/garbage/foreground/medium/fore_m_53.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c7c3b7d77cad80fc92a497a3a3227cc81f5f3c GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr*6`PChAkK!L;c|B|KG z>p8Ev@O2h)b{I9YU)kT`F=?*ai7T!30yAAARx3<3`PAKAdOla-TQ8VcGHTgn*?^Y$?!@44$rj JF6*2UngAnxP*?x} literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_55.png b/assets/bigbug/garbage/foreground/medium/fore_m_55.png new file mode 100644 index 0000000000000000000000000000000000000000..10e90e6e8521112d5f60e36c40cc7a50335dbfdd GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`%RF5iLn`LLVN!~d8t-9`=gqeNcBUmTHT{&B$l$?XDs9v!DcTb#-V_39LdDGil2)ecv#+jw9@nc~aWw-_II3(bDd^1-S09P7>w z-3E!6sM?i!+oV1BZ#{f}&Fa1Prz9P7l+NXEzB=*20Y@*Ll=Z2JQl~$B{mu7#{T@c; X8{heUl_fO-UCiL=>gTe~DWM4fYaUqH literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_56.png b/assets/bigbug/garbage/foreground/medium/fore_m_56.png new file mode 100644 index 0000000000000000000000000000000000000000..64a29234de39823e3dabb0fed653147301c8ea72 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)}AhoAr*6yQxXz>oOfVMSmg3~ z1>*@eiOKm4%7;06-L@F~?iZF8R&6`Z@Q6n}cClfz;T->?87jtxj0``2nQZvIb@l|H OF$|urelF{r5}E)MVI*k) literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_57.png b/assets/bigbug/garbage/foreground/medium/fore_m_57.png new file mode 100644 index 0000000000000000000000000000000000000000..417a5d87bf1d825c52070e254e9a5286ab4b274c GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`cAhSdAr*6yQxXz>oOfVMSmg3~ z1tW7_gJILp`HhVa?VAm!s0kVy^=xQK>Ctp~Y;Yh++05|D3Pm-m-rk2f3`+be{h{`< RPk|;ec)I$ztaD0e0sy{{B~btX literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_58.png b/assets/bigbug/garbage/foreground/medium/fore_m_58.png new file mode 100644 index 0000000000000000000000000000000000000000..73c569e8e76b8bbed9260cb32be934a5589c0569 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`0iG_7Ar*6y6A}`B_zRgG6Hs2k zz;5>M{DA`><_o5AMIM;Z*l5HoAt5nC<6_T!hGdx>orW_GDGQtwj0CoOfVMNJ;<# zgJnlJI=C0y_+j5{D0Cl4t+EO831D2cP~wI}zmvs%iRF$x2I&*HXJ}lsQQ|!?>A?yK kZV{FAOTmjiCU|);Fm84`r?U9e5uou5p00i_>zopr0F8w&lK=n! literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_6.png b/assets/bigbug/garbage/foreground/medium/fore_m_6.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_60.png b/assets/bigbug/garbage/foreground/medium/fore_m_60.png new file mode 100644 index 0000000000000000000000000000000000000000..1fe754f98b2998c42d847c64966b0f414cd7f344 GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`PM$7~Ar*6yQxXz>oOfVMP+D?+gO7N-iEfb46TeoXL?RV7`QE#R7h;->@DmtHu#gCVBq%baj?gY2aWx#3`&R8 V_IWV8{0KCS!PC{xWt~$(698iTD3kyI literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_61.png b/assets/bigbug/garbage/foreground/medium/fore_m_61.png new file mode 100644 index 0000000000000000000000000000000000000000..23353e3c2e5c6e0b662a7633599202b53e2ad4b0 GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`=AJH&Ar*6yQxXz>oOfVMSmg3~ z1tW7_gJDZjii9uw6Ul_0Q-AwKr5_6%Ka!ID=lp>KALc*GU||TdRz7T!E%60t1cRrm KpUXO@geCyuge52d literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_62.png b/assets/bigbug/garbage/foreground/medium/fore_m_62.png new file mode 100644 index 0000000000000000000000000000000000000000..a0112a64d84a399b88c76f92664c40aa3fe0b4f4 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`KAtX)Ar*6yQxXz>oOfVMI3!@G zc6Y-6l*D9?vnL!%^(QbbxTkt*WrYFftPLHP6?s0mt~O*o%y9gWfDuEqgOoDMNk5lk g$94z_ajq0*$aM|d6B5g;05q4u)78&qol`;+01*u-=l}o! literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_63.png b/assets/bigbug/garbage/foreground/medium/fore_m_63.png new file mode 100644 index 0000000000000000000000000000000000000000..b486a483302948140b6e67c793e72cd27388dde2 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`o}Mm_Ar*6y6A}`BoKHCOVSZy{ zPL5CKv;RC2+oT^SJU%9&_9(39u7k}ammLj)X%8OSYJO?zC!PC{xWt~$(697zAEI|MO literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_64.png b/assets/bigbug/garbage/foreground/medium/fore_m_64.png new file mode 100644 index 0000000000000000000000000000000000000000..3170aaea1dc13dc946d1bfc41f482f3db98f10d9 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rJgR1Ar*6$21WB7P~do7w)Ecr zoZH7soaMOAEt%!8HiUs;!VU)3O>^V&9$2=xDZO~^pee+$V^RNu9~zR=)z=>R;Bne} zlJ)0VPOHv%s&Cu1KwD$~uZJ(RcE9E^t}z$gzVXuYi&2pkrp>9(j_`^-XQ Z>EngBv^M_KxBzqjgQu&X%Q~loCIBHfM`!>5 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_65.png b/assets/bigbug/garbage/foreground/medium/fore_m_65.png new file mode 100644 index 0000000000000000000000000000000000000000..bed4c040be30e845f36f598353127db12931ded8 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`C7v#hAr*7xP735ZpupjLzijEf z{~Yr=|7JW3S$3hNMdMl!!v-G@3DMU|nT2hQYLikI+Dx)!;<{#P$sc8HF6ps?p=r8< zVc(^vbGIm8KGs<={dPOsjnK&^`_$NKGdRB0?()dXQ0e-w6@GBbzH<@Vx&9rq5U~Ft Xb&_}9j0K`V`x!i4{an^LB{Ts5vF z|2c1xjkTJrd@ryp5m_T-m&rL#PG-Grp84149+EYCMD mRC?LIj$uj2(fT=#`uu8t-ir0sy{Q2@hr!d;&t;ucLK6UBIYz($ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_67.png b/assets/bigbug/garbage/foreground/medium/fore_m_67.png new file mode 100644 index 0000000000000000000000000000000000000000..89049af0501dc5b7b1ecb565241585c511f0f40f GIT binary patch literal 214 zcmV;{04e{8P)g)z5rzWST_KGg9ybric4aCQDhJqko(N%&5~kK z+qrs(8t9VDUv|buQv_m@qVPZmYf-@N8?ob(utNkx;}F@sns6I+lLG6diDTQj5-H!a z>GcR0WXFV*7{Wx7l*&Ba*(;Pm6N2WDL<)&c{(GT_oLP{V#QABAUg}o-0Fd<5H;WiE QyZ`_I07*qoM6N<$f}|l?(f|Me literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_68.png b/assets/bigbug/garbage/foreground/medium/fore_m_68.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2ba2b8c34169a9639c68bf403abd61d1511660 GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`W}YsNAr*6yQxXz>oOfVMSma{d zY{<;~_`t4&1YU!-0A>-kV=M0bcS%n6*_bHbd#vSXyQ2gHL+TwdbC(CdzXMHR@O1Ta JS?83{1OR8fBHI7} literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_69.png b/assets/bigbug/garbage/foreground/medium/fore_m_69.png new file mode 100644 index 0000000000000000000000000000000000000000..3436a6a3685eaa40b3c8d75bb336cf3b4ed7133b GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`CY~;iAr*6yQxXz>oOfVMSmg3~ z1*7wQhGdSTCk&W`CmCu@KbDx#oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_70.png b/assets/bigbug/garbage/foreground/medium/fore_m_70.png new file mode 100644 index 0000000000000000000000000000000000000000..fe3bcf4ffcd18bac457de257dfe36747fa9dc6d3 GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`zMd|QAr*6y6A}`BoIh~j!~BC1 zUX%MSvi5Lh8y(ALFud_&zu_STqq%uK=UJDuvU~nhy~MC;=YbnD7A)*B2tL8;GbKaL ikWJ$8bh#f93=HliE#VDQ{Eq<*X7F_Nb6Mw<&;$TM123}x literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_71.png b/assets/bigbug/garbage/foreground/medium/fore_m_71.png new file mode 100644 index 0000000000000000000000000000000000000000..d7053d15f6cbd16d08a13e0b656144c4d9edce39 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`(Vi}jAr*6yQxXz>oOfVMNJ;<# zgJnlJI=KHC8%Q{3BumKm_DTyc6j;A!qhVg_iJ~36>ZfK}7%HEUf5N2ZWx{XDT%cm6 t#iq20w`G#qB%8U51y`T$IBj5I$RMc_9;zUG;Rete22WQ%mvv4FO#lHUEjs`J literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_72.png b/assets/bigbug/garbage/foreground/medium/fore_m_72.png new file mode 100644 index 0000000000000000000000000000000000000000..7dec83600905d6a8d381278afcfa2495c92acaa2 GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Hl8kyAr*6yQxXz>oOfVMSmg3~ z1*7s6hGZW_H?~>JU39iB>i&DYtGBQtIcbsTBcmBAw+nV2kVxd{Y-42Lo9?`zVb8Y5 QKyw&8UHx3vIVCg!0GSvj%m4rY literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_73.png b/assets/bigbug/garbage/foreground/medium/fore_m_73.png new file mode 100644 index 0000000000000000000000000000000000000000..fb23c3266a2b8ae7e6ac62da07fa0fcc175e1838 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`_MR?|Ar*6yQxXz>oOfVMSma`y z$K2Ct-Y~IIEl#3BoTrCT<%hH+&uW7Os~IyG|H-pTFaF4xyvg)mI#35c!=vx2>aM@k RrGZ8oOfVMSmg3~ o1><5io>Jx>K_9m^#rZQCjIT2VeEGj<7Em>Vr>mdKI;Vst0Nm6W{{R30 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_77.png b/assets/bigbug/garbage/foreground/medium/fore_m_77.png new file mode 100644 index 0000000000000000000000000000000000000000..5e6a1e4b8d00ac0a485345da685011b652a5b09d GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>Ygr+Ar*6yQxXz>oOfVMSmg3~ t1><721oHzkN|+@i-6k6?V^m>NVR*pD)ckGviY-7b44$rjF6*2UngCf;8tMQ5 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_78.png b/assets/bigbug/garbage/foreground/medium/fore_m_78.png new file mode 100644 index 0000000000000000000000000000000000000000..38bd155c27d4674677e2a020968e8429416c50ec GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`mYyz-Ar*6y6A}`B^f&ch{J~n+a literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_79.png b/assets/bigbug/garbage/foreground/medium/fore_m_79.png new file mode 100644 index 0000000000000000000000000000000000000000..38fdbb7ed2cacdfc6c53a66e745c7a333edf5cba GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`cAhSdAr*6y6A}`B^mq0CPwskn z_}G&Sr-KnJy@eY%r5rpA%PJ?CCKxjGJ0&x*865Ia6gLQ5RC%Q#kU4>YAtg3x<8sY9 Q5uiy7p00i_>zopr0M1$@V*mgE literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_8.png b/assets/bigbug/garbage/foreground/medium/fore_m_8.png new file mode 100644 index 0000000000000000000000000000000000000000..70aa74eac01843a8d6efe5732036e52ebb8fe137 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nw~C>Ar*6yQxtgqJ)WF$Xz>Gk u#j`v>&~rpX=?PQUffbC4*?OcH7#S|TWtBRX|GyQeiNVv=&t;ucLK6V6;2f3! literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_80.png b/assets/bigbug/garbage/foreground/medium/fore_m_80.png new file mode 100644 index 0000000000000000000000000000000000000000..d1dfe7b70892be5486563c83ed8bc15c7c08ad56 GIT binary patch literal 222 zcmV<403rX0P)_{dF$qwuAs7K}j zT4(e5VnRw!w7tLMF+d@0k%Q&k zUsU+9!l2Tqf*b#t8~|=@1om5r!Z7Zuyjl(8g<~A+ZD;2Rlm++Qp8W_D+uD@0q4{^I YPQ>r94KSECu>b%707*qoM6N<$f|FD&7qS6yJDIY=)d|ys>Mk6D^3Ko1Q4JAS(2of>BKBA4KHeB}0Ref#* zJSB1L`7&#NaC$>>0$`Rsic-qSFn8E>I!j~4%*z#)jwX2*}sWQH;1c~V<_b~3< zc~{3UTRc!&AZb)KOTt7AdC9p4NFvbE(P9FIcX9+#q}H49=l_O?*w=RmSuA8+~$40Mp966t<3Yy$3A55 za&~y0`Z^}UsUYg~;p7!bI~Wa Q8PH}1Pgg&ebxsLQ03qoPKxDgP~d4^9scWG zJt<8 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_87.png b/assets/bigbug/garbage/foreground/medium/fore_m_87.png new file mode 100644 index 0000000000000000000000000000000000000000..263fac561fa3952bdbaff2b4c0905b7daa85d5f1 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#hxyXAr*7>P735YpuppNzijE9 z|2cQhr^sH5QuomaG07BSJ=rjKmvrKSb<@3AOY|M44$rjF6*2UngGeYLsS3& literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_88.png b/assets/bigbug/garbage/foreground/medium/fore_m_88.png new file mode 100644 index 0000000000000000000000000000000000000000..1b24f5aa227d489371682800b16ed7db9448c3de GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^F3W0Ln`LXo%CApumMN2eY)z~ zDGPTA8();)7Oc*8UAO!cbBfu*#H0l literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_89.png b/assets/bigbug/garbage/foreground/medium/fore_m_89.png new file mode 100644 index 0000000000000000000000000000000000000000..f838aad399865653e9d17b5f090d2c78cfc863ff GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vproLLn`J>ofyc+qR8Pqzk2Dt zYu1Ho-w$84Xt26{q+{WfrdAfAvwK%=z0aH`(y(dLSu4+1hC*SvfdWOf_!uNeMY&;*oon*(S^l1+B z&lk(Mm+t?-e<}V((&p#oo1L2t{%5jlT3WAr5w^hfk7B|5DSf|Ke`w7-dhL=-Akdi% Mp00i_>zopr0Aui1v;Y7A literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_9.png b/assets/bigbug/garbage/foreground/medium/fore_m_9.png new file mode 100644 index 0000000000000000000000000000000000000000..bdcdf686ebdeabfcdca89726b2e1df04f85b3f6a GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`DxNNmAr*6yQx5R`do1A2)??5l oanyoQSap^=uY_sB6$ULSpsG_$awpl-(t#`nPgg&ebxsLQ0Im=gV*mgE literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_90.png b/assets/bigbug/garbage/foreground/medium/fore_m_90.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8cb75bc162d55bb2411c010c29d50bfa9b4dad GIT binary patch literal 240 zcmVmA57)17plaWLV4)Uo_7I206&zM5tYKhA q6cQoxG&Fj!O#K(4FwYE0-{cAP7O@i2#;|5;7yw8JFb4A~KJlf9nTsVP4WI7>i;#rF zfNPNN1UqrWGDel^GEiw|f*JLy&t}rMFvYYx1ppF)`Tzg` literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_92.png b/assets/bigbug/garbage/foreground/medium/fore_m_92.png new file mode 100644 index 0000000000000000000000000000000000000000..16316618d64861b53d5d5ade3a745bf057e96edb GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`%RF5iLn`LXog651Sb@XEeCMUz z!TG0WzG=V2k#Va{(#`ci>;&haU@?J7K2oc{9^Ua=<_%Y7WTV=u*dXUGwjVz(Ee>#6 zknPi8?dvGZ+iSXrwQ0_ixTT+7$yZI|vzg*6Zg#?hV?o*%dx0aeYj4#*s=nT8+Irlz zWQ9QGfs*Uf1DTJ6bX4-C?K`n%;L&K}CKciWxvOn91ijsEgp1$BpKe_ikW X;8;<4)TloR=wb#>S3j3^P6P)qMZHA i_FKShD-(=H0^$n~#-t!G-EVjR0000Q-16&~YGdYP<24x4e3Dp_3d`#j8rD}w1x*XH;00000NkvXX Hu0mjfQ#@>a literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/medium/fore_m_95.png b/assets/bigbug/garbage/foreground/medium/fore_m_95.png new file mode 100644 index 0000000000000000000000000000000000000000..6458de3e1bfc80e15e9fcc9dccee11b61c126e18 GIT binary patch literal 272 zcmV+r0q_2aP)8nZ}p5XNfCG(_C{~O}y;2h%U?DmAOmZScR75)I@ WwU#5}yHLjf00007Fi*Ar*7hP735Zpupk$dfk_I z^=97^9~rqY&sO=nvP*ZVr_tXP+100-%J!r(_BmfGIdaG;YgoOfVMSma`y z$K2Ct-Y_xIVJ}1J%lb(h4G-5RYs}6OpVN9NgoioF`JTj7xd#ynCmC$wTsq|@{RntJ zc?Mfg;Ex$`4rQwhm+kJAJeSn5*z)|01=>Bmf>jLPxxI{yJ%vG5GkCiCxvXXqHUe@<=^Vfj!h1_Ep6on|^x&QzG literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_1.png b/assets/bigbug/garbage/foreground/soft/fore_s_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8888995c741c6f2f7e7ab69fa5b9f32aee8d368f GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`hMq2tAr*6y6BY;<7#SG+Q4h4` zN>I9Z=>H3`Nm&e=97QA@HgZ2$ClMgtBV~}qAj7~AF_Tql#b#?Jpk@Y7S3j3^P6oOfVMSmg3~ z1><5i9$99Ig)?-R6Qn+-nI-LMxXxOk`jKJBYKHF$%nJ7nub%~KW$<+Mb6Mw<&;$Tl CAs+hx literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_100.png b/assets/bigbug/garbage/foreground/soft/fore_s_100.png new file mode 100644 index 0000000000000000000000000000000000000000..f0caa98814d05f6cc7588ff37b381208f43463cc GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{+=$5Ar*6yQxXz>oOj?eXcOl7 z|1l}~PSP=fSq+R98x7AW7?~*V?3(z-pn*xv%Y@&RxyP`TEm~f literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_101.png b/assets/bigbug/garbage/foreground/soft/fore_s_101.png new file mode 100644 index 0000000000000000000000000000000000000000..4929a13b4298d1d2520072dd73268bbc5742b2fd GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)}AhoAr*6y6AaA$oj-8E!Om=% zi!t-zdN+;coC7YM&jOh>ObF2N!QK+^{+gTe~DWM4fnVB)& literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_103.png b/assets/bigbug/garbage/foreground/soft/fore_s_103.png new file mode 100644 index 0000000000000000000000000000000000000000..e59ea16ed4bd7517af728387d714d175824264b3 GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`j-D=#Ar*6yQxXz>oOfVMSma{d z%WL4axRAk(ZC4AUT=<2PtRaRB?dEMw;ukJ6&k6_96Bw_}FfjXfp5Y@~qy$4{g*fxU T|2j%Q!x%hW{an^LB{Ts5t5qa? literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_104.png b/assets/bigbug/garbage/foreground/soft/fore_s_104.png new file mode 100644 index 0000000000000000000000000000000000000000..2f065ac04a37d06c73a2c316d35f8d7b9fdaceac GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?Vc`DSCl`|$PAlQPa!ZtfG4VvfvWE#Ei4b%w0gX{+2Y_C0n+^O9l@{^y8VFZ-*O r{ddXn<)`MaTVMJ;^Iga;!TpSyHzvI{7h)>{I*Gy4)z4*}Q$iB}A1g|7 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_105.png b/assets/bigbug/garbage/foreground/soft/fore_s_105.png new file mode 100644 index 0000000000000000000000000000000000000000..214d3b9d6453a71ef356df4629bb30257112e029 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`*`6+rAr*6uP735YV8G#g|5)CX z-|`F7i{!UnSeLrym!V_VG#6Dy0~O|NL5DtMxOP1Gpd^#drlaXT;kE?JTTwn zyFF8SkzLd8js>1tUl&iy(UChXWpH4}p1I}hdnfDn^~xU86^&oN^a|Ij%n8lke_f0- zW(ZL0R5nTt^Zlujadt_Hg1`<>*F|UJm|V^@oCxladg7k@N4udq+i*97$ClQZRf?5; rg=LBr{AK#z_xrV5T5NOP@-pmVV6KYm?XoJMn;1M@{an^LB{Ts57V1en literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_107.png b/assets/bigbug/garbage/foreground/soft/fore_s_107.png new file mode 100644 index 0000000000000000000000000000000000000000..e79b5ed08517405fe437aa628cfbd413d4c653bc GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`lRaG=Ln`JhofOD-Sb@j+Zrsbe zncKh4+{C}2M^87Ww>=-c1zo?jAePQ@|Y*mV0ZEA!(T zzu)Yq78`!k*DO1z87_7x)QBs(JpRgUmD1;-a{qakGOb%Abw0os=sX5bS3j3^P6oOfVMP+DWX(?feqP1`G^y3{?)@ To-Y##G>gI0)z4*}Q$iB}#!e(| literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_109.png b/assets/bigbug/garbage/foreground/soft/fore_s_109.png new file mode 100644 index 0000000000000000000000000000000000000000..6a9f40bf5fa0d0cd4b488759d3ad9c0b049f0e1c GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Hl8kyAr*6yQxXz>oOfVMSmg3~ z1tW7-gJILj6AqV45_-bL^#0F3IOC!H6;+jFsp>{MHUTb;ngcVqE^;sw91*pAm3RI= P&>RL&S3j3^P6oOfVMSmg3~ z1><5i9yw--i8oT7a;AtIEV}3--EcN-5|1M5ANR$Q40kwLr6=pZy$jUM;OXk;vd$@? F2>`enA9er$ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_110.png b/assets/bigbug/garbage/foreground/soft/fore_s_110.png new file mode 100644 index 0000000000000000000000000000000000000000..b1181b56bbf0e16896c17498c3d241f9a7a0bfd8 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`UY;(FAr*6y6A}`B_#2tIJ)E4# zzB_W*8q51DoOfVMSma{N z%WH7#;4#L3kB=Oycp@-^!?l7ZDMjK(go4rp4#p%Vu6PT9OoqI}8r`gyVj7MvVC-<~ hi7+-(vlWG?mqd!MP)`%tGk^d9 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_113.png b/assets/bigbug/garbage/foreground/soft/fore_s_113.png new file mode 100644 index 0000000000000000000000000000000000000000..a112d5ae424614c8323a92970008744ec4639c29 GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`R-P`7Ar*6yQxXz>oOfVMNHSRF zV$IB~{8Vp&K#x?zc?PA$)4eWwI3`JnadsX$bL7B*gg^5ch4@ku8G^2hvb}vHsRT5I N!PC{xWt~$(69B-5B9;IE literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_114.png b/assets/bigbug/garbage/foreground/soft/fore_s_114.png new file mode 100644 index 0000000000000000000000000000000000000000..3084c590f2353eeab141daa74825e2c7f85b7bec GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ex5FlAr*6yQxXz>oOjSOFiT5l zkaDmxYrD`Rva_MFv9VL=Y>B}EiQZ#O84_&AGIEmdoKvtmwc%l+d@pl0!$Ox96~DN= h6oY@~6V7~)XGjk+dtha8$qQ&QgQu&X%Q~loCID`|Ee-$x literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_115.png b/assets/bigbug/garbage/foreground/soft/fore_s_115.png new file mode 100644 index 0000000000000000000000000000000000000000..a4c099e6ace7f3a3d4d040f3ea7c73c088edc550 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`o}Mm_Ar*6yQxXz>oOfVMP+DYgr+Ar*6yQxXz>oOfVMSmg3~ s1*7s6hGZW_x3-H@JeZj`w3yfd)#))cx3G690<|!By85}Sb4q9e07GUOIsgCw literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_117.png b/assets/bigbug/garbage/foreground/soft/fore_s_117.png new file mode 100644 index 0000000000000000000000000000000000000000..5c119c87737addf56e239acb0dd1c290a78aa054 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`TAnVBAr*6yQxXz>oOfVMSmg3~ w1><721yTt<`xtw84l8H|Kd5J8(`sR4(2HVje31KE2&jv})78&qol`;+0IhHvb^rhX literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_118.png b/assets/bigbug/garbage/foreground/soft/fore_s_118.png new file mode 100644 index 0000000000000000000000000000000000000000..dc93472ee2a810a541baab0817d30de2c499ca61 GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`R-P`7Ar*6yQxXz>oOfVMP>Nn| z*peh;AwD6c!LaV-e~XQVa+WM=PJ(sK8k^>Fhzl5GtZ;d}g0X^;;X{oJt9^Re6`&~$ Mp00i_>zopr0Gy{GLjV8( literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_119.png b/assets/bigbug/garbage/foreground/soft/fore_s_119.png new file mode 100644 index 0000000000000000000000000000000000000000..a293dc69425ee6452c21bf002573ca8b05d0b8c1 GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#-1*YAr*6yQxXz>oOfVMSma_{ z$R;6d_QXCcr^i`_*VyQS4NuR-3=;=-@g6CIECxXahLwwjuQufD-3Qdp;OXk;vd$@? F2>@`f9aaDU literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_12.png b/assets/bigbug/garbage/foreground/soft/fore_s_12.png new file mode 100644 index 0000000000000000000000000000000000000000..2f0de32deef16ed36c9611650271403fc9b46f9e GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>Ygr+Ar*6yQyd!p^Q17S6`Ax( tIVdxq=yF=MD`APWLm5xNSymB72B%VH*~b&zOMzM#JYD@<);T3K0RRuN7_$HX literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_120.png b/assets/bigbug/garbage/foreground/soft/fore_s_120.png new file mode 100644 index 0000000000000000000000000000000000000000..40a8bfc6f8d620b2074ba04d89cd874ccee5936b GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3p`yMLn`Jho%EWw#ek>TUO>8X zIp5T|Ho@=RE5GywFs5q;#rY|1|De81Cz7kwrOTqi+pQ;Kqu0Uc0~4LsO}eypyN|2r zN~Y3>tTOlhR^HA#H9K;*g!4tW8Sl-!oLr}Wt$wuj(ARG-nAF*QF1YkW+?Qx(Eh>JS z=cWDKB0izO|DAo0|K0n{GK@jdTPDukQ1|hPxY{=5e2*#hW(-=pPOYqC_!(XG&HPZn RE1+8$JYD@<);T3K0RRJ`R+Rt% literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_121.png b/assets/bigbug/garbage/foreground/soft/fore_s_121.png new file mode 100644 index 0000000000000000000000000000000000000000..69460fa81982031501774679cb3d115b0e901691 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr*7hPCCfjV8Fw?zN2?f za9fi4`H(n|1=}VtP5ab2r~4|K-71%W&ChZdn=qVUR{FKTD*E{q@3P+>>lxH6g4P%} zb1|M$pRg`X=YVHJ%STbAWOE*^SNpdusk49dMR-wD+k`;b23GDTYGGl)({IfF|8T;W eoL%fSSNJ5E+{JGmPyo7ufx*+&&t;ucLK6U>8AEOW literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_122.png b/assets/bigbug/garbage/foreground/soft/fore_s_122.png new file mode 100644 index 0000000000000000000000000000000000000000..aceaf6d372baaac06641ef6a7141d576c8f924c5 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b3I)gLn`Jhoph1+hystZ{Ps!Z zNg8FRe7-18vCeSFJs+gvRIq`$Q(wz}q2b#7iYt|_R_=FSy>!0_!~B3qF^|B^?toR% zkvDEcPGDg&ob%oXz&6?&DIk`W4m|3>l9St{Vuw_60hW N!PC{xWt~$(69CWBQ2GD> literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_123.png b/assets/bigbug/garbage/foreground/soft/fore_s_123.png new file mode 100644 index 0000000000000000000000000000000000000000..2dd39a064986e25e8c419f703204d05cccba897d GIT binary patch literal 250 zcmVkY&p41+&T-N-v-D0cEp+>aFQ0i~ylltxf&C3XtX_&>^H_g4}M-LkZ0N)2c_>qWBc zK+>p&(S;(Wx5tXWc2gr3;@*igeZBd9k)GocMIXfVvBnS}8z&h9EnlzC<>X2SFd9EJ(&( zf{k$Q#akR-fbS?NR?WuUw{pEum(dmP){Qgp1gB_)i!dMb!~g&Q07*qoM6N<$f{v4E AApigX literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_124.png b/assets/bigbug/garbage/foreground/soft/fore_s_124.png new file mode 100644 index 0000000000000000000000000000000000000000..a770ad3c95fe05c2eb54fb6dc4d7ebd011b83d26 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr*7ZPWBW!tiZz}z3(Y`dX<>yqt*Td&N1TYp}z^w4ffGB^9}@CiyE z$|rr@u^{ZeZ|q^>bP0l+XkKNux%F literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_125.png b/assets/bigbug/garbage/foreground/soft/fore_s_125.png new file mode 100644 index 0000000000000000000000000000000000000000..6a1cee5759bc2f65f537bb7b3ea2a713d4777ef5 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`5uPrNAr*73PTt6Sz<`5Ae@)5n z{s}YZ9LjrisB>XQQ;PtT9Ou74sVBC6ES|RwCtMPn`p}-)$Nhfw+~At4d)BFQsPM|{ tw9Aibx_jZ<-()qeL`M&$za6ZW@j<7{O?rR*-2}9Q!PC{xWt~$(696NdG?@SZ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_126.png b/assets/bigbug/garbage/foreground/soft/fore_s_126.png new file mode 100644 index 0000000000000000000000000000000000000000..202f4f9e07c1d94e4cb86d8e454947e7c174b0b4 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`DV{ElAr*7(PCm$cK!Jz3f8CS6 z?k{{^GGBBTO}f(MugoeJCNp^k8%w_P-!2_h)>DQLj@?pcJ@D|!+9NT~oZqRecB(A8 z9m+C=`R-Si`<36N>RkdXgS5l!goSz+GpGIEDSbSDFT?GrmD4Xon92g}WAJqKb6Mw< G&;$U>U^!&~ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_127.png b/assets/bigbug/garbage/foreground/soft/fore_s_127.png new file mode 100644 index 0000000000000000000000000000000000000000..57feb067ae51d441fcda454bc5fb50810564a09c GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`xt=bLAr*7>PLAd}puod&JudTI zeapO)|1zY#9&IjBu`c Q0xf3nboFyt=akR{06VQejsO4v literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_128.png b/assets/bigbug/garbage/foreground/soft/fore_s_128.png new file mode 100644 index 0000000000000000000000000000000000000000..25d998e5ea5ac75ad4479ee3414ae2878b7369fb GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`&7LlfAr*6$PCCeY*no$5edNos zO93}MjaT+>^Al8GD=fT$S6D$&s43DVK=4ZJU*>a1-6p)gRXlS=@9NdZH(WUX-}jCI zQbP0l+XkK6TC_y literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_129.png b/assets/bigbug/garbage/foreground/soft/fore_s_129.png new file mode 100644 index 0000000000000000000000000000000000000000..fda1e4233bbdc08a339b8c5567af7d3d23e59142 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#hxyXAr*6uPIBZrY{0{^T-AP- z{m;O^m-l(v?$|P6iEjsAtbo}eYoTciR^FBf;byQsus6A^M~@aVtl zy6OuJ4kvH!Oqiqp`Vo&^!YkJG%qzveG&-8yU%{*poyXD()W_iI>gTe~DWM4ffRrFt literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_130.png b/assets/bigbug/garbage/foreground/soft/fore_s_130.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb030365531f132f699aaa0dcb94a99b437dc4f GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q#@T9Ln`L1op_P=u!4ZIe5m;+ zKl6~XPd?ZAGcKu3xU_5e@;{fomnllI)v1iFvG)78&qol`;+ E0C^@*0RR91 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_131.png b/assets/bigbug/garbage/foreground/soft/fore_s_131.png new file mode 100644 index 0000000000000000000000000000000000000000..434c8607eb64edea945fa9a640852100da1aae43 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`%RF5iLn`Jho%EXbhyqWuZ}_jW zB#p99K6~XIqO11!iF3BPCs~U*URr7YC?aeFo8|8AUCaN+U2}0i* XW7u!Hv_I1o=wb#>S3j3^P6(mvuPa0p8ztf!V?Y~uI0+XTNh7!f8j4DkkD?Tl{H-8r6Nx3JzEZ3LLY;rzo5Waeb zu+L(JN)s0Q$8#73%U^w!XBFf=I>+081B>^f|JO^Irr2J15PG-sguf(by0UDZm57N_ z73;JZvEcc&IR|g6Ip$qGH%<2D&LjVrw?BR@uu%TamR7->e$TS_J&cw@sWzGSrY-_H Ol)=;0&t;ucLK6U3PEpOz zylooapUgU={D_f#*I}E8la;CJ+Q-=f3-;%5B`_#lyz0dCIU{q+-1W>t$-$>%7r*&0 z{NhXbH{Shh8F7ExI(i(A@H;d$ocY@=S?ICA)3&?XB!1B`~KIL4Rm9)VAM<|+f7!QkoY=d#Wzp$Py`jz;7F literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_134.png b/assets/bigbug/garbage/foreground/soft/fore_s_134.png new file mode 100644 index 0000000000000000000000000000000000000000..a92710c23bcfd75299eef45a47b017cea78cd8cf GIT binary patch literal 211 zcmV;^04)EBP)R(x{-IvQ0(NHt`DKKx{@o`mqy}8GBLq1M6kofA&vb;5t2ZfgEn;NUJ=-? zpnf2iX$6Xt+mG>014%oo@ly>H!honNDxcu4k^qYoZj~StGr@q&wF=w}Qg%yS@Tx06 z8EHkt)%ZU_Y32M2fO+-fsG}BqFmm3LH72&!xJ67z@c48e4tScw@BqF6TpWWadN=?8 N002ovPDHLkV1m%mRhj?* literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_135.png b/assets/bigbug/garbage/foreground/soft/fore_s_135.png new file mode 100644 index 0000000000000000000000000000000000000000..08178cc8ed1c788d535e90c397bfa3bb336efc53 GIT binary patch literal 243 zcmVx#10Fv^It3g>(dEIC^Ti-heP?6G~AEK z%*PoBgh0x1fyaGsf zH}dgTe~DWM4f D!{aoOfVMNJ;<# z1GW1MZm)JEv`96GeE9Eq=$J&3isrEii*=-W6XOn~3p4r@>KHiWm@m7+ntpQ2of(Jr eB>1$RVPSC1^I(YVSQ!H}m%-E3&t;ucLK6TSyDRbl literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_138.png b/assets/bigbug/garbage/foreground/soft/fore_s_138.png new file mode 100644 index 0000000000000000000000000000000000000000..96dfa93bb45b763b49f0b7ef672baff79835b50e GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`zMd|QAr*6yQxXz>oOfVMIHZ|; z=0HMDPEWLYNY_L&J%to&sUQ9V(vPRAM=LWjC(P>Y<&<>O)|XJee9VG(L7+*WR0G4Y g3=^@+u4G1rdff=cMSL$;0S#vGboFyt=akR{0F7lQ!~g&Q literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_139.png b/assets/bigbug/garbage/foreground/soft/fore_s_139.png new file mode 100644 index 0000000000000000000000000000000000000000..7ad3fd635a37ea6d1fdac2ac840bc99ea87b6eca GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`;hrvzAr*6yQxXz>oOfVMIHaBJ zGe`0N$E0MYPZg$;(!$9ShI$6ao(n})G_p8LBrco4{lQ&1l-Hn5SfXKzfx$5WGAr*6yQxXz>oOfVMSmg3~ m1><729w~=ZW(iG01_s|+Mg`;7Yjy+GGI+ZBxvXPWI+&FyL^B-+SrK ze~x*a;%3J*=07^*d4r)9Lx)M53~zc?Ml5mhVw%v{ b$jH!r!>nfUuk2qyBN;qh{an^LB{Ts5a-1s} literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_142.png b/assets/bigbug/garbage/foreground/soft/fore_s_142.png new file mode 100644 index 0000000000000000000000000000000000000000..01a2fe4d760bfc588e39ee6575a053c67967031d GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`@t!V@Ar*7(PITmJP~bVx760o0 z`~$N;G>K1X6wsffqZ4^ebXvoqSAi=Ut}hf@utb;n!Hd^tosXSr`#RH2`NXv^3<bP0l+XkKT%$71 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_144.png b/assets/bigbug/garbage/foreground/soft/fore_s_144.png new file mode 100644 index 0000000000000000000000000000000000000000..9ecd8827fbfea3658aed82b905fe3c449f29be6d GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`(>z@qLn`JhoqU(~umMNQ`Y`if zWl1aE9P#GM{F33x&v_@`J%bhD$s(wo+;PwJ7{T%7F(xvOW zj|b}nulOJqlRSTUxKB6Fg!%Jr^ACUfBW1v`;&#ZXogwmFjO(~c{gTe~ HDWM4f38hp3 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_145.png b/assets/bigbug/garbage/foreground/soft/fore_s_145.png new file mode 100644 index 0000000000000000000000000000000000000000..772bef544e5a52cee7bb7577c29295933668748f GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Wu7jMAr*6uPV(ksQWRkIe%$-Y z@6NZmE7KWudaU|3d{CVraOr9d*MbX7by8~s85Eu}B{=0JZ=CbnZ{ymxj0&$AL?;{% zS}1U&#?tZqr#U?*S!^m@rcN-QFkwlvn_XAQtM+rXS?|%%A@p ZWbb!Yx&(aG{sD9WgQu&X%Q~loCIEloM8g08 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_146.png b/assets/bigbug/garbage/foreground/soft/fore_s_146.png new file mode 100644 index 0000000000000000000000000000000000000000..c70e7ef1ce230dcf9a6b2023febfd2ce365b98c5 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q$1ZALn`KMo%EXbumVrZ{snm@ z)`lTvyJlXJcbFBhJL}hml*okph1(c!=21Ta{MRZHW9x%HEWNwQ~_xD&b?+(Mw2B x(3F)(?%-XW;ligN)7Z)_Fu&2@NY8&}h6@MWFT7dzO$KNYgQu&X%Q~loCIIk+F$w?x literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_149.png b/assets/bigbug/garbage/foreground/soft/fore_s_149.png new file mode 100644 index 0000000000000000000000000000000000000000..4293ff683184921ab96bc8aa8be19c3a82299de1 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`-kvUwAr*6yQxXz>oOfVMSmg3~ z1>+Q{gr0YUQa9TS&GIQLC#oYa!S^O?zRHb+8Na-)&HL4c~Pgm733w}iB`u|a@P e0}l_+e@3IVt}L&wtgZnX%i!ti=d#Wzp$Py+^Csc| literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_15.png b/assets/bigbug/garbage/foreground/soft/fore_s_15.png new file mode 100644 index 0000000000000000000000000000000000000000..6c366f7c5c2d602a4b2293fb560788f685d3ee42 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`TAnVBAr*6yQxXz>oOh5*0MZEw uO2Ni50Z9k`GnO+RW$R&kw1Tnu1Ovm`er9>`H2beWT@0SCelF{r5}E*~dK<6+ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_150.png b/assets/bigbug/garbage/foreground/soft/fore_s_150.png new file mode 100644 index 0000000000000000000000000000000000000000..5bb97124a0eba28ce74374eef58cfd8406576103 GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{+=$5Ar*6y6A}`B_-mP&nYlfC z9FXC2Kw*WA@)?mLMqxk6ci5}jJo{ycP45V)8*i5IB+{DFq+(o-rM+b&vU hF|Y_soTJ&t$`HU`HuFmE1|6W$44$rjF6*2UngCwPEE)g+ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_151.png b/assets/bigbug/garbage/foreground/soft/fore_s_151.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8e106b4b9018264d3a76774969064adb10f250 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`37#&FAr*7BPCCeYz<`5!?z)oS z=iTi8s%QpuH9c`};bk*YnJHDcl;_bGi^mMl-gR;pH~J)1=6~RJ(5TTA5N>Ar-@^Yu z`eJ6$i=J$i=WEW}_6Li+-K~+kr_k*_yePb?F;u>oiogQu&X%Q~loCIG2| BH}e1h literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_152.png b/assets/bigbug/garbage/foreground/soft/fore_s_152.png new file mode 100644 index 0000000000000000000000000000000000000000..0c63527aee2526baeaed1a12f306a96233f389f0 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`v7RoDAr*7ZPCUqaK!JyuKWx`u z_k?9%4mP_tiiIxiozgFAJ#B8ogM&{_b3d=Bx_|J=?{+>vro{`&EE;AV-21gBmv7_b ztMXYQSJLt~UW$=iYIu54mrw@7!m`y;$;TLrI<$93FK=fBTEyV#>gTe~DWM4f8!9<@ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_153.png b/assets/bigbug/garbage/foreground/soft/fore_s_153.png new file mode 100644 index 0000000000000000000000000000000000000000..5beb8e187875c38b0022086247ea2874cf1baa74 GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`uAVNAAr*6y6AaRRoIl_oX!g&) zQ?Vz2?Pf!#&{^eM49OvS-!zQe7H5k08a$VH9NI4aC*8nI?vmz2rv1*0KmVmCB>doK Y*c%zDy51(14`?8Rr>mdKI;Vst0ONTmoB#j- literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_154.png b/assets/bigbug/garbage/foreground/soft/fore_s_154.png new file mode 100644 index 0000000000000000000000000000000000000000..4729d4b7e55649c3e8a9b607d1530a66f1d5dffc GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`sh%#5Ar*73PIlxvpuod&ye{+q z|CW84ds{ADN)xr6!sQrf6lu1R@!*?D3XJCi3g;_oHe`5nHRP&R@+`1h^1ku=VVilK zMH3uZU;b)givBB}`$z5po2RJ5^xFEy7j+x<^L71u9wXE3mFX;L@LULJA%mx@pUXO@ GgeCyq5IKzi literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_155.png b/assets/bigbug/garbage/foreground/soft/fore_s_155.png new file mode 100644 index 0000000000000000000000000000000000000000..64649bbe1ee25de46a1e365cbbfbe010301c6c4c GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`QJyZ2Ar*6yQxXz>oOfVMP+D>5 z#tbKBiF1=O8S1(_4Ib#s(yZ9?NnYLT*g?0W6+8{uX2&#-pK$n`v1ArwMN(^l!~*su uhMJ8XvBF04S;P|zJNh;@C<|zoF)}zkk9dFbfkqe576wmOKbLh*2~7YG&N4ax literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_156.png b/assets/bigbug/garbage/foreground/soft/fore_s_156.png new file mode 100644 index 0000000000000000000000000000000000000000..4db03936cbd1939cfc2f562e05ce5eca2300d276 GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Hl8kyAr*6yQxXz>oOfVMSma{- zlug2U#ebFLWR}?z6EoTw|MD6f6IoQOz_*7xBcDOcUWnPl>-UPJWB(cVELZKll42_f PG>5^{)z4*}Q$iB}Ai*P{ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_157.png b/assets/bigbug/garbage/foreground/soft/fore_s_157.png new file mode 100644 index 0000000000000000000000000000000000000000..e4f7635584983b48b7b73c5e6243ff803e827831 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)}AhoAr*6yQxXz>oOfVMSmg3~ z1tW7-gQ3=Ud%v6>cfKx3$rY0(^l+{?#NAP#X6K`-ACSV}`fqs?H^Yq(oOjSOXbbpX zn3Q~|s7GXHLt|rO=Y-E3j8eN8Zi-gKG~ee=zvz32ucMpwj$zYr2DY~UJjaezJk6Bp fSj=|eI0J*kO>>c+#cS^ajb-q3^>bP0l+XkKY6C78 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_159.png b/assets/bigbug/garbage/foreground/soft/fore_s_159.png new file mode 100644 index 0000000000000000000000000000000000000000..66d63e6e2fe596e1e5a64c3500ac9fd486568ab5 GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`uAVNAAr*6yQxXz>oOfVMSma_{ z$R;6d_QXCcr^i`F`0+%Ov>)dWB>0>#P|7`&%W+fczp;VApY)cQPI?QRP5Pt^Sa=v1 Y?Cv^S1%FOD4m6O#)78&qol`;+0FGHFC;$Ke literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_16.png b/assets/bigbug/garbage/foreground/soft/fore_s_16.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_160.png b/assets/bigbug/garbage/foreground/soft/fore_s_160.png new file mode 100644 index 0000000000000000000000000000000000000000..bccd8b067a4466d2dd3f9a2d39a8d9a2dcf62b98 GIT binary patch literal 226 zcmV<803H8{P)2@kJ)t#7$_X7k}G?;fuW2x7pTnc|;n-$&3DS-sX7kVD!ybm+7I~hvI zt>vv|mXWgDOFrIuB|n9{h}3hxeN|wL(B6!Fu&(1UBfqj<5LSsYL#D_7Yv!5e9;{6u z;6A|y#l#rPm}ex?o(2^lof!ejhBd<2z7K22y}9AEeP(?Fb$|0DzHQ-DpkhvVn?frB cPa?JU1E@%#wV;KGqyPW_07*qoM6N<$g68gCApigX literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_161.png b/assets/bigbug/garbage/foreground/soft/fore_s_161.png new file mode 100644 index 0000000000000000000000000000000000000000..48516fee8896d0d6ba38a8bdb775d01be8905205 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`lRRANIqi_N_)zmwDjJNYQ9f}x33&IFQw;bWzl{{ zX|?XfzNJ03YhT19S#<_3yYWZ>2-|TMbpRr=m z!^nd!qNfw?_)tK60rCigr>mdKI;Vst0AK}I>i_@% literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_163.png b/assets/bigbug/garbage/foreground/soft/fore_s_163.png new file mode 100644 index 0000000000000000000000000000000000000000..0bdae22569189f5b1f7846ac967ecae2fd379dae GIT binary patch literal 257 zcmV+c0sj7pP)Lpks8osTK6yI zO9e6^KxVizRIJn_b{kYs6V1RuE=C(pNOt+?2kM0s2buwyeA~HJeva%9$2I*E$4Qo4fY*Tsf8Lb|+(NL?eCZ3-RVhuuB+5Sg4wp&q!}3MXS*HjbHkjPWP+1{!{YuZXBY7+fSQ-z=C|H@kcHUB>mZ)*odVkiZ z;wA0ZI1eQ1yjpi{@2kw2bzgiV(;04_OUgZ~U{&%z$Sh#X ndb#7TZu}PWzxn@f$JH>n8>K7!UT1I;=o|)5S3j3^P6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_165.png b/assets/bigbug/garbage/foreground/soft/fore_s_165.png new file mode 100644 index 0000000000000000000000000000000000000000..88a6213d935f506e5958a0dced2430e7d470d4e1 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`37#&FAr*6uPIlyKFyLW1UYGgr zKg)d)eJ5?Dt6wiTD5%V~%`sciDw1-utZ}Zzw#k}(-_k1$8~6TM_wQ@g!%fCb)&(;x z&&fID{|YKmpJll*d*;o;wZfrNR_=ZgkHXnrF>KeWGA<06kq@+s!PC{xWt~$(69Db6 BH|PKW literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_166.png b/assets/bigbug/garbage/foreground/soft/fore_s_166.png new file mode 100644 index 0000000000000000000000000000000000000000..a89361cdae976a49520f601665c06030916dac70 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`xt=bLAr*7(PWI+&P~c&mAD8*= zNv>^htVW$j=D{PqD!dCXcph$0xmoZb;&(fP@RA8D1McPKxGhRp4QD-){0d zo+lTROBw^JX4r`>_k_{^q=~*HH^t(5NKd#d$U)_T`Ix z$sUuhEx5blR)L{V%Fbt{6?!3gS0DV`Ex!M#($xcrdTY4;u=S|KFELQI+?}vBwQ`enMwtKr literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_168.png b/assets/bigbug/garbage/foreground/soft/fore_s_168.png new file mode 100644 index 0000000000000000000000000000000000000000..520fc27dbbfe7fcc2d22451eb3dd8fcb606af7b5 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ot`d^Ar*6$P735>R^(t^zRbL; z{E^=`zd0xCR-9bMeQcddhf<%N(wwNZCdRio7pLlNwoo^{YW2O?foq+t(Y24hyW>*W z4)pxLwVVC8{XY(df~%WzR_LtYo~-#KF1qIPQzJ$%l{dTI?Yut2W?NCw4rZ1Yi*%>$ tWH_VdH{riSn8VjZ6OYWrhw6=r;`I%B_9@Hdm;fEc;OXk;vd$@?2>`y6N~r(< literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_169.png b/assets/bigbug/garbage/foreground/soft/fore_s_169.png new file mode 100644 index 0000000000000000000000000000000000000000..17de30b09db8d0c71da20d54919a544a3a122a61 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b)GJcAr*6uP7dU1G2n5TzsY=- z^;18&taBpvhpvg1v_3oRFiXIyUo&^1qRWUJtio=E`%6e7a7S$163J h{^?>%{q@J;9n+4q(=RSq*#TX`;OXk;vd$@?2>^%gM-u=5 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_17.png b/assets/bigbug/garbage/foreground/soft/fore_s_17.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_170.png b/assets/bigbug/garbage/foreground/soft/fore_s_170.png new file mode 100644 index 0000000000000000000000000000000000000000..43d940c2dd917c2d41163c225ae1a5e35885055f GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b3I)gLn`L1o%ouUS&^sNepTL+ zxtoG-Xc{lIUtqP0sl3*u$>Uf=8Pfz0&KUcuGS%!!e2?6glstI7%QukmQtHIdduB_X zmAxR#(K2gh>*AFSKDMn}EjIdXDR;P#dtrSxQ($t_)s+Y2ul+ct7}MzJ|4rfdK@ Ol)=;0&t;ucLK6V$XjWPP literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_171.png b/assets/bigbug/garbage/foreground/soft/fore_s_171.png new file mode 100644 index 0000000000000000000000000000000000000000..5f15febc248c5eaa0744609af770616a1a4106a8 GIT binary patch literal 233 zcmV5yBPX`p_@f)V#LkhIiZ(LkmqJB}#RaP*A^qr%HBv(qG*9j93D*E(%T64~=qq4bd? zE&E6~Un3wh03rfe+KM1vm6CGjL~h^j&`F}!Ltaa`zTd5xc|&S)-^3mtLH1Sv+(G65 j)Tn)OdhEXSW~u2LukW1h<;^J600000NkvXXu0mjfvIA#; literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_172.png b/assets/bigbug/garbage/foreground/soft/fore_s_172.png new file mode 100644 index 0000000000000000000000000000000000000000..22afadb40dc74d59fc3b576499b3048df0b489ae GIT binary patch literal 220 zcmV<203-j2P)mo9IgyVQ z^wY2Eo0E~Yi#!8rrPd=H{*s%I@;akdBlx`*qSQPxXy3rkF}O^iaO1EZD(GD*wB5cCS*K6v32`O$rBI?cehI`I{ZTv(&|p x|9snYeov&WRIXoIhj*H-&z6 zOlQ%``ZCX6^@WHQlZXLl;60~`hUAFOpr-9>j#?~}|6wujs-W2si2MZ6zYd2*#__(FrF3;O~PP6J<1>3})qs&Ru^UOE=@2>;8j=|H_&t;ucLK6U2 C%}*2n literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_175.png b/assets/bigbug/garbage/foreground/soft/fore_s_175.png new file mode 100644 index 0000000000000000000000000000000000000000..f1d397267ef59ad1794c5fa566fa2df02f52941c GIT binary patch literal 250 zcmVy)cZ&aPIBaHP~c$^-)B<) zY5Sg)avXuq7u_!SR^6PG_QK55$XDZjS>=a`m$tJg&pja~*z-?H&Onn}eBS$6AG`E7 zzFisfcK-VYyLGHATORJ&)!wrr!$a$@g3O!6k@7RPNpU_%xBap~Ht>#p;g5#)GeBDz NJYD@<);T3K0RUGaKBWKv literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_177.png b/assets/bigbug/garbage/foreground/soft/fore_s_177.png new file mode 100644 index 0000000000000000000000000000000000000000..2d39c3d1bab4bcf7d1603080b37e55994864706b GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ah@)YAr*73PIBZrV8FqmUYGg* zf6JbeaXMR^IA+CZb#U$yHsm{CX~67Id*H{i=KoArSeGoUJ~=gM;fGqc@3!h;O{sao zJ4#)xeI3?(TJ!hNVICIWy(&F7>un9xnUCmSuFrH|@L<{}piK;(u6{1-oD!M7Fi*Ar*7pP7dTcV8G$LIrin< z{~Wf#-viCBEwW($9qrJvFv_F4!RPTItS*)*0K+oiy1W`B*<8;pD}gTKBI%oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_180.png b/assets/bigbug/garbage/foreground/soft/fore_s_180.png new file mode 100644 index 0000000000000000000000000000000000000000..404f1449d3b6686a3b09542b0bdab99280dc7a74 GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Wu7jMAr*7hP7dTdpupjLzijEf z{~U8VYggQixzG_UEELQe(8XZK(`)J3_e4EXLLpIt=^3ZagAn~SbJK;|E`_Kx$WOg< zOxN+Z=cCN^$5*{u&-v=Zy_h0?rTFx<>&~hzG=KL0Rl@yKB}d=Y7B0+v__(=*!&31G Z>#A$(QgxT9^Z{MK;OXk;vd$@?2>@BM-AI5X=&~+0ZF;*7+_&GRx#GD-QP*F>w_x6--WH*6{Q=cFf?sLS+|A ogGk2{)#Hg1g?dkN+ek1lTzlj`-~FH8XQ25Ep00i_>zopr07`{1jsO4v literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_182.png b/assets/bigbug/garbage/foreground/soft/fore_s_182.png new file mode 100644 index 0000000000000000000000000000000000000000..51f75bb098cc39f4da937cea872e4151c5622342 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`g`O^sAr*7(P7dU1P!M1}zRsll z)wa1O?WQPY8~4-+xqLYIZq56d4QCz%Efm{v@7SzajdSh^F!&hW|E% zH5{TG)(mftWL&zuT5yM8qRRU}ECKhM9se^jzdO!nm9;qlXcL2{tDnm{r-UW|P2Vk)(?421U>JNkNxHDOQGl>31w9LV79% literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_185.png b/assets/bigbug/garbage/foreground/soft/fore_s_185.png new file mode 100644 index 0000000000000000000000000000000000000000..1fb149e2e9196105fb961945c66f8e6a8c780d11 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`m7Xq+Ar*6uPP)i>*no$1{X*%x zez!F5dK#~k@AY0_A@FlCTkVZ!vXd+tjC3A^y|rd#2&$4dQ0RYr$?mq-jSkZTLF{e} zAKtJjGOo8a_)~fMOuj@BpMgp-Q{`O6GqyWKeEREGiq2$+*6RPYzLVqjjTC+T`Ko5m b*dNsZe=m-W+S3j3^P6UGeP7$Qe-zAL~S{9m7=St(y?HCijtRInbR9 Mp00i_>zopr0Axo}&;S4c literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_187.png b/assets/bigbug/garbage/foreground/soft/fore_s_187.png new file mode 100644 index 0000000000000000000000000000000000000000..13d447cfbafcd94b11e7f0a97ea25986c54b5073 GIT binary patch literal 235 zcmVcG(x^#k)Q98`jCL8r-hkpC>pndd)E^B5@>c>y#E|4g zVH{~5rv{nZO1r$hH0L}t_Rj17(S!7EPN*znuxasM!S`)63!FK{W?Yy1^H!RBx%QDOwo48Cvy%;axBg*J(2DBnNRYh*w2;Bm)z4*} HQ$iB}hQ2!U literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_189.png b/assets/bigbug/garbage/foreground/soft/fore_s_189.png new file mode 100644 index 0000000000000000000000000000000000000000..220ebb250bd34566c7f498e60e0448716f6c2216 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`;hrvzAr*6yQxXz>oOfVMSmg3~ z1tSj+&#@;`2|l{w4@?h8^ty@JcWZr-S2sJRp8n_ljTsN^l|uyERvxK-sAEm8#NC0|Lr^lw1UCY)z4*}Q$iB}>clVB literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_19.png b/assets/bigbug/garbage/foreground/soft/fore_s_19.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_190.png b/assets/bigbug/garbage/foreground/soft/fore_s_190.png new file mode 100644 index 0000000000000000000000000000000000000000..9c53ce434d4eca54b0ed2487b725078fe5a7af14 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`iJmTwAr*7pP7LH~FyL{XAE)`< z{?IuSdoAasy*?k$AD9++sb>pA?Kh9E@&ZK>*$`>Xiksa18<&Nioq6Z^)T=Xkk|VY{ z$}ukJJ)LG`Y+<%FBusiv-S;0Ez55*<#PvQ@aZ3wt^EUe-6r2XMjKR~@&t;ucLK6TU C{5PQh literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_191.png b/assets/bigbug/garbage/foreground/soft/fore_s_191.png new file mode 100644 index 0000000000000000000000000000000000000000..6915322e19d7c531aa5c96ef61e8402be14cf731 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr*6$PCCtdK!L~EH~iB- zWdq^84H>iRJ4FPQ1%`KtZ6{eyMco ze?gF8F@5>4noL)78_NnOCiNvUbjr>nRZyM;x{Q P?Pc(E^>bP0l+XkKO9?<^ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_193.png b/assets/bigbug/garbage/foreground/soft/fore_s_193.png new file mode 100644 index 0000000000000000000000000000000000000000..548d1b18452b20417fbf3e979f088c49bb986c3d GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`o}Mm_Ar*6y6AaA$oj-8EfivyL z`2?SRj6DXyCs=)^WXQc@lTeniP{=2 d{RIX*3?&oG7_X`?ISw?G!PC{xWt~$(69AE-DQ*A& literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_194.png b/assets/bigbug/garbage/foreground/soft/fore_s_194.png new file mode 100644 index 0000000000000000000000000000000000000000..f9a7d756c1d0ab783ac6d8c3db3ebed75567bbaf GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`xt=bLAr*73PIBZrV8Fqm{`b|?P zMb>7Fi*Ar*6$20QW{P~ceoJLvy^ zGn?Gb2uBIdMh#unQw#||68$T@8&bTIF1>tokeRil(6^Y?i*@Czq)z!4HeD}f%*|z~ z40I}Z9IpJuqwB!m`jB0x#WVW?f)+Hg9XNLS($)&;y`8Z$j{MlZJ;aoAJJ3o7Pgg&e IbxsLQ06E?~Pyhe` literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_196.png b/assets/bigbug/garbage/foreground/soft/fore_s_196.png new file mode 100644 index 0000000000000000000000000000000000000000..6398467713c1707f3d225d04ecf761b3b5db5cb0 GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`uAVNAAr*6yQxXz>oOfVMSma`y z$|ezflC_7&*_`Ku(E*9zj=sc(qh%65{7uY`iAeWc>^Q!D2ZP^#!6O2;EzDfoXMC(@ YSY&4=a_fqZGtfW=Pgg&ebxsLQ0E%ZQ0{{R3 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_197.png b/assets/bigbug/garbage/foreground/soft/fore_s_197.png new file mode 100644 index 0000000000000000000000000000000000000000..3e5289a81d27cd1551963e5f6c4f176ac92c0e30 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?w&4=Ar*6yQxXz>oOfVMSmg3~ z1tW7-gQ3=U`>>oIx5vjSL>^ww@#$f7Nlb40&%<*pMfw0oG26}tsf!st5u$Mpfec1} a*co_^1%Hw9x-JPclEKr}&t;ucLK6TjI4GY0 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_198.png b/assets/bigbug/garbage/foreground/soft/fore_s_198.png new file mode 100644 index 0000000000000000000000000000000000000000..fb1c9e31bfb3069837e6234f012b1c8b0e684dc7 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`fu1goAr*6yQxXz>oOjSOXbbpX zn3P;obnL&Rgv3ANpeIahY;0;y=aktVl&J~E9em3q68@l^uP*vx=A@X0oX?SW)+xLx jw@Gw3oFQY{PzN+w?19_d1Qo4rpy3Rju6{1-oD!MoOfVMP+D<*mxz{D7CaL7kd hT)@v`G24ZEK(mWW%$)75cLGgj@O1TaS?83{1OREWDy0Ab literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_2.png b/assets/bigbug/garbage/foreground/soft/fore_s_2.png new file mode 100644 index 0000000000000000000000000000000000000000..88d533a236987877d0da4cd6969717c2a90c7116 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`_MR?|Ar*6yQyd!p^Q17S6`Ax( zHQZ&`l+>_FPlAojKxpAK!P!Icyi*L1q^?}nN<%x Sy5|Noiow&>&t;ucLK6UBk0k&A literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_20.png b/assets/bigbug/garbage/foreground/soft/fore_s_20.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_200.png b/assets/bigbug/garbage/foreground/soft/fore_s_200.png new file mode 100644 index 0000000000000000000000000000000000000000..d4dd866bafc73d2f7fcd82a4dcb7c4f7743d5c94 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3p`yMLn`JhofOS?RDr|AfA`Xx z!s|NUb($91uj#Fwd9O^VQ^{C?N!~El^6p8&l~c0i-aYa1Q#f0D`+dzalkXvW@2A$L z6!|YH`xn1p`_75X^0vRl)=C~;)@xwTJ4M>4T3;abXG9}s$v6Li*%4ePWCdB67Oh)) zTF3E7E$h^<<|AHV)4w^~+c4iQTlgCP=@a+(1>4{6=aUFssLoWb6r}WtU7lmwk?cF~ ROn`1>@O1TaS?83{1OOg?Q^x=R literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_201.png b/assets/bigbug/garbage/foreground/soft/fore_s_201.png new file mode 100644 index 0000000000000000000000000000000000000000..a416fec76c646e83079b3defe08f8deb975d06d5 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`U7jwEAr*7hP735Ztia=ZH_QCf z+!r&?%$#MMDjythy~*oZ&bmT1-#%_j+{w^T*>Huua$8^U`pxf@|FRfx z7#`KW9H9~+V`0b`>UWNfNxtJQqesM6eGbPfQHS@ObS%4^runz}ZB`LS>%uSthwxyi+gu-d`_PD-3iMgQu&X%Q~loCIHbsNzwoS literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_202.png b/assets/bigbug/garbage/foreground/soft/fore_s_202.png new file mode 100644 index 0000000000000000000000000000000000000000..ac21654a4c07a2202831b7066ddc2d7ff5b0c165 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`i#=T&Ln`LXogBz_M1jL){_MRM z?|7bfIUjQF%HIu3GQ(#@2{m!`@F>Y_vJGp!>c*z9T5v)`N&HR*pVR3j8mkq2n|ZxM z_b&f*_CkuNi~vUg%e!Q*wDf>oeH+8QY4e1)Gw;*U^a!X} zs@a-Z8Q^+iHJ8^WyZlF%vfY9Q81vtXu;*N@Iup;jHn8uZq#E;-h5511?XU2236|(P Td{EsDbS{IZtDnm{r-UW|UZ7H6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_203.png b/assets/bigbug/garbage/foreground/soft/fore_s_203.png new file mode 100644 index 0000000000000000000000000000000000000000..212a8c21872f145fa77abc52731ccaa51c45a783 GIT binary patch literal 266 zcmV+l0rmcgP)QRZe-4sp2<5CIa7IPH`osy!ct!n*|MEZK;?f-x6xJ+$Z@GsPoGqQs)+M_ zcYf+XAtWIOnYp?M`a3-?O!fqnW8}g^XLfB(!WfcN=WB`ekqtr+E+1>TiJ^gn30x?UH7~qqX Q-2eap07*qoM6N<$g1Fjog8%>k literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_204.png b/assets/bigbug/garbage/foreground/soft/fore_s_204.png new file mode 100644 index 0000000000000000000000000000000000000000..877b442041782bb268a95adc2dc7fc81628dabf0 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FprVLn`L1o%EXbumTU8exUiT zxke%7NowEO6@59LT&7Fi*Ar*6uPIlyKFyLW1UX%In zN&fF;RVy+ygAC<%1u%J9wWl=i7F{`^nvr4B)v`&Ky6oqRGoN8<)$)v=b0M!`^+=I|l#& literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_206.png b/assets/bigbug/garbage/foreground/soft/fore_s_206.png new file mode 100644 index 0000000000000000000000000000000000000000..d4c53611e6b0f8b6409b1aaaeb2e8c6f8d01411a GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Wu7jMAr*7(P735}P~d1=sa;$C zYTKNZaw^l6rsVEDax9?kK)i!X%KR`XYrdpp_DM>t(PutJU0W!AnZ4-z1Dz$tJXwoU zwKW&-IlaaAwQ1UeIR1YIDG$40Hj5r>mdKI;Vst0JYmbZvX%Q literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_207.png b/assets/bigbug/garbage/foreground/soft/fore_s_207.png new file mode 100644 index 0000000000000000000000000000000000000000..fe66ca055662da69c71d69070d3a24963a0ee36b GIT binary patch literal 190 zcmV;v073tWP)^y~xiQ$};{kD#RQ2QR(Io|mb&_fc&}{7cE+zq>gQn3y z;n29*DXM}-L$eLP0FkSeVg^nLaQa=$KuM=SGQlxfvJ$o(E|R3->3Gzk*OTU}&-zmf s&Mej~-1Oe3@HZ?+0DUTn)7=J`6NSI9lKA(x{Qv*}07*qoM6N<$f(;o`E&u=k literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_208.png b/assets/bigbug/garbage/foreground/soft/fore_s_208.png new file mode 100644 index 0000000000000000000000000000000000000000..93d1a9107b0083754feb0156b59338bd7c216a7d GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{hlt4Ar*6$P6*^XY{21szex3d z=iHOKh0~MdbC+xR?po!#NkPFUr$WjsHQ3)Gi|yv)xD|))Ju7aKJfyeet?j-NQC~h6 zrQ^DPds|$d{4VZhNLZhqm*H}P1S>Z|ht{Z*6WG-qou|Sl0<@&8VWZ$0rhc|z&xY8qQVJ0~+uk^#NOAr30F7f)Jhd4Yu+7juJTa1a$0G$JhW+;)Qy%=Svb6{} zw&3Q2qY4vtUt1R>$h-1-vA@-;Yu262PonJ8mbls9ah_LnyYbg!yCeJU1v@2IIuu-N aOk~~J>6iDUwNeS_1O`u6KbLh*2~7Yt^FoOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_210.png b/assets/bigbug/garbage/foreground/soft/fore_s_210.png new file mode 100644 index 0000000000000000000000000000000000000000..62421a2c0819bd47c3e79f91418a8b3163ef3a68 GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3q4&NLn`L1ofOUItjOVVe3|tu z+lR9Xd{ceDIPZPCHsWpbkqHmZa4ukYpdj<(L5c0l8QnkRV$RNsdiZ)rOQ_HTxrDon z(kFHH>|58f`RMP%P!b-##{vA*Ki$(-8^U4K|2 zdM8B9%W6~Y(pvG$VDh@C*XI{RF8d literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_211.png b/assets/bigbug/garbage/foreground/soft/fore_s_211.png new file mode 100644 index 0000000000000000000000000000000000000000..fd943c73d343996ce193e8a9fc9120f79f0c421c GIT binary patch literal 248 zcmVW=ffPKp!B ziEM79K1mA@_P$ctJBC@hjNA7Sh-BLm*=@0j5Zk)4T(T{T@~HCy5CM*8#>@{lM$GiygkY#o41~W_-RO2AGr2q6O!P-e0trMY>PZ$4`>X@o3kPzwN0Go_8|=y; z9FmThlY+)lN|!q&Wu%PQ*1H5FQ&I+HATOgon8p4Fig?23KMEoy$Wpf|<1(J%eqHAi z>zP%Qn0}^vFa&BZTJ*7My28mfVoR=_=w+Pvh9~&V@4GE~ z`IIIu3uG%$_x6u;|5&(0xAN@0@(t^@{*1r>lk@(w6pI61b+>?yWAJqKb6Mw<&;$S? C7g1yY literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_214.png b/assets/bigbug/garbage/foreground/soft/fore_s_214.png new file mode 100644 index 0000000000000000000000000000000000000000..d94f30fdd766a2a325e20cd4e327edd4f31a8e0e GIT binary patch literal 224 zcmV<603ZK}P)qXy?M}4Gahb7(o(TBFK@cqQD_gp&D-|>^-Cc8G@%d-f;8T zuJZZ+8^8Un%2I?!0{^AMSRov90DxlzuI(ze6d~qd4DJ|@ aZu17pbc-dJ1;1GU0000Wh$>PfK&GkmSc62Rt}7<9!~K cYWFr?dS3m>9otH$0Ug2M>FVdQ&MBb@0MmCw;s5{u literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_217.png b/assets/bigbug/garbage/foreground/soft/fore_s_217.png new file mode 100644 index 0000000000000000000000000000000000000000..8f3345ad302151630980aa89fa0331f70ac3954e GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`NuDl_Ar*73PIlyLP~c%<-?!y| zeN+A_@x@^rX%oABxiUF!CpI#%$S-1AP}#Vt?ZJE|^ZSSVVn5G#P-*>2{QcaZwOgL; zZGI~wbaJ7_eQu5kQ6c))>03F~%)PsA%}Qz!t63(yWkHtUG~cw7K-(BRUHx3vIVCg! E0M|D+asU7T literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_218.png b/assets/bigbug/garbage/foreground/soft/fore_s_218.png new file mode 100644 index 0000000000000000000000000000000000000000..c96b98d95688c94fd9a5d9c3a331a406d21c694e GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr*7(P7dTcpupq2Irin< zleepuy>mWZaHWjz+h(Uu7hxtx&rMHL9sUclGBZss+g|$U>l-=Fjzh}LHV0n@iwp5M zT|6?`VISiptyqy2zf(+OU*umgP735YpupoiKTh+z z{h@PLYC8;;Ufp$&%XMX@&l*+(JD1pbTobmbJX^NR)FZyJ!8_MA*>-J0z`||QZSHhA zNNP(v)NE!9vpRiy#l^!s4-@6KKAmwR(k5%#Z+pI36PK%HDsC&hVKecM$uT*;Z)|U0 W&n~pduB--H&*16m=d#Wzp$Pz&b3wBJ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_22.png b/assets/bigbug/garbage/foreground/soft/fore_s_22.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_220.png b/assets/bigbug/garbage/foreground/soft/fore_s_220.png new file mode 100644 index 0000000000000000000000000000000000000000..e2f10196cc93fb72d91c09e3a3c79ef6ad71f5c9 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^`0({Ar*7>P735}G2n2SANTU^ ze~x*be+zo0xuX6?OlnJOcB=l$o-S)YNmG8}f9K4DQ`-M#G&22A)MA%n%9qyX*!1O` h)7mW)?HgBqWUQRhqV2+PZ#B><44$rjF6*2UngCd>L^l8c literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_221.png b/assets/bigbug/garbage/foreground/soft/fore_s_221.png new file mode 100644 index 0000000000000000000000000000000000000000..47a2491398159e4a362120106f4ac8e12beb9ca5 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`F`h1tAr*73PPXPdV8G!VzjM<2 zDYu{blz3cOINznzddoC{=2pjqfIuaoJsb=IdehdWD9;o5ADOWI^K0X|bHmy5g4T3C xXpoT3$qtxuqC7c(QA_v!aq&4X{$I2fUZY?i@rlJ?;W3~+44$rjF6*2UngGZGH8%hN literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_222.png b/assets/bigbug/garbage/foreground/soft/fore_s_222.png new file mode 100644 index 0000000000000000000000000000000000000000..4dc00558b4bdc5bcab9501302441f9e0752eccab GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#hxyXAr*7(P735}P~dT%ANTU^ z$=gM0e*}7u^)BeNpVXr!ZKBJ%z)sJ+WTR1$f!0>0(yZR=*?hb0lqEl8TlI^|Xw4Gw zUZthZu)yR+^{M##iqf|K%N9S`Em80EfOD}3>z2<`Pxl?nwe5SVdB@{a>a%Sdnchex V?vmeBy9a1JgQu&X%Q~loCIHNUKg9q5 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_223.png b/assets/bigbug/garbage/foreground/soft/fore_s_223.png new file mode 100644 index 0000000000000000000000000000000000000000..743a8cae815909145919da89271f252732acf6d4 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`g`O^sAr*6$PQJ){K!L+$rS{!_ z$`+IVZdf+$0OPb4fe^o%SE@?RbrFjc z*RjV@@Vtn;^O;T&uG|GP?;gxs%y35FVSS=x$ff;1b3O{BG&{V|zL~3g+iDkMSJiI$ Ut&?qQftE9Py85}Sb4q9e0GD7vs{jB1 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_224.png b/assets/bigbug/garbage/foreground/soft/fore_s_224.png new file mode 100644 index 0000000000000000000000000000000000000000..89c8c3a800438c80e6afd9cef718301d16e740d2 GIT binary patch literal 225 zcmV<703QE|P)I*Nprp`g89JGdKf*X_$?rt?} z-Zu61%hzUpo_IReX~Kd!7lFz{(lL@3jC2w*w!1MlOzC5en{Zoj+4XHf+qRlA9QeYq zjp2b^sE@#jKOfoMYVJOrcmDH<*apR!m3Ci+H^s9o(4Hh%%kRfn%m3J@(Qh`#e>1^U i=kQ+#4*hYkW%w9Sw|I?W{S%-|7(8A5T-G@yGywo9bwx%1 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_226.png b/assets/bigbug/garbage/foreground/soft/fore_s_226.png new file mode 100644 index 0000000000000000000000000000000000000000..13900354452de4d5bfa9ed6b19a11670fe7af7e6 GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b39!fLn`KMo%EXbumVrZ{snm@ z)|SQx{pM-@eJG&#F(YW}G>2n9_~gwFd@MOBvae)=*DfJ(mD`d(Ze7yQ5H`B2_H#{m zv1Tx5U?T(jfxUU#RU)dHTGYDQSQ@PbU&ZI7;ulUo>VWQK N@O1TaS?83{1OWeaRKx%P literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_227.png b/assets/bigbug/garbage/foreground/soft/fore_s_227.png new file mode 100644 index 0000000000000000000000000000000000000000..51f7069954ce846122da567cd2b3567a16fe718d GIT binary patch literal 243 zcmVC?~r{ha5AA`{xJ^!eraXh)t1q>S3cWu=dr5u4bIa) Wf~Pgv)*1q>XYh3Ob6Mw<&;$V3aY23n literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_229.png b/assets/bigbug/garbage/foreground/soft/fore_s_229.png new file mode 100644 index 0000000000000000000000000000000000000000..4523a89ac5e788b35f20d5c1c7f2a408c92bf1ee GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`5uPrNAr*6uPCm$cz<`HIKeF?$ z`w5>fqFYz~T5(u;+JwIbVop04)mHQgS#61Nj9}-t*;6bT^{fA=|0W)b4+#vHo4v%2 t*?Ki?Ut%?7!pDayTvoUKFS~lgH)ftiWLP4*VFu6+22WQ%mvv4FO#lbVGsOS^ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_23.png b/assets/bigbug/garbage/foreground/soft/fore_s_23.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_230.png b/assets/bigbug/garbage/foreground/soft/fore_s_230.png new file mode 100644 index 0000000000000000000000000000000000000000..325164831ed1cc0206f083d8b0f06a82f63c581a GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`S)MMAAr*7(PK@SiFyLWv|L9h% zp8tC0D|c6y*>)`TIy$`G)+&(=CR*Xex}6^us+h1nJ)ddSb3I*e7t<}?mFHKd?^e}S z3=_C{Bd+AZ-*shzxi{4_cnTOp%f1Bm*fU97G1vE7Ae-pk!~1rwZdb>2t%Y-dwla9S L`njxgN@xNA$TT;y literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_231.png b/assets/bigbug/garbage/foreground/soft/fore_s_231.png new file mode 100644 index 0000000000000000000000000000000000000000..9852f30591d14d8d7c8a3d08756f8a520d3e0513 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%``JOJ0Ar*6$P735Zpupk0J9cIH zt=w|8zc>21M2vi-l1;ue?q%RHxu%;RscjVV@doowmM2+rlUuHOzEk1royQngd54p! z{e52+-_He0ew=vqEj*@a)9v|8>2f)CTIX^EQdG|VW8biB?WL|t?-a+0vlf`2TAEsN RunTB4gQu&X%Q~loCIDRzKr#RT literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_232.png b/assets/bigbug/garbage/foreground/soft/fore_s_232.png new file mode 100644 index 0000000000000000000000000000000000000000..eb769533a6c74e16921b3b4424c0eb5e5270e618 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`<(@8%Ar*7hPKxDfFyLvnKPvrn z+da+nS^Qtq`!ugaYAn7fbxBV+K%(R4N4K*-o2Hk%3aeLG;h|P{)6qIz>q}uv75k)3 z-K&ijFZgeE`A(?SvIooaWjb7gejG@USz*k@Vm5sy&x)dJvrlg6S7;0u&f+`9erU7h a24026mh|s$MQVUfVDNPHb6Mw<&;$TE)|IEyiJ32091)jT#M^Plm-m(S)sI9i;?sd72?ddVe^ t-IId12=I2P|7a3^e7B$T)y`81toLQipDZr^%?z}I!PC{xWt~$(69A78Gzb6y literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_234.png b/assets/bigbug/garbage/foreground/soft/fore_s_234.png new file mode 100644 index 0000000000000000000000000000000000000000..488c671060e55c979e717e89fe52386e84212364 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`MV>B>Ar*7(P7dTcpupq2Irin< z%UPr0~oc(@X5jF6>^g zWL;5X*wUW#Q}O!~`*jXw)XmeY7k$jn!m-0&$kX5WD`e(zsmKa(XatCbTv_PKdUvzw-8Z+w0`9STZGI3f zDf-2$>H7S6F%y&ue0!g6DN1;&{n~H)^YnzjJ+lvrylLCTxQ#h}%Y%uz&HY9lo@N|8 ai@5JkUvo0nL1rt^2@IaDelF{r5}E+dCqw}N literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_236.png b/assets/bigbug/garbage/foreground/soft/fore_s_236.png new file mode 100644 index 0000000000000000000000000000000000000000..97eff5f8bf6bbe5583cb45b9ac6bde71031746c3 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`KAtX)Ar*6yQxXz>oOfVMSma{- zlTBjrrT-@n9TS)}F)^c!F_KN<@iZmN2Nw)9XZ30tFtl^CMVmb0%&cL!T)*SSjl(S+ gD-Nlq<@}Ln*ub9V`k|!N31}{Zr>mdKI;Vst0CYPoz5oCK literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_237.png b/assets/bigbug/garbage/foreground/soft/fore_s_237.png new file mode 100644 index 0000000000000000000000000000000000000000..4297c0f96276d14ac9f70669a803ee73aad8c565 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`0iG_7Ar*6yQxXz>oOfVMNHSRF zV$IB~{8Vp&08c3M1*U)YemOnvd|jU9jfPUa*VU9_4lsnL3ALSQsW%Muwk=I939*fx*+&&t;ucLK6Td^)I6U literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_239.png b/assets/bigbug/garbage/foreground/soft/fore_s_239.png new file mode 100644 index 0000000000000000000000000000000000000000..d3d19f07c298748703cf62815802ee526eb9e981 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`UY;(FAr*6yQxXz>oOfVMIHaBJ zGe`0N#-wBuDf45?Z_Zetcw=vYSaaib?;mqLZiuq{@lxQCNL)67dqzi>mQB`*2TWWC eS1^VcFfe%jaL-!e%e)b2Dubu1pUXO@geCwNGb^V6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_24.png b/assets/bigbug/garbage/foreground/soft/fore_s_24.png new file mode 100644 index 0000000000000000000000000000000000000000..611a5bfc0606049403a48886162f96c74dfde9ad GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6yQyLon^Q17Td6^vM kS-{aFWsr4X1!IU2Q1woOiHGNLl1y s%*@PuxZaC5LBcfQN<$#?iWCNhJL{O_*Y=gf19dQXy85}Sb4q9e02+%KjQ{`u literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_26.png b/assets/bigbug/garbage/foreground/soft/fore_s_26.png new file mode 100644 index 0000000000000000000000000000000000000000..a88976d6a50d2f91669da54be6f681b6b32c6e96 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6yQxXz>oOfVMSmg3~ m1><729w~=ZW(iG01_s|+Mg`;7Yjy+GGI+ZBxvXoOfVMSmg3~ k1><729w~zko&**KUq?m-#l8DdfGQb0UHx3vIVCg!08@MxTL1t6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_28.png b/assets/bigbug/garbage/foreground/soft/fore_s_28.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_29.png b/assets/bigbug/garbage/foreground/soft/fore_s_29.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_3.png b/assets/bigbug/garbage/foreground/soft/fore_s_3.png new file mode 100644 index 0000000000000000000000000000000000000000..757d3545ef5acb9d7f6830caf4714265a805e9f3 GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`7M?DSAr*6yQxXz>oOiHGNLl1y z%nSsFS1>MSoOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_31.png b/assets/bigbug/garbage/foreground/soft/fore_s_31.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_32.png b/assets/bigbug/garbage/foreground/soft/fore_s_32.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_33.png b/assets/bigbug/garbage/foreground/soft/fore_s_33.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_34.png b/assets/bigbug/garbage/foreground/soft/fore_s_34.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_35.png b/assets/bigbug/garbage/foreground/soft/fore_s_35.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_36.png b/assets/bigbug/garbage/foreground/soft/fore_s_36.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_37.png b/assets/bigbug/garbage/foreground/soft/fore_s_37.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_38.png b/assets/bigbug/garbage/foreground/soft/fore_s_38.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_39.png b/assets/bigbug/garbage/foreground/soft/fore_s_39.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_4.png b/assets/bigbug/garbage/foreground/soft/fore_s_4.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_40.png b/assets/bigbug/garbage/foreground/soft/fore_s_40.png new file mode 100644 index 0000000000000000000000000000000000000000..4fb6ca8a3aa7578d5b06ca7d9cb7ffc33b044cbf GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr*7>PP)t6V8GGhAHM6a z`wO412gN3GB(07sda3^~oAHN}idKWyyKSFuI~Z2Rz25uy3@6{3_j+6h+_|@Sl@+PT z%}vnQEwH52@uxB)j;L>UNdpSR(wJ&897hpJj=k;VRhxV=+OmAJY!yNCg znaqFQ`O<~$i7ujY4LK{~8^2ENQPWC!nxG+)r>8BD`fI{J_MCGcs`c0syFiX%@O1Ta JS?83{1OR4`Ir9Jj literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_42.png b/assets/bigbug/garbage/foreground/soft/fore_s_42.png new file mode 100644 index 0000000000000000000000000000000000000000..df4524397217247db0c6fa8f63d453ee7af7cb9c GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr*7BPIBZspuoX0y)N_L zf3s@G+Yvf9mZ-=G#Iju|iM-5iJxwx;>6^TxXrfYuRd@0C6gCTYr^7LyZj1igX?FDSyS=Q;ocH$!@J~AtxXu6Sf5z-p8qbSw aY!dEM%;MSm;B7O|4Gf;HelF{r5}E*YB0!}8 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_43.png b/assets/bigbug/garbage/foreground/soft/fore_s_43.png new file mode 100644 index 0000000000000000000000000000000000000000..01e5a9503f5e424f627897f2409cdeb8c61f1d57 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ot`d^Ar*7BPKxGhP~c$^UvKi= zzA1f`yeOkCzi-YZhQ_@1R+W=qY%iJFG9|bE=O{{733(QH!{DKm;P=0s44;&CrE4*! zRF!3D?qd4Ow>jp+1D~X>(#H0MertcaPg401e)sA5UB63u7r3!6uDEt&7ki{i$B6}P sOg73*7r*vyzQNkvxZXu;QPo;zWzkv7=8M`J10BWS>FVdQ&MBb@0Ob@)B>(^b literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_44.png b/assets/bigbug/garbage/foreground/soft/fore_s_44.png new file mode 100644 index 0000000000000000000000000000000000000000..a7ad41b44ac2bd23263401fdd6b98d19db4e6402 GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`cAhSdAr*6yQxXz>oOfVMSma{d zY`B!o00@kDR*1XtDja4=_F0%H-W&19gXhQjgfk!JH#X+<95FOgyUD=dXQ!g6c;Ob% PAO;3cS3j3^P6oOfVMSmg3~ s1><72fQt;tr+5-lB={;DH#smcO#jE!++K1+8K{H7)78&qol`;+08(rlCIA2c literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_46.png b/assets/bigbug/garbage/foreground/soft/fore_s_46.png new file mode 100644 index 0000000000000000000000000000000000000000..6879e0318279cde13a4a9e59b5ff24faba91a0b0 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`dY&$hAr*6yQxXz>oOfVMIHZ~E zGl#KfOYuPiqXvhBKDI|3MhwwW4PAjV_oOfVMSma{d z%WL4a_+!KW9UBehEG>?$KX5~0zm4)?gTB^-nGDlR45hevco_D+Q_+;o4xR}#g2B_( K&t;ucLK6V6-6BW; literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_48.png b/assets/bigbug/garbage/foreground/soft/fore_s_48.png new file mode 100644 index 0000000000000000000000000000000000000000..db23b2fc606430c215df69bab27ac3904679a1e2 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`5uPrNAr*6y6BdX_NE`o2Pe}OT z-zoXOFey3tP7;Tu4ch|~iPnBa2cfj21cSB~)+uVT5+G#<9)&+L)T}$cr9&`{YiC0z p%laf22WQ%mvv4FO#r)TE@uD$ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_49.png b/assets/bigbug/garbage/foreground/soft/fore_s_49.png new file mode 100644 index 0000000000000000000000000000000000000000..e599041efb9f3b247866ffa4d9130b57ad568fff GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`;hrvzAr*7(PCCeWz<`HYKi2bi z|AU!V+M_=ed;HM|QOHSp&7pYV%7g+IkID_V`47yMj+tu^Bzopr01zTI_W%F@ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_5.png b/assets/bigbug/garbage/foreground/soft/fore_s_5.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_50.png b/assets/bigbug/garbage/foreground/soft/fore_s_50.png new file mode 100644 index 0000000000000000000000000000000000000000..4be40e843fdbb3e0652c1c0871bc97d1cb194395 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar*7>208K_P~g!19rXXd zS(!wz5W7Tgwv$4X)Cw+!qipNuK0C}bM_54Sd&5@^E0%=}y3Qx#>Rk#PwRGF(gd8w6 z7W{eeNKnF|r#x4=k}RL}Xn*O9`doaZ;hD_Rz592*Td4g0uYPuhl6fhk@9~$tf$Ttg O89ZJ6T-G@yGywp4_B&kw literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_51.png b/assets/bigbug/garbage/foreground/soft/fore_s_51.png new file mode 100644 index 0000000000000000000000000000000000000000..4ab6686a009eaa5608a59e1419e52d2b22f4ce39 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr*7>PLAYjP~c&ekIQ^l z&vLFsUP&QJLvf?$;cI^43Laj!CL|yK$#URCXCL=W5xP=&GuvxND&H#wTZgm9c6Zi_ZDp_ddn~|<#c_(#PT~Gf d(^X3s`%MX)$zPtFVdQ&MBb@0JxSsuK)l5 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_54.png b/assets/bigbug/garbage/foreground/soft/fore_s_54.png new file mode 100644 index 0000000000000000000000000000000000000000..8108842b073496342fc5336fa6531e03da893370 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`g`O^sAr*7BP7LHbpupj5z5dE? z`GdwA`yZMKYguhplMp(@tm7fEL1O(pCe>410rNwcSFI_z)bNmN@3Qy3ivoBbeKokP zR?=v4@3Q4Rr&}IU49U%Fm@c{XAD(>v(tHc<8`=M5FTC?UcW1)|-i|d(oF_Q=Ygr+Ar*6yQxXz>oOfVMSmg3~ t1><729;t@B2E)|0KkdoMDrOTU7-CNf7Mly5Ee2{~@O1TaS?83{1OR%O8oOfVMSmg3~ q1><729;t?$2E$Y~1EYW$a~T&qF$MhJD%b#2&*16m=d#Wzp$PyFL>cw~ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_58.png b/assets/bigbug/garbage/foreground/soft/fore_s_58.png new file mode 100644 index 0000000000000000000000000000000000000000..5dc0989832bfb6d6482109c1b2fc459ed3083499 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>Ygr+Ar*6yQxXz>oOfVMIHaBJ tbA!R{)~@PB8vOtO literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_59.png b/assets/bigbug/garbage/foreground/soft/fore_s_59.png new file mode 100644 index 0000000000000000000000000000000000000000..24f8acc394d5efaa0bda34f0ee836f3479fc7cc1 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8lEnWAr*6yQxXz>oOfVMSmg3K u!0>>?eiP-x848zfGUyl@NpXi5FfgdiWNw_<|7{yk4}+(xpUXO@geCxd literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_6.png b/assets/bigbug/garbage/foreground/soft/fore_s_6.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_60.png b/assets/bigbug/garbage/foreground/soft/fore_s_60.png new file mode 100644 index 0000000000000000000000000000000000000000..a9b01a3bd987b13d20a7505ad4c9eb07ec16c896 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`+MX_sAr*6yQxXz>oOfVMSma{d xY`B!o;b8ry4TddgDH0b9Buo>oG&m+RFi0O4D!i%1%n#JY;OXk;vd$@?2>{c18_)m% literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_61.png b/assets/bigbug/garbage/foreground/soft/fore_s_61.png new file mode 100644 index 0000000000000000000000000000000000000000..a9da0cf13ee59dbedb5f3091e186c67255e0a182 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`N}eu`Ar*6yQxXz>oOfVMSmg3~ o1><72fQt;tr+5-lB+ha(bT45Fs6X)I4p23Nr>mdKI;Vst0Plesga7~l literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_62.png b/assets/bigbug/garbage/foreground/soft/fore_s_62.png new file mode 100644 index 0000000000000000000000000000000000000000..cef5715d9e6062d34c6c5612f9e96d600a913885 GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Hl8kyAr*6yQxXz>oOjSOXbbp% z^3XAXSre7S4S*nU(M&%!iO18IB}+UgTeqHPy*>2`7N& OFnGH9xvXoOfVMSmg4# w!|;H_eiP-x89EnkGUyl@=_EBecqy|m%rIr%@^t;Hy+Bzopr0N2YMO#lD@ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_64.png b/assets/bigbug/garbage/foreground/soft/fore_s_64.png new file mode 100644 index 0000000000000000000000000000000000000000..85454c3e3b8619a5783cd37ecf37c28524a5d205 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar*7>P7dTdpupjLe^1c+ zdb4jEcO2#5@im)tY{gbF7X}p`8IOOzPIQ_XxGFuK`KGO@ndzbK-jkPvq&l>J?T|VY za@usIqbX~9dCAnf8QwW(OMl%wxSeTt?t#BHxA%VVIW&Lf0~QZ~Y0iyd8E!x;89ZJ6 KT-G@yGywn)rangi literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_65.png b/assets/bigbug/garbage/foreground/soft/fore_s_65.png new file mode 100644 index 0000000000000000000000000000000000000000..a0f1ed4a00a889fbd1133d8ea3e9144f358748db GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k)AG&Ar*7ZPTI-a5WwRszvjtb z_Y*z~f3z>)Xbo;q6%R{sw`91q(8Xxt34Y6E8w$(Lc${TeB&={i*70=Sdk2<{p|x5Q v7i?M9j|OjJMwgTEgJz>gTe~DWM4fjX5}7 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_66.png b/assets/bigbug/garbage/foreground/soft/fore_s_66.png new file mode 100644 index 0000000000000000000000000000000000000000..93c144e0f96eb3077a8180d9b0aa9af68d8b277d GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`DV{ElAr*7(PKxDfFyLw4U%B+o z|D3M}qeOODP23l8gMW$V;c1K#@>$w}w#kdnJDUCt>g8kbe7;m^WTclDw;zNm^`p!u@_uj7zuUEykxcQ9GJm80Q1+WAJqKb6Mw< G&;$TN4m*ng literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_67.png b/assets/bigbug/garbage/foreground/soft/fore_s_67.png new file mode 100644 index 0000000000000000000000000000000000000000..8b60ca6821937adcd14f1193a21ff4b458def33c GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`<(@8%Ar*6$P735Zpupi=7+&?= ze)ew(wz4)&hKZi5Z)#!ak(tW@uq2Q z@1ARcu~#$0*B)^&WqZJyd9p$wq&L*bJYue$s^Gi`wuTFi>KdV&=6SF_P?~+JL?b&r a#r)*uHE~WAAGQLWz~JfX=d#Wzp$PziKS9F) literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_68.png b/assets/bigbug/garbage/foreground/soft/fore_s_68.png new file mode 100644 index 0000000000000000000000000000000000000000..3211d62002bc9afb96a5187ef43ba458c08327cb GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8lEnWAr*6yQxXz>oOfVMSma{d uY{<;~_`uEs5>C7exZQXqOcMem85mS8m>UoOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_7.png b/assets/bigbug/garbage/foreground/soft/fore_s_7.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_70.png b/assets/bigbug/garbage/foreground/soft/fore_s_70.png new file mode 100644 index 0000000000000000000000000000000000000000..95cc294761d5f4cf718c06b5862b4da468ddb7c6 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`hMq2tAr*6yQxXz>oOjSONJ~gq za)N=4jZMwVgrAkUhf~^NxxgTe~DWM4f DG-4cW literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_71.png b/assets/bigbug/garbage/foreground/soft/fore_s_71.png new file mode 100644 index 0000000000000000000000000000000000000000..9f98e7c89dbddc69ab7aae6e5ebc434156d50f55 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`2A(dCAr*6yQxXz>oOfVMSmg3K zz~I1)4U9cJiyJ-MnG24b=;&r$^DyDehxv_-H9QQ)YQk6F20pnC)XU)M>gTe~DWM4f D@RcH! literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_72.png b/assets/bigbug/garbage/foreground/soft/fore_s_72.png new file mode 100644 index 0000000000000000000000000000000000000000..56b78d73857f7eb12098acdf688ab82f6b6b3a2c GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8lEnWAr*6yQxXz>oOfVMSmg3~ u1><729;t@B2E!@oJ<*DVdKTWhI2qR8WolLWQm6;i!{F)a=d#Wzp$Pzw^Bdg& literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_73.png b/assets/bigbug/garbage/foreground/soft/fore_s_73.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_74.png b/assets/bigbug/garbage/foreground/soft/fore_s_74.png new file mode 100644 index 0000000000000000000000000000000000000000..4334803a746dc6cb3eece5c861b2750c12a80696 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`CY~;iAr*6yQxXz>oOjSONJ~gq za)N=4jZMwVq+f%%r_lSNrWo5j*2QcA84U9@fXWgW7`AY+JpK4s))}au!PC{xWt~$( F69A649ghG2 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_75.png b/assets/bigbug/garbage/foreground/soft/fore_s_75.png new file mode 100644 index 0000000000000000000000000000000000000000..5fd70b1d09ab16bd9383e396504513d588c7394b GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`+MX_sAr*6yQxXz>oOfVMSmg3K y!0>>?eiP-x848y!GRSN+blBMNWLDw?J_g=DESq|gjDvyN7(8A5T-G@yGywn*1s)Xu literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_76.png b/assets/bigbug/garbage/foreground/soft/fore_s_76.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_77.png b/assets/bigbug/garbage/foreground/soft/fore_s_77.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_78.png b/assets/bigbug/garbage/foreground/soft/fore_s_78.png new file mode 100644 index 0000000000000000000000000000000000000000..71b259a55c0e4bc845af31f16c1c769153631b28 GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`DxNNmAr*6yQxXz>oOfVMSmg3~ q1>+Klgr4ZGiHRms?z{_{7#Y}4GX<1x`?VdYp25@A&t;ucLK6TPof>}t literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_79.png b/assets/bigbug/garbage/foreground/soft/fore_s_79.png new file mode 100644 index 0000000000000000000000000000000000000000..8eb48b140238e2f4835a9a243f9bfe9afb109143 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`%APKcAr*6yQxXz>oOfVMSmg4# p!|;H_eiP-x89F^u1`<3B3}GBh0RoeD{Rb*%@O1TaS?83{1OVY=7?c12 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_8.png b/assets/bigbug/garbage/foreground/soft/fore_s_8.png new file mode 100644 index 0000000000000000000000000000000000000000..1bdc4a186d5e98891310be05af34b7976c451dad GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`%APKcAr*6y6BaQ2;6Iwe=;mc& nYybp-iz=@)1TwqvIxsM}$1+RqTbLFHRLgTe~DWM4fmN*um literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_80.png b/assets/bigbug/garbage/foreground/soft/fore_s_80.png new file mode 100644 index 0000000000000000000000000000000000000000..ba07a64649722eced6875c045d40985bd4d335cb GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FprVLn`Jhope#K*?`AcKF0i# zpX4g*OtsGw+nfv)MehDo-scgRa@g4?GFYif<@f38RF~hydWZ7gAMIvvY7qVu;K{Y5 zY@hyywUw&gd-LZnYQ4z2w!QMpB9$t=aipaTd^V44$rjF6*2UngC2i BQ0D*u literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_81.png b/assets/bigbug/garbage/foreground/soft/fore_s_81.png new file mode 100644 index 0000000000000000000000000000000000000000..ee52014fecec438ced1eb792ca894fd9c4353f28 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^`0({Ar*7hPV(k!P~dTqKPG+l zZ@)qMp;jTqCb7~<>onG1=C28vbmC&l>=H%?8HKNom1bGjy|+}IKbhU2+tppV?o-?? zCd&s7Tf-R|E$#0!vuu;@xVulhS6z>H+k!M<$%zZ++jKES2vjFu`Nw1xHDlM2zDujE iSA1o6I3H<#i{ZV5YeQu5n?j&d7(8A5T-G@yGywo6Swxlq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_82.png b/assets/bigbug/garbage/foreground/soft/fore_s_82.png new file mode 100644 index 0000000000000000000000000000000000000000..a3b841bc463a9bd386714e4a6661415f9bf38b47 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`eV#6kAr*7BPRivwqQK#DeD9^* z{{^4<+?B6mRbKltE#4`|wS}=;ZF<~?lQIoQd{aJ8-5>H{hV8>!Qg6P`UTQ0F#jDD- zTu9+nKck%ZGVwJLTUkq8r(K@*M)ii_?g_{5wW&Rv`c>}FIY-gChYj7lKFQWUvsk^% zkk@+7gt|3gFab+3>Gss zg{20f5E@nhl0*MS1A1GFWAliytFwKt>R-%P4|WL~l}Db2wDZ>rH|*>nYSopEKSCbt z8}_!?0*IWnPe>>opsWCrKr;S;Fl8_U88vMzG(a$uN0%!|MKJJukCx90x1uZFts7_H Y1)q_3z2F0oPyhe`07*qoM6N<$fzopr0Qg2J6#xJL literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_86.png b/assets/bigbug/garbage/foreground/soft/fore_s_86.png new file mode 100644 index 0000000000000000000000000000000000000000..024356b8bbf40187d82fcd2d043cd0305a1cb941 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`KAtX)Ar*6yQxXz>oOfVMIHZ}J zb0#6j=LUn@t(^%45(zzS$&4mE%sbv5tB5sxlbl!}=@6zPVQgS9=V-dZkt_czHX7;` gKK{?c!}Fg}(m>L5UH`ddKyw*9UHx3vIVCg!01m_}&Hw-a literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_87.png b/assets/bigbug/garbage/foreground/soft/fore_s_87.png new file mode 100644 index 0000000000000000000000000000000000000000..a1aef5acbc3f6ae168a6bf9069200bcab35f0553 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`5uPrNAr*7(P735=P~dP*55M*I zd|JGt%dQm)9yk0C)tK=%JYL{+>*=gc|Dz9T13V6x&684|=U`Di%W~=gmCO4~r{6sl tydz8C&(p=CY*Mubo;~tQ7)mp}MC%&DI~GhRlmptq;OXk;vd$@?2>=-qGnoJY literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_88.png b/assets/bigbug/garbage/foreground/soft/fore_s_88.png new file mode 100644 index 0000000000000000000000000000000000000000..72f855055846a0e29c801049e45ae9c91c099c57 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr*7hP735|FyL{Xzx&ee z|AJ-9ek~LZY>ze#;9APbt69@3z!m0DoZ=*4h(wp#>Wo+qo1v^7Owu z`Knypmo|HLd&9AUfauSug-Ldu&-i{7-@Uru{-gGRZ)@jguyJ3sUAyASja;Ce44$rj JF6*2UngE@pI-~#q literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_9.png b/assets/bigbug/garbage/foreground/soft/fore_s_9.png new file mode 100644 index 0000000000000000000000000000000000000000..37b48cd03227f40438e91b0edb62e72182248768 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6y6BY;<7#SG+S$>2; m%`4U*>%a=e#cTm585md=G0OH`6%PZdW$<+Mb6Mw<&;$TyDHezT literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_90.png b/assets/bigbug/garbage/foreground/soft/fore_s_90.png new file mode 100644 index 0000000000000000000000000000000000000000..e7a3c377b0ffea41e6b7997783653197c87f93c7 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`eV#6kAr*7BPJYdMM1iN-H~d%G zu3X#TckCf^xEklJieg$~(=*v&qDWPP^4AR~bN+o=)HJuH?}lDc{5pqKrA-kgDfgJO zx>OZUt2f%V=!xuj%VB+Wf`6mlos(~~n`TFtf8=AVKU3Wn%ei!J=9vJdf_;ZB@dWzD xJbG2ubL_PJrta21#;xZ}=bw=ikQZtC!SpY|44$rjF6*2UngBa9PmKTo literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_91.png b/assets/bigbug/garbage/foreground/soft/fore_s_91.png new file mode 100644 index 0000000000000000000000000000000000000000..f1446c8e1d8b6b35841a7967756324c271fd0a86 GIT binary patch literal 210 zcmV;@04@KCP)KT4=oFd#l$8}K{`!e!6K>Zg>7%d&kC?EQm2lp#QbdZcwz3Nk@#KHtoArCoQHLn$2g&Y(*TUTCX#fBK M07*qoM6N<$g1(wwga7~l literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_92.png b/assets/bigbug/garbage/foreground/soft/fore_s_92.png new file mode 100644 index 0000000000000000000000000000000000000000..27122ea5e47a4058687663d79f9fc6ec61d2f3d5 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`U7jwEAr*7hP735}P~dT1{n2gj zf5EC{KNWfAC?w=;V)3q+X1L%)o~x8+^^b*RB`yr7x_3BED>ZlY`uIxl8{Z2NPG-Fe zVhpE0$xZmUsrZ*V#5`8xW6R;0@GIEs0gHNJIQRR{jJJWVV(@hJb6Mw<&;$VSx=PXj literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_93.png b/assets/bigbug/garbage/foreground/soft/fore_s_93.png new file mode 100644 index 0000000000000000000000000000000000000000..dbc16b9ecb030d2ac072994cd3872b67e3df0b06 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rJgR1Ar*6uPCm%nV8FxN-_^TE z*m>jRbgh1|9|8-WG%mGSrJ-(K%BZ#IP{hi!0S+l42OfwhESF~#5-OFO9~?dNzQu*J z++Xh<7VTN5U{+z`yHFa0*FAS_r&KG5Ze^LvZNv&U?ft52*E_TDIZX^E-C1eOw22ZxsNMka}EUwEcYyno-~WICtW5#7f6gTe~DWM4fF7{6( literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_95.png b/assets/bigbug/garbage/foreground/soft/fore_s_95.png new file mode 100644 index 0000000000000000000000000000000000000000..8b08508d1c5bf762af23bf386daa6c48fea310f9 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vpiiKLn`LXoqSO6umTSY|Mo3+ zm#JTUV$-5~fN9R19=Wt5uPh2Cmb|hT^|YF%tB~MrHJ$aP)sD}17~hucj!nrcYVb75 z&fq%}vV~jFC6(>VJ!=b(HXpO{sCJ8$r5&BUh7POC?lYe0zj%+WZbNxPo>fWYTgI5p zvjlXF?lPa*t$*2L(|nmD7cQvp>wELgc;Pc&o>~74`d8Ju?BCaYD(EQ(yEM>|3=E#G KelF{r5}E)z@>7NY literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_96.png b/assets/bigbug/garbage/foreground/soft/fore_s_96.png new file mode 100644 index 0000000000000000000000000000000000000000..5d39b33914315cb5b3ce81ce8ad15c9c6854e417 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`UY;(FAr*7pPITltV8Fqm{`boOfVMSmg3~ z1tW7-gJILj6AqV45`5;|sb@=W`yViULeI(vtTpFUm;#zopr037it82|tP literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_98.png b/assets/bigbug/garbage/foreground/soft/fore_s_98.png new file mode 100644 index 0000000000000000000000000000000000000000..d90352346333488ec972a5dbb41ccccc7c4b090f GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Zk{fVAr*6yQxXz>oOfVMIHZ|; z=0L)k1fL5GZnt(cY&fd%z}_*ZCwyK`uZx7kMD7Q(dNfNI8S^h_NV)Sa*u?nbQ>!5} aGsD+wp{gG)>OKXU$l&Sf=d#Wzp$PzXyenG( literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/foreground/soft/fore_s_99.png b/assets/bigbug/garbage/foreground/soft/fore_s_99.png new file mode 100644 index 0000000000000000000000000000000000000000..11106dd94566cb8b25dd49fb13515d045baf5714 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`o}Mm_Ar*6yQxXz>oOfVMSma_{ z$R;6d_QXCcr^i`FSU4cT=R$y!nZ)B#Uga|)MU1jZjah6DI{d6!8x8r){>C(%Hf4Uy cWWvBuvDxhYv>E@kfQB-7y85}Sb4q9e0Gm`Mvj6}9 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_0.png b/assets/bigbug/garbage/midground/hard/mid_h_0.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_1.png b/assets/bigbug/garbage/midground/hard/mid_h_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_10.png b/assets/bigbug/garbage/midground/hard/mid_h_10.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b0de3999f1e1651cb8c8b15da3235167d779a2 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`GM+AuAr*6yQyLon^Q17T6`A%) h8Dt$;!PtD3fx**-QNHj@-ZP*&22WQ%mvv4FO#m3f761SM literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_100.png b/assets/bigbug/garbage/midground/hard/mid_h_100.png new file mode 100644 index 0000000000000000000000000000000000000000..beea782e862e2f0dcf6334c6528b688e9ea3372c GIT binary patch literal 241 zcmV!r#7^F+*@>BYpL0cBdWTds1Z)gpAmW4>$(x^<*FPd|u^|ElllN$EDCUD)l~sTWep_h~j37_H{MCZ* r%dAc}%nEWa$tOW2A$j>7I5Y793^El2`nKUdH9^OvVijf)XS@w5o>V!#n>^U}jM zP{cMc_}k`+6sC*X&jdU+>d&(M(X67xB*sdlTF>=i7y*Dl6)f1rO89ZJ6T-G@yGywpG literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_103.png b/assets/bigbug/garbage/midground/hard/mid_h_103.png new file mode 100644 index 0000000000000000000000000000000000000000..579ef2833004dec8b832aaacc158b77e9f880588 GIT binary patch literal 240 zcmV z(G`Rs3=2Fr>P{W1J9Q@RD_*F@XMaR#(j>?*_m!D2Gw^9TvY!WY(yY4 q+h6;U!HJLrwfA}$#5u_BX8r){kbA6?P*z+30000wS(f z003sT8p4FTJ4mjt`ptTuk-*QJxI4`3CM1FS3Q89Ss$?=y@64pCs&uNu-4_s@%O0vuebO qB6;T64OWhsO!6*}MM!SfDf|u2yMeL`!A8gc0000L1P^Y{_y#;-4rH?Ee&4hZ}8kWIm>EE83{F z8n6-(WG0#El?icRBLaYebSa?$YyA`k(0g`kOJu|J?#{yR8@?!F*TjiY0`xdZELZeh zg0t~+>1pY8?lo*Q@oRANnP75Mw?jG$l*GSI5-A&^sYP;qL z(y3Zo%>B#~zXV_fC`c!gOu+zFz-Z3yW?Z1=YMeIC5j6bx78XG7J>6A(lGAUNC_=sg zYwvvq0A@jq)z<-4iw7)wY;9Ip)n-koA7NTswINQ_)#4gM1+dR|;K$|ib)EgV$6LUk eDz^D;pXv=kQF*HN_u_B>0000UHwkL}#sIzKj(4k~a+?7*x;qDzF$LLD?R$w-jKyoRXagB8jMr0z% zPE_Yd+Esh2T~{E9L+ex#CGRekyMOP&NFHOmqb)FNyQb|*n40MB_fQfoCc()8iT5$u r_3?Z5^TZgl3y4z${zSnKFYXC1q0M-BW(w|u00000NkvXXu0mjf?=oV7 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_108.png b/assets/bigbug/garbage/midground/hard/mid_h_108.png new file mode 100644 index 0000000000000000000000000000000000000000..93d60e15661e0bd1d90ac935602c6f08c04759da GIT binary patch literal 240 zcmV;Zls;)Ol2p{)Lx3K5Id<(c_w^7uz^HSZvaRU01y%Ak_1U0d3fIjfG+?* zW-cKPD?NIUBqR+`$$<{of3MF0=xz37kMI8Ds%mB;GlvhCBRJ&BkAj>4GZm;>pL@_M zMZ~FcZ~qARuCW_*Y^_Os!{riNgnT@R^>_mkMQ-NlJ8Es44sZJy9H00 qcYyT<3euA!;tX(zJ3l*fN%#Q1NOtePssIiE0000L*_SjAc?77eQl_#=#$LUjZ$Oibm3*V+ tWxBM`tM(oOiHGNLl1y n%nSsFS1>MS>ya{u;9+106kt^NV{M}hRLgTe~DWM4fmM0bA literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_110.png b/assets/bigbug/garbage/midground/hard/mid_h_110.png new file mode 100644 index 0000000000000000000000000000000000000000..d35e63bf99c03695a0a58832ef44a09ce8403eaf GIT binary patch literal 254 zcmViryuxTI&PsuIQUOmc9}+ucDD@h1s01AtsF@(%#OoX1de zRcjWFI1ojaM(#-x()HPO{AU8Mj4>3c97+0B~wky+aRW1bz3rB3ke< mgB|`dNM5<$zJnchH;*sJ=y3X8pphm30000Pb5DKFhaFxZ>AGvVyTI{X1p8o370EGC6bG>Um?aB z0W-hDgB^9PMSbbEk%&XdA_s3K;oY;3H8@x586F|WqvzeQ;?~Y z>h4{xq$6>5{sA?JfxNVkVeK99Isto5$}v{Y=OQ3R^`MzbSt?jr%PKYih=_BoEOfxs z&}~({lRQGwqzq(z(gOex52YTo{Wf_5&ldJa7bo#G#-^q{NrD&u%XExamVluLd2|s0 vNst70@2Zdc)`zVDA_644Zy`&UG_~>u*&TAbl{$9I00000NkvXXu0mjfc9&#b literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_114.png b/assets/bigbug/garbage/midground/hard/mid_h_114.png new file mode 100644 index 0000000000000000000000000000000000000000..80c124865192c27143dec83731f003566d802923 GIT binary patch literal 242 zcmV0 z*@J-01_xwEp*JJrVC>oEWG*kS=ib*A{v*ugRh5(;xY(d$8K0ST$dd=7i8^4^urZfk sy~c(#s{SIgc=rFK(g1h`eF1#Y4?mK4N5B(h;Q#;t07*qoM6N<$g2!!S#Q*>R literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_115.png b/assets/bigbug/garbage/midground/hard/mid_h_115.png new file mode 100644 index 0000000000000000000000000000000000000000..85095da794b0074d8657c39aee5781d627ccc97a GIT binary patch literal 239 zcmV z+Y!Sc3=FPG$*DMKX(8aTRi0Q%0yA1inWrr z_@RRl3Bca`-RzDoB8X2}6{o8EOSr&Y?6+tjujsl8lq1*yHMS|R-iyfp9-@EY1pkhBuGY#9iWj8nZ=WdIMGr%1Ph>l&FLijqL`L7eRaz~?RB+diW2L9oNl-Hc%5 zh>L7FRCf!_=y|x>t$DWury+M=2uLp5kC_Iuk@M}8t3dpr=^z(sqT#{`a|=%f1J@RIg?}^1Q=Xg;#2U?P wZDMWmgh4`ey*{9NmxLqlHm@*$cTxc04Ygv0-QWDSQvd(}07*qoM6N<$f}-6=@bR;3l*aphV3C<1x$ITd{F0pOD>LUMlF+qA zM9d_OhKT21@;G;ORrLkDfjDpjs9cYee3CmrrFylh+Gf!s;#iU7@)G0Dfcymb3{Hv^ za&4s#5C@KS0H9~)OmNvGXC>WVW}ue`OlA9g+@)QU-M;DzZA-yj6TEkA&D$8!NIY4w y9KQWOCIA4k&R#e{)l3Z$VAKW~&*dKRp?&~RcA3}&!r*`a0000Q`Qcp@x^rV`|C(anJi9gHwk}U9`v~7bV;!6^1EdYQdRErn@%vzkS{&zMb zscT~UK+EWnHz@6jR*R~|m_G)$;_S~_WdH2wWt1q)u{f`_FhK5q6gx(?f4%gII&4!?d>{r3Y6qE@lg0VMxI9Z=>H3`Nm&e=97QA@HgZ2$ClMgtBV~}qAj7~AF_Tql#b#?Jpk@Y7S3j3^P6Ygr+Ar*6yQyLon^Q17T6`A%) t8Duf|@+8OoOiHGNLl1y w%nSsFS1>MSmdKI;Vst0Gh!X5dZ)H literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_16.png b/assets/bigbug/garbage/midground/hard/mid_h_16.png new file mode 100644 index 0000000000000000000000000000000000000000..611a5bfc0606049403a48886162f96c74dfde9ad GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6yQyLon^Q17Td6^vM kS-{aFWsr4X1!IU2Q1woOiHGNLl1y s%*@PuxZaC5LBcfQN<$#?iWCNhJL{O_*Y=gf19dQXy85}Sb4q9e02+%KjQ{`u literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_18.png b/assets/bigbug/garbage/midground/hard/mid_h_18.png new file mode 100644 index 0000000000000000000000000000000000000000..a88976d6a50d2f91669da54be6f681b6b32c6e96 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6yQxXz>oOfVMSmg3~ m1><729w~=ZW(iG01_s|+Mg`;7Yjy+GGI+ZBxvXoOfVMSmg3~ k1><729w~zko&**KUq?m-#l8DdfGQb0UHx3vIVCg!08@MxTL1t6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_2.png b/assets/bigbug/garbage/midground/hard/mid_h_2.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_20.png b/assets/bigbug/garbage/midground/hard/mid_h_20.png new file mode 100644 index 0000000000000000000000000000000000000000..67d1f03df8328cc30486b549850269a57ea7cc2c GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr*6agKi5RP~dQ0C%y4M z$GIi)N5c#Qi;j1mQWom&FzGai{=PL&k(pJ@!PUbtPJuJlYUbaz8%M61`<|I){LpS= z`ePIRoF5r-@iB`|A8onpFA{FG;)e{=QgcJgRgd@Oajwwzm{a>_-;ym}FXyVvnehA6 o^n=g7xJ}xZ-oD_n{fFIr?{!+PyRT`!0(1|9r>mdKI;Vst06x@AYXATM literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_21.png b/assets/bigbug/garbage/midground/hard/mid_h_21.png new file mode 100644 index 0000000000000000000000000000000000000000..c56dde0b68e1aae68a85996d029e58aaf4806a4d GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ot`d^Ar*6`1|JkWpuo{>Yo7F9 zaK_5ofNBwrv={IgGCle(K(%wPx3<@ZHN+2}vqk;#n(6D&aphAEgO%M3#&?&~3(m-1Kc_XJ<6b7)w@_CGsSxh=t1gUFeLMN$ z_|v}4s#-ilZqdwpM?T$aOVZgK_3%{Ta$OChdX>I+_OItY7d|m{{Uc4!^xH0v#CDYL u`;UYhd#nHCvY>#^vKD8G|xee<>%Vuyi_V(@hJb6Mw<&;$UjwNYFE literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_23.png b/assets/bigbug/garbage/midground/hard/mid_h_23.png new file mode 100644 index 0000000000000000000000000000000000000000..2f9a365b12b0fb0e359e758276dfc2323960410a GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`Cqgt#$znPVatHpkoP42rM){IiY(ZAY{X?zK zTc

|?oS_Jwr~_wsg^s@4?_%h}FKlL8@Q0GUTYgpzo&;EK~ x+xb0gA9mbeZSZ|~)a0E^gk_}41Al4ZJ%)Ee4{t9lI|y_bgQu&X%Q~loCII8mP8$FK literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_24.png b/assets/bigbug/garbage/midground/hard/mid_h_24.png new file mode 100644 index 0000000000000000000000000000000000000000..0589af72ceaa3ed62ddb7caf243458c966fe746c GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`HJ&bxAr*7B2H)mApul0%D}DE$ zvccrPA6m^cdS9xlaH#vU>IpJDna!{=`^ko`Ju}b>}RrRN{O9mUAeRc=ne)?S3j3^P6W^il2mT37ZyAYf1n`ygOIbUT>vxyD~S?RRK zu_S3pq$Ptxkb$*vkIJR9Arn1PX5V~YyPC~@;`0Qy({du$Si&E8yPs39$xT#>a9H0P is5sNd?)%yQg$y?Z9U~J0TD*X6VeoYIb6Mw<&;$S~A3)mx literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_26.png b/assets/bigbug/garbage/midground/hard/mid_h_26.png new file mode 100644 index 0000000000000000000000000000000000000000..5f204afc9058e365b54e8827464f6a111ed5f0a4 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Rh}-6Ar*7h208K_P~bS6YX9p0 z{0Fn|q@Lrt(%jd=(bdXy^vo>T6Q!Rj(ll z{|DdOjxF1cJkmH(H0jn7#Y_e{kqg>S>Nz+<{-*RaHGA|uda}N8YeHvO$=S0y=M!{S zRRw;YHbvsD!17NgjX3u#7w0o@zGImXe)!zJRvq?RPLs9>b5|Cyn}1}=*HL|X@$5p7 POBg&|{an^LB{Ts5{(V4d literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_28.png b/assets/bigbug/garbage/midground/hard/mid_h_28.png new file mode 100644 index 0000000000000000000000000000000000000000..8fcccef350a2e467288a2b9e137bf4154821080a GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`t)4E9Ar*6aC*9>epuo|x@uk}v zdnV(X?5izV{qzh!vfDYXKN%oCWtGLupSFUT+y;}=5?DAB@>M$+<);gYzkG|MDHy*Rey+)>)>~;fVArU*Yi_mon%b;?)dPSOo3g((MyxIHcU+^ o=1Oo72{F&9j+!3%)BZO@>1x;h-S^h00v*KQ>FVdQ&MBb@0ESpZbpQYW literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_29.png b/assets/bigbug/garbage/midground/hard/mid_h_29.png new file mode 100644 index 0000000000000000000000000000000000000000..b7f835e8ef22a935d0fd8661d02db1ea2e5aad5a GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4W2HJAr*6$20QW{P~cd7y6(vT z`3GiiJM2~xaAAj<+mw!6SB4!g1YT}FTKIsW*<*fa^0`l24ou+5o?m_NrSYvo{_6dpE%y>}Fm=It8 k@Zb&R$$l}@C)6yFUc{HHmD#oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_30.png b/assets/bigbug/garbage/midground/hard/mid_h_30.png new file mode 100644 index 0000000000000000000000000000000000000000..659e9dafd83f80f68a540274df5697250ed7e7c0 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?Vc`WRwu*T(G^kM6silP}t@^17_YL~jYZ#d(E)+Ug q++nf!o5QF1ck%?q>L*CAJiuHiR<%4_DtHOdNerH@elF{r5}E)s$w>bI literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_31.png b/assets/bigbug/garbage/midground/hard/mid_h_31.png new file mode 100644 index 0000000000000000000000000000000000000000..86e52c155225af7c19d2891a94ac4caf0feee1b0 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`O`a}}Ar*6`21WB7P~cd7I`7Ee z{sS}b98XH|Xf!qacr~hv`9MoM$AVw6(Qh^v%0BVXanwzi>yo`k^^KxYzipj*fxsSy zhG|9utuHuzwumlz-&Q<{TW6E{EKBhXPgr&~yM`^bydo*`Aohcv&Z+fxvK1TFu&6y^ lsaDiWx-ipP<=>BU{L`PC-L|;xuLyJvgQu&X%Q~loCIInNM~46a literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_32.png b/assets/bigbug/garbage/midground/hard/mid_h_32.png new file mode 100644 index 0000000000000000000000000000000000000000..75cac11dce597c1efb982d2decca01519c2600ff GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`O`a}}Ar*6$21oNXDDW_^-|}0& z(fDEeIo;T9m+1oH3;1{4xOM(jQhlB31&7Tqjti_x+o-qc=bO#?9M_yxlvb;6SeGL| zZ=?H$70y~S3sXHGOgF!Djju>iLiTR0YQid(j#}A?QtCb1(jM%!uH-a2Hp6kX`T<$l mBt7ae4lYDgVayy`F7(8A5T-G@yGywp*v_;PV literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_33.png b/assets/bigbug/garbage/midground/hard/mid_h_33.png new file mode 100644 index 0000000000000000000000000000000000000000..f4a57e47567d986f32a6ecd80b0d99ef198fe260 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9iA?ZAr*6$208K_P~gx$Cjarj z`UkbL8GbViOqCTkvSo2I**7!1Nc`K>V3{ZC*)e15#GaIEU+NzCa>q{Wus0Vqo%&YQ z{X18~ijz^I)uwK)l@906G^v`Ds@C2$+v~}*uf4*ES$@m@)){kN1ttr8mTGpaop?0+ q&S(A>;}83DTQlR5)#h4mDPnw9?t0TT$DbeQCI(MeKbLh*2~7YtCP#Y! literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_34.png b/assets/bigbug/garbage/midground/hard/mid_h_34.png new file mode 100644 index 0000000000000000000000000000000000000000..43dc7d540bf96a7c025585dfe9c0dfd3ee21c8fd GIT binary patch literal 195 zcmV;!06hPRP)cKqfxikZF6F!A0qVJVe6&gV4kKQejm4><1AlX3y*GzL#sKbLh*2~7YvmP=Rw literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_36.png b/assets/bigbug/garbage/midground/hard/mid_h_36.png new file mode 100644 index 0000000000000000000000000000000000000000..8a289502e1d4238e4f4c35cdaab5afa5c436f1d4 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FprVLn`L<2HoamP~>nfmM;A- zIOF8+1J)C#n<;(_^m3HuWXoj8KD+1JnUstFQoJuIiFv&!oZcXiv(;ro__sqT$C=p} zo0m+r-Bc{PkF_^L?wF(Qgj@Fnqt`_RU#y>bKF!jgf1cXhd4=z;yRQ-uosn+4;JB!8 zNAnBmc$s;;iPLzRmRhd53O>oiB1evrbwPq%IWg-w$*ggQu&X%Q~loCIHBT BO-uj) literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_37.png b/assets/bigbug/garbage/midground/hard/mid_h_37.png new file mode 100644 index 0000000000000000000000000000000000000000..59ea318427230f5d94123a5282172326ec4e4362 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4W2HJAr*6`20QW{P~dny?Qh3_ z`-A2?g)d)Ky3x|HVu^_;!!Dl98>{xQBk0fd%5czJEW#P1-ga7)78&qol`;+01?znMF0Q* literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_38.png b/assets/bigbug/garbage/midground/hard/mid_h_38.png new file mode 100644 index 0000000000000000000000000000000000000000..ffdf9f59ce51ea2016f85cad17173fa2632ba7e7 GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FglULn`LX4UXnJpun*@&HT|n z_Xj@j+-01*PS2Y0V}+=OSqG2H3MQrB^BhywT8C_OQ>k)sY-db3$~zOpq)GnGzQvM0p%3ear~p00i_>zopr01&-U A8vptto22;v6liEVmb_%@9ei&^prs+`J4PP#zN)X;P*{#jnc`Joz~hXOv`>I z)m6>4ab|n*x})!061NpPKld^B&*)RqlHz*T5P3C0DIk2!iXGhYDSjRoq+E2)EM0$~ yKGAr=a)ZlGl@CfEaTRv_SQypZGk5;1BIfr(wsH?R>#KoIWAJqKb6Mw<&;$S`14`2X literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_4.png b/assets/bigbug/garbage/midground/hard/mid_h_4.png new file mode 100644 index 0000000000000000000000000000000000000000..37b48cd03227f40438e91b0edb62e72182248768 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6y6BY;<7#SG+S$>2; m%`4U*>%a=e#cTm585md=G0OH`6%PZdW$<+Mb6Mw<&;$TyDHezT literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_40.png b/assets/bigbug/garbage/midground/hard/mid_h_40.png new file mode 100644 index 0000000000000000000000000000000000000000..26401ac9097f2827de174363be9c13a8a62b5616 GIT binary patch literal 209 zcmV;?051QDP)<25^7QsM_IuSIYAnN z>i*r?0i3CGq%teEQ8i ztb5QPB>-oud-WVN+}IdBdTgWPrmY~NRuyf7;&}HU#U9j1xhh~@r&^-d!X$b!00000 LNkvXXu0mjfz=&17 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_41.png b/assets/bigbug/garbage/midground/hard/mid_h_41.png new file mode 100644 index 0000000000000000000000000000000000000000..bdfb3eee6c522e1a51225b3e04bef9245bd50ebc GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vproLLn`L<20QXKDDX(P$iMyX ze`EHS2IZw?D>`T9Y3s_G81H`bWyg65#nZLfhi2$A8UFvXeR`9QR@fR{))^_sxHxQs z56UOBgc$Vca7}UX-#7DjC0CA;<}2yhOp9ONWZwH*V(RNP4BJH+)#^O;edJUblxCCcB&gwyJq?$4VceJ5zqjqFO_m`Z&t|x$Y z;E|w;E1+r@zjJz!Akw%o5K{I%__G(|t}lGlMk)_VewujNf7O_zXqx|5oC+$aXgxK& Y0V1A~XRlfFYXATM07*qoM6N<$f+`?f=>Px# literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_43.png b/assets/bigbug/garbage/midground/hard/mid_h_43.png new file mode 100644 index 0000000000000000000000000000000000000000..1d4e938bde5be93b7d2343ea3ffc1895c1369e24 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`i#%N%Ln`L<20QW{P~cddV*l#@ z{0FnQH9rt&?LFedHD%Qr#vP0dDi?nLU`ozUn=$jK#}>~AXD1(dXC(I}7w#sBkC3Fep|B&1(znT5W@?WBETN^EN?)&p+ ny|Zp;%KXz){oP+gq#=**>b>Gf2NPwWa~M2b{an^LB{Ts5VFgP3 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_45.png b/assets/bigbug/garbage/midground/hard/mid_h_45.png new file mode 100644 index 0000000000000000000000000000000000000000..86131c337a46fc59cf401de3abe9ba0b5891b82e GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FglULn`L14RYi=pupk0S^n#P z{|CPBlp>D`O;1&Ed&_c*Z?k-ogu%XdXU`l9;=7Q0=jrym2EU^EGC#hWi4(#DdWx6% z{ZP$x7k4OM{yjHrwQ7NjLoAy z{`~IanGz^-v-X%Ov#Et?oq?|RP4&-9f48ce-(g>?YGW~N8PIJEp00i_>zopr0G#Dd AGynhq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_46.png b/assets/bigbug/garbage/midground/hard/mid_h_46.png new file mode 100644 index 0000000000000000000000000000000000000000..99f54da262785c026ec5d24929de0bccf9ea8d60 GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FglULn`JR4RYjbFyL67X8-E{ z{0-)3xh)b5zNSn*+8A((fr0G=V}jh)`#&c)RDAolUt|LF6N@QF8^4sjzr4PDqyO{- zVbcxYUv7743Uv&#Ro=(>M0GV+=AytWm!1SH&6z0Dq_LUf+%3!4tt*tYG@~NLUD9IC z-LH|>3gO@7<9Pf>Vx`i_&s^`L3QruH`qz91!^VqCmqr~kZveWD!PC{xWt~$(697h_ BQds~1 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_47.png b/assets/bigbug/garbage/midground/hard/mid_h_47.png new file mode 100644 index 0000000000000000000000000000000000000000..be02f5cdfe3ceb979ac17c8a7d611104e7e9ab3d GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{hlt4Ar*6u21oN9P~cddV*co# z`vaeM&U0srd^1k>m8b<1Lw&EKcP{(xgTe~DWM4f>N`)6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_48.png b/assets/bigbug/garbage/midground/hard/mid_h_48.png new file mode 100644 index 0000000000000000000000000000000000000000..61536339bcaa0a2f2f1e1a4f09d3cd9dcf74f6a9 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vpiiKLn`J>4R+)^pun*@&HmN@ z`3Gj-Nz7ZVuxsLs91m_*ogHf&dtD4RzhEw4aS)R5ILjdPbmarSA5IE}rVQ`vS zr{rQLt#B_}uJG<GwmmY&U?;WAJqKb6Mw<&;$V0 Cw@haM literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_5.png b/assets/bigbug/garbage/midground/hard/mid_h_5.png new file mode 100644 index 0000000000000000000000000000000000000000..37b48cd03227f40438e91b0edb62e72182248768 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6y6BY;<7#SG+S$>2; m%`4U*>%a=e#cTm585md=G0OH`6%PZdW$<+Mb6Mw<&;$TyDHezT literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_50.png b/assets/bigbug/garbage/midground/hard/mid_h_50.png new file mode 100644 index 0000000000000000000000000000000000000000..13f2b12d24e224cd1449479f3da606552cb11e67 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q#@T9Ln`L<208K_P~dRhEdTMp z`Ukag0g;U>RJfVEqqnqHnIyea7nDjDF}ohqnPK+FUtiHlKBc!|=Aw(~dAr=se>-~X zduf=+BHc3`f@`;Ga=h?%t6jlh_*88!!mOQi zejXGrbv&gbqkr}4jZqdQ``xrc3{an^LB{Ts5 D;i*Y- literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_51.png b/assets/bigbug/garbage/midground/hard/mid_h_51.png new file mode 100644 index 0000000000000000000000000000000000000000..0796ef1ee3b6e5d9795617021b9823e81f0c93a5 GIT binary patch literal 209 zcmV;?051QDP) z+Y!JZ2n${}V*e4G$$t1kh!5|)7A2Tq6aWRPK+YJW$M)+-&6i|?n0N*Qsz?javan2c zMcZB(Q?*XJ*4J6w3f%#|_}s@wo5r+zDGevRQqazTu~(7;fSsng=9qtejVCEo0=q6o zIZE3Y$)CDo@yvjYCkDL_9E@os<}~lhjgiie$x2~tjz+rmr1jtj!>NKv{{+oi00000 LNkvXXu0mjfo?=%F literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_52.png b/assets/bigbug/garbage/midground/hard/mid_h_52.png new file mode 100644 index 0000000000000000000000000000000000000000..8f61f53feb0298bff2471fb801c100b527c6e7fa GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q$1ZALn`L14Z6+SV8CJHYo7F9 za1N)vh!cOt-wmCO(+=6{d^j!ia0SB`Z<~xMd5#PZcG=iE2P!iC*Gju4^S$NYh2&Km z#lAQ2UC)`!ym!*Rr$Ww)Bk{vX0M(pm zmSa^fFtY*%R%*;R7670Z6Me{4ckE^nCXGrJ$bL85NU~%{hve??wOzxted&#N2j+)u zP0(YWAJW{s|Nr@$($!Ao`XL3|nzPuSS1R+hg;{7ndZN`XIcMKKru~dH?K3O1CyV+6 PUCQ9;>gTe~DWM4f1Cms( literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_55.png b/assets/bigbug/garbage/midground/hard/mid_h_55.png new file mode 100644 index 0000000000000000000000000000000000000000..3f520797860707f025879dcd7b1f9b05efbc8fd1 GIT binary patch literal 215 zcmV;|04V>7P)Nw4+-C9Q zxbGN$3h+a9SB(JlNvD$WBk?HAiQqAoxgx)&pFPPwn4y8kSW#A!xZlzk8R(Q1ICzi~ z6vzt-7R$ukT}hG*cE`p=9{rI))%mLdfIh*>`9e2<#)Wpi?EJbfITf|t_yzkuf~6QX R3vd7c002ovPDHLkV1jqZT73Wj literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_56.png b/assets/bigbug/garbage/midground/hard/mid_h_56.png new file mode 100644 index 0000000000000000000000000000000000000000..532bbea0374ff18275b2361044ca19f251a0de71 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^E_P~Ln`LkS{W4ZHijbq#*k*XBRoGj1)R@dQD$vhsyW3uXEF#&N$g?NLRdLnjOZz zqE5du;H+TYa*ZEV&qVDu1|4vzPRrYISF_?n{k!8o**5j8)3jO`a}4M}22WQ%mvv4F FO#m^jQ33z} literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_58.png b/assets/bigbug/garbage/midground/hard/mid_h_58.png new file mode 100644 index 0000000000000000000000000000000000000000..46f28317234e35ec8a2d153fa1aad3811fcc9eea GIT binary patch literal 220 zcmV<203-j2P) zTMmFQ2iv(fGtD1yP+*b7jPa<_;sCku$L0jccmlZ10T2=(BY@BO7=Q(Gy zTMob=48p}5_5MfbncR;~imjQ+;vP^6b`8LQ8Q_j|ua-Li;NgdF7f?ms1(uRoR9&4Y znJ^8&2t{t{TyWz1m8b+EZwr|c-)pFn*?`%YR`z9oOfVMSmg3~ k1><729w`S`W(_t5pM8w7$~GQ{fhrk1UHx3vIVCg!07%Uh%m4rY literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_60.png b/assets/bigbug/garbage/midground/hard/mid_h_60.png new file mode 100644 index 0000000000000000000000000000000000000000..0bc44a096794ab1e0fd8853c0040ab7d34837cd1 GIT binary patch literal 256 zcmV+b0ssDqP)!~J9Q@Cj}yeNu3Mo4>7FL$le! zb)+7YUNPQ&YE&lK8hiJ5#*?KqOFt3G!c^H~EedG{N%#SHqu-#Vi{ESj0000s1)#2^NqrU^H!B1EU&7(* z+LG14kVX=Zy1nUF;{s%9k34rD0G}(05{Pu_@z%ibVQZl{otO!Wdef>mtlo>63V5Bw zuc6s)kGuk)Yx2@4OjOz_>DtBw@+X#fS+8c9ymJz7lbHY}h>mNv;2oqN=gz}uCku0^ P00000NkvXXu0mjfdzx~d literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_62.png b/assets/bigbug/garbage/midground/hard/mid_h_62.png new file mode 100644 index 0000000000000000000000000000000000000000..72e895aff55b5ea8ee2b14d450f4faa2b3465ec1 GIT binary patch literal 249 zcmVme67l6;?R;Gh&;ooz zHInOv>Vw>jQvWI%00U_hu^gXHiWo&~cyc4B8SCtQ-v=_t_#)@^+<&bZ>uk((?<922 z|I6M#9PvT(Bw?nnbK-tT=S3}XK9`g_r!y`ppwszVFfwW(KU6KI<v{wsZGg1zHBCE^rA_t&T_F=?F%Nj&00000NkvXXu0mjf;&Nw> literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_63.png b/assets/bigbug/garbage/midground/hard/mid_h_63.png new file mode 100644 index 0000000000000000000000000000000000000000..37b22c407b6663f24073c94397324d7e609c0316 GIT binary patch literal 263 zcmV+i0r>ujP)ae00|&*_2wPeF{J+h zdY*kw0whM4Fwu9K%UR-H^p$3sWlj=u+7;wFHK&1QfHWBg>GMVc0K6_^I%)ROY^rCi z-1|Ie8bem4zYgGIbWfTbq-s5m(LEYY6AE3Mmv>BpL7Lbvhe4HDXOMfaL$0G-*q29! zySX&=eb^Zo-c6&cC;EuvEA=ZhrVQ6gGM8xbpp88DAZT_EPX9oF{Q&N9#j=#E6lnke N002ovPDHLkV1k+1YuNw* literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_64.png b/assets/bigbug/garbage/midground/hard/mid_h_64.png new file mode 100644 index 0000000000000000000000000000000000000000..a512b748e34902ee44bbd1ff97c47f4f678389a9 GIT binary patch literal 247 zcmV*1Rw64aYD%7?gjvm_|KxT z*iOktagV~k;S`-M?qjG>+=K&Ne=-Xa00<{!tC534BI(&$lp6?wd@IeE{-Qx9kQ3*v9|>002ovPDHLkV1kWYV!r?Y literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_65.png b/assets/bigbug/garbage/midground/hard/mid_h_65.png new file mode 100644 index 0000000000000000000000000000000000000000..4b56f1b995a613cb58e61bf25819ec1bd7a76614 GIT binary patch literal 247 zcmVbpRdY zv^0D8yEx4{&3aX9VQ}3TEYK!TDvFUUB#3T<*dwF=!sMiBaGUlQV=#FVp{<2Ef8VpfeI% z(35DD=Gq2klDj@T^*v7`GX(i{wdtkaG27zo2$gUb xvI`fR3p$|oA#7OJYaGLjlidYg+d$`y{{q9E)0V*DA?g4C002ovPDHLkV1h*~Zg2nq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_67.png b/assets/bigbug/garbage/midground/hard/mid_h_67.png new file mode 100644 index 0000000000000000000000000000000000000000..a91ed22ddb381fbe0382cc75d6bb6c2f5b50cdbc GIT binary patch literal 242 zcmVsKhuxr3xwB?6fw&MzyJUM07*qoM6N<$g1jDL5&!@I literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_68.png b/assets/bigbug/garbage/midground/hard/mid_h_68.png new file mode 100644 index 0000000000000000000000000000000000000000..247fb80f693b9a35eb2aee628e14cfdce008fa39 GIT binary patch literal 269 zcmV+o0rLKdP)qy?f^bW2p5z_;sxXc z_HaU$aL(B7@qiK-01JzjBq8Z6rR^n(L_sP_sUQ`g?xCMgabaLrv{v~a25(Io+BZ*Z zJjsdlpZQW!Pm)wS5g7%r(FILyiga*ozNwLb1bNxVXKI@5J=247{2&O<+6w@YptAsOzz$ T0?Cb<00000NkvXXu0mjf50q}Z literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_69.png b/assets/bigbug/garbage/midground/hard/mid_h_69.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b8f731d5862785871f44d97570c3759ca5459c GIT binary patch literal 272 zcmV+r0q_2aP)0a|fOl@dU3)t_;S;36y0|-L?@9(gSEuk~c-JbyeUxdN3uv`B{HDw+*hL z;9_G^7wTFUg04uNMB>~LyfrS!l7epn>8^eBq&K!i{#@$J^5@^+-i2FAyk6<6Wt3Tk zq(^gag7a&HKW*8>VE6wK?yOHlEk7!y(U)uMC7MJ7IN~-g#ELcky@{XlQuw?`qX&Om WQ=W0*DHt~Z0000oOfVMSmg3~ k1><729w`S`W(_t5pM8w7$~GQ{fhrk1UHx3vIVCg!07%Uh%m4rY literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_70.png b/assets/bigbug/garbage/midground/hard/mid_h_70.png new file mode 100644 index 0000000000000000000000000000000000000000..50bf795aaec7b0d3e9920d5712db52c1e3472d71 GIT binary patch literal 276 zcmV+v0qg#WP)B(22#{~H4`ahH$=?jY&GnuUKDnEUU3-e^Zuh3b16n-w1!v=%C& zD&+gS7XK^;1`njbFFKd;^qoN=pvP)uq**7?0pK|XkKLsdNxu2Q;B(N9BAU%2xkKr{FE<#7 z+r)|y&GJ!6G?2Y&UZpIRkV8UiahP(AYx4jA+bLtwEO)5#i*%}x80?_?n>Y9aGS%4V zM_J1%M5Nj4#GBQF!E;DAR9Ggj_Dz7(2fGSmz+f`WBt`z3Ec>9i!Bx`m!57u6qt}+D R&LIE*002ovPDHLkV1mx2cAfwL literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_72.png b/assets/bigbug/garbage/midground/hard/mid_h_72.png new file mode 100644 index 0000000000000000000000000000000000000000..61cb51e4cd7d903c14b6fc87d61f14880b8ffb5f GIT binary patch literal 261 zcmV+g0s8)lP)mQJSgzO15{AkZWltAKMNSkNX z1dxlj^X0ZR)w;w(QHou`X*ipm3M2n-8g=#iWGqfobCVskoeVyMB_`d2_&$Yeg{xFbk}!? zB0*G20~%6#mC}xR(Ii^RxEK8gHsfS1aUmgT8<2ib_Y1xXi_OD$F+VixU%48z3?sL_A|qPv6AIDR{uDo0bmr@sriZ3 z4&=^YEl%po3O5!DgBVBhtp6mdUkNr53E27LhkPx0p zzY6r^?lDkAqjxsJ3Qz5L-`Xf*AvxQLO5z^?0000Gb+(X%TLWp*FXDta2*ta%FD}~xT1A~rE# zl}pbTPl(3hl~4py|I~bR!VQ~v?wqg}uK(I7@lfXcNz&xJBe8uzQTE`(xxU0{fJ7km z3UgJv2)FY`aUmEMO_*ELzKIn+K-?RJibY!On)kPTCT@hU0bj%odtJ6_;Sc!_8Q`G> Tfox`r00000NkvXXu0mjf+&gcf literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_76.png b/assets/bigbug/garbage/midground/hard/mid_h_76.png new file mode 100644 index 0000000000000000000000000000000000000000..45349d533594c4e08feb14439277f2b5114c11a8 GIT binary patch literal 268 zcmV+n0rUQeP)>!9x;A#($5?4}-Rw8c2@} zbjQsrNCG4@1|&s3pez6yApJM-l>;&)l-pz9Y|?B3m>~BD)b)@2oNn~2F*XAqWb5Am zSz7~BUQhbpI?aF1&t8?1`F~gMzqvL0Mt~6p#i0PzA`aB%!Jx*}}C(yt|-aDIo1s?8iY= zwH1qC1S<*v%f$dDfRS70Vm}nI4l*ohH^09rVid8R!9|YuU}aaliEF?$=Z22mHMli15-j&3l^=OurL9>MQXHCfznf732kg4^;m9j25naOW*9)5_YsSj{?s?k%Rt7QBnDwkT`68P8z>K&4x-d~`DQ&d8a z7650J01}zlzm`efcX9w2AP3DxuK#kv9zgXuk$g4lP5y4yri{>@HPS2wN^-@`eETpo zEm9qp+3HRqxs%b+RH<_&xt>?8bFnt<-p}U%UKhT=xqmvp<63ilV+T{e%2MwktK}Ii zYn*ByWVqr(p3W@(SB;zIJ!3e@X{r85E|4HJT%v39pDXV~XixC~TbB}yTQu``00000 LNkvXXu0mjfP(W@Q literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_79.png b/assets/bigbug/garbage/midground/hard/mid_h_79.png new file mode 100644 index 0000000000000000000000000000000000000000..d2d445739aac59696f23e861de941163c06a0125 GIT binary patch literal 261 zcmV+g0s8)lP) z+YJLT2y;%|$U89qNUjyatF=23s)frav*LjPJ2)ol!wEe#AoAnu@F4($rBdI zecBS%Wy@~y6r{8uww0@(mQXI4A0t_)ff6v^{Mv7!5HkGm6`EIUu2 zA}UXbdxNSoI{s_HL%S<70ZfpSs?$lGRBisZHK$Nv+I2N9e%aBW?OX(bPH1I6rq^^p z^0n(jnT~KF@FY9WrHRl-g0d#*@IL@jwy6cxd%uq`AuT-&pTcdPls}EHJHa*H3&e9? p?4e3OJ32Bpcoa!LJA0ED^B<8r!dqXtCXE09002ovPDHLkV1oJQe4GFP literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_81.png b/assets/bigbug/garbage/midground/hard/mid_h_81.png new file mode 100644 index 0000000000000000000000000000000000000000..ecf81a5ffee75592ff7490f6d65323fa45126f6d GIT binary patch literal 270 zcmV+p0rCEcP) z+Y!Sc3{!gDNIRLCU?LyC4AxGy?#rwQbs~?+SUO8At-; zc+deaP)Imt2C)f17jQbfFreAMV7RfhzL(b28dOTm7Y1|W8pOZUB?5TQwDV2K66W<< zI|J7G$Y8E~W&i*ry9<)y8xg#4z8=~gSd!cL6mBD(ZrGY6A0W@KHSmUd8vk}-0r%K; z;?i*o!kxEBSbCle&xf2#!p=sO@>Ba=1G5`oetqfo-JE844f@HU7c%vDp%@?82O|EZ Us~9{Zw*UYD07*qoM6N<$g4`8x$^ZZW literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_82.png b/assets/bigbug/garbage/midground/hard/mid_h_82.png new file mode 100644 index 0000000000000000000000000000000000000000..5e5243872fa86a747cdd6de84adb7c78ca4b48ab GIT binary patch literal 283 zcmV+$0p$LPP) z!4U)@2+KOxQF_vvu&31IJysOm_2&2>0zv{_$hn~lNk{@DFlX$t`y?Sj0%`>$kDBLA zNIvd9-2;$NtsXhgp8V302R8r>WTRP&_AgDdMzePHi=WkWfW@3~KOo&OB+zUoZP--` zXaYUqFbRYdO_p^Gk}C=k}y>Oh<%Ru2B4kbEei0g zV3AvZyvXrm?iSt2SQkV-dsD)C-&vhGvARor>x^T>o+2+c(}N7|{n6+}L>?(FQFVHw ziVNf>!ToS%xhq9pXDvFW9N@)>A_2~YV73@!AC5_6;3iiU6hWg%bmTHCm^kI$O9QR< z$HYx@aiPi}(W=VM;Fkw^TICeZnV&w?Q*iy6c4A^?bLIPBwh9!Fh9o$~Ud(~sh{T;W fZyNu+0mpp-+9sK{eS>A100000NkvXXu0mjf6hC_a literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_84.png b/assets/bigbug/garbage/midground/hard/mid_h_84.png new file mode 100644 index 0000000000000000000000000000000000000000..e64c4ad7488e32a87e567b9ab7973837db1ddba7 GIT binary patch literal 273 zcmV+s0q*{ZP)x)!k$tS_gHmB&)4x$P!b4QK;j=OG{ipupRuFAQQiB^!}$d|Q~}kR zE=zpkV)OOnO6k1NJ%94UnK&2I+*-Q-P!n`KL|Qy=E2w z0%XuVKn8%Id-6|fX`580YCW*+cBRs0EhL}|*aRIU&4+|hK>}G=X*R}~0MMtfs1FHr zA5+lUhBRUYWOTIj7JAaJzcK+{ogs~K>U|S&j!7tOjK}_8A@)}YvQ6Q1k$nAyxwrNO X6UCyOxjpD(00000NkvXXu0mjfXclrG literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_85.png b/assets/bigbug/garbage/midground/hard/mid_h_85.png new file mode 100644 index 0000000000000000000000000000000000000000..74cb5dd6e4dc1264351ae9f9b6ca391d6b797e3d GIT binary patch literal 260 zcmV+f0sH=mP)3Gc+2d>?{Q=9ZVtWKlXSrC31X%_2hc&z zovIxoXWV0|cB=N`!0n>Q5YQSZ0y7)9dsjW00DzI?UtGvIbhJ|-(s`J~Oy1-$g~aDc zKFmf7LDbr|o7qsX_B5+ILHJ;CIVl+?o*q-QKtAq&PhsO;)YMrmG1FbPY-GwWAp2Tn z>oxUzBB&tuD&%lE6x}Ecd`@9YT+T5abJ85w3;RXwGRpKa0pJHU+?``R6UOWS0000< KMNUMnLSTYU9B)$q literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_86.png b/assets/bigbug/garbage/midground/hard/mid_h_86.png new file mode 100644 index 0000000000000000000000000000000000000000..5c6ed3137bb78e1d125444b8ccdd2411c780794e GIT binary patch literal 262 zcmV+h0r~!kP)Qz0L&PWl0jcU#_0j_i8xy15$f5|gp*ye_o7wo7B_?^c?^sTm4Yed_+hmTB^KW3yNO8KZ6sO%#FE+BB=K znmguvi+83c#LYW6CP*8<@`G_^ZdfSro=uf|+M3S($&LoEEsgUAzhvpRjP8~7h5!Hn M07*qoM6N<$g0E0>rT_o{ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_87.png b/assets/bigbug/garbage/midground/hard/mid_h_87.png new file mode 100644 index 0000000000000000000000000000000000000000..9ba2d91c14b73b2427979e86a0c9eb6dd575cf69 GIT binary patch literal 260 zcmV+f0sH=mP)C-QK^9SBX?dgg%D`FLF9xPKw_@I@PX$)n(qN<%Vf7zawITA zn?X)e16LS1zqYKXnk%Ue-|0SxUi(adQURxiQY<3L=sTN2J)<|6v>JT z9{lZ`?hCd?eqbuYvcDR>9?kTHS}ih!zJ@ z+xVJ6Jgv`DFjbHSGrr~!i*6JQ0v=AE{mEJ|9)R^g@Y~{J`mtW->VB`#V+(Nr0000< KMNUMnLSTYgqi)Cm literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_88.png b/assets/bigbug/garbage/midground/hard/mid_h_88.png new file mode 100644 index 0000000000000000000000000000000000000000..dc0d783b8ca3d02bff16d6e706546117e118bd4e GIT binary patch literal 288 zcmV+*0pI?KP)BSx)$l&L}s_cg9VZ{a5AlX mFyBFb10!D>I)D^`ZGHe3vzS^>bt?q`0000D%qk@8Ml+}s&L`ZS0W>H80000oOiHGNLl1y n%nSsFS1>MS>ya{u;9+106kt^NV{M}hRLgTe~DWM4fmM0bA literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_90.png b/assets/bigbug/garbage/midground/hard/mid_h_90.png new file mode 100644 index 0000000000000000000000000000000000000000..e5a87b889fb458732ceeea0aa8451a5aa83208c6 GIT binary patch literal 279 zcmV+y0qFjTP)NAeuDHIK+tXSa~5K`9KW-+hC(@Bg{6ErZd|Byhqd? z(Z5wp(&VdsMpVPS$BpqF$E9kui6F5fuz2?lXHxHb(!5dwz*bgUZ6ylQ_Z&6Evz;rG z+8_{tKz3U#P%=K-#B5dJdG dajD`kY&p41?Y3Hu6qkre>$i)ce7OJPwd51gg#F1TKiYFat>VOcJIF0Bc=_jX4>wyNk=% ziHnipULrSXKP(d8%4-t$?nE178BF2~2 zPCm~T9{@~|is&B@qWmTf1YtlHRPX;haKz!+aMj?Dv6I9Ljr~s{SP@5kq5jN!OU>{F XX<3fFo~}X@00000NkvXXu0mjfBJ6X< literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_92.png b/assets/bigbug/garbage/midground/hard/mid_h_92.png new file mode 100644 index 0000000000000000000000000000000000000000..ab7eee220c803aa4d1d0b1002f9cf13be24cf860 GIT binary patch literal 280 zcmV+z0q6dSP))5Nr zc6SA&PO!qKM5qB0d#!#|(|IT$bxH)yu1nIjZ!M|lHdhP&c+Da*F}pcZYk;%>d>fuu zQn63x&eY}S8UWB)qm~AMU#3|wd2qq}uuckwL0uj_zz0P%n-z?=x-qei9>@w=YXVS# zN(qn7kb#xFdwmS(3a|yTT6_D2xgTZ=-fgAKSpXmjlJWn3J_9)0l7WLnS3YLYS+cwc e%#|c&Z}}HvMyY#=FGmyr0000wsp9L5X*`aTZ zGQ`IWAcORkG3KLRk*Uayy3~N9QMJNPzJ~=zagRYW-&DA6{3JkHwgiz1bx%8`Et(O< zRfb~z%@wR9RlkMc$?gAj>Rwv1K#p-byHaEs;_D0+-9dt^h!W(p3Ul>P8Bp%VW$om! z-^}buVV!(|yu6nI!B$2KVat6#1Jz!j$<~kz-Pd!!2Tl80eY^`JbgFKs7=E*_ozFp+ R6-WR8002ovPDHLkV1jN;ayI|~ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_94.png b/assets/bigbug/garbage/midground/hard/mid_h_94.png new file mode 100644 index 0000000000000000000000000000000000000000..9b8c3e862caf87fcdc342c5bdfe33d57694c01bf GIT binary patch literal 279 zcmV+y0qFjTP)iAFhS&jDnPT;B^QsJtugHGC`1117WSPVJ{SRjL_sHTXG{EcmO9thknHJCf*-=VZhHAw{sLAs Vj8S(ka3cT!002ovPDHLkV1gN%YsUZp literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_96.png b/assets/bigbug/garbage/midground/hard/mid_h_96.png new file mode 100644 index 0000000000000000000000000000000000000000..16ce8bc9fd90b1ad44f5d229f31108e7a51b9ae7 GIT binary patch literal 283 zcmV+$0p$LPP)W^_Ubgt9GNnuXg^eIU!n%1O4$R4@&P`H+)qmQ`voO> z@$F*;{~=MkP)Y|nQdg}VsRLcLF84QijKkJtm2x#Kan3k5=i%hmVA2{5%?-xpu3*`) zl=UgW)Sb73ePxUf-pY@gh}37aIf*#`Eqe|y#|YeWpL=l2OfT4%0I`Y<4_l~GMh}uQ h{(<`*M>^Ns<`4OwyTA7z*0ulu002ovPDHLkV1fprewY9N literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_97.png b/assets/bigbug/garbage/midground/hard/mid_h_97.png new file mode 100644 index 0000000000000000000000000000000000000000..a0a611e4c706c5bef48d2674eecf3537991e70cd GIT binary patch literal 279 zcmV+y0qFjTP)NB+C)q9q zY-|rc+mnKbbJcT8az{ePAY=9?>2sx?Q7UT*TrWKDLj|dbJGipQxC`Q{g~f8M?09@! zNB0Xb63a~lE?^IEvpwK$A*;;G^VD9h`9{P!Ce}E}{LD}sIKzZ=gm d_hhnQ@B!Q+nXSAa#C-q&002ovPDHLkV1f&#c#Hr5 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_98.png b/assets/bigbug/garbage/midground/hard/mid_h_98.png new file mode 100644 index 0000000000000000000000000000000000000000..7d26baae66bd01ee82a74466e433ce39e51cf42d GIT binary patch literal 297 zcmV+^0oMMBP)p}8q8sd_0Gjx#4X5~!PQ$({w001qTO{F8 zBxWQfq>%@$N-v^OFx*y-Rm6W52L*$I vSKCrGzojmcc>@X3rx$!Rl7|Z`vd!jS4piBYWgFUs00000NkvXXu0mjfVJLoI literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/hard/mid_h_99.png b/assets/bigbug/garbage/midground/hard/mid_h_99.png new file mode 100644 index 0000000000000000000000000000000000000000..4d1ac2e7ee9dadb6980e81e1640d3a25481036b4 GIT binary patch literal 288 zcmV+*0pI?KP)iy)izzGG`n-bO}0o8Q$P zb??;Pm2V37}AQJdv-$FGdvE=L6&j ztH_}0@Z#YdA|bxG^Hn_{=Vy9@0iby0L)YiOHSy5FilgeB0@J)RvaLowCRJaRooBqr zjoeQl$4xVL{HK)ND$HQL!&=)Kr^rUgO3Vz7ltpHu`&4xb42Ww_RgmVN=}~#pznBDu mZbt{JoOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_1.png b/assets/bigbug/garbage/midground/medium/mid_m_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_10.png b/assets/bigbug/garbage/midground/medium/mid_m_10.png new file mode 100644 index 0000000000000000000000000000000000000000..045af8c2337590d742b4bfd367e8b64904f78cbe GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`+MX_sAr*6yQxXz>oOfVMNJ>aZ xSaOA->%a=e#cT@F4rN&~HgO8p?m=&u7*3yKQZVz~^B1U%!PC{xWt~$(69CFw96$g7 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_100.png b/assets/bigbug/garbage/midground/medium/mid_m_100.png new file mode 100644 index 0000000000000000000000000000000000000000..9e7e95155b89b513457406e9a19ec55cb7b3a9ec GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gd*1#Ln`J>opf4|MUlhhqLFgZ zt2u3RIx?TPu&!Bg*_>7GzS|jlFQy6mJwiQ0n|(u9u4Rx*YP^|NuezWq?ZyTlB_Wy5 zx2M0o`oU&%lkAe9^*qZH()t==Zmn%&UB|HcXGGfP_wk!Nkle1{HQbD!zCqRn)tjW`QdKdt($BTJCV&me(A>KOxU<*+ zB66IfonR_fRr%zm`_cIlgn@0RY6zju4V%wdEJ_-`_x4OtN|~36Ott z0Zh|ZR+xyp6g~i*iScY^+pCz=M-t-%K2d~p;o3=zRFYf#Z!G}79K;v=JTdeO=1yaG TPdH0800000NkvXXu0mjfFz#7U literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_102.png b/assets/bigbug/garbage/midground/medium/mid_m_102.png new file mode 100644 index 0000000000000000000000000000000000000000..5c2bf60665ebb17da8cc21326dbcd2d8a14b4f28 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vpiiKLn`LX4LT^;V8GEGt7*M) z@|!6$zqGb@Y)zl%;1sp#=05pJ3=ESJ(l~ZlYn^!$cHcp+^g-{PvocOV)i_bkR@m(B1v4DvHmSSp6wICQw-3v;F(J z361mX4SI|237z;a(9ykxuSsUftVXj_qLXfYV5xky;P$P~iAOj;ZV$fR_ws%l(3K3H Lu6{1-oD!Mt<8 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_104.png b/assets/bigbug/garbage/midground/medium/mid_m_104.png new file mode 100644 index 0000000000000000000000000000000000000000..e8fc9804a144d08c11198cada1a05e226f4f9af0 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`D?MEtLn`J>4Z0|LM1iBbHgC$@ z8!O)(@wwN&oPT1}Y<*VYrU?#7>qFKNI literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_105.png b/assets/bigbug/garbage/midground/medium/mid_m_105.png new file mode 100644 index 0000000000000000000000000000000000000000..3b6feb010eb9a3838b425c1fea91f82353bc30fa GIT binary patch literal 224 zcmV<603ZK}P) zQ4T{P2&*r2W8{w0$fZ;5n7V!~%svw1Gr5(LdE^PKX|H1Atddu1VkxGfNl% z%xpAiAX7Iy#l*(x}agg?0{8n3QvRtYJ6BkjWG;Ii$YAQQtXE9QSwnHd%w zKlATv>7Df&o=V-hcMq$%p8OPvgm{KbJ`GKWbrnrv4e#8N7_K~dSaOL!wJON= UqIl67pmP~KUHx3vIVCg!0D-wyF8}}l literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_107.png b/assets/bigbug/garbage/midground/medium/mid_m_107.png new file mode 100644 index 0000000000000000000000000000000000000000..018fa1126a04928fc6ce2fb196527ea56f4b08c9 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`dp%toLn`L920IEhJ8*FO)lad1 z>iU!1RBAj#N=;bJGj54he@<0O;l8Zzeiq4#P0}vq%_y#2Cwb!H+(Pw$!jhAHd!nB| zN@%~!b$4(1g^9aOy?=2|h`IKS|FqaA4$T1FFmX>c&hqw`Hped?dF}6JVPkjJ=MY1I tY82zT_=W7c$%n6RlUOXcan_0o<{arJ`x81&Pk|m`@O1TaS?83{1OUBoUseDB literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_108.png b/assets/bigbug/garbage/midground/medium/mid_m_108.png new file mode 100644 index 0000000000000000000000000000000000000000..c8a611dfe885f4e3a3ce252ab1dc68a59e0f452e GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3p`yMLn`J>4L&V;*nlJW(=I{l zjlnlMXI^q{4(@mpboY;=$BBCiMT;ClUyI$5eK+si9a(7?h6FF6)~`C>ni?hdc=W2W>FkS41 z@*=T_!kB5+X)9huEEfrxy6->Vilz_ox-)J@^zUDA-0+X_`Fc%(iBC2+n>Q~^z8R^# R*$e1a22WQ%mvv4FO#p|6SZ@FT literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_109.png b/assets/bigbug/garbage/midground/medium/mid_m_109.png new file mode 100644 index 0000000000000000000000000000000000000000..191676af0ecb853c87f6a605300c5eee7f07397c GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`+dW+zLn`Lil7QfLONI`&8LSL_HyJ0%PFgrgK+Pqb!Q%6M z&oYN=Iu}h2o|{nm%+cHAw)bR}1M5qh=32(DXa003?3reRiqa#&C+^kGLAFs(KHd#i zxV`zopr0RMMhEC2ui literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_11.png b/assets/bigbug/garbage/midground/medium/mid_m_11.png new file mode 100644 index 0000000000000000000000000000000000000000..6b3c738f99941eb24160a7c52ddc5c748b1f91e0 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`I-V|$Ar*6yQxXz>oOh5*0MZEw xO2Ni5JyHe-*#5{DhzA^P_|N>V>0tr`!-99rax;W)e+24d@O1TaS?83{1ONhE9x?y` literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_110.png b/assets/bigbug/garbage/midground/medium/mid_m_110.png new file mode 100644 index 0000000000000000000000000000000000000000..66352bef934b375340bd5d1c8f9d456eca4edc21 GIT binary patch literal 225 zcmV<703QE|P)kY&p41*2oM&8LgU3SV$y&tEbGzBE?laOdpOdh65xWNxH?hbdy3`sDv@!dc|^xK>u zIRth{0sxp9u6pwclF(<$v5$;)^x4l4A~{wj_n@y1f(Tw^^U5HXu@i~QrX^HX%{8;P zKrW;DA@;dP4 zK@x;82umG*lt1N9%b$2t_u%3nrOswXtt|-=a8Q~6;O-y^k_ea?I*1N)4gfe}Gsu-B z36feN05~FJJaaHfxcjpI5U7C_dA}1mJ5qc`tx1P7vcy%h=d5>q_yPP{4@$GMx$S@y zXXCn&vy$Hg3dWJ&!bwNowe#U%hg~tv?CIc*oa>ZkV=j~UHg!2RM2>p!Q@({FFq7iH vF|)Oe9kQ!TUL5R@yHbn!mp~PXwdnW)0)ll&^4)fc00000NkvXXu0mjf^e$!Z literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_112.png b/assets/bigbug/garbage/midground/medium/mid_m_112.png new file mode 100644 index 0000000000000000000000000000000000000000..1c11b9e9c130cf9b9ef118bc0d0c1a19cbb99c87 GIT binary patch literal 228 zcmVP)3{yBZ@=oeZ^-h{8{lUQrhHI;@9I_?9XfOj!9ri{*5+tF5nN3`S82}8Cr{pXW zMtdgQ{V{PB0DvtMB&VPpcqg=1L>3CQ?2^v4=`}c-I`leSQCt|wew5uV$- zWvh+sA`?3i0NBF*3b_{|@j8HWgl_hjzxFEjOsX)m$@>2e55Vmf$mAeItqQAZ)CK?% zkfV}Ujv72uSdmw8P7YRBMQCQdgN~fz%;&vcyp&%>Ny5zTJ?LJoY2<~=4n&V*OfjBY wmi6SS4*+l|++7|cB(k8vU7y$f^Cy1c2PG+L^R=lbng9R*07*qoM6N<$g1T2@g#Z8m literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_116.png b/assets/bigbug/garbage/midground/medium/mid_m_116.png new file mode 100644 index 0000000000000000000000000000000000000000..32addbe79ed94db0d0725bb1bd0dd5aad29aaede GIT binary patch literal 228 zcmV&Q<-Y7s=f}A$Eafk{437KZQuLt!(FF eP%1<01Tx;e+;ifNmLUrO0000VZ8CR~^xC_g5wWmUuHl z&b`}#N^v`be+!gNB&`N-hO62Lo#qCXA1nmbq!Q&TjQX;P-Eh8{j_^|v!###8vZP5t k@<%`tlHl%;^q9BP7YX8WY>|VU?f?J)07*qoM6N<$f_6h+KmY&$ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_118.png b/assets/bigbug/garbage/midground/medium/mid_m_118.png new file mode 100644 index 0000000000000000000000000000000000000000..f3eb5bb520192dff684dd125eff024517d8c8d96 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`i#%N%Ln`LX4LT@zSb;}4#{81s zJ6om2jt@OKU@CbgsV69ieh=S07JB^Y`j-vPMSps=CrVD5 z=dib|ph;o!AAg0#TLglQ(xRP(!k_Fpu=5{>#A`Lr)QV?2%EhBqjV7;dU_2mRZ6C6F TLyuw+(6tPnu6{1-oD!M<7xh-} literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_119.png b/assets/bigbug/garbage/midground/medium/mid_m_119.png new file mode 100644 index 0000000000000000000000000000000000000000..e22da8a06ac633198559bca8f0a708cc6439485e GIT binary patch literal 241 zcmV1ya&{iO zfpu|oj~#fo&WD0s?C!vJub>0h0cS4hd5I){US0j0B)5eQSl5=F6P))lbY1gp;+4FD rfz1|nN>ct!%=nLBC9w@L;NbWGWNmWc)l!|v00000NkvXXu0mjf+C^i> literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_12.png b/assets/bigbug/garbage/midground/medium/mid_m_12.png new file mode 100644 index 0000000000000000000000000000000000000000..a2ea226328de86900b754bf2c298f176f19f1889 GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#-1*YAr*6y6BY>m;6KW8)iCLz zhfu;I7vo)wDU351Q*QDZH{_f>p(kOQa6-Cap8Si~Obm*v*v0y5?(qS&GkCiCxvXoOfVMSma{N z%*?F3lr7*1lbaXsf*Y(N(jV#%#2WDMEQq&CXt~*zXWi2{Px_*0@EfK*Kx2M0E3@|c R3IUB`@O1TaS?83{1OOtzA{GDu literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_16.png b/assets/bigbug/garbage/midground/medium/mid_m_16.png new file mode 100644 index 0000000000000000000000000000000000000000..611a5bfc0606049403a48886162f96c74dfde9ad GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6yQyLon^Q17Td6^vM kS-{aFWsr4X1!IU2Q1woOiHGNLl1y s%*@PuxZaC5LBcfQN<$#?iWCNhJL{O_*Y=gf19dQXy85}Sb4q9e02+%KjQ{`u literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_18.png b/assets/bigbug/garbage/midground/medium/mid_m_18.png new file mode 100644 index 0000000000000000000000000000000000000000..a88976d6a50d2f91669da54be6f681b6b32c6e96 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6yQxXz>oOfVMSmg3~ m1><729w~=ZW(iG01_s|+Mg`;7Yjy+GGI+ZBxvXoOfVMSmg3~ k1><729w~zko&**KUq?m-#l8DdfGQb0UHx3vIVCg!08@MxTL1t6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_2.png b/assets/bigbug/garbage/midground/medium/mid_m_2.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_20.png b/assets/bigbug/garbage/midground/medium/mid_m_20.png new file mode 100644 index 0000000000000000000000000000000000000000..6870ac01486d04d689c702df43d3e27330783710 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr*6$2A$+Rpul4+D4qIW za7L${S5#k2mad|p(rk$shLSf4c6}Fa-IPv`jXm>yQ&oO0$B`p^3xsE!pSU$@GwTAL zt5=s#cy^0n=3JIaQ4gUqk&OEq0{8oNB1CDPlKBQ1YnE+q|MY;GwAbhcoq64!-}JX0uA_oK0h5movyZnSN@z+BV_0_v0D# X<}0=SFZY-PavFoDtDnm{r-UW|U}!;d literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_22.png b/assets/bigbug/garbage/midground/medium/mid_m_22.png new file mode 100644 index 0000000000000000000000000000000000000000..3e5eba0231231e24955d07275b034fe75443b61b GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`&7LlfAr*7x2Hh4spupiBtNFYC zfX_E)U74n(XJwx=cPKEP;B)8=+5G)l{<-USG)`>nQfTeG$*C2=!f>lBbB?HnV_1<( zM$%`onnm>qzoeByZp~;hbQD!$WtzCovoZt9xhamVREaC!QL57&XtVeoYIb6Mw<&;$UQm`FVU literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_23.png b/assets/bigbug/garbage/midground/medium/mid_m_23.png new file mode 100644 index 0000000000000000000000000000000000000000..4945a98f2f75d63c94559e86c68f51afcdf3c0b7 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`CfU{bRj*`vY>UOB6e-S4{A*I$*aXx`@eV@A4-uujVY+%pIuI xS5Vz~W`573)v2F9y^8($ZF_r%Q8fSn literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_24.png b/assets/bigbug/garbage/midground/medium/mid_m_24.png new file mode 100644 index 0000000000000000000000000000000000000000..8315751be0bdbc01f031984fdea0633df5561eaf GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`HJ&bxAr*6$208K_P~ceoJLvy^ zmU~C|X1DFMQpt7-xe~R3*HVVTfhp~}2LFq0zDvhz&P}{$$8oP?{p{W)Y5lL|HVYk4 zG@ssnztCf)b6i}XnnuFiBlk8$o}IG(Z_|PILa$h!9OnNjm!sLyCw%Wb=cCn~O=Y|D f&fDDP;<8|zzr>@$Od@m*&>ak(u6{1-oD!M|iZGY(Z)~#QPqLzN&#VORZ zCVrEj+1jTp-K)fM%Qj42^PxGKhd1%Sb6u7v>p%E2t#@kQd(d_1G%p(m-wg|UXC-_U aXSj2o&x6zNdxs^^4Gf;HelF{r5}E*)ghI3c literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_26.png b/assets/bigbug/garbage/midground/medium/mid_m_26.png new file mode 100644 index 0000000000000000000000000000000000000000..55ef0750a6261b9cbbae844955b3af9491e9ea28 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`wVp1HAr*6$21WB7P~ceIZT{$= z`vafb$1f-YhC<+#jQ1#}35r>mdKI;Vst0ElBnIRF3v literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_27.png b/assets/bigbug/garbage/midground/medium/mid_m_27.png new file mode 100644 index 0000000000000000000000000000000000000000..ffafdff5166da3607009da16ee979fb395b2706d GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FglULn`L<21g6EDDZgC-5dC> zp5j#EMsyFbNA+IoNKwGS~&Vd z%Jj^i=0AT)o%s2)AWrV)Jpt`C61@{T>lxLrlm~>Twy328-NxYQ>gTe~DWM4fWe-g( literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_28.png b/assets/bigbug/garbage/midground/medium/mid_m_28.png new file mode 100644 index 0000000000000000000000000000000000000000..947023dd290384a518ec1a3cd2c964cdd9cbcd0f GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b)GJcAr*7xPV(kEpupkcep$Nk zzjB4z?hQ+n<~zk3bvMnI%waYtbXwvi;rxBaHyI_@ElZL2H1GU~gO>6-s`vWdD^ gRN6JtKPaE#HOS8M6S}x@BhV!bp00i_>zopr04SV!Z literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_29.png b/assets/bigbug/garbage/midground/medium/mid_m_29.png new file mode 100644 index 0000000000000000000000000000000000000000..67b4bb201b7a8f4c0b337bf064736e7cbee88dc6 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar*6`PCCtdz<|R!es$iF zf66J#z6rQyu3)|*#4cbK-w-`(W}iRv1C^$m*XM7PexN1D9`(EB5g&`A;%w7f{+ApX zgA>fRx1YAIn9H)cCQp4snZb!b^F;^lv%j*mJoOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_30.png b/assets/bigbug/garbage/midground/medium/mid_m_30.png new file mode 100644 index 0000000000000000000000000000000000000000..6fb32d37c341dee7fbc0d0cfd9dc7b8a2088aacd GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ZJsWUAr*7x21oN9P~dRhEdBML z`vaeM$wu*49?lXF%~0*|bm?L+atPIEP@MNF%A&dBO7|zhi-M;%AHJLaAUq*O?b26; z%??{8ZDs0z@bgvbMzu}pZ~vqkJlJ^i{_)#41v?^ye<~)VEV!ZKwZ5#W+pXz;vc1Qe q-v?$VGiCo=b>Dd7AJ%C*4)VTI^r?;L6nF}B5re0zpUXO@geCxeN>FwH literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_31.png b/assets/bigbug/garbage/midground/medium/mid_m_31.png new file mode 100644 index 0000000000000000000000000000000000000000..d55d91da32d7b286938c03253e227a909fbe2fa9 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{hlt4Ar*6aCkOH!P~dRxzS+Cu zzo5nB-w{UEI(=$sXL{3FO&NrBzKgm)P+)G@sQO&xyS_>09{JD4yEPOR$3%KM=>1G) zce~QLd_vWZ^#_Yp<`ysoJ^!ZnCo?y{XhGNui)O=@8c+2O9kYv8DNet3bB6VTV0NZg yN~<29)>FFoJ&yMitF~;&qrd9uwhnCpHOycCMQ!qln!XC?GzL#sKbLh*2~7aq!c6-B literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_32.png b/assets/bigbug/garbage/midground/medium/mid_m_32.png new file mode 100644 index 0000000000000000000000000000000000000000..92ea2305108e483408bf03dc9263b5873462a0fb GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`&7LlfAr*7B2A$+(P~>n)a{m&~ zWV(~TUx9C3-X@jL2|H3IyinKXU0=y5GH*7=O}3?zmsqL#rX?p-wR+6_V;l2P^Oiu~ zxucKnEqdPdAXH|4`J#rz?hZ>IyPP>1yK1i=H7~MhKe|dZEJ4An-=TzaOV`5avlEGCtXyYYYp+!LFFnGH9xvXRs$jd^dY;LYn+*-UNQn g{*}kSr7%`77#2pD&zfYo73dNMPgg&ebxsLQ07pPUr~m)} literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_34.png b/assets/bigbug/garbage/midground/medium/mid_m_34.png new file mode 100644 index 0000000000000000000000000000000000000000..723a26d8f89e2d74f60488da4d94022d5790c6aa GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b)GJcAr*7x2Hh4spuo``XP)$5 zaE7OSj_%XIi+4UI^Ry)#bYK=#n^D-rwumiZ^{M5KV*Sx+A=7VUgeWIXW1kq<+p$Lb z^#S3E^zX@LM?(2dEiL`^0tN4Wq1 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_35.png b/assets/bigbug/garbage/midground/medium/mid_m_35.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf11e3b722cf1444ea63044b849146411fed915 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gdx`!Ln`L<21WC+C~|10uY*=R{eOFI8~e@X;L7+N3Lo-QHrhw#XdhH;{b+K}eB(j!_|3kS<<+kffNo^)boFyt I=akR{0NSch4*&oF literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_36.png b/assets/bigbug/garbage/midground/medium/mid_m_36.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd4a41d6a3fe85d8cc3b41a114b2327cf66f9cb GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`<(@8%Ar*6$2H)moP~>0^Px>!7 zg~Y~DU9-yIKmkCR{m{$@h_br$jmeGFz5O5g6}gK Z?Cc5(8b6#f6$Uzi!PC{xWt~$(699SGKM4Q; literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_37.png b/assets/bigbug/garbage/midground/medium/mid_m_37.png new file mode 100644 index 0000000000000000000000000000000000000000..cd2cef59b6ca4400ae42f688d265355a91a31c71 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr*6$20QXK7;vmUCja%n z{{!F83xa3NP4;r~kb2?tl3^1=MH+v9r>NG62wS<0n-2OEop|x3F1}I6`);b$xzH_a zCm(uT;F{Jm`+$!BrH-FhnWu~Y<1uIXd{{Vr%`Xn)y;818eD8lZ_{6Ij{SJ4x|GHvP ep~^Dl8;r5c(_3}7?&JYFgTd3)&t;ucLK6TZO+_I9 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_38.png b/assets/bigbug/garbage/midground/medium/mid_m_38.png new file mode 100644 index 0000000000000000000000000000000000000000..4b91a92f33af814919a0b7669cdba476b0a19f7d GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4W2HJAr*7h208K_P~dRhEdTYt z{{!DD$L7gWk=Kr_XlU5t+Mp&F;=Gw*_WHA|Cf*fsddqGovL}>9iXXlq+?lm&SE$^I zGl~a7-GB2ea%XqjS9?%3u3aKD`Ks)@9nYgY?EbiV@bQ1$b5mh+M`S_J(z@=4CaaFk j`e1h1(X#B|yEeWm=D@10%xQOlZej3r^>bP0l+XkK%7jL_ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_39.png b/assets/bigbug/garbage/midground/medium/mid_m_39.png new file mode 100644 index 0000000000000000000000000000000000000000..74146d45007ffa17beccde99d87255d82cc3eed9 GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FglULn`Jh4RYi=pupk0|H%LO z2WHPmy{FyuQT0B-@XfO(#aHS^o(8Z*>l!wl10<@YKDiEDhAyN zUkv%Cui%^Mb!MqmTza+KBQ=d=v+BecH#WZ~J+dib9&_uL$exi4pDG}-U+>Btm24I^ zmzy?aADn|cw|T$b+F-e#vCPTpuiJ*nI{Ra}y@NkkWXaV4-NxYQ>gTe~DWM4feR4|M literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_4.png b/assets/bigbug/garbage/midground/medium/mid_m_4.png new file mode 100644 index 0000000000000000000000000000000000000000..70aa74eac01843a8d6efe5732036e52ebb8fe137 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nw~C>Ar*6yQxtgqJ)WF$Xz>Gk u#j`v>&~rpX=?PQUffbC4*?OcH7#S|TWtBRX|GyQeiNVv=&t;ucLK6V6;2f3! literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_40.png b/assets/bigbug/garbage/midground/medium/mid_m_40.png new file mode 100644 index 0000000000000000000000000000000000000000..aa188e909125ac1706ed59b8b55e4412c3163473 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q$1ZALn`J>4UXnJpupk0S^Dcg z_Xj?=`DbwbkT{v7!5`h`>k`+=rs5G&>=XKnDZNmLyc?JUf6YzpEa~+!@gx<9?>20dt^V$XWedd*9-j+zAcLo?pUXO@ GgeCy@o>waX literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_41.png b/assets/bigbug/garbage/midground/medium/mid_m_41.png new file mode 100644 index 0000000000000000000000000000000000000000..16ae503c90a802dadb4972cf4e56c67e407c37f6 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`lRRAbP0l+XkK DDi~6> literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_42.png b/assets/bigbug/garbage/midground/medium/mid_m_42.png new file mode 100644 index 0000000000000000000000000000000000000000..7cee52df13a1b06dfc27fd30c0d04bfe45a15472 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q$1ZALn`LX4RYi=pun-ZZsq^_ zru?M#g^2;Zk;2N0g|(M9n)EO-FmyJZ^qr7@?mOFoFe9-}c4d9NO+U?sP)@i}_VbwJ zCGJ0g4+=joc$AX-o9M;Q%00000NkvXXu0mjf>NH!@ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_44.png b/assets/bigbug/garbage/midground/medium/mid_m_44.png new file mode 100644 index 0000000000000000000000000000000000000000..b3f2a93e5c9b81a9c954b99ec8f63acb77ce46b7 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`U7jwEAr*6`PQJ@~K!KxW{kkLn zlno}=W^5>Guvg=KtA66^753j385xusUWq$5Im%nR{5!r+({AzMlQVX&=938DULJN( z=0$`T&qgT`v*Z%|*oz)kekp5lng5TDFf=xG$ uM43M9`mt_DjoqT@X}>0);L=JJu4i;H-&CP|Nc9NNRScf4elF{r5}E+sw@u>! literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_45.png b/assets/bigbug/garbage/midground/medium/mid_m_45.png new file mode 100644 index 0000000000000000000000000000000000000000..baf208821777e200ad62674b1fb045646852c059 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr*7>PP)k3V8G$Be%+CO z$_BxI4VE~pUtm8;;7e40_$!9~$_uqT3_BQnI?ja5*Ig5}?(Yo6y)$jaD_i-*e%faD zWnB2&#jxs*i|Gtkrq$mJFALvQ`VgzlB=lSNN#iER^;-|~?zukOZ|^_xM*DK_3zAz| oL_huO7H2urAyhN7E^0U9@mJ@nQ-7En0^P&l>FVdQ&MBb@00Br#DgXcg literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_46.png b/assets/bigbug/garbage/midground/medium/mid_m_46.png new file mode 100644 index 0000000000000000000000000000000000000000..36d35df714c4ade51f994ce647f3391107d6d904 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{hlt4Ar*7h20QW{P~cddX8-8F z{|Dc91_4)`YRrD%S2hy61~d zU|DrwqV4nISqD5kw6nS2l)AkudYyQ~cSqQ(38&BOR?xB%35oOAHS^?hgW0DwR@58rNxNg-{i!{3qHnFjH2DYm_Of;HZiQ|Sflg!aboFyt=akR{0K4r` AMF0Q* literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_47.png b/assets/bigbug/garbage/midground/medium/mid_m_47.png new file mode 100644 index 0000000000000000000000000000000000000000..017988e6fd02efd22f0289bcd4b711d7a7dfaa4e GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vproLLn`J>4UXn(FyMGCmVe}L z{|4i;{En4VR3`~+U9&V@~ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_48.png b/assets/bigbug/garbage/midground/medium/mid_m_48.png new file mode 100644 index 0000000000000000000000000000000000000000..4849ad04847d46679451dc37e973d30de2b27a9f GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{hlt4Ar*7hP7dU2FyL^ue$-p_ zU%5c-uYtr8i*%*VLc48&yDS;rtZ?LN+WqWKBEvD(bZ%w&`|phE>uWs{%Wk)}tl+%1 za?i2n4%()o+S^s)ZC4yS8qE{C!sOw}19KF@qccU0JnGZejxhYn&w6cl)S`K{v-WR2 z9-MsWE!#Y^Q#SvZRW5w{{V;At)1~CwUXR#6%v+~Wl*9Q0=rjgTS3j3^P6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_49.png b/assets/bigbug/garbage/midground/medium/mid_m_49.png new file mode 100644 index 0000000000000000000000000000000000000000..b574ccceceef02fda58372c16ae8d7a9d9c48044 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q$1ZALn`J>ofOE|V!+`tKP}(n zyS>x-CGy$ZH;d?+DQdB{m@~+%^xRo5!C=iG^fZ0@d;c4IZoU7)(r|5Aw)O3KYL%OQ z=ij?t>|XzWUzZK*nm^YXLtY zh`QzHb6v7Wl++$S?=Nb3K6}R6FK?Bux^rrUxP46N6rOwMz%hp7TX}&FWbkzLb6Mw< G&;$Up!&6fL literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_5.png b/assets/bigbug/garbage/midground/medium/mid_m_5.png new file mode 100644 index 0000000000000000000000000000000000000000..bdcdf686ebdeabfcdca89726b2e1df04f85b3f6a GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`DxNNmAr*6yQx5R`do1A2)??5l oanyoQSap^=uY_sB6$ULSpsG_$awpl-(t#`nPgg&ebxsLQ0Im=gV*mgE literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_50.png b/assets/bigbug/garbage/midground/medium/mid_m_50.png new file mode 100644 index 0000000000000000000000000000000000000000..cf969649c6f75cf33a152bb1755948c958ed40a4 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`lRRA4LT@zK!Kxs&5?h~ z7L#j3qFORE%ja=T5?IJ65#YM%-u=z5YPXk*ReuU$Z`kAaPg1yRM{?KHRZbZPPW3v( zT{Bt8cxVcTSi=dC$^1dL?y#rc+E7*Sv*yWPms45?r@x-e9lP?o{rr!7K|X7KdWzbs zZMJ;NeQV|Sf9tarpK*A;Bud=P>%;!~4*oyX|?<{dvzKQ*XjDk>b0-uDSJQvrf%(BlYO-%#`=rbPj5+o Sy?+JJwG5uFelF{r5}E*^)mBIV literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_52.png b/assets/bigbug/garbage/midground/medium/mid_m_52.png new file mode 100644 index 0000000000000000000000000000000000000000..dc040fce14330e703855bde8c2fc3285996027db GIT binary patch literal 199 zcmV;&0671NP)d+FR9^~MlU<-@5Z~Y=^(sR%0 zftd$Kbq)^WK>`0@xvVVh1fKfY1R7o@+sb4`gg-gooHRT$s6zk%002ovPDHLkV1l3) BS6~1D literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_53.png b/assets/bigbug/garbage/midground/medium/mid_m_53.png new file mode 100644 index 0000000000000000000000000000000000000000..2b8d50e17f39e9b4a79f11f3b8a3268bd033988f GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`C6; w+sx1Gf(r8A7(Xx9;Zf?Uer>FVdQ&MBb@0CxvXk^lez literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_54.png b/assets/bigbug/garbage/midground/medium/mid_m_54.png new file mode 100644 index 0000000000000000000000000000000000000000..df515b86c048a5a2f35cf2f076a837a18dfa6813 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^E_P~Ln`LXogB^AYQW*rpO^V< zf6F>f`z-AX$G>_xsW?k4YhX}_ELd?bslT^kd#R&d51+@L7a|{T`!jecMyS?&_?Ek4 zbMaIMsgHM72>S>HFItlm5O6BSH%#H{kAlqGV(F7+XM}91?$ho`iU0OrX0Gy&_e|!~ zf4pPjJ^4uBv-IAryh|m2D$3b!e{kKx+GM!`|EZY8PtS{Ru39hkNkl z!4bnS2oqU}{YPLX_hV8COkM7BF-imyoB?3LeZ6mffYrVywsYGDyb%G(8P9Of+g!y4=aT;`SVUR{!q$58NL$Hq9~Bzl+J^tuY#M6x}69Efb$HvI~O{s_~X)K1I9^R-@B?fh2UMmg`oHcITv@I Tk)mJQ00000NkvXXu0mjfv(H*I literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_56.png b/assets/bigbug/garbage/midground/medium/mid_m_56.png new file mode 100644 index 0000000000000000000000000000000000000000..5c14a3a82223f9a23d0abb33d0474619d9f78d5e GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`(>z@qLn`LX4GI)%P~eyy)A?Jz z(fFc!R>$G0kHO~{i!T(kE4OK7%*ZWgI-nk*dMsr#YhLvC;3I6CC#)(LJzxIkdGRqu zc2yT8YxbCJ^S9|K;44$rjF6*2U FngBq7Pf`E? literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_57.png b/assets/bigbug/garbage/midground/medium/mid_m_57.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf562dbc73f4f932640fad52ba82963e69a1f07 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9iA?ZAr*7h20QW{P~dp|P4(Y@ zmitHenmM^nB&x79dufL>bTGb|_jK=LHU@!(vRC6DduvBlzN{N0k`O~U> sYkoH#c^=>KCI5Id!;>r8ik>wLOCKIe{-)094|EfQr>mdKI;Vst0G_c-(f|Me literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_58.png b/assets/bigbug/garbage/midground/medium/mid_m_58.png new file mode 100644 index 0000000000000000000000000000000000000000..26b7b97151c0a121349c0ace15f9bcb2a9577b7b GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`(>z@qLn`J>4Z1COK!GDT{M0|? z6186!FEAZS-1*r-WzQp-h8~}F**p&}YBkg^KT*w)=ydbX&ACT+H{9{B-nnh7Yp#Fk zm)RBb6=rYsoT7e#RZD@%xAEl9SFZ#mA|h2+ywWMzqHn0@b)3_o`uxuKf9~J*|JQGK z$&-DHEq59F)p!o;&pIIq(GI5FYlUWnZs{?oyY$9BSkXM=&V;9CRUG$#E@bd@^>bP0 Hl+XkK6cbe* literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_59.png b/assets/bigbug/garbage/midground/medium/mid_m_59.png new file mode 100644 index 0000000000000000000000000000000000000000..c354c8822eaeed7c7e5ac9ebb59a9bdb69fc0f0c GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`i#%N%Ln`L920QW{P~cddX8-8F z|Bcyq4sLYRoZV@7EvQR_L1)I=Ex-O8{(eO3vJQK>(*Y@SjydWH+rs73JPw~{%HPIv zOi6BoGAD;qq2r!NzP%!1L3?TbS;CYtDnm{r-UW|Rti>_ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_6.png b/assets/bigbug/garbage/midground/medium/mid_m_6.png new file mode 100644 index 0000000000000000000000000000000000000000..a252571c5511eea5f58ac57b42cdef7925e0b665 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`I-V|$Ar*6yQxXz>oOfVMSmg3~ y1><729;pTf9hDWSN0h$JpU7xxogCaE&cJY%n^~c&cf&)VJ_b)$KbLh*2~7a^oE+c) literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_60.png b/assets/bigbug/garbage/midground/medium/mid_m_60.png new file mode 100644 index 0000000000000000000000000000000000000000..d9191f9657ccf3bdad5a30a7fdba2786315c67b3 GIT binary patch literal 254 zcmV z(GA5Q2t17&-A)eWPB&BEhhl*0OGz3EiW~0swFO*eRPhyQ}Su7Ty-MsaDrEC2ui07*qoM6N<$ Ef-8z|2><{9 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_61.png b/assets/bigbug/garbage/midground/medium/mid_m_61.png new file mode 100644 index 0000000000000000000000000000000000000000..685c4cdb3e387c3991e5a9b226cd3277b87cf645 GIT binary patch literal 231 zcmV}YzTsO^cGypK~CUG<#A5M_V~2uK+z1D%!G^nJ7m0C$icTObJ!en}wV z_ucqu7OapY`h8k#Azx;H$`iJ%_;8yrXa|r7;eSZpo1#q6Ld-3H1V9hmSAHqOhR(vd6Ihp z^BUe( t6GMZ;6(ohkT+At?gASPWusJbFyaAGL--oLRDI5R*002ovPDHLkV1gSeV>ujP)Da4qP&fp*rZFl_a471@B7)#3dB>A!}h4q061Kj59!EhUfMr$vue z;+mafsJR!iST}#3V3J=3@yDuiWf;NgeTeu5dJ$44}=y4=0gLuy?gc(I_0l=>~uV?j;J3?qj$+l9)w`hh#vBkO-Lt z5SL#db=`#xh!-infLxKx2D@JgQ-N=)FwJ@#4Ob961;XKhHY2 lT<|{Ln`L|Nz}NSqx4eL?2^7GjjOJz z=B>FJZuhuI@|bY(^^~G?Is2dqH8KzQLSLKQ;odCQ^2}3i1|!!b??Y!eYI21hx=5u> z`L|8x$Fh_EITwG-o9`0bs%Kgu_(r-`&$CbOqx!QgHu1A7KB;@0|2b=!b<&f6)12(% jUmAHGiaH(0XLEqR-0NXjuUWn%(De+Su6{1-oD!M<$qZgM literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_66.png b/assets/bigbug/garbage/midground/medium/mid_m_66.png new file mode 100644 index 0000000000000000000000000000000000000000..c8906985e3fb9608ef3e7f94449affc1898c4e2d GIT binary patch literal 244 zcmVgzbKgJ$WTxirEH9Py%ek zsl%8&#;T-UO9;mi)*^>7T0~SyBR(ncpyJb$NjRlW9=rImPyh%3@=e}8nWrL@5N``Q z1<6T)Q>r_tmh>?m6tsLw0LV-!S2zAfO6B~9w2}+HB(J!+aC4(OP%Uroy9>jkPp*(4 u47eV{=U?@rwNkWlU zgVB$SqP;L6nL3|rlFJx(W|rxLbVkcgCX==VLz4D>275j^=1UBagCc_>?pIBb+<~p2cU-g5CsL1{&-+vOHP BXGQ=3 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_68.png b/assets/bigbug/garbage/midground/medium/mid_m_68.png new file mode 100644 index 0000000000000000000000000000000000000000..a988efddaa91e3a33244623c2d9d92198bdef7c3 GIT binary patch literal 251 zcmVq*G$z*@%Iv;}=Xj#;=ehn)pgu8vVj#0uCNoM5YJUd>1XwEW?h(iLO#@|i zZJA98?iMUgBf&>+jzuxO(R~shrvf;u<5rC+X=(GER-d>*+ z*0moib^Ejf?o{0!oh!wKN{dEHTH0vVX6=F#{s0LT3IGx-05(Xst|FZrX8HmEw%o9$#;ot4wm%X}MZQ7o zK1i>@z-x@901<;11RDZ)JXE#Ue@fBbOC*d?G%^3hS}G>#~YqOGy6KT zIXIJtAaxFw>g+a45l5|$g{oc0XyIDte^oOfVMSmg3~ w1><729;pTfos?I}M-mJY&R^?^I1<3X&}_-1`1NH~8BiC4r>mdKI;Vst0P4vd>i_@% literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_70.png b/assets/bigbug/garbage/midground/medium/mid_m_70.png new file mode 100644 index 0000000000000000000000000000000000000000..732a8bf2b8df230c34b10ee17c7ee4671a39cf2d GIT binary patch literal 241 zcmV#3_}$r9jPZ5MNg`U9KggZo-Dq2{s%uavK}NFXow{VkO1=NB$x9CNDyiQu~B+Y zApTI97x$hF$8(Y>7_>FY^U??TV zs@7A1lYLM-)IFMplIUS#1HSJx>)%7xU&Fn>J@^UY{drr>bpE#D&Cqg7mujP) z%N4^g2$TJ?k#=IJ?4+6Kp~hd5))ytQB=mq3kPZNl01_k-M^gVjV}k+`wX>U85+(=G zY?y{g<3mD?%N>IhhBO;VCbJr%rSiiec_zq+lA!y}UA6>QZx-+s?F};<+PEhHv<8Fp zHVFsmG;^Bu_Z?~GeR7c?8{wWLP=oJ~3SKJwlMJOfJyt|E-qDj%!s(Y-Qa72O>p?bK zO_DS3P0eC1>zjxofh1gWf@2RJDtEKKiEllSmNh?rtYla!br0GK!sj_gv0RsRM|Koy`C=%tZS)y!Cn$epK&oOJo z7?)5w6iFo-)> x)u$C&k>$)CAKfPiEnWYD`|NbT^Dy=U{s2ty)LimLYsCNn002ovPDHLkV1ltbXm0=j literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_73.png b/assets/bigbug/garbage/midground/medium/mid_m_73.png new file mode 100644 index 0000000000000000000000000000000000000000..92d09c91098e8357bcae0757e4733dbb297cd716 GIT binary patch literal 259 zcmV+e0sQ`nP)W7awuA2rG5Xd@X(h>kj{Hu#Z+SL%|N^A-e*mPZhoSo|3 zd(rE~DULBJ-F~bcuZpoTLOAFAM9Nt!B6t1~7kO~;CFyH%#P|T7Gj=zoc5sIOfL8_w zlCWI~oH5U`vu6$zagT$Z+nPL1j01|m>-ASCH7|jq!P@9bZ1=pp{R)HmHU6t;*QERF zJly#6>hCv^$mjfIil`VHS&H}^=b22=b^*pL^fS_S7sj$R{RaHU-pL*lm7V|q002ov JPDHLkV1hukbu0h? literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_74.png b/assets/bigbug/garbage/midground/medium/mid_m_74.png new file mode 100644 index 0000000000000000000000000000000000000000..9cd8c91db59e940b3a70eec3c384a238242d862c GIT binary patch literal 258 zcmV+d0sa1oP)x++Y5)KL literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_75.png b/assets/bigbug/garbage/midground/medium/mid_m_75.png new file mode 100644 index 0000000000000000000000000000000000000000..e09744ca368535d243a75422ae3ce53f39f754e2 GIT binary patch literal 269 zcmV+o0rLKdP)1cYgD0`wN_aL~$WcS4jQ5^UgF{B|0cSjO+xjVRn^cW>L^Ky#!LTYWE z&*Vkyj#(1CS(QjQj_gSMzoJT6#JF=*{3`O^dCHLmgXFBD-6-#Uc>v6!K>>NcwShE% zfi%?GP-| zK@Pwm2&;=f>YsR&f9jjuL0!P%GLi*hQnAGX03^CJ7LY(QWF`qDL+;v(K|-y?!qy-O zkcM}F1wi-3U*3220MV>ZkPe_{G0jH2KKCEbh7XWWA5QpN3*7r8J8(ZZa*H_4XZuZ!n{N}_y7O^07*qoM6N<$f@pT<8T_QF2`Y*vP%~QgJ{vh-1(i2!_y$$p~W+kahE{4X*4(@i;&Z4{jx1Qq$ z>}kmF&@@bx85eh^3^G;N!Bs|;l)hU&leAC%62a)Bb*F8Y^EXhfN292}fNPV=BwSFn pY34@SmCRV;5gnlXs2;66@&;5%>@BzWk4gXl002ovPDHLkV1jCRXv+Wq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_78.png b/assets/bigbug/garbage/midground/medium/mid_m_78.png new file mode 100644 index 0000000000000000000000000000000000000000..e400c623faa2402da30ed665c94b65aace44c7ab GIT binary patch literal 249 zcmVNgKyf}8**MWzvY z&T*?--&dL%nJWxI5(?mQSs@wam1KdWJ9ETPRFP;<)8iyJ&e$1=9-h<8oaFMck@)^V zLJ?E&U{o2QUdOmSph!wSPTv&V&n44d|3$x-H%&(~Iq|l6#|Cn`c|W${SGwvfdgbnF zJ`A+Fcq5&tZ(dciib5GlbOqZ%Vn5U1wdyTCD~-%2da%E100000NkvXXu0mjf;J0Lv literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_79.png b/assets/bigbug/garbage/midground/medium/mid_m_79.png new file mode 100644 index 0000000000000000000000000000000000000000..7db3f148f14faffa01579adabe34ef5e5247133f GIT binary patch literal 255 zcmV0hT?nB~ry!SNoOfVMNJ>aZ zSaOAd&5I{dX-$hC+XUGO&BwVHv+-f04dcZp^OuvSFP!iYW>wD zsP{Dxz;Vam$!Ink-3rYXtx>#-Q?B>v54JWLIK7D$;wLL93V$I-+49qqfV3F+FTb`i zph#NH8`6CHjy#%iStFT!L<7LqG7t%jHJ)!gTf5}{>cCf*w&Cmsi(4hSWc`195Y52& zObH(k5*nElx2rF*DUoXE$SZaI*Sdy{J4uPN|AhkGic?H9sp#%PXORA#hJh_f4?~H2cn(8TR7-4w!O7m0>?g7j+X&Uf;Xz?%aeeFm9nXx zy_vyMYomooKvj6+#b=StfZjrNPt|38^djv8>hc%fPTy)TD^s)W>w><4nfvdaW=7P|ld002ovPDHLkV1i{u BY(W43 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_82.png b/assets/bigbug/garbage/midground/medium/mid_m_82.png new file mode 100644 index 0000000000000000000000000000000000000000..9cd7e00c003bc40d985b7ec7f7f0bbe0060650a3 GIT binary patch literal 255 zcmV=OZy1gzp*^Byb(R!LhMO30CHhrB3B zJ@7pmG)ZPDPQgo$DQ2A3`gpK$s2r zTegHS2#cP(qwERSBzwx5Iv*_xwa%UXPSCM-yb}!O&92XOf z+zn=JMRTRM6kjt)9rH8JTEj-?_})Oaxx*WSRjdO@eOO;C&vPm1!Qf4IXMFEV-1nl9 zyq_rhSD<5eDg*MlkwfpyBJ5uj$sKTq-exg%CJ7zKa}R!*MP=82=QgB#w`LFj2O6Zd UGQqiDCIA2c07*qoM6N<$g8dnADgXcg literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_84.png b/assets/bigbug/garbage/midground/medium/mid_m_84.png new file mode 100644 index 0000000000000000000000000000000000000000..3f6a5dcfd8e7a6fb1ec8a21d20053efa47de797d GIT binary patch literal 265 zcmV+k0rvihP)iW9o&&BO0Ir^duFW-xa~VHUS|m|-@9YL&_RFtJUpnxT P00000NkvXXu0mjfI5BTH literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_85.png b/assets/bigbug/garbage/midground/medium/mid_m_85.png new file mode 100644 index 0000000000000000000000000000000000000000..dc006dbdeeb8ec03b1d0af9b5884a3d18b6fcc77 GIT binary patch literal 266 zcmV+l0rmcgP)K>FfYTISTK|o1B+(2R$QpfC*2vTlu0Pyw0ssO_?6{uD~ z0@!Q-(7uDw?rk6kG)4g0ufw%23|&5*4+d>WxACqSu`R;fV|Egk25%9H7zCNaju!XVRD;6>@S#nVi*6rVw@ljf>%V&JiHzoYB=ruz>6{s-Ec&+FsM86O#BHS%mme5=9; zYF1^$setxBvoIi20&8S&+*nc#6xdkq#TWbmbBvZ({Ut|{00000NkvXXu0mjfU#DsX literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_87.png b/assets/bigbug/garbage/midground/medium/mid_m_87.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb5b8c3ceb92271c4d986d3e0b318e0d0c8c890 GIT binary patch literal 274 zcmV+t0qy>YP)BU+c9w>82PvO Y1uI9jz$w79jQ{`u07*qoM6N<$f=R literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_88.png b/assets/bigbug/garbage/midground/medium/mid_m_88.png new file mode 100644 index 0000000000000000000000000000000000000000..517d74a2c62720643e4433116e8724fccc86dacc GIT binary patch literal 266 zcmV+l0rmcgP)A~ z@BSu1$8i+|P(ViPjme5xB!<2E&!kf{^B;$M(lW&_8L-w)^}CUvSv#BgyRWqYXj?A! zzxT`S2b#4dvs(R}_sumwFi6a3b~W+DX9>eT=s2!@NTVC$N|%tV&pamwyA$7X#Ypy8 z_IU@+QKsaJ6wC5B``nWOU-lrhcL@Wok*$P6vv%b#G=H&)0ZG@N8uiJ)0h7$A^R!#Y Q*#H0l07*qoM6N<$f|wui@dkn?)qAq0 z&p;sIIWMZ;X>+|v$gH#xdIF`?Iu70)Uy5BLl<-PvxbM7DitolP{H4Qa2mf|%UB~z{ z!S3FyZeh`2CYs5DL`DI4H~zB?ZVKEI;|@*DI3 O0000~P5d literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_9.png b/assets/bigbug/garbage/midground/medium/mid_m_9.png new file mode 100644 index 0000000000000000000000000000000000000000..8d70a134dfc798961bccbcc2bc043037aa0c030c GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`hMq2tAr*7pp4%wMpuod);P~J2 zzNy?R$~C9VYhUn2)xhlZwGW&Rn9Cco>L+|-U(ejg`O=?Rq4LtbuRzTVp00i_>zopr E04t~?VgLXD literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_90.png b/assets/bigbug/garbage/midground/medium/mid_m_90.png new file mode 100644 index 0000000000000000000000000000000000000000..fea0a16679d58902fb1d6b6ff2f47ea79f59da75 GIT binary patch literal 264 zcmV+j0r&oiP)ZE$3sH}3!+H^B%F+9(B~5)L=$0!S^LoU z7tc~EOQ`_r0}`aF#N&%M3b%ATklLCY`^g7OTLb`0>DjS~xNsMYHJAjH^DgETsB7wvyW`RrVw8r~hIqw89KS}fDzV;e5qBsXX`XBu?2LS4k{bD|ibb^lm7lHd{ z2rLw9H|F_&A5O72qe%Vot@<<@txW+Rfd-P^{)bm18Obw&A8yEpIr#zxZj_p_t{js9 O0000AEC+Z7Zdj+M;U2}I;wn?hrM^El^0;c+UEj?vR&l)sggvp`#-*E}uQ(35gkur#ec z<}5OPZ{1@uMLfMfYF>MDDOku%zukXh?zvVzNYEa-)^!gi=HBSl9=x_<8gZ(-dhkyk d$Cn!^nLjT}p|}~YE_MI_002ovPDHLkV1nJ*dF22A literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_92.png b/assets/bigbug/garbage/midground/medium/mid_m_92.png new file mode 100644 index 0000000000000000000000000000000000000000..f2c076f171a5d06146c670db20aeb3d681947863 GIT binary patch literal 248 zcmVrK{v@UJg57;plnv ze#I~E#iz3ffKxB#z4^lXe_!FYf*C)b#0YF-yS-5Oq8x1gBtvY|YAvUau2=4zWF1Z# yJRWDR@UCiY79{E{+@HV}>qsc#kbLnsV)FtGZ^IfmTw06(00002Z4Ae_raKfTW`G3tKHl>*mbH0;WS|Go#a&|?4v!c8{ RdZ+*Z002ovPDHLkV1nFNanb+) literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_94.png b/assets/bigbug/garbage/midground/medium/mid_m_94.png new file mode 100644 index 0000000000000000000000000000000000000000..bcbe2a7b66bbce2a52656f112c33bdd8ea51dd53 GIT binary patch literal 272 zcmV+r0q_2aP)Xk&T0d`~rA1o+4CZUFSg)W>!_T)#_Jr8P(01E~Zq1Ntnokcb; zF$oU<*dpUn+AOoy)q}_ACKFyfQEPVwUs-s(izg)5yMZ(SKX>+S0L&TK4)IY=ttpAq z<-Zts-+Hj~A@s+C&t6WUkn4|Bj*LQ{dn%bhMmI?*wg!o19=iCIf7@M9wC?QVhav@%fWf_ygd~teHr0x6Mhe#oda%+m(wo^y8PiBs(*z{BVNA;CblU#1^&)*DCwiIaaITbfuGF_eDsb8=ee{3h`U zE-WQ?UI<={Bvh+y8oa@rw~$cG!;`EhOKAYwXw>M~;-EtxIro-nZg((G^dEMG20QlW b{!ji75H6^DkJVB!00000NkvXXu0mjfr`&pr literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_96.png b/assets/bigbug/garbage/midground/medium/mid_m_96.png new file mode 100644 index 0000000000000000000000000000000000000000..3ba9c80fb8431646a11990ff873f1a3d8259c946 GIT binary patch literal 264 zcmV+j0r&oiP)p_nsfUC;nNBudhI}u5{2wu1)#YquhZAo|5cwuM7Y@D(=iu1`#Bw3pM$>cD(!r z09b23B$3+iYj1@_S%xE zTMol82y>_1$ai9AB6sqcvX6#5D3cbcatkfkhF)~5hJpvuoiW_U6f$>ZhR*=({b86ap^owtuyfk6k6 zsBmb`XBJRv57)EirDDaG2b=C=2cmOeVzE3J7tNOYm7JZG1c2;u(S6D>3 zG%92P)naW7V0Lt%``OW~)BT7)_h2xf`#l-=oN-lVyDlIMGR00000NkvXXu0mjfed>FG literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/medium/mid_m_98.png b/assets/bigbug/garbage/midground/medium/mid_m_98.png new file mode 100644 index 0000000000000000000000000000000000000000..bd1c136aa05cacfc50702868906431e1df1bb95a GIT binary patch literal 272 zcmV+r0q_2aP)Z;FxJ$}mVLDJgRYf|9yM=`*T>xY?^*_ho( zMbH&$E4Wce4o$7t2mdpMsSxq%=*kf~}mlINo`0CcP3S|p(o$}HAb7kmNK WeU{vy0bE7^0000V!--K&Bk z4)TM|_b5zTv6(qA(uY9!Uez9sC$<0t$=SgPBncbCXL2FWUtAqEs!jk7x>)^0+=8tRp%nz^7XvNZ3VAt|E!-=P4JPYhzlI~t%En?xnM=;yMv3eho!@E*7IK1 z9aDA59@kepB9o-Sr+IBNW)Y-jmf+ZzM%DRm;@j;MFiZ9?AH7nQv0000 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_0.png b/assets/bigbug/garbage/midground/soft/mid_s_0.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_1.png b/assets/bigbug/garbage/midground/soft/mid_s_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_10.png b/assets/bigbug/garbage/midground/soft/mid_s_10.png new file mode 100644 index 0000000000000000000000000000000000000000..a88976d6a50d2f91669da54be6f681b6b32c6e96 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6yQxXz>oOfVMSmg3~ m1><729w~=ZW(iG01_s|+Mg`;7Yjy+GGI+ZBxvXaM7`8baESFKgIjw6VFT)+#-4j|=Cb-Py^gMLt(tf>ZEliuY*;*}}=hy!y z&q3&&-PsqBoYu9o&!kix(p!0ub7kX_^VL%i&XwxtDf_)I%^<~KwE^2rc7DktY+;YC fC~z%S_{4OU*;eF%kJm$>GZ;Kw{an^LB{Ts5mI*_0 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_103.png b/assets/bigbug/garbage/midground/soft/mid_s_103.png new file mode 100644 index 0000000000000000000000000000000000000000..fbe5ea0989398c73ef5469184e5a4c0620468422 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`C zYpzl7?~99%S1+G>>(7h10!|0g4kXH7m@mgD(O}EOpqAs8}`Xh zvTLr5@ZXEiN}g7jZf$W0{B%@+%j1u7@hZ!!n;MvkqTak)vDGeV(t-ZZstK&qSUmF& zthl`L%w7E~E`jzn%}kpnwk%0avUnpMX>-EQxVru@R|<%WIhX8mF>ziF4stk4<3 pu+H}BgOoY7|HKo*Y>GrTiU)kKUBs@xG6m=&22WQ%mvv4FO#r6+O1%I8 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_105.png b/assets/bigbug/garbage/midground/soft/mid_s_105.png new file mode 100644 index 0000000000000000000000000000000000000000..48942e627e3ec5442b2fdea3032cfcc3a5d0d1f7 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%``JOJ0Ar*6uPCm`q;2_|9ze{%M za*?gJOV#$iXp#?@)7-e%S58vx_JkEHZtAEq1aTUKp4pb&5X5ww;Y@t*dZ9V(<*Joz zH`YgCcs-)8J(6>xrnb*6U0WZS9&_R32U54$D*PQ1u@*nr1nzLVLm zxh7M}F8RFkmt~q3eA#TLe4~Z!g}I8Ro+)apU)6a^1kIk=pt-|&Swm>gnHo=WsnEwSl4n5S*V7E8nz2#RP#a-3wFZRtXT5)YE!#45L ojuVZHqMjP>J9A*FZqPTTSz#ukL8TcPK=&|sy85}Sb4q9e0J*tGFaQ7m literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_107.png b/assets/bigbug/garbage/midground/soft/mid_s_107.png new file mode 100644 index 0000000000000000000000000000000000000000..6bb452c1ad8b3e06d73713767d0ce9475bd24d36 GIT binary patch literal 211 zcmV;^04)EBP)PP|sHINtn!13#nBuKs!Ac=^0S3zc7t))Oj zAR-0}lJ+ZDRW!5I1SCDOxchY9!$4k=mH`!x9kQfH1M_UV4@uI{-0a6$5&O)uv6fTF zQKrqF?Cv-L*d05ylEj^NU|(xPl2gpx+kR!i06>hMJP3<%2Nu7r!UqR0MY8GbnHvBA N002ovPDHLkV1kDGRI>m8 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_108.png b/assets/bigbug/garbage/midground/soft/mid_s_108.png new file mode 100644 index 0000000000000000000000000000000000000000..9e8c87059d7a03e89cd46e41b6b9393c78c0c247 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`lRaG=Ln`L1opf82S&_qKz2(b} zc^X~wR%Ct_<}lo~uDa-d&6yJlyn^>+L_$Ov%8%bIj<@^HSW(cNWn^lwdCdaxu8aDEfJ@6^LJbKY~ER-4B=qhk&4nVbxvy_Jm4U!6ofu1u&0I*-BA)z4*}Q$iB} D{0vPu literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_109.png b/assets/bigbug/garbage/midground/soft/mid_s_109.png new file mode 100644 index 0000000000000000000000000000000000000000..2cad1e0f4b36c7225c988e435db825d45a3e503d GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar*6uPCCeY*no%myrbD8 zzgIq2{pOsk+~PX-0AtSgi`AbsZUzLpux>cZqc}P2CWDIaN!{IVU%u46z3JzFCR@&( z?>5J|^yC-te&3-x!6mKC+erA&53w)r4wwmkoOh5*0MZEw yO2Ni50Z9k`GnO+RW#egfSaO5=u!2;3HzR|^I~Mu2o+(v8oeZ9?elF{r5}E)RpdAbV literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_110.png b/assets/bigbug/garbage/midground/soft/mid_s_110.png new file mode 100644 index 0000000000000000000000000000000000000000..e5e4d49a65d18d91a6f9c6963e0d28e36b333647 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr*6uPC6}kM1jZIRZVuM zy6Dn*A;I6C_}I0z+&%n?g}EvtMXJ-6?@Wh^ilWkn9zEA94@_>m{Z=~|nA&vl^?HU$ z3BN^i-pWq6bDh)UMRL>PpPqL$|FBFbxpiCbF>^EDx(O>;jDOibxaOGOa$V_j{vDx^ or(e%7Y&daI;%mnxlV7Lg(-&EFu87%j7w8@aPgg&ebxsLQ00YEMC;$Ke literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_111.png b/assets/bigbug/garbage/midground/soft/mid_s_111.png new file mode 100644 index 0000000000000000000000000000000000000000..7d7813140e9f4c6e37e0ce293bb053e1ceb37812 GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vproLLn`LXophV`r~;2O?=I=e z8bg K=d#Wzp$Pz8^Hh`o literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_112.png b/assets/bigbug/garbage/midground/soft/mid_s_112.png new file mode 100644 index 0000000000000000000000000000000000000000..ffe44d427c0008a8be3d48216dc4a15f1faebfaf GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b3I)gLn`L14Z1CO*nnel?ahw4 zH#Bc`&b%W(TW!w5%=Nzx@pE$Sc4UzZ$+@s(sW`)zo)t;VMNUWER0~{`7%rr&+gm0W z+B(y5+2?IaKD$FVmn(-dFr3`oyjJsib$x;plXE)=dxB?iH7Q=ux?4S%)sr Op$wj`elF{r5}E*VyjS}G literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_113.png b/assets/bigbug/garbage/midground/soft/mid_s_113.png new file mode 100644 index 0000000000000000000000000000000000000000..8b6c2fd93e715d53a698fe15f01cd314f4d3a3c4 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`O`a}}Ar*7BPP)r`K!KxW;Y+ve z!qzAK&ZNluO#N{^>~i%)fp^UcJ`8VPtPy7FUYulFFgKa0t&MLFV=Ys~1zyX2v$EGR z3KZSYDO3~GG}KwuxLmm6u!nO)$Ap=t0-?U^7cx}M4VlW2(rjM6u|*)Am0!y`!a)7d lDaFdS@|R|>|5e(=9d}V@>%x^M76M(v;OXk;vd$@?2>{X$L^S{a literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_114.png b/assets/bigbug/garbage/midground/soft/mid_s_114.png new file mode 100644 index 0000000000000000000000000000000000000000..dc56348ed61af86f6b1003af914e78bc13a1ae60 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3p`yMLn`Jhop_M9*+78hxQ1-5 z|MlQ)%U5^WbSN7fQ#%1=DXan%Hj9%!%iA+G+J$F#XToL+%&E zZU)@D-x!d`wA}CT%pLRITWc)5({)9d;r7~!Tvhgi8ST%Kbocs%O9U{)&6wsQ;NQ2^ Q7wA?7Pgg&ebxsLQ09Q*>@c;k- literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_115.png b/assets/bigbug/garbage/midground/soft/mid_s_115.png new file mode 100644 index 0000000000000000000000000000000000000000..c7c09f91fc01c7f0808594b01a78554ea7b6c593 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`t36#DLn`JhopeyJ*?@;7oJV%$ za&P}vo~9Go(~_E#W*pJiseXS>sO|SL`RtjpUQUOn#2_r&<68zcF( z6qMNNZZ%6wyr>E=UBj*=aZ6aGc5lJvoJywfmrs7TOjAE6=$JO`as*@c{ih~+=a&C{ ztjXi~*>%Zm8}r3~bzGTVXEzrMTg(e!ymr;TVBa?rUN(cywfZI#9T$jCdtOj)drfX-&{boFyt=akR{0OUYdVE_OC literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_116.png b/assets/bigbug/garbage/midground/soft/mid_s_116.png new file mode 100644 index 0000000000000000000000000000000000000000..bd1c7de2ae02174c9fb974b001b79090dc2fbf01 GIT binary patch literal 206 zcmV;<05SiGP)8Xzi;LIcJwIoh<=+93Ub3OcTG5)Z@$?{>V?RZA4Z41WBEM zBw|+FRIlpSw*%z4EdRyOLbJ64+prA)h*rEy(hx1EdR-z|EtFKcj8*knPL!_`2Nkx~ zNU~4=FMz>% literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_117.png b/assets/bigbug/garbage/midground/soft/mid_s_117.png new file mode 100644 index 0000000000000000000000000000000000000000..f0d3697ee11b709dc264398acfb7d4c2e5741305 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`m7Xq+Ar*6uPTI(O*nx-neQ(Z@ zxfUYjmwe{GVm|D_5FPK*DIGe}eu$!^r?cRp9 zY}*(sN)JZ!t~<^UTB?7*%yVDcoVk{DwNW2JH(X74t60rclJm#p#UY0Orh*S9Txr`L c>UT&wY_h?I_!f;Ypd%POUHx3vIVCg!01}o%p8x;= literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_118.png b/assets/bigbug/garbage/midground/soft/mid_s_118.png new file mode 100644 index 0000000000000000000000000000000000000000..f8083e36c66e4ba0762111718dbe0e9d2fab9693 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b)GJcAr*73PTDPaK!L}Zb$aiX z$!(wf=4r0n@mcW9a*v7OQWX+Um_8j-oRpBJ&^d`yg^}S*j+Q6u?ki{RSw(Do;~;cL z_MKhK{xo)J6~+V&&-oWFt3)>mw>1TpM9#T?e9Hl}(?D4XQLZ}$%J zDF0NOz~1JxW|;q;Rm#zO#TlS>22WQ%mvv4F FO#q)kA94Ty literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_14.png b/assets/bigbug/garbage/midground/soft/mid_s_14.png new file mode 100644 index 0000000000000000000000000000000000000000..c3c8b37741dddf99abef70b01abc069c504e9dd7 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rk*a2Ar*6yQyLon^Q17T6`A%) z8A$LZEVs}dW|3d}KE%pAo0(O$A@Lo^4&jZSu%?RLsjfd(*my85}S Ib4q9e00=@L4FCWD literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_15.png b/assets/bigbug/garbage/midground/soft/mid_s_15.png new file mode 100644 index 0000000000000000000000000000000000000000..6e9751d363e77756085a92a3dd93e43e732b447f GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`PM$7~Ar*6yQxXz>oOfVMSmg5g zgF!>#fmnkWo`ja9UAr45Ha0%Aw`1-o6!o%7IC4-e!=fth$TaK!%ALVesttJ<82lqS VWSt_4JbGAr*6yQyLon^Q17Td6^vM kS-{aFWsr4X1!IU2Q1woOiHGNLl1y s%*@PuxZaC5LBcfQN<$#?iWCNhJL{O_*Y=gf19dQXy85}Sb4q9e02+%KjQ{`u literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_18.png b/assets/bigbug/garbage/midground/soft/mid_s_18.png new file mode 100644 index 0000000000000000000000000000000000000000..a88976d6a50d2f91669da54be6f681b6b32c6e96 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6yQxXz>oOfVMSmg3~ m1><729w~=ZW(iG01_s|+Mg`;7Yjy+GGI+ZBxvXoOfVMSmg3~ k1><729w~zko&**KUq?m-#l8DdfGQb0UHx3vIVCg!08@MxTL1t6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_2.png b/assets/bigbug/garbage/midground/soft/mid_s_2.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_20.png b/assets/bigbug/garbage/midground/soft/mid_s_20.png new file mode 100644 index 0000000000000000000000000000000000000000..ce78ada54bc4f5993a81f7e1740900d745c4756a GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr*7hPP)i>K!L}_Km61` zWsAvwS8OwRawxP`!HKE8av8&m4ujqAuO0ffWLfMn9{G~0GZk;&sxmqiFcvEW&7XNE zrm7*sy8a*=yNu2`x%~&)IpcOP2fi{-c&N^&8`P%o^ZL8rw^)<+IF-NH@%16lP6kg` KKbLh*2~7ZGy*{S^ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_21.png b/assets/bigbug/garbage/midground/soft/mid_s_21.png new file mode 100644 index 0000000000000000000000000000000000000000..ebde0ae04436b37943822abe47dd3a17371f1ff6 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`0iG_7Ar*6yQxXz>oOfVMNJ;<# z12eVT3~sM>G{hw2_$*`;*~uW4r}HFBn&XX literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_22.png b/assets/bigbug/garbage/midground/soft/mid_s_22.png new file mode 100644 index 0000000000000000000000000000000000000000..c0a1929fb098bae49e1ccf519ce79303b067019e GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`@t!V@Ar*6y6A}`B_#2s-xh><= zP*OP0A*vv4kSJUDk06_y0Gf$4}QicZ??({?~$oz?>Mr1Wm|T>j^zhMH68tn z6W<8C2%T&>a-z}W(!oUrCh0=49eL(I=QQwrWLLgCHAUJ2XcL2{tDnm{r-UW|+3Pg~ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_24.png b/assets/bigbug/garbage/midground/soft/mid_s_24.png new file mode 100644 index 0000000000000000000000000000000000000000..55cc4c3966f970ddabcb139eb4e83834a0f400b0 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`5uPrNAr*6y6BaQ2;6IwesHVfF zxM8DVo?&vbgmkx?lf=~o88gAonG!v{igFDXQ`!&S+?*nL;DkdC&w-eZG(q8ue#aj= ssV$n@cUbAs-Uem^!7!sN21N#jBng}K(XVSFfp#!>y85}Sb4q9e0FK-(*8l(j literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_25.png b/assets/bigbug/garbage/midground/soft/mid_s_25.png new file mode 100644 index 0000000000000000000000000000000000000000..fa60ac71e6cb876ae39b106116803899ba1297fa GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9-c0aAr*6y6BY;<7#SG+S$>2; z%`4VnCgZVV%rBXeli5H(tjJX8Ig`oJf`V^4T;J`(a&mgS9)~qMPnwXXA@_oOfVMSmg4# z!|=cjiKapZH@2LO4c>=uZcf?Jz;GasL2UMhF2e_(n2zcxoMf<3^x;u>!s@2c8_c^* wT;Sum4#mEsOi70u1jBU#nEn|X7#J`xSV{7GPd3de2in8n>FVdQ&MBb@02>A`ga7~l literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_27.png b/assets/bigbug/garbage/midground/soft/mid_s_27.png new file mode 100644 index 0000000000000000000000000000000000000000..246ac7813a9ad69c0ca58d60e6f333531e52cf7a GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`xt=bLAr*7320C&bFyQF^J?Vda zQ+`pq($*mJaDQ$O-5Dz;GH6KcuzF(8VbH(fPeoJ997Fi*Ar*7hP735Ypupi^TBiKI zzUAB%JGT_8vuoIeMD5PFNSHhjsLfvcAn;Cfx1P9(sLMoS_XO6-3j}hEs}lBPAKl6o zbTVebvxpBq);CWa75OE~GHI*Aj3bT~KNw>V$~Q9Jo>eQUe?7(OnL={^UZ9l>p00i_ I>zopr0DP@DRsaA1 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_29.png b/assets/bigbug/garbage/midground/soft/mid_s_29.png new file mode 100644 index 0000000000000000000000000000000000000000..c2b1bd4a16830c471ea2d5e0ddfa19e8403f5f2c GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`zMd|QAr*6uPCCfNpupig|DycQ z|M$1?$#QFQ%e+z8VOYY}VY7zu!MySxlOHg)vVG2b<@qqN>F|4vCDk_Zo!|FF#r+6U hVGfB~a!ZRlfg$p|r9>i!Tqw|B22WQ%mvv4FO#q#NEm;5n literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_3.png b/assets/bigbug/garbage/midground/soft/mid_s_3.png new file mode 100644 index 0000000000000000000000000000000000000000..bde456ab81c3a6932156ba2934b33f6ddb241004 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr*6yQxXz>oOfVMSmg3~ j1><729w~zvJPZuJ4vg||>?6W}3K=|I{an^LB{Ts5I$Raq literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_30.png b/assets/bigbug/garbage/midground/soft/mid_s_30.png new file mode 100644 index 0000000000000000000000000000000000000000..a796d67b026f34d89498edca68235ee57f58e1c2 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`F`h1tAr*6y6A}`B_#2s-xjhqJ z%AuatGSf*f;gD8Vj?W~;B|oOK=r7p)=uPCU3dY@xDhzMf7Fdh7f0mSxkjN0}bw0%) w#v>RL=uu*IV3~lwj)9>=64U;*6+&VRO9j5|e6&X&Dz!`ZQ*Q#p4+x`~ksAFI_1o>Pl| z3BG!;Vz<=|<;fdjsWps%0#Jn#ErW_jh4m23;*x3AmWHt+W=!ToCt k-M$<=!ONIlF>5#D`5e9f7o=TR0o}sj>FVdQ&MBb@0L)`X$p8QV literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_33.png b/assets/bigbug/garbage/midground/soft/mid_s_33.png new file mode 100644 index 0000000000000000000000000000000000000000..b453ecfdb05d79afa47f8b04dd08ea1cfa05d2c5 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`*`6+rAr*7BPP)i@K!L-hf0^{% zf64~Je=i91Mrq~h8wMV-4PcD(QZu}La{2**roI-*+>1H~rZP|1XS>;LO7@9b_PvR# zOdD82+&f-P$WmCl?aF!!zLo8&wgI2nem`?^$P=aBJeB|e literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_34.png b/assets/bigbug/garbage/midground/soft/mid_s_34.png new file mode 100644 index 0000000000000000000000000000000000000000..0671912307144b0d3d666256eaa0f9395ece680b GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr*7BPKxGoP~>p=ns@TA z{zB7I`$KY%0)$Nz8n0f|be*Lon)aECp)P~@B4@!;{j;;SDs1`A%@o}sJH;u=;-n*k zBKwO;XK%5J$<;n)Zt&V7$?#I`vSX}5vQXkvjcT|R9@Pu9Nx{~Cfezg0hf~bGpolH@0;;R(Dq1{k*93?~CtsTsA>d0xRb3^_T{96oaR$pUXO@geCy!|4!@x literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_36.png b/assets/bigbug/garbage/midground/soft/mid_s_36.png new file mode 100644 index 0000000000000000000000000000000000000000..d5a30275165ad26a63e3cf57bb0126d03ef3aeea GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#hxyXAr*6uP7dTcpupoCTDJJk ze-7Kr-!_&$l8Uxw6LqJSikJ;*coOT^@da8p?HJ7g3ano_9d*zn(P-I zO`lNqevaqwhO16SwO4IgTSKIj{bU7dMIO&@IQwN~!Ghz5?feB^GM<)k Vt~$1D_F16y44$rjF6*2UngC-SKsNvY literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_37.png b/assets/bigbug/garbage/midground/soft/mid_s_37.png new file mode 100644 index 0000000000000000000000000000000000000000..7d56e1867ba03a17df5dc4bb7fc19485b1431588 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k)AG&Ar*6uPIBaGaNuEf|LFet zzxtcm*A72&4e%~DxDb3KX?-*_ThGidMFcvU%Fev-eWbfK>HXxUHx3vIVCg! E04`ZF4FCWD literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_39.png b/assets/bigbug/garbage/midground/soft/mid_s_39.png new file mode 100644 index 0000000000000000000000000000000000000000..36f645916f4f1463ca2dad6c1a4a34261b9221f2 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`C7v#hAr*6$P735=P~>n~enYzQ zzjB4z_vDFD!p6c%P0uW^nJ_eUzq&2$GQD9F^P-D)-)S;@=CUc8(5T07J5|ggNtbcr zgWu;4o$7kKx6tmzvPGQNrU-=zEUOXP>z;CKGwTY2f{C;5&XjNX5}(qo_sKFM_5rK) XhV-7@`;RmN?Pu_G^>bP0l+XkKZ%{$} literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_4.png b/assets/bigbug/garbage/midground/soft/mid_s_4.png new file mode 100644 index 0000000000000000000000000000000000000000..1bdc4a186d5e98891310be05af34b7976c451dad GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`%APKcAr*6y6BaQ2;6Iwe=;mc& nYybp-iz=@)1TwqvIxsM}$1+RqTbLFHRLgTe~DWM4fmN*um literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_40.png b/assets/bigbug/garbage/midground/soft/mid_s_40.png new file mode 100644 index 0000000000000000000000000000000000000000..5e9c43c32b2aab2639f6be28bb8c6aa06e100c7c GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`HJ&bxAr*6`1_cT^D6)iv7yVbZ z2!8)KwJR*~n1T1!u-*ej#omvwl7J2b&beHvF8RLL8xlcc)$|uc}YLM)e+bt{Q fvR>IY?H{A?s+)!OO>?V(?qKkA^>bP0l+XkKyOKva literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_41.png b/assets/bigbug/garbage/midground/soft/mid_s_41.png new file mode 100644 index 0000000000000000000000000000000000000000..dba6f2d748e23fbd4b813e07f3821592ccabbde7 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rJgR1Ar*6$PP)i@K!L+$e(cL{ z@&{+Wa5udgX0n3Qk>8TvfbrPDT?`X$e0>??n3_Gax!QTtq9xl!|5cb999MPT6v8** z^Zo;Z_og|_b=v!dv&vKVWkloj2R0AP&%XAQub1BBBlEa%<4&$cpWo~1RDPP+Cz>O0 ZcenW#{ms9x=KvkR;OXk;vd$@?2>{`5MZy38 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_42.png b/assets/bigbug/garbage/midground/soft/mid_s_42.png new file mode 100644 index 0000000000000000000000000000000000000000..5de40890a120b6a8ff5d0715d08256792d0ac169 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?Vc`J1CsyDQJIFd`&As%v)pLzH?UliWhXQy8m3B&qzG!M82}q zXHg&ijdjA>pI0(O#h#Fz%(SXcRzvX-gGKywuFn;*uNLj+6M1>zW`upYLRPJ0#M8A5 q?re^i-!Zj(uj_mj8n$N5XQpQHU812`8pc2;F?hQAxvXov+Q7EJF-7*d+|ge$&zmxo?aOQ*wlkGkg+90`Zg#ZHa@L8L z!EfuX9<5#9AYT8Lh54LHAZy&jB~1^suCk_0u$eG>{VwjDIhpxSbl3BECNhN@C++lq n?6`!#Q}f4{35$gIelwnKyJ!DIPP)t6V8GF0AKUrY z{e{nu1Yck7&=2h`4AU>%i)|2h61)KEoJa@ L^>bP0l+XkKY{x!a literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_46.png b/assets/bigbug/garbage/midground/soft/mid_s_46.png new file mode 100644 index 0000000000000000000000000000000000000000..60efbbbf933528d742b44dd599d8d16e9c65af02 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4W2HJAr*7Z2AvjdFyQE3H|4K; z!Lq6iAqzy__}+W$z?J!f!GZZE!ydhl<~AN5<~`mYup#`x-U&MUGM);EB|l-|-K{4) zPuWuY(^0MRFbBKNc>xA%8(25rZ1Kq;l>FVdQ&MBb@01JppivR!s literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_47.png b/assets/bigbug/garbage/midground/soft/mid_s_47.png new file mode 100644 index 0000000000000000000000000000000000000000..7a889a4a78e4fb6fcb5767809a2cbdb15680f863 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9iA?ZAr*7ZPP)i@K!L+$zOQ-G zf5AB?>sD|om@J7mRXlW3aSjuYOWV!uR|}3M&il~!e^qmbKt{qsL_Jm3}qVv)I|Y zJZsCfdH!A?MQR$05 zDh}$tZP@T;)5aA)kEVyrTz_$sz|6<1N_fK-tu^_O=F-`*Gj+r9k38q3XR@VFv2K2< hSetH;qgZfCT(4{0Rd4&Qn?Q#!c)I$ztaD0e0sxToNxT36 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_5.png b/assets/bigbug/garbage/midground/soft/mid_s_5.png new file mode 100644 index 0000000000000000000000000000000000000000..37b48cd03227f40438e91b0edb62e72182248768 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3Z5>GAr*6y6BY;<7#SG+S$>2; m%`4U*>%a=e#cTm585md=G0OH`6%PZdW$<+Mb6Mw<&;$TyDHezT literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_50.png b/assets/bigbug/garbage/midground/soft/mid_s_50.png new file mode 100644 index 0000000000000000000000000000000000000000..70bb83e6450e7666b4a1c3c1dbacf9c0eb46c2af GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`O`a}}Ar*7hPP)r`K!KyhKDP6( z`wO49-4X$Rd_6lJ+I+BKt;p{BQQGp`G$TOgQ1!o7rha*o9BqpoUTh954D;HfvTt3u z^`ZE>1@}|QIzG1_m@?jZ{S$z^Ty2S k``fyMMibiPGnxN0EbBddsaL4@4$w6Wp00i_>zopr0MEBbDF6Tf literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_51.png b/assets/bigbug/garbage/midground/soft/mid_s_51.png new file mode 100644 index 0000000000000000000000000000000000000000..753ff2791467f99239aeeed75fe2b43642b68fd7 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gd*1#Ln`LXogBz_*nq=1zDV_5 zJN!?=a6D&)=ek`>WpnlGMCbmUgD( zms8347aw>3nXek6xwUY*QJPZ+Pe{tLM7Gke_4}Q@M*u5kV^e=2k*?B zHHY8mm?ocMySiddVZOu)wNmvcHv2o>pOar*kYB*~|A%}`1!MO0C8l$K`-TA>$>8bg K=d#Wzp$Pz*Csxk@ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_52.png b/assets/bigbug/garbage/midground/soft/mid_s_52.png new file mode 100644 index 0000000000000000000000000000000000000000..b448e3195479f16c04a68122a783aaa81bcdaadc GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`C09xjHAv)Nb64m|ezb=KR2Mg6T@c)H5>Ag7rAnfB?^C+yz;)!$k`Co)+0MzCt9 ZT;8#RFP=2ac?om^gQu&X%Q~loCIHr1LCOFC literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_54.png b/assets/bigbug/garbage/midground/soft/mid_s_54.png new file mode 100644 index 0000000000000000000000000000000000000000..1bcc8a2f8b687238bc1b382cd6ddb3f33fdff9b8 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`eV#6kAr*6uPIBZspuoZ6zW>Po z`448lS?I{P^;Vo$k_mTrunt2<$bxOL*JtwSt?bO`>izXoziA)O!FIQk0u3BfiryQB z=r7GydXjc!QE0^GmFLe{?5-4B7RPyM+JU-TEk80(S852?CY67IE@SX?^>bP0l+XkK$OBTl literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_55.png b/assets/bigbug/garbage/midground/soft/mid_s_55.png new file mode 100644 index 0000000000000000000000000000000000000000..2bfead550ee0519a85e4c2e8d9f749b61d319328 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`(>z@qLn`LgTe~ HDWM4f@%K}x literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_56.png b/assets/bigbug/garbage/midground/soft/mid_s_56.png new file mode 100644 index 0000000000000000000000000000000000000000..cb5b987b8c95a4f94c847230133f86af53e06f24 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`<(@8%Ar*7h208K_P~b?eTlv4f zDL<**H&qa04F_OFa!c8huad`G09;M?hMvnDeh=Dfa=*?LBCf!O6^t9Kk> ze4EEP?ZqP>zfytFO*5Ls!`CgdK7DlahAAHxG)J`B{`qmai7%+Lf-lIw^Tg)<->DPg a?(uF_`QjxT^GFBi1O`u6KbLh*2~7Yv1V$DB literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_57.png b/assets/bigbug/garbage/midground/soft/mid_s_57.png new file mode 100644 index 0000000000000000000000000000000000000000..f06a20ed2ed684e3f62ed8fb7fe77149b54dd11c GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Wu7jMAr*7xP735ZpupjLe~-|2 z`=<0H`CVr-&$6kwxa8haYDj+Opr+ZAC>DLNpIcKp)v4!dZS2;!HZymdKI;Vst0NGGL9RL6T literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_58.png b/assets/bigbug/garbage/midground/soft/mid_s_58.png new file mode 100644 index 0000000000000000000000000000000000000000..2d5186b6860eb9e21af8acb35718fe26c74c8cc7 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`O`a}}Ar*7B2Hoa8puk}h)A`pu zLG8D4sKAwND?Nqxu*WT62sjwS_{INydWFITtL&7Y_Ch`D(>bl?3BA6h(y=I$YyPp9 zp1WrpwsHI}Xn1{-smn9Rcq1hf?e|}HYrg+*{dfEykNLtj87^xrq@P%vSvG(BgKs%K l^OD^d9o(Myo=YeYjB!|bN$oY8QWVfN44$rjF6*2UngHa@NcR8$ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_59.png b/assets/bigbug/garbage/midground/soft/mid_s_59.png new file mode 100644 index 0000000000000000000000000000000000000000..64194287f7b60aaba69efb4ca073164c972d5ad7 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{hlt4Ar*64gKqOOC~`Q5C;b!RG+WMoOfVMSmg3~ z1><5i9$99Ig)?-RKV-G6RJ_K0M8eJJ$N2*X4lpo;GBPPfE!o%w)XU)M>gTe~DWM4f DhYKGv literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_60.png b/assets/bigbug/garbage/midground/soft/mid_s_60.png new file mode 100644 index 0000000000000000000000000000000000000000..4b093905410fe1435e618342e4d902b2ca0f0a9e GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`eV#6kAr*6$2002HQQ$aj^*8X} zk^IkURV%h#YkHlxvxQN3<^lGGW)_t%9zqNXoTiq)oTqg3xMdk$vE;Dy=%0|*Z*?}W zqsQiOH_v>(4Q-)@QsuniCnEi-EZ3gdcG23e?RM2u$Ave)TW9QN-?&ow;+t;~djqOE yJ%fYZojlWgKm6CLjsVuM^Ja4&@J|f8&G;{sb8Cv!TyCJt7(8A5T-G@yGywpohEI3^ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_61.png b/assets/bigbug/garbage/midground/soft/mid_s_61.png new file mode 100644 index 0000000000000000000000000000000000000000..a9cd54c9c9f9df88c1ebd8c69a94ee37028bd4f4 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`&7LlfAr*73PTtLX*nr0+z9px` zx=`cok(o1^!W^R4y)a2EKGgVKQ)2>?W`mlS;^uvx_B%~pbftb<<0xe#a9Ssho%0>T zoqgP1i_Tf-UX45*E_@)I;ln<)D=OvwK3C;;b=c(4_yGug$@)owg m*ZlufHLW@R&#`S0UHl@2>?_{%GA99@!{F)a=d#Wzp$P!nrAS=> literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_62.png b/assets/bigbug/garbage/midground/soft/mid_s_62.png new file mode 100644 index 0000000000000000000000000000000000000000..98558da8c03004c21fc9c33430f64bae53a14e47 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J)SO(Ar*6$PC6~vpupoYf7=$@ zz$vy%)oc`ayngh?9CG+%Hi1=B$u+@Jt3@lVVY*2}I>)-8{P#~Qr@PiZjoiFM@{L2+ zj7Aq(QKqj(#(VZWR^;vGR>+N;@Hx8Yib(jBWzCnZb+RUZn|xzg=eFer{q@#2jLvrP u?-4As7rLc+qf}R1{lEeC$~lvE+3jRxwB$~=&MyQxl)=;0&t;ucLK6UvjYxz5 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_63.png b/assets/bigbug/garbage/midground/soft/mid_s_63.png new file mode 100644 index 0000000000000000000000000000000000000000..6e61b7927352abeb974b999c5d5bae969f875023 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3p`yMLn`LX4L&V;Sb--v!qd7^ zqwJE;mjLI#G8{{GcJx2hn8w7woAO)!bE00wF7_zLdX)y5+qbRm|E|0#_OxxIpHt`T z#&sPkFOKx>+;``Mu&Q=Z{muM{$(onfT+DfVsHvu9dCDx=X9gLt+M!Z{>M|9JQx1#mT?h3@&5h~##L#bs`c~Q RO@MA?@O1TaS?83{1OQ%JSo{D0 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_64.png b/assets/bigbug/garbage/midground/soft/mid_s_64.png new file mode 100644 index 0000000000000000000000000000000000000000..a5602d359ed6882cb850fbfbc1723c2d4294dab7 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`O`a}}Ar*6$PQJ){M1jY7e#A-Z z)D`ch%q)^$5t`}Tzs%#r35~u&76y+gfl4ZibeLFzQZzP8>u+ZM{ddU^&T>J88KqIj z?s~;OSy@pg7todbpR=Um_sxT=?w-jkE)Sb_CTQPAjR&{g?yWJ}Wq61GX#O&T@&Yl9 mjxC0o@AtpyvRyspKjZC+-*5Jxk=y`u4TGnvpUXO@geCwDtxNy_ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_65.png b/assets/bigbug/garbage/midground/soft/mid_s_65.png new file mode 100644 index 0000000000000000000000000000000000000000..1ddf3731d687c1b224d55559d7c9414ca06d7a6b GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?Vc`wzk^Px>!iL$w zb=?h19x`o+=f68kuj{z2=M@Rp?ZU4E1BKGW3jHo+eyhJ1wbnQ0_2#48Co>ZBQk`md r^6>TVO?o-$#p?MtIE;S83&_}AeAM-;?c)rflNdZ*{an^LB{Ts5!~07- literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_66.png b/assets/bigbug/garbage/midground/soft/mid_s_66.png new file mode 100644 index 0000000000000000000000000000000000000000..4221349be42e17dd79efd82da2f994dbbc512b73 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9iA?ZAr*7B1|1YUpupiBt7&aG z#oBOkt%j}Z>Un#AbtVZ3ur#n3&3*jl(l_JD_1ZTMs;;a%<;kxxN#j#i(NyLIT+Uqy zTSB%zY;^gMG{L#Bu;F=oU_fYfZjY?K`fr=o)al{DLO;LCM{uj%zty>FXSyb*(Q#?H r;<6tPk^_#2ZnKGM)yP}2K z;xN%!o@I##zeBpzJ-+X~+9|1v*}GQU$#|>oYPXD4XYn1S-tsT|Py2efd=#>@{H-v% brj8n#&AF`W)u4eFb^>bP0l+XkKe9&3r literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_68.png b/assets/bigbug/garbage/midground/soft/mid_s_68.png new file mode 100644 index 0000000000000000000000000000000000000000..a914b0c231041e740eb68e9fcedafbf93863362b GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vproLLn`Jhoph1+umX=u{NlV4 z>&oc!PwE^r87E)37WAc~_3h-H>VS()4K9nw}ZPydtNI5qypw{X_eYC(G#xOl&ET>rn79q3F3 MPgg&ebxsLQ0LOY)d;kCd literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_69.png b/assets/bigbug/garbage/midground/soft/mid_s_69.png new file mode 100644 index 0000000000000000000000000000000000000000..348d12bdc3b60081b79ab38504b6fc5ccf3fe623 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`U7jwEAr*7ZPCm$cM1hCJJR;DN8?D3D@{Lj~}j5^ip7PCV;YRdEN vj;9X=@x96^vSh#iR_EWb&C{>fKV;5S`&4$~+S^Y+S21|H`njxgN@xNArqEGT literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_7.png b/assets/bigbug/garbage/midground/soft/mid_s_7.png new file mode 100644 index 0000000000000000000000000000000000000000..7346be6352a534113db46df55526f7db347401b8 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`2A(dCAr*6yQxXz>oOfVMSmg3~ z1><5i9yw--i8oT7a;AtIEV`&7-N3U!(rMB`7iI>R?@aQ!hohGO^)h(6`njxgN@xNA DWY-=E literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_70.png b/assets/bigbug/garbage/midground/soft/mid_s_70.png new file mode 100644 index 0000000000000000000000000000000000000000..161e720011787fe248fffa58bca24e26b6bc052c GIT binary patch literal 208 zcmV;>05AWEP);WJE0000< KMNUMnLSTXj@>X8} literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_71.png b/assets/bigbug/garbage/midground/soft/mid_s_71.png new file mode 100644 index 0000000000000000000000000000000000000000..203ef8304872b19640544e36b9f82aba6a2c3881 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>pfi@Ln`LXoqSrb#em0Io=0}2 zy7<(2F~Q#$Qs(l@l@$lJMQofP)6f<2-(dnnh0dhNsW-nz*Yh2?msj*&u%LXG=(*N# zl|J=NdV9XheOO~%IR8X=xPEFzU97~cIWr_hYbM;h#GF)^^(2{#)6%)K>i===Ao1r* z9{3(N5H`x@+Lm@gtJif&Zsoy?+m=5u@OT_x>Gdo@WxCPo46geX0zNWIzV{9}bv|M# g literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_72.png b/assets/bigbug/garbage/midground/soft/mid_s_72.png new file mode 100644 index 0000000000000000000000000000000000000000..795f89bb7fc759a11ce6d9e92a944a39daa86c04 GIT binary patch literal 234 zcmVu7cR;G~pCnpH*A9B6iu4s_R%O=wx$T|g6=UXL{FS745Kc|sYtnchvp^RM1w&x7 zNw}+Rx0{W50I!8IF`1?D6F~TFw+wXmhNYw=$8uqljij!Hm$GORx#^MYt+rME^N8+u k@ZoHqx3bYeMiQgG0n<6>9PZXkU;qFB07*qoM6N<$f+cEbn*aa+ literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_73.png b/assets/bigbug/garbage/midground/soft/mid_s_73.png new file mode 100644 index 0000000000000000000000000000000000000000..261f404b7f4b88e93fcbe0c7883859b63315e56d GIT binary patch literal 203 zcmV;+05t!JP)_H;G*K8)cG@nK>hjEH-gtN|BEGElXWm+k3&U}*vfn@jSYlcm>S_I$NY6fD>nm3(RY z$X(Y1xdoGuzP7M;LE^tTkcbB-=kua52U*3L(O%g7KlGr>P+(M~7D!TSrCp{1=c1C% lo0Qzr8%*iGCuPiO{QxV0?j^~|R`vh@002ovPDHLkV1h6(WYYiu literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_75.png b/assets/bigbug/garbage/midground/soft/mid_s_75.png new file mode 100644 index 0000000000000000000000000000000000000000..927cacc07f91bb62fb3905fcd6ef2b494dbd81e9 GIT binary patch literal 241 zcmV0Ki(A~RBNc#=O%YW)q27iPa+CZ zV1qQzY^W7zxBn00000NkvXXu0mjf^QdLM literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_76.png b/assets/bigbug/garbage/midground/soft/mid_s_76.png new file mode 100644 index 0000000000000000000000000000000000000000..6ce4ae8141a9b1e83abe7146e6c8d851da5f8a49 GIT binary patch literal 221 zcmV<303!d1P)kY&p41>Qz-N-v-sP5#MxF0R3JX&!*OUMvvLqhrikjVBi!3GIQ6xgou$|urHj7@_} zToH{qKt{?lR>Tlj#IY{pPW;GKOy=&Sb+d?E#v7B=RJtqJN@0`xjT^BdP{jD%FV~%= znOH<~`UTsnf%m=Xz-un=pRn}7KPFqv?Yy4h`6)YYYG4~ljY+@mISu0O*R6dr=?j1_ XFiGo&`3b+z00000NkvXXu0mjfuS8*e literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_77.png b/assets/bigbug/garbage/midground/soft/mid_s_77.png new file mode 100644 index 0000000000000000000000000000000000000000..56d5d1a8ea0b0b95cd5f22bb01fea37c01168dca GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9iA?ZAr*6uPTDQVqR8WX|Kg;o zqQEatX4Npx|9FUPyZZ*O6oW}edmOoDvI=)8Djx-*mK`_>i}qf=^r{3*w7eNVhqIDdhE(f5>8(oP@ke4JlT-lXQ$!8*UCWEx(U18~C)+uDMA7W>JA{Im%9%sv!sg$=9eV+h(MCB=Lo(^NwZGwf8q}v W#tZy#wm~}p0000Ygr+Ar*6yQyd!p^Q17S6`Ax( tIVdxq=yF=MD`APWLm5xNSymB72B%VH*~b&zOMzM#JYD@<);T3K0RRuN7_$HX literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_80.png b/assets/bigbug/garbage/midground/soft/mid_s_80.png new file mode 100644 index 0000000000000000000000000000000000000000..d36f98a1bc9264ec0d928a6bd2b0066d3f068e72 GIT binary patch literal 234 zcmV6+xJ zt7ENo6uCIt*=TZI!Tw>EVh}L^mUcV%6&bh|Mv?t44xCtu0T_3FqoCt7ksQnP3P2jj z=hH<9@-jsL|70fxfzkvK>jr7=8+m~XR|Qy;d~vOFQK0nUgZ>BB;w@e{(Q|5++)kp% k-Xr99A84&(xh{UkK8FRMAXg`LZvX%Q07*qoM6N<$f~JmLv;Y7A literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_81.png b/assets/bigbug/garbage/midground/soft/mid_s_81.png new file mode 100644 index 0000000000000000000000000000000000000000..51cd80d82b0ad3d33074ecb5416baad2828dc23b GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J)SO(Ar*6uPIlxwtiZ$4UYGfQ zOMR35N44(`D-^O8JMeu?Rh53jc$?FjVZ~J0YDSMFuT2X$HMe>7vsh1MOtDvM=E+Y8)SI7j)b=M)#+ w)Q84=Qg7z7lz-Vj`9|5nzPr9PehMGiY##Ud?|Wi)59lriPgg&ebxsLQ07QaK;{X5v literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_82.png b/assets/bigbug/garbage/midground/soft/mid_s_82.png new file mode 100644 index 0000000000000000000000000000000000000000..6e710e156417a03d9f5d6d2e6a96d379cd094bc0 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3p`yMLn`L1oqUn^u!4Yd{H{sm zyXGdSpLenIy5wRRB=xnfhi`)1w~Yc988*z+b$t*O$f97XBo)M57OI)~e+z%^%iiN( ztsa(#vUp6dTNckL()f0vyC$Pq*9*1AC5nMw8)9v)bttJzT-BG8(R^o+_+mY47tjL6@4hExdN#reyN+XAdSdZPCwve&F`~8+s~%>#n&?t*M!4 R6$NxFgQu&X%Q~loCIFsHSB3xp literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_83.png b/assets/bigbug/garbage/midground/soft/mid_s_83.png new file mode 100644 index 0000000000000000000000000000000000000000..dc216c699cb1d2de0c5bf404d6f5374bdc8ab739 GIT binary patch literal 225 zcmV<703QE|P)wJJ~Vj`W;OP6Yl$H8qQaA(PIicNd+6s_AkwogyN=|mqGD~#E?T0O zLy8m^CQXDEQ9$Aos0b>e7FuKh8TZ8%zHL{{9jwlC zfmmUh1yln-2*?<9nnj{&wFdXBF0jxn0K9gPXQ28wJI!+TP8XWRZ1>TulDki3Ewk$N z$2}OtJuWxm@*cFj=3syX67{&BZO-h$zLEzn86Q9*orLm4eW&tqT7B1kxKEb)Jr^RZ P00000NkvXXu0mjfxZYQo literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_85.png b/assets/bigbug/garbage/midground/soft/mid_s_85.png new file mode 100644 index 0000000000000000000000000000000000000000..54c79065e4a3ad552c9a8cf0ad4e041735c264b7 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4W2HJAr*6uPCCuYtjOacfBVuG z6I)%|z{$l5Z`8ZOCf1&aag(sAVv`aQHJz!!sxXzwjNzEV<4xHtn?AE_YCIyl=GapA zrpF)LYu9`gZp?9e-#%Y@mZQ)l2F(qRWlM_R{=RNyQ2i$3hWbI)x8b?lpB>5m^IhGK j$=YZ$vw|pR)pOPvrPVVv*SyySx`n~h)z4*}Q$iB}$(ckn literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_86.png b/assets/bigbug/garbage/midground/soft/mid_s_86.png new file mode 100644 index 0000000000000000000000000000000000000000..477a5176a319679d749400f0d52053e4b4ad2e4d GIT binary patch literal 211 zcmV;^04)EBP)2~r?uoE-6ACNZC5FnP&N#?*0kWgJsqh|y%yRDW}S|k|7P7ivDyXw_B_~%6pnEBQec5!IX-Bq2< zL8$uR>E5ImT`~H1fFxuk-}tOt+7L(?6boHSp)1w;fSeV$R@%{%-~)|)kZ7w16QuwE N002ovPDHLkV1g99SRw!b literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_87.png b/assets/bigbug/garbage/midground/soft/mid_s_87.png new file mode 100644 index 0000000000000000000000000000000000000000..72fa79771bf50dd77b70f471774a104fadde64fa GIT binary patch literal 242 zcmV_*0pNcz!*79`0{R3NlvA^C8?R7vkfTpQ{4l+}RlflApt=w5{P scdRpD0;)0~pM%{m3CS>Y`S}rk08q@MX0(9Sxc~qF07*qoM6N<$f^P9?vj6}9 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_88.png b/assets/bigbug/garbage/midground/soft/mid_s_88.png new file mode 100644 index 0000000000000000000000000000000000000000..c79dc5658bfb565c6ea39f38ed2454c3c04091b9 GIT binary patch literal 239 zcmV=}&7F)-0FhAJ`W3UpH^0cOk24QcpE|279S p+$u2JhwG6K+bBV`w$+}g@&$_Hopt>F*FXRO002ovPDHLkV1hzMWaj_? literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_89.png b/assets/bigbug/garbage/midground/soft/mid_s_89.png new file mode 100644 index 0000000000000000000000000000000000000000..5796e871974c960a308b8125ca61b55caca8f4e1 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q#@T9Ln`K+oqU@2umO+r{LMn; zLFuc?ANjme^i5j6mic)|9LrBUR$MOr-Dp^)aKk41IOJL$=`$A=gW5oumCJE0L=lL?N)aPSC3ebHFp00i_>zopr E085fip#T5? literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_9.png b/assets/bigbug/garbage/midground/soft/mid_s_9.png new file mode 100644 index 0000000000000000000000000000000000000000..77d93cb86f55dd0b1a160291bec083c191a2d2c0 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`dY&$hAr*7pUS255pdfJgLj9Zl z#WxvUSg)w-FKf2AzlK|)rtu1QoVd^4hHo>Oq#tN8E0p~Eybq|8!PC{xWt~$(69AjS BAlv`| literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_90.png b/assets/bigbug/garbage/midground/soft/mid_s_90.png new file mode 100644 index 0000000000000000000000000000000000000000..d59032039d058801f9ba6c4f756571d128e6f5d0 GIT binary patch literal 222 zcmV<403rX0P)l~N|+ zl0P&e19|y|pp6v(n^qOEw?bu)z%{Q@4)ppYD34$ YCq99hf@+IT1ONa407*qoM6N<$g7S`8=l}o! literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_91.png b/assets/bigbug/garbage/midground/soft/mid_s_91.png new file mode 100644 index 0000000000000000000000000000000000000000..2060bfc8adb9c157ad1959d52f735cd3595386f9 GIT binary patch literal 242 zcmVz!rMVNmlXsdk*@e)cwYB+dh#|m(!2+`3KPv$60{}=^d76P{k8wySj|3zj zfo4#xi?ATEtO-bv?A@It`)>p}Az9G86S!BrBl$S4xWqCNkYkaFVzGx3^EQ|@FZ9{d z(0UcKHg~-*qc3%$@H>!Rbp`;$;*uJq+E#_!{boA$D&)~_iirC=7(k|*@O^wF@DYL{ s-$Pen!rc)hHJspzJd;F{Y90Q>2^_kdbfv1l+W-In07*qoM6N<$g8jQ@8UO$Q literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_92.png b/assets/bigbug/garbage/midground/soft/mid_s_92.png new file mode 100644 index 0000000000000000000000000000000000000000..2043c295e79ce27927d455c3f51adcae70d434b8 GIT binary patch literal 238 zcmVq@B!6WGBt!J`!_;0HOZq&e)b@Ac4dzNV&u`EdcNV07z(&l#_C>fRy*= zEqS{xqpGn0X{D_Sx-Krs^7Zqou^t!l~%}auavy z3t?-Fblu{E4752#``2}88T99=AAc-{o3sdT6D-QCOwF;Jw0$)z>5T9#X&ayE(GaE7Lsf|NJKL<>x!@ UPd>HL7wBFFPgg&ebxsLQ0R7olfB*mh literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_94.png b/assets/bigbug/garbage/midground/soft/mid_s_94.png new file mode 100644 index 0000000000000000000000000000000000000000..6d44dbb336cfde5f0ab11b4699caf8e3ecd132e7 GIT binary patch literal 242 zcmV1cZrH9=2XlXKu_ut^}g>_e8V(TYF*V~UU-@=2)2qoW^>;008T!f zDSF+PN}+7`d{?_3Jc-Q%$=~)JKs5i0Di5wGBx5U<&r;_B-qq!hJQrx38x2F4W&b*= s(N3^FaCh#CHeLXph>O|#I!9ph0dy0eyu>IRssI2007*qoM6N<$g8e~ZJ^%m! literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_95.png b/assets/bigbug/garbage/midground/soft/mid_s_95.png new file mode 100644 index 0000000000000000000000000000000000000000..0225492665d5eb9e591270bba2a0e809b43804bc GIT binary patch literal 249 zcmVSlAo4+rIO0X2{nf5-~}AYrBH4!UpeA;ES8bcZC6 zgi2XfC$%P^dvoAyH$D7;J;4+Z4wb_D6)jI-5t zpBI>p;DT{)bkv?LkVHGu8L5+hZ{eZt)9>~h^UIuth-=VF00000NkvXXu0mjf-C<^U literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_96.png b/assets/bigbug/garbage/midground/soft/mid_s_96.png new file mode 100644 index 0000000000000000000000000000000000000000..021a7d681bb7d7cd6394fdcc63630ae59394905f GIT binary patch literal 226 zcmV<803H8{P)|y6mC{sb c9?qaEKQIxX%TU*qo>sX)t5!N7U@vn-QdW1L-An zhLPx1a(V+Op{^jvFayUZDhM(Fa0~z_C!4quAU&L#(ko#f01N}wgXeUqqMenrcUasDZk^+ zy=<8q?NzXo*}OKu>w%i*BkLyqS)6fd&slEN&(SVDZ5!VhGX2eMIlg1z9g3@u9QA!v h>ZEjbSEb5NMhlzXlUug9_5>THSgim6 literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbage/midground/soft/mid_s_99.png b/assets/bigbug/garbage/midground/soft/mid_s_99.png new file mode 100644 index 0000000000000000000000000000000000000000..29b81fe6c2d7eeb2f4160941184150543907c192 GIT binary patch literal 233 zcmV>L; zgBYPFBJqZ^qeiBiCRaL@0AGAiH)m(0)?PZXt7;wCS$sMJH)q{gXm-2*RoyUANFarx j_;_B_H*pFYAaOeYE7F_=I*_vo00000NkvXXu0mjf(}7+n literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbotnik-0.png b/assets/bigbug/garbotnik-0.png new file mode 100644 index 0000000000000000000000000000000000000000..258936ddf30a28632f228be8ab21dd2c6d26e136 GIT binary patch literal 2114 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 WI>^;?(bLy|tk;u3!t=0U^uGan8uQHn literal 0 HcmV?d00001 diff --git a/assets/bigbug/garbotnik-2.png b/assets/bigbug/garbotnik-2.png new file mode 100644 index 0000000000000000000000000000000000000000..19754b5c126ce07544911c46333d8d4c360fe940 GIT binary patch literal 1963 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 T7IzHZfW$pr{an^LB{Ts5Pl1Ib literal 0 HcmV?d00001 diff --git a/assets/bigbug/hit/hit3.png b/assets/bigbug/hit/hit3.png new file mode 100644 index 0000000000000000000000000000000000000000..dd804c38db86177cdbff751facd5ce54741c485b GIT binary patch literal 789 zcmeAS@N?(olHy`uVBq!ia0vp^(?FPm4M^HB7Cr(}jKx9jP7LeL$-HD>U^?&V;uumf z=k48tc~XWVZ5IQ+{*9lhC$*%6rM2#x85`uzIz(@UT3|G55wJ;9evOc03nyW1bo+Lpcgok%wa^Xe6^w_iN}QIENsBYTZf z+PcfOU9K%jqNcw)_a+G%eq9rBaPiiuNe5*Qr@LOi&9HjfE4Pgu8r!vN!ZxgHo!y%x z7?`%r-nw$%)R%9zo?Lyt^veDHUX7yN9YvcLNA0|HG-@hPMP5SezP-Pnr|&<$rK^a! z+jNTc@m)99E!`$sz3p0(&QYaBIUDoR?w8tXy?Z6n-4V9=g~xfXEw4I%t%mS;R^Q)T z1u~~DJYsI~mft{EALV+zZQHIu9i^yq%am{Y{X0KNFfjpy3~OvRe3v;PmB!cQdL;9C zgx`v4pejD?X-Xd_1HJQR>mmR8#XDceeu~r(6a08{UX}0J-3P8Li*Pw|J!18lFRQY5 ztx65mQS$0}cj}wi!c)J?mhS&=3^eM4_51Ymd-m==sg*tLCQ$3)?xWSKriX0okg$8T z`d!|tdHj2;yN|4!pvn`U9IAP+w>tHBfR0j|`08C*u6MJqeAX5#G5W2Z1JoJ3UjEyR zw|5iM{$DXXs+9CI_Tib=Q)X(42`>FV-_Ggk^*?eef8BZ+*X8PR^5VUl%d-z@u?B-2 zlqWa)>A$Pfk^~nJS#{?omqFPw5g+TDJ7rS0}DGy#U^(KnJSZ{@w! z>0$*Y2bncTXP#2uHGjeW)0W`q2d03hY}ekr-*hPcDVtcfMsagV^vYH9w|!mpZnr1U zNk87qd|JEUn^?)T`P!~PADU(FTI0Cu&zxvrIK13_Xr1v6>7z=IzIc`VT{|^zX_$_Z zUwrafE9alnVUduyw|JA@Zs(&)hYkP{6D(0OFz|g~U!AYV7le$;uumf z=k48tMYk0sS}*Rn{JlQ4d}7wJ(nmKo?L5H${LL)AH7O6c6^{P<0n`fyGj67SVO{gA zYH!^B-@l#~-F%h)H~S0ghGq8`>nD`%p89G*go^|iMI`&aDl3o7UArv8Wy&m8>xic^ zJ{vm>Hh_@E*Xruj)oa%Bb-B8HFJ80xx$)KW#brw)TuSEu{eDfT{kGEDZQpLRCJ7qm zTnpE{zWDWQ?8}c|{np1%1*-T{xh8p;{qAX!Ymd14Ic)5Z zh+A`bbM}<1*4seYMD@=HZhkhi(-ad-i$3wrKNV;Q8yH=llN|ay=52kKYfI8z&z1X@ zN4RK&CGVaaes?j<2M~Xh+&(zR_Wj1)t9&|34%Sh+x9-@B@_Ntxa_a+ilun)f^d(+RJ4qVo$DQgPdvBj9cAFl)v13DC#e*3? z)6;*w_?{>6SI@G`^~eU(u=kQ*U%lSCt1tX?IMCS_*GBAq|EOwuR*9r&H^=!s_YJGU zzpsk4`|ZB5cA#I9=Oul%L=;X|r<#qa;-|K~mZ9jc?WOycgH z@9!>)E#?BomqwW3cfSYe*3W}h@C`Z=iKW z+s@=nkKF{dPH^Lu_g}rj;gTe~DWM4f{*`lt literal 0 HcmV?d00001 diff --git a/assets/bigbug/hit/hit5.png b/assets/bigbug/hit/hit5.png new file mode 100644 index 0000000000000000000000000000000000000000..76b35e1846f7186fd9faa18fe6835fa12614ae57 GIT binary patch literal 791 zcmeAS@N?(olHy`uVBq!ia0vp^(?FPm4M^HB7Cr(}jKx9jP7LeL$-HD>V7ln(;uumf z=k49IezzSY+Ac16^e_KrEQ64Q(D90UKW)>)S9Xh>wfSpfcJ3|62!_AAxBp|hz9`Nn&z)={NHhmcTc;*G1HR|lRyEYi(!R4Zr7q9vMQ zf?ZcvUiAMU+RgFVAzf~2)|Q*T8#`8*CD*xGwg}0=Ute+v7;bVV$-j=Oh=WRHgZ{7U5`rL z_G?Lmi^etA)#royHGobO-E_-m>+%Sf2oPe>(W`s9>DAr8S7&bQ_)%=z=T-8}CFQ$2 zHqC2St0(SR{dG%cl3-#U$Lpt+TW-A%3I+P&e8k#&cX$4}8u#}5Q*AN9jY+a^dGclR z7GFCby|JTXZQT7A7p8B%FJ3t{NpPW<_1-zwQ=iFnYw{GYH#ocZ_$Co<1_n06qmpNh zSI_bO`t5yDsK=3#=Mk&txqtn(r6WnuFm|Kd%T)F0LBBgMYzDe*W!c9w=j=A$uX+Y_ zu}HST`f01b=Bt9D$8^Q&_c#5gdv9cDklMz-*4|w=O-Ct4H0;vv&%sN93WDFynzzM{ zb3HKHW)yAzk~1|Ds1yu#nLn*vH7TrGYoW+@uFee`I)EtR+24qzGuFld1K~*b)>Fch zYkER?lD`OYkf*Dk J%Q~loCIF4(f!F{5 literal 0 HcmV?d00001 diff --git a/assets/bigbug/hit/hit6.png b/assets/bigbug/hit/hit6.png new file mode 100644 index 0000000000000000000000000000000000000000..0abbddb239328331f49241acbb7d87b7570f861c GIT binary patch literal 782 zcmeAS@N?(olHy`uVBq!ia0vp^(?FPm4M^HB7Cr(}jKx9jP7LeL$-HD>U^?OH;uumf z=k49Qc~=ZX+%EFH`n|tshvKCPMkZ%}bl0DYD)$KCnYwqQta(ih1H*+|i@&o+T-}y? z`}2DFe)pB{zplS0-(V^k;UWP;HQ)X*thRi|wmL|Mp-a0|%4YLTzfWs7c5Kj=xwB@s z&rv0(jcUffZe=ZxaM8G?lBRjpZ(~Qt*{0Rc^)}DF{vp51^+@i~U!U0bYg}BtK6u?u z4KcxwTrs*AUOe3-_Q(FHl2TpY*7Hy1+kM{kt8}gAWmAxP_4ncFyPVE=ZtO7F07MK7 z2}0*O4y~GZ=eDR&VuBzLJzQQQb@O`A;yb5a_-^db*y!vj^>&Q5wN)P7u39qhlJ@mmBHbPOS9e6MNN%+Gx*ll4kB^%VZ8le# zy3*{Z(xcSSH4`h^lLQTGYNr(Y0nL2fCU`dO?9J+!^7B^$y8_?FF6nZ0nQ3}$UAU&3ZpiA`2NQwj zJkfcz@>G;YEpr6W@!OA8E&UbU7agplG%dzHCNMR(R2=MZo$a3`pPC(xb^H7KmZ;Fi zGbeXX{=9!_p6(o=jXJ?=7T?S6**&Lr@}s*z-w184a!sF~`>l#?6(}B-oSPT_wJLl~ zlHkIK$-8%5`}OYoe(#N-fGle@U;XK_Ls_efj%Bo)*{k03*MQoWrk(T&i_g{+112XR zSbgK)i@%m>4Ca zo&P2`_v_XbNrE50NoCK^-24B%*s(=GMYlz@M9+(Kb1;L^>qU-h%GLqBvE%c-o2$-8 qh<10Z{4X2dX(~1+0TjQC0eA8vRsM3Wsafg@a*wC0pUXO@geCy~vTsoU literal 0 HcmV?d00001 diff --git a/assets/bigbug/hit/hit7.png b/assets/bigbug/hit/hit7.png new file mode 100644 index 0000000000000000000000000000000000000000..c51ac8f5c16e4a4049dafa97566b1c8e2b1faa1f GIT binary patch literal 736 zcmeAS@N?(olHy`uVBq!ia0vp^(?FPm4M^HB7Cr(}jKx9jP7LeL$-HD>V4CIW;uumf z=k49oL5~dtST9s${rf-taFR!;nt*y)N$$$hbA7A}7DY|JcKF;=CWEf0Zx};L_r|UN z9Ee{4Xewlhi?Gc?~>oD1YY;l zVPI&ezMh}n|5zie)#b)ibjBt4~Pj|7+T;u5c%iNu=E}P}Ng?iS0 z4UPmV?Ek)TmCDq(HM*UyM@+2WugRW!L5Q1y!Qy(({DXI-S34=4dXs#1p5NZP-zP=5 zOtIuIzV_W;|D-C=eRrnRdZ|=tz2gl?zQ03`{EPS(CM1 zbtA|G4IL$~KlbYvL?QTX|Lo%er^b0F34UbV;``zGmq7gqAXj+0`njxgN@xNAnX6JR literal 0 HcmV?d00001 diff --git a/assets/bigbug/level.png b/assets/bigbug/level.png new file mode 100644 index 0000000000000000000000000000000000000000..0f67e5b7bd3765af76ec756279ce39ae40cdd38f GIT binary patch literal 4554 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 Yv-@LWoKJ)Q|JMp|&dT1h${ZW_9~Jjl1poj5 literal 0 HcmV?d00001 diff --git a/assets/bigbug/levelNew.png b/assets/bigbug/levelNew.png new file mode 100644 index 0000000000000000000000000000000000000000..7f5c2eea63152f7c0a9f38158bb3ee4d08b1067d GIT binary patch literal 7727 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 E1^W*$QUCw| literal 0 HcmV?d00001 diff --git a/assets/bigbug/levelOld.png b/assets/bigbug/levelOld.png new file mode 100644 index 0000000000000000000000000000000000000000..aee2a8a75ee20d3ea4b71f2a1f257381d3422d0d GIT binary patch literal 19107 zcmbuH&#RqR6^73}y+YbjD2h-jLhGPl2hF`VwvtSWF>MoQgSH)1sbG@c#%dZRtx_ir zoOL3OoF&D7phKNFs0vObNt>Y{jvOe3&ICbHpZz`iyx%(eoCLv*S@+#*z3W|T|M2!MSecQpAU{KvHyJaUyt(Rsl!*!y#B%qi^sta@#i#u zcJgz%^YG#`-E(B;3&9WKTm15!PkzUbdw=-svv0NeH2(7VZ*BnY{n6=f;k^H|?a$7w zzy9n$IKTY%Gq1e;>>HO37cZT7_2i|)%dZ_?Y16k}J^9APlRv)r{NYayFFkj7`HAx_ zcH~b#eV(L;TGFX=ZyzoW_71*sbnnTd2ge`Tf9k}O$4=}W|M=b4zX<2S#(DXTHxCzk zdnfw;_CNmPV}EF!OhvDpn}Ykl|K{hvg!6&s{5rlX=NA6>-lw1ZgTVbQ@Y03D%kfooNIM;wLzS!mlBn zdO~Q@RWA7Mpk~30XmABl7#XYDF<1_3+FE zs@ME@)WSwrJSYxolIJs!9jkg(tYxAlNJ9apW9M5GmjEgwLg4rZrc*lun}T)B^C6bB z0XPl0PP^jdsyLhxK#I$Rcm$bB%M=iNPmrKRitdoUo1b&fVD%8Hw%pC+O=!7HW&^==Uu=u zv1kce_9}m~J3}xTm6j&(i@Tke>#kKi)PO-{(+^=ykjZ=Ry%%0$)idPC31QXDeCg*V zMA_o==g)^-0b1D#akVfrO_uz2$i(ytGOf;Rdh$(7RsBpI$wh6gH3BdUV{6o@p>XVm zX@CT$;Ql0Mo=kZIyE?&SZA!~g2SOXTG7mOiwoaIvLDawR_{njbq1-rN`P!8mWbAu}A~1UcKsce}A7#Pww8{-p!jgcPvXsW~TQ{O|uv_ z1h8WuD5!cPg&mbMzyuuRLqsTD+IMQ%Sst01^04wz|wo3d~QbA~mT z0<<`d8q(^lp7d(@oqx{NQ!Os0{1J4p&R& zz=ynfO&W(k1SpVRDj>?RQm}-(`@?C;Y5&6yKRkEtoO14?yse&ujAFC(VmoLn;HAni zVQAB2oLRmEY(j!qfJ4rbvqGKX&H;=Sr~MqJdg26_SW_x)*Yv`L3y_A(3du~YSI9+d zD&k>OQE_*w;vs{bYLi2hRZ^fvt=AH!AsHAj`)9P03=apG6}SlfH7cRnL<5@Y+N3$g zK>;`!gvIi}NvN1r_79wdH#13aH{{gq7DEV#j%B#??G}ZhIyNc-tO)|GUn4@6ptTIR z4L6rB0S5;MDPS5=3shh-S%mm5VmkNGsx{H9B|jJhxF@DTWhjI-nkhih3KFe}ILU3# z0pp{OKEkpNy-5H}@&5V+S5Ihc7gZT{0}U*B$uiR;?;`WDIAs7BY6&JsGd7emM~@yA zdnu@)P7`9nS3X9Ba4ILT7*X4FN&&uhD&$)d0_q{7&_6O+$8gAlx>GEJd~8yfGAxV* z+oiUj0TcESOIV3`0Pzq-mmv+mQ7i)mLSn4Z{-818s@3JICCS>Xogqg*oXBkgqKx(& z$hI#lx4`OGpg7Nex^JzTpm-5V%>)90ZdXDc$QQHh3a-&!xw`XqMREA#&36e_#E{xSce@%%GE$7WxS^9lIiQu8d!G>Q66}*(88&Np?EA0M?$+r zGQ2bJRL9SdXQxb~u0M-&pV6u6@KI|8_#s0@_9ts3lpL_STBfc5KqAA{6J^Kb;B2o7 z0!e1-f&dKF*%`I)D5pim#7reXW$U{x2RP7P1kG%N%;gap{^espAF*&CcoNO464 zz&`MOn@wQQjvwf%Bt>=l&_k93GAZKziAE;psVge=cvvh^g>u34I5k)6^9Y%-qzl{h z-C_;_%3!SlW>g7jSp3iu0@FKE@{KkvURaPK$EumKOY-P|sozlaa>$HiDKB0*hVZKo2VR|8LAV_;St(J zni@!`k|h&U2!Hkprgf*}E;3z& z(okh1^oxfd`}gYK0?72%ie>sVm_jRUL#B;IO~FRyPkMJLcytP&DiMH6eP7}Ckz}oe zq+vK`ZyRATDuwz(TY2Q=B)@2M#8NX-1i8K62z!X<fFu)9B z^`LU*M04ya;_*e00`Xh5uK=&ocwMhyixDy!3*Rd*NDAvyA!YiPu&^ho{zb1I8jW+o zm&^VZ@Gu}Ni>sEKOM*r;>3}T!QWz(|2-Cz@{1hi~RYTGLzo3L14fi1&e z7>GrPWl@H|zPV~cGGkScU=3(Q+b1wPXgd+DfW}R84-MHPehZ*3Ac`6dc`EqZuN9bA zMZ6B20=CWsY=nq<+HiE{36Kl{f4fD@bM0UoAeKxp&m?{Lh%)s9Cu9JF1z|~NOpeLq zvllNCc7YR>>>E!1dljB3y%`9>C^5ylL;$V0j{d5EikIz%$M8~_k00Q@B!`jZra%C> zU@hH{+kW$c3!oRwZh-MuCk5CRq)D@YCr3R2i7eEmgKel6s6xi7I#HaI%>E#Xhfx=* zN2%$lZC@3b?xrJSc|={1PAu%YGe)W8R|TTJVDOt_J?t(d*;p1kgcFKikSP*!06Nvl zw;K$;mOCQX&0!-BPZg?Kb5n>>UrJf}x&1Uo% zO=qr>N^J%FNIt+pCOKSf03I!i6Qn`Z^&kzf3>H6@F@Gkj>$zb`;K||*0jXv(l>^_k z;xX4^kQsO^+5Q5;gqS3(9+H!gkZX0y;*@Y|7R4NywqJ4b*5&>vP1yD$DnPn6!8BP( zM3i*x>=a>rUpl1*R4{`!-4hN#XC#PLJkk3GBz^6ga>tdXS#%lXs17hkf__8PP&yW- zP8Ql?>=IgdT{s>NK%pVo%;dv#--Zpel8bA<45^!|A`+C80h_7TXgI0lTB8d{ZvR!k z5;A;YWcg8vE}u*JG-j>Qk}%xe`3z8JDaf&2YzBU?wLKf3Qu*$!Q7zXO1%}hLw`q6@ zD@|*3O_arXHtvZnr@ZM9Bs-l~AX~3}k(tenii?njjX&w!W^N5r2B3YSL1I#mn#@Q8 zxV{jeF(O^n#c%{l`Czqo5fX#CLME_e->FV5P_Z6p3{M!3uLeMW7fI44IsNLfj2uEZ z^$X~d5uN1j4!y%jOg3pqu-=^fP-EbyhUK@fAgx6UP#cWjr9{+j*eg6(qWu=3NQ3t1 zKH}MI&BBobNW%t@Wf}Gc!T#$U!!=WkA7G`*2^LhEiL|e?-J(bst2WYd%&GjO=l+=P zeiGes1}R=EiIoGVQaEl)rVzY7^OKx3s0hJu;HMAtYN!nS zJjT3R64j|SE7++^!7^>0JaW!AE%lHv4M2k?Q&Q;wa)~l!b8HC0Tp&CYH=jNWhhsiY zYZz4>&)ojb&U^;!8Zk&(a|RnZUYRmOpe=OSOg|5@g1G?HTeogOBDucMBLOfie`2Cu?I@EEolpKtT5i-rUUL@p@OCmKOs{?@3zrI%&IEn%!lyl1Zs9{R{ z0Ymxz-_$r&7zhnoI){2VZ9-8}Lf|9J3!+X-ryw2qT$m7c1*$+`Gx66|4m~By=c!%O zdM_g+uO@@}OGkdg55Z_sGHs1df58H@Tg0O5ONQ%6S~>z$b*3`00z77E{q8jXN=@~u zTXEz784{SX!(49tDdtsdw+NT&VtMf=q<@%_>t07U>77sU8mswYEL3}}%t5Hjt!@-d z)7PG4NCspphee%hlaNp4)&g)GX|(?%j$FHRjSAHGx61u5&b9(n+($5?ST7ZTdJF+} zE6_h!vvBq;QdcjnPZpiTf=8w#HqmE}2 z>%ltUSX**%{Oz9t|zODJSTnEHNn+E!52 z!A@&h^;8^=z>vM;5wrrLA)I7;->R!~Ylw9HeFaPuQui*I&;~{OOG5z)&MQbwfH7^R z$qe9ySX&7{1VAgmkQYYnv4*OjEZ-}Dni!6t7idMwNCG~v??Dp4TKo|zdHp!`K;}8< z-&2#8Ol#c9FHKG@u!;MZuu$zQQ-C#Ur8}wDTrte;Ta+-2)KC}8NC!?U9}iOqj`_F1 z@tPC6H91iMS`|1oalS<%C0T}z)cg(@1Okc G&;JYZ@g0W% literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg0.png b/assets/bigbug/old/mg0.png new file mode 100644 index 0000000000000000000000000000000000000000..43b998d4927174a7c51341196594f5813ab64ff6 GIT binary patch literal 2529 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 ALI3~& literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg017.png b/assets/bigbug/old/mg017.png new file mode 100644 index 0000000000000000000000000000000000000000..61173d1989a68934dec3b0c456efaa1d5bfceb96 GIT binary patch literal 979 zcmV;^11$WBP)EX>4Tx04R}tkv&MmKpe$iTeT_`2Q!E`WT;Md@e9GFRIvyaN?V~-2a`)bgeDD1 zii@M*T5#}VvFhOBtgC~oAP9bdI6F8gx=4xtOA0MwJUH&hyL*qjcYwcMW~$i{1ys#4 zQt_CW&8>*RS9GBV0;Vu4F;h>Z7c%f1U-$6w^)AA*ywCkP`jouM0G~)4Wx8PzuMUyKw>po`EZ^<*(F%nNQMd zEiHTm^lt+f*DX!n11@)f!6#iZBu5I+^cM=i`x$*x4j8xvdRN`vn)^6?05a6o(hYEM z2#gjfd(GqB-R-^od#2gn4=l2B@o(2fY5)KN2}wjjR5*==l0Rq@Q5?rVy37!!whueqk++kWr;-uL@^pYNNwb9Zy(G!>MD!~d2V9{^xhf}&sQR0E!d<<)u7 z=roln5zCN0wRET+i6W_mSqfYcmwWA*DS?xs(pvb8XZ)6ZfMv*(zjjV_R}zk=U!E-V zp83xuNMv*#EjF5BkkrEHJrm22aheK}d!WV#n3bStJ~^2hACQmcJc3HXL2^~y@m#_u zQ%P!JY=6q*4vZ&oSEm|4NjRwS!Kn#!e?9lO3xPMUegJT3)1r{g@Z#AteZ6N2My^4p z8bGoPS>&FN<|x(be3rgX2~6g18M262>@Kg)qxT!^?wdr0ArFH>HiPX?v0Z%3!n!T? zwbG*(wEX>4Tx04R}tkv&MmKpe$iTeT_`2Q!E`WT;Md@e9GFRIvyaN?V~-2a`)bgeDD1 zii@M*T5#}VvFhOBtgC~oAP9bdI6F8gx=4xtOA0MwJUH&hyL*qjcYwcMW~$i{1ys#4 zQt_CW&8>*RS9GBV0;Vu4F;h>Z7c%f1U-$6w^)AA*ywCkP`jouM0G~)4Wx8PzuMUyKw>po`EZ^<*(F%nNQMd zEiHTm^lt+f*DX!n11@)f!6#iZBu5I+^cM=i`x$*x4j8xvdRN`vn)^6?05a6o(hYEM z2#gjfd(GqB-R-^od#2gn4=l2B@o(2fY5)KNG)Y83R5*=wlRr!oaU8`z?KS02dJ&@K z95gf-nrmuWqd{2!7cLEip#v+EgM)4iiXnukaWO6~s7#o+c0)op91R0QLqkJDQWJ8y z5Wth%QF}Ru^M14?ewW|hy!XDp_kNLkcjx_yf{&`VD5PJovG_xH$1VX=Q}D zg2DZ96@apJhPx|MF)eX_d&|B6sF)UV#ue-}&%lZ21^Z;O7l5yyA_8EpU=VBXZ*-y` zC!Xi0qXAGqSz&w2#;hx7Lq1=Q8uaZSGAwNZu(q*z`3)MUs{q_oOtCjO?NGMP=&K!q z6s2^qPR%m{1yaAq70t&gC8+2@f9Zi`HX6rRr37Wm3)G zYK-=Ad&}+?7C3S{%lyZu)I5Xc`7%K82HjqVqnvS>$wf;YLlD`~iGEbQCF0vo^6J@l-Yi}Z0J>$WdW&Leii&ArS7T(gB<`+^Sr6AG7xE`Gt*PWwj&_geqD5{V(1TP~nd5Q%p?(2&*qCNGl^Et|3^?PLQ(`03uuv sSbYf~tdQNV#yWnc(%cas^^+C;0{fBL#)#uhrT_o{07*qoM6N<$g2QFaegFUf literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg019.png b/assets/bigbug/old/mg019.png new file mode 100644 index 0000000000000000000000000000000000000000..6b90ce7b340ee15eaf98bad72b37b79fdcb0f2aa GIT binary patch literal 1099 zcmV-R1ho5!P)EX>4Tx04R}tkv&MmKpe$iTeT_`2Q!E`WT;Md@e9GFRIvyaN?V~-2a`)bgeDD1 zii@M*T5#}VvFhOBtgC~oAP9bdI6F8gx=4xtOA0MwJUH&hyL*qjcYwcMW~$i{1ys#4 zQt_CW&8>*RS9GBV0;Vu4F;h>Z7c%f1U-$6w^)AA*ywCkP`jouM0G~)4Wx8PzuMUyKw>po`EZ^<*(F%nNQMd zEiHTm^lt+f*DX!n11@)f!6#iZBu5I+^cM=i`x$*x4j8xvdRN`vn)^6?05a6o(hYEM z2#gjfd(GqB-R-^od#2gn4=l2B@o(2fY5)KNfk{L`R5*=wl3hrXVHC%IdpGUP_J&3( zK_#&!!axX#5Nq^-W1?PkAwkf>q7Q?t48zU2bJnnhAx*GwImN(wu3+4q3V5w*Z;9Bo}N~7!X`{Mf#29P4@ zbsDoq!Y&0hD&w%*i05snQJIxoE#c*ds8Lw}zF>Y=Qz`6H@E=SGMQ>`H8~xXXdNyXD zaM*45f_bF6_8gU8)6D*yVPfGaVV6Q>e3fKo7_;6_bL-G9McHH_ zp0|m0ByFUO`3UtjRn)cTkWCimf>{8j0zEhfGN_3N0G`1%rUE^pmbB#7*=ox7^$SIh zd!D_aeV)fXk8HBgY1L!U#?rvj?jsX^p&HM>z^wPvd1Xkz08(jT*87FBY_b3dSG0y* z-Hmt#+k_(qH4y=8BWAr{C~8eh;i8>J(n%fOhH;v#RY0~lfzq(ULN0{EZsVD|MeMA> zA74Eo>{5iaVV8n)AVZT?L0Xf3W3PXNuDnkGr7LMs*PbJp85Z@`+Xe0pCehzK)!|&N z`9RAdiQu=_^u1i=M@nX4sern@$T5?RbLTC5{xZqx(iR)>GUk;{LZdO%DkJ(>^$F+V zrwY{VMMmEiFc$WUt4n4NbLpa;KRZS?%E#IIB~e+wgB(7<_stdV^&Urew6?WS>ha!i z*li;Brp8(K8u3lf(sB9>W1*Si9sCa}o~vKf*_Z*}^emZ^wTy*kSV;$Te*t@iB!|aD RXAJ-V002ovPDHLkV1mwl2Ic?& literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg020.png b/assets/bigbug/old/mg020.png new file mode 100644 index 0000000000000000000000000000000000000000..f14692fac5956246f946fac59a238010e3c79396 GIT binary patch literal 987 zcmV<110?*3P)EX>4Tx04R}tkv&MmKpe$iTeT_`2Q!E`WT;Md@e9GFRIvyaN?V~-2a`)bgeDD1 zii@M*T5#}VvFhOBtgC~oAP9bdI6F8gx=4xtOA0MwJUH&hyL*qjcYwcMW~$i{1ys#4 zQt_CW&8>*RS9GBV0;Vu4F;h>Z7c%f1U-$6w^)AA*ywCkP`jouM0G~)4Wx8PzuMUyKw>po`EZ^<*(F%nNQMd zEiHTm^lt+f*DX!n11@)f!6#iZBu5I+^cM=i`x$*x4j8xvdRN`vn)^6?05a6o(hYEM z2#gjfd(GqB-R-^od#2gn4=l2B@o(2fY5)KN5lKWrR5*=wlfP>dVHn3hm%N5IG-s`P zoP!!jvD^`DaVT_=XMI2PZ6^o%ku$&hu zC4s!H7vgZfZ<9v9(|cc@AK&NuJZCLDdeEZ}Go>*AYGFicQ=kG#Shx6Wx0#9H=h7o!3>phN`{+lx)nS{M;kb2OH+CbqGZMI0MVEC}lsPM>rQ{jGu|#x3-? zw=fI9&Bt#@0YufD3DzBtjv{?Uey)S`6j{{@P!!(?kv+2Z}@R5(xmj`P=OMf&ooYfpu9Xq@fETyd`Q zEB-+{(?WIyaZ_;e(ibk41=i#)2h9|5GvQP38~a0@JDDkJVPq~*U*oyayNUaKeCp@U zCvz}*|KImsnu5#6x6S)sywF_%R_U;@wu|k>v^E7{-QtXW8n@6J_(%Hr6u?AwddNhr zrtFL$ePxbHL-PXQYv%)ixreBlOZGq487gdhF>cU9`U=~N`2&3u@Yf93d~E;#002ov JPDHLkV1mKz!BzkO literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg021.png b/assets/bigbug/old/mg021.png new file mode 100644 index 0000000000000000000000000000000000000000..8282ffb1e6455998e0a37f6f35b53033e88dcb87 GIT binary patch literal 1048 zcmV+z1n2vSP)EX>4Tx04R}tkv&MmKpe$iTeT_`2Q!E`WT;Md@e9GFRIvyaN?V~-2a`)bgeDD1 zii@M*T5#}VvFhOBtgC~oAP9bdI6F8gx=4xtOA0MwJUH&hyL*qjcYwcMW~$i{1ys#4 zQt_CW&8>*RS9GBV0;Vu4F;h>Z7c%f1U-$6w^)AA*ywCkP`jouM0G~)4Wx8PzuMUyKw>po`EZ^<*(F%nNQMd zEiHTm^lt+f*DX!n11@)f!6#iZBu5I+^cM=i`x$*x4j8xvdRN`vn)^6?05a6o(hYEM z2#gjfd(GqB-R-^od#2gn4=l2B@o(2fY5)KNPDw;TR5*=wlRsz^Q5?rVxjX9xJuFIF zgj7OHBr%c>^$$TfaL5rV86spU7|=nTq&i7aY@u38Q*^9VC}il;L1@v2(g zg295e%b6wRicM=m9KyY%Eq<5x_xpXn@Atju@^nS&0EwF+0FqIIV$HxOnm&E)6ER(8ZpMWgsO%#<`Rugy37ZZir?Zl^dG)bGOqWSU4HmPt zLm_T#y~Zb-te2-*$=dvU>uy+>Uzns{*Qn%Gl2KjUe=BlUsnPO|xOaf%d=~S>FC@F5 zp!ur+T)j88|NdKG7n)BdoiVZ2T^L(unihK6@3OZ$%KYr=q4bkcgK#8;T~Jt?(!_jM zPrWGsFfvxA>^m)TXwAaow$S`lu1_>7S=F{t1C^%0{K6!Wj$_<7)h+%*I%5*kWzrdw z%=dBZfA0_x5eCyi%MQ)ZAxSL>-Z1NA8Dd^7h S($t;+0000EX>4Tx04R}tkv&MmKpe$iTeT_`2Q!E`WT;Md@e9GFRIvyaN?V~-2a`)bgeDD1 zii@M*T5#}VvFhOBtgC~oAP9bdI6F8gx=4xtOA0MwJUH&hyL*qjcYwcMW~$i{1ys#4 zQt_CW&8>*RS9GBV0;Vu4F;h>Z7c%f1U-$6w^)AA*ywCkP`jouM0G~)4Wx8PzuMUyKw>po`EZ^<*(F%nNQMd zEiHTm^lt+f*DX!n11@)f!6#iZBu5I+^cM=i`x$*x4j8xvdRN`vn)^6?05a6o(hYEM z2#gjfd(GqB-R-^od#2gn4=l2B@o(2fY5)KM{YgYYR5*=wlfP>dVHn3hxx2;-$qNQ@ zxekSdAmw7f4n+tQ5*!jrB}4xJGq|*i;^rhSF8&7!o%9dr&_#67fFP6%EruK!0@B6n ziD`S0JJO4B2zT5y=9ymJ=Xt*0=llFftm%!}#KNum1;eUo7@Ol0vTI-D**hIeq#+2^emg6W#gC%(sU%F zmOa$62f*3o!9v%&9fyXNhS}fPbcErfL<0k6$5in8Y7E30CRi1@kSLHNMS~nOhPPl1 zElstajm0ix1db>ZK%pE|IR*$Tj8zbrFnp@@EW+@^^^Hne&u4k?^wn~JIn%r!6#bGM1l0uES!Jv*X=j}`~#FJ%zGsY2#){&002ovPDHLkV1nPP#9jaZ literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg023.png b/assets/bigbug/old/mg023.png new file mode 100644 index 0000000000000000000000000000000000000000..c23dc6138dedd8464f9f0b0ac11c44fe59983ba6 GIT binary patch literal 1115 zcmV-h1f=_kP)EX>4Tx04R}tkv&MmKpe$iTeT_`2Q!E`WT;Md@e9GFRIvyaN?V~-2a`)bgeDD1 zii@M*T5#}VvFhOBtgC~oAP9bdI6F8gx=4xtOA0MwJUH&hyL*qjcYwcMW~$i{1ys#4 zQt_CW&8>*RS9GBV0;Vu4F;h>Z7c%f1U-$6w^)AA*ywCkP`jouM0G~)4Wx8PzuMUyKw>po`EZ^<*(F%nNQMd zEiHTm^lt+f*DX!n11@)f!6#iZBu5I+^cM=i`x$*x4j8xvdRN`vn)^6?05a6o(hYEM z2#gjfd(GqB-R-^od#2gn4=l2B@o(2fY5)KNkx4{BR5*=okwHilaTLaXGdtOA?vO^~ zDp)Iuvde}ZqB1b0gJLZnJV@Zdo6@m^5J*uV7!=Y~A_$Tq5?V-1aS3ueD1{esnMHAN zm5^mtG-hoEnRPmhP8z=B|9jv2zu)(Sk6#_RLW=Sb9GW?SH z#2}N&qNm><$>p`*SQN4XkyIcD0nrWRc?~8EJ`7%p^PICloW$ z;{k><-|33^yr#a+4lGS(e0!6!wJrKa1_9_9nnnbeOct3vzk#L6O(q8UaEv6X|-zjYHWy#qOGp h56MpXK`D5f{spcW529cJ<9`4E002ovPDHLkV1kgj{G|W@ literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg024.png b/assets/bigbug/old/mg024.png new file mode 100644 index 0000000000000000000000000000000000000000..9f3611402488679c15d6d47a7bf34c0672f36c9a GIT binary patch literal 1030 zcmV+h1o``kP)EX>4Tx04R}tkv&MmKpe$iTeT_`2Q!E`WT;Md@e9GFRIvyaN?V~-2a`)bgeDD1 zii@M*T5#}VvFhOBtgC~oAP9bdI6F8gx=4xtOA0MwJUH&hyL*qjcYwcMW~$i{1ys#4 zQt_CW&8>*RS9GBV0;Vu4F;h>Z7c%f1U-$6w^)AA*ywCkP`jouM0G~)4Wx8PzuMUyKw>po`EZ^<*(F%nNQMd zEiHTm^lt+f*DX!n11@)f!6#iZBu5I+^cM=i`x$*x4j8xvdRN`vn)^6?05a6o(hYEM z2#gjfd(GqB-R-^od#2gn4=l2B@o(2fY5)KNJV``BR5*>5lTSz#VHn1LGdt;Q?zE^4 zvwL6VLgXrdA31o%-C`4r)43}A4 zlr(}J$5h;1c9Nal4&!_#d-A({JTLF_e(&=>?Z5aivvy5Zzll_hW z+G1YZmt(C+$Q$qK$w?b@=R<;|_ZR599juWyl!!BM^#PwhZm~G7c{6yK`AwvH93#5# zW};&RscsaLMnG&lL|OX`N+)y9)pe-0WtsxfRD$ zX$e|ff1)z?co2XYyNF||$bm+eo(qj)V2O?qvTmFY6D1r|#afYs%~IVcSvO8{*2P&) zdoJ8K+Xp~$))k2@K?}XVz>Hlab?j%&Y@Fq^z{=nH9@4At$;n&f!kb*%o?vO+vndx| zBU14k3hpk@9)L%8<~(LV_FSm1?65el5vepW*xbtZ**t()F5jWa>6CbNyZr=L&YbpK z0BE~Z5{m@z`h`SJ-ekB}uW@MX*?A(BCh^(+0T@>GWOFhveEPx# literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg025.png b/assets/bigbug/old/mg025.png new file mode 100644 index 0000000000000000000000000000000000000000..399581b0e74e5644346bc7ea11d8d2a47ad69cd3 GIT binary patch literal 927 zcmV;Q17Q4#P)EX>4Tx04R}tkv&MmKpe$iTeT_`2Q!E`WT;Md@e9GFRIvyaN?V~-2a`)bgeDD1 zii@M*T5#}VvFhOBtgC~oAP9bdI6F8gx=4xtOA0MwJUH&hyL*qjcYwcMW~$i{1ys#4 zQt_CW&8>*RS9GBV0;Vu4F;h>Z7c%f1U-$6w^)AA*ywCkP`jouM0G~)4Wx8PzuMUyKw>po`EZ^<*(F%nNQMd zEiHTm^lt+f*DX!n11@)f!6#iZBu5I+^cM=i`x$*x4j8xvdRN`vn)^6?05a6o(hYEM z2#gjfd(GqB-R-^od#2gn4=l2B@o(2fY5)KM)k#D_R5*=|lRsz^VHn1LIZwHh9BB*X zvdD!9a-oNlgTbLw;*o%oLEN&6TcJ9Li<_v)YK1%;=3Lt3JVZ6?yO*Wp}VA|1jJ)D;OU&V0)MGsN*5YI{j z5hrKya+)^@PpF$^%qx$un+j4Pz_Zdwh2TtBE9x?kgcn25szWy4dPs#}X3C`bJrOlO zj^hHr>+KgfEt%|SDFJ2Lx~@0lJ9jawKB=2!9N`n!ZjP{<3di45q!&S44im}0z6vOM z$e?!th~hDXVyS`MRA^@o6PE^1H_P0)^$@2e&v2BG@q_Y{h0kAN9;Uf4)_r!pPP$}NVE>#P%Jg#V0X{~{wlM#aY8Lu;qG$@W8G)# z+fgi~sOTZJTm|c34Xr9-=+OafJ$s4Ummw2v_-dz3vDCo01PgtWcerR62(?^={o#8& zD;EX>4Tx04R}tkv&MmKpe$iTeT_`2Q!E`WT;Md@e9GFRIvyaN?V~-2a`)bgeDD1 zii@M*T5#}VvFhOBtgC~oAP9bdI6F8gx=4xtOA0MwJUH&hyL*qjcYwcMW~$i{1ys#4 zQt_CW&8>*RS9GBV0;Vu4F;h>Z7c%f1U-$6w^)AA*ywCkP`jouM0G~)4Wx8PzuMUyKw>po`EZ^<*(F%nNQMd zEiHTm^lt+f*DX!n11@)f!6#iZBu5I+^cM=i`x$*x4j8xvdRN`vn)^6?05a6o(hYEM z2#gjfd(GqB-R-^od#2gn4=l2B@o(2fY5)KNM@d9MR5*==l3z$uaTLct_in@;Ed&Kzt~e)Qb;3h&t|@6T%81ma<^F z=3CePIND&h=(--({pr%^`}E_S^F7~lzP}?4ytrMQehOU|9Q1}Xx_U;z+9m5d%8m10 z_Mb za%n_kI&*Q0aQ`CN<6cshhIHgUW>R5m-X%z8Qo-ja2?dUgvo-HR{#GcFp=9KBqJ6`9Q}0HB`yh0`|C+*~i~JQuexzrF>au2_wcmZ(#!QCdx|HeLqc z<&=c{?)yi={fp&4u@6eKpP<(bK+x+ZeB~}FOJlHa833uf?Ljf2=7ov>gME!%J)OfJ-(hjU-3k>!x6YdRQCKY6**?%ax-eoYGSs-O;B|kRTMa}i`LC#*R z#7IlXk0RA&$C9#2BTf%Z&{9*$&mRMVY&Qp3H$Ib4^T;bpJ2Z3_%9;QeX^AG!twVkA zIds-WR6a>xkjI{kNWi{>DWQAFNjf{pYCOl^Yer)_4V?u%8wS4tHCX8j#U%b>00000 LNkvXXu0mjf6&l*H literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg027.png b/assets/bigbug/old/mg027.png new file mode 100644 index 0000000000000000000000000000000000000000..ff5439fe44877d20b7c394c5a704396455158586 GIT binary patch literal 1082 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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg11.png b/assets/bigbug/old/mg11.png new file mode 100644 index 0000000000000000000000000000000000000000..d698a54a304366982c0e62d28c30b7289057c190 GIT binary patch literal 2436 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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg13.png b/assets/bigbug/old/mg13.png new file mode 100644 index 0000000000000000000000000000000000000000..8d325cea1a4d1fb2f30b4c3e2b8b8d37d4319bdf GIT binary patch literal 2188 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 literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg2.png b/assets/bigbug/old/mg2.png new file mode 100644 index 0000000000000000000000000000000000000000..a82b906f2bd49252999e7cd70d75a5f580dbb728 GIT binary patch literal 2465 zcmV;S310SzP)EX>4Tx04R}tkv&MmKpe$iTeT_`2Q!E`WT;Md@e9GFRIvyaN?V~-2a`)bgeDD1 zii@M*T5#}VvFhOBtgC~oAP9bdI6F8gx=4xtOA0MwJUH&hyL*qjcYwcMW~$i{1ys#4 zQt_CW&8>*RS9GBV0;Vu4F;h>Z7c%f1U-$6w^)AA*ywCkP`jouM0G~)4Wx8PzuMUyKw>po`EZ^<*(F%nNQMd zEiHTm^lt+f*DX!n11@)f!6#iZBu5I+^cM=i`x$*x4j8xvdRN`vn)^6?05a6o(hYEM z2#gjfd(GqB-R-^od#2gn4=l2B@o(2fY5)KS*GWV{R9J$E4)jC!e7g7CbD!7$^FPlq@jd0v z^)L0du?_|rRDS-E!l4~s127r9YWlvq0F<{5y`zhl#?uWZfcF~T)EB>E=AOsOf~+V2 z3$tTvDcVWcVrRO|hj-B!T2qcx^wyzw^o7|me&{$$mMzG{qYGSlFM@Z`7`w_e)~;W| zmW@ZBaZ(v?x6wD%%j|NEJJ-L||8%E=2Y+3}zteSWtHM;j{w`fZrw9cUnmVuW z+#hF|zLemoq3>s}mN4E9wN3k&41+Ctmm_ueiA?#)m;%Z)vKQ~UcVmm*B@|Fl9WlOoILF@lQ8NBHEhDI0Ta0a0n4F3* zlVOc4Tadc_H;Ih+0kGy50xU z7mqJaq&dKBp2qfd zQWtFAU?f4QbXsT~Nf@gscjNJO%6Gs};#~FAOoZXMn*xj1h|*a^O}Se-v~@SQ>@R}7 z80*T2bWRwbFJ_M~p0d!~<)yWLBlUHS03?5}DR)!qI%7Ds!=!q+H|etqDiWk+H#)S|xAx_~QJ_{15=u5hI+on&^`gbYHD~<{yC8OZ`+j zEl;zU8W=#9Ey&R0zf+u9B5`20=B}i2ZLzGCkb#K<5=a1rnjL`855{P{)Spt{WQS_X z-Bcg$e8za!&?#)uyO`3BP}{T*fb@0SbhFF;;xp-*cyxh6%}#M<3GPQfkn5wf=csMk zNA->(xh8Nk-fm;-ZXN&Q?i9y`gaQg}V;xctK*l#gl=;S0M+`7fn^R$|MFy>~9`Z8w zVvF7d44`>@|Dn=pp>3>#Ex)t#UtM8u{V2z5=9 z0si2$dR-^IxRGJc_o{s zEj*6kp6tatF^hkbbK6)4p@4#xr=#WRQb}acN+_U6XF>rbC1L?y)e)1#w8p8@ zTE7v1Yo8oV*+2jP+2tB$mu5lsusyX=_PFqdu-+m7mrKo=W zUDoYcAh{x$Q41_yn!CIdXO_@WHB_V)UzXR5~sEWUmb% zr3*p$~rvTo?ga1f4AiPSJ#g_CwJtx^w zV8A?ouoP*_vIS`y>tHzUmglz+QHGzslumJG30*^{WTbz%X$&47U!1!AHv!mwa6jPz z8@GKSGIQYL%L&Jn`KcCZYx(F?*6mqB^vMY#BYtL=8}~c${m%!E(Kpp=L>DNcJ5Yg*N*^$jJ~+l3%3j#=blCnpfsLtFeP750c=W?;HZhh7fK~2GQJ7Y zb3>!lWlX_+Q~mNr+<5w`{C6^#cwUfIq(fqodfpBCxrhF5KYLRjXi(`_=MvM)|9Slu flBK!y=jr$#iv7UmgGo$V00000NkvXXu0mjf3Y49A literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg3.png b/assets/bigbug/old/mg3.png new file mode 100644 index 0000000000000000000000000000000000000000..207b25c58b7fbac52b79a0c2a670f8fcd31bad7a GIT binary patch literal 2444 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 N002ovPDHLkV1k1!!m9uP literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg5.png b/assets/bigbug/old/mg5.png new file mode 100644 index 0000000000000000000000000000000000000000..489a91b7eed4c241356e7f28cfcdd43767575cd4 GIT binary patch literal 2279 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 FV1oaVs=5FG literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg8.png b/assets/bigbug/old/mg8.png new file mode 100644 index 0000000000000000000000000000000000000000..06e4307a83503c34e6651798837a549c26607133 GIT binary patch literal 2345 zcmV+^3D)+BP)EX>4Tx04R}tkv&MmKpe$iTeT_`2Q!E`WT;Md@e9GFRIvyaN?V~-2a`)bgeDD1 zii@M*T5#}VvFhOBtgC~oAP9bdI6F8gx=4xtOA0MwJUH&hyL*qjcYwcMW~$i{1ys#4 zQt_CW&8>*RS9GBV0;Vu4F;h>Z7c%f1U-$6w^)AA*ywCkP`jouM0G~)4Wx8PzuMUyKw>po`EZ^<*(F%nNQMd zEiHTm^lt+f*DX!n11@)f!6#iZBu5I+^cM=i`x$*x4j8xvdRN`vn)^6?05a6o(hYEM z2#gjfd(GqB-R-^od#2gn4=l2B@o(2fY5)KSUr9tkR9J;|mv2lP=N-pCwke#4519pH zq9w5fgPDO6O$m@Fi?cUaZV;0k4YjHkYcG~RZ>nZZwk&D7c8k(18Z2GYNhqt5l}M2` zsvwP$Afu^-XbJ^QQxUEs5?r%HDi?4pnr8hYEA(F6BNUqQo#Wai3$xZZ&N&6Crh&ks19x>+xDz0|d=@2cVM0z*MTG!M z-PH{-LT!k3X24FQEP*y16=3}%D`JE3eEHN}X01;+uwgU(*WRS}y_cDg(*T~KJg{gZX_HGh`pXRm1Lh|U8@`1E&zs6O;up+9~}eq zQZnS;N`Qx|o3XiZk;w-5ouT7&9{!Mp+Kn98uo-{{iyr|nGhi1br^TcKB}Q+}i|+{! z05n&&;PIP1@!1EbVP(~%6hQBl2>`0(24ThDex?7qtFy?yjHv%yi7H70&Lq}{%8+II z=_M+Du*%GUUA*|w5qrVrJ4455u56*XvV~SxDWHd}@mLB^n~E!xHr0Qwh|wOkE{XmJnPpdTXBM$`;(!S>euIt(`O;O93#HTr#mid)H(#w$R?R zL%7=Lez4|dgI{u~xX#{Gz!5?LzjL=}sU4?ovNh%4;16A<10nA|!offR1y8Bt!s^K` z87(H^3Z)BjWJ(=Ji%HMB=Q<&feHq3ceJ=XKi{!OKS!M?8Z1>9q>rM(D&|;FXIN9eA zrD-Ic&IOo4ClnZ2_!o~p(c5f(eDft(cT%_L(LBBX_yZGi8rhc-7P~@eb{~F;jvxQh zM9s$k0v-U!tgce|6TQYe!i|E6a!aOXFd}H$$dTS2eQ25Nl12T8y!$9Fd4~s!A2F0% zA{-3RKeDneL0JKQ{pUBbbFpu)pYa*3@e2hAIr@U*D~>}WMCoV7eQO~n5mNr~}k*76uF z5fijLICT#D@)sy^3k$Uyk-YVI+Efnx!Y|0?`iTs#P?}a(Demg50M8{U0PAo5`bPFe z8E=eh&ilHBk+KAh$5MiL-oCg8XI!DxRm#r2<*3Em7`-*m)yFe{PCofrpPx(C-~H@Q z7O7t2;2t-V4~|l6i-M#FL9a$#ItjLBK5X%LMjN)pfWnGf_iu+HAZaBM_85BIH= zt5mNQc0OHyW(MrI$xFiAhrm;>n24^PzertWIX#0BwCO0$dtc{_<$6pFdQJ8@L~IRkC2lc= z!Vo2HF;#|8pt$;(>Dr{kEmS*?u-z|(EV{_wzq>K+s^_rmOsFEbA zB$0jkWh9@Dg#wZ{W15QhpD!Z5(9QJ|8S=%jHd2;YcRb6T2lKN&pN{_zqdua8ZWIG& P00000NkvXXu0mjffB0kZ literal 0 HcmV?d00001 diff --git a/assets/bigbug/old/mg9.png b/assets/bigbug/old/mg9.png new file mode 100644 index 0000000000000000000000000000000000000000..74b6fccf580fa61828fbed074ce9ccbae289a44f GIT binary patch literal 546 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 DNQ7-C literal 0 HcmV?d00001 diff --git a/assets/fonts/righteous_150.font.png b/assets/fonts/righteous_150.font.png index 2d28ed20e8b8adecebc7c9a1f0a3a28ffcb5d30e..6dbfd622236a4718908b8b712e7cc2381592a4db 100644 GIT binary patch literal 8985 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 VY^2$kGM>CJS)XvQthc~i`wywj+cW?G literal 3733 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 diff --git a/emulator/src-lib/rawdraw b/emulator/src-lib/rawdraw index 2dd1b18b0..a53ea30df 160000 --- a/emulator/src-lib/rawdraw +++ b/emulator/src-lib/rawdraw @@ -1 +1 @@ -Subproject commit 2dd1b18b0d7cc69c34bd7c47b7fa9567e4ae01ba +Subproject commit a53ea30df86f5876197873975efee3dbc983a942 diff --git a/emulator/src/extensions/modes/ext_modes.c b/emulator/src/extensions/modes/ext_modes.c index 9ad29f8ab..2263fc93e 100644 --- a/emulator/src/extensions/modes/ext_modes.c +++ b/emulator/src/extensions/modes/ext_modes.c @@ -13,7 +13,7 @@ // Mode Includes /* Quickly regenerate with: - grep -lirE '^extern swadgeMode_t (.*);' | grep -oE '([^/]+\.h)' + grep -lirE '^extern swadgeMode_t (.*);' main | grep -oE '([^/]+\.h)' \ | grep -v quickSettings | awk '{printf "#include \"%s\"\n",$1 }' | sort */ #include "accelTest.h" @@ -26,12 +26,13 @@ #include "keebTest.h" #include "mainMenu.h" #include "modeTimer.h" +#include "mode_bigbug.h" #include "mode_credits.h" #include "mode_pinball.h" #include "mode_synth.h" -#include "ultimateTTT.h" #include "touchTest.h" #include "tunernome.h" +#include "ultimateTTT.h" //============================================================================== // Defines @@ -53,12 +54,13 @@ static swadgeMode_t* getRandomSwadgeMode(void); /* Quickly regenerate with: - grep -hirE '^extern swadgeMode_t (.*);' main/modes/ | awk '{print $3}' + grep -hirE '^extern swadgeMode_t (.*);' main/modes/ | awk '{print $3}' \ | sed -E 's/(.*);/\&\1,/g' | grep -v quickSettings | sort */ // clang-format off static swadgeMode_t* allSwadgeModes[] = { &accelTestMode, + &bigbugMode, &colorchordMode, &danceMode, &factoryTestMode, @@ -70,9 +72,9 @@ static swadgeMode_t* allSwadgeModes[] = { &modeCredits, &pinballMode, &synthMode, - &tttMode, &timerMode, &touchTestMode, + &tttMode, &tunernomeMode, }; // clang-format on diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index 7c1221bc8..b399a88c3 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -22,6 +22,14 @@ idf_component_register(SRCS "asset_loaders/common/heatshrink_encoder.c" "midi/midiUsb.c" "midi/midiUtil.c" "midi/waveTables.c" + "modes/games/bigbug/aabb_utils_bigbug.c" + "modes/games/bigbug/entity_bigbug.c" + "modes/games/bigbug/entityManager_bigbug.c" + "modes/games/bigbug/gameData_bigbug.c" + "modes/games/bigbug/mode_bigbug.c" + "modes/games/bigbug/soundManager_bigbug.c" + "modes/games/bigbug/tilemap_bigbug.c" + "modes/games/bigbug/pathfinding_bigbug.c" "modes/games/pinball/mode_pinball.c" "modes/games/pinball/pinball_draw.c" "modes/games/pinball/pinball_physics.c" @@ -96,6 +104,7 @@ idf_component_register(SRCS "asset_loaders/common/heatshrink_encoder.c" "./modes" "./modes/games" "./modes/games/pinball" + "./modes/games/bigbug" "./modes/games/ultimateTTT" "./modes/music" "./modes/music/colorchord" diff --git a/main/display/wsg.c b/main/display/wsg.c index 9b8c1924a..ba4e12a76 100644 --- a/main/display/wsg.c +++ b/main/display/wsg.c @@ -347,18 +347,15 @@ void drawWsgSimpleScaled(const wsg_t* wsg, int16_t xOff, int16_t yOff, int16_t x int dWidth = TFT_WIDTH; int dHeight = TFT_HEIGHT; int wWidth = wsg->w; - int xMax = CLAMP(xOff + wWidth * yScale, 0, dWidth); + int xMax = CLAMP(xOff + wWidth * xScale, 0, dWidth); int yMax = CLAMP(yOff + wsg->h * yScale, 0, dHeight); const paletteColor_t* linein = wsg->px; int x1; int y1; - int ix = 0; - int iy = 0; - // Draw each pixel, scaled - for (int y = yOff; y < yMax; y += yScale, iy++) + for (int y = yOff, iy = 0; y < yMax && iy < wsg->h; y += yScale, iy++) { if (y >= TFT_HEIGHT) { @@ -374,8 +371,7 @@ void drawWsgSimpleScaled(const wsg_t* wsg, int16_t xOff, int16_t yOff, int16_t x continue; } - ix = 0; - for (int x = xOff; x < xMax; x += xScale, ix++) + for (int x = xOff, ix = 0; x < xMax && ix < wsg->w; x += xScale, ix++) { if (x >= TFT_WIDTH) { diff --git a/main/modes/games/bigbug/aabb_utils_bigbug.c b/main/modes/games/bigbug/aabb_utils_bigbug.c new file mode 100644 index 000000000..489c4a332 --- /dev/null +++ b/main/modes/games/bigbug/aabb_utils_bigbug.c @@ -0,0 +1,52 @@ +//============================================================================== +// Includes +//============================================================================== + +#include "aabb_utils_bigbug.h" +// #include +#include "fill.h" + +//============================================================================== +// Functions +//============================================================================== + +/** + * @brief Draw a box + * + * @param box The box to draw + * @param color The color of the box to draw + * @param isFilled true to draw a filled box, false to draw an outline + * @param scalingFactor The scaling factor to apply before drawing the box + */ +void bb_drawBox(bb_box_t box, paletteColor_t color, bool isFilled, int32_t scalingFactor) +{ + if (isFilled) + { + fillDisplayArea(box.x0 >> scalingFactor, box.y0 >> scalingFactor, box.x1 >> scalingFactor, + box.y1 >> scalingFactor, color); + } + else + { + /*plotRect(box.x0 >> scalingFactor, + box.y0 >> scalingFactor, + box.x1 >> scalingFactor, + box.y1 >> scalingFactor, + color);*/ + } +} + +/** + * @brief + * + * @param box0 A box to check for collision + * @param box1 The other box to check for collision + * @param scalingFactor The factor to scale the boxes by before checking for collision + * @return true if the boxes collide, false if they do not + */ +bool bb_boxesCollide(bb_box_t box0, bb_box_t box1, int32_t scalingFactor) +{ + return (box0.x0 >> scalingFactor) < (box1.x1 >> scalingFactor) + && (box0.x1 >> scalingFactor) > (box1.x0 >> scalingFactor) + && (box0.y0 >> scalingFactor) < (box1.y1 >> scalingFactor) + && (box0.y1 >> scalingFactor) > (box1.y0 >> scalingFactor); +} \ No newline at end of file diff --git a/main/modes/games/bigbug/aabb_utils_bigbug.h b/main/modes/games/bigbug/aabb_utils_bigbug.h new file mode 100644 index 000000000..3d703b2bd --- /dev/null +++ b/main/modes/games/bigbug/aabb_utils_bigbug.h @@ -0,0 +1,19 @@ +#ifndef _AABB_UTILS_BIGBUG_H_ +#define _AABB_UTILS_BIGBUG_H_ + +#include +#include +#include + +typedef struct +{ + int32_t x0; + int32_t y0; + int32_t x1; + int32_t y1; +} bb_box_t; + +void bb_drawBox(bb_box_t box, paletteColor_t color, bool isFilled, int32_t scalingFactor); +bool bb_boxesCollide(bb_box_t box0, bb_box_t box1, int32_t scalingFactor); + +#endif \ No newline at end of file diff --git a/main/modes/games/bigbug/entityManager_bigbug.c b/main/modes/games/bigbug/entityManager_bigbug.c new file mode 100644 index 000000000..eae5206ae --- /dev/null +++ b/main/modes/games/bigbug/entityManager_bigbug.c @@ -0,0 +1,259 @@ +//============================================================================== +// Includes +//============================================================================== + +#include +#include +#include + +#include "entityManager_bigbug.h" + +#include "esp_random.h" +#include "palette.h" + +#include "fs_wsg.h" + +//============================================================================== +// Constants +//============================================================================== +#define SUBPIXEL_RESOLUTION 4 + +//============================================================================== +// Functions +//============================================================================== +void bb_initializeEntityManager(bb_entityManager_t* entityManager, bb_gameData_t* gameData, + bb_soundManager_t* soundManager) +{ + bb_loadSprites(entityManager); + entityManager->entities = calloc(MAX_ENTITIES, sizeof(bb_entity_t)); + + for (uint8_t i = 0; i < MAX_ENTITIES; i++) + { + bb_initializeEntity(&(entityManager->entities[i]), entityManager, gameData, soundManager); + } + + entityManager->activeEntities = 0; + + // entityManager->viewEntity = createPlayer(entityManager, entityManager->tilemap->warps[0].x * 16, + // entityManager->tilemap->warps[0].y * 16); entityManager->playerEntity = entityManager->viewEntity; +} + +bb_sprite_t* bb_loadSprite(const char name[], uint8_t num_frames, bb_sprite_t* sprite) +{ + sprite->numFrames = num_frames; + sprite->frames = malloc(sizeof(wsg_t) * num_frames); + for (uint8_t i = 0; i < num_frames; i++) + { + char wsg_name[strlen(name) + 7]; // 7 extra characters makes room for up to a 2 digit number + ".wsg" + null + // terminator ('\0') + snprintf(wsg_name, sizeof(wsg_name), "%s%d.wsg", name, i); + loadWsg(wsg_name, &sprite->frames[i], true); + } + + return sprite; +} + +void bb_loadSprites(bb_entityManager_t* entityManager) +{ + bb_sprite_t* sprite = bb_loadSprite("crumble", 24, &entityManager->sprites[CRUMBLE_ANIM]); + sprite->originX = 48; + sprite->originY = 43; + printf("numFrames %d\n", entityManager->sprites[CRUMBLE_ANIM].numFrames); + // free(sprite); + + // entityManager->sprites[CRUMBLE_ANIMATION] = calloc(1, sizeof(list_t)); + + // for(uint8_t i = 1; i < 25; i++)//24 frames + // { + // bb_sprite_t* sprite = malloc(sizeof(bb_sprite_t)); + // sprite->originX = 0; + // sprite->originY = 0; + + // //Code to cast an int to a string. + // uint8_t length = snprintf(NULL, 0, "%d", i); + // char* str = malloc(length+1); + // snprintf(str, length+1, "%d", i); + + // char name[13] = "crumble"; + // strcat(name, str); + // free(str); + // strcat(name, ".wsg"); + // loadWsg(name, &(sprite->wsg), true);//what I actually wanted to do 2 hours ago. + + // //push to tail + // push(entityManager->sprites[CRUMBLE_ANIMATION], (void*)sprite); + // } +} + +void bb_updateEntities(bb_entityManager_t* entityManager) +{ + for (uint8_t i = 0; i < MAX_ENTITIES; i++) + { + if (entityManager->entities[i].active) + { + entityManager->entities[i].updateFunction(&(entityManager->entities[i])); + + if (&(entityManager->entities[i]) == entityManager->viewEntity) + { + bb_viewFollowEntity(&(entityManager->entities[i])); + } + } + } +} + +void bb_deactivateAllEntities(bb_entityManager_t* entityManager, bool excludePlayer, bool excludePersistent, + bool respawn) +{ + for (uint8_t i = 0; i < MAX_ENTITIES; i++) + { + bb_entity_t* currentEntity = &(entityManager->entities[i]); + if (!currentEntity->active) + { + continue; + } + + bb_destroyEntity(currentEntity, respawn); + + if (excludePlayer && currentEntity == entityManager->playerEntity) + { + currentEntity->active = true; + } + } +} + +void bb_drawEntities(bb_entityManager_t* entityManager, rectangle_t* camera) +{ + for (uint8_t i = 0; i < MAX_ENTITIES; i++) + { + bb_entity_t currentEntity = entityManager->entities[i]; + + if (currentEntity.active) + { + // printf("x: %d y: %d\n", (currentEntity.x >> SUBPIXEL_RESOLUTION) - + // entityManager->sprites[currentEntity.spriteIndex].originX - camera->pos.x, (currentEntity.y >> + // SUBPIXEL_RESOLUTION) - entityManager->sprites[currentEntity.spriteIndex].originY - camera->pos.y); + // printf("idx %d\n",currentEntity.spriteIndex); + // printf("numFrames %d\n",entityManager->sprites[currentEntity.spriteIndex].numFrames); + // printf("wsg %p\n",&entityManager->sprites[currentEntity.spriteIndex].frames[0]); + // drawWsg(&entityManager->sprites[currentEntity.spriteIndex].frames[currentEntity.currentFrame], + // (currentEntity.x >> SUBPIXEL_RESOLUTION) - + // entityManager->sprites[currentEntity.spriteIndex].originX - camera->pos.x, (currentEntity.y >> + // SUBPIXEL_RESOLUTION) - entityManager->sprites[currentEntity.spriteIndex].originY - + // camera->pos.y, currentEntity.spriteFlipHorizontal, currentEntity.spriteFlipVertical, + // currentEntity.spriteRotateAngle); + + drawWsgSimpleScaled(&entityManager->sprites[currentEntity.spriteIndex].frames[currentEntity.currentFrame], + (currentEntity.x >> SUBPIXEL_RESOLUTION) + - entityManager->sprites[currentEntity.spriteIndex].originX - camera->pos.x, + (currentEntity.y >> SUBPIXEL_RESOLUTION) + - entityManager->sprites[currentEntity.spriteIndex].originY - camera->pos.y, + 1, 1); + + // Will put this kind of stuff in its own animation tracker function later... + entityManager->entities[i].currentFrame += 1; + if (entityManager->entities[i].currentFrame + >= entityManager->sprites[entityManager->entities[i].spriteIndex].numFrames) + { + if (entityManager->entities[i].type == ONESHOT_ANIMATION) + { + entityManager->entities[i].active = false; + } + else + { + entityManager->entities[i].currentFrame = 0; + } + } + } + } +} + +bb_entity_t* bb_findInactiveEntity(bb_entityManager_t* entityManager) +{ + if (entityManager->activeEntities == MAX_ENTITIES) + { + return NULL; + }; + + uint8_t entityIndex = 0; + + while (entityManager->entities[entityIndex].active) + { + entityIndex++; + + // Extra safeguard to make sure we don't get stuck here + if (entityIndex >= MAX_ENTITIES) + { + return NULL; + } + } + + return &(entityManager->entities[entityIndex]); +} + +void bb_viewFollowEntity(bb_entity_t* entity) +{ + // int16_t moveViewByX = (entity->x) >> SUBPIXEL_RESOLUTION; + // int16_t moveViewByY = (entity->y > 63616) ? 0 : (entity->y) >> SUBPIXEL_RESOLUTION; +} + +bb_entity_t* bb_createEntity(bb_entityManager_t* entityManager, uint8_t type, uint8_t spriteIndex, uint32_t x, + uint32_t y) +{ + if (entityManager->activeEntities == MAX_ENTITIES) + { + return NULL; + } + + bb_entity_t* entity = bb_findInactiveEntity(entityManager); + + if (entity == NULL) + { + return NULL; + } + + entity->active = true; + entity->x = x << SUBPIXEL_RESOLUTION; + entity->y = y << SUBPIXEL_RESOLUTION; + + entity->xspeed = 0; + entity->yspeed = 0; + entity->spriteFlipHorizontal = false; + entity->spriteFlipVertical = false; + entity->spriteRotateAngle = 0; + + entity->type = type; + entity->spriteIndex = spriteIndex; + + entity->currentFrame = 0; + // entity->collisionHandler = &dummyCollisionHandler; + // entity->tileCollisionHandler = &ballTileCollisionHandler; + + // entity->gameData->ballsInPlay++; + + switch (spriteIndex) + { + case CRUMBLE_ANIM: + + default: + entity = NULL; + } + + if (entity != NULL) + { + entityManager->activeEntities++; + } + + return entity; +} + +void bb_freeEntityManager(bb_entityManager_t* self) +{ + for (uint8_t i = 0; i < NUM_SPRITES; i++) + { + for (uint8_t f = 0; f < self->sprites[i].numFrames; f++) + { + freeWsg(&self->sprites[i].frames[f]); + } + } + free(self->entities); +} \ No newline at end of file diff --git a/main/modes/games/bigbug/entityManager_bigbug.h b/main/modes/games/bigbug/entityManager_bigbug.h new file mode 100644 index 000000000..39c450818 --- /dev/null +++ b/main/modes/games/bigbug/entityManager_bigbug.h @@ -0,0 +1,59 @@ +#ifndef _ENTITYMANAGER_BIGBUG_H_ +#define _ENTITYMANAGER_BIGBUG_H_ + +//============================================================================== +// Includes +//============================================================================== + +#include +#include +#include "typedef_bigbug.h" +#include "entity_bigbug.h" +#include "gameData_bigbug.h" +#include "hdw-tft.h" +#include "linked_list.h" +#include "sprite_bigbug.h" +#include "soundManager_bigbug.h" +#include "swadge2024.h" + +//============================================================================== +// Constants +//============================================================================== +#define MAX_ENTITIES 32 +#define NUM_SPRITES 1 // The number of bb_sprite_t + +//============================================================================== +// Structs +//============================================================================== + +struct bb_entityManager_t +{ + bb_sprite_t sprites[NUM_SPRITES]; + // list_t* sprites[NUM_SPRITES]; + bb_entity_t* entities; + uint8_t activeEntities; + + bb_entity_t* viewEntity; + bb_entity_t* playerEntity; +}; + +//============================================================================== +// Prototypes +//============================================================================== +void bb_initializeEntityManager(bb_entityManager_t* entityManager, bb_gameData_t* gameData, + bb_soundManager_t* soundManager); +bb_sprite_t* bb_loadSprite(const char name[], uint8_t num_frames, bb_sprite_t* sprite); +void bb_loadSprites(bb_entityManager_t* entityManager); +void bb_updateEntities(bb_entityManager_t* entityManager); +void bb_deactivateAllEntities(bb_entityManager_t* entityManager, bool excludePlayer, bool excludePersistent, + bool respawn); +void bb_drawEntities(bb_entityManager_t* entityManager, rectangle_t* camera); +bb_entity_t* bb_findInactiveEntity(bb_entityManager_t* entityManager); + +void bb_viewFollowEntity(bb_entity_t* entity); +bb_entity_t* bb_createEntity(bb_entityManager_t* entityManager, uint8_t type, uint8_t spriteIndex, uint32_t x, + uint32_t y); + +void bb_freeEntityManager(bb_entityManager_t* entityManager); + +#endif \ No newline at end of file diff --git a/main/modes/games/bigbug/entity_bigbug.c b/main/modes/games/bigbug/entity_bigbug.c new file mode 100644 index 000000000..7881cd7f5 --- /dev/null +++ b/main/modes/games/bigbug/entity_bigbug.c @@ -0,0 +1,40 @@ +//============================================================================== +// Includes +//============================================================================== + +#include +#include "entity_bigbug.h" +#include "entityManager_bigbug.h" +#include "gameData_bigbug.h" +#include "soundFuncs.h" +#include "hdw-btn.h" +#include "esp_random.h" +#include "aabb_utils_bigbug.h" +#include "trigonometry.h" +#include + +//============================================================================== +// Constants +//============================================================================== +// #define SIGNOF(x) ((x > 0) - (x < 0)) + +//============================================================================== +// Functions +//============================================================================== +void bb_initializeEntity(bb_entity_t* self, bb_entityManager_t* entityManager, bb_gameData_t* gameData, + bb_soundManager_t* soundManager) +{ + self->active = false; + self->gameData = gameData; + self->soundManager = soundManager; + self->entityManager = entityManager; + self->spriteFlipHorizontal = false; + self->spriteFlipVertical = false; + self->spriteRotateAngle = 0; +} + +void bb_destroyEntity(bb_entity_t* self, bool respawn) +{ + self->entityManager->activeEntities--; + self->active = false; +} \ No newline at end of file diff --git a/main/modes/games/bigbug/entity_bigbug.h b/main/modes/games/bigbug/entity_bigbug.h new file mode 100644 index 000000000..d687b6586 --- /dev/null +++ b/main/modes/games/bigbug/entity_bigbug.h @@ -0,0 +1,76 @@ +#ifndef _ENTITY_BIGBUG_H_ +#define _ENTITY_BIGBUG_H_ + +//============================================================================== +// Includes +//============================================================================== +#include +#include +#include "gameData_bigbug.h" +#include "soundManager_bigbug.h" +#include "sprite_bigbug.h" + +#include "linked_list.h" + +//============================================================================== +// Enums +//============================================================================== + +typedef enum +{ + ONESHOT_ANIMATION, + PHYSICS_SPRITE, + PHYSICS_ANIMATION +} bb_entityType_t; + +//============================================================================== +// Structs +//============================================================================== + +typedef void (*bb_updateFunction_t)(struct bb_entity_t* self); +typedef void (*bb_collisionHandler_t)(struct bb_entity_t* self, struct bb_entity_t* other); +typedef bool (*bb_tileCollisionHandler_t)(struct bb_entity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty, + uint8_t direction); +typedef void (*bb_fallOffTileHandler_t)(struct bb_entity_t* self); +typedef void (*bb_overlapTileHandler_t)(struct bb_entity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty); + +struct bb_entity_t +{ + bool active; + + uint8_t type; + bb_updateFunction_t updateFunction; + + uint32_t x; + uint32_t y; + + int16_t xspeed; + int16_t yspeed; + + bool spriteFlipHorizontal; + bool spriteFlipVertical; + int16_t spriteRotateAngle; + + uint8_t spriteIndex; // see bb_spriteDef_t in typedef_bigbug.h + uint8_t currentFrame; + uint8_t animationTimer; + uint8_t animationFPS; + + bb_gameData_t* gameData; + bb_soundManager_t* soundManager; + bb_entityManager_t* entityManager; + + bb_collisionHandler_t collisionHandler; + bb_tileCollisionHandler_t tileCollisionHandler; + bb_overlapTileHandler_t overlapTileHandler; +}; + +//============================================================================== +// Prototypes +//============================================================================== +void bb_initializeEntity(bb_entity_t* self, bb_entityManager_t* entityManager, bb_gameData_t* gameData, + bb_soundManager_t* soundManager); + +void bb_destroyEntity(bb_entity_t* self, bool respawn); + +#endif \ No newline at end of file diff --git a/main/modes/games/bigbug/gameData_bigbug.c b/main/modes/games/bigbug/gameData_bigbug.c new file mode 100644 index 000000000..515432d03 --- /dev/null +++ b/main/modes/games/bigbug/gameData_bigbug.c @@ -0,0 +1,92 @@ +//============================================================================== +// Includes +//============================================================================== + +#include +#include "gameData_bigbug.h" +#include "entityManager_bigbug.h" +#include "esp_random.h" +#include "hdw-btn.h" +#include "touchUtils.h" +#include "soundFuncs.h" + +//============================================================================== +// Functions +//============================================================================== +void bb_initializeGameData(bb_gameData_t* gameData, bb_soundManager_t* soundManager) +{ + gameData->gameState = 0; + gameData->harpoons = 3; + + gameData->bgColor = c335; + gameData->debugMode = false; + gameData->inGameTimer = 0; + + gameData->soundManager = soundManager; + + gameData->neighbors[0][0] = -1; + gameData->neighbors[0][1] = 0; + gameData->neighbors[1][0] = 0; + gameData->neighbors[1][1] = -1; + gameData->neighbors[2][0] = 1; + gameData->neighbors[2][1] = 0; + gameData->neighbors[3][0] = 0; + gameData->neighbors[3][1] = 1; + + gameData->pleaseCheck = calloc(1, sizeof(list_t)); + gameData->unsupported = calloc(1, sizeof(list_t)); +} + +void bb_initializeGameDataFromTitleScreen(bb_gameData_t* gameData) +{ + gameData->gameState = 0; + + gameData->bgColor = c000; + gameData->currentBgm = 0; + gameData->changeBgm = 0; + gameData->inGameTimer = 0; + + bb_resetGameDataLeds(gameData); +} + +void bb_updateLeds(bb_entityManager_t* entityManager, bb_gameData_t* gameData) +{ + if (entityManager->playerEntity == NULL) + { + return; + } + + for (int32_t i = 1; i < 7; i++) + { + gameData->leds[i].r = 0x80; + gameData->leds[i].g = 0x00; + gameData->leds[i].b = 0x00; + } + + setLeds(gameData->leds, CONFIG_NUM_LEDS); +} + +void bb_resetGameDataLeds(bb_gameData_t* gameData) +{ + for (uint8_t i = 0; i < CONFIG_NUM_LEDS; i++) + { + gameData->leds[i].r = 0; + gameData->leds[i].g = 0; + gameData->leds[i].b = 0; + } + + setLeds(gameData->leds, CONFIG_NUM_LEDS); +} + +void bb_updateTouchInput(bb_gameData_t* gameData) +{ + if (getTouchJoystick(&(gameData->touchPhi), &(gameData->touchRadius), &(gameData->touchIntensity))) + { + gameData->isTouched = true; + getTouchCartesian(gameData->touchPhi, gameData->touchRadius, &(gameData->touchX), &(gameData->touchY)); + } + else + { + gameData->isTouched = false; + } +} diff --git a/main/modes/games/bigbug/gameData_bigbug.h b/main/modes/games/bigbug/gameData_bigbug.h new file mode 100644 index 000000000..1cf85ce0c --- /dev/null +++ b/main/modes/games/bigbug/gameData_bigbug.h @@ -0,0 +1,69 @@ +#ifndef _GAMEDATA_BIGBUG_H_ +#define _GAMEDATA_BIGBUG_H_ + +//============================================================================== +// Includes +//============================================================================== + +#include +#include +#include "hdw-led.h" +#include "typedef_bigbug.h" +#include "palette.h" +#include "linked_list.h" +#include "soundManager_bigbug.h" + +//============================================================================== +// Constants +//============================================================================== + +//============================================================================== +// Structs +//============================================================================== + +typedef struct +{ + uint16_t btnState; + + int32_t touchPhi; + int32_t touchRadius; + int32_t touchIntensity; + int32_t isTouched; + int32_t touchX; + int32_t touchY; + + uint8_t gameState; + uint8_t changeState; + + uint8_t harpoons; + + led_t leds[CONFIG_NUM_LEDS]; + + paletteColor_t bgColor; + + bool debugMode; + + uint8_t changeBgm; + uint8_t currentBgm; + + uint32_t inGameTimer; + + bb_soundManager_t* soundManager; + + int8_t neighbors[4][2]; // a handy table of left, up, right, and down offsets + + list_t* pleaseCheck; // a list of tiles to check if they are supported. + list_t* unsupported; // a list of tiles that flood-fill crumble. + +} bb_gameData_t; + +//============================================================================== +// Functions +//============================================================================== +void bb_initializeGameData(bb_gameData_t* gameData, bb_soundManager_t* soundManager); +void bb_initializeGameDataFromTitleScreen(bb_gameData_t* gameData); +void bb_updateLeds(bb_entityManager_t* entityManager, bb_gameData_t* gameData); +void bb_resetGameDataLeds(bb_gameData_t* gameData); +void bb_updateTouchInput(bb_gameData_t* gameData); + +#endif \ No newline at end of file diff --git a/main/modes/games/bigbug/mode_bigbug.c b/main/modes/games/bigbug/mode_bigbug.c new file mode 100644 index 000000000..70802aa26 --- /dev/null +++ b/main/modes/games/bigbug/mode_bigbug.c @@ -0,0 +1,699 @@ +/** + * @file mode_bigbug.c + * @author James Albracht (James A on slack) + * @brief Big Bug game + * @date 2024-05-05 + */ + +//============================================================================== +// Includes +//============================================================================== + +#include "gameData_bigbug.h" +#include "mode_bigbug.h" +#include "gameData_bigbug.h" +#include "tilemap_bigbug.h" +#include "entityManager_bigbug.h" +#include "esp_heap_caps.h" +#include + +//============================================================================== +// Defines +//============================================================================== + +//============================================================================== +// Enums +//============================================================================== + +/** + * @brief Enum of screens that may be shown in bigbug mode + */ +typedef enum +{ + BIGBUG_MENU, + BIGBUG_GAME, +} bb_screen_t; + +//============================================================================== +// Structs +//============================================================================== + +struct bb_t +{ + menu_t* menu; ///< The menu structure + font_t font; ///< The font used in the menu and game + bb_screen_t screen; ///< The screen being displayed + + bb_gameData_t gameData; + bb_tilemap_t tilemap; + bb_entityManager_t entityManager; + bb_soundManager_t soundManager; + + vec_t garbotnikPos; ///< Garbotnik (player character) + vec_t garbotnikVel; ///< Garbotnik's velocity + vec_t garbotnikAccel; ///< Garbotnik's acceleration + vec_t previousPos; ///< Garbotnik's position on the previous frame (for resolving collisions) + vec_t garbotnikRotation; ///< x is Yaw to left or right. Y is change to yaw over time. Tends towards left or right. + + rectangle_t camera; ///< The camera + + bool isPaused; ///< true if the game is paused, false if it is running + + wsg_t garbotnikWsg[3]; ///< An array of graphics for garbotnik. + + midiFile_t bgm; ///< Background music + midiFile_t hit1; ///< A sound effect + + led_t ledL; ///< The left LED color + led_t ledR; ///< The right LED color + int32_t ledFadeTimer; ///< The timer to fade LEDs +}; + +//============================================================================== +// Function Prototypes +//============================================================================== + +// required by adam +static void bb_EnterMode(void); +static void bb_ExitMode(void); +static void bb_MainLoop(int64_t elapsedUs); +static void bb_AudioCallback(uint16_t* samples, uint32_t sampleCnt); +static void bb_BackgroundDrawCallback(int16_t x, int16_t y, int16_t w, int16_t h, int16_t up, int16_t upNum); +static void bb_EspNowRecvCb(const esp_now_recv_info_t* esp_now_info, const uint8_t* data, uint8_t len, int8_t rssi); +static void bb_EspNowSendCb(const uint8_t* mac_addr, esp_now_send_status_t status); +static int16_t bb_AdvancedUSB(uint8_t* buffer, uint16_t length, uint8_t isGet); + +// big bug logic +// static void bb_LoadScreenDrawCallback(int16_t x, int16_t y, int16_t w, int16_t h, int16_t up, int16_t upNum); +static void bb_ControlGarbotnik(int64_t elapsedUs); +static void bb_DrawScene(void); +static void bb_GameLoop(int64_t elapsedUs); +static void bb_Reset(void); +static void bb_SetLeds(void); +static void bb_UpdateTileSupport(void); +static void bb_UpdatePhysics(int64_t elapsedUs); + +//============================================================================== +// Strings +//============================================================================== + +/* Design Pattern! + * These strings are all declared 'const' because they do not change, so that they are placed in ROM, not RAM. + * Lengths are not explicitly given so the compiler can figure it out. + */ +static const char bigbugName[] = "Big Bug"; + +//============================================================================== +// Variables +//============================================================================== + +swadgeMode_t bigbugMode = {.modeName = bigbugName, + .wifiMode = ESP_NOW, + .overrideUsb = false, + .usesAccelerometer = true, + .usesThermometer = true, + .overrideSelectBtn = false, + .fnEnterMode = bb_EnterMode, + .fnExitMode = bb_ExitMode, + .fnMainLoop = bb_MainLoop, + .fnAudioCallback = bb_AudioCallback, + .fnBackgroundDrawCallback = bb_BackgroundDrawCallback, + .fnEspNowRecvCb = bb_EspNowRecvCb, + .fnEspNowSendCb = bb_EspNowSendCb, + .fnAdvancedUSB = bb_AdvancedUSB, + .fnDacCb = NULL}; + +/// All state information for bigbug mode. This whole struct is calloc()'d and free()'d so that bigbug is only +/// using memory while it is being played +bb_t* bigbug = NULL; + +//============================================================================== +// Required Functions +//============================================================================== + +static void bb_EnterMode(void) +{ + // Force draw a loading screen + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, c123); + + printf("a\n"); + bigbug = heap_caps_calloc(1, sizeof(bb_t), MALLOC_CAP_SPIRAM); + + // Load font + loadFont("ibm_vga8.font", &bigbug->font, false); + + const char loadingStr[] = "Loading...\n(40 seconds)"; + int32_t tWidth = textWidth(&bigbug->font, loadingStr); + drawText(&bigbug->font, c542, loadingStr, (TFT_WIDTH - tWidth) / 2, (TFT_HEIGHT - bigbug->font.height) / 2); + drawDisplayTft(NULL); + + printf("b\n"); + + bb_initializeGameData(&(bigbug->gameData), &(bigbug->soundManager)); + printf("c\n"); + bb_initializeTileMap(&(bigbug->tilemap)); + printf("d\n"); + bb_initializeEntityManager(&(bigbug->entityManager), &(bigbug->gameData), &(bigbug->soundManager)); + printf("e\n"); + // Load graphics + loadWsg("garbotnik-0.wsg", &bigbug->garbotnikWsg[0], true); + loadWsg("garbotnik-1.wsg", &bigbug->garbotnikWsg[1], true); + loadWsg("garbotnik-2.wsg", &bigbug->garbotnikWsg[2], true); + printf("f\n"); + + // Set the mode to game mode + bigbug->screen = BIGBUG_GAME; + printf("g\n"); + + printf("h\n"); + + bb_Reset(); + printf("i\n"); +} + +static void bb_ExitMode(void) +{ + // Free entity manager + bb_freeEntityManager(&bigbug->entityManager); + // Free font + freeFont(&bigbug->font); +} + +static void bb_MainLoop(int64_t elapsedUs) +{ + // Pick what runs and draws depending on the screen being displayed + switch (bigbug->screen) + { + case BIGBUG_MENU: + { + // Process button events + buttonEvt_t evt = {0}; + while (checkButtonQueueWrapper(&evt)) + { + // Pass button events to the menu + bigbug->menu = menuButton(bigbug->menu, evt); + } + + // Draw the menu + break; + } + case BIGBUG_GAME: + { + // Run the main game loop. This will also process button events + bb_GameLoop(elapsedUs); + break; + } + } +} + +static void bb_AudioCallback(uint16_t* samples, uint32_t sampleCnt) +{ + // Fill this in +} + +static void bb_BackgroundDrawCallback(int16_t x, int16_t y, int16_t w, int16_t h, int16_t up, int16_t upNum) +{ + // accelIntegrate(); only needed if using accelerometer for something + // SETUP_FOR_TURBO(); only needed if drawing individual pixels + if (bigbug->camera.pos.y < 100) + { + fillDisplayArea(x, y, x + w, y + h, c455); + } + else + { + fillDisplayArea(x, y, x + w, y + h, c000); + } +} + +static void bb_EspNowRecvCb(const esp_now_recv_info_t* esp_now_info, const uint8_t* data, uint8_t len, int8_t rssi) +{ + // Fill this in +} + +static void bb_EspNowSendCb(const uint8_t* mac_addr, esp_now_send_status_t status) +{ + // Fill this in +} + +static int16_t bb_AdvancedUSB(uint8_t* buffer, uint16_t length, uint8_t isGet) +{ + // Fill this in + return 0; +} + +//============================================================================== +// Big Bug Functions +//============================================================================== + +static void bb_ControlGarbotnik(int64_t elapsedUs) +{ + vec_t accel; + accel.x = 0; + accel.y = 0; + // Update garbotnik's velocity if a button is currently down + switch (bigbug->gameData.btnState) + { + // up + case 0b0001: + accel.y = -50; + break; + case 0b1101: + accel.y = -50; + break; + + // down + case 0b0010: + accel.y = 50; + break; + case 0b1110: + accel.y = 50; + break; + + // left + case 0b0100: + accel.x = -50; + break; + case 0b0111: + accel.x = -50; + break; + + // right + case 0b1000: + accel.x = 50; + break; + case 0b1011: + accel.x = 50; + break; + + // up,left + case 0b0101: + accel.x = -35; // magnitude is sqrt(1/2) * 100000 + accel.y = -35; + break; + + // up,right + case 0b1001: + accel.x = 35; // 35 707 7035 + accel.y = -35; + break; + + // down,right + case 0b1010: + accel.x = 35; + accel.y = 35; + break; + + // down,left + case 0b0110: + accel.x = -35; + accel.y = 35; + break; + default: + break; + } + + // printf("accel x: %d\n", accel.x); + // printf("elapsed: %d", (int32_t) elapsedUs); + // printf("offender: %d\n", (int32_t) elapsedUs / 100000); + // printf("now x: %d\n", mulVec2d(accel, elapsedUs) / 100000).x); + + bigbug->garbotnikAccel = divVec2d(mulVec2d(accel, elapsedUs), 100000); +} + +/** + * @brief Draw the bigbug field to the TFT + */ +static void bb_DrawScene(void) +{ + vec_t garbotnikDrawPos = {.x = (bigbug->garbotnikPos.x >> DECIMAL_BITS) - bigbug->camera.pos.x - 18, + .y = (bigbug->garbotnikPos.y >> DECIMAL_BITS) - bigbug->camera.pos.y - 17}; + bb_drawTileMap(&bigbug->tilemap, &bigbug->camera, &garbotnikDrawPos, &bigbug->garbotnikRotation); + + // printf("garbotnikPos.y: %d\n", bigbug->garbotnikPos.y); + // printf("garbotnik.radius: %d\n", bigbug->garbotnik.radius); + // printf("camera.pos.y: %d\n", bigbug->camera.pos.y); + // printf("render y: %d\n", (bigbug->garbotnikPos.y - bigbug->garbotnik.radius - bigbug->camera.pos.y) >> + // DECIMAL_BITS); + + bb_drawEntities(&bigbug->entityManager, &bigbug->camera); + + // Draw garbotnik + if (bigbug->garbotnikRotation.x < -1400) + { + drawWsgSimple(&bigbug->garbotnikWsg[0], garbotnikDrawPos.x, garbotnikDrawPos.y); + } + else if (bigbug->garbotnikRotation.x < -400) + { + drawWsgSimple(&bigbug->garbotnikWsg[1], garbotnikDrawPos.x, garbotnikDrawPos.y); + } + else if (bigbug->garbotnikRotation.x < 400) + { + drawWsgSimple(&bigbug->garbotnikWsg[2], garbotnikDrawPos.x, garbotnikDrawPos.y); + } + else if (bigbug->garbotnikRotation.x < 1400) + { + drawWsg(&bigbug->garbotnikWsg[1], garbotnikDrawPos.x, garbotnikDrawPos.y, true, false, 0); + } + else + { + drawWsg(&bigbug->garbotnikWsg[0], garbotnikDrawPos.x, garbotnikDrawPos.y, true, false, 0); + } +} + +/** + * @brief This function is called periodically and frequently. It runs the actual game, including processing inputs, + * physics updates and drawing to the display. + * + * @param elapsedUs The time that has elapsed since the last call to this function, in microseconds + */ +static void bb_GameLoop(int64_t elapsedUs) +{ + // Always process button events, regardless of control scheme, so the main menu button can be captured + buttonEvt_t evt = {0}; + while (checkButtonQueueWrapper(&evt)) + { + // Print the current event + // printf("state: %04X, button: %d, down: %s\n", + // evt.state, evt.button, evt.down ? "down" : "up"); + + // Save the button state + bigbug->gameData.btnState = evt.state; + + // Check if the pause button was pressed + if (evt.down && (PB_START == evt.button)) + { + // Toggle pause + bigbug->isPaused = !bigbug->isPaused; + } + } + + // If the game is not paused, do game logic + if (bigbug->isPaused == false) + { + // record the previous frame's position before any logic. + bigbug->previousPos = bigbug->garbotnikPos; + bb_UpdateTileSupport(); + // bigbugFadeLeds(elapsedUs); + bb_ControlGarbotnik(elapsedUs); + // bigbugControlCpuPaddle(); + bb_UpdatePhysics(elapsedUs); + } + + // Set the LEDs + bb_SetLeds(); + // Draw the field + bb_DrawScene(); +} + +static void bb_Reset(void) +{ + // Set garbotnik variables + bigbug->garbotnikPos.x = 128 << DECIMAL_BITS; + bigbug->garbotnikPos.y = -(90 << DECIMAL_BITS); + bigbug->garbotnikRotation.x = 0 << DECIMAL_BITS; + bigbug->garbotnikRotation.y = 0 << DECIMAL_BITS; + + printf("The width is: %d\n", FIELD_WIDTH); + printf("The height is: %d\n", FIELD_HEIGHT); + + bigbug->camera.width = FIELD_WIDTH; + bigbug->camera.height = FIELD_HEIGHT; +} + +/** + * @brief Set the LEDs + */ +static void bb_SetLeds(void) +{ + // Create an array for all LEDs + led_t leds[CONFIG_NUM_LEDS]; + // Copy the LED colors for left and right to the whole array + for (uint8_t i = 0; i < CONFIG_NUM_LEDS / 2; i++) + { + leds[i] = bigbug->ledL; + leds[i + (CONFIG_NUM_LEDS / 2)] = bigbug->ledR; + } + // Set the LED output + setLeds(leds, CONFIG_NUM_LEDS); +} + +/** + * @brief Finds unsupported dirt over many frames and crumbles it. + */ +static void bb_UpdateTileSupport(void) +{ + if (bigbug->gameData.unsupported->first != NULL) + { + for (int i = 0; i < 50; i++) // arbitrarily large loop to get to the dirt tiles. + { + // remove the first item from the list + uint32_t* shiftedVal = shift(bigbug->gameData.unsupported); + // check that it's still dirt, because a previous pass may have crumbled it. + if (bigbug->tilemap.fgTiles[shiftedVal[0]][shiftedVal[1]] > 0) + { + // set it to air + bigbug->tilemap.fgTiles[shiftedVal[0]][shiftedVal[1]] = 0; + // create a crumble animation + bb_createEntity(&(bigbug->entityManager), ONESHOT_ANIMATION, CRUMBLE_ANIM, shiftedVal[0] * 32 + 16, + shiftedVal[1] * 32 + 16); + + // queue neighbors for crumbling + for (uint8_t neighborIdx = 0; neighborIdx < 4; neighborIdx++) + { + if ((int32_t)shiftedVal[0] + bigbug->gameData.neighbors[neighborIdx][0] >= 0 + && (int32_t)shiftedVal[0] + bigbug->gameData.neighbors[neighborIdx][0] < TILE_FIELD_WIDTH + && (int32_t)shiftedVal[1] + bigbug->gameData.neighbors[neighborIdx][1] >= 0 + && (int32_t)shiftedVal[1] + bigbug->gameData.neighbors[neighborIdx][1] < TILE_FIELD_HEIGHT) + { + uint32_t* val = heap_caps_calloc(2, sizeof(uint32_t), MALLOC_CAP_SPIRAM); + val[0] = shiftedVal[0] + bigbug->gameData.neighbors[neighborIdx][0]; + val[1] = shiftedVal[1] + bigbug->gameData.neighbors[neighborIdx][1]; + + push(bigbug->gameData.unsupported, (void*)val); + } + } + break; + } + } + } +} + +static void bb_UpdatePhysics(int64_t elapsedUs) +{ + bigbug->garbotnikRotation.y += bigbug->garbotnikAccel.x; + if (bigbug->garbotnikRotation.x < 0) + { + bigbug->garbotnikRotation.y -= 5.0 * elapsedUs / 100000; + } + else + { + bigbug->garbotnikRotation.y += 5.0 * elapsedUs / 100000; + } + bigbug->garbotnikRotation.x += bigbug->garbotnikRotation.y; + if (bigbug->garbotnikRotation.x < -1440) + { + bigbug->garbotnikRotation.x = -1440; + bigbug->garbotnikRotation.y = 0; + } + else if (bigbug->garbotnikRotation.x > 1440) + { + bigbug->garbotnikRotation.x = 1440; + bigbug->garbotnikRotation.y = 0; + } + // printf("rotation: %d\n",bigbug->garbotnikRotation.x); + + // Apply garbotnik's drag + int32_t sqMagVel = sqMagVec2d(bigbug->garbotnikVel); + int32_t speed = sqrt(sqMagVel); + int32_t drag = sqMagVel / 500; // smaller denominator for bigger drag. + + if (drag > speed * 0.9) + { + drag = speed * 0.9; + } + if (drag < 5) + { + drag = 5.0; + } + // printf("speed: %d\n", speed); + // printf("drag: %d\n", drag); + if (speed > 0) + { + bigbug->garbotnikAccel.x += (bigbug->garbotnikVel.x / (double)speed) * -drag * elapsedUs / 100000; + bigbug->garbotnikAccel.y += (bigbug->garbotnikVel.y / (double)speed) * -drag * elapsedUs / 100000; + // bigbug->garbotnikAccel = addVec2d(bigbug->garbotnikAccel, mulVec2d(divVec2d(bigbug->garbotnikVel, speed), + // -drag * elapsedUs / 100000)); + } + + // Update garbotnik's velocity + bigbug->garbotnikVel.x += bigbug->garbotnikAccel.x; + bigbug->garbotnikVel.y += bigbug->garbotnikAccel.y; + + // Update garbotnik's position + bigbug->garbotnikPos.x += bigbug->garbotnikVel.x * elapsedUs / 100000; + bigbug->garbotnikPos.y += bigbug->garbotnikVel.y * elapsedUs / 100000; + + // Look up 4 nearest tiles for collision checks + // a tile's width is 16 pixels << 4 = 512. half width is 256. + int32_t xIdx = (bigbug->garbotnikPos.x - BITSHIFT_HALF_TILE) / BITSHIFT_TILE_SIZE + - (bigbug->garbotnikPos.x < 0); // the x index + int32_t yIdx = (bigbug->garbotnikPos.y - BITSHIFT_HALF_TILE) / BITSHIFT_TILE_SIZE + - (bigbug->garbotnikPos.y < 0); // the y index + + int32_t best_i = -1; // negative means no worthy candidates found. + int32_t best_j = -1; + int32_t closestSqDist = 1063842; //(307.35+724.077)^2 if it's further than this, there's no way it's a collision. + for (int32_t i = xIdx; i <= xIdx + 1; i++) + { + for (int32_t j = yIdx; j <= yIdx + 1; j++) + { + if (i >= 0 && i < TILE_FIELD_WIDTH && j >= 0 && j < TILE_FIELD_HEIGHT) + { + if (bigbug->tilemap.fgTiles[i][j] >= 1) + { + // Initial circle check for preselecting the closest dirt tile + int32_t sqDist = sqMagVec2d( + subVec2d(bigbug->garbotnikPos, (vec_t){i * BITSHIFT_TILE_SIZE + BITSHIFT_HALF_TILE, + j * BITSHIFT_TILE_SIZE + BITSHIFT_HALF_TILE})); + if (sqDist < closestSqDist) + { + // Good candidate found! + best_i = i; + best_j = j; + closestSqDist = sqDist; + } + } + } + } + } + if (best_i > -1) + { + vec_t tilePos + = {best_i * BITSHIFT_TILE_SIZE + BITSHIFT_HALF_TILE, best_j * BITSHIFT_TILE_SIZE + BITSHIFT_HALF_TILE}; + // AABB-AABB collision detection begins here + // https://tutorialedge.net/gamedev/aabb-collision-detection-tutorial/ + if (bigbug->garbotnikPos.x + 192 > tilePos.x - BITSHIFT_HALF_TILE + && bigbug->garbotnikPos.x - 192 < tilePos.x + BITSHIFT_HALF_TILE + && bigbug->garbotnikPos.y + 192 > tilePos.y - BITSHIFT_HALF_TILE + && bigbug->garbotnikPos.y - 192 < tilePos.y + BITSHIFT_HALF_TILE) + { + /////////////////////// + // Collision detected!// + /////////////////////// + // printf("hit\n"); + // Resolve garbotnik's position somewhat based on his position previously. + vec_t normal = subVec2d(bigbug->previousPos, tilePos); + // Snap the previous frame offset to an orthogonal direction. + if ((normal.x < 0 ? -normal.x : normal.x) > (normal.y < 0 ? -normal.y : normal.y)) + { + if (normal.x > 0) + { + normal.x = 1; + normal.y = 0; + bigbug->garbotnikPos.x = tilePos.x + 192 + BITSHIFT_HALF_TILE; + } + else + { + normal.x = -1; + normal.y = 0; + bigbug->garbotnikPos.x = tilePos.x - 192 - BITSHIFT_HALF_TILE; + } + } + else + { + if (normal.y > 0) + { + normal.x = 0; + normal.y = 1; + bigbug->garbotnikPos.y = tilePos.y + 192 + BITSHIFT_HALF_TILE; + } + else + { + normal.x = 0; + normal.y = -1; + bigbug->garbotnikPos.y = tilePos.y - 192 - BITSHIFT_HALF_TILE; + } + } + + // printf("dot product: %d\n",dotVec2d(bigbug->garbotnikVel, normal)); + if (dotVec2d(bigbug->garbotnikVel, normal) + < -95) // velocity angle is opposing garbage normal vector. Tweak number for different threshold. + { + ///////////////////// + // digging detected!// + ///////////////////// + + // crumble test + // uint32_t* val = calloc(2,sizeof(uint32_t)); + // val[0] = 5; + // val[1] = 3; + // push(bigbug->gameData.unsupported, (void*)val); + + // Update the dirt by decrementing it. + bigbug->tilemap.fgTiles[best_i][best_j] -= 1; + + // Create a crumble animation + bb_createEntity(&(bigbug->entityManager), ONESHOT_ANIMATION, CRUMBLE_ANIM, tilePos.x >> DECIMAL_BITS, + tilePos.y >> DECIMAL_BITS); + + /////////////////////////////// + // Mirror garbotnik's velocity// + /////////////////////////////// + // Reflect the velocity vector along the normal + // See http://www.sunshine2k.de/articles/coding/vectorreflection/vectorreflection.html + printf("hit squared speed: %" PRId32 "\n", sqMagVec2d(bigbug->garbotnikVel)); + int32_t bounceScalar = sqMagVec2d(bigbug->garbotnikVel) / -11075 + 3; + if (bounceScalar > 3) + { + bounceScalar = 3; + } + else if (bounceScalar < 1) + { + bounceScalar = 1; + } + bigbug->garbotnikVel = mulVec2d( + subVec2d(bigbug->garbotnikVel, mulVec2d(normal, (2 * dotVec2d(bigbug->garbotnikVel, normal)))), + bounceScalar); + + ///////////////////////////////// + // check neighbors for stability// + ///////////////////////////////// + // for(uint8_t neighborIdx = 0; neighborIdx < 4; neighborIdx++) + // { + // uint32_t check_x = best_i + bigbug->gameData.neighbors[neighborIdx][0]; + // uint32_t check_y = best_j + bigbug->gameData.neighbors[neighborIdx][1]; + // //Check if neighbor is in bounds of map (also not on left, right, or bottom, perimiter) and if it + // is dirt. if(check_x > 0 && check_x < TILE_FIELD_WIDTH - 1 && check_y > 0 && check_y < + // TILE_FIELD_HEIGHT - 1 && bigbug->tilemap.fgTiles[check_x][check_y] > 0) + // { + // uint32_t* val = calloc(4, sizeof(uint32_t)); + // val[0] = check_x; + // val[1] = check_y; + // val[2] = 1; //1 is for foreground. 0 is midground. + // val[3] = 0; //f value used in pathfinding. + // push(bigbug->gameData.pleaseCheck, (void*)val); + // } + // } + } + } + } + + // Update the camera's position to catch up to the player + if (((bigbug->garbotnikPos.x - HALF_WIDTH) >> DECIMAL_BITS) - bigbug->camera.pos.x < -15) + { + bigbug->camera.pos.x = ((bigbug->garbotnikPos.x - HALF_WIDTH) >> DECIMAL_BITS) + 15; + } + else if (((bigbug->garbotnikPos.x - HALF_WIDTH) >> DECIMAL_BITS) - bigbug->camera.pos.x > 15) + { + bigbug->camera.pos.x = ((bigbug->garbotnikPos.x - HALF_WIDTH) >> DECIMAL_BITS) - 15; + } + + if (((bigbug->garbotnikPos.y - HALF_HEIGHT) >> DECIMAL_BITS) - bigbug->camera.pos.y < -10) + { + bigbug->camera.pos.y = ((bigbug->garbotnikPos.y - HALF_HEIGHT) >> DECIMAL_BITS) + 10; + } + else if (((bigbug->garbotnikPos.y - HALF_HEIGHT) >> DECIMAL_BITS) - bigbug->camera.pos.y > 10) + { + bigbug->camera.pos.y = ((bigbug->garbotnikPos.y - HALF_HEIGHT) >> DECIMAL_BITS) - 10; + } +} diff --git a/main/modes/games/bigbug/mode_bigbug.h b/main/modes/games/bigbug/mode_bigbug.h new file mode 100644 index 000000000..a321ef398 --- /dev/null +++ b/main/modes/games/bigbug/mode_bigbug.h @@ -0,0 +1,19 @@ +#pragma once + +//============================================================================== +// Includes +//============================================================================== + +#include "swadge2024.h" +#include "fp_math.h" + +//============================================================================== +// Defines +//============================================================================== + +#ifndef _MODE_BIGBUG_H_ + #define _MODE_BIGBUG_H_ + +extern swadgeMode_t bigbugMode; + +#endif \ No newline at end of file diff --git a/main/modes/games/bigbug/node_bigbug.h b/main/modes/games/bigbug/node_bigbug.h new file mode 100644 index 000000000..9ff2195c3 --- /dev/null +++ b/main/modes/games/bigbug/node_bigbug.h @@ -0,0 +1,11 @@ +#include + +typedef struct +{ + int32_t parent_i; + int32_t parent_j; + int32_t f; + int32_t g; + int32_t h; + bool foreground; // True: foreground, False: midground +} bb_node_t; \ No newline at end of file diff --git a/main/modes/games/bigbug/pathfinding_bigbug.c b/main/modes/games/bigbug/pathfinding_bigbug.c new file mode 100644 index 000000000..647cdf4d2 --- /dev/null +++ b/main/modes/games/bigbug/pathfinding_bigbug.c @@ -0,0 +1,78 @@ +//============================================================================== +// Includes +//============================================================================== +#include "pathfinding_bigbug.h" + +//============================================================================== +// Functions +//============================================================================== +uint16_t fCost(bb_node_t* node) +{ + return node->gCost + node->hCost; +} + +// Returns True if there is a way to the perimeter +// start[0]=x;start[1]=y;start[2]=z +bool pathfindToPerimeter(bb_node_t* start) +{ + // 1. initialize the open list + list_t* open = calloc(1, sizeof(list_t)); + // 2. initialize the closed list + list_t* closed = calloc(1, sizeof(list_t)); + // put the starting node on the open list (you can leave its f at zero) + push(open, (void*)start); + + // 3. while the open list is not empty + while (open->first != NULL) + { + // a) find the node with the least f on the open list, call it "q" + uint16_t least_f = 0; + uint8_t least_idx = 0; + node_t* currentNode = open->first; + currentNode = currentNode->next; + uint8_t cur_idx = 1; + while (currentNode != NULL) + { + // if(fCost(¤tNode->next) < ){ + + // } + + if (((uint16_t*)currentNode->val)[3] < least_f) + { + least_f = ((uint16_t*)currentNode->val)[3]; + least_idx = cur_idx; + } + currentNode = currentNode->next; + } + // b) pop q off the open list + + // c) generate q's 5 successors and set their parents to q + + // d) for each successor + // i) if successor is the goal, stop search + + // ii) else, compute both g and h for successor + // successor.g = q.g + distance between successor and q + // successor.h = distance from goal to successor + //(This can be done using many + // ways, we will discuss three heuristics- + // Manhattan, Diagonal and Euclidean Heuristics) + + // successor.f = successor.g + successor.h + // iii) if a node with the same position as + // successor is in the OPEN list which has a + // lower f than successor, skip this successor + // iV) if a node with the same position as + // successor is in the CLOSED list which has + // a lower f than successor, skip this successor + // otherwise, add the node to the open list + // end (for loop) + + // e) push q on the closed list + + } // end (while loop) + + free(open); + free(closed); + return false; +} \ No newline at end of file diff --git a/main/modes/games/bigbug/pathfinding_bigbug.h b/main/modes/games/bigbug/pathfinding_bigbug.h new file mode 100644 index 000000000..c0f719409 --- /dev/null +++ b/main/modes/games/bigbug/pathfinding_bigbug.h @@ -0,0 +1,27 @@ +#ifndef _PATHFINDING_BIGBUG_H_ +#define _PATHFINDING_BIGBUG_H_ + +//============================================================================== +// Includes +//============================================================================== +#include "swadge2024.h" + +//============================================================================== +// Structs +//============================================================================== +typedef struct +{ + uint8_t x; + uint8_t y; + bool z; // true for foreground false for midground + uint16_t gCost; + uint16_t hCost; +} bb_node_t; + +//============================================================================== +// Prototypes +//============================================================================== +uint16_t fCost(bb_node_t* node); +bool pathfindToPerimeter(bb_node_t* start); + +#endif \ No newline at end of file diff --git a/main/modes/games/bigbug/soundManager_bigbug.c b/main/modes/games/bigbug/soundManager_bigbug.c new file mode 100644 index 000000000..d05fdd2f0 --- /dev/null +++ b/main/modes/games/bigbug/soundManager_bigbug.c @@ -0,0 +1,71 @@ +//============================================================================== +// Includes +//============================================================================== + +#include +#include "soundManager_bigbug.h" +#include "soundFuncs.h" + +//============================================================================== +// Functions +//============================================================================== +void bb_initializeSoundManager(bb_soundManager_t* self) +{ + loadMidiFile("sndBreak2.sng", &self->hit1, false); + loadMidiFile("sndBreak3.sng", &self->hit2, false); + loadMidiFile("sndBounce.sng", &self->hit3, false); + loadMidiFile("sndWaveBall.sng", &self->launch, false); + loadMidiFile("sndBrkDie.sng", &self->die, false); + loadMidiFile("sndTally.sng", &self->tally, false); + loadMidiFile("sndDropBomb.sng", &self->dropBomb, false); + loadMidiFile("sndDetonate.sng", &self->detonate, false); + loadMidiFile("sndBrk1up.sng", &self->snd1up, false); + loadMidiFile("brkGetReady.sng", &self->getReady, false); + loadMidiFile("brkLvlClear.sng", &self->levelClear, false); + loadMidiFile("brkGameOver.sng", &self->gameOver, false); + self->currentBgmIndex = BB_BGM_NULL; +} + +void bb_freeSoundManager(bb_soundManager_t* self) +{ + unloadMidiFile(&self->hit1); + unloadMidiFile(&self->hit2); + unloadMidiFile(&self->hit3); + unloadMidiFile(&self->launch); + unloadMidiFile(&self->die); + unloadMidiFile(&self->tally); + unloadMidiFile(&self->dropBomb); + unloadMidiFile(&self->detonate); + unloadMidiFile(&self->snd1up); + unloadMidiFile(&self->levelClear); + unloadMidiFile(&self->gameOver); + unloadMidiFile(&self->getReady); + + if (self->currentBgmIndex != BB_BGM_NULL) + { + unloadMidiFile(&self->levelBgm); + } +} + +void bb_setLevelBgm(bb_soundManager_t* self, uint16_t newBgmIndex) +{ + if (self->currentBgmIndex == newBgmIndex) + { + return; + } + + if (self->currentBgmIndex != BB_BGM_NULL) + { + soundStop(true); + unloadMidiFile(&self->levelBgm); + } + + if (newBgmIndex != BB_BGM_NULL) + { + loadMidiFile(BB_LEVEL_BGMS[newBgmIndex - 1], &self->levelBgm, false); + // TODO make sure BGM loops + // self->levelBgm.shouldLoop = true; + } + + self->currentBgmIndex = newBgmIndex; +} \ No newline at end of file diff --git a/main/modes/games/bigbug/soundManager_bigbug.h b/main/modes/games/bigbug/soundManager_bigbug.h new file mode 100644 index 000000000..99f28536f --- /dev/null +++ b/main/modes/games/bigbug/soundManager_bigbug.h @@ -0,0 +1,60 @@ +#ifndef _SOUNDMANAGER_BIGBUG_H_ +#define _SOUNDMANAGER_BIGBUG_H_ + +//============================================================================== +// Includes +//============================================================================== + +#include +#include + +#include "midiFileParser.h" + +//============================================================================== +// Constants +//============================================================================== + +static const char* const BB_LEVEL_BGMS[] = {"brkBgmSkill.sng", "brkBgmPixel.sng", "brkBgmCrazy.sng", + "brkBgmFinale.sng", "brkHighScore.sng", "brkBgmTitle.sng"}; + +typedef enum +{ + BB_BGM_NULL, + BB_BGM_SKILL, + BB_BGM_PIXEL, + BB_BGM_CRAZY, + BB_BGM_FINALE, + BB_BGM_NAME_ENTRY, + BB_BGM_TITLE +} bb_BgmIndex_t; + +//============================================================================== +// Structs +//============================================================================== + +typedef struct +{ + midiFile_t hit1; + midiFile_t hit2; + midiFile_t hit3; + midiFile_t launch; + midiFile_t die; + midiFile_t tally; + midiFile_t dropBomb; + midiFile_t detonate; + midiFile_t snd1up; + midiFile_t getReady; + midiFile_t levelClear; + midiFile_t gameOver; + midiFile_t levelBgm; + uint16_t currentBgmIndex; +} bb_soundManager_t; + +//============================================================================== +// Functions +//============================================================================== +void bb_initializeSoundManager(bb_soundManager_t* self); +void bb_freeSoundManager(bb_soundManager_t* self); +void bb_setLevelBgm(bb_soundManager_t* self, uint16_t newBgmIndex); + +#endif \ No newline at end of file diff --git a/main/modes/games/bigbug/sprite_bigbug.h b/main/modes/games/bigbug/sprite_bigbug.h new file mode 100644 index 000000000..fc16a0277 --- /dev/null +++ b/main/modes/games/bigbug/sprite_bigbug.h @@ -0,0 +1,22 @@ +#ifndef _SPRITE_H_ +#define _SPRITE_H_ + +//============================================================================== +// Includes +//============================================================================== +#include +#include "wsg.h" +#include "aabb_utils_bigbug.h" + +//============================================================================== +// Structs +//============================================================================== +typedef struct +{ + int16_t originX; + int16_t originY; + uint8_t numFrames; + wsg_t* frames; // Can hold 1 or more pointers to wsg's +} bb_sprite_t; + +#endif \ No newline at end of file diff --git a/main/modes/games/bigbug/tilemap_bigbug.c b/main/modes/games/bigbug/tilemap_bigbug.c new file mode 100644 index 000000000..9dba2f88d --- /dev/null +++ b/main/modes/games/bigbug/tilemap_bigbug.c @@ -0,0 +1,1287 @@ +//============================================================================== +// Includes +//============================================================================== +#include +#include "tilemap_bigbug.h" + +//============================================================================== +// Function Prototypes +//============================================================================== + +//============================================================================== +// Functions +//============================================================================== + +void bb_initializeTileMap(bb_tilemap_t* tilemap) +{ + wsg_t levelWsg; ///< A graphic representing the level data where tiles are pixels. + loadWsg("levelNew.wsg", &levelWsg, true); // levelWsg only needed for this brief scope. + bb_loadWsgs(tilemap); + + // Set all the tiles + for (int i = 0; i < TILE_FIELD_WIDTH; i++) + { + for (int j = 0; j < TILE_FIELD_HEIGHT; j++) + { + uint32_t rgbCol = paletteToRGB(levelWsg.px[(j * levelWsg.w) + i]); + // blue value used for foreground tiles + switch (rgbCol & 255) + { + case 0: // 0 in wsg land + tilemap->fgTiles[i][j] = 1; + break; + case 153: // 3 in wsg land + tilemap->fgTiles[i][j] = 4; + break; + case 255: // 5 in wsg land. + tilemap->fgTiles[i][j] = 10; + break; + } + + // printf("green: %u\n", (rgbCol >> 8) & 255); + // green value used for midground tiles + switch ((rgbCol >> 8) & 255) + { + case 0: // 0 in wsg land + tilemap->mgTiles[i][j] = 0; + break; + case 255: // 5 in wsg land + tilemap->mgTiles[i][j] = tilemap->fgTiles[i][j]; + break; + } + + switch ((rgbCol >> 16) & 255) + { // red value + // will use red for spawns + default: + break; + } + } + } + freeWsg(&levelWsg); +} + +void bb_loadWsgs(bb_tilemap_t* tilemap) +{ + loadWsg("headlampLookup.wsg", &tilemap->headlampWsg, true); // 122 x 107 pixels + + loadWsg("baked_Landfill2.wsg", &tilemap->surface1Wsg, true); + loadWsg("baked_Landfill3.wsg", &tilemap->surface2Wsg, true); + loadWsg("trash_background.wsg", &tilemap->bgWsg, true); + + // TILE MAP shenanigans explained: + // neigbhbors in LURD order (Left, Up, Down, Right) 1 if dirt, 0 if not + // bin dec wsg + // LURD + // 0010 2 0 + // 1010 10 1 + // 1000 8 2 + // 0000 0 3 + + // 0011 3 4 + // 1011 11 5 + // 1001 9 6 + // 0001 1 7 + + // 0111 7 8 + // 1111 15 9 + // 1101 13 10 + // 0101 5 11 + + // 0110 6 12 + // 1110 14 13 + // 1100 12 14 + // 0100 4 15 + + // The index of bigbug->fore_s_Wsg is the LURD neighbor info. + // The value within is the wsg graphic. + // [3,7,0,4,15,11,12,8,2,6,1,5,14,10,13,9] + + // Midground + for (int16_t i = 0; i < 120; i++) + { + char filename[20]; + snprintf(filename, sizeof(filename), "mid_s_%d.wsg", i); + loadWsg(filename, &tilemap->mid_s_Wsg[i], true); + + snprintf(filename, sizeof(filename), "mid_m_%d.wsg", i); + loadWsg(filename, &tilemap->mid_m_Wsg[i], true); + + snprintf(filename, sizeof(filename), "mid_h_%d.wsg", i); + loadWsg(filename, &tilemap->mid_h_Wsg[i], true); + } + + // Foreground + for (int16_t i = 0; i < 240; i++) + { + char filename[20]; + snprintf(filename, sizeof(filename), "fore_s_%d.wsg", i); + loadWsg(filename, &tilemap->fore_s_Wsg[i], true); + + snprintf(filename, sizeof(filename), "fore_m_%d.wsg", i); + loadWsg(filename, &tilemap->fore_m_Wsg[i], true); + + snprintf(filename, sizeof(filename), "fore_h_%d.wsg", i); + loadWsg(filename, &tilemap->fore_h_Wsg[i], true); + } +} + +void bb_drawTileMap(bb_tilemap_t* tilemap, rectangle_t* camera, vec_t* garbotnikDrawPos, vec_t* garbotnikRotation) +{ + // font_t ibm; + // loadFont("ibm_vga8.font", &ibm, false); + + int32_t offsetX1 = (camera->pos.x / 3) % 400; + int32_t offsetX2 = (camera->pos.x / 2) % 400; + + offsetX1 = (offsetX1 < 0) ? offsetX1 + 400 : offsetX1; + offsetX2 = (offsetX2 < 0) ? offsetX2 + 400 : offsetX2; + + // printf("camera y: %d\n", camera->pos.y); + + // draws background + if (camera->pos.y < 170 && camera->pos.y > -907) + { + for (int32_t x = -1; x <= TFT_WIDTH / 400 + 1; x++) + { + drawWsgSimple(&tilemap->surface2Wsg, x * 400 - offsetX1, -64 - camera->pos.y / 3); + } + } + + // draws the closer background + if (camera->pos.y < 1014 && camera->pos.y > -480) + { + for (int32_t x = -1; x <= TFT_WIDTH / 400 + 1; x++) + { + drawWsgSimple(&tilemap->surface1Wsg, x * 400 - offsetX2, -camera->pos.y / 2); + } + } + + // setting up variables to draw midground & foreground + // printf("camera x: %d\n", (bigbug->camera.pos.x >> DECIMAL_BITS)); + // printf("width: %d\n", FIELD_WIDTH); + int16_t iStart = camera->pos.x / TILE_SIZE; + int16_t iEnd = iStart + TFT_WIDTH / TILE_SIZE + 1; + int16_t jStart = camera->pos.y / TILE_SIZE; + int16_t jEnd = jStart + TFT_HEIGHT / TILE_SIZE + 1; + + iStart -= (camera->pos.x < 0); + iEnd -= (camera->pos.x < 0); + if (camera->pos.x + FIELD_WIDTH < 0) + { + iEnd = -1; + } + + jStart -= (camera->pos.y < 0); + jEnd -= (camera->pos.y < 0); + if (camera->pos.y + FIELD_HEIGHT < 0) + { + jEnd = -1; + } + + if (iEnd >= 0 && iStart < TILE_FIELD_WIDTH && jEnd >= 0 && jStart < TILE_FIELD_HEIGHT) + { + if (0 > iStart) + { + iStart = 0; + } + if (TILE_FIELD_WIDTH - 1 < iEnd) + { + iEnd = TILE_FIELD_WIDTH - 1; + } + if (0 > jStart) + { + jStart = 0; + } + if (TILE_FIELD_HEIGHT - 1 < jEnd) + { + jEnd = TILE_FIELD_HEIGHT - 1; + } + + // printf("iStart: %d\n", iStart); + // printf("iEnd: %d\n", iEnd); + // printf("jStart: %d\n", jStart); + // printf("jEnd: %d\n", jEnd); + + int32_t brightness; + + for (int32_t i = iStart; i <= iEnd; i++) + { + for (int32_t j = jStart; j <= jEnd; j++) + { + vec_t tilePos = {.x = i * TILE_SIZE - camera->pos.x, .y = j * TILE_SIZE - camera->pos.y}; + + // Draw midground tiles + if (tilemap->mgTiles[i][j] > 0) + { + wsg_t(*wsgMidgroundArrayPtr)[120] = bb_GetMidgroundWsgArrForCoord(tilemap, i, j); + + // sprite_idx LURD order. + int8_t sprite_idx = 8 * ((i - 1 < 0) ? 0 : (tilemap->mgTiles[i - 1][j] > 0)) + + 4 * ((j - 1 < 0) ? 0 : (tilemap->mgTiles[i][j - 1] > 0)) + + 2 * ((i + 1 > TILE_FIELD_WIDTH - 1) ? 0 : (tilemap->mgTiles[i + 1][j] > 0)) + + 1 * ((j + 1 > TILE_FIELD_HEIGHT - 1) ? 0 : (tilemap->mgTiles[i][j + 1]) > 0); + // corner_info represents up_left, up_right, down_left, down_right dirt presence (remember >0 is + // dirt). + int8_t corner_info + = 8 + * ((i - 1 < 0) ? 0 + : (j - 1 < 0) ? 0 + : (tilemap->mgTiles[i - 1][j - 1] > 0)) + + 4 + * ((i + 1 > TILE_FIELD_WIDTH - 1) ? 0 + : (j - 1 < 0) ? 0 + : (tilemap->mgTiles[i + 1][j - 1] > 0)) + + 2 + * ((i - 1 < 0) ? 0 + : (j + 1 > TILE_FIELD_HEIGHT - 1) ? 0 + : (tilemap->mgTiles[i - 1][j + 1] > 0)) + + 1 + * ((i + 1 > TILE_FIELD_WIDTH - 1) ? 0 + : (j + 1 > TILE_FIELD_HEIGHT - 1) ? 0 + : (tilemap->mgTiles[i + 1][j + 1]) > 0); + + // Top Left + // 0 11xx 1xxx + // 4 10xx xxxx + // 8 01xx xxxx + // 12 00xx xxxx + // 16 11xx 0xxx + vec_t lookup = {tilePos.x + 8 - garbotnikDrawPos->x + tilemap->headlampWsg.w, + tilePos.y - 8 - garbotnikDrawPos->y + tilemap->headlampWsg.h}; + lookup = divVec2d(lookup, 2); + brightness = 5 - j / 5; + if (brightness < 0) + { + brightness = 0; + } + + if (garbotnikRotation->x < -720) + { + int32_t r = 0; + lookup.x += 16; // Shift lookup texture left for red channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + r = (rgbCol >> 16) & 0xFF; + } + int32_t g = 0; + lookup.x += 40; // Shift lookup texture left again for green channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (r + ((g - r) * (garbotnikRotation->x + 1440)) / 720) / 51; + lookup.x -= 56; + } + else if (garbotnikRotation->x > 720) + { + int32_t g = 0; + lookup.x -= 56; // Shift lookup texture right for green channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + int32_t b = 0; + lookup.x += 40; // Shift lookup texture left for blue channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + b = rgbCol & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (g + ((b - g) * (garbotnikRotation->x - 720)) / 720) / 51; + lookup.x += 15; + } + if (brightness > 5) + { + brightness = 5; + } + // printf("red: %d\n", red); + + switch (sprite_idx & 0b1100) + { + case 0b1100: // 0 16 + switch (corner_info & 0b1000) + { + case 0b1000: // 0 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 0], tilePos.x, tilePos.y); + break; + default: // 0b0000 16 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 16], tilePos.x, tilePos.y); + break; + } + break; + case 0b1000: // 4 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 4], tilePos.x, tilePos.y); + break; + case 0b0100: // 8 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 8], tilePos.x, tilePos.y); + break; + default: // 0b0000:12 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 12], tilePos.x, tilePos.y); + break; + } + + // Top Right + // 1 x11x x1xx + // 5 x01x xxxx + // 9 x10x xxxx + // 13 x00x xxxx + // 17 x11x x0xx + lookup.x += 8; + brightness = 5 - j / 5; + if (brightness < 0) + { + brightness = 0; + } + if (garbotnikRotation->x < -720) + { + int32_t r = 0; + lookup.x += 16; // Shift lookup texture left for red channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + r = (rgbCol >> 16) & 0xFF; + } + int32_t g = 0; + lookup.x += 40; // Shift lookup texture left again for green channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (r + ((g - r) * (garbotnikRotation->x + 1440)) / 720) / 51; + lookup.x -= 56; + } + else if (garbotnikRotation->x > 720) + { + int32_t g = 0; + lookup.x -= 56; // Shift lookup texture right for green channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + int32_t b = 0; + lookup.x += 40; // Shift lookup texture left for blue channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + b = rgbCol & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (g + ((b - g) * (garbotnikRotation->x - 720)) / 720) / 51; + lookup.x += 15; + } + if (brightness > 5) + { + brightness = 5; + } + switch (sprite_idx & 0b110) + { + case 0b110: // 1 17 + switch (corner_info & 0b0100) + { + case 0b0100: // 1 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 1], tilePos.x + HALF_TILE, + tilePos.y); + break; + default: // 0b0000 17 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 17], tilePos.x + HALF_TILE, + tilePos.y); + break; + } + break; + case 0b010: // 5 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 5], tilePos.x + HALF_TILE, + tilePos.y); + break; + case 0b100: // 9 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 9], tilePos.x + HALF_TILE, + tilePos.y); + break; + default: // 0b0000:13 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 13], tilePos.x + HALF_TILE, + tilePos.y); + break; + } + + // Bottom Left + // 2 1xx1 xx1x + // 6 1xx0 xxxx + // 10 0xx1 xxxx + // 14 0xx0 xxxx + // 18 1xx1 xx0x + lookup.x -= 8; + lookup.y += 8; + brightness = 5 - j / 5; + if (brightness < 0) + { + brightness = 0; + } + if (garbotnikRotation->x < -720) + { + int32_t r = 0; + lookup.x += 16; // Shift lookup texture left for red channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + r = (rgbCol >> 16) & 0xFF; + } + int32_t g = 0; + lookup.x += 40; // Shift lookup texture left again for green channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (r + ((g - r) * (garbotnikRotation->x + 1440)) / 720) / 51; + lookup.x -= 56; + } + else if (garbotnikRotation->x > 720) + { + int32_t g = 0; + lookup.x -= 56; // Shift lookup texture right for green channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + int32_t b = 0; + lookup.x += 40; // Shift lookup texture left for blue channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + b = rgbCol & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (g + ((b - g) * (garbotnikRotation->x - 720)) / 720) / 51; + lookup.x += 15; + } + if (brightness > 5) + { + brightness = 5; + } + switch (sprite_idx & 0b1001) + { + case 0b1001: // 2 18 + switch (corner_info & 0b0010) + { + case 0b0010: // 2 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 2], tilePos.x, + tilePos.y + HALF_TILE); + break; + default: // 0b0000 18 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 18], tilePos.x, + tilePos.y + HALF_TILE); + break; + } + break; + case 0b1000: // 6 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 6], tilePos.x, + tilePos.y + HALF_TILE); + break; + case 0b0001: // 10 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 10], tilePos.x, + tilePos.y + HALF_TILE); + break; + default: // 0b0000:14 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 14], tilePos.x, + tilePos.y + HALF_TILE); + break; + } + + // Bottom Right + // 3 xx11 xxx1 + // 7 xx10 xxxx + // 11 xx01 xxxx + // 15 xx00 xxxx + // 19 xx11 xxx0 + lookup.x += 8; + brightness = 5 - j / 5; + if (brightness < 0) + { + brightness = 0; + } + if (garbotnikRotation->x < -720) + { + int32_t r = 0; + lookup.x += 16; // Shift lookup texture left for red channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + r = (rgbCol >> 16) & 0xFF; + } + int32_t g = 0; + lookup.x += 40; // Shift lookup texture left again for green channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (r + ((g - r) * (garbotnikRotation->x + 1440)) / 720) / 51; + lookup.x -= 56; + } + else if (garbotnikRotation->x > 720) + { + int32_t g = 0; + lookup.x -= 56; // Shift lookup texture right for green channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + int32_t b = 0; + lookup.x += 40; // Shift lookup texture left for blue channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + b = rgbCol & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (g + ((b - g) * (garbotnikRotation->x - 720)) / 720) / 51; + lookup.x += 15; + } + if (brightness > 5) + { + brightness = 5; + } + switch (sprite_idx & 0b0011) + { + case 0b11: // 3 19 + switch (corner_info & 0b1) + { + case 0b1: // 3 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 3], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + break; + default: // 0b0000 19 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 19], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + break; + } + break; + case 0b10: // 7 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 7], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + break; + case 0b01: // 11 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 11], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + break; + default: // 0b0000:15 + drawWsgSimple(&(*wsgMidgroundArrayPtr)[20 * brightness + 15], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + break; + } + // char snum[4]; + // sprintf(snum, "%d", 20*brightness); + // drawText(&ibm, c555, snum, tilePos.x, tilePos.y); + } + + // Draw foreground tiles + if (tilemap->fgTiles[i][j] >= 1) + { + wsg_t(*wsgForegroundArrayPtr)[240] = bb_GetForegroundWsgArrForCoord(tilemap, i, j); + + // sprite_idx LURD order. + uint8_t sprite_idx = 8 * ((i - 1 < 0) ? 0 : (tilemap->fgTiles[i - 1][j] > 0)) + + 4 * ((j - 1 < 0) ? 0 : (tilemap->fgTiles[i][j - 1] > 0)) + + 2 * ((i + 1 > TILE_FIELD_WIDTH - 1) ? 0 : (tilemap->fgTiles[i + 1][j] > 0)) + + 1 * ((j + 1 > TILE_FIELD_HEIGHT - 1) ? 0 : (tilemap->fgTiles[i][j + 1]) > 0); + // corner_info represents up_left, up_right, down_left, down_right dirt presence (remember >0 is + // dirt). + uint8_t corner_info + = 8 + * ((i - 1 < 0) ? 0 + : (j - 1 < 0) ? 0 + : (tilemap->fgTiles[i - 1][j - 1] > 0)) + + 4 + * ((i + 1 > TILE_FIELD_WIDTH - 1) ? 0 + : (j - 1 < 0) ? 0 + : (tilemap->fgTiles[i + 1][j - 1] > 0)) + + 2 + * ((i - 1 < 0) ? 0 + : (j + 1 > TILE_FIELD_HEIGHT - 1) ? 0 + : (tilemap->fgTiles[i - 1][j + 1] > 0)) + + 1 + * ((i + 1 > TILE_FIELD_WIDTH - 1) ? 0 + : (j + 1 > TILE_FIELD_HEIGHT - 1) ? 0 + : (tilemap->fgTiles[i + 1][j + 1]) > 0); + + vec_t lookup = {tilePos.x + 8 - garbotnikDrawPos->x + tilemap->headlampWsg.w, + tilePos.y - 8 - garbotnikDrawPos->y + tilemap->headlampWsg.h}; + lookup = divVec2d(lookup, 2); + brightness = 0; + if (garbotnikRotation->x < -720) + { + int32_t r = 0; + lookup.x += 16; // Shift lookup texture left for red channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + r = (rgbCol >> 16) & 0xFF; + } + int32_t g = 0; + lookup.x += 40; // Shift lookup texture left again for green channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (r + ((g - r) * (garbotnikRotation->x + 1440)) / 720) / 51; + lookup.x -= 56; + } + else if (garbotnikRotation->x < 0) + { + int32_t shift = ((-(-garbotnikRotation->x << DECIMAL_BITS) / 384) * 30) >> DECIMAL_BITS; + lookup.x -= shift; // Shift lookup texture left for green channel + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + brightness += ((rgbCol >> 8) & 0xFF) / 51; + } + lookup.x += shift; + } + else if (garbotnikRotation->x < 720) + { + int32_t shift = (((garbotnikRotation->x << DECIMAL_BITS) / 384) * 30) >> DECIMAL_BITS; + lookup.x -= shift; // Shift lookup texture left for green channel + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + brightness += ((rgbCol >> 8) & 0xFF) / 51; + } + lookup.x += shift; + } + else + { + int32_t g = 0; + lookup.x -= 56; // Shift lookup texture right for green channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + int32_t b = 0; + lookup.x += 40; // Shift lookup texture left for blue channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + b = rgbCol & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (g + ((b - g) * (garbotnikRotation->x - 720)) / 720) / 51; + lookup.x += 15; + } + // printf("red: %d\n", red); + + // Top Left V + // 00RD .... (0,0), (2,1), (0,2), (2,3), #convex corners + // 1100 1... (14,0), (12,1), (6,2), (4,3), #opposite convex corners + // 10RD .... (1,0), (1,1), (1,2), (1,3), #horizontal light + // 01RD .... (11,0), (11,1), (11,2), (11,3),#vertical light + // 1110 1... (13,0), (13,1), (5,2), (5,3), #horizontal shadow + // 1101 1... (10,0), (8,1), (10,2), (8,3), #vertical shadow + // 11RD 0... (19,0), (17,1), (18,2), (16,3),#concave corners + // 1111 10.. (17,0), (16,1), (19,2), (18,3),#left of concave corners + // 1111 1.0. (18,0), (19,1), (16,2), (17,3),#right of concave corners + // 1111 1110 (16,0), (18,1), (17,2), (19,3) #opposite concave corners + uint8_t num = (sprite_idx << 4) + corner_info; // 8-bit number + + if ((num & 0b11000000) == 0b00000000) + { + // Case 1: 00.. .... + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 0], tilePos.x, tilePos.y); + } + else if ((num & 0b11111000) == 0b11001000) + { + // Case 2: 1100 1... + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 4], tilePos.x, tilePos.y); + } + else if ((num & 0b11000000) == 0b10000000) + { + // Case 3: 10.. .... + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 8], tilePos.x, tilePos.y); + } + else if ((num & 0b11000000) == 0b01000000) + { + // Case 4: 01.. .... + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 12], tilePos.x, tilePos.y); + } + else if ((num & 0b11111000) == 0b11101000) + { + // Case 5: 1110 1... + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 16], tilePos.x, tilePos.y); + } + else if ((num & 0b11111000) == 0b11011000) + { + // Case 6: 1101 1... + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 20], tilePos.x, tilePos.y); + } + else if ((num & 0b11001000) == 0b11000000) + { + // Case 7: 11.. 0... + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 24], tilePos.x, tilePos.y); + } + else if ((num & 0b11111100) == 0b11111000) + { + // Case 8: 1111 10.. + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 28], tilePos.x, tilePos.y); + } + else if ((num & 0b11111010) == 0b11111000) + { + // Case 9: 1111 1.0. + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 32], tilePos.x, tilePos.y); + } + else if (num == 0b11111110) + { + // Case 10: 1111 1110 + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 36], tilePos.x, tilePos.y); + } + else + { + // Case 11: 1111 1111 + drawWsgSimple(&(*wsgForegroundArrayPtr)[39], tilePos.x, tilePos.y); + } + + lookup.x += 8; + brightness = 0; + if (garbotnikRotation->x < -720) + { + int32_t r = 0; + lookup.x += 16; // Shift lookup texture left for red channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + r = (rgbCol >> 16) & 0xFF; + } + int32_t g = 0; + lookup.x += 40; // Shift lookup texture left again for green channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (r + ((g - r) * (garbotnikRotation->x + 1440)) / 720) / 51; + lookup.x -= 56; + } + else if (garbotnikRotation->x < 0) + { + int32_t shift = ((-(-garbotnikRotation->x << DECIMAL_BITS) / 384) * 30) >> DECIMAL_BITS; + lookup.x -= shift; // Shift lookup texture left for green channel + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + brightness += ((rgbCol >> 8) & 0xFF) / 51; + } + lookup.x += shift; + } + else if (garbotnikRotation->x < 720) + { + int32_t shift = (((garbotnikRotation->x << DECIMAL_BITS) / 384) * 30) >> DECIMAL_BITS; + lookup.x -= shift; // Shift lookup texture left for green channel + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + brightness += ((rgbCol >> 8) & 0xFF) / 51; + } + lookup.x += shift; + } + else + { + int32_t g = 0; + lookup.x -= 56; // Shift lookup texture right for green channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + int32_t b = 0; + lookup.x += 40; // Shift lookup texture left for blue channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + b = rgbCol & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (g + ((b - g) * (garbotnikRotation->x - 720)) / 720) / 51; + lookup.x += 15; + } + // Top Right V + // L00D .... (0,0), (2,1), (0,2), (2,3), #convex corners + // 0110 .1.. (14,0), (12,1), (6,2), (4,3), #opposite convex corners + // L01D .... (1,0), (1,1), (1,2), (1,3), #horizontal light + // L10D .... (11,0), (11,1), (11,2), (11,3),#vertical light + // 1110 .1.. (13,0), (13,1), (5,2), (5,3), #horizontal shadow + // 0111 .1.. (10,0), (8,1), (10,2), (8,3), #vertical shadow + // L11D .0... (19,0), (17,1), (18,2), (16,3),#concave corners + // 1111 .1.0 (17,0), (16,1), (19,2), (18,3),#left of concave corners + // 1111 01.. (18,0), (19,1), (16,2), (17,3),#right of concave corners + // 1111 1101 (16,0), (18,1), (17,2), (19,3) #opposite concave corners + if ((num & 0b01100000) == 0b00000000) + { + // L00D .... (0,0), (2,1), (0,2), (2,3), #convex corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 1], tilePos.x + HALF_TILE, tilePos.y); + } + else if ((num & 0b11110100) == 0b01100100) + { + // 0110 .1.. (14,0), (12,1), (6,2), (4,3), #opposite convex corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 5], tilePos.x + HALF_TILE, tilePos.y); + } + else if ((num & 0b01100000) == 0b00100000) + { + // L01D .... (1,0), (1,1), (1,2), (1,3), #horizontal light + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 9], tilePos.x + HALF_TILE, tilePos.y); + } + else if ((num & 0b01100000) == 0b01000000) + { + // L10D .... (11,0), (11,1), (11,2), (11,3),#vertical light + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 13], tilePos.x + HALF_TILE, + tilePos.y); + } + else if ((num & 0b11110100) == 0b11100100) + { + // 1110 .1.. (13,0), (13,1), (5,2), (5,3), #horizontal shadow + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 17], tilePos.x + HALF_TILE, + tilePos.y); + } + else if ((num & 0b11110100) == 0b01110100) + { + // 0111 .1.. (10,0), (8,1), (10,2), (8,3), #vertical shadow + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 21], tilePos.x + HALF_TILE, + tilePos.y); + } + else if ((num & 0b01100100) == 0b01100000) + { + // L11D .0.. (19,0), (17,1), (18,2), (16,3),#concave corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 25], tilePos.x + HALF_TILE, + tilePos.y); + } + else if ((num & 0b11110101) == 0b11110100) + { + // 1111 .1.0 (17,0), (16,1), (19,2), (18,3),#left of concave corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 29], tilePos.x + HALF_TILE, + tilePos.y); + } + else if ((num & 0b11111100) == 0b11110100) + { + // 1111 01.. (18,0), (19,1), (16,2), (17,3),#right of concave corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 33], tilePos.x + HALF_TILE, + tilePos.y); + } + else if (num == 0b11111101) + { + // 1111 1101 (16,0), (18,1), (17,2), (19,3) #opposite concave corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 37], tilePos.x + HALF_TILE, + tilePos.y); + } + else + { + // Case 11: 1111 1111 + drawWsgSimple(&(*wsgForegroundArrayPtr)[39], tilePos.x + HALF_TILE, tilePos.y); + } + + lookup.x -= 8; + lookup.y += 8; + brightness = 0; + if (garbotnikRotation->x < -720) + { + int32_t r = 0; + lookup.x += 16; // Shift lookup texture left for red channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + r = (rgbCol >> 16) & 0xFF; + } + int32_t g = 0; + lookup.x += 40; // Shift lookup texture left again for green channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (r + ((g - r) * (garbotnikRotation->x + 1440)) / 720) / 51; + lookup.x -= 56; + } + else if (garbotnikRotation->x < 0) + { + int32_t shift = ((-(-garbotnikRotation->x << DECIMAL_BITS) / 384) * 30) >> DECIMAL_BITS; + lookup.x -= shift; // Shift lookup texture left for green channel + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + brightness += ((rgbCol >> 8) & 0xFF) / 51; + } + lookup.x += shift; + } + else if (garbotnikRotation->x < 720) + { + int32_t shift = (((garbotnikRotation->x << DECIMAL_BITS) / 384) * 30) >> DECIMAL_BITS; + lookup.x -= shift; // Shift lookup texture left for green channel + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + brightness += ((rgbCol >> 8) & 0xFF) / 51; + } + lookup.x += shift; + } + else + { + int32_t g = 0; + lookup.x -= 56; // Shift lookup texture right for green channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + int32_t b = 0; + lookup.x += 40; // Shift lookup texture left for blue channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + b = rgbCol & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (g + ((b - g) * (garbotnikRotation->x - 720)) / 720) / 51; + lookup.x += 15; + } + // Bottom Left V + // 0UR0 .... (0,0), (2,1), (0,2), (2,3), #convex corners + // 0110 ..1. (14,0), (12,1), (6,2), (4,3), #opposite convex corners + // 1UR0 .... (1,0), (1,1), (1,2), (1,3), #horizontal light + // 0UR1 .... (11,0), (11,1), (11,2), (11,3),#vertical light + // 1011 ..1. (13,0), (13,1), (5,2), (5,3), #horizontal shadow + // 1101 ..1. (10,0), (8,1), (10,2), (8,3), #vertical shadow + // 1UR1 ..0. (19,0), (17,1), (18,2), (16,3),#concave corners + // 1111 0.1. (17,0), (16,1), (19,2), (18,3),#left of concave corners + // 1111 ..10 (18,0), (19,1), (16,2), (17,3),#right of concave corners + // 1111 1011 (16,0), (18,1), (17,2), (19,3) #opposite concave corners + if ((num & 0b10010000) == 0b00000000) + { + // 0UR0 .... (0,0), (2,1), (0,2), (2,3), #convex corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 2], tilePos.x, tilePos.y + HALF_TILE); + } + else if ((num & 0b11110010) == 0b01100010) + { + // 0110 ..1. (14,0), (12,1), (6,2), (4,3), #opposite convex corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 6], tilePos.x, tilePos.y + HALF_TILE); + } + else if ((num & 0b10010000) == 0b10000000) + { + // 1UR0 .... (1,0), (1,1), (1,2), (1,3), #horizontal light + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 10], tilePos.x, + tilePos.y + HALF_TILE); + } + else if ((num & 0b10010000) == 0b00010000) + { + // 0UR1 .... (11,0), (11,1), (11,2), (11,3),#vertical light + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 14], tilePos.x, + tilePos.y + HALF_TILE); + } + else if ((num & 0b11110010) == 0b10110010) + { + // 1011 ..1. (13,0), (13,1), (5,2), (5,3), #horizontal shadow + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 18], tilePos.x, + tilePos.y + HALF_TILE); + } + else if ((num & 0b11110010) == 0b11010010) + { + // 1101 ..1. (10,0), (8,1), (10,2), (8,3), #vertical shadow + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 22], tilePos.x, + tilePos.y + HALF_TILE); + } + else if ((num & 0b10010010) == 0b10010000) + { + // 1UR1 ..0. (19,0), (17,1), (18,2), (16,3),#concave corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 26], tilePos.x, + tilePos.y + HALF_TILE); + } + else if ((num & 0b11111010) == 0b11110010) + { + // 1111 0.1. (17,0), (16,1), (19,2), (18,3),#left of concave corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 30], tilePos.x, + tilePos.y + HALF_TILE); + } + else if ((num & 0b11110011) == 0b11110010) + { + // 1111 ..10 (18,0), (19,1), (16,2), (17,3),#right of concave corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 34], tilePos.x, + tilePos.y + HALF_TILE); + } + else if (num == 0b11111011) + { + // 1111 1011 (16,0), (18,1), (17,2), (19,3) #opposite concave corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 38], tilePos.x, + tilePos.y + HALF_TILE); + } + else + { + // Case 11: 1111 1111 + drawWsgSimple(&(*wsgForegroundArrayPtr)[39], tilePos.x, tilePos.y + HALF_TILE); + } + + lookup.x += 8; + brightness = 0; + // if within bounds of the headlamp texture... + if (garbotnikRotation->x < -720) + { + int32_t r = 0; + lookup.x += 16; // Shift lookup texture left for red channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + r = (rgbCol >> 16) & 0xFF; + } + int32_t g = 0; + lookup.x += 40; // Shift lookup texture left again for green channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (r + ((g - r) * (garbotnikRotation->x + 1440)) / 720) / 51; + lookup.x -= 56; + } + else if (garbotnikRotation->x < 0) + { + int32_t shift = ((-(-garbotnikRotation->x << DECIMAL_BITS) / 384) * 30) >> DECIMAL_BITS; + lookup.x -= shift; // Shift lookup texture left for green channel + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + brightness += ((rgbCol >> 8) & 0xFF) / 51; + } + lookup.x += shift; + } + else if (garbotnikRotation->x < 720) + { + int32_t shift = (((garbotnikRotation->x << DECIMAL_BITS) / 384) * 30) >> DECIMAL_BITS; + lookup.x -= shift; // Shift lookup texture left for green channel + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + brightness += ((rgbCol >> 8) & 0xFF) / 51; + } + lookup.x += shift; + } + else + { + int32_t g = 0; + lookup.x -= 56; // Shift lookup texture right for green channel + // if within bounds of the headlamp texture... + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + g = (rgbCol >> 8) & 0xFF; + } + int32_t b = 0; + lookup.x += 40; // Shift lookup texture left for blue channel. + if (lookup.x > 0 && lookup.x < 121 && lookup.y > 0 && lookup.y < 106) + { + uint32_t rgbCol + = paletteToRGB(tilemap->headlampWsg.px[(lookup.y * tilemap->headlampWsg.w) + lookup.x]); + b = rgbCol & 0xFF; + } + // >> 16 & 0xFF gets red channel + // >> 8 & 0xFF gets green channel + // >> & 0xFF gets blue channel + brightness += (g + ((b - g) * (garbotnikRotation->x - 720)) / 720) / 51; + lookup.x += 15; + } + // Bottom Right V + if ((num & 0b00110000) == 0b00000000) + { + // LU00 .... (0,0), (2,1), (0,2), (2,3), #convex corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 3], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + } + else if ((num & 0b11110001) == 0b00110001) + { + // 0011 ...1 (14,0), (12,1), (6,2), (4,3), #opposite convex corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 7], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + } + else if ((num & 0b00110000) == 0b00100000) + { + // LU10 .... (1,0), (1,1), (1,2), (1,3), #horizontal light + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 11], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + } + else if ((num & 0b00110000) == 0b00010000) + { + // LU01 .... (11,0), (11,1), (11,2), (11,3),#vertical light + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 15], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + } + else if ((num & 0b11110001) == 0b10110001) + { + // 1011 ...1 (13,0), (13,1), (5,2), (5,3), #horizontal shadow + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 19], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + } + else if ((num & 0b11110001) == 0b01110001) + { + // 0111 ...1 (10,0), (8,1), (10,2), (8,3), #vertical shadow + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 23], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + } + else if ((num & 0b00110001) == 0b00110000) + { + // LU11 ...0 (19,0), (17,1), (18,2), (16,3),#concave corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 27], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + } + else if ((num & 0b11110011) == 0b11110001) + { + // 1111 ..01 (17,0), (16,1), (19,2), (18,3),#left of concave corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 31], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + } + else if ((num & 0b11110101) == 0b11110001) + { + // 1111 .0.1 (18,0), (19,1), (16,2), (17,3),#right of concave corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 35], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + } + else if (num == 0b11110111) + { + // 1111 0111 (16,0), (18,1), (17,2), (19,3) #opposite concave corners + drawWsgSimple(&(*wsgForegroundArrayPtr)[40 * brightness + 39], tilePos.x + HALF_TILE, + tilePos.y + HALF_TILE); + } + else + { + drawWsgSimple(&(*wsgForegroundArrayPtr)[39], tilePos.x + HALF_TILE, tilePos.y + HALF_TILE); + } + + // char snum[4]; + // sprintf(snum, "%d", brightness); + // drawText(&ibm, c555, snum, tilePos.x, tilePos.y); + } + } + } + } + // freeFont(&ibm); +} + +wsg_t (*bb_GetMidgroundWsgArrForCoord(bb_tilemap_t* tilemap, const uint32_t i, const uint32_t j))[120] +{ + if (tilemap->mgTiles[i][j] > 4) + { + return &tilemap->mid_h_Wsg; + } + else if (tilemap->mgTiles[i][j] > 1) + { + return &tilemap->mid_m_Wsg; + } + return &tilemap->mid_s_Wsg; +} + +wsg_t (*bb_GetForegroundWsgArrForCoord(bb_tilemap_t* tilemap, const uint32_t i, const uint32_t j))[240] +{ + if (tilemap->fgTiles[i][j] > 4) + { + return &tilemap->fore_h_Wsg; + } + else if (tilemap->fgTiles[i][j] > 1) + { + return &tilemap->fore_m_Wsg; + } + return &tilemap->fore_s_Wsg; +} \ No newline at end of file diff --git a/main/modes/games/bigbug/tilemap_bigbug.h b/main/modes/games/bigbug/tilemap_bigbug.h new file mode 100644 index 000000000..15dd4dd3a --- /dev/null +++ b/main/modes/games/bigbug/tilemap_bigbug.h @@ -0,0 +1,57 @@ +#ifndef _TILEMAP_BIGBUG_H_ +#define _TILEMAP_BIGBUG_H_ +//============================================================================== +// Includes +//============================================================================== +#include "swadge2024.h" +#include "typedef_bigbug.h" + +//============================================================================== +// Constants +//============================================================================== +#define TILE_FIELD_WIDTH 32 // matches the level wsg graphic width +#define TILE_FIELD_HEIGHT 192 // matches the level wsg graphic height + +//============================================================================== +// Enums +//============================================================================== + +//============================================================================== +// Structs +//============================================================================== +typedef struct +{ + wsg_t headlampWsg; ///< Some data about lighting. Red channel is left facing. Green channel is center facing. Blue + ///< channel is right facing. + + wsg_t mid_s_Wsg[120]; ///< The soft midground tiles. + wsg_t mid_m_Wsg[120]; ///< The medium midground tiles. + wsg_t mid_h_Wsg[120]; ///< The hard midground tiles. + + wsg_t fore_s_Wsg[240]; ///< The soft foreground tiles + wsg_t fore_m_Wsg[240]; ///< The medium foreground tiles + wsg_t fore_h_Wsg[240]; ///< The hard foreground tiles + + wsg_t surface1Wsg; ///< A graphic at the surface of the city dump + wsg_t surface2Wsg; ///< A graphic at the surface of the city dump + wsg_t bgWsg; ///< The paralax background for depth + + int8_t fgTiles[TILE_FIELD_WIDTH] + [TILE_FIELD_HEIGHT]; ///< The array of foreground tiles. The number is the dirt's health. 0 is air. + int8_t mgTiles[TILE_FIELD_WIDTH][TILE_FIELD_HEIGHT]; ///< The array of midground tiles. +} bb_tilemap_t; + +//============================================================================== +// Prototypes +//============================================================================== +void bb_initializeTileMap(bb_tilemap_t* tilemap); +void bb_loadWsgs(bb_tilemap_t* tilemap); +void bb_drawTileMap(bb_tilemap_t* tilemap, rectangle_t* camera, vec_t* garbotnikPos, vec_t* garbotnikRotation); +void bb_DrawForegroundCornerTile(bb_tilemap_t* tilemap, rectangle_t* camera, const uint8_t* idx_arr, uint32_t i, + uint32_t j); +void bb_DrawMidgroundCornerTile(bb_tilemap_t* tilemap, rectangle_t* camera, const uint8_t* idx_arr, uint32_t i, + uint32_t j); +wsg_t (*bb_GetMidgroundWsgArrForCoord(bb_tilemap_t* tilemap, const uint32_t i, const uint32_t j))[120]; +wsg_t (*bb_GetForegroundWsgArrForCoord(bb_tilemap_t* tilemap, const uint32_t i, const uint32_t j))[240]; + +#endif \ No newline at end of file diff --git a/main/modes/games/bigbug/typedef_bigbug.h b/main/modes/games/bigbug/typedef_bigbug.h new file mode 100644 index 000000000..51d287b2a --- /dev/null +++ b/main/modes/games/bigbug/typedef_bigbug.h @@ -0,0 +1,35 @@ +#ifndef BIGBUG_TYPEDEF_INCLUDED +#define BIGBUG_TYPEDEF_INCLUDED + +// #define TILE_SIZE 64 +// #define BITSHIFT_TILE_SIZE 1024 +// #define HALF_TILE 32 +// #define BITSHIFT_HALF_TILE 512 + +#define TILE_SIZE 32 +#define BITSHIFT_TILE_SIZE 512 +#define HALF_TILE 16 +#define BITSHIFT_HALF_TILE 256 + +#define DECIMAL_BITS 4 +#define FIELD_WIDTH (TFT_WIDTH << DECIMAL_BITS) +#define FIELD_HEIGHT (TFT_HEIGHT << DECIMAL_BITS) +#define HALF_WIDTH (FIELD_WIDTH / 2) +#define HALF_HEIGHT (FIELD_HEIGHT / 2) + +typedef struct bb_t bb_t; +typedef struct bb_entityManager_t bb_entityManager_t; +typedef struct bb_entity_t bb_entity_t; + +typedef enum +{ + CRUMBLE_ANIM, + BUMP_ANIM, // A particle effect where you bump things + WILE, // A metal ball that is thrown + HARPOON, // A harpoon you throw + FLY, // A bug that flies + ANT, // A bug that crawls on the midground tile field + BEETLE, // A bug that walks on the the foreground tile field +} bb_spriteDef_t; + +#endif \ No newline at end of file diff --git a/main/modes/system/mainMenu/mainMenu.c b/main/modes/system/mainMenu/mainMenu.c index 8761ffa63..83ae4eb0a 100644 --- a/main/modes/system/mainMenu/mainMenu.c +++ b/main/modes/system/mainMenu/mainMenu.c @@ -17,6 +17,7 @@ #include "modeTimer.h" #include "mode_credits.h" #include "mode_pinball.h" +#include "mode_bigbug.h" #include "mode_synth.h" #include "ultimateTTT.h" #include "touchTest.h" @@ -151,6 +152,7 @@ static void mainMenuEnterMode(void) mainMenu->menu = startSubMenu(mainMenu->menu, "Games"); addSingleItemToMenu(mainMenu->menu, tttMode.modeName); addSingleItemToMenu(mainMenu->menu, pinballMode.modeName); + addSingleItemToMenu(mainMenu->menu, bigbugMode.modeName); mainMenu->menu = endSubMenu(mainMenu->menu); mainMenu->menu = startSubMenu(mainMenu->menu, "Music"); @@ -352,6 +354,10 @@ static void mainMenuCb(const char* label, bool selected, uint32_t settingVal) { switchToSwadgeMode(&modeCredits); } + else if (label == bigbugMode.modeName) + { + switchToSwadgeMode(&bigbugMode); + } else if (label == pinballMode.modeName) { switchToSwadgeMode(&pinballMode); diff --git a/main/utils/fp_math.h b/main/utils/fp_math.h index d9be51e29..3bf8b47e2 100644 --- a/main/utils/fp_math.h +++ b/main/utils/fp_math.h @@ -88,7 +88,7 @@ float fixToFloat(q24_8 fx); * @param in The integer to convert to q24_8 * @return A q24_8 */ - #define TO_FX(in) ((in) << FRAC_BITS) + #define TO_FX(in) ((in) * (1 << FRAC_BITS)) /** * @brief Convert a q24_8 to an integer diff --git a/makefile b/makefile index 6cd1dd3d7..0ba928d2f 100644 --- a/makefile +++ b/makefile @@ -97,7 +97,7 @@ CFLAGS = \ -fdata-sections \ -gdwarf-4 \ -ggdb \ - -O2 \ + -O2 \ -fno-jump-tables \ -finline-functions \ -std=gnu17 @@ -190,6 +190,9 @@ GIT_HASH = \"$(shell git rev-parse --short=7 HEAD)\" # Used by the ESP SDK DEFINES_LIST = \ + CONFIG_ESP_SYSTEM_PANIC=y\ + CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME=y\ + CONFIG_DEBUG_OUTPUT_USB=y\ CONFIG_IDF_TARGET_ESP32S2=y \ SOC_RMT_CHANNELS_PER_GROUP=4 \ SOC_TOUCH_SENSOR_NUM=15 \ From e78860a0731d57811d9a07806b479caeed746118 Mon Sep 17 00:00:00 2001 From: Dylan Whichard Date: Tue, 10 Sep 2024 11:41:57 -0700 Subject: [PATCH 02/13] Switch _mkdir() to CreateDirectory() (#274) * Switch _mkdir() to CreateDirectory() * Remove outdated platform-specific include in emu hdw-nvs.c * Remove random pasted text from hdw-nvs.c --- emulator/src/components/hdw-nvs/hdw-nvs.c | 6 +----- emulator/src/emu_utils.c | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/emulator/src/components/hdw-nvs/hdw-nvs.c b/emulator/src/components/hdw-nvs/hdw-nvs.c index 511638129..c55e7927d 100644 --- a/emulator/src/components/hdw-nvs/hdw-nvs.c +++ b/emulator/src/components/hdw-nvs/hdw-nvs.c @@ -29,10 +29,6 @@ #define NVS_ENTRY_BYTES 32 #define NVS_OVERHEAD_ENTRIES 12 -#ifdef EMU_WINDOWS - #include -#endif - //============================================================================== // Function Prototypes //============================================================================== @@ -1028,4 +1024,4 @@ static FILE* openNvsFile(const char* mode) expandPath(buffer, sizeof(buffer), NVS_JSON_FILE); return fopen(buffer, mode); -} \ No newline at end of file +} diff --git a/emulator/src/emu_utils.c b/emulator/src/emu_utils.c index 36cf377b1..293d432e4 100644 --- a/emulator/src/emu_utils.c +++ b/emulator/src/emu_utils.c @@ -12,7 +12,7 @@ #include #if defined(EMU_WINDOWS) - #include + #include #define SUPPORT_LINKS 0 #else #define SUPPORT_LINKS 1 @@ -27,7 +27,7 @@ int makeDir(const char* path) { #if defined(EMU_WINDOWS) - return _mkdir(path); + return CreateDirectory(path, NULL); #else return mkdir(path, 0777); #endif From d4dbb5c668c47049941e667e9583c528544fa50a Mon Sep 17 00:00:00 2001 From: Dylan Whichard Date: Tue, 10 Sep 2024 15:16:17 -0700 Subject: [PATCH 03/13] Fix broken link in EMULATOR.md (#275) --- docs/EMULATOR.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/EMULATOR.md b/docs/EMULATOR.md index aea5bcd6d..a55373c3f 100644 --- a/docs/EMULATOR.md +++ b/docs/EMULATOR.md @@ -5,7 +5,7 @@ environment setup instructions, see [Configuring a Development Environment](#set ## Installing -To install the emulator, go to the project's [releases page](https://github.com/AEFeinstein/Super-2024-Swadge-FW/releases/tags/snapshot) +To install the emulator, go to the project's [releases page](https://github.com/AEFeinstein/Super-2024-Swadge-FW/releases/tag/snapshot) and download the appropriate `SwadgeEmulator-.zip` for your operating system. Windows, Linux, and Mac (both Intel and ARM) are supported. Then, follow the instructions for your platform below. From 1a16767aef54ebe300a16de35a9ba7d75ecbf410 Mon Sep 17 00:00:00 2001 From: Dylan Whichard Date: Wed, 18 Sep 2024 02:41:54 -0700 Subject: [PATCH 04/13] Emulator MIDI File Opening (#283) Emulator can now play MIDI files from a computer directly * Add emulator utility to inject fake NVS data * Add emulator utility to inject fake CNFS data * Add --midi-file argument to emulator * Add MIDI file docs to EMULATOR.md --- docs/EMULATOR.md | 7 + emulator/src/components/hdw-nvs/hdw-nvs.c | 170 ++++++++++++++++++ emulator/src/components/hdw-nvs/hdw-nvs_emu.h | 7 + emulator/src/emu_cnfs.c | 162 +++++++++++++++++ emulator/src/emu_cnfs.h | 7 + emulator/src/extensions/emu_args.c | 40 ++++- emulator/src/extensions/emu_args.h | 3 + emulator/src/extensions/emu_ext.c | 3 +- emulator/src/extensions/midi/ext_midi.c | 59 ++++++ emulator/src/extensions/midi/ext_midi.h | 10 ++ makefile | 1 + 11 files changed, 466 insertions(+), 3 deletions(-) create mode 100644 emulator/src/components/hdw-nvs/hdw-nvs_emu.h create mode 100644 emulator/src/emu_cnfs.c create mode 100644 emulator/src/emu_cnfs.h create mode 100644 emulator/src/extensions/midi/ext_midi.c create mode 100644 emulator/src/extensions/midi/ext_midi.h diff --git a/docs/EMULATOR.md b/docs/EMULATOR.md index a55373c3f..47bed39eb 100644 --- a/docs/EMULATOR.md +++ b/docs/EMULATOR.md @@ -81,6 +81,7 @@ Emulates a swadge --hide-leds Don't draw simulated LEDs next to the display -k, --keymap=LAYOUT Use an alternative keymap. LAYOUT can be azerty, colemak, or dvorak -l, --lock Lock the emulator in the start mode + --midi-file=FILE Open and immediately play a MIDI file -m, --mode=MODE Start the emulator in the swadge mode MODE instead of the main menu --mode-switch[=TIME] Enable or set the timer to switch modes automatically --modes-list Print out a list of all possible values for MODE @@ -222,6 +223,8 @@ inputs to ensure that slight differences in frame timing do not cause inconsiste modes. The mode can still be changed automatically by `--mode-switch`, the console, and by a `SetMode' command when replaying recorded inputs. +`--midi-file`: Loads and plays a local MIDI or KAR file using the MIDI Player mode. + `--seed`: Sets a specific seed to the pseudorandom number generator. This is useful when trying to reproduce behavior that relies on `esp_random()`. If the seed is not set, a time-based one will be used. Note that a seed from one system will not necessarily produce the same output if it is used on a different system. @@ -252,6 +255,10 @@ time. ## MIDI Instructions +MIDI Files (`.mid`, `.midi`, and `.kar`) can be played in directly by passing the name of +the MIDI file as a command-line argument to the Swadge Emulator. On Windows, you should also be able +to drag a MIDI file on top of `SwadgeEmulator.exe` to play it. + The Swadge Emulator includes MIDI support, which simulates the USB-MIDI behavior of the real Swadge using the system MIDI implementation. Note that MIDI implementation and behavior will vary between platforms. diff --git a/emulator/src/components/hdw-nvs/hdw-nvs.c b/emulator/src/components/hdw-nvs/hdw-nvs.c index c55e7927d..eb5e86858 100644 --- a/emulator/src/components/hdw-nvs/hdw-nvs.c +++ b/emulator/src/components/hdw-nvs/hdw-nvs.c @@ -17,6 +17,7 @@ #include "cJSON.h" #include "emu_main.h" #include "emu_utils.h" +#include "hashMap.h" //============================================================================== // Defines @@ -29,6 +30,22 @@ #define NVS_ENTRY_BYTES 32 #define NVS_OVERHEAD_ENTRIES 12 +//============================================================================== +// Structs +//============================================================================== + +typedef struct +{ + char key[36]; + uint32_t size; + bool isBlob; + union + { + void* blob; + int32_t int32; + }; +} emuNvsInjectedData_t; + //============================================================================== // Function Prototypes //============================================================================== @@ -37,6 +54,9 @@ static char* blobToStr(const void* value, size_t length); static int hexCharToInt(char c); static void strToBlob(char* str, void* outBlob, size_t blobLen); static FILE* openNvsFile(const char* mode); +static size_t emuGetInjectedBlobLength(const char* namespace, const char* key); +static void* emuGetInjectedBlob(const char* namespace, const char* key); +static bool emuGetInjected32(const char* namespace, const char* key, int32_t* out); //============================================================================== // Constants @@ -58,6 +78,8 @@ static const char* defaultNvsFiles[] = { // Variables //============================================================================== static const char** nvsFileName = defaultNvsFiles; +static bool nvsInjectedDataInit = false; +static hashMap_t nvsInjectedData; //============================================================================== // Functions @@ -72,6 +94,12 @@ static const char** nvsFileName = defaultNvsFiles; */ bool initNvs(bool firstTry) { + if (!nvsInjectedDataInit) + { + hashInit(&nvsInjectedData, 16); + nvsInjectedDataInit = true; + } + const char** curFile; for (curFile = defaultNvsFiles; curFile < (defaultNvsFiles + (sizeof(defaultNvsFiles) / sizeof(*defaultNvsFiles))); curFile++) @@ -146,6 +174,17 @@ bool initNvs(bool firstTry) */ bool deinitNvs(void) { + if (nvsInjectedDataInit) + { + hashIterator_t iter = {0}; + while (hashIterate(&nvsInjectedData, &iter)) + { + free(iter.value); + hashIterRemove(&nvsInjectedData, &iter); + } + hashDeinit(&nvsInjectedData); + nvsInjectedDataInit = false; + } return true; // Nothing to do } @@ -211,6 +250,11 @@ bool writeNvs32(const char* key, int32_t val) */ bool readNamespaceNvs32(const char* namespace, const char* key, int32_t* outVal) { + if (emuGetInjected32(namespace, key, outVal)) + { + return true; + } + // Open the file FILE* nvsFile = openNvsFile("rb"); if (NULL != nvsFile) @@ -381,6 +425,21 @@ bool writeNamespaceNvs32(const char* namespace, const char* key, int32_t val) */ bool readNamespaceNvsBlob(const char* namespace, const char* key, void* out_value, size_t* length) { + void* resultData = emuGetInjectedBlob(namespace, key); + if (resultData != NULL) + { + if (out_value != NULL) + { + memcpy(out_value, resultData, *length); + } + else + { + size_t injectedLength = emuGetInjectedBlobLength(namespace, key); + *length = injectedLength; + } + return true; + } + // Open the file FILE* nvsFile = openNvsFile("rb"); if (NULL != nvsFile) @@ -1025,3 +1084,114 @@ static FILE* openNvsFile(const char* mode) return fopen(buffer, mode); } + +void emuInjectNvsBlob(const char* namespace, const char* key, size_t length, const void* blob) +{ + if (!nvsInjectedDataInit) + { + hashInit(&nvsInjectedData, 16); + nvsInjectedDataInit = true; + } + + void* alloc = malloc(sizeof(emuNvsInjectedData_t) + length); + if (alloc != NULL) + { + emuNvsInjectedData_t* data = (emuNvsInjectedData_t*)alloc; + + snprintf(data->key, sizeof(data->key), "%s:%s", namespace, key); + data->size = (uint32_t)length; + data->isBlob = true; + data->blob = ((char*)alloc) + sizeof(emuNvsInjectedData_t); + memcpy(data->blob, blob, length); + + hashPut(&nvsInjectedData, data->key, alloc); + } +} + +void emuInjectNvs32(const char* namespace, const char* key, int32_t value) +{ + if (!nvsInjectedDataInit) + { + hashInit(&nvsInjectedData, 16); + nvsInjectedDataInit = true; + } + + void* alloc = malloc(sizeof(emuNvsInjectedData_t)); + if (alloc != NULL) + { + emuNvsInjectedData_t* data = (emuNvsInjectedData_t*)alloc; + + snprintf(data->key, sizeof(data->key), "%s:%s", namespace, key); + data->size = 4; + data->isBlob = false; + data->int32 = value; + + hashPut(&nvsInjectedData, data->key, alloc); + } +} + +static size_t emuGetInjectedBlobLength(const char* namespace, const char* key) +{ + if (!nvsInjectedDataInit) + { + return 0; + } + + char fullkey[36]; + snprintf(fullkey, sizeof(fullkey), "%s:%s", namespace, key); + void* found = hashGet(&nvsInjectedData, fullkey); + + if (found != NULL) + { + return ((emuNvsInjectedData_t*)found)->size; + } + + return 0; +} + +static void* emuGetInjectedBlob(const char* namespace, const char* key) +{ + if (!nvsInjectedDataInit) + { + return NULL; + } + + char fullkey[36]; + snprintf(fullkey, sizeof(fullkey), "%s:%s", namespace, key); + void* found = hashGet(&nvsInjectedData, fullkey); + + if (found != NULL) + { + emuNvsInjectedData_t* data = (emuNvsInjectedData_t*)found; + if (data->isBlob) + { + return data->blob; + } + } + + return NULL; +} + +static bool emuGetInjected32(const char* namespace, const char* key, int32_t* out) +{ + if (!nvsInjectedDataInit) + { + return false; + } + + char fullkey[36]; + snprintf(fullkey, sizeof(fullkey), "%s:%s", namespace, key); + void* found = hashGet(&nvsInjectedData, fullkey); + + if (found != NULL) + { + emuNvsInjectedData_t* data = (emuNvsInjectedData_t*)found; + if (!data->isBlob) + { + *out = data->int32; + return true; + } + } + + return false; +} \ No newline at end of file diff --git a/emulator/src/components/hdw-nvs/hdw-nvs_emu.h b/emulator/src/components/hdw-nvs/hdw-nvs_emu.h new file mode 100644 index 000000000..12cffb35d --- /dev/null +++ b/emulator/src/components/hdw-nvs/hdw-nvs_emu.h @@ -0,0 +1,7 @@ +#pragma once + +#include +#include + +void emuInjectNvsBlob(const char* namespace, const char* key, size_t length, const void* blob); +void emuInjectNvs32(const char* namespace, const char* key, int32_t value); diff --git a/emulator/src/emu_cnfs.c b/emulator/src/emu_cnfs.c new file mode 100644 index 000000000..4ab170e80 --- /dev/null +++ b/emulator/src/emu_cnfs.c @@ -0,0 +1,162 @@ +#include "emu_cnfs.h" + +#include +#include +#include +#include +#include + +#include "esp_heap_caps.h" +#include "esp_log.h" +#include "cnfs_image.h" + +//============================================================================== +// Variables +//============================================================================== + +// Original CNFS Variables +static const uint8_t* cnfsData; +static int32_t cnfsDataSz; + +static const cnfsFileEntry* cnfsFiles; +static int32_t cnfsNumFiles; + +// Extended CNFS Variables + +static char* cnfsInjectedFilename = NULL; +static int32_t cnfsInjectedFileSize = 0; +static void* cnfsInjectedFileData = NULL; + + +//============================================================================== +// Functions +//============================================================================== + +bool initCnfs(void) +{ + /* Get local references from cnfs_data.c */ + cnfsData = getCnfsImage(); + cnfsDataSz = getCnfsSize(); + cnfsFiles = getCnfsFiles(); + cnfsNumFiles = getCnfsNumFiles(); + + /* Debug print */ + ESP_LOGI("CNFS", "Size: %" PRIu32 ", Files: %" PRIu32, cnfsDataSz, cnfsNumFiles); + return (0 != cnfsDataSz) && (0 != cnfsNumFiles); +} + +bool emuCnfsInjectFile(const char* name, const char* filePath) +{ + FILE* dataFile = fopen(filePath, "rb"); + if (dataFile != NULL) + { + fseek(dataFile, 0L, SEEK_END); + size_t fileSize = ftell(dataFile); + fseek(dataFile, 0L, SEEK_SET); + + if (fileSize > 0) + { + void* fileData = malloc(fileSize); + if (fileData != NULL) + { + if (fileSize == fread(fileData, 1, fileSize, dataFile)) + { + fclose(dataFile); + emuCnfsInjectFileData(name, fileSize, fileData); + return true; + } + } + } + + fclose(dataFile); + return false; + } + else + { + printf("ERR: Could not open %s\n", filePath); + return false; + } +} + +void emuCnfsInjectFileData(const char* name, size_t length, void* data) +{ + cnfsInjectedFilename = strdup(name); + cnfsInjectedFileSize = length; + cnfsInjectedFileData = data; +} + +bool deinitCnfs(void) +{ + free(cnfsInjectedFilename); + free(cnfsInjectedFileData); + + cnfsInjectedFileSize = 0; + cnfsInjectedFilename = NULL; + cnfsInjectedFileData = NULL; + + return true; +} + +const uint8_t* cnfsGetFile(const char* fname, size_t* flen) +{ + if (cnfsInjectedFilename && !strcmp(cnfsInjectedFilename, fname)) + { + *flen = cnfsInjectedFileSize; + return (uint8_t*)cnfsInjectedFileData; + } + else + { + // Real implementation - copied from cnfs.c + int low = 0; + int high = cnfsNumFiles - 1; + int mid = (low + high) / 2; + + // Binary search the file list, since it's sorted. + while (low <= high) + { + const cnfsFileEntry* e = cnfsFiles + mid; + int sc = strcmp(e->name, fname); + if (sc < 0) + { + low = mid + 1; + } + else if (sc == 0) + { + *flen = e->len; + return &cnfsData[e->offset]; + } + else + { + high = mid - 1; + } + mid = (low + high) / 2; + } + ESP_LOGE("CNFS", "Failed to open %s", fname); + return 0; + } +} + +// Hack needed because we can't actually wrap the call that cnfsReadFile() makes to cnfsGetFile() because of compiler +// shenanigans +uint8_t* cnfsReadFile(const char* fname, size_t* outsize, bool readToSpiRam) +{ + const uint8_t* fptr = cnfsGetFile(fname, outsize); + + if (!fptr) + { + return 0; + } + + uint8_t* output; + + if (readToSpiRam) + { + output = (uint8_t*)heap_caps_calloc((*outsize + 1), sizeof(uint8_t), MALLOC_CAP_SPIRAM); + } + else + { + output = (uint8_t*)calloc((*outsize + 1), sizeof(uint8_t)); + } + memcpy(output, fptr, *outsize); + return output; +} diff --git a/emulator/src/emu_cnfs.h b/emulator/src/emu_cnfs.h new file mode 100644 index 000000000..a5fc1f0fa --- /dev/null +++ b/emulator/src/emu_cnfs.h @@ -0,0 +1,7 @@ +#pragma once + +#include +#include + +bool emuCnfsInjectFile(const char* name, const char* filePath); +void emuCnfsInjectFileData(const char* name, size_t length, void* data); diff --git a/emulator/src/extensions/emu_args.c b/emulator/src/extensions/emu_args.c index 9cfa00d7b..28ec60ea1 100644 --- a/emulator/src/extensions/emu_args.c +++ b/emulator/src/extensions/emu_args.c @@ -68,6 +68,7 @@ typedef struct //============================================================================== static bool handleArgument(const char* optName, const char* arg, int optVal); +static bool handlePositionalArgument(const char* val); static void printHelp(const char* progName); static void printUsage(const char* progName); static const optDoc_t* findOptDoc(char shortOpt, const char* longOpt); @@ -137,6 +138,7 @@ static const char argHeadless[] = "headless"; static const char argHideLeds[] = "hide-leds"; static const char argKeymap[] = "keymap"; static const char argLock[] = "lock"; +static const char argMidiFile[] = "midi-file"; static const char argMode[] = "mode"; static const char argModeSwitch[] = "mode-switch"; static const char argModeList[] = "modes-list"; @@ -167,6 +169,7 @@ static const struct option options[] = { argHideLeds, no_argument, (int*)&emulatorArgs.hideLeds, true }, { argKeymap, required_argument, NULL, 'k' }, { argLock, no_argument, (int*)&emulatorArgs.lock, true }, + { argMidiFile, required_argument, NULL, 0 }, { argMode, required_argument, NULL, 'm' }, { argPlayback, required_argument, (int*)&emulatorArgs.playback, 'p' }, { argRecord, optional_argument, (int*)&emulatorArgs.record, 'r' }, @@ -198,6 +201,7 @@ static const optDoc_t argDocs[] = { 0, argHideLeds, NULL, "Don't draw simulated LEDs next to the display" }, {'k', argKeymap, "LAYOUT", "Use an alternative keymap. LAYOUT can be azerty, colemak, or dvorak"}, {'l', argLock, NULL, "Lock the emulator in the start mode" }, + { 0, argMidiFile, "FILE", "Open and immediately play a MIDI file" }, {'m', argMode, "MODE", "Start the emulator in the swadge mode MODE instead of the main menu"}, { 0, argModeSwitch, "TIME", "Enable or set the timer to switch modes automatically" }, { 0, argModeList, NULL, "Print out a list of all possible values for MODE" }, @@ -313,6 +317,10 @@ static bool handleArgument(const char* optName, const char* arg, int optVal) } return true; } + else if (argMidiFile == optName) + { + emulatorArgs.midiFile = arg; + } else if (argMode == optName) { emulatorArgs.startMode = arg; @@ -409,6 +417,21 @@ static bool handleArgument(const char* optName, const char* arg, int optVal) return true; } +static bool handlePositionalArgument(const char* val) +{ + if (val) + { + if ((strlen(val) > 4 && (!strcmp(&val[strlen(val) - 4], ".mid") || !strcmp(&val[strlen(val) - 4], ".kar"))) + || (strlen(val) > 5 && !strcmp(&val[strlen(val) - 5], ".midi"))) + { + emulatorArgs.midiFile = val; + return true; + } + } + + return false; +} + /** * @brief Print out the help text for this program, describing all options. * @@ -834,8 +857,21 @@ bool emuParseArgs(int argc, char** argv) if (optVal < 0) { - // No more options - break; + // Not an option + if (optind < argc) + { + // ...but there are still arguments, so this is a positional arg + if (!handlePositionalArgument(argv[optind])) + { + printf("Unknown argument '%s'\n", argv[optind]); + return false; + } + } + else + { + // No more options + break; + } } else if (optVal == '?') { diff --git a/emulator/src/extensions/emu_args.h b/emulator/src/extensions/emu_args.h index 78e03a629..85bd62f66 100644 --- a/emulator/src/extensions/emu_args.h +++ b/emulator/src/extensions/emu_args.h @@ -74,6 +74,9 @@ typedef struct /// @brief Whether VSync is enabled bool vsync; + + // MIDI + const char* midiFile; } emuArgs_t; //============================================================================== diff --git a/emulator/src/extensions/emu_ext.c b/emulator/src/extensions/emu_ext.c index 09c395175..9ce0cddba 100644 --- a/emulator/src/extensions/emu_ext.c +++ b/emulator/src/extensions/emu_ext.c @@ -17,6 +17,7 @@ #include "ext_leds.h" #include "ext_fuzzer.h" #include "ext_keymap.h" +#include "ext_midi.h" #include "ext_modes.h" #include "ext_replay.h" #include "ext_tools.h" @@ -31,7 +32,7 @@ static const emuExtension_t* registeredExtensions[] = { &touchEmuCallback, &ledEmuExtension, &fuzzerEmuExtension, &toolsEmuExtension, - &keymapEmuCallback, &modesEmuExtension, &replayEmuExtension, + &keymapEmuCallback, &modesEmuExtension, &replayEmuExtension, &midiEmuExtension, }; //============================================================================== diff --git a/emulator/src/extensions/midi/ext_midi.c b/emulator/src/extensions/midi/ext_midi.c new file mode 100644 index 000000000..ca39ac292 --- /dev/null +++ b/emulator/src/extensions/midi/ext_midi.c @@ -0,0 +1,59 @@ +#include "ext_midi.h" +#include "emu_ext.h" +#include "emu_main.h" + +#include "hdw-nvs_emu.h" +#include "emu_cnfs.h" +#include "ext_modes.h" +#include "mode_synth.h" + +#include + +//============================================================================== +// Function Prototypes +//============================================================================== + +static bool midiInitCb(emuArgs_t* emuArgs); + +//============================================================================== +// Variables +//============================================================================== + +emuExtension_t midiEmuExtension = { + .name = "midi", + .fnInitCb = midiInitCb, + .fnPreFrameCb = NULL, + .fnPostFrameCb = NULL, + .fnKeyCb = NULL, + .fnMouseMoveCb = NULL, + .fnMouseButtonCb = NULL, + .fnRenderCb = NULL, +}; + +//============================================================================== +// Functions +//============================================================================== + +static bool midiInitCb(emuArgs_t* emuArgs) +{ + if (emuArgs->midiFile) + { + printf("Opening MIDI file: %s\n", emuArgs->midiFile); + if (emuCnfsInjectFile(emuArgs->midiFile, emuArgs->midiFile)) + { + emuInjectNvs32("storage", "synth_playmode", 1); + emuInjectNvsBlob("storage", "synth_lastsong", strlen(emuArgs->midiFile), emuArgs->midiFile); + emulatorSetSwadgeModeByName(synthMode.modeName); + } + else + { + printf("Could not read MIDI file!\n"); + emulatorQuit(); + return false; + } + + return true; + } + + return false; +} \ No newline at end of file diff --git a/emulator/src/extensions/midi/ext_midi.h b/emulator/src/extensions/midi/ext_midi.h new file mode 100644 index 000000000..50e1811f9 --- /dev/null +++ b/emulator/src/extensions/midi/ext_midi.h @@ -0,0 +1,10 @@ +/*! \file ext_midi.h + * + * \section ext_midi Extended Emulator MIDI Support + */ + +#pragma once + +#include "emu_ext.h" + +extern emuExtension_t midiEmuExtension; diff --git a/makefile b/makefile index 0ba928d2f..bede280b0 100644 --- a/makefile +++ b/makefile @@ -66,6 +66,7 @@ SRC_FILES = $(CNFS_FILE) SRC_DIRS = $(shell $(FIND) $(SRC_DIRS_RECURSIVE) -type d) $(SRC_DIRS_FLAT) # This is all the source files combined and deduplicated SOURCES = $(sort $(shell $(FIND) $(SRC_DIRS) -maxdepth 1 -iname "*.[c]") $(SRC_FILES)) +SOURCES := $(filter-out main/utils/cnfs.c, $(SOURCES)) # The emulator doesn't build components, but there is a target for formatting them ALL_FILES = $(shell $(FIND) components $(SRC_DIRS_RECURSIVE) -iname "*.[c|h]") From 9c9db123829aefbc2bbc4a7b99046684a7d922bd Mon Sep 17 00:00:00 2001 From: johnnywycliffe Date: Thu, 19 Sep 2024 06:00:36 -0400 Subject: [PATCH 05/13] Add 2048 to main (#285) --- .gitignore | 2 + .vscode/tasks.json | 4 +- assets/2048/Sounds/sndBounce.mid | Bin 0 -> 152 bytes assets/2048/pngs/NewTiles/New_Dot.png | Bin 0 -> 1014 bytes assets/2048/pngs/NewTiles/New_Med_Star.png | Bin 0 -> 1102 bytes assets/2048/pngs/NewTiles/New_Small_Star.png | Bin 0 -> 1046 bytes assets/2048/pngs/Sparkles/Sparkle_Blue.png | Bin 0 -> 1008 bytes assets/2048/pngs/Sparkles/Sparkle_Cyan.png | Bin 0 -> 1008 bytes assets/2048/pngs/Sparkles/Sparkle_Green.png | Bin 0 -> 1008 bytes assets/2048/pngs/Sparkles/Sparkle_Orange.png | Bin 0 -> 1008 bytes assets/2048/pngs/Sparkles/Sparkle_Pink.png | Bin 0 -> 1008 bytes assets/2048/pngs/Sparkles/Sparkle_Purple.png | Bin 0 -> 1008 bytes assets/2048/pngs/Sparkles/Sparkle_Red.png | Bin 0 -> 1008 bytes assets/2048/pngs/Sparkles/Sparkle_Yellow.png | Bin 0 -> 1008 bytes assets/2048/pngs/Tiles/Tile-Blue-Diamond.png | Bin 0 -> 1201 bytes assets/2048/pngs/Tiles/Tile-Blue-Square.png | Bin 0 -> 1093 bytes assets/2048/pngs/Tiles/Tile-Cyan-Legs.png | Bin 0 -> 1126 bytes assets/2048/pngs/Tiles/Tile-Green-Diamond.png | Bin 0 -> 1205 bytes assets/2048/pngs/Tiles/Tile-Green-Octo.png | Bin 0 -> 1129 bytes assets/2048/pngs/Tiles/Tile-Green-Square.png | Bin 0 -> 1093 bytes assets/2048/pngs/Tiles/Tile-Mauve-Legs.png | Bin 0 -> 1126 bytes assets/2048/pngs/Tiles/Tile-Orange-Legs.png | Bin 0 -> 1126 bytes assets/2048/pngs/Tiles/Tile-Pink-Diamond.png | Bin 0 -> 1202 bytes assets/2048/pngs/Tiles/Tile-Pink-Octo.png | Bin 0 -> 1128 bytes assets/2048/pngs/Tiles/Tile-Pink-Square.png | Bin 0 -> 1092 bytes assets/2048/pngs/Tiles/Tile-Purple-Legs.png | Bin 0 -> 1127 bytes assets/2048/pngs/Tiles/Tile-Red-Octo.png | Bin 0 -> 1127 bytes assets/2048/pngs/Tiles/Tile-Red-Square.png | Bin 0 -> 1092 bytes .../2048/pngs/Tiles/Tile-Yellow-Diamond.png | Bin 0 -> 1204 bytes assets/2048/pngs/Tiles/Tile-Yellow-Octo.png | Bin 0 -> 1128 bytes emulator/src/components/hdw-nvs/hdw-nvs.c | 2 +- emulator/src/emu_cnfs.c | 1 - emulator/src/extensions/modes/ext_modes.c | 2 + main/CMakeLists.txt | 4 + main/modes/games/2048/2048_game.c | 1017 +++++++++++++++++ main/modes/games/2048/2048_game.h | 18 + main/modes/games/2048/2048_menus.c | 159 +++ main/modes/games/2048/2048_menus.h | 18 + main/modes/games/2048/mode_2048.c | 498 ++++++++ main/modes/games/2048/mode_2048.h | 147 +++ main/modes/system/mainMenu/mainMenu.c | 6 + 41 files changed, 1873 insertions(+), 5 deletions(-) create mode 100644 assets/2048/Sounds/sndBounce.mid create mode 100644 assets/2048/pngs/NewTiles/New_Dot.png create mode 100644 assets/2048/pngs/NewTiles/New_Med_Star.png create mode 100644 assets/2048/pngs/NewTiles/New_Small_Star.png create mode 100644 assets/2048/pngs/Sparkles/Sparkle_Blue.png create mode 100644 assets/2048/pngs/Sparkles/Sparkle_Cyan.png create mode 100644 assets/2048/pngs/Sparkles/Sparkle_Green.png create mode 100644 assets/2048/pngs/Sparkles/Sparkle_Orange.png create mode 100644 assets/2048/pngs/Sparkles/Sparkle_Pink.png create mode 100644 assets/2048/pngs/Sparkles/Sparkle_Purple.png create mode 100644 assets/2048/pngs/Sparkles/Sparkle_Red.png create mode 100644 assets/2048/pngs/Sparkles/Sparkle_Yellow.png create mode 100644 assets/2048/pngs/Tiles/Tile-Blue-Diamond.png create mode 100644 assets/2048/pngs/Tiles/Tile-Blue-Square.png create mode 100644 assets/2048/pngs/Tiles/Tile-Cyan-Legs.png create mode 100644 assets/2048/pngs/Tiles/Tile-Green-Diamond.png create mode 100644 assets/2048/pngs/Tiles/Tile-Green-Octo.png create mode 100644 assets/2048/pngs/Tiles/Tile-Green-Square.png create mode 100644 assets/2048/pngs/Tiles/Tile-Mauve-Legs.png create mode 100644 assets/2048/pngs/Tiles/Tile-Orange-Legs.png create mode 100644 assets/2048/pngs/Tiles/Tile-Pink-Diamond.png create mode 100644 assets/2048/pngs/Tiles/Tile-Pink-Octo.png create mode 100644 assets/2048/pngs/Tiles/Tile-Pink-Square.png create mode 100644 assets/2048/pngs/Tiles/Tile-Purple-Legs.png create mode 100644 assets/2048/pngs/Tiles/Tile-Red-Octo.png create mode 100644 assets/2048/pngs/Tiles/Tile-Red-Square.png create mode 100644 assets/2048/pngs/Tiles/Tile-Yellow-Diamond.png create mode 100644 assets/2048/pngs/Tiles/Tile-Yellow-Octo.png create mode 100644 main/modes/games/2048/2048_game.c create mode 100644 main/modes/games/2048/2048_game.h create mode 100644 main/modes/games/2048/2048_menus.c create mode 100644 main/modes/games/2048/2048_menus.h create mode 100644 main/modes/games/2048/mode_2048.c create mode 100644 main/modes/games/2048/mode_2048.h diff --git a/.gitignore b/.gitignore index e11e95fa8..24767414f 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,5 @@ tools/font_maker/*.ttf main/utils/cnfs_image.c main/utils/cnfs_image.h tools/cnfs/cnfs_gen + +_old/* \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index db3d404a3..cc564de79 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,6 +1,4 @@ { - // See https://go.microsoft.com/fwlink/?LinkId=733558 - // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { @@ -26,6 +24,6 @@ "clean" ], "group": "build" - }, + } ] } \ No newline at end of file diff --git a/assets/2048/Sounds/sndBounce.mid b/assets/2048/Sounds/sndBounce.mid new file mode 100644 index 0000000000000000000000000000000000000000..c79d0d87d89183bf5fe10a8a7e8b85f61ce5e210 GIT binary patch literal 152 zcmeYb$w*;fU|?flWME=^;2Tnu4djV4{AXrh_#eT-!X&}L@IR25eW3!we|-k1bTY$+ zN}x1Q$p$V5h7If~3>&!X88)N>`6)~c8`ywiU^XL!tp*ea^MN!Q55ofnpgbc3!+`*X a2?_Q54G9bk6Fh*l2aq-Z(gr}I^%(%X&?T<` literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/NewTiles/New_Dot.png b/assets/2048/pngs/NewTiles/New_Dot.png new file mode 100644 index 0000000000000000000000000000000000000000..1d09be065214e2ec0decc70602e74487faf46310 GIT binary patch literal 1014 zcmds#J!_Ov5QUGX36TX6t6-sx5Fub33)?Ikk_B19CZw>@LdIGYOy^g%XlpT8h*(*e z#!3q-5sSgtrW6}3tb}dHC-XDBki6VGGiT1n&bB9;gQevqNrUm$Xv+7>@!#SC|5twO zKjm}c-gI-QgKy`4ODCUgU*Fx}(Il5bN~!v8CO3sCP1R*{xhq`hs_wRsha!}r>S0TH zDpHxM#-OS9_5+}$nQ(yf{YWe)2v|cCUJzk3&|m|`H0{)R;ABL#l_+E}_spnv7QyhKoE6nZ6AL+D zJWgXRUSb|@VGn*_0E&?aX|P}oO?W|s%|L?<7}K;<=Ydn58CIf@#oVhSB!2=YVIn0% zLL((&AqR}dX{^Od?0_Z1_<;c^Mk1uaf;BYZ1ras_4K`p*(@vcS4!^sLJ2!suIl4cc z?9lLkp1t}08$@0mkJfj$W`DlF9!QG|>+_qZzdSyFcXfXFa5&SWSC>9~J^OOyv!8mm icIM~hJD>jE*0tsL4=%j@_+srj^BQkVMhC-NPyPWhVn;au literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/NewTiles/New_Med_Star.png b/assets/2048/pngs/NewTiles/New_Med_Star.png new file mode 100644 index 0000000000000000000000000000000000000000..8f60375afe9c718c05dff12423a59224063cc343 GIT binary patch literal 1102 zcmds#%}do$5QZlWt6Nf58>P^UgfK}Ph*|{sg^F>}tGKX5tp+NH$O17)D1}6+MG+0v zs$3>*+Li__ii7k4LaPuGY7x1Rs7=%3`7=78KhBw%cixXX)mQAQEYuW4q_U^Gqr~^f z`rqbq{vTW(y~$_8NU5t$<`(yS7b%CVWFC~w z)m@WoWLk7vQcs$aMrO&dg?eZTjZ7L5u!bhQAi`!=fejebv{UDS<7UY$vO*Sfcemsg zSui{(d$N=)vVLgM?O`b_vK_dEJ@|nEC`KZh5CLmw!V4m71{!R@n5LaN51iy4*-8|$ zn0rbd*;xd`gK`RwY&5Zu1IFVt*5W1R;THDb2L_-RiI4^h*3g6(MA!^8*nlxjJ9Qp7 zku$?e6tb9m1z)6@$$&k=UiCD-1<8c~m@e(^=$uNFk0E&?aX|P}oO?W|s%|L?< z7}K;<=YhlTu3=#K8=uctO2q*h{?9Y?YxD^sXL>qX2fL?Mmii0xb=%7OevU7UJ*up3 zfBd4SVzMP_hn{^XU2i@=J6U~U^m1Wo_34(y)vr5emftpA`c(CPt!)3*x?4W+=Ew2r z9ZmBuk8S$B>(6}awdW^W9#n0t8Ec<-eQ%}r;i0{=ueSH!J+b@CyY8cRDtbr$)^9zx pZ?aSzZa6UhvGM*|edC$Q!?(*%UmR$vU1)}uNKa?6W3KJ&jekzNZH52< literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/NewTiles/New_Small_Star.png b/assets/2048/pngs/NewTiles/New_Small_Star.png new file mode 100644 index 0000000000000000000000000000000000000000..e9d8bdaee94adef94e2f8a61956702d6722c77dc GIT binary patch literal 1046 zcmds#&r8%{5XL7Zk|n#;AtbQVf>4(xsE)g=>4L1fE>U*rGz1-uFpLU2Nl+e)8iF9Y zFX5rPorfss5*?z8fW#=h6uBK9Q+3r)&05UeOx-k0vv^Q8S9cB9ELwD1 zsE0;q7E6XL)l(xii!>r&4NZ7Kgw3o18!)D6r_KY%&B828A&a@YTexKjh6iO2i?A&H z(4yPZA}z}f+`=CGzyK5@5lx7IH8kM`5jF!2HegKCPMrr%xMx|3LKbt6@GNH$3=hhY zo@F$#kORi!G}huJ=HV9h;0Fev7>SSu3)awt7ev?$G}wSKO*?fSI9ZutB??*0Ju5=; zCvXxbQZghoQX&>|z<8X-TD-&#STc+s7=U6VLK-YsLla&QVKdNR1I9G%)Oq0WyK62j z|KjuQZojug!~c1%?XSK={w^<&!e5)%iXOn&Hl&ZfA375y4tz1 zKmT~NHMM;5#rw|_$3`yh?B2ezd4F;3!?XE&FHfIn&aE80Z4b9!Z$AIge(>N`Q7E*ru-Ik_3MRkuHF2tEb;&4@yR)# z!K=m2woZR;UP`x)=Fj#fJeuTENGVm{&E%#qrK!4XE_a11UDe$d@=$~_R6T4dPem$I z)mT>YQk1e(4Q&F6QF&H zJ@|nEC`KZh5CLmw!V4m71{!R@n5LaN51fpswi1Ob=AIeV&LS8dl(VARXksA;jK^uL z#Y@b?E$qP$3_vjwAq^I+p$RXDuo-Bu0b`nW>O63&Gs8+0vY2~ygyc`)Buu1aNNA)) zEaZUkIE}SeC*4u+2(L?V<2fby*HWjy>|Y$e1-oH-@g0C z=hESPbF7muqulZdNFr*3%7Ku=0VxRA}qtIY0>Rzk(O!IEE)E) zD9f^H(ujaHG~opiHnR$Bz?i0;IuD$1PxoqtEao2J8D1?I9+V?J)2sDEi|#1T@@hM9 z3w!Vb15k`aG$8`k(1aI6*bFq-fH6%wbsjhwQEep(SIli7z)6@$$&k=U ziCD-1<8c~m@e(^=$uNFk0E&?aX|P}oO?W|s%|L?<7}K;<=YhlT?$-9+FFxO&&S%>+ zT+H*}-?KM}ygi+)?<~ioeLcUqwz61!I{Uo#;mOhCmA^}`hd+ND4ep*EkFFmaFD*V^ Z{WH>d_s;6s*Ts7#HQks^PR9E${sWZ&MrHs2 literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Sparkles/Sparkle_Green.png b/assets/2048/pngs/Sparkles/Sparkle_Green.png new file mode 100644 index 0000000000000000000000000000000000000000..62b0e41938193c120309d4e4807da2274683bd5d GIT binary patch literal 1008 zcmds#y-w6o5XH|*v4pt23Wb#g1)WU^){zAiRK; z7FH8G3rUP5Hk#0C?8YDS7~TZ_xp!vHoR2-3&vr*E4^||NrccHTzISi`mY4Yd{QTkz zpTWz;?zS#Jul zOjTo9$xBhnQZ=**Bu43_$nEyHS(v3+^O62VqS{InvY2~jR6C1ccu>xYYNLsT955cI zu@)~e54W%fKQI8rNQ5+4u!bhQAi`##!3KTfr9z>Ng$2zN6jYMktecq4W+4_<7?XJcEVRUegiu*dXJVxi zUVx6mYGPtxVMi&6HL)9i%wup9_~+i4IdeYtWIme=*B-7(8cv^&7JTpB{;e+a|Mj=C zUwj6Ki^;Cee{5b$OQ-V}`(qwWaw(*gs_$lUQ<&0JT{f4y!j-P-ZVP!RLK&(awv?wL zm8ohhD|snOS*nIMfy5}i6uI3VHw&{gt6t3A-NG&1s(DcMun5brYFc!ATBK!KHA{xQ zEXuO1nlvI{4NZ7Kgw3o18!)D6r_KW>+|#{UA&a?3c!pOCh6m+H&-7~j(4srav%K04 z+`=CGzyK5@5lx7IH8kM`5jF!2HegKCPMrr%MpRpgLKbt+jA~~Q3=hg#QEfD_kORi! zG}huJ=HV9h;0Fev7>SSu3)awt7ev?$G}wSKO*?fSIMtb9B??*0y*fhjCvXxbQZgho zQX&>|z<8X-TD-&#STc+s7=U6VLK-YsLla&QVKdNR1I9G%)Oq0WyL+JOjaZx^#Y z8t&$KdGqcwBDbcaXZx%1=0Haq+xM@oj=x+F&o&=ze7_j@^84*im-DTsE8_=W2mk&a Z?W|~L{qe`+$bsfT6s9y)m(As_aHXrd+d>|SP=>09E#;|5 zWvUv>N?wXmma3smATdfWMQ)eJ&B83rsuy#2w{T0hY95q5EW$FZnik!j7HOGQ&5~g+ zi?S@MCXEPKLla&QVKb}128?Oisq?@I_jIpT$YSmhp5fJk;XyglGrd|rwCIlVEU&f$ zx3C94FaX6!L=z%l4NZ7Kgv~&M4H(n3Q|Ez`5!F_rkj30HquN;n!-H~GR2xk!A`pM^fe?Hr$ z;r~1j{~o+W{d?CQnMwUx!<^QTv9@AeL#t^8SfGy3uUaCq`Kv%kd){NH{1 z?i-(T2eXYeoqQermd?M}yt}>5qe(7>lv4HGOl}HOnySm@a#y(0Ro!hN4@D?L)x(zZ zRHQOhjb$Y-MJY?w&?b-=rI#YNv*TuAmS)w9xw~7qrCT)*${rSB8CFe;ZcmG}Osi(e zu$M(ymQ|BR1gxP6FNm<2RbT_gH0{)R;Dmd+S1V*O_XyAMYQgZJ9O;=}tsh!+M|qZ4 z+ksoygC7`xVkDvo5wM0Pydc76puq-=Y1*mtz{!YeD^bW|?wL{TEP~-dIV-A-CKhtQ zc$~&syu>`*!XEs<02Ct;(qO?Fn(%@Mn}G%!Fs5mz&I6}9Gps}*i@8@vNd5#)!bD1j zghoolLJk;@(^!j_*a1t1@dE=;j6_I-1#4)+3nFX=8f?Irrky$u9Da8h;fWo-8q`$@+ABvbOW=6j)|NbN~PV literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Sparkles/Sparkle_Red.png b/assets/2048/pngs/Sparkles/Sparkle_Red.png new file mode 100644 index 0000000000000000000000000000000000000000..f442967bf38030fb5e42b204925bd399eade6381 GIT binary patch literal 1008 zcmds$F>4cW5XE0wu%(#2wH=%~D0I1@NGD4|4M+%Sad4^#_XTuNaH*R(Io>9?Y3Ubm zbLe!qIk zOjTo9$xBhnQZ=**BwDE@Nwhd_7G`NyJ($?t!Y$pZd64$72+Oc)T2y;lq-9z)OPakb z%CfAQG$LRPO?W|s$&3OUFuExx&jTmi)4f_DgNY+N!>a|ugLI^4dbNINQ61%3UTp_% zVGn*_0E&@_CPcs*n(%@MlYs^sFuExx&jTkTs;xvJgNZYv+F1m{gLGC@8_inS1IFVt z*5W1R;THDb2L_-RiI4^h*3g6(M3@XT*nrVZIe8v9)jPvV6f&5&dWGztg|lH+$_`l? zTVgHj0poERYw;30U`aE6U;v7d2x+ij4NZ7KgvmgI4H(^&ljniM?{53>@lUSr&*#%a z3jWXY=+BD}h}@Zs?jNnj(_@`%?yg^4+_-x=Jl(pzdH#9e%P)7|f0^yvSs8D99Q?gH a*;~=8AM5X~f8SgDg*6#ZM`!!Tum1rAYeQWC literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Sparkles/Sparkle_Yellow.png b/assets/2048/pngs/Sparkles/Sparkle_Yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..7d7be3baaaf9661e388f5ed79cde70e455b6b60d GIT binary patch literal 1008 zcmds#KTFkN6vw|e2SvQQrG!&MgAiwMa8mBYF2v<>m4+rGIB%c^9c>7tS8%qVt;C^K zr-G(KTSHEc1x^jocKUc;Mi1zZ=Q-zm&-c$golWaw}q6|QtucU#Cq5z0{Yu%$c| zsZ3R4S;?iOz8R?UO5hecS1Rnwx|(;_X?s#!AZ zWl@%8)ua&tYiPm?B5Y4a2L_-RiD*Iutf2`nh_D%GumNM5cIrHEGNRf_6tb9mW>hy zkrJ_x1IFVt*5W00z>;D7zyK5@5z=768k+Ee2%CWh8!)D6r_KY1-`#`#XFvJ;cr~By z)9`Y!iDNztQWiLUxuIPrTt70W(Nii4|6c!kPm=WH(+k+Dr zL?CKl&9jTj@=i1WkBind~`SS!wBDJR;Aable~53K|wM(L%+IfX6=5CC(MmsMU9+ZvM)@tYVLyK#LpTs+z~TbGs{-jus*qWRCU>CzQy{fn8cp${D!Ym)YcK3%=pHQHGp8S5Mf zmV{H2dq3JWi${CXC$F796zm>ph&)@Hmyy+KGXs5H+rHaLW0Ov3o9!mhW!9wA-AMP;F(;QrQsyL_X0 literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Tiles/Tile-Blue-Square.png b/assets/2048/pngs/Tiles/Tile-Blue-Square.png new file mode 100644 index 0000000000000000000000000000000000000000..4157e129ff5230f151b2f527b4d33f8df18b5e92 GIT binary patch literal 1093 zcmds#%}do$5Qax{VTRG7C@m-q43Q|DO{+jrRFI2Y#jH&cHDKF>grG$d`2|53G(tqU zEbgjpAW;!AR4c(vAQUALp^G9Rrl<2~bU=TcGc)hJA9r@R(%;)g9E))zFq(R z8h7!(V`FNXPu=xue~;AO9oZDApC29??c-5JOvFV(B+Fe@OvP0~B}-XN%*0K?Bulrt zn2WoFOO{~`u@Dc5kSti5Vkw>yDOsRZKw^|$iroGkQ+3r)&9a!gnYwA1X5m5ET-`NX zv(Td3LOnD>v#?~?Qav?Nvyesvtf2`nh_IPeU<1Z9?bLbTxLKHGQOIKM?iOxY1jB=} zhecQx{m`P@(;_X49k_)(_<;c^Mk1OJ0c&W&3nFX=8f?Irrky$uoN&)#B??*0J;Jj% zi(q(Aj`S=>6AL+DJWgXRUSb|@VGn*_0E&?aX|P}oO?W|s%|L?<7}K;<=Yf+YGps}* zi@9fsko*apgo%_435}G9g&Z&*r?D0+P2;|B(y7>SSu3)awt7ev?$G}wSKO*?fS zIQ;I~M=pHjvp!j^jL`6Zp0S@(%ZQvF?Cl;MnEk%?qGjb+W5e*Ti<>*6dsohE^e<1` zKYsOW?ZJu34@-S-pLe!BTJ3r^{^nJ8`$E%`JBNRCx1O9{dN|iL)-d$)(5dyAd%qXA zHY*=@7QWm(XtlP!x&0m6N4F==UpZI3we@-J>11`hW#9bc1J_Q!-!mrPX6pRU=<3|3 a-8br67bh>@UF&=e9U1Ja^wxSV-Tn)Wd2gBk literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Tiles/Tile-Cyan-Legs.png b/assets/2048/pngs/Tiles/Tile-Cyan-Legs.png new file mode 100644 index 0000000000000000000000000000000000000000..24f10ce252ac02c7bbfdddf1be8ee0fabf6cd7d7 GIT binary patch literal 1126 zcmds#%}do$5QfKWk&=>7kdjbgTF}O3AtFTC6}_M$Dh6pFEl!&tA{R!qQ3)(Cw4i3y zA~#V=L@7pKnNSxFf)GlJqQKA~>0=Q^)bx1%j1K6Jb7tn9_u~$?wKf(NmKBOfQMM`5 z&iBy9-Q<9rVkXhV)38PfQ7lS~;t5M#f{VFC7f;YCATdfWMQ$4>sG4e2^|Y9K2x>uN zP)|H42U9bRrk-fg9im#)7}XO?hJ&lQMpsXy5dmvx!V4m7W);|gF-<#l9yk_448fB^ z7IQZX(Sj$z@Stol#27s3hZf!DA$ss+2X0{xeqaEKk%%Tlz#5wHf(V;|1{*M@X{XKu zCz^S(5``@09;1137QyhK9Njz_O)TVq@i>jOc!_zqg+2Iz0VqZyq``tUG~opiHUkYd zU`*3aod=Gm%&-!LEavVhLh>hY5++hIBs5YY7IMINoW@$b#12?8j2{?)VkANuELcMm zUJzk3&|m|`H0{)R;PAVv>^QN;=S^RGYX=Sg=jr;f-s`TQ?s$ zJoDvT+26I*q4&MbgDvBI?~31!^xbTlzVUsi`^xplFM95sUTUo?DXAMB*|FYJQ(8W? zH}k~i3hvs#RO#(w!&Q&IZ5tV$&i_?iz1Y3;+QG_|g51TK$^Cg_71^N_J*7D54Xvy-#_Q96>ZG-as>HMqQpHmNx?|U}eGf{qWb>c!@P51AI Udum_Ky@s!38(K4y^}PfC09M6>P5=M^ literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Tiles/Tile-Green-Diamond.png b/assets/2048/pngs/Tiles/Tile-Green-Diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..bd145764f30db32f03537e714f5939731fc8988c GIT binary patch literal 1205 zcmds#%S+Wk6vvNNzHWx1RAz;WT__}~K_aXq@v0Z=Vk#yHr6^Mpw6GQ;uF6ac3f$ym zK`7WFv&SlGQAuRd7(r!9MTwENDSC;RFnydqqXGRfbI$pm@8fosMT!#>)+C5XVz{KR zobR^9zqlp*-#FQPnorb;^5Oy+e6jYcNc8!#y_F#zm53HGB38utyHcW+7$sJT^JS$) zYcX1^7U#Q_5pBd6u|}L9R#vnXW5rr=9!ojVPK*=l#Cd2XATdfWMQ)2nD`k|jN;$un zyVlBRWwmmi2W4%PG0Ga{JT1DlRmLi7mGdka)=n9xtW(aDMg**(2``ASnN?r|#x(8J zdEgkWt=7&fWHEPRv^Cm!!SJALthQD=uOC`;8>g+)&f9@o*n=M!fMO(~2@$Y{CcGfR zW}v|ajA`1b^T4sjIBz8iSpaG*TiKa=>_;##+3@4p=gb z9~gjQBtjZ2SVI$D5MeXWU<1Z9?bLbT@Vg6E9Gu}Zak4y8LBs!fs%D$}5cw-yxTmtD z^Xk~+wfl7?C6GA*E7O*QSugL&Nzwp>5dI}n{-lQ9+lac)SJjK>6?7Z$vkE-ib|+SAtkWnb@@YZ$)$EN<)N zhNr7j(pq=?=*}Ox@Hu}XZK3DJ&`3ek-PtQS2acZk8&x;8;`RPV3m=d#;ZUS-u%PzT EKl`GessI20 literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Tiles/Tile-Green-Octo.png b/assets/2048/pngs/Tiles/Tile-Green-Octo.png new file mode 100644 index 0000000000000000000000000000000000000000..396c26793b71dc0c6f455540d5ed4bc29a65c636 GIT binary patch literal 1129 zcmds#%S+W!5XYyqx?Q{>)Iy?75=KOzjs-1>62+^CiH{N&5iQOl!oXZe3-LuIU0bvW zM<^4Es7R?nLwWT4K-J2DWTw}hj zjc@hlU#5uvhrafY@Y!;;t)W(Cm-c-V*?OzBxuc#(6$v6H5=A`SRVApHN>uSw)*vB> z1&KjCb*o7*F_UQGX;`C#C>A9~@r0!=!NpvnizjFmkQk+xBDc*GR82LidRojq1ht?s zs3#tjgQ=NDQ%|($4pA*?jOvLc!@<>DqpK&`*!XEs<02Ct;(qO?Fn(%@Mn}G%! zFs5mz&I89&W>|?r7IXI$A^8(H2@@$95*jHH3prpsPGc=zVh1c4#t#fYF%lsS7ObHO zFNm-iXs`iens(|uaQNL-w0E!ZS?OzQX{X`;JZFFR&mi(~W8LYF{Mh%8Z*qf`nQhBG zt7RwVJX@G~KDj45^<`mXhugVpgQIQdZ%$NRY+oF|e0O8)`1--&@t;#`8_Vy1J>69^ zJ6KWrdbGUeRPpxgrvvjYnOy16(CV>@uD%bKuII}qEkCf(ReP`L*}KmBMOCkk T=*nX63n)uteM{YJ?S^Wbb4f1l5*bTFEF^_^NMvXgkQk+xBDa-es!7#VBQNG|rpeSzBlDna zNmEi!8krW|=9*mHH8M+vEi{FCXk^lefHgGX1rav03T(ibrky$uoMh%^krlF-drIcX zA`6BG<>cmWk@Z81?iA)>k?p`O?7F1=gp;|&iZ4oCpHW`TiQDQv1MX(a_7;)Y-45V z#+BvU-F0KXzD>O^zdU_pVRvb~c)cOEkKHPq+VOqU;o~z0nlIk0dc53!Z{6<~gKHmM i-F$7n`@zHF-4o42i*-+49jttSj&u~d+NN6v&;J7(xN>X& literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Tiles/Tile-Mauve-Legs.png b/assets/2048/pngs/Tiles/Tile-Mauve-Legs.png new file mode 100644 index 0000000000000000000000000000000000000000..b67d0a36d60c553220f4064992cf67d6707c3b62 GIT binary patch literal 1126 zcmds#%S+W!5XYwnp^_pNsnJs?v^M1wwFyx)?+r0iX%Q_7>PQ5Jc}rUbJr+JTx`<8@ zLK*~u1w{}9K@=s7VGuErn`I-oz!nVIi=AGfcixv{WdZGngsW;6Az ze5)7#@|N+x>SOO^K1;e=8|!4^^}25&O9xt-+8cOOksuO9OvKY&Rf0-XF%?f`4HAOH zAQr?^w?+w3Vib$wX;@8yNi;DNPgv>_T%wD)c!E{|iBWnfa$7t>HL9Abr^Vbu&=}N$ zdg4JjM2%4`swY}>2h(V3rk+?b99*NTxq2dv2v|cCUJzk3tH1_~Y1*mtz=+g2!;n`^XSQFVj%~N$7!s^OU%P9?7_4Hm4S2``AS8ECKp zW14pAJa9Z^hLtE}F?UZ9l0SiyFp-iWp^*}?kORi!G}huJcEFNh{J;PdBN5VI!5W(I zf(V;|1{*M@X{XKuhu_`Swj*Epe8{ynx6$x_p2NR-M-e%et*>p*^v%DkExNiRZ~63w z8|(K~z8vbmlWW_*s;79*)JW;y-CZ*?Wp7SRelH)I)dwB97dAY2^7iz(8nevm;>S}Z zllO0KS=jrd=j?F)!Ic%)d#g`eT(PRB|MRuu&(6P^9q8Pg`MIriEHhN`bol*9*XfR? z=Mz`9SLHs9&;4n+H-2lVUZWQ7wuS z)y4@I!n6ny+=Mi>x(P0_58R9p6xgP~h=|kU{WH3tKkhx}yyyLxQX${l)Nr6dM4EDa z*&^T0t-qc1{Lj=Tr}%8UR_yJT%5uv$k-F)^g~1*kgNTZlNEGpO4?#4D1&KjCm4k|^ zm`YUf)E!LJ#7v@zr{NGqqga#}#S>O=Q5SQGE}o!+fW#=h6uE634Z%W)A$VHMT{W17 zsKFBt%4)$ZL<^p1(XBC93^4{zEE!f0<{^6UL>dvWh9s_a&+@#G_jBa#^W^B;w9$c7WUu=2A~*;kOm9Z(1aI6*bFq- zfH6%wbsjjLGQ&y~vY5N42+5zoNtj5=w`fFy4^Nn?Qa)bRl6GQtZC^= z^s zCcezC|0z75e`3wQDqT~rv$Y-DmlmrZ58v#l&Ntt^T-lsi__=c0T95yDvHw*6vvK%J Mt|yBeKWqL(uJGk;w*Pev$$X@HVx&+hG%|k zm?kV6hWRyGQaVi5tXyQ7wTz2yGKL+m&Y$6I_1QVk^Sqz;k8eXsyl`?#T8fBFE{a7< z`R0!OC6DKS=3s3-pK*Ii3nS9{cFtFkgrg;!%GdK~M68I4I1wN2#)vhdMw}5J%EpSd zqE?(0AG(c-RZ$hE;={0UVx6cH=fnprVvZgh6iQm)d!=Ag&Z&*r?D0S3KYbGYK+K+D-BH=lP*@2qWG`D|oT>irjOxhG3Tf2H&}S_x7IA~p0;i9!2ZQq@yxv2b!eBO_3>zHWP9B| DoSvl< literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Tiles/Tile-Pink-Octo.png b/assets/2048/pngs/Tiles/Tile-Pink-Octo.png new file mode 100644 index 0000000000000000000000000000000000000000..4c81a03b6cbe6c9dfbc7d51c9e486212f4a0eeff GIT binary patch literal 1128 zcmds#%S+W!5XZ-?yoy#R6!aiVx@m5-DT-EQiV7m4)}kOJ;SjCLTDXw%5!9t@;iEWd zXi-MB2?_+6KAu0L1N!5fnfcE5adRE*&1EH z@7|TaOdOrxopdSc0NaE-3!>WMTWU=2-pL4?h$0vj- z?lA_7!INNkP>vSNf+zjZqC0vp51#D6E$qP$3_vjw(S!(CLla&QVKdNR1I9G%)Op}o zjGnASA&a@2MNiHm7#@_(qbH+@g&Z&*r?D0LOBF>$ZnfJg^AnqPW^cSZ)>rjv*U8g!OSzt^<=uz2?CX2|xNx*~ zrg(K-K2x?~Xz0!U+_|>U?R<+TW$+y}y?8Q_~L?md5W5Og>qEd2#CL{FMVE zm80bo^}}`JEu&TCUrNrbDrl>2C~WMRc{y6V@#C{QJI1bs?AZ4DTOE()zn`D{Du-VT U{`h;f;x>$>wW+;vwxMVEAKSxtX8-^I literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Tiles/Tile-Pink-Square.png b/assets/2048/pngs/Tiles/Tile-Pink-Square.png new file mode 100644 index 0000000000000000000000000000000000000000..5bc36e9a3f11814ac14148343f00b0241dd26d34 GIT binary patch literal 1092 zcmds#-)Glh6vxjh*``IbXo}gzs7UQl6su-y-zi_SWf!|CrPJst6-&EXCR@?67AK}O z>LPYAks>DPrekyy-NaT=w5yaNPOm+GMi1M^^PF?u=l$b5-dpW%sBfwlk%pd1XCL3T z)xX-c{NJ%Oe2q`d#lG$inOofUO=QiD-s2~_cvKM+agh+oa#s~oag|WXQdSc)ag#8~ z(ycD$;x6HmWmrQj#6uz^3znu>il;40!4C{TF%lsS7ObHOFNm-iXs`iens(|uaI$2E zl_+E}_bd^TKY^1lk&+>ykrJ_x1IFVt*5W00z>;D7zyK5@5z=768k+Ee2%CWh8!)D6 zr_KY1-(73};8#8$F7;LWY4|_Sz^~z1M2_}!9yw7NUwQv>>q2wwy58=^-TS8w?y3HM zH+1iF#c!SeQn&r7ZE9PYs63wEu8f_lb(|Xg2eZ;{(f|Me literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Tiles/Tile-Purple-Legs.png b/assets/2048/pngs/Tiles/Tile-Purple-Legs.png new file mode 100644 index 0000000000000000000000000000000000000000..f3137d78f0285cab5d110a196a24dc07cf4f9cc1 GIT binary patch literal 1127 zcmds#%}do$5Qe90VUio6g<)itLbWKHC_)I5D|#!;R17l9MI8wuO2ed8BoQ~U>{AXT zB;r>3gbHaB3F6Q$A*d{hO2|bJF2b4~&!5o&{c+CByz_qCTtj_rVZo{b5h={pWg7Wz zUHr?>CZS&^lE4f~pFcvO)f5=BhJ(_K}9N>niwPh|}fg2W&e z#8bCM2~lDci{fcmO@c`@F%wT%>JnU{i@A7$Rso4odMR>SJV7<8nyRP8+(Xb9)Pj2A zK{-T?Q7x(`T671~XlkaOSTY=3qpP`kB8>=GLla&QVKb}128?Oisq?^zAy^2W6tb9m zjKN~?Bp4o)qXo0zNk6pcjvmZ|Cp&Npd+-ATP>e)0Ap+LWgcn5E3^dq)F-<#l9yk`G zCo56NV(w^F1So9L;8SH`nFnrXLi(DqXRxVSZ+I ze930cki!$*j3zGS9GuLdRfhtg~9Q^{jF79 zW!>d%+2Kt`SI%5M-!^Bro}L>mE~zNkQJOzpKG8DUxAw^G3k#i3I>v{teVts8UsI!l Tc{9&9Ls+sk^_j8i_KW`jj_85} literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Tiles/Tile-Red-Octo.png b/assets/2048/pngs/Tiles/Tile-Red-Octo.png new file mode 100644 index 0000000000000000000000000000000000000000..84b566789fba5c280c442b35eaba13612d900a78 GIT binary patch literal 1127 zcmds#%S+W!5XZ*{YLb;nkT<~=H%k$UhLRScUay)Yc2Rq-tl(5cL}Vc?B6^XuYUe-@ zQ5S+xXyd|_LAW|S2n>QYl1MFz78zvF^zr-|9nc@=%*=Pbk2_u%=&h;FREtPW-+}xf z-`%T!Rb~8dUKqQ@r{wZrZ%(G(G<+2)y7VW~@SF_-A#30egtM(L%WMTWU=2-pL4?h$0vj- z?q(rc@FW->lr4rBgD3saqT4(~51#D6E$qP$3_vjw(S!(CLla&QVKdNR1I9G%)Op}U zGf!5ckj30%G*8YV7#@_Pnu&6-Dxban zY{eh_Xt*%{v~X;CymI|_Yu?|HYu=gf-~8hFV$aos)2|*b*S+jnIW)TW?BcbK{efrbYwy$q;d3*csmg9|o-?yD9uDMvz znc24Ebot4q2btdN+@^Qsr4xnQ758R4E^Vo6ojJFsD_i@zKiht)_3=P){&UOQlF6B+ TLb376PY6q2_dtFsH*)hI^1*aB literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Tiles/Tile-Red-Square.png b/assets/2048/pngs/Tiles/Tile-Red-Square.png new file mode 100644 index 0000000000000000000000000000000000000000..f395737279d1574b179c625ca1305247e04d8771 GIT binary patch literal 1092 zcmds#&r8%{5XMLIpq3C}lo}Ww6p1Kyj-6awbU_wb7c);CWTI}7kPviG0$q(dSTuq} z1YHVG(Y1)EkeBKtc!`3dBqH=s6vXuL{WE$&zr63vJoEh6h0)4TTWe>lh_sc52djJw zyMN7l_}~9=W{yw8rRq>o*4`Z15@}o<9jTRgR1p(#kt7oNt}3SDDoG`BSxwBuO_E9E zZgnvicS$ahhc$^M@gylpWGoG_5D!Tqk)c&UVw7Hr+;)$tx@uC5yqLS0x@j_v%!9JI zx@&TcOp9(y>Pb`5$SfJQP!CO^kx3&0*3g6(MA*zKumNM5cIrHE+$@)%R?v~sl z3x)?}PnMEJ)( za%NbGLKbt693lA=I0+Le84?;P5eqqBJWgXRUSbC<8O9F`Krs>_4Hm4S2``AS8ECKp zW14pAJaG8k^^Q$`<+C|mt&Gv|f1dH5GxrfWTOJ&!4KIA(ICbFJ(dMSnbA7A7o_4)z z>AwD;e0#a$$*sQWcPpjWkB{}Nt`{CnynHdxyVQE`TGx+(&f{|{cj|@lrjh4|Pi)TL z_`STnReAqs>C2Tvw$@XsxA*UK@0>p~b-H?W`}4-b>FPws{>8foFPwb4cU->BH~8P$ cdi_(&<;I&Aiy!t)PPM~E%B9NSTJh}cKSQBx(*OVf literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Tiles/Tile-Yellow-Diamond.png b/assets/2048/pngs/Tiles/Tile-Yellow-Diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..6a41dc775d9ae7b746d6fedda6d6875c3dbd05e5 GIT binary patch literal 1204 zcmds#?`zFb9LGOnlNK4vk0j>qUYeBLqm`0I({{6Ft|cuG=<@L^vPuBLtsk48jAtcVlw;ckqm5o^R5@u6%~ zRK=<|6(72d6}4imI4eF38z<_-I&n^Xz%pLci}m8X_yBDLBu43_$ZhPXG1eGoj1P;s zs~W4usqujaWwpjyVsf-P_|B;Qy=t0i*D=HdG)~#+`=CGzyK5@5lx7IH8kM`5jF!2 zHegKCPMrsiv(^VIQOIKM&RHLvMKC-lJ8yk3npnsI<8c~m@e=cJ3w!Vb15k`aNP`7y zXu=C3Yz7)^z?i0;Iu9HlGQ&y~vY5LM5t2WFlQ5BzA)%2Hv5*7C<22UdC3e7)Vf?@V z6eAJRV8I%i@PY`Nfd(5erfH|n1Bc(;f(;GBeBK>Q)^4ET|2!K-gvN+{m}5Gat3=>mArWthZB}F5XUE zDN0^wc~-LgXC@KX!tz*ZAQz1{^zUzN&rDf0R60#Fmzs2X$F2PGdlk=%AAdi!<9znj zjnicf2d_`rn(NrsUr{lC+Thpx=CfVvzpZTCe5W|wSeiK2wXA!z&qZ>nA1`-jc5c(H zLwOShruQBG6#KL&d#fPcGt$0fMf1tM*=$X;{^;ZUyD#r2GP~YKcmG*;XwsRsqH76l zTiP*rx%k|#&M(z}JG%#;JX~~jadhFHH!sqsHa?g)n){u*87c2Uy(HGuR`#vla^fF* C=A}9S literal 0 HcmV?d00001 diff --git a/assets/2048/pngs/Tiles/Tile-Yellow-Octo.png b/assets/2048/pngs/Tiles/Tile-Yellow-Octo.png new file mode 100644 index 0000000000000000000000000000000000000000..b84a6fb17c240f5c8392be21b0e0b534a0c624bc GIT binary patch literal 1128 zcmds#%S+W!5XVPTF+)jIFp;1ZfKULE-FC=(P~11AZ%f)GNrn>NVC9G zw1_04g|y5T8Z89n7;X}R3fx3R?Ru&^D@ zJ-Gc>xr6_$8zW)u`%eF?TZ!rqR?B z56Tua1dTyG(W2X;hNv;BCzcGGYjBOOo=77C*3g6(MA*zKumNM5cIrHEf>|{4q>#nj zL$DaklVEsI4$)#XPx_%ncW{etp6tLa?7q-02Fq(m&_fblquwRnjguw)oNFaX6!gfv*Nh9`c z{_Hi)J?9R$)*oFgj*VUa@}Oq2u(GSRuKP#Z{M4s=2Qn8ovoEK%>K<1&&7Xfiy40{% zRytD{uekH(*v7-`k(P$(edC$?g@idHDbU literal 0 HcmV?d00001 diff --git a/emulator/src/components/hdw-nvs/hdw-nvs.c b/emulator/src/components/hdw-nvs/hdw-nvs.c index eb5e86858..5ecc8461a 100644 --- a/emulator/src/components/hdw-nvs/hdw-nvs.c +++ b/emulator/src/components/hdw-nvs/hdw-nvs.c @@ -1194,4 +1194,4 @@ static bool emuGetInjected32(const char* namespace, const char* key, int32_t* ou } return false; -} \ No newline at end of file +} diff --git a/emulator/src/emu_cnfs.c b/emulator/src/emu_cnfs.c index 4ab170e80..b2f3b723d 100644 --- a/emulator/src/emu_cnfs.c +++ b/emulator/src/emu_cnfs.c @@ -27,7 +27,6 @@ static char* cnfsInjectedFilename = NULL; static int32_t cnfsInjectedFileSize = 0; static void* cnfsInjectedFileData = NULL; - //============================================================================== // Functions //============================================================================== diff --git a/emulator/src/extensions/modes/ext_modes.c b/emulator/src/extensions/modes/ext_modes.c index 2263fc93e..c1b072b05 100644 --- a/emulator/src/extensions/modes/ext_modes.c +++ b/emulator/src/extensions/modes/ext_modes.c @@ -26,6 +26,7 @@ #include "keebTest.h" #include "mainMenu.h" #include "modeTimer.h" +#include "mode_2048.h" #include "mode_bigbug.h" #include "mode_credits.h" #include "mode_pinball.h" @@ -72,6 +73,7 @@ static swadgeMode_t* allSwadgeModes[] = { &modeCredits, &pinballMode, &synthMode, + &t48Mode, &timerMode, &touchTestMode, &tttMode, diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index b399a88c3..548295324 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -41,6 +41,9 @@ idf_component_register(SRCS "asset_loaders/common/heatshrink_encoder.c" "modes/games/ultimateTTT/ultimateTTTp2p.c" "modes/games/ultimateTTT/ultimateTTTmarkerSelect.c" "modes/games/ultimateTTT/ultimateTTTresult.c" + "modes/games/2048/2048_game.c" + "modes/games/2048/2048_menus.c" + "modes/games/2048/mode_2048.c" "modes/music/colorchord/colorchord.c" "modes/music/jukebox/jukebox.c" "modes/music/tunernome/tunernome.c" @@ -106,6 +109,7 @@ idf_component_register(SRCS "asset_loaders/common/heatshrink_encoder.c" "./modes/games/pinball" "./modes/games/bigbug" "./modes/games/ultimateTTT" + "./modes/games/2048/" "./modes/music" "./modes/music/colorchord" "./modes/music/jukebox" diff --git a/main/modes/games/2048/2048_game.c b/main/modes/games/2048/2048_game.c new file mode 100644 index 000000000..a94e54025 --- /dev/null +++ b/main/modes/games/2048/2048_game.c @@ -0,0 +1,1017 @@ +/** + * @file 2048_game.c + * @author Jeremy Stintzcum (jeremy.stintzcum@gmail.com) + * @author Adam Feinstein (gelakinetic@gmail.com) + * @brief Core of 2048 mode + * @version 1.0.0 + * @date 2024-09-17 + * + * @copyright Copyright (c) 2024 + * + */ + +//============================================================================== +// Includes +//============================================================================== + +#include "2048_game.h" + +//============================================================================== +// Defines +//============================================================================== + +// Pixel counts +#define T48_CELL_SIZE 50 +#define T48_LINE_WEIGHT 4 +#define T48_SIDE_MARGIN 30 +#define T48_TOP_MARGIN 20 + +//============================================================================== +// Function Prototypes +//============================================================================== + +// Game +static bool t48_setRandomCell(t48_t* t48, int32_t value); +static bool t48_slideTiles(t48_t* t48, buttonBit_t direction); +static bool t48_checkWin(t48_t* t48); +static bool t48_checkOver(t48_t* t48); + +// Drawing +static bool t48_drawCellTiles(t48_t* t48, int32_t x, int32_t y, uint32_t elapsedUs); +static void t48_initSparkles(t48_t* t48, int32_t x, int32_t y, wsg_t* spr); +static bool t48_drawSparkles(t48cell_t* cell, uint32_t elapsedUs); +static void t48_drawNewTile(t48_t* t48, uint32_t elapsedUs); + +// Helpers +static int32_t t48_horz_offset(int32_t col); +static int32_t t48_vert_offset(int32_t row); +static void FisherYatesShuffle(int32_t* array, int32_t size); + +// LEDs +static void t48_lightLEDs(t48_t* t48, bool tileMoved, buttonBit_t direction); +static led_t t48_getLEDColor(t48_t* t48); + +//============================================================================== +// Const Variables +//============================================================================== + +static const char paused[] = "Paused!"; +static const char pausedA[] = "Press A to continue playing"; +static const char pausedB[] = "Press B to abandon game"; + +static const int32_t tileIndices[] = { + 0, 8, 2, 12, 5, 9, 14, 10, 7, 15, 1, 3, 6, 13, 4, 11, 0, 8, 0, 0, 0, 0, 0, 0, 0, +}; + +static const int32_t sparkleIndices[] = { + 3, 3, 4, 1, 6, 0, 7, 0, 3, 4, 4, 7, 5, 6, 6, 2, 2, 1, 3, 3, 3, 3, 3, 3, 3, +}; + +//============================================================================== +// Functions +//============================================================================== + +/** + * @brief Initialize the game state + * + * @param t48 The game data to initialize + */ +void t48_gameInit(t48_t* t48) +{ + // Clear the board + memset(t48->board, 0, sizeof(t48->board)); + + // Reset the score + t48->score = 0; + + // Set two cells randomly + for (int32_t i = 0; i < 2; i++) + { + t48_setRandomCell(t48, 2); + } + + // Accept input + t48->acceptGameInput = true; +} + +/** + * @brief Run the main game loop for 2048. This animates and draws the board and handles game logic + * + * @param t48 The game data to loop + * @param elapsedUs The time since this was last called, for animation + */ +void t48_gameLoop(t48_t* t48, int32_t elapsedUs) +{ + if (t48->paused) + { + // Draw pause screen + fillDisplayArea(64, 75, TFT_WIDTH - 64, 100, c100); + drawText(&t48->titleFont, c555, paused, (TFT_WIDTH - textWidth(&t48->titleFont, paused)) / 2, 80); + fillDisplayArea(32, 110, TFT_WIDTH - 32, 130, c100); + drawText(&t48->font, c555, pausedA, (TFT_WIDTH - textWidth(&t48->font, pausedA)) / 2, 115); + fillDisplayArea(32, 135, TFT_WIDTH - 32, 155, c100); + drawText(&t48->font, c555, pausedB, (TFT_WIDTH - textWidth(&t48->font, pausedB)) / 2, 140); + return; // Bail instead of drawing the rest of the game + } + + // Blank the display + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, c000); + + // Draw grid lines first + for (uint8_t i = 0; i < T48_GRID_SIZE + 1; i++) + { + int16_t left = i * (T48_CELL_SIZE + T48_LINE_WEIGHT); + fillDisplayArea(T48_SIDE_MARGIN + left, // + T48_TOP_MARGIN, // + T48_SIDE_MARGIN + left + T48_LINE_WEIGHT, // + TFT_HEIGHT, // + c111); + + int16_t top = i * (T48_CELL_SIZE + T48_LINE_WEIGHT); + fillDisplayArea(T48_SIDE_MARGIN, // + top + T48_TOP_MARGIN, // + TFT_WIDTH - T48_SIDE_MARGIN, // + top + T48_TOP_MARGIN + T48_LINE_WEIGHT, // + c111); + } + + // Draw Score second + static char textBuffer[32]; + snprintf(textBuffer, sizeof(textBuffer) - 1, "Score: %" PRIu32, t48->score); + drawText(&t48->font, c555, textBuffer, T48_SIDE_MARGIN, 4); + + // Check if anything is animating + bool animationInProgress = false; + + // Draw new tile third + if (t48->nTile.active) + { + t48_drawNewTile(t48, elapsedUs); + } + + // Draw Tiles fourth + for (int32_t x = 0; x < T48_GRID_SIZE; x++) + { + for (int32_t y = 0; y < T48_GRID_SIZE; y++) + { + // Get a reference to the cell + t48cell_t* cell = &t48->board[x][y]; + + // If tile just spawned, don't draw until done animating + if (t48->nTile.active && (t48->nTile.pos.x == x && t48->nTile.pos.y == y)) + { + continue; + } + + // Draw the tile(s) for this cell + if (t48_drawCellTiles(t48, x, y, elapsedUs)) + { + animationInProgress = true; + } + else if (cell->drawnTiles[1].value) + { + // Movement is done + if (cell->drawnTiles[0].value) + { + // If this is a real loop, not after a warp + if (0 != elapsedUs) + { + // There are two values that need to get merged. Init some sparkles + t48_initSparkles(t48, x, y, + &t48->sparkleSprites[sparkleIndices[31 - __builtin_clz(cell->value)]]); + } + // Tally score + t48->score += cell->value; + } + + // Set the drawn tiles to only draw one, with no offset + memset(cell->drawnTiles, 0, sizeof(cell->drawnTiles)); + cell->drawnTiles[0].value = cell->value; + } + } + } + + // Draw sparkles fifth + for (int32_t x = 0; x < T48_GRID_SIZE; x++) + { + for (int32_t y = 0; y < T48_GRID_SIZE; y++) + { + // Draw sparkles for this cell + if (t48_drawSparkles(&t48->board[x][y], elapsedUs)) + { + animationInProgress = true; + } + } + } + + // When the animation is done + if (!t48->acceptGameInput && !animationInProgress) + { + // Check if game has been won + if (!t48->alreadyWon && t48_checkWin(t48)) + { + t48->state = T48_WIN_SCREEN; + t48->alreadyWon = true; + } + + // Check for loss condition (no valid moves) + if (t48_checkOver(t48)) + { + if (t48->score > t48->highScore[4]) + { + t48->state = T48_HS_SCREEN; + } + else + { + t48->state = T48_END_SCREEN; + } + } + + // Accept input again + t48->acceptGameInput = true; + } +} + +/** + * @brief Process game input + * + * @param t48 The game state + * @param button The button which was pressed + */ +void t48_gameInput(t48_t* t48, buttonBit_t button) +{ + switch (button) + { + case PB_UP: + case PB_DOWN: + case PB_LEFT: + case PB_RIGHT: + { + // If the game is paused + if (t48->paused) + { + break; + } + + // If input isn't being accepted + if (!t48->acceptGameInput) + { + // Warp everything to final destination + for (int32_t x = 0; x < T48_GRID_SIZE; x++) + { + for (int32_t y = 0; y < T48_GRID_SIZE; y++) + { + // Warp all drawn tiles + for (int32_t t = 0; t < T48_TILES_PER_CELL; t++) + { + t48->board[x][y].drawnTiles[t].xOffset = 0; + t48->board[x][y].drawnTiles[t].yOffset = 0; + } + + // Kill all sparkles + for (int32_t t = 0; t < T48_SPARKLES_PER_CELL; t++) + { + t48->board[x][y].sparkles[t].active = false; + } + } + } + // Run the game loop once to update state based on the warped destination + t48_gameLoop(t48, 0); + } + + // Start sliding tiles + if (t48_slideTiles(t48, button)) + { + // Spawn a random tile, 10% chance of 4, 90% chance of 2 + // See https://play2048.co/index.js, addRandomTile() + t48_setRandomCell(t48, (esp_random() % 10 == 0) ? 4 : 2); + // Don't accept input until the slide is done + t48->acceptGameInput = false; + // Play a click + soundPlaySfx(&t48->click, MIDI_SFX); + } + break; + } + case PB_A: + { + t48->paused = false; + break; + } + case PB_B: + { + if (t48->paused) + { + t48->state = T48_START_SCREEN; + t48->paused = false; + } + break; + } + case PB_START: + { + t48->paused = !t48->paused; + } + case PB_SELECT: + default: + { + break; + } + } +} + +/** + * @brief Set a random cell to the given value + * + * @param t48 The game data to set a cell in + * @param value The value to set the cell to + * @return true if the value was set, false if there are no empty cells + */ +static bool t48_setRandomCell(t48_t* t48, int32_t value) +{ + int32_t emptyCells[T48_GRID_SIZE * T48_GRID_SIZE]; + int32_t numEmptyCells = 0; + + // Get a list of empty cells + for (int32_t id = 0; id < T48_GRID_SIZE * T48_GRID_SIZE; id++) + { + t48cell_t* cell = &t48->board[id / T48_GRID_SIZE][id % T48_GRID_SIZE]; + if (0 == cell->value) + { + emptyCells[numEmptyCells++] = id; + } + } + + // Cant set a random cell if there are no empty spots + if (0 == numEmptyCells) + { + return false; + } + + // Fill in one of the random cells + int32_t id = emptyCells[esp_random() % numEmptyCells]; + t48cell_t* cell = &t48->board[id / T48_GRID_SIZE][id % T48_GRID_SIZE]; + cell->value = value; + cell->drawnTiles[0].value = value; + cell->drawnTiles[1].value = 0; + + // Set newTile for animation + vec_t newPos = {.x = id / T48_GRID_SIZE, .y = id % T48_GRID_SIZE}; + t48->nTile.pos = newPos; + t48->nTile.active = true; + t48->nTile.spawnTime = 0; + t48->nTile.sequence = 0; + return true; +} + +/** + * @brief Slide the tiles in the game, setting up animations and such + * + * @param t48 The game state to slide + * @param direction The direction to slide + * @return true if something moved, false if nothing moved + */ +static bool t48_slideTiles(t48_t* t48, buttonBit_t direction) +{ + // Check if any tile moved + bool tileMoved = false; + + // For each row or column + for (int32_t outer = 0; outer < T48_GRID_SIZE; outer++) + { + // Make a slice depending on the slide direction. This is either a row or a column, forwards or backwards + t48cell_t* slice[T48_GRID_SIZE]; + for (int32_t inner = 0; inner < T48_GRID_SIZE; inner++) + { + switch (direction) + { + case PB_LEFT: + { + slice[inner] = &t48->board[inner][outer]; + break; + } + case PB_RIGHT: + { + slice[inner] = &t48->board[T48_GRID_SIZE - inner - 1][outer]; + break; + } + case PB_UP: + { + slice[inner] = &t48->board[outer][inner]; + break; + } + case PB_DOWN: + { + slice[inner] = &t48->board[outer][T48_GRID_SIZE - inner - 1]; + break; + } + default: + { + return false; + } + } + } + + // Clear out merged flags in this slice + for (int32_t idx = 0; idx < T48_GRID_SIZE; idx++) + { + slice[idx]->merged = false; + } + + // Now slide the slice + // Check sources to slide from front to back + for (int32_t src = 1; src < T48_GRID_SIZE; src++) + { + // No tile to move, continue + if (0 == slice[src]->value) + { + continue; + } + + // Keep track of this tile's potential destination + int32_t validDest = src; + + // Check destinations to slide to from back to front + for (int32_t dest = src - 1; dest >= 0; dest--) + { + if (0 == slice[dest]->value) + { + // Free to slide here, then keep checking + validDest = dest; + } + else if (!slice[dest]->merged && (slice[src]->value == slice[dest]->value)) + { + // Slide and merge here + slice[dest]->merged = true; + validDest = dest; + // Merge here, so break + break; + } + else + { + // Can't move further, break + break; + } + } + + // If the destination doesn't match the source + if (validDest != src) + { + // At least one tile moved + tileMoved = true; + + // Set up pixel offset for this tile to animate the slide + int32_t xOffset = 0; + int32_t yOffset = 0; + switch (direction) + { + case PB_LEFT: + { + xOffset = t48_horz_offset(src) - t48_horz_offset(validDest); + break; + } + case PB_RIGHT: + { + xOffset = t48_horz_offset(validDest) - t48_horz_offset(src); + break; + } + case PB_UP: + { + yOffset = t48_vert_offset(src) - t48_vert_offset(validDest); + break; + } + case PB_DOWN: + { + yOffset = t48_vert_offset(validDest) - t48_vert_offset(src); + break; + } + default: + { + return false; + } + } + + // Draw the pre-merge values before the slide animation finishes + // Up to two tiles can be sliding into a single cell! + // Find an empty slot in this cell to store the tile animation state + for (int t = 0; t < T48_TILES_PER_CELL; t++) + { + t48drawnTile_t* tile = &slice[validDest]->drawnTiles[t]; + if (0 == tile->value) + { + // Store tile animation state in the destination + tile->value = slice[src]->value; + tile->xOffset = xOffset; + tile->yOffset = yOffset; + break; + } + } + // Clear tile animation state in the source + memset(slice[src]->drawnTiles, 0, sizeof(slice[src]->drawnTiles)); + + // Move the underlying value (actual game state) + slice[validDest]->value += slice[src]->value; + slice[src]->value = 0; + } + } + } + + // Light LEDs + t48_lightLEDs(t48, tileMoved, direction); + + return tileMoved; +} + +/** + * @brief Checks if any of the cells have reached 2048 + * + * @param t48 Game data + * @return true if a cell is 2048 + * @return false otherwise + */ +static bool t48_checkWin(t48_t* t48) +{ + bool won = false; + for (int32_t id = 0; id < T48_GRID_SIZE * T48_GRID_SIZE; id++) + { + if (t48->board[id / T48_GRID_SIZE][id % T48_GRID_SIZE].value == 2048) + { + won = true; + } + } + return won; +} + +/** + * @brief Checks if any valid moves are left + * + * @param t48 game data + * @return true if the game no longer has viable moves + * @return false otherwise + */ +static bool t48_checkOver(t48_t* t48) +{ + // Check if any cells are open + for (int32_t id = 0; id < T48_GRID_SIZE * T48_GRID_SIZE; id++) + { + if (t48->board[id / T48_GRID_SIZE][id % T48_GRID_SIZE].value == 0) + { + return false; + } + } + // Check if any two consecutive block match vertically + for (uint8_t row = 0; row < T48_GRID_SIZE; row++) + { + for (uint8_t col = 0; col < T48_GRID_SIZE - 1; col++) + { // -1 to account for comparison + if (t48->board[row][col].value == t48->board[row][col + 1].value) + { + return false; + } + } + } + // Check if any two consecutive block match horizontally + for (uint8_t row = 0; row < T48_GRID_SIZE - 1; row++) + { // -1 to account for comparison + for (uint8_t col = 0; col < T48_GRID_SIZE - 1; col++) + { + if (t48->board[row][col].value == t48->board[row + 1][col].value) + { + return false; + } + } + } + // Game is over + return true; +} + +/** + * @brief Draw all of a cell's tiles + * + * @param t48 The game state to draw tiles from + * @param x The X index of the cell on the board + * @param y The Y index of the cell on the board + * @param elapsedUs The time since this was last called, for animation + * @return true if animation is in progress, false if it isn't + */ +static bool t48_drawCellTiles(t48_t* t48, int32_t x, int32_t y, uint32_t elapsedUs) +{ + // Get a reference to the cell + t48cell_t* cell = &t48->board[x][y]; + + // Check if animation is in progress + bool animationInProgress = false; + + // For each tile to draw on this cell (may be multiple in motion) + for (int t = 0; t < T48_TILES_PER_CELL; t++) + { + // Get a reference to the tile + t48drawnTile_t* tile = &cell->drawnTiles[t]; + + // If there is something to draw + if (tile->value) + { + // TODO make this animation microsecond based + + int32_t pxPerFrame = 8; + + // Move tile towards target X + if (tile->xOffset <= -pxPerFrame) + { + tile->xOffset += pxPerFrame; + animationInProgress = true; + } + else if (tile->xOffset >= pxPerFrame) + { + tile->xOffset -= pxPerFrame; + animationInProgress = true; + } + else if (tile->xOffset) + { + tile->xOffset = 0; + animationInProgress = true; + } + + // Move tile towards target Y + if (tile->yOffset <= -pxPerFrame) + { + tile->yOffset += pxPerFrame; + animationInProgress = true; + } + else if (tile->yOffset >= pxPerFrame) + { + tile->yOffset -= pxPerFrame; + animationInProgress = true; + } + else if (tile->yOffset) + { + tile->yOffset = 0; + animationInProgress = true; + } + + // Draw the sprite first + uint16_t x_offset = t48_horz_offset(x) + tile->xOffset; + uint16_t y_offset = t48_vert_offset(y) + tile->yOffset; + wsg_t* tileWsg = &t48->tiles[tileIndices[31 - __builtin_clz(tile->value)]]; + drawWsgSimple(tileWsg, x_offset, y_offset); + + // Draw the text on top + static char buffer[16]; + snprintf(buffer, sizeof(buffer) - 1, "%" PRIu32, tile->value); + uint16_t tWidth = textWidth(&t48->font, buffer); + drawText(&t48->font, c555, buffer, // + x_offset + (T48_CELL_SIZE - tWidth) / 2, // + y_offset + (T48_CELL_SIZE - t48->font.height) / 2); + } + } + return animationInProgress; +} + +/** + * @brief Draws a flash of light to indicate the new tile's spawn location + * + * @param t48 Game Data + * @param elapsedUs Time since last frame + */ +static void t48_drawNewTile(t48_t* t48, uint32_t elapsedUs) +{ + // Add US + t48->nTile.spawnTime += elapsedUs; + + if (t48->nTile.spawnTime >= T48_NEW_SPARKLE_SEQ) + { + t48->nTile.sequence++; + t48->nTile.spawnTime -= T48_NEW_SPARKLE_SEQ; + } + + switch (t48->nTile.sequence) + { + case 0: + case 10: + { + drawWsgSimple(&t48->newSparkles[0], // + t48_horz_offset(t48->nTile.pos.x), // + t48_vert_offset(t48->nTile.pos.y)); + break; + } + case 1: + case 9: + { + drawWsgSimple(&t48->newSparkles[1], // + t48_horz_offset(t48->nTile.pos.x), // + t48_vert_offset(t48->nTile.pos.y)); + break; + } + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + { + drawWsgSimple(&t48->newSparkles[2], // + t48_horz_offset(t48->nTile.pos.x), // + t48_vert_offset(t48->nTile.pos.y)); + break; + } + default: + { + // If no longer inside animation sequence, deactivate + t48->nTile.active = false; + break; + } + } +} + +/** + * @brief Initialize sparkles for a cell + * + * @param t48 The game data to initialize sparkles in + * @param x The X index of the cell on the board + * @param y The Y index of the cell on the board + * @param spr The sprite to use as a sparkle + */ +static void t48_initSparkles(t48_t* t48, int32_t x, int32_t y, wsg_t* spr) +{ + // If there are any active sparkles already, return + for (int32_t sIdx = 0; sIdx < T48_SPARKLES_PER_CELL; sIdx++) + { + t48Sparkle_t* sparkle = &t48->board[x][y].sparkles[sIdx]; + if (sparkle->active) + { + return; + } + } + + // Create an array of possible directions. This ensures no random duplicates. + int32_t directions[T48_SPARKLES_PER_CELL * 2]; + for (int i = 0; i < ARRAY_SIZE(directions); i++) + { + directions[i] = i - (ARRAY_SIZE(directions) / 2); + } + // Shuffle the directions + FisherYatesShuffle(directions, ARRAY_SIZE(directions)); + + // For each sparkle + for (int32_t sIdx = 0; sIdx < T48_SPARKLES_PER_CELL; sIdx++) + { + // Get a reference + t48Sparkle_t* sparkle = &t48->board[x][y].sparkles[sIdx]; + + // Set speed + sparkle->xSpd = directions[sIdx]; + sparkle->ySpd = -8 - (esp_random() % 8); + + // Convert cell coords to pixel space + sparkle->x = t48_horz_offset(x) + T48_CELL_SIZE / 2; + sparkle->y = t48_vert_offset(y) + T48_CELL_SIZE / 2; + + // Set image + sparkle->img = spr; + + // set active + sparkle->active = true; + } +} + +/** + * @brief Draw a cell's sparkles + * + * @param cell The cell to draw sparkles for + * @param elapsedUs The time since this was last called, for animation + * @return true if animation is in progress, false if it isn't + */ +static bool t48_drawSparkles(t48cell_t* cell, uint32_t elapsedUs) +{ + bool animating = false; + + // Draw all this cell's sparkles + for (int32_t sIdx = 0; sIdx < T48_SPARKLES_PER_CELL; sIdx++) + { + // Get a reference to the sparkle + t48Sparkle_t* sparkle = &cell->sparkles[sIdx]; + + // If the sparkle is active + if (sparkle->active) + { + // Deactivate it if it's offscreen + if ((sparkle->y >= TFT_HEIGHT) || (sparkle->x + sparkle->img->w < 0) || (sparkle->x >= TFT_WIDTH)) + { + sparkle->active = false; + } + else + { + // Otherwise move and draw it + // TODO make this animation microsecond based + sparkle->ySpd += 1; + sparkle->y += sparkle->ySpd; + sparkle->x += sparkle->xSpd; + drawWsgSimple(sparkle->img, sparkle->x, sparkle->y); + animating = true; + } + } + } + return animating; +} + +/** + * @brief Get the horizontal pixel offset for a column on the board + * + * @param col The column index + * @return The pixel offset for this column + */ +static int32_t t48_horz_offset(int32_t col) +{ + return col * (T48_CELL_SIZE + T48_LINE_WEIGHT) + T48_SIDE_MARGIN + T48_LINE_WEIGHT; +} + +/** + * @brief Get the horizontal pixel offset for a row on the board + * + * @param row The row index + * @return The pixel offset for this row + */ +static int32_t t48_vert_offset(int32_t row) +{ + return row * (T48_CELL_SIZE + T48_LINE_WEIGHT) + T48_TOP_MARGIN + T48_LINE_WEIGHT; +} + +/** + * @brief Shuffle the items in an array + * + * See https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle + * + * @param array The array to shuffle + * @param size The number of elements in the array to shuffle + */ +static void FisherYatesShuffle(int32_t* array, int32_t size) +{ + // Iterate through the array in reverse order + for (int32_t n = size - 1; n > 0; n--) + { + // Generate a random index 'k' between 0 and n (inclusive) + int32_t k = esp_random() % (n + 1); + + // Swap the elements at indices 'n' and 'k' + int32_t temp = array[n]; + array[n] = array[k]; + array[k] = temp; + } +} + +/** + * @brief Illuminates the LEDs in the directions that the player pressed + * + * @param t48 Game data + * @param tileMoved If the tile moved or bounced + * @param direction Direction tiles moved in + */ +static void t48_lightLEDs(t48_t* t48, bool tileMoved, buttonBit_t direction) +{ + if (tileMoved) + { + // Illuminate LEDS based on direction and value + led_t led = t48_getLEDColor(t48); + switch (direction) + { + case PB_LEFT: + { + // LED 3 and 4 + t48->leds[3] = led; + t48->leds[4] = led; + break; + } + case PB_RIGHT: + { + // LED 0 and 1 + t48->leds[0] = led; + t48->leds[1] = led; + break; + } + case PB_UP: + { + // LEDs 1, 2, 3 + t48->leds[1] = led; + t48->leds[2] = led; + t48->leds[3] = led; + break; + } + case PB_DOWN: + { + // LEDs 4 and 0 + t48->leds[0] = led; + t48->leds[4] = led; + break; + } + default: + { + break; + } + } + } + else + { + for (int32_t i = 0; i < CONFIG_NUM_LEDS; i++) + { + led_t led = {.r = 128, .b = 128, .g = 128}; + t48->leds[i] = led; + } + } +} + +/** + * @brief Gets the correct LED color + * + * @param t48 Game data + * @return led_t The led object containing the colors to load into the LEDs + */ +static led_t t48_getLEDColor(t48_t* t48) +{ + // Get the largest value available + int32_t value = 0; + for (int32_t i = 0; i < T48_GRID_SIZE * T48_GRID_SIZE; i++) + { + if (t48->board[i / T48_GRID_SIZE][i % T48_GRID_SIZE].value > value) + { + value = t48->board[i / T48_GRID_SIZE][i % T48_GRID_SIZE].value; + } + } + led_t col = {0}; + switch (value) + { + case 4: + { + // Cyan + col.g = 255; + col.b = 255; + return col; + } + case 8: + case 8192: + { + // Red + col.r = 255; + return col; + } + case 16: + case 2048: + case 16384: + { + // Green + col.g = 128; + return col; + } + case 2: + case 32: + case 128: + case 131072: + { + // Pink + col.r = 200; + col.g = 150; + col.b = 150; + return col; + } + case 64: + case 512: + { + // Yellow + col.r = 128; + col.g = 128; + return col; + } + case 256: + { + // Orange + col.r = 255; + col.g = 165; + return col; + } + case 1024: + case 65536: + { + // Blue + col.b = 255; + return col; + } + case 4096: + { + // Dark Pink + col.r = 255; + col.g = 64; + col.b = 64; + return col; + } + case 32768: + { + // Purple + col.r = 200; + col.b = 200; + return col; + } + default: + col.r = 255; + col.g = 128; + col.b = 128; + return col; + } +} \ No newline at end of file diff --git a/main/modes/games/2048/2048_game.h b/main/modes/games/2048/2048_game.h new file mode 100644 index 000000000..654a50719 --- /dev/null +++ b/main/modes/games/2048/2048_game.h @@ -0,0 +1,18 @@ +/** + * @file 2048_game.h + * @author Jeremy Stintzcum (jeremy.stintzcum@gmail.com) + * @brief Core of 2048 mode + * @version 1.0.0 + * @date 2024-09-17 + * + * @copyright Copyright (c) 2024 + * + */ + +#pragma once + +#include "mode_2048.h" + +void t48_gameInit(t48_t* t48); +void t48_gameLoop(t48_t* t48, int32_t elapsedUs); +void t48_gameInput(t48_t* t48, buttonBit_t button); diff --git a/main/modes/games/2048/2048_menus.c b/main/modes/games/2048/2048_menus.c new file mode 100644 index 000000000..163db13de --- /dev/null +++ b/main/modes/games/2048/2048_menus.c @@ -0,0 +1,159 @@ +/** + * @file 2048_menus.c + * @author Jeremy Stintzcum (jeremy.stintzcum@gmail.com) + * @brief Handles the initialization and display of non-game screens + * @version 1.0.0 + * @date 2024-09-17 + * + * @copyright Copyright (c) 2024 + * + */ + +//============================================================================== +// Includes +//============================================================================== + +#include "2048_menus.h" + +//============================================================================== +// Const Variables +//============================================================================== + +const char mode[] = "2048"; +static const char pressKey[] = "Press any key to play"; +static const char highScore[] = "You got a high score!"; +static const char pressAB[] = "Press A or B to reset the game"; + +//============================================================================== +// Functions +//============================================================================== + +/** + * @brief Initializes all the blocks for the start screen + * + * @param t48 Game data + */ +void t48_initStartScreen(t48_t* t48) +{ + for (uint8_t i = 0; i < T48_START_SCREEN_BLOCKS; i++) + { + t48->ssBlocks[i].pos.x = esp_random() % (TFT_WIDTH - 50); // -50 because tile width + t48->ssBlocks[i].pos.y = esp_random() % (TFT_HEIGHT - 50); // +25 to re-center + + t48->ssBlocks[i].speed.x = (16667 / 4) + (esp_random() % 32000); + t48->ssBlocks[i].dir.x = (esp_random() % 2) ? -1 : 1; + + t48->ssBlocks[i].speed.y = (16667 / 4) + (esp_random() % 32000); + t48->ssBlocks[i].dir.y = (esp_random() % 2) ? -1 : 1; + } +} + +/** + * @brief Draws the Start screen + * + * @param t48 Game data + * @param color Color of the title text + * @param elapsedUs Time elapsed since last call + */ +void t48_drawStartScreen(t48_t* t48, paletteColor_t color, int32_t elapsedUs) +{ + // Blank + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, c000); + + // Draw random blocks + for (uint8_t i = 0; i < T48_START_SCREEN_BLOCKS; i++) + { + t48StartScreenBlocks_t* block = &t48->ssBlocks[i]; + + // Move + block->timer.x += elapsedUs; + while (block->timer.x >= block->speed.x) + { + block->timer.x -= block->speed.x; + block->pos.x += (block->dir.x); + } + + block->timer.y += elapsedUs; + while (block->timer.y >= block->speed.y) + { + block->timer.y -= block->speed.y; + block->pos.y += (block->dir.y); + } + + // Update coordinates if out of bounds + if (block->pos.x < -50) + { + block->pos.x = TFT_WIDTH; + } + else if (block->pos.x > TFT_WIDTH) + { + block->pos.x = -50; + } + if (block->pos.y < -50) + { + block->pos.y = TFT_HEIGHT; + } + else if (block->pos.y > TFT_HEIGHT) + { + block->pos.y = -50; + } + + // Draw + drawWsgSimple(&t48->tiles[i], block->pos.x, block->pos.y); + } + + // Title + drawText(&t48->titleFont, color, mode, (TFT_WIDTH - textWidth(&t48->titleFont, mode)) / 2, TFT_HEIGHT / 2 - 12); + drawText(&t48->titleFontOutline, c555, mode, (TFT_WIDTH - textWidth(&t48->titleFont, mode)) / 2, + TFT_HEIGHT / 2 - 12); + + // Draw current High Score + static char textBuffer[20]; + snprintf(textBuffer, sizeof(textBuffer) - 1, "High score: %" PRIu32, t48->highScore[0]); + drawText(&t48->font, c444, textBuffer, (TFT_WIDTH - textWidth(&t48->font, textBuffer)) / 2, TFT_HEIGHT - 32); + + // Press any key... + drawText(&t48->font, c555, pressKey, (TFT_WIDTH - textWidth(&t48->font, pressKey)) / 2, TFT_HEIGHT - 64); +} + +/** + * @brief Draws the screen showing all the high scores, player score, and prompts them to continue + * + * @param t48 Game Data + * @param score Player score + * @param pc Color of test to display + */ +void t48_drawGameOverScreen(t48_t* t48, int64_t score, paletteColor_t pc) +{ + // Clear display + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, c000); + + // Draw player score + static char textBuffer[32]; + snprintf(textBuffer, sizeof(textBuffer) - 1, "Final score: %" PRIu64, score); + drawText(&t48->titleFont, c550, textBuffer, 16, 48); + + // Draw high scores + for (int8_t i = 0; i < T48_HS_COUNT; i++) + { + static char initBuff[20]; + static paletteColor_t color; + if (score == t48->highScore[i]) + { + int16_t x = 16; + int16_t y = 80; + drawTextWordWrap(&t48->titleFont, pc, highScore, &x, &y, TFT_WIDTH - 16, y + 120); + color = c500; + } + else + { + color = c444; + } + snprintf(initBuff, sizeof(initBuff) - 1, "%d: %d - ", i + 1, (int)t48->highScore[i]); + strcat(initBuff, t48->hsInitials[i]); + drawText(&t48->font, color, initBuff, 16, TFT_HEIGHT - (98 - (16 * i))); + } + + // Prompt player to continue + drawText(&t48->font, c444, pressAB, 18, TFT_HEIGHT - 16); +} \ No newline at end of file diff --git a/main/modes/games/2048/2048_menus.h b/main/modes/games/2048/2048_menus.h new file mode 100644 index 000000000..32d5706d4 --- /dev/null +++ b/main/modes/games/2048/2048_menus.h @@ -0,0 +1,18 @@ +/** + * @file 2048_menus.h + * @author Jeremy Stintzcum (jeremy.stintzcum@gmail.com) + * @brief Handles the initialization and display of non-game screens + * @version 1.0.0 + * @date 2024-09-17 + * + * @copyright Copyright (c) 2024 + * + */ + +#pragma once + +#include "mode_2048.h" + +void t48_initStartScreen(t48_t* t48); +void t48_drawStartScreen(t48_t* t48, paletteColor_t color, int32_t elapsedUs); +void t48_drawGameOverScreen(t48_t* t48, int64_t score, paletteColor_t pc); \ No newline at end of file diff --git a/main/modes/games/2048/mode_2048.c b/main/modes/games/2048/mode_2048.c new file mode 100644 index 000000000..22d55309f --- /dev/null +++ b/main/modes/games/2048/mode_2048.c @@ -0,0 +1,498 @@ +/** + * @file mode_2048.c + * @author Jeremy Stintzcum (jeremy.stintzcum@gmail.com) + * @brief A game of 2048 for 2024-2025 Swadge hardware + * @version 1.5.0 + * @date 2024-06-28 + * + * @copyright Copyright (c) 2024 + * + */ + +//============================================================================== +// Includes +//============================================================================== + +#include "mode_2048.h" +#include "2048_game.h" +#include "2048_menus.h" +#include "textEntry.h" + +//============================================================================== +// Function Prototypes +//============================================================================== + +static void t48EnterMode(void); +static void t48ExitMode(void); +static void t48MainLoop(int64_t elapsedUs); +static void t48BgmCb(void); +static void t48InitHighScores(void); +static void t48SortHighScores(void); +static paletteColor_t t48_generateRainbow(void); +static void t48_fadeLEDs(int32_t elapsedUs); +static void t48_chaseLEDs(int32_t elapseUs); +static led_t t48_randColor(void); + +//============================================================================== +// Const Variables +//============================================================================== + +const char modeName[] = "2048"; +static const char youWin[] = "You got 2048!"; +static const char continueAB[] = "Press A or B to continue"; + +static const char* tileSpriteNames[] = { + "Tile-Blue-Diamond.wsg", "Tile-Blue-Square.wsg", "Tile-Cyan-Legs.wsg", "Tile-Green-Diamond.wsg", + "Tile-Green-Octo.wsg", "Tile-Green-Square.wsg", "Tile-Mauve-Legs.wsg", "Tile-Orange-Legs.wsg", + "Tile-Pink-Diamond.wsg", "Tile-Pink-Octo.wsg", "Tile-Pink-Square.wsg", "Tile-Purple-Legs.wsg", + "Tile-Red-Octo.wsg", "Tile-Red-Square.wsg", "Tile-Yellow-Diamond.wsg", "Tile-Yellow-Octo.wsg", +}; + +static const char* sparkleSpriteNames[] = { + "Sparkle_Blue.wsg", "Sparkle_Cyan.wsg", "Sparkle_Green.wsg", "Sparkle_Orange.wsg", + "Sparkle_Pink.wsg", "Sparkle_Purple.wsg", "Sparkle_Red.wsg", "Sparkle_Yellow.wsg", +}; + +static const char* newSparkleSprNames[] = { + "New_Dot.wsg", + "New_Small_Star.wsg", + "New_Med_Star.wsg", +}; + +const char highScoreKey[T48_HS_COUNT][T48_HS_KEYLEN] = { + "t48HighScore0", "t48HighScore1", "t48HighScore2", "t48HighScore3", "t48HighScore4", +}; + +const char highScoreInitialsKey[T48_HS_COUNT][T48_HS_KEYLEN] = { + "t48HSInitial0", "t48HSInitial1", "t48HSInitial2", "t48HSInitial3", "t48HSInitial4", +}; + +//============================================================================== +// Variables +//============================================================================== + +swadgeMode_t t48Mode = { + .modeName = modeName, + .wifiMode = NO_WIFI, + .overrideUsb = false, + .usesAccelerometer = false, + .usesThermometer = false, + .overrideSelectBtn = false, + .fnEnterMode = t48EnterMode, + .fnExitMode = t48ExitMode, + .fnMainLoop = t48MainLoop, + .fnAudioCallback = NULL, + .fnBackgroundDrawCallback = NULL, + .fnEspNowRecvCb = NULL, + .fnEspNowSendCb = NULL, + .fnAdvancedUSB = NULL, +}; + +t48_t* t48; + +//============================================================================== +// Functions +//============================================================================== + +/** + * @brief Enter 2048 mode and set everything up + */ +static void t48EnterMode(void) +{ + setFrameRateUs(16667); // 60 FPS + + // Init Mode & resources + t48 = calloc(sizeof(t48_t), 1); + + // Load fonts + loadFont("ibm_vga8.font", &t48->font, false); + loadFont("sonic.font", &t48->titleFont, false); + makeOutlineFont(&t48->titleFont, &t48->titleFontOutline, false); + + // Load images + t48->tiles = calloc(ARRAY_SIZE(tileSpriteNames), sizeof(wsg_t)); + for (int32_t tIdx = 0; tIdx < ARRAY_SIZE(tileSpriteNames); tIdx++) + { + loadWsg(tileSpriteNames[tIdx], &t48->tiles[tIdx], true); + } + + t48->sparkleSprites = calloc(ARRAY_SIZE(sparkleSpriteNames), sizeof(wsg_t)); + for (int32_t sIdx = 0; sIdx < ARRAY_SIZE(sparkleSpriteNames); sIdx++) + { + loadWsg(sparkleSpriteNames[sIdx], &t48->sparkleSprites[sIdx], true); + } + + t48->newSparkles = calloc(ARRAY_SIZE(newSparkleSprNames), sizeof(wsg_t)); + for (int32_t sIdx = 0; sIdx < ARRAY_SIZE(newSparkleSprNames); sIdx++) + { + loadWsg(newSparkleSprNames[sIdx], &t48->newSparkles[sIdx], true); + } + + // Load sounds + loadMidiFile("Follinesque.mid", &t48->bgm, true); + loadMidiFile("sndBounce.mid", &t48->click, true); + + // Init Text Entry + textEntryInit(&t48->font, 4, t48->playerInitials); + textEntrySetBGColor(c001); + textEntrySetEmphasisColor(c500); + textEntrySetNewCapsStyle(true); + textEntrySetNewEnterStyle(true); + textEntrySetCapMode(); + + // Initialize the scores + t48InitHighScores(); + + // Initialize the game + t48->state = T48_START_SCREEN; + t48_initStartScreen(t48); +} + +/** + * @brief Exit 2048 mode and free all resources + */ +static void t48ExitMode(void) +{ + freeFont(&t48->titleFontOutline); + freeFont(&t48->titleFont); + freeFont(&t48->font); + + for (uint8_t i = 0; i < ARRAY_SIZE(sparkleSpriteNames); i++) + { + freeWsg(&t48->sparkleSprites[i]); + } + free(t48->sparkleSprites); + + for (uint8_t i = 0; i < ARRAY_SIZE(tileSpriteNames); i++) + { + freeWsg(&t48->tiles[i]); + } + free(t48->tiles); + + for (int32_t sIdx = 0; sIdx < ARRAY_SIZE(newSparkleSprNames); sIdx++) + { + freeWsg(&t48->newSparkles[sIdx]); + } + free(t48->newSparkles); + + soundStop(true); + unloadMidiFile(&t48->bgm); + unloadMidiFile(&t48->click); + + free(t48); +} + +/** + * @brief The main game loop, responsible for input handling, game logic, and animation + * + * @param elapsedUs The time since this was last called, for animation + */ +static void t48MainLoop(int64_t elapsedUs) +{ + // Dim LEDs + t48_fadeLEDs(elapsedUs); + + // Play BGM if it's not playing + if (!t48->bgmIsPlaying) + { + soundPlayBgmCb(&t48->bgm, MIDI_BGM, t48BgmCb); + t48->bgmIsPlaying = true; + } + + // Handle inputs + buttonEvt_t evt; + switch (t48->state) + { + case T48_IN_GAME: + { + // Get inputs + while (checkButtonQueueWrapper(&evt)) + { + if (evt.down) + { + // Process inputs + t48_gameInput(t48, evt.button); + } + } + + // Loop the game + t48_gameLoop(t48, elapsedUs); + break; + } + case T48_START_SCREEN: + { + // Check any button is pressed + while (checkButtonQueueWrapper(&evt)) + { + if (evt.down) + { + soundPlaySfx(&t48->click, MIDI_SFX); + t48_gameInit(t48); + t48->state = T48_IN_GAME; + } + } + // Draw + t48_drawStartScreen(t48, t48_generateRainbow(), elapsedUs); + t48_chaseLEDs(elapsedUs); + break; + } + case T48_WIN_SCREEN: + { + // Get inputs + while (checkButtonQueueWrapper(&evt)) + { + if (evt.down && (evt.button & PB_A || evt.button & PB_B)) + { + t48->state = T48_IN_GAME; + } + } + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, c000); + drawText(&t48->titleFont, c055, youWin, (TFT_WIDTH - textWidth(&t48->titleFont, youWin)) / 2, 48); + drawText(&t48->font, c555, continueAB, (TFT_WIDTH - textWidth(&t48->font, continueAB)) / 2, + TFT_HEIGHT - 64); + break; + } + case T48_HS_SCREEN: + { + // Handle input in text entry object + while (checkButtonQueueWrapper(&evt)) + { + t48->textEntryDone = !textEntryInput(evt.down, evt.button); + } + + // If the text entry is done, sort the scores, reset the text entry object, + // and display the final screen + if (t48->textEntryDone) + { + t48SortHighScores(); + textEntrySoftReset(); + t48->state = T48_END_SCREEN; + } + + // Draw text entry + textEntryDraw(elapsedUs); + break; + } + case T48_END_SCREEN: + { + // Check any button is pressed + while (checkButtonQueueWrapper(&evt)) + { + if (evt.down && (evt.button & PB_A || evt.button & PB_B)) + { + soundPlaySfx(&t48->click, MIDI_SFX); + t48->state = T48_START_SCREEN; + } + } + + // Draw the final score screen + t48_drawGameOverScreen(t48, t48->score, t48_generateRainbow()); + t48_chaseLEDs(elapsedUs); + break; + } + default: + { + break; + } + } +} + +/** + * @brief Restarts the BGM once the track ends + * + */ +static void t48BgmCb() +{ + t48->bgmIsPlaying = false; +} + +/** + * @brief Initializes the high scores based either from NVS or predetermined scores to beat + * + */ +static void t48InitHighScores() +{ + // Init High scores + for (int8_t i = 0; i < T48_HS_COUNT; i++) + { + if (!readNvs32(highScoreKey[i], &t48->highScore[i])) + { + switch (i) + { + case 0: + t48->highScore[i] = 96880; + break; + case 1: + t48->highScore[i] = 69224; + break; + case 2: + t48->highScore[i] = 24244; + break; + case 3: + t48->highScore[i] = 11020; + break; + case 4: + t48->highScore[i] = 5176; + break; + } + writeNvs32(highScoreKey[i], t48->highScore[i]); + } + size_t len = 4; + if (!readNvsBlob(highScoreInitialsKey[i], &t48->hsInitials[i], &len)) + { + static char buff[5]; + switch (i) + { + case 0: + strcpy(buff, "JW"); + break; + case 1: + strcpy(buff, "Pan"); + break; + case 2: + strcpy(buff, "Pix"); + break; + case 3: + strcpy(buff, "Poe"); + break; + case 4: + strcpy(buff, "DrG"); + break; + } + strcpy(t48->hsInitials[i], buff); + writeNvsBlob(highScoreInitialsKey[i], &t48->hsInitials[i], len); + } + } +} + +/** + * @brief Sorts the high scores and saves them to the NVM at the end of a game + * + */ +static void t48SortHighScores() +{ + // 5th place needs to compare to the score + if (t48->highScore[T48_HS_COUNT - 1] < t48->score) + { + t48->highScore[T48_HS_COUNT - 1] = t48->score; + strcpy(t48->hsInitials[T48_HS_COUNT - 1], t48->playerInitials); + } + else + { + // Scores *should* be sorted already. Save cycles. + return; + } + for (int8_t i = T48_HS_COUNT - 2; i >= 0; i--) + { + if (t48->highScore[i] < t48->highScore[i + 1]) + { + // Swap + int32_t swap = t48->highScore[i]; + t48->highScore[i] = t48->highScore[i + 1]; + t48->highScore[i + 1] = swap; + char swapI[4]; + strcpy(swapI, t48->hsInitials[i]); + strcpy(t48->hsInitials[i], t48->hsInitials[i + 1]); + strcpy(t48->hsInitials[i + 1], swapI); + } + } + // Save out the new scores + for (int8_t i = 0; i < T48_HS_COUNT; i++) + { + writeNvs32(highScoreKey[i], t48->highScore[i]); + writeNvsBlob(highScoreInitialsKey[i], &t48->hsInitials[i], 4); + } +} + +/** + * @brief Generates a rainbow color in sequence + * + * @return paletteColor_t + */ +static paletteColor_t t48_generateRainbow() +{ + uint8_t hue = t48->hue++; + uint8_t sat = 255; + uint8_t val = 255; + return paletteHsvToHex(hue, sat, val); +} + +/** + * @brief Dims the LEDs uniformly over time + * + * @param t48 Game data + * @param elapsedUs Time since last frame + */ +static void t48_fadeLEDs(int32_t elapsedUs) +{ + t48->fadeTimer += elapsedUs; + while (t48->fadeTimer >= T48_FADE_SPEED) + { + t48->fadeTimer -= T48_FADE_SPEED; + for (int32_t i = 0; i < CONFIG_NUM_LEDS; i++) + { + // Red + if (t48->leds[i].r < 6) + { + t48->leds[i].r = 0; + } + else + { + t48->leds[i].r -= 6; + } + // Green + if (t48->leds[i].g < 6) + { + t48->leds[i].g = 0; + } + else + { + t48->leds[i].g -= 6; + } + // Blue + if (t48->leds[i].b < 6) + { + t48->leds[i].b = 0; + } + else + { + t48->leds[i].b -= 6; + } + } + } + setLeds(t48->leds, CONFIG_NUM_LEDS); +} + +/** + * @brief Chase LEDs around the swadge + * + * @param elapseUs Time since last update + */ +static void t48_chaseLEDs(int32_t elapseUs) +{ + t48->nextLedTimer += elapseUs; + if (t48->nextLedTimer >= T48_NEXT_LED) + { + t48->nextLedTimer = 0; + t48->currLED++; + if (t48->currLED > CONFIG_NUM_LEDS - 1) + { + t48->currLED = 0; + } + t48->leds[t48->currLED] = t48_randColor(); + } +} + +/** + * @brief Generates a random LED color + * + * @return led_t Led object to set array to + */ +led_t t48_randColor() +{ + led_t col = {0}; + col.r = 128 + (esp_random() % 127); + col.g = 128 + (esp_random() % 127); + col.b = 128 + (esp_random() % 127); + return col; +} \ No newline at end of file diff --git a/main/modes/games/2048/mode_2048.h b/main/modes/games/2048/mode_2048.h new file mode 100644 index 000000000..8064c0623 --- /dev/null +++ b/main/modes/games/2048/mode_2048.h @@ -0,0 +1,147 @@ +/** + * @file mode_2048.h + * @author Jeremy Stintzcum (jeremy.stintzcum@gmail.com) + * @brief A game of 2048 for 2024-2025 Swadge hardware + * @version 1.5.0 + * @date 2024-06-28 + * + * @copyright Copyright (c) 2024 + * + */ +#pragma once + +//============================================================================== +// Includes +//============================================================================== + +#include + +#include "swadge2024.h" + +//============================================================================== +// Defines +//============================================================================== + +// Animations +#define T48_GRID_SIZE 4 +#define T48_TILES_PER_CELL 2 +#define T48_SPARKLES_PER_CELL 32 + +// Animation +#define T48_NEW_SPARKLE_SEQ 33333 +#define T48_START_SCREEN_BLOCKS 16 + +// High Scores +#define T48_HS_COUNT 5 +#define T48_HS_KEYLEN 14 + +// LEDs +#define T48_FADE_SPEED 66666 +#define T48_NEXT_LED 100000 + +//============================================================================== +// Enums +//============================================================================== + +typedef enum +{ + T48_IN_GAME, + T48_START_SCREEN, + T48_WIN_SCREEN, + T48_HS_SCREEN, + T48_END_SCREEN, +} t48ModeStateEnum_t; + +//============================================================================== +// Structs +//============================================================================== + +typedef struct +{ + uint32_t value; ///< The current value for the tile being drawn + int32_t xOffset; ///< The X offset from the cell for this tile + int32_t yOffset; ///< The Y offset from the cell for this tile +} t48drawnTile_t; + +typedef struct +{ + wsg_t* img; ///< A pointer to an image of a sparkle + int16_t x; ///< The sparkle's X coordinate (screen space) + int16_t y; ///< The sparkle's Y coordinate (screen space) + int16_t xSpd; ///< The number of X pixels to move per-frame + int16_t ySpd; ///< The number of Y pixels to move per-frame + bool active; ///< True if the spark is being animated and drawn +} t48Sparkle_t; + +typedef struct +{ + int32_t value; ///< This cell's current value + t48drawnTile_t drawnTiles[T48_TILES_PER_CELL]; ///< All the tiles being drawn for this cell + t48Sparkle_t sparkles[T48_SPARKLES_PER_CELL]; ///< All the sparkles being drawn for this cell + bool merged; ///< If tile was merged +} t48cell_t; + +typedef struct +{ + vec_t pos; ///< x and y coordinates of the new tile + int32_t spawnTime; ///< Time since the object was created + bool active; ///< If the new tile should be drawing anything + int8_t sequence; ///< Current position in the sequence +} t48newTile_t; + +typedef struct +{ + vec_t pos; + vec_t timer; + vec_t speed; + vec_t dir; +} t48StartScreenBlocks_t; + +typedef struct +{ + // Assets + font_t font; ///< Font used for tile values + font_t titleFont; ///< Font used for the title + font_t titleFontOutline; ///< Font used for the title outline + wsg_t* tiles; ///< A list of tile sprites + wsg_t* sparkleSprites; ///< A list of sparkle sprites + wsg_t* newSparkles; ///< New sparkles for a new tile + midiFile_t bgm; ///< The background music + midiFile_t click; ///< The click sound + + // Game state + t48cell_t board[T48_GRID_SIZE][T48_GRID_SIZE]; ///< The board with cells, tiles, and sparkles + int32_t score; ///< The current score + bool acceptGameInput; ///< true if the game accepts input, false if it is animating + bool paused; ///< If the game is paused + bool alreadyWon; ///< If the win screen has already displayed + t48ModeStateEnum_t state; ///< Where in the game sequence we are + + // Audio + bool bgmIsPlaying; ///< Allows the BGM to restart + + // High Score + char playerInitials[4]; ///< Contains the play initials + char hsInitials[T48_HS_COUNT][4]; ///< Contains all the high score initials + bool textEntryDone; ///< Tested when checking if text entry is finished + int32_t highScore[T48_HS_COUNT]; ///< Array of high scores + + // Start screen + uint8_t hue; ///< Color of the title text + + // Animations + t48newTile_t nTile; ///< New tile animation data + t48StartScreenBlocks_t ssBlocks[T48_START_SCREEN_BLOCKS]; ///< Start screen falling blocks + + // LEDs + led_t leds[CONFIG_NUM_LEDS]; ///< LEDs to set + int32_t fadeTimer; ///< Timer between fades + int32_t nextLedTimer; ///< Timer before the next LED illuminates + uint8_t currLED; ///< Index of the led for the chase mode +} t48_t; + +//============================================================================== +// Extern variables +//============================================================================== + +extern swadgeMode_t t48Mode; diff --git a/main/modes/system/mainMenu/mainMenu.c b/main/modes/system/mainMenu/mainMenu.c index 83ae4eb0a..9c6ac3bdd 100644 --- a/main/modes/system/mainMenu/mainMenu.c +++ b/main/modes/system/mainMenu/mainMenu.c @@ -23,6 +23,7 @@ #include "touchTest.h" #include "tunernome.h" #include "keebTest.h" +#include "mode_2048.h" #include "settingsManager.h" @@ -152,6 +153,7 @@ static void mainMenuEnterMode(void) mainMenu->menu = startSubMenu(mainMenu->menu, "Games"); addSingleItemToMenu(mainMenu->menu, tttMode.modeName); addSingleItemToMenu(mainMenu->menu, pinballMode.modeName); + addSingleItemToMenu(mainMenu->menu, t48Mode.modeName); addSingleItemToMenu(mainMenu->menu, bigbugMode.modeName); mainMenu->menu = endSubMenu(mainMenu->menu); @@ -382,6 +384,10 @@ static void mainMenuCb(const char* label, bool selected, uint32_t settingVal) { switchToSwadgeMode(&tunernomeMode); } + else if (label == t48Mode.modeName) + { + switchToSwadgeMode(&t48Mode); + } else if (label == factoryResetName) { if (!mainMenu->resetConfirmShown) From 69615ad90c758d4de1755edcbc83568ec72a7a8c Mon Sep 17 00:00:00 2001 From: gelakinetic Date: Thu, 19 Sep 2024 06:29:38 -0400 Subject: [PATCH 06/13] Add pinball to the attic But get a few nice things along the way --- .../games => attic}/pinball/mode_pinball.c | 97 +-- attic/pinball/mode_pinball.h | 28 + attic/pinball/pinball_circle.c | 80 ++ attic/pinball/pinball_circle.h | 10 + attic/pinball/pinball_draw.c | 153 ++++ attic/pinball/pinball_draw.h | 7 + attic/pinball/pinball_flipper.c | 106 +++ attic/pinball/pinball_flipper.h | 9 + attic/pinball/pinball_game.c | 500 +++++++++++ attic/pinball/pinball_game.h | 19 + attic/pinball/pinball_line.c | 140 ++++ attic/pinball/pinball_line.h | 8 + attic/pinball/pinball_physics.c | 461 +++++++++++ attic/pinball/pinball_physics.h | 6 + attic/pinball/pinball_point.c | 25 + attic/pinball/pinball_point.h | 6 + attic/pinball/pinball_rectangle.c | 65 ++ attic/pinball/pinball_rectangle.h | 9 + attic/pinball/pinball_triangle.c | 45 + attic/pinball/pinball_triangle.h | 7 + attic/pinball/pinball_typedef.h | 165 ++++ emulator/src/extensions/modes/ext_modes.c | 2 - main/CMakeLists.txt | 22 +- main/modes/games/pinball/mode_pinball.h | 111 --- main/modes/games/pinball/pinball_draw.c | 134 --- main/modes/games/pinball/pinball_draw.h | 6 - main/modes/games/pinball/pinball_physics.c | 771 ----------------- main/modes/games/pinball/pinball_physics.h | 16 - main/modes/games/pinball/pinball_test.c | 316 ------- main/modes/games/pinball/pinball_test.h | 9 - main/modes/games/pinball/pinball_zones.c | 178 ---- main/modes/games/pinball/pinball_zones.h | 9 - main/modes/music/jukebox/jukebox.c | 1 - main/modes/system/mainMenu/mainMenu.c | 6 - main/utils/fl_math/vectorFl2d.c | 17 +- main/utils/fl_math/vectorFl2d.h | 1 + main/utils/macros.h | 29 +- makefile | 2 +- tools/svg-to-pinball/.gitignore | 4 + tools/svg-to-pinball/.vscode/launch.json | 15 + tools/svg-to-pinball/.vscode/settings.json | 7 + tools/svg-to-pinball/README.md | 55 ++ tools/svg-to-pinball/gentable.sh | 8 + tools/svg-to-pinball/pinball.svg | 778 ++++++++++++++++++ tools/svg-to-pinball/requirements.txt | 1 + tools/svg-to-pinball/svg-to-pinball.py | 487 +++++++++++ 46 files changed, 3282 insertions(+), 1649 deletions(-) rename {main/modes/games => attic}/pinball/mode_pinball.c (53%) create mode 100644 attic/pinball/mode_pinball.h create mode 100644 attic/pinball/pinball_circle.c create mode 100644 attic/pinball/pinball_circle.h create mode 100644 attic/pinball/pinball_draw.c create mode 100644 attic/pinball/pinball_draw.h create mode 100644 attic/pinball/pinball_flipper.c create mode 100644 attic/pinball/pinball_flipper.h create mode 100644 attic/pinball/pinball_game.c create mode 100644 attic/pinball/pinball_game.h create mode 100644 attic/pinball/pinball_line.c create mode 100644 attic/pinball/pinball_line.h create mode 100644 attic/pinball/pinball_physics.c create mode 100644 attic/pinball/pinball_physics.h create mode 100644 attic/pinball/pinball_point.c create mode 100644 attic/pinball/pinball_point.h create mode 100644 attic/pinball/pinball_rectangle.c create mode 100644 attic/pinball/pinball_rectangle.h create mode 100644 attic/pinball/pinball_triangle.c create mode 100644 attic/pinball/pinball_triangle.h create mode 100644 attic/pinball/pinball_typedef.h delete mode 100644 main/modes/games/pinball/mode_pinball.h delete mode 100644 main/modes/games/pinball/pinball_draw.c delete mode 100644 main/modes/games/pinball/pinball_draw.h delete mode 100644 main/modes/games/pinball/pinball_physics.c delete mode 100644 main/modes/games/pinball/pinball_physics.h delete mode 100644 main/modes/games/pinball/pinball_test.c delete mode 100644 main/modes/games/pinball/pinball_test.h delete mode 100644 main/modes/games/pinball/pinball_zones.c delete mode 100644 main/modes/games/pinball/pinball_zones.h create mode 100755 tools/svg-to-pinball/.gitignore create mode 100755 tools/svg-to-pinball/.vscode/launch.json create mode 100755 tools/svg-to-pinball/.vscode/settings.json create mode 100755 tools/svg-to-pinball/README.md create mode 100755 tools/svg-to-pinball/gentable.sh create mode 100755 tools/svg-to-pinball/pinball.svg create mode 100755 tools/svg-to-pinball/requirements.txt create mode 100755 tools/svg-to-pinball/svg-to-pinball.py diff --git a/main/modes/games/pinball/mode_pinball.c b/attic/pinball/mode_pinball.c similarity index 53% rename from main/modes/games/pinball/mode_pinball.c rename to attic/pinball/mode_pinball.c index 49f4a05df..2a41750dc 100644 --- a/main/modes/games/pinball/mode_pinball.c +++ b/attic/pinball/mode_pinball.c @@ -6,10 +6,19 @@ #include #include "mode_pinball.h" -#include "pinball_zones.h" +#include "pinball_game.h" #include "pinball_physics.h" #include "pinball_draw.h" -#include "pinball_test.h" + +//============================================================================== +// Structs +//============================================================================== + +typedef struct +{ + pbScene_t scene; + font_t ibm; +} pinball_t; //============================================================================== // Function Prototypes @@ -60,38 +69,10 @@ static void pinEnterMode(void) // Allocate all the memory pinball = calloc(sizeof(pinball_t), 1); - pinball->balls = heap_caps_calloc(MAX_NUM_BALLS, sizeof(pbCircle_t), MALLOC_CAP_SPIRAM); - pinball->bumpers = heap_caps_calloc(MAX_NUM_BUMPERS, sizeof(pbCircle_t), MALLOC_CAP_SPIRAM); - pinball->walls = heap_caps_calloc(MAX_NUM_WALLS, sizeof(pbLine_t), MALLOC_CAP_SPIRAM); - pinball->flippers = heap_caps_calloc(MAX_NUM_FLIPPERS, sizeof(pbFlipper_t), MALLOC_CAP_SPIRAM); - - pinball->ballsTouching = heap_caps_calloc(MAX_NUM_BALLS, sizeof(pbTouchRef_t*), MALLOC_CAP_SPIRAM); - for (uint32_t i = 0; i < MAX_NUM_BALLS; i++) - { - pinball->ballsTouching[i] = heap_caps_calloc(MAX_NUM_TOUCHES, sizeof(pbTouchRef_t), MALLOC_CAP_SPIRAM); - } - - // Split the table into zones - createTableZones(pinball); - - // Create random balls - createRandomBalls(pinball, 0); - pbCreateBall(pinball, 6, 114); - pbCreateBall(pinball, 274, 114); - pbCreateBall(pinball, 135, 10); + loadFont("ibm_vga8.font", &pinball->ibm, false); - // Create random bumpers - createRandomBumpers(pinball, 0); - - // Create random walls - createRandomWalls(pinball, 0); - - // Create flippers - createFlipper(pinball, TFT_WIDTH / 2 - 50, 200, true); - createFlipper(pinball, TFT_WIDTH / 2 + 50, 200, false); - - // Load font - loadFont("ibm_vga8.font", &pinball->ibm_vga8, false); + pbSceneInit(&pinball->scene); + pbStartBall(&pinball->scene); } /** @@ -100,19 +81,8 @@ static void pinEnterMode(void) */ static void pinExitMode(void) { - for (uint32_t i = 0; i < MAX_NUM_BALLS; i++) - { - free(pinball->ballsTouching[i]); - } - free(pinball->ballsTouching); - - free(pinball->balls); - free(pinball->walls); - free(pinball->bumpers); - free(pinball->flippers); - // Free font - freeFont(&pinball->ibm_vga8); - // Free the rest of the state + freeFont(&pinball->ibm); + pbSceneDestroy(&pinball->scene); free(pinball); } @@ -123,37 +93,25 @@ static void pinExitMode(void) */ static void pinMainLoop(int64_t elapsedUs) { - // Make a local copy for speed - pinball_t* p = pinball; - - // Check all queued button events - buttonEvt_t evt; + // Handle inputs + buttonEvt_t evt = {0}; while (checkButtonQueueWrapper(&evt)) { - if (PB_RIGHT == evt.button) + if (evt.down && PB_START == evt.button) { - p->flippers[1].buttonHeld = evt.down; + pbSceneDestroy(&pinball->scene); + pbSceneInit(&pinball->scene); } - else if (PB_LEFT == evt.button) + else { - p->flippers[0].buttonHeld = evt.down; + pbButtonPressed(&pinball->scene, &evt); } } - // Only check physics once per frame - p->frameTimer += elapsedUs; - while (p->frameTimer >= PIN_US_PER_FRAME) - { - p->frameTimer -= PIN_US_PER_FRAME; - updatePinballPhysicsFrame(pinball); - } - - // Always draw foreground to prevent flicker - pinballDrawForeground(pinball); - - // Log frame time for FPS - p->frameTimesIdx = (p->frameTimesIdx + 1) % NUM_FRAME_TIMES; - p->frameTimes[p->frameTimesIdx] = esp_timer_get_time(); + pbSimulate(&pinball->scene, elapsedUs); + pbGameTimers(&pinball->scene, elapsedUs); + pbAdjustCamera(&pinball->scene); + pbSceneDraw(&pinball->scene, &pinball->ibm); } /** @@ -168,5 +126,4 @@ static void pinMainLoop(int64_t elapsedUs) */ static void pinBackgroundDrawCallback(int16_t x, int16_t y, int16_t w, int16_t h, int16_t up, int16_t upNum) { - pinballDrawBackground(pinball, x, y, w, h); } diff --git a/attic/pinball/mode_pinball.h b/attic/pinball/mode_pinball.h new file mode 100644 index 000000000..e170e8c86 --- /dev/null +++ b/attic/pinball/mode_pinball.h @@ -0,0 +1,28 @@ +#pragma once + +//============================================================================== +// Includes +//============================================================================== + +#include +#include "swadge2024.h" + +//============================================================================== +// Defines +//============================================================================== + +#define PIN_US_PER_FRAME 16667 + +//============================================================================== +// Enums +//============================================================================== + +//============================================================================== +// Structs +//============================================================================== + +//============================================================================== +// Extern variables +//============================================================================== + +extern swadgeMode_t pinballMode; diff --git a/attic/pinball/pinball_circle.c b/attic/pinball/pinball_circle.c new file mode 100644 index 000000000..a606799d6 --- /dev/null +++ b/attic/pinball/pinball_circle.c @@ -0,0 +1,80 @@ +#include "pinball_circle.h" +#include "pinball_rectangle.h" + +/** + * @brief TODO doc + * + * @param tableData + * @param scene + * @return uint32_t + */ +uint32_t readCircleFromFile(uint8_t* tableData, pbScene_t* scene) +{ + pbCircle_t* circle = &scene->circles[scene->numCircles++]; + + uint32_t dIdx = 0; + circle->id = readInt16(tableData, &dIdx); + circle->groupId = readInt8(tableData, &dIdx); + circle->group = addToGroup(scene, circle, circle->groupId); + circle->pos.x = readInt16(tableData, &dIdx); + circle->pos.y = readInt16(tableData, &dIdx); + circle->radius = readInt8(tableData, &dIdx); + circle->type = readInt8(tableData, &dIdx); + circle->pushVel = readInt8(tableData, &dIdx); + + return dIdx; +} + +/** + * @brief Simulate a ball's motion + * + * @param ball + * @param dt + * @param scene + */ +void pbBallSimulate(pbBall_t* ball, int32_t elapsedUs, float dt, pbScene_t* scene) +{ + if (ball->scoopTimer <= 0) + { + ball->vel = addVecFl2d(ball->vel, mulVecFl2d(scene->gravity, dt)); + ball->pos = addVecFl2d(ball->pos, mulVecFl2d(ball->vel, dt)); + } + else + { + ball->scoopTimer -= elapsedUs; + + if (ball->scoopTimer <= 0) + { + // Respawn in the launch tube + for (int32_t pIdx = 0; pIdx < scene->numPoints; pIdx++) + { + pbPoint_t* point = &scene->points[pIdx]; + if (PB_BALL_SPAWN == point->type) + { + ball->pos = point->pos; + break; + } + } + + pbOpenLaunchTube(scene, true); + + // Give the ball initial velocity + ball->vel.x = 0; + ball->vel.y = MAX_LAUNCHER_VELOCITY; + } + } +} + +/** + * @brief TODO + * + * @param circle + * @param elapsedUs + */ +void pbCircleTimer(pbCircle_t* circle, int32_t elapsedUs) +{ + if (circle->litTimer > 0) + { + circle->litTimer -= elapsedUs; + } +} diff --git a/attic/pinball/pinball_circle.h b/attic/pinball/pinball_circle.h new file mode 100644 index 000000000..53132f731 --- /dev/null +++ b/attic/pinball/pinball_circle.h @@ -0,0 +1,10 @@ +#pragma once + +#include "pinball_typedef.h" +#include "pinball_game.h" + +#define PINBALL_RADIUS 8 + +uint32_t readCircleFromFile(uint8_t* tableData, pbScene_t* scene); +void pbBallSimulate(pbBall_t* ball, int32_t elapsedUs, float dt, pbScene_t* scene); +void pbCircleTimer(pbCircle_t* circle, int32_t elapsedUs); diff --git a/attic/pinball/pinball_draw.c b/attic/pinball/pinball_draw.c new file mode 100644 index 000000000..155741306 --- /dev/null +++ b/attic/pinball/pinball_draw.c @@ -0,0 +1,153 @@ +#include "hdw-tft.h" +#include "shapes.h" + +#include "pinball_draw.h" +#include "pinball_line.h" +#include "pinball_circle.h" +#include "pinball_rectangle.h" +#include "pinball_flipper.h" + +/** + * @brief TODO doc + * + * @param scene + */ +void pbAdjustCamera(pbScene_t* scene) +{ + // No balls? No camera adjustment! + if (0 == scene->balls.length) + { + return; + } + + // Find the ball lowest on the table + float lowestBallX = 0; + float lowestBallY = 0; + + node_t* ballNode = scene->balls.first; + while (ballNode) + { + pbBall_t* ball = ballNode->val; + if (ball->pos.y > lowestBallY) + { + lowestBallX = ball->pos.x; + lowestBallY = ball->pos.y; + } + ballNode = ballNode->next; + } + + // Adjust the lowest ball's position to screen coordinates + lowestBallY -= scene->cameraOffset.y; + +#define PIN_CAMERA_BOUND_UPPER ((TFT_HEIGHT) / 4) +#define PIN_CAMERA_BOUND_LOWER ((3 * TFT_HEIGHT) / 4) + + // If the lowest ball is lower than the boundary + if (lowestBallY > PIN_CAMERA_BOUND_LOWER) + { + // Pan the camera down + if (scene->cameraOffset.y < scene->tableDim.y - TFT_HEIGHT) + { + scene->cameraOffset.y += (lowestBallY - PIN_CAMERA_BOUND_LOWER); + } + } + // If the lowest ball is higher than the other boundary + else if (lowestBallY < PIN_CAMERA_BOUND_UPPER) + { + // Pan the camera up + if (scene->cameraOffset.y > 0) + { + scene->cameraOffset.y -= (PIN_CAMERA_BOUND_UPPER - lowestBallY); + } + } + + // Pan in the X direction to view the launch tube + int16_t xEnd = lowestBallX + PINBALL_RADIUS + 40; + if (xEnd > TFT_WIDTH) + { + scene->cameraOffset.x = xEnd - TFT_WIDTH; + } + else + { + scene->cameraOffset.x = 0; + } +} + +/** + * @brief TODO doc + * + * @param scene + */ +void pbSceneDraw(pbScene_t* scene, font_t* font) +{ + clearPxTft(); + + // Draw an indicator for the ball save + if (scene->saveTimer > 0) + { + const char text[] = "SAVE"; + int16_t tWidth = textWidth(font, text); + drawText(font, c555, text, ((280 - tWidth) / 2) - scene->cameraOffset.x, 400 - scene->cameraOffset.y); + } + + // Triangle indicators + for (int32_t i = 0; i < scene->numTriangles; i++) + { + pbTriangle_t* tri = &scene->triangles[i]; + drawTriangleOutlined(tri->p1.x - scene->cameraOffset.x, tri->p1.y - scene->cameraOffset.y, // + tri->p2.x - scene->cameraOffset.x, tri->p2.y - scene->cameraOffset.y, // + tri->p3.x - scene->cameraOffset.x, tri->p3.y - scene->cameraOffset.y, // + tri->isOn ? c550 : cTransparent, c220); + } + + // Lines + for (int32_t i = 0; i < scene->numLines; i++) + { + pinballDrawLine(&scene->lines[i], &scene->cameraOffset); + } + + // balls + node_t* bNode = scene->balls.first; + while (bNode) + { + pbBall_t* ball = bNode->val; + + // Don't draw when scooped + if (ball->scoopTimer <= 0) + { + vecFl_t* pos = &ball->pos; + drawCircleFilled(pos->x - scene->cameraOffset.x, pos->y - scene->cameraOffset.y, ball->radius, c500); + } + + bNode = bNode->next; + } + + // circles + for (int32_t i = 0; i < scene->numCircles; i++) + { + if (PB_BUMPER == scene->circles[i].type) + { + vecFl_t* pos = &scene->circles[i].pos; + drawCircleFilled(pos->x - scene->cameraOffset.x, pos->y - scene->cameraOffset.y, scene->circles[i].radius, + (scene->circles[i].litTimer > 0) ? c252 : c131); + } + } + + // flippers + for (int32_t i = 0; i < scene->numFlippers; i++) + { + pinballDrawFlipper(&scene->flippers[i], &scene->cameraOffset); + } + + // launchers + for (int32_t i = 0; i < scene->numLaunchers; i++) + { + pbLauncher_t* l = &scene->launchers[i]; + int compression = l->height * l->impulse; + vec_t offsetPos = { + .x = l->pos.x - scene->cameraOffset.x, + .y = l->pos.y + compression - scene->cameraOffset.y, + }; + drawRect(offsetPos.x, offsetPos.y, offsetPos.x + l->width, offsetPos.y + l->height - compression, c330); + } +} diff --git a/attic/pinball/pinball_draw.h b/attic/pinball/pinball_draw.h new file mode 100644 index 000000000..848c2645b --- /dev/null +++ b/attic/pinball/pinball_draw.h @@ -0,0 +1,7 @@ +#pragma once + +#include "font.h" +#include "pinball_typedef.h" + +void pbAdjustCamera(pbScene_t* scene); +void pbSceneDraw(pbScene_t* scene, font_t* font); diff --git a/attic/pinball/pinball_flipper.c b/attic/pinball/pinball_flipper.c new file mode 100644 index 000000000..04d007d9b --- /dev/null +++ b/attic/pinball/pinball_flipper.c @@ -0,0 +1,106 @@ +#include + +#include "macros.h" +#include "shapes.h" + +#include "pinball_flipper.h" + +/** + * @brief TODO doc + * + * @param tableData + * @param scene + * @return uint32_t + */ +uint32_t readFlipperFromFile(uint8_t* tableData, pbScene_t* scene) +{ + pbFlipper_t* flipper = &scene->flippers[scene->numFlippers++]; + uint32_t dIdx = 0; + + flipper->pos.x = readInt16(tableData, &dIdx); + flipper->pos.y = readInt16(tableData, &dIdx); + flipper->radius = readInt8(tableData, &dIdx); + flipper->length = readInt8(tableData, &dIdx); + flipper->facingRight = readInt8(tableData, &dIdx) != 0; + + flipper->maxRotation = 1.0f; + flipper->restAngle = 0.523599f; // 30 degrees + flipper->angularVelocity = 20.0f; + + if (!flipper->facingRight) + { + flipper->restAngle = M_PI - flipper->restAngle; + flipper->maxRotation = -flipper->maxRotation; + } + flipper->sign = (flipper->maxRotation >= 0) ? -1 : 1; + flipper->maxRotation = ABS(flipper->maxRotation); + + // changing + flipper->rotation = 0; + flipper->currentAngularVelocity = 0; + flipper->buttonHeld = false; + + return dIdx; +} + +/** + * @brief TODO doc + * + * @param flipper + * @param dt + */ +void pbFlipperSimulate(pbFlipper_t* flipper, float dt) +{ + float prevRotation = flipper->rotation; + + if (flipper->buttonHeld) + { + flipper->rotation = flipper->rotation + dt * flipper->angularVelocity; + if (flipper->rotation > flipper->maxRotation) + { + flipper->rotation = flipper->maxRotation; + } + } + else + { + flipper->rotation = flipper->rotation - dt * flipper->angularVelocity; + if (flipper->rotation < 0) + { + flipper->rotation = 0; + } + } + flipper->currentAngularVelocity = flipper->sign * (flipper->rotation - prevRotation) / dt; +} + +/** + * @brief TODO doc + * + * @param flipper + * @return vecFl_t + */ +vecFl_t pbFlipperGetTip(pbFlipper_t* flipper) +{ + float angle = flipper->restAngle + flipper->sign * flipper->rotation; + vecFl_t dir = {.x = cosf(angle), .y = sinf(angle)}; + return addVecFl2d(flipper->pos, mulVecFl2d(dir, flipper->length)); +} + +/** + * @brief TODO doc + * + * @param flipper + */ +void pinballDrawFlipper(pbFlipper_t* flipper, vec_t* cameraOffset) +{ + vecFl_t pos = { + .x = flipper->pos.x - cameraOffset->x, + .y = flipper->pos.y - cameraOffset->y, + }; + drawCircleFilled(pos.x, pos.y, flipper->radius, c115); + vecFl_t tip = pbFlipperGetTip(flipper); + tip.x -= cameraOffset->x; + tip.y -= cameraOffset->y; + drawCircleFilled(tip.x, tip.y, flipper->radius, c115); + drawLine(pos.x, pos.y + flipper->radius, tip.x, tip.y + flipper->radius, c115, 0); + drawLine(pos.x, pos.y - flipper->radius, tip.x, tip.y - flipper->radius, c115, 0); +} diff --git a/attic/pinball/pinball_flipper.h b/attic/pinball/pinball_flipper.h new file mode 100644 index 000000000..d52429deb --- /dev/null +++ b/attic/pinball/pinball_flipper.h @@ -0,0 +1,9 @@ +#pragma once + +#include "pinball_typedef.h" +#include "pinball_game.h" + +uint32_t readFlipperFromFile(uint8_t* tableData, pbScene_t* scene); +void pinballDrawFlipper(pbFlipper_t* flipper, vec_t* cameraOffset); +void pbFlipperSimulate(pbFlipper_t* flipper, float dt); +vecFl_t pbFlipperGetTip(pbFlipper_t* flipper); diff --git a/attic/pinball/pinball_game.c b/attic/pinball/pinball_game.c new file mode 100644 index 000000000..1b7bb4267 --- /dev/null +++ b/attic/pinball/pinball_game.c @@ -0,0 +1,500 @@ +#include +#include +#include +#include +#include "heatshrink_helper.h" + +#include "pinball_game.h" + +#include "pinball_line.h" +#include "pinball_circle.h" +#include "pinball_rectangle.h" +#include "pinball_flipper.h" +#include "pinball_triangle.h" +#include "pinball_point.h" + +/** + * @brief TODO doc + * + * @param data + * @param idx + * @return uint8_t + */ +uint8_t readInt8(uint8_t* data, uint32_t* idx) +{ + return data[(*idx)++]; +} + +/** + * @brief TODO doc + * + * @param data + * @param idx + * @return uint16_t + */ +uint16_t readInt16(uint8_t* data, uint32_t* idx) +{ + int16_t ret = (data[*idx] << 8) | (data[(*idx) + 1]); + (*idx) += 2; + return ret; +} + +/** + * @brief TODO + * + * @param scene + * @param obj + * @param groupId + * @return list_t* + */ +list_t* addToGroup(pbScene_t* scene, void* obj, uint8_t groupId) +{ + push(&scene->groups[groupId], obj); + return &scene->groups[groupId]; +} + +/** + * @brief TODO doc + * + * @param scene + */ +void pbSceneInit(pbScene_t* scene) +{ + scene->gravity.x = 0; + scene->gravity.y = 180; + scene->score = 0; + scene->paused = false; + + uint32_t decompressedSize = 0; + uint8_t* tableData = (uint8_t*)readHeatshrinkFile("pinball.raw", &decompressedSize, true); + uint32_t dIdx = 0; + + // Allocate groups + scene->numGroups = readInt8(tableData, &dIdx) + 1; + scene->groups = (list_t*)calloc(scene->numGroups, sizeof(list_t)); + + uint16_t linesInFile = readInt16(tableData, &dIdx); + scene->lines = calloc(linesInFile, sizeof(pbLine_t)); + scene->numLines = 0; + for (uint16_t lIdx = 0; lIdx < linesInFile; lIdx++) + { + dIdx += readLineFromFile(&tableData[dIdx], scene); + pbLine_t* newLine = &scene->lines[scene->numLines - 1]; + + // Record the table dimension + float maxX = MAX(newLine->p1.x, newLine->p2.x); + float maxY = MAX(newLine->p1.y, newLine->p2.y); + + if (maxX > scene->tableDim.x) + { + scene->tableDim.x = maxX; + } + if (maxY > scene->tableDim.y) + { + scene->tableDim.y = maxY; + } + } + + uint16_t circlesInFile = readInt16(tableData, &dIdx); + scene->circles = calloc(circlesInFile, sizeof(pbCircle_t)); + scene->numCircles = 0; + for (uint16_t cIdx = 0; cIdx < circlesInFile; cIdx++) + { + dIdx += readCircleFromFile(&tableData[dIdx], scene); + } + + uint16_t rectanglesInFile = readInt16(tableData, &dIdx); + scene->launchers = calloc(1, sizeof(pbLauncher_t)); + scene->numLaunchers = 0; + for (uint16_t rIdx = 0; rIdx < rectanglesInFile; rIdx++) + { + dIdx += readRectangleFromFile(&tableData[dIdx], scene); + } + + uint16_t flippersInFile = readInt16(tableData, &dIdx); + scene->flippers = calloc(flippersInFile, sizeof(pbFlipper_t)); + scene->numFlippers = 0; + for (uint16_t fIdx = 0; fIdx < flippersInFile; fIdx++) + { + dIdx += readFlipperFromFile(&tableData[dIdx], scene); + } + + uint16_t trianglesInFile = readInt16(tableData, &dIdx); + scene->triangles = calloc(trianglesInFile, sizeof(pbTriangle_t)); + scene->numTriangles = 0; + for (uint16_t tIdx = 0; tIdx < trianglesInFile; tIdx++) + { + dIdx += readTriangleFromFile(&tableData[dIdx], scene); + } + + uint16_t pointsInFile = readInt16(tableData, &dIdx); + scene->points = calloc(pointsInFile, sizeof(pbPoint_t)); + scene->numPoints = 0; + for (uint16_t pIdx = 0; pIdx < pointsInFile; pIdx++) + { + dIdx += readPointFromFile(&tableData[dIdx], scene); + } + + free(tableData); + + // Reset the camera + scene->cameraOffset.x = 0; + scene->cameraOffset.y = 0; + + // Start with three balls + scene->ballCount = 3; +} + +/** + * @brief TODO + * + * @param scene + */ +void pbStartBall(pbScene_t* scene) +{ + // Set the state + pbSetState(scene, PBS_WAIT_TO_LAUNCH); + + // Clear loop history + memset(scene->loopHistory, 0, sizeof(scene->loopHistory)); + + // Reset targets + for (uint16_t lIdx = 0; lIdx < scene->numLines; lIdx++) + { + pbLine_t* line = &scene->lines[lIdx]; + if (PB_DROP_TARGET == line->type) + { + line->isUp = true; + } + } + + // Open the launch tube + pbOpenLaunchTube(scene, true); + + clear(&scene->balls); + for (uint16_t pIdx = 0; pIdx < scene->numPoints; pIdx++) + { + if (PB_BALL_SPAWN == scene->points[pIdx].type) + { + pbBall_t* ball = calloc(1, sizeof(pbBall_t)); + ball->pos = scene->points[pIdx].pos; + ball->vel.x = 0; + ball->vel.y = 0; + ball->radius = PINBALL_RADIUS; + ball->mass = M_PI * 4.0f * 4.0f; + ball->restitution = 0.2f; + push(&scene->balls, ball); + return; + } + } +} + +/** + * @brief + * + * @param scene + */ +void pbStartMultiball(pbScene_t* scene) +{ + // Don't start multiball if there are already three balls + if (3 == scene->balls.length) + { + return; + } + + // Ignore the first spawn point (tube) + bool ignoreFirst = true; + + // For each point + for (uint16_t pIdx = 0; pIdx < scene->numPoints; pIdx++) + { + // If this is a spawn point + if (PB_BALL_SPAWN == scene->points[pIdx].type) + { + // Ignore the first + if (ignoreFirst) + { + ignoreFirst = false; + } + else + { + // Spawn a ball here + // TODO check if space is empty first + pbBall_t* ball = calloc(1, sizeof(pbBall_t)); + ball->pos = scene->points[pIdx].pos; + ball->vel.x = 0; + ball->vel.y = 0; + ball->radius = PINBALL_RADIUS; + ball->mass = M_PI * 4.0f * 4.0f; + ball->restitution = 0.2f; + push(&scene->balls, ball); + + // All balls spawned + if (3 == scene->balls.length) + { + return; + } + } + } + } +} + +/** + * @brief TODO + * + * @param scene + */ +void pbSceneDestroy(pbScene_t* scene) +{ + if (scene->groups) + { + // Free the rest of the state + free(scene->lines); + free(scene->circles); + free(scene->launchers); + free(scene->flippers); + free(scene->triangles); + free(scene->points); + + node_t* bNode = scene->balls.first; + while (bNode) + { + free(bNode->val); + bNode = bNode->next; + } + clear(&scene->balls); + + for (int32_t gIdx = 0; gIdx < scene->numGroups; gIdx++) + { + clear(&scene->groups[gIdx]); + } + free(scene->groups); + scene->groups = NULL; + } +} + +// ------------------------ user interaction --------------------------- + +/** + * @brief TODO doc + * + * @param scene + * @param event + */ +void pbButtonPressed(pbScene_t* scene, buttonEvt_t* event) +{ + if (event->down) + { + switch (event->button) + { + case PB_LEFT: + { + for (int32_t fIdx = 0; fIdx < scene->numFlippers; fIdx++) + { + if (scene->flippers[fIdx].facingRight) + { + scene->flippers[fIdx].buttonHeld = true; + } + } + break; + } + case PB_RIGHT: + { + for (int32_t fIdx = 0; fIdx < scene->numFlippers; fIdx++) + { + if (!scene->flippers[fIdx].facingRight) + { + scene->flippers[fIdx].buttonHeld = true; + } + } + for (int32_t rIdx = 0; rIdx < scene->numLaunchers; rIdx++) + { + scene->launchers[rIdx].buttonHeld = true; + } + break; + } + default: + { + break; + } + } + } + else + { + switch (event->button) + { + case PB_LEFT: + { + for (int32_t fIdx = 0; fIdx < scene->numFlippers; fIdx++) + { + if (scene->flippers[fIdx].facingRight) + { + scene->flippers[fIdx].buttonHeld = false; + } + } + break; + } + case PB_RIGHT: + { + for (int32_t fIdx = 0; fIdx < scene->numFlippers; fIdx++) + { + if (!scene->flippers[fIdx].facingRight) + { + scene->flippers[fIdx].buttonHeld = false; + } + } + for (int32_t rIdx = 0; rIdx < scene->numLaunchers; rIdx++) + { + scene->launchers[rIdx].buttonHeld = false; + } + break; + } + default: + { + break; + } + } + } +} + +/** + * @brief + * + * @param ball + * @param scene + */ +void pbRemoveBall(pbBall_t* ball, pbScene_t* scene) +{ + // Clear loop history + memset(scene->loopHistory, 0, sizeof(scene->loopHistory)); + + // If the save timer is running + if (scene->saveTimer > 0 && 1 == scene->balls.length) + { + // Save the ball by scooping it back + printf("Ball Saved\n"); + ball->scoopTimer = 2000000; + } + else + { + // Find the ball in the list + node_t* bNode = scene->balls.first; + while (bNode) + { + if (ball == bNode->val) + { + // Remove the ball from the list + free(bNode->val); + removeEntry(&scene->balls, bNode); + break; + } + bNode = bNode->next; + } + + // If there are no active balls left + if (0 == scene->balls.length) + { + // Decrement the overall ball count + scene->ballCount--; + + // If there are balls left + if (0 < scene->ballCount) + { + pbSetState(scene, PBS_BALL_OVER); + // TODO show bonus set up for next ball, etc. + pbStartBall(scene); + } + else + { + // No balls left + pbSetState(scene, PBS_GAME_OVER); + } + } + } +} + +/** + * @brief TODO + * + * @param scene + * @param elapsedUs + */ +void pbGameTimers(pbScene_t* scene, int32_t elapsedUs) +{ + if (scene->saveTimer > 0) + { + scene->saveTimer -= elapsedUs; + } +} + +/** + * @brief TODO + * + * @param scene + * @param open + */ +void pbOpenLaunchTube(pbScene_t* scene, bool open) +{ + if (open != scene->launchTubeClosed) + { + scene->launchTubeClosed = open; + + if (!open) + { + // Start a 15s timer to save the ball when the door closes + scene->saveTimer = 15000000; + pbSetState(scene, PBS_GAME_NO_EVENT); + } + + for (int32_t lIdx = 0; lIdx < scene->numLines; lIdx++) + { + pbLine_t* line = &scene->lines[lIdx]; + if (PB_LAUNCH_DOOR == line->type) + { + line->isUp = !open; + } + } + } +} + +/** + * @brief TODO + * + * @param scene + * @param state + */ +void pbSetState(pbScene_t* scene, pbGameState_t state) +{ + if (scene->state != state) + { + scene->state = state; + switch (state) + { + case PBS_WAIT_TO_LAUNCH: + { + printf("Ball Start\n"); + break; + } + case PBS_GAME_NO_EVENT: + { + printf("Event Finished\n"); + break; + } + case PBS_GAME_EVENT: + { + printf("Event Started\n"); + break; + } + case PBS_BALL_OVER: + { + printf("Ball Lost\n"); + break; + } + case PBS_GAME_OVER: + { + printf("Game Over\n"); + break; + } + } + } +} diff --git a/attic/pinball/pinball_game.h b/attic/pinball/pinball_game.h new file mode 100644 index 000000000..78cfc0867 --- /dev/null +++ b/attic/pinball/pinball_game.h @@ -0,0 +1,19 @@ +#pragma once + +#include "hdw-btn.h" +#include "macros.h" +#include "pinball_typedef.h" + +uint8_t readInt8(uint8_t* data, uint32_t* idx); +uint16_t readInt16(uint8_t* data, uint32_t* idx); +list_t* addToGroup(pbScene_t* scene, void* obj, uint8_t groupId); + +void pbSceneInit(pbScene_t* scene); +void pbSceneDestroy(pbScene_t* scene); +void pbButtonPressed(pbScene_t* scene, buttonEvt_t* event); +void pbRemoveBall(pbBall_t* ball, pbScene_t* scene); +void pbStartBall(pbScene_t* scene); +void pbGameTimers(pbScene_t* scene, int32_t elapsedUs); +void pbOpenLaunchTube(pbScene_t* scene, bool open); +void pbStartMultiball(pbScene_t* scene); +void pbSetState(pbScene_t* scene, pbGameState_t state); diff --git a/attic/pinball/pinball_line.c b/attic/pinball/pinball_line.c new file mode 100644 index 000000000..10e163c3f --- /dev/null +++ b/attic/pinball/pinball_line.c @@ -0,0 +1,140 @@ +#include "shapes.h" +#include "palette.h" + +#include "pinball_line.h" +#include "pinball_physics.h" + +/** + * @brief TODO doc + * + * @param tableData + * @param scene + * @return int32_t + */ +int32_t readLineFromFile(uint8_t* tableData, pbScene_t* scene) +{ + pbLine_t* line = &scene->lines[scene->numLines++]; + uint32_t dIdx = 0; + line->id = readInt16(tableData, &dIdx); + line->groupId = readInt8(tableData, &dIdx); + line->group = addToGroup(scene, line, line->groupId); + line->p1.x = readInt16(tableData, &dIdx); + line->p1.y = readInt16(tableData, &dIdx); + line->p2.x = readInt16(tableData, &dIdx); + line->p2.y = readInt16(tableData, &dIdx); + line->type = readInt8(tableData, &dIdx); + line->pushVel = readInt8(tableData, &dIdx); + line->isUp = readInt8(tableData, &dIdx); + + return dIdx; +} + +/** + * @brief TODO doc + * + * @param line + */ +void pinballDrawLine(pbLine_t* line, vec_t* cameraOffset) +{ + paletteColor_t color = c555; + switch (line->type) + { + case PB_WALL: + case PB_BALL_LOST: + case PB_LAUNCH_DOOR: + { + if (!line->isUp) + { + return; + } + color = c555; + break; + } + case PB_SLINGSHOT: + { + color = line->litTimer > 0 ? c500 : c300; + break; + } + case PB_DROP_TARGET: + { + if (line->isUp) + { + color = c050; + } + else + { + color = c010; + } + break; + } + case PB_STANDUP_TARGET: + { + color = line->litTimer > 0 ? c004 : c002; + break; + } + case PB_SPINNER: + { + color = c123; + break; + } + case PB_SCOOP: + { + color = c202; + break; + } + } + + drawLine(line->p1.x - cameraOffset->x, line->p1.y - cameraOffset->y, line->p2.x - cameraOffset->x, + line->p2.y - cameraOffset->y, color, 0); +} + +/** + * @brief TODO + * + * @param line + * @param elapsedUs + */ +void pbLineTimer(pbLine_t* line, int32_t elapsedUs, pbScene_t* scene) +{ + // Decrement the lit timer + if (line->litTimer > 0) + { + line->litTimer -= elapsedUs; + } + + // Decrement the reset timer + if (line->resetTimer > 0) + { + line->resetTimer -= elapsedUs; + + if (line->resetTimer <= 0) + { + // Make sure the line isn't intersecting a ball before popping up + bool intersecting = false; + + node_t* bNode = scene->balls.first; + while (bNode) + { + pbBall_t* ball = bNode->val; + if (ballLineIntersection(ball, line)) + { + intersecting = true; + break; + } + bNode = bNode->next; + } + + // If there are no intersections + if (!intersecting) + { + // Raise the target + line->isUp = true; + } + else + { + // Try next frame + line->resetTimer = 1; + } + } + } +} diff --git a/attic/pinball/pinball_line.h b/attic/pinball/pinball_line.h new file mode 100644 index 000000000..bb22992bf --- /dev/null +++ b/attic/pinball/pinball_line.h @@ -0,0 +1,8 @@ +#pragma once + +#include "pinball_typedef.h" +#include "pinball_game.h" + +int32_t readLineFromFile(uint8_t* tableData, pbScene_t* scene); +void pinballDrawLine(pbLine_t* line, vec_t* cameraOffset); +void pbLineTimer(pbLine_t* line, int32_t elapsedUs, pbScene_t* scene); diff --git a/attic/pinball/pinball_physics.c b/attic/pinball/pinball_physics.c new file mode 100644 index 000000000..e99939999 --- /dev/null +++ b/attic/pinball/pinball_physics.c @@ -0,0 +1,461 @@ +#include +#include +#include +#include "pinball_line.h" +#include "pinball_circle.h" +#include "pinball_rectangle.h" +#include "pinball_flipper.h" +#include "pinball_triangle.h" +#include "pinball_physics.h" + +static void handleBallBallCollision(pbBall_t* ball1, pbBall_t* ball2); +static void handleBallCircleCollision(pbScene_t* scene, pbBall_t* ball, pbCircle_t* circle); +static void handleBallFlipperCollision(pbBall_t* ball, pbFlipper_t* flipper); +static bool handleBallLineCollision(pbBall_t* ball, pbScene_t* scene); +static void handleBallLauncherCollision(pbLauncher_t* launcher, pbBall_t* ball, float dt); + +/** + * @brief TODO + * + * @param scene + * @param elapsedUs + */ +void pbSimulate(pbScene_t* scene, int32_t elapsedUs) +{ + float elapsedUsFl = elapsedUs / 1000000.0f; + + for (int32_t i = 0; i < scene->numFlippers; i++) + { + pbFlipperSimulate(&scene->flippers[i], elapsedUsFl); + } + + for (int32_t i = 0; i < scene->numLaunchers; i++) + { + pbLauncherSimulate(&scene->launchers[i], &scene->balls, elapsedUsFl); + } + + node_t* bNode = scene->balls.first; + while (bNode) + { + pbBall_t* ball = bNode->val; + + pbBallSimulate(ball, elapsedUs, elapsedUsFl, scene); + + node_t* bNode2 = bNode->next; + while (bNode2) + { + pbBall_t* ball2 = bNode2->val; + handleBallBallCollision(ball, ball2); + bNode2 = bNode2->next; + } + + for (int32_t cIdx = 0; cIdx < scene->numCircles; cIdx++) + { + handleBallCircleCollision(scene, ball, &scene->circles[cIdx]); + } + + for (int32_t fIdx = 0; fIdx < scene->numFlippers; fIdx++) + { + handleBallFlipperCollision(ball, &scene->flippers[fIdx]); + } + + for (int32_t lIdx = 0; lIdx < scene->numLaunchers; lIdx++) + { + handleBallLauncherCollision(&scene->launchers[lIdx], ball, elapsedUs); + } + + // Collide ball with lines + if (handleBallLineCollision(ball, scene)) + { + // Iterate to the next ball node + bNode = bNode->next; + + // Then remove the ball + pbRemoveBall(ball, scene); + } + else + { + // Iterate to the next ball + bNode = bNode->next; + } + } + + for (int32_t cIdx = 0; cIdx < scene->numCircles; cIdx++) + { + pbCircleTimer(&scene->circles[cIdx], elapsedUs); + } + + for (int32_t tIdx = 0; tIdx < scene->numTriangles; tIdx++) + { + pbTriangleTimer(&scene->triangles[tIdx], elapsedUs); + } + + for (int32_t lIdx = 0; lIdx < scene->numLines; lIdx++) + { + pbLineTimer(&scene->lines[lIdx], elapsedUs, scene); + } +} + +/** + * @brief Find the closest point to point p on a line segment between a and b + * + * @param p A point + * @param a One end of a line segment + * @param b The other end of a line segment + * @return A point on the line segment closest to p + */ +static vecFl_t closestPointOnSegment(vecFl_t p, vecFl_t a, vecFl_t b) +{ + vecFl_t ab = subVecFl2d(b, a); + float t = sqMagVecFl2d(ab); + + if (t == 0.0f) + { + return a; + } + + t = (dotVecFl2d(p, ab) - dotVecFl2d(a, ab)) / t; + if (t > 1) + { + t = 1; + } + else if (t < 0) + { + t = 0; + } + + return addVecFl2d(a, mulVecFl2d(ab, t)); +} + +/** + * @brief TODO doc + * + * @param ball1 + * @param ball2 + */ +static void handleBallBallCollision(pbBall_t* ball1, pbBall_t* ball2) +{ + float restitution = MIN(ball1->restitution, ball2->restitution); + vecFl_t dir = subVecFl2d(ball2->pos, ball1->pos); + float d = magVecFl2d(dir); + if (0 == d || d > (ball1->radius + ball2->radius)) + { + return; + } + + dir = divVecFl2d(dir, d); + + float corr = (ball1->radius + ball2->radius - d) / 2.0f; + ball1->pos = addVecFl2d(ball1->pos, mulVecFl2d(dir, -corr)); + ball2->pos = addVecFl2d(ball2->pos, mulVecFl2d(dir, corr)); + + float v1 = dotVecFl2d(ball1->vel, dir); + float v2 = dotVecFl2d(ball2->vel, dir); + + float m1 = ball1->mass; + float m2 = ball2->mass; + + float newV1 = (m1 * v1 + m2 * v2 - m2 * (v1 - v2) * restitution) / (m1 + m2); + float newV2 = (m1 * v1 + m2 * v2 - m1 * (v2 - v1) * restitution) / (m1 + m2); + + ball1->vel = addVecFl2d(ball1->vel, mulVecFl2d(dir, newV1 - v1)); + ball2->vel = addVecFl2d(ball2->vel, mulVecFl2d(dir, newV2 - v2)); +} + +/** + * @brief TODO doc + * + * @param scene + * @param ball + * @param circle + */ +static void handleBallCircleCollision(pbScene_t* scene, pbBall_t* ball, pbCircle_t* circle) +{ + vecFl_t dir = subVecFl2d(ball->pos, circle->pos); + float d = magVecFl2d(dir); + if (d == 0.0 || d > (ball->radius + circle->radius)) + { + if (circle->id == scene->touchedLoopId) + { + scene->touchedLoopId = PIN_INVALID_ID; + } + return; + } + + if (PB_BUMPER == circle->type) + { + // Normalize the direction + dir = divVecFl2d(dir, d); + + // Move ball backwards to not clip + float corr = ball->radius + circle->radius - d; + ball->pos = addVecFl2d(ball->pos, mulVecFl2d(dir, corr)); + + // Adjust the velocity + float v = dotVecFl2d(ball->vel, dir); + ball->vel = addVecFl2d(ball->vel, mulVecFl2d(dir, circle->pushVel - v)); + + circle->litTimer = 250000; + } + else if (PB_ROLLOVER == circle->type) + { + if (circle->id != scene->touchedLoopId) + { + scene->touchedLoopId = circle->id; + + memmove(&scene->loopHistory[1], &scene->loopHistory[0], + sizeof(scene->loopHistory) - sizeof(scene->loopHistory[0])); + scene->loopHistory[0] = circle->id; + + if (scene->loopHistory[0] + 1 == scene->loopHistory[1] + && scene->loopHistory[1] + 1 == scene->loopHistory[2]) + { + printf("Loop Counter Clockwise\n"); + } + else if (scene->loopHistory[2] + 1 == scene->loopHistory[1] + && scene->loopHistory[1] + 1 == scene->loopHistory[0]) + { + printf("Loop Clockwise\n"); + } + } + // Group two rollovers should close the launch tube + // TODO hardcoding a group ID is gross + if (5 == circle->groupId) + { + pbOpenLaunchTube(scene, false); + } + } +} + +/** + * @brief TODO doc + * + * @param ball + * @param flipper + */ +static void handleBallFlipperCollision(pbBall_t* ball, pbFlipper_t* flipper) +{ + vecFl_t closest = closestPointOnSegment(ball->pos, flipper->pos, pbFlipperGetTip(flipper)); + vecFl_t dir = subVecFl2d(ball->pos, closest); + float d = magVecFl2d(dir); + if (d == 0.0 || d > ball->radius + flipper->radius) + { + return; + } + + dir = divVecFl2d(dir, d); + + float corr = (ball->radius + flipper->radius - d); + ball->pos = addVecFl2d(ball->pos, mulVecFl2d(dir, corr)); + + // update velocity + + vecFl_t radius = closest; + radius = addVecFl2d(radius, mulVecFl2d(dir, flipper->radius)); + radius = subVecFl2d(radius, flipper->pos); + vecFl_t surfaceVel = perpendicularVecFl2d(radius); + surfaceVel = mulVecFl2d(surfaceVel, flipper->currentAngularVelocity); + + float v = dotVecFl2d(ball->vel, dir); + float vNew = dotVecFl2d(surfaceVel, dir); + + ball->vel = addVecFl2d(ball->vel, mulVecFl2d(dir, vNew - v)); +} + +/** + * @brief TODO + * + * @param ball + * @param line + * @return true + * @return false + */ +bool ballLineIntersection(pbBall_t* ball, pbLine_t* line) +{ + // Get the line segment from the list of walls + vecFl_t a = line->p1; + vecFl_t b = line->p2; + // Get the closest point on the segment to the center of the ball + vecFl_t c = closestPointOnSegment(ball->pos, a, b); + // Find the distance between the center of the ball and the closest point on the line + vecFl_t d = subVecFl2d(ball->pos, c); + float dist = magVecFl2d(d); + // If the distance is less than the radius, and the distance is less + // than the minimum distance, its the best collision + return (dist < ball->radius); +} + +/** + * @brief TODO doc + * + * @param ball + * @param lines + * @param true if the ball should be deleted, false if not + */ +static bool handleBallLineCollision(pbBall_t* ball, pbScene_t* scene) +{ + // find closest segment; + vecFl_t ballToClosest; + vecFl_t ab; + vecFl_t normal; + float minDist = FLT_MAX; + pbLine_t* cLine = NULL; + + // For each segment of the wall + for (int32_t i = 0; i < scene->numLines; i++) + { + pbLine_t* line = &scene->lines[i]; + + if (line->isUp) + { + // Get the line segment from the list of walls + vecFl_t a = line->p1; + vecFl_t b = line->p2; + // Get the closest point on the segment to the center of the ball + vecFl_t c = closestPointOnSegment(ball->pos, a, b); + // Find the distance between the center of the ball and the closest point on the line + vecFl_t d = subVecFl2d(ball->pos, c); + float dist = magVecFl2d(d); + // If the distance is less than the radius, and the distance is less + // than the minimum distance, its the best collision + if ((dist < ball->radius) && (dist < minDist)) + { + minDist = dist; + ballToClosest = d; + ab = subVecFl2d(b, a); + normal = perpendicularVecFl2d(ab); + cLine = line; + } + } + } + + // Check if there were any collisions + if (NULL == cLine) + { + return false; + } + + // push out to not clip + if (0 == minDist) + { + ballToClosest = normal; + minDist = magVecFl2d(normal); + } + ballToClosest = divVecFl2d(ballToClosest, minDist); + ball->pos = addVecFl2d(ball->pos, mulVecFl2d(ballToClosest, ball->radius - minDist)); // TODO epsilon here? + + float v = dotVecFl2d(ball->vel, ballToClosest); + if (cLine->pushVel) + { + // Adjust the velocity + ball->vel = addVecFl2d(ball->vel, mulVecFl2d(ballToClosest, cLine->pushVel - v)); + } + else + { + // update velocity + float vNew = ABS(v) * ball->restitution; // TODO care about wall's restitution? + ball->vel = addVecFl2d(ball->vel, mulVecFl2d(ballToClosest, vNew - v)); + } + + switch (cLine->type) + { + default: + case PB_WALL: + case PB_SPINNER: + case PB_LAUNCH_DOOR: + { + break; + } + case PB_STANDUP_TARGET: + { + pbSetState(scene, PBS_GAME_EVENT); + } + // Fall through + case PB_SLINGSHOT: + { + cLine->litTimer = 250000; + break; + } + case PB_DROP_TARGET: + { + cLine->isUp = false; + + // Check if all targets in the group are hit + bool someLineUp = false; + list_t* group = cLine->group; + node_t* node = group->first; + while (NULL != node) + { + pbLine_t* groupLine = node->val; + if (groupLine->isUp) + { + someLineUp = true; + break; + } + node = node->next; + } + + // If all lines are down + if (!someLineUp) + { + // Reset them + // TODO start a timer for this? Make sure a ball isn't touching the line before resetting? + node = group->first; + while (NULL != node) + { + // Start a timer to reset the target + ((pbLine_t*)node->val)->resetTimer = 3000000; + node = node->next; + } + } + break; + } + case PB_SCOOP: + { + // Count the scoop + scene->scoopCount++; + printf("Ball %" PRId32 " locked\n", scene->scoopCount); + if (3 == scene->scoopCount) + { + printf("Multiball!!!\n"); + pbStartMultiball(scene); + } + ball->scoopTimer = 2000000; + break; + } + case PB_BALL_LOST: + { + return true; + } + } + return false; +} + +/** + * @brief TODO + * + * @param launcher + * @param balls + * @param dt + */ +static void handleBallLauncherCollision(pbLauncher_t* launcher, pbBall_t* ball, float dt) +{ + if (ball->vel.y >= 0) + { + // Get the compressed Y level + float posY = launcher->pos.y + (launcher->impulse * launcher->height); + + // Check Y + if ((ball->pos.y + ball->radius > posY) && (ball->pos.y - ball->radius < posY)) + { + // Check X + if ((ball->pos.x > launcher->pos.x) && (ball->pos.x < launcher->pos.x + launcher->width)) + { + // Collision, set the position to be slightly touching + ball->pos.y = posY - ball->radius + 0.1f; + // Bounce a little + ball->vel = mulVecFl2d(ball->vel, -0.3f); + } + } + } +} diff --git a/attic/pinball/pinball_physics.h b/attic/pinball/pinball_physics.h new file mode 100644 index 000000000..8b03470c0 --- /dev/null +++ b/attic/pinball/pinball_physics.h @@ -0,0 +1,6 @@ +#pragma once + +#include "pinball_typedef.h" + +void pbSimulate(pbScene_t* scene, int32_t elapsedUs); +bool ballLineIntersection(pbBall_t* ball, pbLine_t* line); diff --git a/attic/pinball/pinball_point.c b/attic/pinball/pinball_point.c new file mode 100644 index 000000000..5ffa19c20 --- /dev/null +++ b/attic/pinball/pinball_point.c @@ -0,0 +1,25 @@ +#include "shapes.h" +#include "palette.h" + +#include "pinball_point.h" + +/** + * @brief TODO doc + * + * @param tableData + * @param scene + * @return int32_t + */ +int32_t readPointFromFile(uint8_t* tableData, pbScene_t* scene) +{ + pbPoint_t* point = &scene->points[scene->numPoints++]; + uint32_t dIdx = 0; + point->id = readInt16(tableData, &dIdx); + point->groupId = readInt8(tableData, &dIdx); + point->group = addToGroup(scene, point, point->groupId); + point->pos.x = readInt16(tableData, &dIdx); + point->pos.y = readInt16(tableData, &dIdx); + point->type = readInt8(tableData, &dIdx); + + return dIdx; +} diff --git a/attic/pinball/pinball_point.h b/attic/pinball/pinball_point.h new file mode 100644 index 000000000..d79dc6c9d --- /dev/null +++ b/attic/pinball/pinball_point.h @@ -0,0 +1,6 @@ +#pragma once + +#include "pinball_typedef.h" +#include "pinball_game.h" + +int32_t readPointFromFile(uint8_t* tableData, pbScene_t* scene); diff --git a/attic/pinball/pinball_rectangle.c b/attic/pinball/pinball_rectangle.c new file mode 100644 index 000000000..89df5560d --- /dev/null +++ b/attic/pinball/pinball_rectangle.c @@ -0,0 +1,65 @@ +#include +#include "geometryFl.h" + +#include "pinball_rectangle.h" + +/** + * @brief TODO doc + * + * @param tableData + * @param scene + * @return uint32_t + */ +uint32_t readRectangleFromFile(uint8_t* tableData, pbScene_t* scene) +{ + uint32_t dIdx = 0; + pbLauncher_t* launcher = &scene->launchers[scene->numLaunchers++]; + launcher->id = readInt16(tableData, &dIdx); + launcher->groupId = readInt8(tableData, &dIdx); + launcher->group = addToGroup(scene, launcher, launcher->groupId); + launcher->pos.x = readInt16(tableData, &dIdx); + launcher->pos.y = readInt16(tableData, &dIdx); + launcher->width = readInt16(tableData, &dIdx); + launcher->height = readInt16(tableData, &dIdx); + launcher->buttonHeld = false; + launcher->impulse = 0; + return dIdx; +} + +/** + * @brief TODO doc + * + * @param launcher + * @param balls + * @param dt + */ +void pbLauncherSimulate(pbLauncher_t* launcher, list_t* balls, float dt) +{ + if (launcher->buttonHeld) + { + launcher->impulse += (dt / 3); + if (launcher->impulse > 0.99f) + { + launcher->impulse = 0.99f; + } + } + else if (launcher->impulse) + { + rectangleFl_t r = {.pos = launcher->pos, .width = launcher->width, .height = launcher->height}; + // If touching a ball, transfer to a ball + node_t* bNode = balls->first; + while (bNode) + { + pbBall_t* ball = bNode->val; + circleFl_t b = {.pos = ball->pos, .radius = ball->radius}; + if (circleRectFlIntersection(b, r, NULL)) + { + ball->vel.y = (MAX_LAUNCHER_VELOCITY * launcher->impulse); + } + + bNode = bNode->next; + } + + launcher->impulse = 0; + } +} \ No newline at end of file diff --git a/attic/pinball/pinball_rectangle.h b/attic/pinball/pinball_rectangle.h new file mode 100644 index 000000000..dda040bfa --- /dev/null +++ b/attic/pinball/pinball_rectangle.h @@ -0,0 +1,9 @@ +#pragma once + +#include "pinball_typedef.h" +#include "pinball_game.h" + +#define MAX_LAUNCHER_VELOCITY -600 + +uint32_t readRectangleFromFile(uint8_t* tableData, pbScene_t* scene); +void pbLauncherSimulate(pbLauncher_t* launcher, list_t* balls, float dt); diff --git a/attic/pinball/pinball_triangle.c b/attic/pinball/pinball_triangle.c new file mode 100644 index 000000000..0f7011f77 --- /dev/null +++ b/attic/pinball/pinball_triangle.c @@ -0,0 +1,45 @@ +#include +#include "pinball_triangle.h" + +/** + * @brief TODO doc + * + * @param tableData + * @param scene + * @return uint32_t + */ +uint32_t readTriangleFromFile(uint8_t* tableData, pbScene_t* scene) +{ + pbTriangle_t* triangle = &scene->triangles[scene->numTriangles++]; + + uint32_t dIdx = 0; + triangle->id = readInt16(tableData, &dIdx); + triangle->groupId = readInt8(tableData, &dIdx); + triangle->group = addToGroup(scene, triangle, triangle->groupId); + triangle->p1.x = readInt16(tableData, &dIdx); + triangle->p1.y = readInt16(tableData, &dIdx); + triangle->p2.x = readInt16(tableData, &dIdx); + triangle->p2.y = readInt16(tableData, &dIdx); + triangle->p3.x = readInt16(tableData, &dIdx); + triangle->p3.y = readInt16(tableData, &dIdx); + + triangle->blinkTimer = 0; + triangle->isOn = false; + triangle->isBlinking = true; + + return dIdx; +} + +/** + * @brief + * + * @param tri + * @param elapsedUs + */ +void pbTriangleTimer(pbTriangle_t* tri, int32_t elapsedUs) +{ + if (tri->isBlinking) + { + RUN_TIMER_EVERY(tri->blinkTimer, 333333, elapsedUs, tri->isOn = !tri->isOn;); + } +} diff --git a/attic/pinball/pinball_triangle.h b/attic/pinball/pinball_triangle.h new file mode 100644 index 000000000..162a25cc1 --- /dev/null +++ b/attic/pinball/pinball_triangle.h @@ -0,0 +1,7 @@ +#pragma once + +#include "pinball_typedef.h" +#include "pinball_game.h" + +uint32_t readTriangleFromFile(uint8_t* tableData, pbScene_t* scene); +void pbTriangleTimer(pbTriangle_t* tri, int32_t elapsedUs); diff --git a/attic/pinball/pinball_typedef.h b/attic/pinball/pinball_typedef.h new file mode 100644 index 000000000..840f54168 --- /dev/null +++ b/attic/pinball/pinball_typedef.h @@ -0,0 +1,165 @@ +#pragma once + +#include +#include +#include +#include + +#include "vector2d.h" +#include "vectorFl2d.h" +#include "macros.h" +#include "linked_list.h" + +#define PIN_INVALID_ID 0xFFFF + +typedef enum +{ + PBS_WAIT_TO_LAUNCH, + PBS_GAME_NO_EVENT, + PBS_GAME_EVENT, + PBS_BALL_OVER, + PBS_GAME_OVER, +} pbGameState_t; + +typedef enum +{ + PB_WALL, + PB_SLINGSHOT, + PB_DROP_TARGET, + PB_STANDUP_TARGET, + PB_SPINNER, + PB_SCOOP, + PB_BALL_LOST, + PB_LAUNCH_DOOR, +} pbLineType_t; + +typedef enum +{ + PB_BUMPER, + PB_ROLLOVER +} pbCircleType_t; + +typedef enum +{ + PB_BALL_SPAWN, + PB_ITEM_SPAWN, +} pbPointType_t; + +typedef struct +{ + uint16_t id; + uint8_t groupId; + list_t* group; + pbPointType_t type; + vecFl_t pos; +} pbPoint_t; + +typedef struct +{ + uint16_t id; + uint8_t groupId; + list_t* group; + pbLineType_t type; + vecFl_t p1; + vecFl_t p2; + float pushVel; + bool isUp; + int32_t litTimer; + int32_t resetTimer; +} pbLine_t; + +typedef struct +{ + // fixed + float radius; + vecFl_t pos; + float length; + float restAngle; + float maxRotation; + float sign; + float angularVelocity; + // changing + float rotation; + float currentAngularVelocity; + bool buttonHeld; + bool facingRight; +} pbFlipper_t; + +// TODO merge these +typedef struct +{ + float radius; + float mass; + float restitution; + vecFl_t pos; + vecFl_t vel; + int32_t scoopTimer; +} pbBall_t; + +typedef struct +{ + uint16_t id; + uint8_t groupId; + list_t* group; + float radius; + vecFl_t pos; + pbCircleType_t type; + float pushVel; + int32_t litTimer; +} pbCircle_t; + +typedef struct +{ + uint16_t id; + uint8_t groupId; + list_t* group; + vecFl_t p1; + vecFl_t p2; + vecFl_t p3; + bool isBlinking; + bool isOn; + int32_t blinkTimer; +} pbTriangle_t; + +typedef struct +{ + uint16_t id; + uint8_t groupId; + list_t* group; + vecFl_t pos; + float width; + float height; + bool buttonHeld; + float impulse; +} pbLauncher_t; + +typedef struct +{ + vecFl_t gravity; + int32_t score; + bool paused; + int32_t numGroups; + list_t* groups; + pbLine_t* lines; + int32_t numLines; + list_t balls; + pbCircle_t* circles; + int32_t numCircles; + pbFlipper_t* flippers; + int32_t numFlippers; + pbLauncher_t* launchers; + int32_t numLaunchers; + pbTriangle_t* triangles; + int32_t numTriangles; + pbPoint_t* points; + int32_t numPoints; + vec_t cameraOffset; + vecFl_t tableDim; + bool launchTubeClosed; + uint16_t touchedLoopId; + uint16_t loopHistory[3]; + int32_t saveTimer; + int32_t scoopCount; + int32_t ballCount; + pbGameState_t state; +} pbScene_t; \ No newline at end of file diff --git a/emulator/src/extensions/modes/ext_modes.c b/emulator/src/extensions/modes/ext_modes.c index c1b072b05..8bc83d92a 100644 --- a/emulator/src/extensions/modes/ext_modes.c +++ b/emulator/src/extensions/modes/ext_modes.c @@ -29,7 +29,6 @@ #include "mode_2048.h" #include "mode_bigbug.h" #include "mode_credits.h" -#include "mode_pinball.h" #include "mode_synth.h" #include "touchTest.h" #include "tunernome.h" @@ -71,7 +70,6 @@ static swadgeMode_t* allSwadgeModes[] = { &keebTestMode, &mainMenuMode, &modeCredits, - &pinballMode, &synthMode, &t48Mode, &timerMode, diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index 548295324..70b675d68 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -1,10 +1,10 @@ idf_component_register(SRCS "asset_loaders/common/heatshrink_encoder.c" - "asset_loaders/heatshrink_decoder.c" - "asset_loaders/heatshrink_helper.c" "asset_loaders/fs_font.c" "asset_loaders/fs_json.c" "asset_loaders/fs_txt.c" "asset_loaders/fs_wsg.c" + "asset_loaders/heatshrink_decoder.c" + "asset_loaders/heatshrink_helper.c" "colorchord/DFT32.c" "colorchord/embeddedNf.c" "colorchord/embeddedOut.c" @@ -30,16 +30,11 @@ idf_component_register(SRCS "asset_loaders/common/heatshrink_encoder.c" "modes/games/bigbug/soundManager_bigbug.c" "modes/games/bigbug/tilemap_bigbug.c" "modes/games/bigbug/pathfinding_bigbug.c" - "modes/games/pinball/mode_pinball.c" - "modes/games/pinball/pinball_draw.c" - "modes/games/pinball/pinball_physics.c" - "modes/games/pinball/pinball_test.c" - "modes/games/pinball/pinball_zones.c" "modes/games/ultimateTTT/ultimateTTT.c" "modes/games/ultimateTTT/ultimateTTTgame.c" "modes/games/ultimateTTT/ultimateTTThowTo.c" - "modes/games/ultimateTTT/ultimateTTTp2p.c" "modes/games/ultimateTTT/ultimateTTTmarkerSelect.c" + "modes/games/ultimateTTT/ultimateTTTp2p.c" "modes/games/ultimateTTT/ultimateTTTresult.c" "modes/games/2048/2048_game.c" "modes/games/2048/2048_menus.c" @@ -57,16 +52,16 @@ idf_component_register(SRCS "asset_loaders/common/heatshrink_encoder.c" "modes/system/quickSettings/quickSettings.c" "modes/test/accelTest/accelTest.c" "modes/test/factoryTest/factoryTest.c" - "modes/test/touchTest/touchTest.c" "modes/test/keebTest/keebTest.c" + "modes/test/touchTest/touchTest.c" "modes/utilities/dance/dance.c" "modes/utilities/dance/portableDance.c" "modes/utilities/gamepad/gamepad.c" "modes/utilities/timer/modeTimer.c" "swadge2024.c" - "utils/color_utils.c" "utils/cnfs.c" "utils/cnfs_image.c" + "utils/color_utils.c" "utils/dialogBox.c" "utils/fl_math/geometryFl.c" "utils/fl_math/vectorFl2d.c" @@ -97,7 +92,7 @@ idf_component_register(SRCS "asset_loaders/common/heatshrink_encoder.c" crashwrap REQUIRES esp_timer spi_flash - INCLUDE_DIRS "." + INCLUDE_DIRS "./" "./asset_loaders" "./asset_loaders/common" "./colorchord" @@ -106,15 +101,14 @@ idf_component_register(SRCS "asset_loaders/common/heatshrink_encoder.c" "./midi" "./modes" "./modes/games" - "./modes/games/pinball" "./modes/games/bigbug" "./modes/games/ultimateTTT" "./modes/games/2048/" "./modes/music" "./modes/music/colorchord" "./modes/music/jukebox" - "./modes/music/usbsynth" "./modes/music/tunernome" + "./modes/music/usbsynth" "./modes/system" "./modes/system/credits" "./modes/system/intro" @@ -123,8 +117,8 @@ idf_component_register(SRCS "asset_loaders/common/heatshrink_encoder.c" "./modes/test" "./modes/test/accelTest" "./modes/test/factoryTest" - "./modes/test/touchTest" "./modes/test/keebTest" + "./modes/test/touchTest" "./modes/utilities" "./modes/utilities/dance" "./modes/utilities/gamepad" diff --git a/main/modes/games/pinball/mode_pinball.h b/main/modes/games/pinball/mode_pinball.h deleted file mode 100644 index 20546c649..000000000 --- a/main/modes/games/pinball/mode_pinball.h +++ /dev/null @@ -1,111 +0,0 @@ -#pragma once - -//============================================================================== -// Includes -//============================================================================== - -#include -#include "swadge2024.h" - -//============================================================================== -// Defines -//============================================================================== - -#define PIN_US_PER_FRAME 16667 -#define NUM_ZONES 32 - -#define MAX_NUM_BALLS 512 -#define MAX_NUM_WALLS 1024 -#define MAX_NUM_BUMPERS 10 -#define MAX_NUM_TOUCHES 16 -#define MAX_NUM_FLIPPERS 6 - -#define NUM_FRAME_TIMES 60 - -//============================================================================== -// Enums -//============================================================================== - -typedef enum -{ - PIN_NO_SHAPE, - PIN_CIRCLE, - PIN_LINE, - PIN_RECT, - PIN_FLIPPER, -} pbShapeType_t; - -//============================================================================== -// Structs -//============================================================================== - -typedef struct -{ - circleFl_t c; - vecFl_t vel; // Velocity is in pixels per frame (@ 60fps, so pixels per 16.7ms) - vecFl_t accel; // Acceleration is pixels per frame squared - vecFl_t lastPos; // The previous postion, used to compare actual positional change to velocity - bool bounce; // true if the ball bounced this frame, false otherwise - uint32_t zoneMask; - paletteColor_t color; - bool filled; -} pbCircle_t; - -typedef struct -{ - lineFl_t l; - float length; - uint32_t zoneMask; - paletteColor_t color; -} pbLine_t; - -typedef struct -{ - rectangleFl_t r; - uint32_t zoneMask; - paletteColor_t color; -} pbRect_t; - -typedef struct -{ - pbCircle_t cPivot; ///< The circle that the flipper pivots on - pbCircle_t cTip; ///< The circle at the tip of the flipper - pbLine_t sideL; ///< The left side of the flipper when pointing upward - pbLine_t sideR; ///< The right side of the flipper when pointing upward - int32_t length; ///< The length of the flipper, from pivot center to tip center - float angle; ///< The current angle of the flipper - bool facingRight; ///< True if the flipper is facing right, false if left - bool buttonHeld; ///< True if the button is being held down, false if it is released - uint32_t zoneMask; ///< The zones this flipper is in -} pbFlipper_t; - -typedef struct -{ - const void* obj; - pbShapeType_t type; -} pbTouchRef_t; - -typedef struct -{ - pbCircle_t* balls; - uint32_t numBalls; - pbTouchRef_t** ballsTouching; - pbLine_t* walls; - uint32_t numWalls; - pbCircle_t* bumpers; - uint32_t numBumpers; - pbFlipper_t* flippers; - uint32_t numFlippers; - int32_t frameTimer; - pbRect_t zones[NUM_ZONES]; - font_t ibm_vga8; - - uint32_t frameTimes[NUM_FRAME_TIMES]; - uint32_t frameTimesIdx; -} pinball_t; - -//============================================================================== -// Extern variables -//============================================================================== - -extern swadgeMode_t pinballMode; diff --git a/main/modes/games/pinball/pinball_draw.c b/main/modes/games/pinball/pinball_draw.c deleted file mode 100644 index 0cdd62265..000000000 --- a/main/modes/games/pinball/pinball_draw.c +++ /dev/null @@ -1,134 +0,0 @@ -//============================================================================== -// Includes -//============================================================================== - -#include "pinball_draw.h" - -//============================================================================== -// Function Declarations -//============================================================================== - -static void drawPinCircle(pbCircle_t* c); -static void drawPinLine(pbLine_t* l); -// static void drawPinRect(pbRect_t* r); -static void drawPinFlipper(pbFlipper_t* f); - -//============================================================================== -// Functions -//============================================================================== - -/** - * @brief Draw a section of the background - * - * @param p Pinball state - * @param x The x coordinate of the background to draw - * @param y The y coordinate of the background to draw - * @param w The width of the background to draw - * @param h The height of the background to draw - */ -void pinballDrawBackground(pinball_t* p, int16_t x, int16_t y, int16_t w, int16_t h) -{ - // Fill with black - fillDisplayArea(x, y, x + w, y + h, c000); -} - -/** - * @brief Draw the foreground - * - * @param p Pinball state - */ -void pinballDrawForeground(pinball_t* p) -{ - // Draw walls - for (uint32_t wIdx = 0; wIdx < p->numWalls; wIdx++) - { - drawPinLine(&p->walls[wIdx]); - } - - // Draw bumpers - for (uint32_t uIdx = 0; uIdx < p->numBumpers; uIdx++) - { - drawPinCircle(&p->bumpers[uIdx]); - } - - // Draw balls - for (uint32_t bIdx = 0; bIdx < p->numBalls; bIdx++) - { - drawPinCircle(&p->balls[bIdx]); - } - - // Draw flippers - for (uint32_t fIdx = 0; fIdx < p->numFlippers; fIdx++) - { - drawPinFlipper(&p->flippers[fIdx]); - } - - // Debug draw zones - // for (int32_t i = 0; i < NUM_ZONES; i++) - // { - // drawPinRect(&p->zones[i]); - // } - - // Calculate and draw FPS - int32_t startIdx = (p->frameTimesIdx + 1) % NUM_FRAME_TIMES; - uint32_t tElapsed = p->frameTimes[p->frameTimesIdx] - p->frameTimes[startIdx]; - if (0 != tElapsed) - { - uint32_t fps = (1000000 * NUM_FRAME_TIMES) / tElapsed; - - char tmp[16]; - snprintf(tmp, sizeof(tmp) - 1, "%" PRIu32, fps); - drawText(&p->ibm_vga8, c555, tmp, 35, 2); - } -} - -/** - * @brief Draw a pinball circle - * - * @param c The circle to draw - */ -void drawPinCircle(pbCircle_t* circ) -{ - if (circ->filled) - { - drawCircleFilled((circ->c.pos.x), (circ->c.pos.y), (circ->c.radius), circ->color); - } - else - { - drawCircle((circ->c.pos.x), (circ->c.pos.y), (circ->c.radius), circ->color); - } -} - -/** - * @brief Draw a pinball line - * - * @param l The line to draw - */ -void drawPinLine(pbLine_t* line) -{ - drawLineFast((line->l.p1.x), (line->l.p1.y), (line->l.p2.x), (line->l.p2.y), line->color); -} - -/** - * @brief Draw a pinball rectangle - * - * @param r The rectangle to draw - */ -// void drawPinRect(pbRect_t* rect) -// { -// drawRect(rect->r.pos.x, rect->r.pos.y, rect->r.pos.x + rect->r.width, rect->r.pos.y + rect->r.height, -// rect->color); -// } - -/** - * @brief Draw a pinball flipper - * - * @param f The flipper to draw - */ -void drawPinFlipper(pbFlipper_t* f) -{ - drawPinCircle(&f->cPivot); - drawPinCircle(&f->cTip); - drawPinLine(&f->sideL); - drawPinLine(&f->sideR); -} diff --git a/main/modes/games/pinball/pinball_draw.h b/main/modes/games/pinball/pinball_draw.h deleted file mode 100644 index 2e10f138e..000000000 --- a/main/modes/games/pinball/pinball_draw.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -#include "mode_pinball.h" - -void pinballDrawBackground(pinball_t* p, int16_t x, int16_t y, int16_t w, int16_t h); -void pinballDrawForeground(pinball_t* p); diff --git a/main/modes/games/pinball/pinball_physics.c b/main/modes/games/pinball/pinball_physics.c deleted file mode 100644 index 54568988f..000000000 --- a/main/modes/games/pinball/pinball_physics.c +++ /dev/null @@ -1,771 +0,0 @@ -//============================================================================== -// Includes -//============================================================================== - -#include -#include "pinball_physics.h" -#include "pinball_zones.h" - -//============================================================================== -// Function Declarations -//============================================================================== - -bool checkBallPbCircleCollision(pbCircle_t* ball, pbCircle_t* circle, pbTouchRef_t* touchRef); -bool checkBallPbLineCollision(pbCircle_t* ball, pbLine_t* line, pbTouchRef_t* touchRef); - -void checkBallBallCollisions(pinball_t* p); -void checkBallStaticCollision(pinball_t* p); -void sweepCheckFlippers(pinball_t* p); - -void moveBalls(pinball_t* p); - -void checkBallsNotTouching(pinball_t* p); -void setBallTouching(pbTouchRef_t* ballTouching, const void* obj, pbShapeType_t type); -pbShapeType_t ballIsTouching(pbTouchRef_t* ballTouching, const void* obj); - -void checkBallsAtRest(pinball_t* p); - -void moveBallBackFromLine(pbCircle_t* ball, pbLine_t* line, vecFl_t* collisionVec); -void moveBallBackFromCircle(pbCircle_t* ball, pbCircle_t* fixed); - -//============================================================================== -// Functions -//============================================================================== - -/** - * @brief TODO - * - * @param p - */ -void updatePinballPhysicsFrame(pinball_t* p) -{ - // Move balls along new vectors - moveBalls(p); - - // Move flippers rotationally - sweepCheckFlippers(p); - - // If there are multiple balls - if (1 < p->numBalls) - { - // Check for ball-ball collisions - checkBallBallCollisions(p); - } - - // Check for collisions between balls and static objects - checkBallStaticCollision(p); - - // Check if balls are actually at rest - checkBallsAtRest(p); - - // Clear references to balls touching things after moving - checkBallsNotTouching(p); -} - -/** - * @brief TODO - * - * @param p - */ -void checkBallBallCollisions(pinball_t* p) -{ - // For each ball, check collisions with other balls - for (uint32_t bIdx = 0; bIdx < p->numBalls; bIdx++) - { - pbCircle_t* ball = &p->balls[bIdx]; - for (uint32_t obIdx = bIdx + 1; obIdx < p->numBalls; obIdx++) - { - pbCircle_t* otherBall = &p->balls[obIdx]; - vecFl_t centerToCenter; - // Check for a new collision - if ((ball->zoneMask & otherBall->zoneMask) // In the same zone - && circleCircleFlIntersection(ball->c, otherBall->c, NULL, ¢erToCenter)) // and intersecting - { - // Move balls backwards equally from the midpoint to not clip - float halfDistM = (ball->c.radius + otherBall->c.radius - EPSILON) / 2.0f; - vecFl_t midwayPoint = divVecFl2d(addVecFl2d(ball->c.pos, otherBall->c.pos), 2.0f); - vecFl_t vecFromMid = mulVecFl2d(normVecFl2d(centerToCenter), halfDistM); - - // Move both balls - ball->c.pos = addVecFl2d(midwayPoint, vecFromMid); - otherBall->c.pos = subVecFl2d(midwayPoint, vecFromMid); - - // If the balls aren't touching yet, adjust velocities (bounce) - if (PIN_NO_SHAPE == ballIsTouching(p->ballsTouching[bIdx], otherBall)) - { - // Math for the first ball - vecFl_t v1 = ball->vel; - vecFl_t x1 = ball->c.pos; - vecFl_t v2 = otherBall->vel; - vecFl_t x2 = otherBall->c.pos; - vecFl_t x1_x2 = subVecFl2d(x1, x2); - vecFl_t v1_v2 = subVecFl2d(v1, v2); - float xSqMag = sqMagVecFl2d(x1_x2); - vecFl_t ballNewVel = ball->vel; - if (xSqMag > 0) - { - ballNewVel = subVecFl2d(v1, mulVecFl2d(x1_x2, (dotVecFl2d(v1_v2, x1_x2) / xSqMag))); - } - - // Flip everything for the other ball - v1 = otherBall->vel; - x1 = otherBall->c.pos; - v2 = ball->vel; - x2 = ball->c.pos; - x1_x2 = subVecFl2d(x1, x2); - v1_v2 = subVecFl2d(v1, v2); - xSqMag = sqMagVecFl2d(x1_x2); - if (xSqMag > 0) - { - otherBall->vel - = subVecFl2d(v1, mulVecFl2d(x1_x2, (dotVecFl2d(v1_v2, x1_x2) / sqMagVecFl2d(x1_x2)))); - } - - // Set the new velocity for the first ball after finding the second's - ball->vel = ballNewVel; - - // The balls are touching each other - setBallTouching(p->ballsTouching[bIdx], otherBall, PIN_CIRCLE); - setBallTouching(p->ballsTouching[obIdx], ball, PIN_CIRCLE); - - // Mark both balls as bounced - ball->bounce = true; - otherBall->bounce = true; - } - } - } - } -} - -/** - * @brief TODO - * - * @param ball - * @param circle - * @param touchRef - * @return true - * @return false - */ -bool checkBallPbCircleCollision(pbCircle_t* ball, pbCircle_t* circle, pbTouchRef_t* touchRef) -{ - bool bounced = false; - vecFl_t collisionVec; - - // Check for a collision - if ((ball->zoneMask & circle->zoneMask) // In the same zone - && circleCircleFlIntersection(ball->c, circle->c, NULL, &collisionVec)) // and intersecting - { - // Find the normalized vector along the collision normal - vecFl_t reflVec = normVecFl2d(collisionVec); - - // If the ball isn't already touching the circle - if (PIN_NO_SHAPE == ballIsTouching(touchRef, circle)) - { - // Bounced on a circle - ball->bounce = true; - bounced = true; - // Reflect the velocity vector along the normal between the two radii - // See http://www.sunshine2k.de/articles/coding/vectorreflection/vectorreflection.html - ball->vel = subVecFl2d(ball->vel, mulVecFl2d(reflVec, (2 * dotVecFl2d(ball->vel, reflVec)))); - // Lose some speed on the bounce - ball->vel = mulVecFl2d(ball->vel, WALL_BOUNCINESS); - // printf("%d,%.4f,%.4f\n", __LINE__, ball->vel.x, ball->vel.y); - // Mark this circle as being touched to not double-bounce - setBallTouching(touchRef, circle, PIN_CIRCLE); - } - - // Move ball back to not clip into the circle - moveBallBackFromCircle(ball, circle); - // ball->c.pos = addVecFl2d(circle->c.pos, mulVecFl2d(reflVec, ball->c.radius + circle->c.radius - EPSILON)); - } - return bounced; -} - -/** - * @brief TODO - * - * @param ball - * @param line - * @param touchRef - * @return true - * @return false - */ -bool checkBallPbLineCollision(pbCircle_t* ball, pbLine_t* line, pbTouchRef_t* touchRef) -{ - bool bounced = false; - vecFl_t collisionVec; - vecFl_t cpOnLine; - // Check for a collision - if ((ball->zoneMask & line->zoneMask) // In the same zone - && circleLineFlIntersection(ball->c, line->l, true, &cpOnLine, &collisionVec)) // and intersecting - { - /* TODO this reflection can have bad results when colliding with the tip of a line. - * The center-center vector can get weird if the ball moves fast and clips into the tip. - * The solution is probably to binary-search-move the ball as far as it'll go without clipping - */ - - // Find the normalized vector along the collision normal - vecFl_t reflVec = normVecFl2d(collisionVec); - - // If the ball isn't already touching the line - if (PIN_NO_SHAPE == ballIsTouching(touchRef, line)) - { - // The dot product with the collision normal is how much Y velocity component there is. - // If this value is small the ball should slide down the line (i.e. don't lose velocity on the bounce) - float velDotColNorm = dotVecFl2d(ball->vel, reflVec); - - // Bounce it by reflecting across the collision normal - ball->vel = subVecFl2d(ball->vel, mulVecFl2d(reflVec, (2 * velDotColNorm))); - - // Check if the ball should slide (i.e. not lose velocity) or bounce (i.e. lose velocity) - // 0 means the ball's velocity is parallel to the wall (slide) - // -mag(vel) means the ball's velocity is perpendicular to the wall (bounce) - if (velDotColNorm < -0.2f) - { - // Lose some speed on the bounce. - ball->vel = mulVecFl2d(ball->vel, WALL_BOUNCINESS); - } - - // Mark this line as being touched to not double-bounce - setBallTouching(touchRef, line, PIN_LINE); - - // Bounced off a line - ball->bounce = true; - bounced = true; - } - - // Move ball back to not clip into the bumper - // TODO accommodate line end collisions (circle) - moveBallBackFromLine(ball, line, &reflVec); - // ball->c.pos = addVecFl2d(cpOnLine, mulVecFl2d(reflVec, ball->c.radius - EPSILON)); - } - return bounced; -} - -/** - * @brief TODO - * - * @param p - */ -void checkBallStaticCollision(pinball_t* p) -{ - // For each ball, check collisions with static objects - for (uint32_t bIdx = 0; bIdx < p->numBalls; bIdx++) - { - // Reference and integer representation - pbCircle_t* ball = &p->balls[bIdx]; - - // Iterate over all bumpers - for (uint32_t uIdx = 0; uIdx < p->numBumpers; uIdx++) - { - checkBallPbCircleCollision(ball, &p->bumpers[uIdx], p->ballsTouching[bIdx]); - } - - // Iterate over all walls - for (uint32_t wIdx = 0; wIdx < p->numWalls; wIdx++) - { - checkBallPbLineCollision(ball, &p->walls[wIdx], p->ballsTouching[bIdx]); - } - } -} - -/** - * @brief TODO - * - * @param p - */ -void sweepCheckFlippers(pinball_t* p) -{ - // For each flipper - for (uint32_t fIdx = 0; fIdx < p->numFlippers; fIdx++) - { - pbFlipper_t* flipper = &p->flippers[fIdx]; - - // Check if the flipper is moving up or down - float angularVel = 0; - if (flipper->buttonHeld) - { - angularVel = FLIPPER_UP_DEGREES_PER_FRAME; - } - else - { - angularVel = -FLIPPER_DOWN_DEGREES_PER_FRAME; - } - - // Find the bounds for the flipper depending on the direction it's facing - float lBound = 0; - float uBound = 0; - if (flipper->facingRight) - { - lBound = M_PI_2 - FLIPPER_UP_ANGLE; - uBound = M_PI_2 + FLIPPER_DOWN_ANGLE; - // Flip velocity if facing right - angularVel *= -1; - } - else - { - lBound = (M_PI + M_PI_2) - FLIPPER_DOWN_ANGLE; - uBound = (M_PI + M_PI_2) + FLIPPER_UP_ANGLE; - } - - // Flipper starts here - float sweepStart = flipper->angle; - // Flipper ends here, bounded - float sweepEnd = flipper->angle + angularVel; - sweepEnd = CLAMP((sweepEnd), lBound, uBound); - - // Find sweep steps if in motion - float sweepStep = 0.0f; - int numSteps = 0; - if (sweepStart == sweepEnd) - { - // Flipper not in motion - angularVel = 0; - sweepStep = 0; - numSteps = 1; - } - else - { - // Flipper in motion - // TODO large sweep steps kill framerate.... - numSteps = 8; - sweepStep = (sweepEnd - sweepStart) / (float)numSteps; - } - - // Move the flipper a little, then check for collisions - for (int32_t step = 0; step < numSteps; step++) - { - // Sweep the flipper a little - flipper->angle += sweepStep; - updateFlipperPos(flipper); - - // Normal collision checks - // For each ball, check collisions with flippers objects - for (uint32_t bIdx = 0; bIdx < p->numBalls; bIdx++) - { - // Reference and integer representation - pbCircle_t* ball = &p->balls[bIdx]; - pbTouchRef_t* touchRef = p->ballsTouching[bIdx]; - - if (ball->zoneMask & flipper->zoneMask) - { - // Check if the ball is touching any part of the flipper - bool touching = false; - vecFl_t colPoint, colVec; - if (circleLineFlIntersection(ball->c, flipper->sideL.l, false, &colPoint, &colVec)) - { - // Move ball back to not clip into the flipper - colVec = normVecFl2d(colVec); - moveBallBackFromLine(ball, &flipper->sideL, &colVec); - // ball->c.pos = addVecFl2d(colPoint, mulVecFl2d(normVecFl2d(colVec), ball->c.radius - - // EPSILON)); - touching = true; - } - if (circleLineFlIntersection(ball->c, flipper->sideR.l, false, &colPoint, &colVec)) - { - // Move ball back to not clip into the flipper - colVec = normVecFl2d(colVec); - moveBallBackFromLine(ball, &flipper->sideR, &colVec); - // ball->c.pos = addVecFl2d(colPoint, mulVecFl2d(normVecFl2d(colVec), ball->c.radius - - // EPSILON)); - touching = true; - } - if (circleCircleFlIntersection(ball->c, flipper->cPivot.c, &colPoint, &colVec)) - { - // Move ball back to not clip into the flipper - moveBallBackFromCircle(ball, &flipper->cPivot); - // ball->c.pos = addVecFl2d(colPoint, mulVecFl2d(normVecFl2d(colVec), ball->c.radius - - // EPSILON)); - touching = true; - } - if (circleCircleFlIntersection(ball->c, flipper->cTip.c, &colPoint, &colVec)) - { - // Move ball back to not clip into the flipper - moveBallBackFromCircle(ball, &flipper->cTip); - // ball->c.pos = addVecFl2d(colPoint, mulVecFl2d(normVecFl2d(colVec), ball->c.radius - - // EPSILON)); - touching = true; - } - - // If the ball is touching the flipper for the first time - if (touching && (PIN_NO_SHAPE == ballIsTouching(touchRef, flipper))) - { - // Mark them as in contact - setBallTouching(touchRef, flipper, PIN_FLIPPER); - - // Bounce the ball - vecFl_t reflVec = normVecFl2d(colVec); - ball->vel = subVecFl2d(ball->vel, mulVecFl2d(reflVec, (2 * dotVecFl2d(ball->vel, reflVec)))); - - // If the flipper is in motion - if (0 != angularVel) - { - // Get the distance between the pivot and the ball - float dist = magVecFl2d(subVecFl2d(flipper->cPivot.c.pos, ball->c.pos)); - // Convert angular velocity of the flipper to linear velocity at that point - float impulseMag = (ABS(angularVel) * dist); - - // Impart an impulse on the ball along the collision normal - ball->vel = addVecFl2d(ball->vel, mulVecFl2d(reflVec, impulseMag)); - } - } - } - } - } - - // Make sure the final angle is correct - flipper->angle = sweepEnd; - } -} - -/** - * @brief TODO - * - * @param p - */ -void moveBalls(pinball_t* p) -{ - // For each ball, check collisions with static objects - for (uint32_t bIdx = 0; bIdx < p->numBalls; bIdx++) - { - pbCircle_t* ball = &p->balls[bIdx]; - - // Acceleration changes velocity - // TODO adjust gravity vector when on top of a line - ball->vel = addVecFl2d(ball->vel, ball->accel); - // printf("%d,%.4f,%.4f\n", __LINE__, ball->vel.x, ball->vel.y); - - // Save the last position to check if the ball is at rest - ball->lastPos = ball->c.pos; - - // Move the ball - ball->c.pos.x += (ball->vel.x); - ball->c.pos.y += (ball->vel.y); - - // Update zone mask - // TODO update this after nudging ball too? - ball->zoneMask = pinZoneCircle(p, *ball); - } -} - -/** - * @brief TODO - * - * @param p - */ -void checkBallsNotTouching(pinball_t* p) -{ - // For each ball - for (uint32_t bIdx = 0; bIdx < p->numBalls; bIdx++) - { - pbCircle_t* ball = &p->balls[bIdx]; - // For each thing it could be touching - for (uint32_t tIdx = 0; tIdx < MAX_NUM_TOUCHES; tIdx++) - { - pbTouchRef_t* tr = &p->ballsTouching[bIdx][tIdx]; - // If it's touching a thing - if (NULL != tr->obj) - { - bool setNotTouching = false; - switch (tr->type) - { - case PIN_CIRCLE: - { - const pbCircle_t* other = (const pbCircle_t*)tr->obj; - if ((0 == (ball->zoneMask & other->zoneMask)) // Not in the same zone - || !circleCircleFlIntersection(ball->c, other->c, NULL, NULL)) // or not touching - { - setNotTouching = true; - } - break; - } - case PIN_LINE: - { - const pbLine_t* other = (const pbLine_t*)tr->obj; - if ((0 == (ball->zoneMask & other->zoneMask)) // Not in the same zone - || !circleLineFlIntersection(ball->c, other->l, true, NULL, NULL)) // or not touching - { - setNotTouching = true; - } - break; - } - case PIN_RECT: - { - const pbRect_t* other = (const pbRect_t*)tr->obj; - if ((0 == (ball->zoneMask & other->zoneMask)) // Not in the same zone - || !circleRectFlIntersection(ball->c, other->r, NULL)) // or not touching - { - setNotTouching = true; - } - break; - } - case PIN_FLIPPER: - { - const pbFlipper_t* flipper = (const pbFlipper_t*)tr->obj; - if ((0 == (ball->zoneMask & flipper->zoneMask)) // Not in the same zone - || !(circleCircleFlIntersection(ball->c, flipper->cPivot.c, NULL, NULL) // or not touching - || circleCircleFlIntersection(ball->c, flipper->cTip.c, NULL, NULL) - || circleLineFlIntersection(ball->c, flipper->sideL.l, false, NULL, NULL) - || circleLineFlIntersection(ball->c, flipper->sideR.l, false, NULL, NULL))) - { - setNotTouching = true; - } - break; - } - default: - case PIN_NO_SHAPE: - { - // Not touching anything... - break; - } - } - - // If the object is no longer touching - if (setNotTouching) - { - // Clear the reference - tr->obj = NULL; - tr->type = PIN_NO_SHAPE; - } - } - } - } -} - -/** - * @brief TODO - * - * @param ballTouching - * @param obj - * @param type - */ -void setBallTouching(pbTouchRef_t* ballTouching, const void* obj, pbShapeType_t type) -{ - for (uint32_t i = 0; i < MAX_NUM_TOUCHES; i++) - { - if (NULL == ballTouching->obj) - { - ballTouching->obj = obj; - ballTouching->type = type; - return; - } - } -} - -/** - * @brief TODO - * - * @param ballTouching - * @param obj - * @return pbShapeType_t - */ -pbShapeType_t ballIsTouching(pbTouchRef_t* ballTouching, const void* obj) -{ - for (uint32_t i = 0; i < MAX_NUM_TOUCHES; i++) - { - if (ballTouching->obj == obj) - { - return ballTouching->type; - } - } - return PIN_NO_SHAPE; -} - -/** - * @brief TODO - * - * @param p - */ -void checkBallsAtRest(pinball_t* p) -{ - // For each ball - for (uint32_t bIdx = 0; bIdx < p->numBalls; bIdx++) - { - pbCircle_t* ball = &p->balls[bIdx]; - - // If the ball didn't bounce this frame (which can adjust position to not clip) - if (false == ball->bounce) - { - // And the ball is traveling downward - if (ball->vel.y > 0) - { - // See how far the ball actually traveled - float velM = sqMagVecFl2d(ball->vel); - - // If the ball is moving slowly - if (velM < 1.0f) - { - // And it didn't move as much as it should have - float posDeltaM = sqMagVecFl2d(subVecFl2d(ball->c.pos, ball->lastPos)); - if ((velM - posDeltaM) > 0.01f) - { - // Stop the ball altogether to not accumulate velocity - ball->vel.x = 0; - ball->vel.y = 0; - } - } - } - } - else - { - // Clear the bounce flag - ball->bounce = false; - } - } -} - -/** - * @brief Update the position of a flipper's tip circle and line walls depending on the flipper's angle. The pivot - * circle never changes. - * - * @param f The flipper to update - */ -void updateFlipperPos(pbFlipper_t* f) -{ - // Make sure the angle is between 0 and 360 - while (f->angle < 0) - { - f->angle += (2 * M_PI); - } - while (f->angle >= (2 * M_PI)) - { - f->angle -= (2 * M_PI); - } - - // This is the set of points to rotate - vecFl_t points[] = { - { - // Center of the tip of the flipper - .x = 0, - .y = -f->length, - }, - { - // Bottom point of the right side - .x = f->cPivot.c.radius, - .y = 0, - }, - { - // Top point of the right side - .x = f->cTip.c.radius, - .y = -f->length, - }, - { - // Bottom point of the left side - .x = -f->cPivot.c.radius, - .y = 0, - }, - { - // Top point of the left side - .x = -f->cTip.c.radius, - .y = -f->length, - }, - }; - - // This is where to write the rotated points - vecFl_t* dests[] = { - &f->cTip.c.pos, &f->sideR.l.p1, &f->sideR.l.p2, &f->sideL.l.p1, &f->sideL.l.p2, - }; - - // Get the trig values for all rotations, just once - float sinA = sinf(f->angle); - float cosA = cosf(f->angle); - - // For each point - for (int32_t idx = 0; idx < ARRAY_SIZE(points); idx++) - { - // Rotate the point - float oldX = points[idx].x; - float oldY = points[idx].y; - float newX = (oldX * cosA) - (oldY * sinA); - float newY = (oldX * sinA) + (oldY * cosA); - - // Translate relative to the pivot point - dests[idx]->x = f->cPivot.c.pos.x + newX; - dests[idx]->y = f->cPivot.c.pos.y + newY; - } -} - -/** - * @brief TODO - * - * see - * https://github.com/AEFeinstein/Super-2024-Swadge-FW/blob/4d7d41d9ab0e3a7670a967a0a4cd72364a8c39ac/main/modes/pinball/pinball_physics.c - * - * @param ball - * @param line - * @param collisionVec - */ -void moveBallBackFromLine(pbCircle_t* ball, pbLine_t* line, vecFl_t* collisionNorm) -{ - // Do a bunch of work to adjust the ball's position to not clip into this line. - // First create a copy of the line - lineFl_t barrierLine = line->l; - - // Then find the normal vector to the barrier, pointed towards the ball - vecFl_t barrierOffset = mulVecFl2d(*collisionNorm, ball->c.radius); - - // Translate the along the normal vector, the distance of the radius - // This creates a line parallel to the wall where the ball's center could be - barrierLine.p1 = addVecFl2d(barrierLine.p1, barrierOffset); - barrierLine.p2 = addVecFl2d(barrierLine.p2, barrierOffset); - - // Create a line for the ball's motion - lineFl_t ballLine = { - .p1 = ball->c.pos, - .p2 = addVecFl2d(ball->c.pos, ball->vel), - }; - - // Find the intersection between where the ball's center could be and the ball's trajectory. - // Set the ball's position to that point - ball->c.pos = infLineIntersectionPoint(barrierLine, ballLine); -} - -/** - * @brief TODO - * - * @param ball - * @param fixed - */ -void moveBallBackFromCircle(pbCircle_t* ball, pbCircle_t* fixed) -{ - // Create a barrier circle around the fixed that the ball's center can't pass through - circleFl_t barrier = fixed->c; - barrier.radius += ball->c.radius; - - // Create a line for the ball's motion - lineFl_t ballLine = { - .p1 = ball->c.pos, - .p2 = addVecFl2d(ball->c.pos, ball->vel), - }; - - vecFl_t intersection_1; - vecFl_t intersection_2; - switch (circleLineFlIntersectionPoints(barrier, ballLine, &intersection_1, &intersection_2)) - { - default: - case 0: - { - // No intersection? - break; - } - case 1: - { - ball->c.pos = intersection_1; - break; - } - case 2: - { - // Two intersection points, use the one closer to ball->c.pos - float diff1 = sqMagVecFl2d(subVecFl2d(ball->c.pos, intersection_1)); - float diff2 = sqMagVecFl2d(subVecFl2d(ball->c.pos, intersection_2)); - if (diff1 < diff2) - { - ball->c.pos = intersection_1; - } - else - { - ball->c.pos = intersection_2; - } - } - } -} \ No newline at end of file diff --git a/main/modes/games/pinball/pinball_physics.h b/main/modes/games/pinball/pinball_physics.h deleted file mode 100644 index ac33bb964..000000000 --- a/main/modes/games/pinball/pinball_physics.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once - -#include "mode_pinball.h" - -#define PINBALL_GRAVITY (1 / 60.0f) ///< Gravitational constant - -#define WALL_BOUNCINESS 0.5f - -#define FLIPPER_UP_DEGREES_PER_FRAME 0.296705972839036f ///< Number of degrees (17) to move a flipper up per 60fps frame -#define FLIPPER_DOWN_DEGREES_PER_FRAME \ - 0.174532925199433f ///< Number of degrees (10) to move a flipper down per 60fps frame -#define FLIPPER_UP_ANGLE 0.349065850398866f ///< Angle of a flipper (20) when actuated -#define FLIPPER_DOWN_ANGLE 0.523598775598299f ///< Angle of a flipper (30) when idle - -void updateFlipperPos(pbFlipper_t* f); -void updatePinballPhysicsFrame(pinball_t* p); diff --git a/main/modes/games/pinball/pinball_test.c b/main/modes/games/pinball/pinball_test.c deleted file mode 100644 index 3af6cb4d4..000000000 --- a/main/modes/games/pinball/pinball_test.c +++ /dev/null @@ -1,316 +0,0 @@ -//============================================================================== -// Includes -//============================================================================== - -#include -#include "pinball_test.h" -#include "pinball_zones.h" -#include "pinball_physics.h" - -//============================================================================== -// Functions -//============================================================================== - -/** - * @brief TODO - * - * @param p - * @param x - * @param y - */ -void pbCreateBall(pinball_t* p, float x, float y) -{ - pbCircle_t* ball = &p->balls[p->numBalls++]; -#define BALL_RAD 5 - ball->c.radius = (BALL_RAD); - ball->c.pos.x = x; - ball->c.pos.y = y; - ball->lastPos.x = x; - ball->lastPos.y = y; - // #define MAX_VEL 128 - ball->vel.x = 0; - ball->vel.y = 0; - ball->accel.x = 0; - ball->accel.y = PINBALL_GRAVITY; - ball->color = c500; - ball->filled = true; -} - -/** - * @brief Create balls with random positions and velocities - * - * @param p The pinball state - * @param numBalls The number of balls to create - */ -void createRandomBalls(pinball_t* p, int32_t numBalls) -{ - // Don't overflow - if (numBalls > MAX_NUM_BALLS) - { - numBalls = MAX_NUM_BALLS; - } - p->numBalls = 0; - - // Make some balls - for (int32_t i = 0; i < numBalls; i++) - { - pbCircle_t* ball = &p->balls[p->numBalls++]; -#define BALL_RAD 5 - ball->c.radius = (BALL_RAD); - ball->c.pos.x = ((BALL_RAD + 1) + (esp_random() % (TFT_WIDTH - 2 * (BALL_RAD + 1)))); - ball->c.pos.y = ((BALL_RAD + 1) + (esp_random() % (TFT_HEIGHT - 2 * (BALL_RAD + 1)))); - ball->lastPos.x = ball->c.pos.x; - ball->lastPos.y = ball->c.pos.x; - ball->vel.x = 0; - ball->vel.y = 5 / 60.0f; - ball->accel.x = 0; - ball->accel.y = PINBALL_GRAVITY; - ball->color = esp_random() % cTransparent; - ball->filled = true; - } -} - -/** - * @brief TODO - * - * @param p - * @param numBumpers - */ -void createRandomBumpers(pinball_t* p, int32_t numBumpers) -{ - int fixedBumpersPlaced = 0; - vecFl_t fixedBumpers[] = { - { - .x = 140, - .y = 120, - }, - { - .x = 100, - .y = 80, - }, - { - .x = 180, - .y = 80, - }, - }; - numBumpers += ARRAY_SIZE(fixedBumpers); - - // Don't overflow - if (numBumpers > MAX_NUM_BUMPERS) - { - numBumpers = MAX_NUM_BUMPERS; - } - p->numBumpers = 0; - - // Make some balls - while (numBumpers > p->numBumpers) - { - pbCircle_t bumper = {0}; -#define BUMPER_RAD 10 - bumper.c.radius = (BUMPER_RAD); - if (fixedBumpersPlaced < ARRAY_SIZE(fixedBumpers)) - { - bumper.c.pos = fixedBumpers[fixedBumpersPlaced]; - fixedBumpersPlaced++; - } - else - { - bumper.c.pos.x = ((BUMPER_RAD + 1) + (esp_random() % (TFT_WIDTH - 2 * (BUMPER_RAD + 1)))); - bumper.c.pos.y = ((BUMPER_RAD + 1) + (esp_random() % (TFT_HEIGHT - 2 * (BUMPER_RAD + 1)))); - } - bumper.color = c050; - bumper.filled = false; - bumper.zoneMask = pinZoneCircle(p, bumper); - - bool intersection = false; - for (int32_t ol = 0; ol < p->numWalls; ol++) - { - if (circleLineFlIntersection(bumper.c, p->walls[ol].l, true, NULL, NULL)) - { - intersection = true; - break; - } - } - - for (int32_t ob = 0; ob < p->numBumpers; ob++) - { - if (circleCircleFlIntersection(bumper.c, p->bumpers[ob].c, NULL, NULL)) - { - intersection = true; - break; - } - } - - if (!intersection) - { - memcpy(&p->bumpers[p->numBumpers], &bumper, sizeof(pbCircle_t)); - p->numBumpers++; - } - } -} - -/** - * @brief Create random static walls - * - * @param p The pinball state - * @param numWalls The number of walls to create - */ -void createRandomWalls(pinball_t* p, int32_t numWalls) -{ - // Always Create a boundary - lineFl_t corners[] = { - { - .p1 = {.x = (0), .y = (0)}, - .p2 = {.x = (TFT_WIDTH - 1), .y = (0)}, - }, - { - .p1 = {.x = (TFT_WIDTH - 1), .y = (0)}, - .p2 = {.x = (TFT_WIDTH - 1), .y = (TFT_HEIGHT - 1)}, - }, - { - .p1 = {.x = (TFT_WIDTH - 1), .y = (TFT_HEIGHT - 1)}, - .p2 = {.x = (0), .y = (TFT_HEIGHT - 1)}, - }, - { - .p1 = {.x = (0), .y = (TFT_HEIGHT - 1)}, - .p2 = {.x = (0), .y = (0)}, - }, - // { - // .p1 = {.x = 0, .y = 90}, - // .p2 = {.x = 50, .y = 110}, - // }, - // { - // .p1 = {.x = 140, .y = 70}, - // .p2 = {.x = 210, .y = 80}, - // }, - - { - .p1 = {.x = 0, .y = 120}, - .p2 = {.x = 94, .y = 188}, - }, - { - .p1 = {.x = 279, .y = 120}, - .p2 = {.x = 186, .y = 188}, - }, - }; - - // Don't overflow - if (numWalls > MAX_NUM_WALLS - ARRAY_SIZE(corners)) - { - numWalls = MAX_NUM_WALLS - ARRAY_SIZE(corners); - } - p->numWalls = 0; - - for (int32_t i = 0; i < ARRAY_SIZE(corners); i++) - { - pbLine_t* pbl = &p->walls[p->numWalls++]; - pbl->l.p1.x = corners[i].p1.x; - pbl->l.p1.y = corners[i].p1.y; - pbl->l.p2.x = corners[i].p2.x; - pbl->l.p2.y = corners[i].p2.y; - vecFl_t delta = { - .x = pbl->l.p2.x - pbl->l.p1.x, - .y = pbl->l.p2.y - pbl->l.p1.y, - }; - pbl->length = magVecFl2d(delta); - pbl->color = c555; - pbl->zoneMask = pinZoneLine(p, *pbl); - } - - // Make a bunch of random lines - while (numWalls > p->numWalls) - { - pbLine_t pbl = {0}; // = &p->walls[p->numWalls++]; - -#define L_LEN 12 - - pbl.l.p1.x = (L_LEN + (esp_random() % (TFT_WIDTH - (L_LEN * 2)))); - pbl.l.p1.y = (L_LEN + (esp_random() % (TFT_HEIGHT - (L_LEN * 2)))); - pbl.l.p2.x = pbl.l.p1.x + ((esp_random() % (L_LEN * 2)) - L_LEN); - pbl.l.p2.y = pbl.l.p1.y + ((esp_random() % (L_LEN * 2)) - L_LEN); - vecFl_t delta = { - .x = pbl.l.p2.x - pbl.l.p1.x, - .y = pbl.l.p2.y - pbl.l.p1.y, - }; - pbl.length = magVecFl2d(delta); - pbl.color = c005; // esp_random() % cTransparent; - - if (pbl.l.p1.x == pbl.l.p2.x && pbl.l.p1.y == pbl.l.p2.y) - { - if (esp_random() % 2) - { - pbl.l.p2.x = (pbl.l.p2.x) + ((1)); - } - else - { - pbl.l.p2.y = (pbl.l.p2.y) + ((1)); - } - } - - pbl.zoneMask = pinZoneLine(p, pbl); - - bool intersection = false; - for (int32_t ol = 0; ol < p->numWalls; ol++) - { - if (lineLineFlIntersection(pbl.l, p->walls[ol].l)) - { - intersection = true; - } - } - - for (int32_t ob = 0; ob < p->numBumpers; ob++) - { - if (circleLineFlIntersection(p->bumpers[ob].c, pbl.l, true, NULL, NULL)) - { - intersection = true; - } - } - - if (!intersection) - { - memcpy(&p->walls[p->numWalls], &pbl, sizeof(pbLine_t)); - p->numWalls++; - } - } -} - -/** - * @brief Create a Flipper - * - * @param p The pinball state - * @param pivot_x - * @param pivot_y - * @param facingRight - */ -void createFlipper(pinball_t* p, int32_t pivot_x, int32_t pivot_y, bool facingRight) -{ - pbFlipper_t* f = &p->flippers[p->numFlippers]; - - f->cPivot.color = c505; - f->cTip.color = c505; - f->sideL.color = c505; - f->sideR.color = c505; - - f->cPivot.c.pos.x = pivot_x; - f->cPivot.c.pos.y = pivot_y; - f->cPivot.c.radius = 10; - f->length = 40; - f->cTip.c.radius = 5; - f->facingRight = facingRight; - - f->zoneMask = pinZoneFlipper(p, f); - - // Update angle and position after setting zone - if (f->facingRight) - { - f->angle = M_PI_2 + FLIPPER_DOWN_ANGLE; - } - else - { - f->angle = M_PI + M_PI_2 - FLIPPER_DOWN_ANGLE; - } - updateFlipperPos(f); - - // Update flipper count - p->numFlippers++; -} diff --git a/main/modes/games/pinball/pinball_test.h b/main/modes/games/pinball/pinball_test.h deleted file mode 100644 index 75903a64f..000000000 --- a/main/modes/games/pinball/pinball_test.h +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "mode_pinball.h" - -void pbCreateBall(pinball_t* p, float x, float y); -void createRandomBalls(pinball_t* p, int32_t numBalls); -void createRandomWalls(pinball_t* p, int32_t numWalls); -void createRandomBumpers(pinball_t* p, int32_t numBumpers); -void createFlipper(pinball_t* p, int32_t pivot_x, int32_t pivot_y, bool facingRight); diff --git a/main/modes/games/pinball/pinball_zones.c b/main/modes/games/pinball/pinball_zones.c deleted file mode 100644 index a6ea07ba7..000000000 --- a/main/modes/games/pinball/pinball_zones.c +++ /dev/null @@ -1,178 +0,0 @@ -//============================================================================== -// Includes -//============================================================================== - -#include -#include "pinball_zones.h" -#include "pinball_physics.h" - -//============================================================================== -// Functions -//============================================================================== - -/** - * @brief Split a table up into zones. Each object is assigned to one or more zones for a very quick first-pass - * collision check. - * - * @param p The pinball state - */ -void createTableZones(pinball_t* p) -{ - // Split the space into zones. Start with one big rectangle - int32_t splitOffset = (NUM_ZONES >> 1); - p->zones[0].r.pos.x = 0; - p->zones[0].r.pos.y = 0; - p->zones[0].r.width = (TFT_WIDTH); - p->zones[0].r.height = (TFT_HEIGHT); - p->zones[0].color = c505; - - // While more zoning needs to happen - while (splitOffset) - { - // Iterate over current zones, back to front - for (int32_t i = NUM_ZONES - 1; i >= 0; i--) - { - // If this is a real zone - if (0 < p->zones[i].r.height) - { - // Split it either vertically or horizontally, depending on which is larger - if (p->zones[i].r.height > p->zones[i].r.width) - { - // Split vertically - int32_t newHeight_1 = p->zones[i].r.height / 2; - int32_t newHeight_2 = p->zones[i].r.height - newHeight_1; - - // Shrink the original zone - p->zones[i].r.height = newHeight_1; - - // Create the new zone - p->zones[i + splitOffset].r.height = newHeight_2; - p->zones[i + splitOffset].r.pos.y = p->zones[i].r.pos.y + p->zones[i].r.height; - - p->zones[i + splitOffset].r.width = p->zones[i].r.width; - p->zones[i + splitOffset].r.pos.x = p->zones[i].r.pos.x; - } - else - { - // Split horizontally - int32_t newWidth_1 = p->zones[i].r.width / 2; - int32_t newWidth_2 = p->zones[i].r.width - newWidth_1; - - // Shrink the original zone - p->zones[i].r.width = newWidth_1; - - // Create the new zone - p->zones[i + splitOffset].r.width = newWidth_2; - p->zones[i + splitOffset].r.pos.x = p->zones[i].r.pos.x + p->zones[i].r.width; - - p->zones[i + splitOffset].r.height = p->zones[i].r.height; - p->zones[i + splitOffset].r.pos.y = p->zones[i].r.pos.y; - } - - // Give it a random color, just because - p->zones[i + splitOffset].color = esp_random() % cTransparent; - } - } - - // Half the split offset - splitOffset /= 2; - } -} - -/** - * @brief Determine which table zones a rectangle is in - * - * @param p The pinball state - * @param r The rectangle to zone - * @return A bitmask of the zones the rectangle is in - */ -uint32_t pinZoneRect(pinball_t* p, pbRect_t rect) -{ - uint32_t zoneMask = 0; - for (int16_t z = 0; z < NUM_ZONES; z++) - { - if (rectRectFlIntersection(p->zones[z].r, rect.r, NULL)) - { - zoneMask |= (1 << z); - } - } - return zoneMask; -} - -/** - * @brief Determine which table zones a line is in - * - * @param p The pinball state - * @param l The line to zone - * @return A bitmask of the zones the line is in - */ -uint32_t pinZoneLine(pinball_t* p, pbLine_t line) -{ - uint32_t zoneMask = 0; - for (int16_t z = 0; z < NUM_ZONES; z++) - { - if (rectLineFlIntersection(p->zones[z].r, line.l, NULL)) - { - zoneMask |= (1 << z); - } - } - return zoneMask; -} - -/** - * @brief Determine which table zones a circle is in - * - * @param p The pinball state - * @param r The circle to zone - * @return A bitmask of the zones the circle is in - */ -uint32_t pinZoneCircle(pinball_t* p, pbCircle_t circ) -{ - uint32_t zoneMask = 0; - for (int16_t z = 0; z < NUM_ZONES; z++) - { - if (circleRectFlIntersection(circ.c, p->zones[z].r, NULL)) - { - zoneMask |= (1 << z); - } - } - return zoneMask; -} - -/** - * @brief Determine which table zones a flipper is in. Note, this function will modify the flipper's angle - * - * @param p The pinball state - * @param f The flipper to zone - * @return A bitmask of the zones the circle is in - */ -uint32_t pinZoneFlipper(pinball_t* p, pbFlipper_t* f) -{ - pbRect_t boundingBox = {0}; - if (f->facingRight) - { - // Record the X position - boundingBox.r.pos.x = (f->cPivot.c.pos.x - f->cPivot.c.radius); - } - else - { - // Record the X position - boundingBox.r.pos.x = (f->cPivot.c.pos.x - f->length - f->cTip.c.radius); - } - - // Width is the same when facing left and right - boundingBox.r.width = (f->length + f->cPivot.c.radius + f->cTip.c.radius); - - // Height is the same too. Move the flipper up and record the Y start - f->angle = M_PI_2 - FLIPPER_UP_ANGLE; - updateFlipperPos(f); - boundingBox.r.pos.y = (f->cTip.c.pos.y - f->cTip.c.radius); - - // Move the flipper down and record the Y end - f->angle = M_PI_2 + FLIPPER_DOWN_ANGLE; - updateFlipperPos(f); - boundingBox.r.height = (f->cTip.c.pos.y + f->cTip.c.radius) - boundingBox.r.pos.y; - - // Return the zones of the bounding box - return pinZoneRect(p, boundingBox); -} \ No newline at end of file diff --git a/main/modes/games/pinball/pinball_zones.h b/main/modes/games/pinball/pinball_zones.h deleted file mode 100644 index c080c60ae..000000000 --- a/main/modes/games/pinball/pinball_zones.h +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "mode_pinball.h" - -void createTableZones(pinball_t* p); -uint32_t pinZoneRect(pinball_t* p, pbRect_t r); -uint32_t pinZoneLine(pinball_t* p, pbLine_t l); -uint32_t pinZoneCircle(pinball_t* p, pbCircle_t c); -uint32_t pinZoneFlipper(pinball_t* p, pbFlipper_t* f); diff --git a/main/modes/music/jukebox/jukebox.c b/main/modes/music/jukebox/jukebox.c index 4288dbe0c..6f8957037 100644 --- a/main/modes/music/jukebox/jukebox.c +++ b/main/modes/music/jukebox/jukebox.c @@ -32,7 +32,6 @@ #include "mainMenu.h" #include "modeTimer.h" #include "mode_credits.h" -#include "mode_pinball.h" #include "touchTest.h" #include "tunernome.h" #include "midiPlayer.h" diff --git a/main/modes/system/mainMenu/mainMenu.c b/main/modes/system/mainMenu/mainMenu.c index 9c6ac3bdd..ca0b8100b 100644 --- a/main/modes/system/mainMenu/mainMenu.c +++ b/main/modes/system/mainMenu/mainMenu.c @@ -16,7 +16,6 @@ #include "mainMenu.h" #include "modeTimer.h" #include "mode_credits.h" -#include "mode_pinball.h" #include "mode_bigbug.h" #include "mode_synth.h" #include "ultimateTTT.h" @@ -152,7 +151,6 @@ static void mainMenuEnterMode(void) // Add single items mainMenu->menu = startSubMenu(mainMenu->menu, "Games"); addSingleItemToMenu(mainMenu->menu, tttMode.modeName); - addSingleItemToMenu(mainMenu->menu, pinballMode.modeName); addSingleItemToMenu(mainMenu->menu, t48Mode.modeName); addSingleItemToMenu(mainMenu->menu, bigbugMode.modeName); mainMenu->menu = endSubMenu(mainMenu->menu); @@ -360,10 +358,6 @@ static void mainMenuCb(const char* label, bool selected, uint32_t settingVal) { switchToSwadgeMode(&bigbugMode); } - else if (label == pinballMode.modeName) - { - switchToSwadgeMode(&pinballMode); - } else if (label == tttMode.modeName) { switchToSwadgeMode(&tttMode); diff --git a/main/utils/fl_math/vectorFl2d.c b/main/utils/fl_math/vectorFl2d.c index 10aba55c0..bc5a0b938 100644 --- a/main/utils/fl_math/vectorFl2d.c +++ b/main/utils/fl_math/vectorFl2d.c @@ -134,4 +134,19 @@ vecFl_t normVecFl2d(vecFl_t in) .y = in.y / len, }; return norm; -} \ No newline at end of file +} + +/** + * @brief Return a vector perpendicular to the input + * + * @param in The input vector + * @return The perpendicular vector + */ +vecFl_t perpendicularVecFl2d(vecFl_t in) +{ + vecFl_t perp = { + .x = -in.y, + .y = in.x, + }; + return perp; +} diff --git a/main/utils/fl_math/vectorFl2d.h b/main/utils/fl_math/vectorFl2d.h index b4cc03248..fe75eced2 100644 --- a/main/utils/fl_math/vectorFl2d.h +++ b/main/utils/fl_math/vectorFl2d.h @@ -49,5 +49,6 @@ vecFl_t rotateVecFl2d(vecFl_t vector, float radians); float magVecFl2d(vecFl_t vector); float sqMagVecFl2d(vecFl_t vector); vecFl_t normVecFl2d(vecFl_t in); +vecFl_t perpendicularVecFl2d(vecFl_t in); #endif \ No newline at end of file diff --git a/main/utils/macros.h b/main/utils/macros.h index 34793c526..23026f2a5 100644 --- a/main/utils/macros.h +++ b/main/utils/macros.h @@ -47,9 +47,9 @@ */ #ifdef __APPLE__ /* Force a compilation error if condition is true, but also produce a - result (of value 0 and type size_t), so the expression can be used - e.g. in a structure initializer (or where-ever else comma expressions - aren't permitted). */ + result (of value 0 and type size_t), so the expression can be used + e.g. in a structure initializer (or where-ever else comma expressions + aren't permitted). */ #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int : -!!(e); })) /// Helper macro to determine the number of elements in an array. Should not be used directly @@ -79,4 +79,25 @@ */ #define POS_MODULO_ADD(a, b, d) ((a + (b % d) + d) % d) -#endif \ No newline at end of file +/** + * @brief Run timer_code every period, using tracking it with timer + * + * @param timer The accumulator variable, must persist between calls + * @param period The period at which timer_code should be run + * @param elapsed The time elapsed since this was last called + * @param timer_code The code to execute every period + */ +#define RUN_TIMER_EVERY(timer, period, elapsed, timer_code) \ + do \ + { \ + timer += elapsed; \ + while (timer > period) \ + { \ + timer -= period; \ + { \ + timer_code \ + } \ + } \ + } while (0) + +#endif diff --git a/makefile b/makefile index bede280b0..60555451d 100644 --- a/makefile +++ b/makefile @@ -322,7 +322,7 @@ assets: ./tools/assets_preprocessor/assets_preprocessor -i ./assets/ -o ./assets_image/ # To build the main file, you have to compile the objects -$(EXECUTABLE): $(OBJECTS) +$(EXECUTABLE): $(CNFS_FILE) $(OBJECTS) $(CC) $(OBJECTS) $(LIBRARY_FLAGS) -o $@ # This compiles each c file into an o file diff --git a/tools/svg-to-pinball/.gitignore b/tools/svg-to-pinball/.gitignore new file mode 100755 index 000000000..dfe5670df --- /dev/null +++ b/tools/svg-to-pinball/.gitignore @@ -0,0 +1,4 @@ +*.xml +*.xsd +*.svg +*.bin \ No newline at end of file diff --git a/tools/svg-to-pinball/.vscode/launch.json b/tools/svg-to-pinball/.vscode/launch.json new file mode 100755 index 000000000..2f59b07d4 --- /dev/null +++ b/tools/svg-to-pinball/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python Debugger: svg-to-pinball.py", + "type": "debugpy", + "request": "launch", + "program": "${workspaceFolder}/svg-to-pinball.py", + "console": "integratedTerminal" + } + ] +} \ No newline at end of file diff --git a/tools/svg-to-pinball/.vscode/settings.json b/tools/svg-to-pinball/.vscode/settings.json new file mode 100755 index 000000000..1c83c6cb0 --- /dev/null +++ b/tools/svg-to-pinball/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "cSpell.words": [ + "Bezier", + "Subpaths", + "svgelements" + ] +} \ No newline at end of file diff --git a/tools/svg-to-pinball/README.md b/tools/svg-to-pinball/README.md new file mode 100755 index 000000000..2798c4065 --- /dev/null +++ b/tools/svg-to-pinball/README.md @@ -0,0 +1,55 @@ +If objects aren't where they're supposed to be, svgelements may not be applying transforms correctly. Use this Inkscape plugin to apply transforms to objects before saving the SVG: https://github.com/Klowner/inkscape-applytransforms + +## File Format + +1. Number of Groups +1. Number of lines + * Line objects +1. Number of circles + * circles objects +1. Number of rectangles + * rectangles objects +1. Number of flippers + * flippers objects + +### Line +**Byte**|**Size**|**Value** +:-----:|:-----:|:-----: +0|2|ID +2|1|Group ID +3|2|p1.x +5|2|p1.y +7|2|p2.x +9|2|p2.y +11|1|Type +12|1|Push Velocity +13|1|Is Solid + +### Circle +**Byte**|**Size**|**Value** +:-----:|:-----:|:-----: +0|2|ID +2|1|Group ID +3|2|x +5|2|y +7|1|radius +8|1|Push Velocity + +### Rectangle +**Byte**|**Size**|**Value** +:-----:|:-----:|:-----: +0|2|ID +2|1|Group ID +3|2|x +5|2|y +7|2|width +9|2|height + +### Flipper +**Byte**|**Size**|**Value** +:-----:|:-----:|:-----: +0|2|x +2|2|y +4|1|Radius +5|1|Length +6|1|Facing Right \ No newline at end of file diff --git a/tools/svg-to-pinball/gentable.sh b/tools/svg-to-pinball/gentable.sh new file mode 100755 index 000000000..38168d84c --- /dev/null +++ b/tools/svg-to-pinball/gentable.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +find ../../ -iname cnfs_image* -delete +find ../../ -iname table.bin -delete +find ../../ -iname pinball.raw -delete +make -C ../cnfs/ clean +python svg-to-pinball.py +cp table.bin ../../assets/pinball.raw diff --git a/tools/svg-to-pinball/pinball.svg b/tools/svg-to-pinball/pinball.svg new file mode 100755 index 000000000..88b9b5383 --- /dev/null +++ b/tools/svg-to-pinball/pinball.svg @@ -0,0 +1,778 @@ + + + + diff --git a/tools/svg-to-pinball/requirements.txt b/tools/svg-to-pinball/requirements.txt new file mode 100755 index 000000000..56a41c393 --- /dev/null +++ b/tools/svg-to-pinball/requirements.txt @@ -0,0 +1 @@ +svgelements==1.9.6 diff --git a/tools/svg-to-pinball/svg-to-pinball.py b/tools/svg-to-pinball/svg-to-pinball.py new file mode 100755 index 000000000..5f48dd7a3 --- /dev/null +++ b/tools/svg-to-pinball/svg-to-pinball.py @@ -0,0 +1,487 @@ +from svgelements import SVG +from svgelements import Group +from svgelements import Path +from svgelements import Point +from svgelements import Circle +from svgelements import Rect +from math import sqrt, pow +from enum import Enum + +groups = [] + + +def getIntGroupId(gId: str) -> int: + try: + if gId.startswith("group_"): + gInt = int(gId.split("_")[1]) + if gInt not in groups: + groups.append(gInt) + return gInt + return 0 + except: + return 0 + + +def getIntId(id: str) -> int: + try: + return int(id) + except: + return 0 + + +class LineType(Enum): + JS_WALL = 0 + JS_SLINGSHOT = 1 + JS_DROP_TARGET = 2 + JS_STANDUP_TARGET = 3 + JS_SPINNER = 4 + JS_SCOOP = 5 + JS_BALL_LOST = 6 + JS_LAUNCH_DOOR = 7 + + +class CircleType(Enum): + JS_BUMPER = 0 + JS_ROLLOVER = 1 + + +class PointType(Enum): + JS_BALL_SPAWN = 0 + JS_ITEM_SPAWN = 1 + + +class xyPoint: + def __init__(self, p: Point = None, x: int = 0, y: int = 0) -> None: + if p is not None: + self.x: int = int(p.x) + self.y: int = int(p.y) + else: + self.x: int = int(x) + self.y: int = int(y) + + def toBytes(self) -> bytearray: + return bytearray( + [(self.x >> 8) & 0xFF, self.x & 0xFF, (self.y >> 8) & 0xFF, self.y & 0xFF] + ) + + def __eq__(self, other: object) -> bool: + return self.x == other.x and self.y == other.y + + +class pbPoint: + def __init__(self, pos: xyPoint, type: LineType, gId: str, id: str) -> None: + self.pos = pos + self.type: int = type.value + self.gId: int = getIntGroupId(gId) + self.id: int = getIntId(id) + + def toBytes(self) -> bytearray: + b = bytearray([(self.id >> 8), self.id & 0xFF, self.gId]) + b.extend(self.pos.toBytes()) + b.append(self.type) + return b + + +class pbLine: + def __init__( + self, p1: xyPoint, p2: xyPoint, type: LineType, gId: str, id: str + ) -> None: + self.p1 = p1 + self.p2 = p2 + self.type: int = type.value + self.gId: int = getIntGroupId(gId) + self.id: int = getIntId(id) + + match (type): + case LineType.JS_WALL: + self.isSolid = True + self.pushVel = 0 + pass + case LineType.JS_SLINGSHOT: + self.isSolid = True + self.pushVel = 80 + pass + case LineType.JS_DROP_TARGET: + self.isSolid = True + self.pushVel = 40 + pass + case LineType.JS_STANDUP_TARGET: + self.isSolid = True + self.pushVel = 0 + pass + case LineType.JS_SPINNER: + self.isSolid = False + self.pushVel = 0 + pass + case LineType.JS_SCOOP: + self.isSolid = True + self.pushVel = 0 + pass + case LineType.JS_BALL_LOST: + self.isSolid = True + self.pushVel = 0 + pass + case LineType.JS_LAUNCH_DOOR: + self.isSolid = False + self.pushVel = 0 + + def __str__(self) -> str: + return "{.p1 = {.x = %d, .y = %d}, .p2 = {.x = %d, .y = %d}}," % ( + self.p1.x, + self.p1.y, + self.p2.x, + self.p2.y, + ) + + def toBytes(self) -> bytearray: + b = bytearray([(self.id >> 8), self.id & 0xFF, self.gId]) + b.extend(self.p1.toBytes()) + b.extend(self.p2.toBytes()) + b.append(self.type) + b.append(self.pushVel) + b.append(self.isSolid) + # print(' '.join(['%02X' % x for x in b])) + return b + + +class pbCircle: + def __init__( + self, + pos: xyPoint, + radius: int, + type: CircleType, + pushVel: int, + gId: str, + id: str, + ) -> None: + self.position = pos + self.radius = int(radius) + self.type = type.value + self.gId: int = getIntGroupId(gId) + self.id: int = getIntId(id) + self.pushVel = int(pushVel) + + def __str__(self) -> str: + return "{.pos = {.x = %d, .y = %d}, .radius = %d}," % ( + self.position.x, + self.position.y, + self.radius, + ) + + def toBytes(self) -> bytearray: + b = bytearray([(self.id >> 8), self.id & 0xFF, self.gId]) + b.extend(self.position.toBytes()) + b.append(self.radius) + b.append(self.type) + b.append(self.pushVel) + # print(' '.join(['%02X' % x for x in b])) + return b + + +class pbRectangle: + def __init__(self, position: xyPoint, size: xyPoint, gId: str, id: str) -> None: + self.position = position + self.size = size + self.gId: int = getIntGroupId(gId) + self.id: int = getIntId(id) + + def __str__(self) -> str: + return "{.pos = {.x = %d, .y = %d}, .width = %d, .height = %d}," % ( + self.position.x, + self.position.y, + self.size.x, + self.size.y, + ) + + def toBytes(self) -> bytearray: + b = bytearray([(self.id >> 8), self.id & 0xFF, self.gId]) + b.extend(self.position.toBytes()) + b.extend(self.size.toBytes()) + # print(' '.join(['%02X' % x for x in b])) + return b + + +class pbTriangle: + def __init__(self, vertices: list[xyPoint], gId: str, id: str) -> None: + self.vertices = vertices + self.gId: int = getIntGroupId(gId) + self.id: int = getIntId(id) + + def toBytes(self) -> bytearray: + b = bytearray([(self.id >> 8), self.id & 0xFF, self.gId]) + for point in self.vertices: + b.extend(point.toBytes()) + return b + + +class pbFlipper: + def __init__( + self, pivot: xyPoint, radius: int, length: int, facingRight: bool + ) -> None: + self.pivot = pivot + self.radius = int(radius) + self.length = int(length) + self.facingRight = bool(facingRight) + + def __str__(self) -> str: + return ( + "{.cPivot = {.pos = {.x = %d, .y = %d}, .radius = %d}, .len = %d, .facingRight = %s}," + % ( + self.pivot.x, + self.pivot.y, + self.radius, + self.length, + "true" if self.facingRight else "false", + ) + ) + + def toBytes(self) -> bytearray: + b = bytearray() + b.extend(self.pivot.toBytes()) + b.append(self.radius) + b.append(self.length) + b.append(self.facingRight) + # print(' '.join(['%02X' % x for x in b])) + return b + + +def extractCircles(gs: list, type: CircleType, gId: str) -> list[pbCircle]: + """Recursively extract all circles from this list of SVG things + + Args: + gs (list): A list that contains Group and Circle + + Returns: + list[str]: A list of C strings for the circles + """ + circles = [] + for g in gs: + if isinstance(g, Circle): + circles.append( + pbCircle( + xyPoint(x=g.cx, y=g.cy), (g.rx + g.ry) / 2, type, 120, gId, g.id + ) + ) + elif isinstance(g, Group): + circles.extend(extractCircles(g, type, g.id)) + else: + print("Found " + str(type(g)) + " when extracting Circles") + return circles + + +def extractPoints(gs: list, type: PointType, gId: str) -> list[pbPoint]: + """Recursively extract all points from this list of SVG things + + Args: + gs (list): A list that contains Group and Point + + Returns: + list[str]: A list of C strings for the points + """ + points = [] + for g in gs: + if isinstance(g, Circle): + points.append(pbPoint(xyPoint(x=g.cx, y=g.cy), type, gId, g.id)) + elif isinstance(g, Group): + points.extend(extractPoints(g, type, g.id)) + else: + print("Found " + str(type(g)) + " when extracting Points") + return points + + +def extractRectangles(gs: list, gId: str) -> list[pbRectangle]: + """Recursively extract all circles from this list of SVG things + + Args: + gs (list): A list that contains Group and Circle + + Returns: + list[str]: A list of C strings for the circles + """ + rectangles = [] + for g in gs: + if isinstance(g, Rect): + rectangles.append( + pbRectangle( + xyPoint(x=g.x, y=g.y), xyPoint(x=g.width, y=g.height), gId, g.id + ) + ) + elif isinstance(g, Group): + rectangles.extend(extractRectangles(g, g.id)) + else: + print("Found " + str(type(g)) + " when extracting Rects") + return rectangles + + +def extractPaths(gs: list, lineType: LineType, gId: str) -> list[pbLine]: + """Recursively extract all paths from this list of SVG things + + Args: + gs (list): A list that contains Group and Path + + Returns: + list[str]: A list of C strings for the path segments + """ + lines = [] + for g in gs: + if isinstance(g, Path): + lastPoint: Point = None + point: Point + for point in g.as_points(): + if lastPoint is not None and lastPoint != point: + lines.append( + pbLine( + xyPoint(p=lastPoint), xyPoint(p=point), lineType, gId, g.id + ) + ) + lastPoint = point + elif isinstance(g, Group): + lines.extend(extractPaths(g, lineType, g.id)) + else: + print("Found " + str(type(g)) + " when extracting Paths") + return lines + + +def extractTriangles(gs: list, gId: str) -> list[pbTriangle]: + """Recursively extract all triangles from this list of SVG things + + Args: + gs (list): A list that contains Group and Path + + Returns: + list[str]: A list of C strings for the path segments + """ + triangles = [] + vertices = [] + for g in gs: + if isinstance(g, Path): + point: Point + for point in g.as_points(): + pbp = xyPoint(p=point) + + if 3 == len(vertices) and pbp == vertices[0]: + # Save the triangle + triangles.append(pbTriangle(vertices, gId, g.id)) + # Start a new one + vertices = [] + elif len(vertices) == 0 or pbp != vertices[-1]: + vertices.append(pbp) + elif isinstance(g, Group): + triangles.extend(extractTriangles(g, g.id)) + else: + print("Found " + str(type(g)) + " when extracting Triangles") + return triangles + + +def extractFlippers(gs: list, gId: str) -> list[pbFlipper]: + """Recursively extract all flippers (groups of circles and paths) from this list of SVG things + + Args: + gs (list): A list that contains stuff + + Returns: + list[str]: A list of C strings for the path segments + """ + lines = [] + flipperParts: list[Circle] = [] + for g in gs: + if isinstance(g, Circle): + flipperParts.append(g) + elif isinstance(g, Path): + pass + elif isinstance(g, Group): + lines.extend(extractFlippers(g, g.id)) + else: + print("Found " + str(type(g)) + " when extracting Flippers") + + if 2 == len(flipperParts): + if "pivot" in flipperParts[0].id.lower(): + pivot = flipperParts[0] + tip = flipperParts[1] + else: + pivot = flipperParts[1] + tip = flipperParts[0] + + if pivot.cx < tip.cx: + facingRight = True + else: + facingRight = False + + flipperLen = sqrt(pow(pivot.cx - tip.cx, 2) + pow(pivot.cy - tip.cy, 2)) + + lines.append( + pbFlipper( + xyPoint(x=pivot.cx, y=pivot.cy), pivot.rx, flipperLen, facingRight + ) + ) + + return lines + + +def addLength(tableData: bytearray, array: int): + length = len(array) + b = [(length >> 8) & 0xFF, (length) & 0xFF] + tableData.extend(b) + # print(' '.join(['%02X' % x for x in b])) + + +def main(): + # Load the SVG + g: Group = SVG().parse("pinball.svg") + + lines: list[pbLine] = [] + lines.extend(extractPaths(g.objects["350_Walls"], LineType.JS_WALL, None)) + lines.extend(extractPaths(g.objects["300_Scoops"], LineType.JS_SCOOP, None)) + lines.extend(extractPaths(g.objects["250_Slingshots"], LineType.JS_SLINGSHOT, None)) + lines.extend(extractPaths(g.objects["200_Drop_Targets"], LineType.JS_DROP_TARGET, None)) + lines.extend( + extractPaths(g.objects["150_Standup_Targets"], LineType.JS_STANDUP_TARGET, None) + ) + lines.extend(extractPaths(g.objects["400_Ball_Lost"], LineType.JS_BALL_LOST, None)) + lines.extend(extractPaths(g.objects["650_Launch_Door"], LineType.JS_LAUNCH_DOOR, None)) + + circles: list[pbCircle] = [] + circles.extend(extractCircles(g.objects["450_Rollovers"], CircleType.JS_ROLLOVER, None)) + circles.extend(extractCircles(g.objects["500_Bumpers"], CircleType.JS_BUMPER, None)) + + points: list[pbPoint] = [] + points.extend(extractPoints(g.objects["050_Ball_Spawn"], PointType.JS_BALL_SPAWN, None)) + points.extend(extractPoints(g.objects["100_Item_Spawn"], PointType.JS_ITEM_SPAWN, None)) + + launchers = extractRectangles(g.objects["600_Launchers"], None) + flippers = extractFlippers(g.objects["550_Flippers"], None) + triangles = extractTriangles(g.objects["000_Indicators"], None) + + tableData: bytearray = bytearray() + tableData.append(max(groups)) + + addLength(tableData, lines) + for line in sorted(lines, key=lambda x: x.id): + tableData.extend(line.toBytes()) + + addLength(tableData, circles) + for circle in sorted(circles, key=lambda x: x.id): + tableData.extend(circle.toBytes()) + + addLength(tableData, launchers) + for launcher in sorted(launchers, key=lambda x: x.id): + tableData.extend(launcher.toBytes()) + + addLength(tableData, flippers) + for flipper in flippers: + tableData.extend(flipper.toBytes()) + + addLength(tableData, triangles) + for triangle in sorted(triangles, key=lambda x: x.id): + tableData.extend(triangle.toBytes()) + + addLength(tableData, points) + for point in sorted(points, key=lambda x: x.id): + tableData.extend(point.toBytes()) + + with open("table.bin", "wb") as outFile: + outFile.write(tableData) + + +if __name__ == "__main__": + main() From 674cb11eddeb1e7add9bab570da5b5c2ac91a3eb Mon Sep 17 00:00:00 2001 From: cnlohr Date: Thu, 19 Sep 2024 15:48:56 -0700 Subject: [PATCH 07/13] Update demo code for usb hid demo (#287) --- tools/sandbox_test/usbhid_test/sandbox.c | 2 +- tools/sandbox_test/usbhid_test/test/Makefile | 12 ++++++++++- tools/sandbox_test/usbhid_test/test/hidtest.c | 21 +++++++++++-------- .../usbhid_test/test/winbuild.bat | 1 + 4 files changed, 25 insertions(+), 11 deletions(-) create mode 100644 tools/sandbox_test/usbhid_test/test/winbuild.bat diff --git a/tools/sandbox_test/usbhid_test/sandbox.c b/tools/sandbox_test/usbhid_test/sandbox.c index cdc6bb66d..b7f177c00 100644 --- a/tools/sandbox_test/usbhid_test/sandbox.c +++ b/tools/sandbox_test/usbhid_test/sandbox.c @@ -124,7 +124,7 @@ int16_t sandboxAdvancedUSB(uint8_t* buffer, uint16_t length, uint8_t isGet) buffer[1] = 0x55; buffer[2] = 0xaa; buffer[3] = 0x55; - return 64; + return 254; } else { diff --git a/tools/sandbox_test/usbhid_test/test/Makefile b/tools/sandbox_test/usbhid_test/test/Makefile index ac4a4fb25..448ff94cf 100644 --- a/tools/sandbox_test/usbhid_test/test/Makefile +++ b/tools/sandbox_test/usbhid_test/test/Makefile @@ -1,7 +1,17 @@ all : hidtest +ifeq ($(shell uname), Linux) +CFLAGS:=-g -O0 +LDFLAGS:=-ludev +CC:=gcc +else +CFLAGS:=-Os -s +CC:=gcc +LDFLAGS:=C:/windows/system32/setupapi.dll +endif + hidtest : hidtest.c - gcc -o $@ $^ -ludev + $(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS) clean : rm -rf hidtest diff --git a/tools/sandbox_test/usbhid_test/test/hidtest.c b/tools/sandbox_test/usbhid_test/test/hidtest.c index 37e23b9a4..0b29082cf 100644 --- a/tools/sandbox_test/usbhid_test/test/hidtest.c +++ b/tools/sandbox_test/usbhid_test/test/hidtest.c @@ -1,6 +1,5 @@ #include #include -#include #include #include @@ -12,9 +11,12 @@ #define PID 0x4269 #ifdef WIN32 -const int reg_packet_length = 65; +const int reg_packet_length = 255; +const int reg_back_rest = 256; #else -const int reg_packet_length = 64; +#include +const int reg_packet_length = 254; +const int reg_back_rest = 254; #endif hid_device * hd; @@ -28,7 +30,7 @@ int main( int argc, char ** argv ) if( !hd ) { fprintf( stderr, "Could not open USB\n" ); return -94; } // Disable tick. - uint8_t rdata[65] = { 0 }; + uint8_t rdata[256] = { 0 }; rdata[0] = 173; r = hid_get_feature_report( hd, rdata, reg_packet_length ); printf( "Got data: %d bytes\n", r ); @@ -43,13 +45,14 @@ int main( int argc, char ** argv ) for( i = 0; i < 1024; i++ ) { r = hid_get_feature_report( hd, rdata, reg_packet_length ); - if( r != reg_packet_length ) + rdata[0] = 173; + if( r != reg_back_rest ) { fprintf( stderr, "Error reading message (%d)\n", r ); } } double dEnd = OGGetAbsoluteTime(); - printf( "Reads: %5.0f/sec / %3.2f kB/s\n", 1024.0/(dEnd - dStart), (63)/(dEnd - dStart)); + printf( "Reads: %5.0f/sec / %3.2f kB/s\n", 1024.0/(dEnd - dStart), (reg_packet_length)/(dEnd - dStart)); dStart = OGGetAbsoluteTime(); for( i = 0; i < 1024; i++ ) @@ -59,11 +62,11 @@ int main( int argc, char ** argv ) r = hid_send_feature_report( hd, rdata, reg_packet_length ); if( r != reg_packet_length ) { - fprintf( stderr, "Error reading message (%d)\n", r ); + fprintf( stderr, "Error writing message (%d)\n", r ); } } dEnd = OGGetAbsoluteTime(); - printf( "Writes: %5.0f/sec / %3.2f kB/s\n", 1024.0/(dEnd - dStart), (63)/(dEnd - dStart) ); + printf( "Writes: %5.0f/sec / %3.2f kB/s\n", 1024.0/(dEnd - dStart), (reg_packet_length)/(dEnd - dStart) ); rdata[0] = 173; rdata[1] = 0x00; @@ -78,7 +81,7 @@ int main( int argc, char ** argv ) int f; for( f = 0; f < 10; f++ ) { - for( y = 0; y < 240; y++ ) + for( y = 0; y < 240; y+=10 ) { for( x = 0; x < 280; x += 56 ) { diff --git a/tools/sandbox_test/usbhid_test/test/winbuild.bat b/tools/sandbox_test/usbhid_test/test/winbuild.bat new file mode 100644 index 000000000..0011c1a9c --- /dev/null +++ b/tools/sandbox_test/usbhid_test/test/winbuild.bat @@ -0,0 +1 @@ +tcc hidtest.c C:/windows/system32/setupapi.dll \ No newline at end of file From 8e3ef72bdc9432d09ff0fc3df873c31cfd2023a8 Mon Sep 17 00:00:00 2001 From: Dylan Whichard Date: Fri, 20 Sep 2024 17:17:22 -0700 Subject: [PATCH 08/13] Add MIDI technical documentation (#289) --- Doxyfile | 1 + docs/EMULATOR.md | 2 ++ docs/MIDI.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++ main/swadge2024.c | 3 ++ 4 files changed, 82 insertions(+) create mode 100644 docs/MIDI.md diff --git a/Doxyfile b/Doxyfile index b403154b7..a564bf95b 100644 --- a/Doxyfile +++ b/Doxyfile @@ -956,6 +956,7 @@ INPUT = ./main \ ./docs/CODE_OF_CONDUCT.md \ ./docs/PORTING.md \ ./docs/EMULATOR.md \ + ./docs/MIDI.md \ ./docs/SERIAL_DEBUG.md # This tag can be used to specify the character encoding of the source files diff --git a/docs/EMULATOR.md b/docs/EMULATOR.md index 47bed39eb..4657e5e96 100644 --- a/docs/EMULATOR.md +++ b/docs/EMULATOR.md @@ -270,3 +270,5 @@ platforms. or the first one that becomes available. You may need to restart the emulator after connecting a new device. 4. Press the Pause button (O key) to open or close the menu. + +For details on the Swadge's MIDI support you can use for composing, see the [MIDI Specifications page](#MIDI). \ No newline at end of file diff --git a/docs/MIDI.md b/docs/MIDI.md new file mode 100644 index 000000000..3c66461d7 --- /dev/null +++ b/docs/MIDI.md @@ -0,0 +1,76 @@ +# MIDI Specifications {#MIDI} + +This page describes the technical details of the 2025 Swadge's support for +the MIDI protocol. Note that while the Swadge only supports the instruments, +controllers, and other features described in this document, it can still +play any MIDI file, even ones containing unsupported commands. Unsupported +commands are simply ignored and the rest of the file will play normally. + +## Basics + +The Swadge's 8-bit audio synthesizer supports up to 16 MIDI channels, with channel 10 reserved for +percussion (the drum kit). + +## Features + +* 24-voice polyphony shared between non-percussion channels +* 8 additional voices reserved for percussion only channel (channel 10) +* Pitch bend +* AfterTouch + +## Instrument Banks (Programs) + +### General MIDI (Bank 0) +For the list of General MIDI instruments available, see [Wikipedia](https://en.wikipedia.org/wiki/General_MIDI#Program_change_events). +Note that the sound produced for these instruments is a wavetable rather than full-length samples, so they sound more like a retro +keyboard than the high-fidelity samples you might hear from a modern soft synthesizer. + +#### Drum Kit +The Bank 0 Drum Kit follows the key mapping of the General MIDI program sounds, which can be found +on [Wikipedia](https://en.wikipedia.org/wiki/General_MIDI#Percussion). Note that some drum sounds may be incomplete or +not yet supported. + +### MAGFest Instruments (Bank 1) +These instruments are mainly basic wave shapes, with some extra goodies thrown in. + +| Program# | Name | +| -------- | ----------------| +| 0 | Square Wave | +| 1 | Sine Wave | +| 2 | Triangle Wave | +| 3 | Sawtooth Wave | +| 4 | "MAGFest Wave" | +| 5 | "MAGStock Wave" | +| 6 | Noise | +| 7 | Square Wave Hit | +| 8 | Noise Hit | + +#### Drum Kit +The Bank 1 Drum Kit includes a range of noise-based drum sounds originally featured on the [King Donut Swadge](https://swadge.com/donut/). + +| Note | Note Number | Description | +| --------- | ----------- | ----------------- | +| B1 to B2 | 35 to 47 | Donut Drum Kit #1 | +| C2 to C4 | 48 to 60 | Donut Drum Kit #2 | +| C♯4 | 61 | WOAAAGGHHH | +| D4 | 72 | Donut "MAG" | +| D♯4 | 73 | Donut "Fest" | + + +## MIDI Continuous Controllers + +Continuous controller numbers (CC#) are shown here starting from 0. +For controllers that have two numbers in the `MIDI CC#` column, the first number is the "Coarse" (sometimes called "MSB") control, +and the second is the "Fine" (sometimes called "LSB") control. These are really two separate controllers analogous to a set of +fine and coarse adjustment knobs on a real audio device, but some editing software might display these as a single control instead. + +| MIDI CC# | Name | Value Range | Description | Notes | +| -------- | --------------- | ----------------------- | ----------- | ----- | +| 0, 32 | Bank Select | 0-1 | Selects the instrument bank used. | Only Fine adjustment (32) is used, Coarse (0) is ignored +| 7, 39 | Channel Volume | 0-127 | Sets volume level for only this channel | Only Coarse adjustment (7) is used, Fine (39) is ignored +| 64 | Hold Pedal | 0-63 (off), 64-127 (on) | When the hold pedal is enabled, all notes that are currently playing are sustained until the hold pedal is released, as well as any notes that begin playing while the hold pedal is already down. +| 66 | Sustenuto Pedal | 0-63 (off), 64-127 (on) | When the sustenuto pedal is enabled, only the notes that are currently playing are sustained until the sustenuto pedal is released. Notes that begin playing while the sustenuto pedal is already down are not affected. +| 72 | Release Time | 0-127 | Set the length of time (in 10ms increments) it will take for a note to fade out and stop playing after it is released. +| 73 | Attack Time | 0-127 | Set the length of time (in 10ms increments) it will take for a note to reach its maximum volume after it starts playing. +| 75 | Decay Time | 0-127 | Set the length of time (in 10ms increments) it will take for a note to fade from its maximum volume to its sustain volume. +| 76 | Sustain Level | 0-127 | Set the volume level the note will reach at the end of the decay time, and will be maintained as long as the note is held on. diff --git a/main/swadge2024.c b/main/swadge2024.c index 2e57c7544..e350f4798 100644 --- a/main/swadge2024.c +++ b/main/swadge2024.c @@ -27,6 +27,9 @@ * If you just want to run the Swadge emulator without setting up a development environment, see the \ref emulator * for an installation guide and usage instructions. * + * If you want to learn about creating MIDI song files for the Swadge, see the \ref MIDI guide. See also the + * \ref emulator which you can use to listen to MIDI files. + * * If you're just starting Swadge development, you're already at the right place to start! Here's a good sequence of * pages to read from here. * From e6fde30f918137f0334c5430a4d2abcabdbf89c9 Mon Sep 17 00:00:00 2001 From: Dylan Whichard Date: Sat, 21 Sep 2024 01:15:52 -0700 Subject: [PATCH 09/13] Fix broken markdown (#291) --- docs/MIDI.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/MIDI.md b/docs/MIDI.md index 3c66461d7..88af65bed 100644 --- a/docs/MIDI.md +++ b/docs/MIDI.md @@ -48,13 +48,13 @@ These instruments are mainly basic wave shapes, with some extra goodies thrown i #### Drum Kit The Bank 1 Drum Kit includes a range of noise-based drum sounds originally featured on the [King Donut Swadge](https://swadge.com/donut/). -| Note | Note Number | Description | -| --------- | ----------- | ----------------- | -| B1 to B2 | 35 to 47 | Donut Drum Kit #1 | -| C2 to C4 | 48 to 60 | Donut Drum Kit #2 | -| C♯4 | 61 | WOAAAGGHHH | -| D4 | 72 | Donut "MAG" | -| D♯4 | 73 | Donut "Fest" | +| Note | Note Number | Description | +| -------- | ----------- | ----------------- | +| B1 to B2 | 35 to 47 | Donut Drum Kit #1 | +| C2 to C4 | 48 to 60 | Donut Drum Kit #2 | +| C♯4 | 61 | WOAAAGGHHH | +| D4 | 72 | Donut "MAG" | +| D♯4 | 73 | Donut "Fest" | ## MIDI Continuous Controllers @@ -66,11 +66,11 @@ fine and coarse adjustment knobs on a real audio device, but some editing softwa | MIDI CC# | Name | Value Range | Description | Notes | | -------- | --------------- | ----------------------- | ----------- | ----- | -| 0, 32 | Bank Select | 0-1 | Selects the instrument bank used. | Only Fine adjustment (32) is used, Coarse (0) is ignored -| 7, 39 | Channel Volume | 0-127 | Sets volume level for only this channel | Only Coarse adjustment (7) is used, Fine (39) is ignored -| 64 | Hold Pedal | 0-63 (off), 64-127 (on) | When the hold pedal is enabled, all notes that are currently playing are sustained until the hold pedal is released, as well as any notes that begin playing while the hold pedal is already down. -| 66 | Sustenuto Pedal | 0-63 (off), 64-127 (on) | When the sustenuto pedal is enabled, only the notes that are currently playing are sustained until the sustenuto pedal is released. Notes that begin playing while the sustenuto pedal is already down are not affected. -| 72 | Release Time | 0-127 | Set the length of time (in 10ms increments) it will take for a note to fade out and stop playing after it is released. -| 73 | Attack Time | 0-127 | Set the length of time (in 10ms increments) it will take for a note to reach its maximum volume after it starts playing. -| 75 | Decay Time | 0-127 | Set the length of time (in 10ms increments) it will take for a note to fade from its maximum volume to its sustain volume. -| 76 | Sustain Level | 0-127 | Set the volume level the note will reach at the end of the decay time, and will be maintained as long as the note is held on. +| 0, 32 | Bank Select | 0-1 | Selects the instrument bank used. | Only Fine adjustment (32) is used, Coarse (0) is ignored | +| 7, 39 | Channel Volume | 0-127 | Sets volume level for only this channel | Only Coarse adjustment (7) is used, Fine (39) is ignored | +| 64 | Hold Pedal | 0-63 (off), 64-127 (on) | When the hold pedal is enabled, all notes that are currently playing are sustained until the hold pedal is released, as well as any notes that begin playing while the hold pedal is already down. | | +| 66 | Sustenuto Pedal | 0-63 (off), 64-127 (on) | When the sustenuto pedal is enabled, only the notes that are currently playing are sustained until the sustenuto pedal is released. Notes that begin playing while the sustenuto pedal is already down are not affected. | | +| 72 | Release Time | 0-127 | Set the length of time (in 10ms increments) it will take for a note to fade out and stop playing after it is released. | | +| 73 | Attack Time | 0-127 | Set the length of time (in 10ms increments) it will take for a note to reach its maximum volume after it starts playing. | | +| 75 | Decay Time | 0-127 | Set the length of time (in 10ms increments) it will take for a note to fade from its maximum volume to its sustain volume. | | +| 76 | Sustain Level | 0-127 | Set the volume level the note will reach at the end of the decay time, and will be maintained as long as the note is held on. | | From 2298b2b23b77155dced96eb6c11739c45c844823 Mon Sep 17 00:00:00 2001 From: johnnywycliffe Date: Sun, 22 Sep 2024 06:43:26 -0400 Subject: [PATCH 10/13] Palette wsg (#292) Add ability to palette-swap WSGs when drawing --- emulator/src-lib/rawdraw | 2 +- main/CMakeLists.txt | 1 + main/display/wsg.c | 14 +- main/display/wsg.h | 7 +- main/display/wsgPalette.c | 404 ++++++++++++++++++++++++++++++++++++++ main/display/wsgPalette.h | 91 +++++++++ 6 files changed, 507 insertions(+), 12 deletions(-) create mode 100644 main/display/wsgPalette.c create mode 100644 main/display/wsgPalette.h diff --git a/emulator/src-lib/rawdraw b/emulator/src-lib/rawdraw index a53ea30df..2dd1b18b0 160000 --- a/emulator/src-lib/rawdraw +++ b/emulator/src-lib/rawdraw @@ -1 +1 @@ -Subproject commit a53ea30df86f5876197873975efee3dbc983a942 +Subproject commit 2dd1b18b0d7cc69c34bd7c47b7fa9567e4ae01ba diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index 70b675d68..b5c4b6024 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -12,6 +12,7 @@ idf_component_register(SRCS "asset_loaders/common/heatshrink_encoder.c" "display/font.c" "display/shapes.c" "display/wsg.c" + "display/wsgPalette.c" "menu/menu.c" "menu/menuManiaRenderer.c" "menu/menu_utils.c" diff --git a/main/display/wsg.c b/main/display/wsg.c index ba4e12a76..9617cf415 100644 --- a/main/display/wsg.c +++ b/main/display/wsg.c @@ -10,12 +10,6 @@ #include "fill.h" #include "wsg.h" -//============================================================================== -// Function Prototypes -//============================================================================== - -static void rotatePixel(int16_t* x, int16_t* y, int16_t rotateDeg, int16_t width, int16_t height); - //============================================================================== // Functions //============================================================================== @@ -25,12 +19,12 @@ static void rotatePixel(int16_t* x, int16_t* y, int16_t rotateDeg, int16_t width * then reflection over Y axis, then reflection over X axis, then translation * * @param x The x coordinate of the pixel location to transform - * @param y The y coordinate of the pixel location to trasform + * @param y The y coordinate of the pixel location to transform * @param rotateDeg The number of degrees to rotate clockwise, must be 0-359 * @param width The width of the image * @param height The height of the image */ -static void rotatePixel(int16_t* x, int16_t* y, int16_t rotateDeg, int16_t width, int16_t height) +void rotatePixel(int16_t* x, int16_t* y, int16_t rotateDeg, int16_t width, int16_t height) { // This function has been micro optimized by cnlohr on 2022-09-07, using gcc version 8.4.0 (crosstool-NG // esp-2021r2-patch3) @@ -253,7 +247,7 @@ void drawWsg(const wsg_t* wsg, int16_t xOff, int16_t yOff, bool flipLR, bool fli uint32_t dstY = srcY + yOff; // It is too complicated to detect both directions and backoff correctly, so we just do this here. - // It does slow things down a "tiny" bit. People in the future could optimze out this check. + // It does slow things down a "tiny" bit. People in the future could optimize out this check. if (dstY >= TFT_HEIGHT) { continue; @@ -494,4 +488,4 @@ void drawWsgTile(const wsg_t* wsg, int32_t xOff, int32_t yOff) pxDisp += dWidth; pxWsg += wWidth; } -} +} \ No newline at end of file diff --git a/main/display/wsg.h b/main/display/wsg.h index 5e8856693..a1fceabb2 100644 --- a/main/display/wsg.h +++ b/main/display/wsg.h @@ -17,13 +17,16 @@ * * \section wsg_usage Usage * - * There are three ways to draw a WSG to the display each with varying complexity and speed + * There are five ways to draw a WSG to the display each with varying complexity and speed * - drawWsg(): Draw a WSG to the display with transparency, rotation, and flipping over horizontal or vertical axes. * This is the slowest option. * - drawWsgSimple(): Draw a WSG to the display with transparency. This is the medium speed option and should be used if * the WSG is not rotated or flipped. * - drawWsgTile(): Draw a WSG to the display without transparency. Any transparent pixels will be an indeterminate * color. This is the fastest option, and best for background tiles or images. + * - drawWsgSimpleScaled(): Draw a WSG to the display with transparency at a specified scale. Scales are integer + * values, so 2x, 3x, 4x... are the valid options. + * - drawWsgSimpleHalf(): Draw a WSG to the display with transparency at half the original resolution. * * \section wsg_example Example * @@ -45,6 +48,7 @@ #include #include +#include /** * @brief A sprite using paletteColor_t colors that can be drawn to the display @@ -56,6 +60,7 @@ typedef struct uint16_t h; ///< The height of the image } wsg_t; +void rotatePixel(int16_t* x, int16_t* y, int16_t rotateDeg, int16_t width, int16_t height); void drawWsg(const wsg_t* wsg, int16_t xOff, int16_t yOff, bool flipLR, bool flipUD, int16_t rotateDeg); void drawWsgSimple(const wsg_t* wsg, int16_t xOff, int16_t yOff); void drawWsgSimpleScaled(const wsg_t* wsg, int16_t xOff, int16_t yOff, int16_t xScale, int16_t yScale); diff --git a/main/display/wsgPalette.c b/main/display/wsgPalette.c new file mode 100644 index 000000000..9e96ba102 --- /dev/null +++ b/main/display/wsgPalette.c @@ -0,0 +1,404 @@ +/** + * @file wsgPalette.c + * @author Jeremy Stintzcum (jeremy.stintzcum@gmail.com) + * @brief Provides palette swap functionality for Swadge + * @version 1.0.0 + * @date 2024-09-20 + * + * @copyright Copyright (c) 2024 + * + */ + +//============================================================================== +// Includes +//============================================================================== + +#include "wsgPalette.h" +#include "hdw-tft.h" +#include "trigonometry.h" +#include "macros.h" +#include "fill.h" + +//============================================================================== +// Functions +//============================================================================== + +/** + * @brief Draw a WSG to the display utilizing a palette + * + * @param wsg The WSG to draw to the display + * @param xOff The x offset to draw the WSG at + * @param yOff The y offset to draw the WSG at + * @param palette The new palette used to translate the colors + * @param flipLR true to flip the image across the Y axis + * @param flipUD true to flip the image across the X axis + * @param rotateDeg The number of degrees to rotate clockwise, must be 0-359 + */ +void drawWsgPalette(const wsg_t* wsg, int16_t xOff, int16_t yOff, wsgPalette_t* palette, bool flipLR, bool flipUD, + int16_t rotateDeg) +{ + // This function has been micro optimized by cnlohr on 2022-09-08, using gcc version 8.4.0 (crosstool-NG + // esp-2021r2-patch3) + + if (NULL == wsg->px) + { + return; + } + + if (rotateDeg) + { + SETUP_FOR_TURBO(); + uint32_t wsgw = wsg->w; + uint32_t wsgh = wsg->h; + for (int32_t srcY = 0; srcY < wsgh; srcY++) + { + int32_t usey = srcY; + + // Reflect over X axis? + if (flipUD) + { + usey = wsg->h - 1 - usey; + } + + const paletteColor_t* linein = &wsg->px[usey * wsgw]; + + // Reflect over Y axis? + uint32_t readX = 0; + uint32_t advanceX = 1; + if (flipLR) + { + readX = wsgw - 1; + advanceX = -1; + } + + int32_t localX = 0; + for (int32_t srcX = 0; srcX != wsgw; srcX++) + { + // Draw if not transparent + uint8_t color = palette->newColors[linein[srcX]]; + if (cTransparent != color) + { + uint16_t tx = localX; + uint16_t ty = srcY; + + rotatePixel((int16_t*)&tx, (int16_t*)&ty, rotateDeg, wsgw, wsgh); + tx += xOff; + ty += yOff; + TURBO_SET_PIXEL_BOUNDS(tx, ty, color); + } + localX++; + readX += advanceX; + } + } + } + else + { + // Draw the image's pixels (no rotation or transformation) + uint32_t w = TFT_WIDTH; + paletteColor_t* px = getPxTftFramebuffer(); + + uint16_t wsgw = wsg->w; + uint16_t wsgh = wsg->h; + + int32_t xstart = 0; + int16_t xend = wsgw; + int32_t xinc = 1; + + // Reflect over Y axis? + if (flipLR) + { + xstart = wsgw - 1; + xend = -1; + xinc = -1; + } + + if (xOff < 0) + { + if (xinc > 0) + { + xstart -= xOff; + if (xstart >= xend) + { + return; + } + } + else + { + xstart += xOff; + if (xend >= xstart) + { + return; + } + } + xOff = 0; + } + + if (xOff + wsgw > w) + { + int32_t peelBack = (xOff + wsgw) - w; + if (xinc > 0) + { + xend -= peelBack; + if (xstart >= xend) + { + return; + } + } + else + { + xend += peelBack; + if (xend >= xstart) + { + return; + } + } + } + + for (int16_t srcY = 0; srcY < wsgh; srcY++) + { + int32_t usey = srcY; + + // Reflect over X axis? + if (flipUD) + { + usey = wsgh - 1 - usey; + } + + const paletteColor_t* linein = &wsg->px[usey * wsgw]; + + // Transform this pixel's draw location as necessary + uint32_t dstY = srcY + yOff; + + // It is too complicated to detect both directions and backoff correctly, so we just do this here. + // It does slow things down a "tiny" bit. People in the future could optimize out this check. + if (dstY >= TFT_HEIGHT) + { + continue; + } + + int32_t lineOffset = dstY * w; + int32_t dstx = xOff + lineOffset; + + for (int32_t srcX = xstart; srcX != xend; srcX += xinc) + { + // Get colors from remap + uint8_t color = palette->newColors[linein[srcX]]; + + // Draw if not transparent + if (cTransparent != color) + { + px[dstx] = color; + } + dstx++; + } + } + } +} + +/** + * @brief Draw a WSG to the display without flipping or rotation + * + * @param wsg The WSG to draw to the display + * @param xOff The x offset to draw the WSG at + * @param yOff The y offset to draw the WSG at + * @param palette Color Map to use + */ +void drawWsgPaletteSimple(const wsg_t* wsg, int16_t xOff, int16_t yOff, wsgPalette_t* palette) +{ + // This function has been micro optimized by cnlohr on 2022-09-07, using gcc version 8.4.0 (crosstool-NG + // esp-2021r2-patch3) + + if (NULL == wsg->px) + { + return; + } + + // Only draw in bounds + int dWidth = TFT_WIDTH; + int wWidth = wsg->w; + int xMin = CLAMP(xOff, 0, dWidth); + int xMax = CLAMP(xOff + wWidth, 0, dWidth); + int yMin = CLAMP(yOff, 0, TFT_HEIGHT); + int yMax = CLAMP(yOff + wsg->h, 0, TFT_HEIGHT); + paletteColor_t* px = getPxTftFramebuffer(); + int numX = xMax - xMin; + int wsgY = (yMin - yOff); + int wsgX = (xMin - xOff); + paletteColor_t* lineout = &px[(yMin * dWidth) + xMin]; + const paletteColor_t* linein = &wsg->px[wsgY * wWidth + wsgX]; + + // Draw each pixel + for (int y = yMin; y < yMax; y++) + { + for (int x = 0; x < numX; x++) + { + uint8_t color = palette->newColors[linein[x]]; + if (color != cTransparent) + { + lineout[x] = color; + } + } + lineout += dWidth; + linein += wWidth; + wsgY++; + } +} + +/** + * @brief Draw a WSG to the display without flipping or rotation + * + * @param wsg The WSG to draw to the display + * @param xOff The x offset to draw the WSG at + * @param yOff The y offset to draw the WSG at + * @param palette Color Map to use + * @param xScale The amount to scale the image horizontally + * @param yScale The amount to scale the image vertically + */ +void drawWsgPaletteSimpleScaled(const wsg_t* wsg, int16_t xOff, int16_t yOff, wsgPalette_t* palette, int16_t xScale, + int16_t yScale) +{ + // This function has been micro optimized by cnlohr on 2022-09-07, using gcc version 8.4.0 (crosstool-NG + // esp-2021r2-patch3) + + if (NULL == wsg->px) + { + return; + } + + // Only draw in bounds + int dWidth = TFT_WIDTH; + int dHeight = TFT_HEIGHT; + int wWidth = wsg->w; + int xMax = CLAMP(xOff + wWidth * xScale, 0, dWidth); + int yMax = CLAMP(yOff + wsg->h * yScale, 0, dHeight); + const paletteColor_t* linein = wsg->px; + + int x1; + int y1; + + // Draw each pixel, scaled + for (int y = yOff, iy = 0; y < yMax && iy < wsg->h; y += yScale, iy++) + { + if (y >= TFT_HEIGHT) + { + return; + } + + y1 = y + yScale; + + // Entire "pixel" is off-screen + if (y1 <= 0) + { + linein += wWidth; + continue; + } + + for (int x = xOff, ix = 0; x < xMax && ix < wsg->w; x += xScale, ix++) + { + if (x >= TFT_WIDTH) + { + // next line + break; + } + + x1 = x + xScale; + + if (x1 <= 0) + { + // next pixel + continue; + } + + uint8_t color = palette->newColors[linein[ix]]; + if (color != cTransparent) + { + fillDisplayArea(MAX(x, 0), MAX(y, 0), MIN(x1, dWidth), MIN(y1, dHeight), color); + } + } + linein += wWidth; + } +} + +/** + * @brief Draw a WSG to the display without flipping or rotation at half size + * + * @param wsg The WSG to draw to the display + * @param xOff The x offset to draw the WSG at + * @param yOff The y offset to draw the WSG at + * @param palette Color Map to use + */ +void drawWsgPaletteSimpleHalf(const wsg_t* wsg, int16_t xOff, int16_t yOff, wsgPalette_t* palette) +{ + // This function has been micro optimized by cnlohr on 2022-09-07, using gcc version 8.4.0 (crosstool-NG + // esp-2021r2-patch3) + + if (NULL == wsg->px) + { + return; + } + + // Only draw in bounds + int dWidth = TFT_WIDTH; + int wWidth = wsg->w; + int xMin = CLAMP(xOff, 0, dWidth); + int xMax = CLAMP(xOff + (wWidth / 2), 0, dWidth); + int yMin = CLAMP(yOff, 0, TFT_HEIGHT); + int yMax = CLAMP(yOff + (wsg->h / 2), 0, TFT_HEIGHT); + paletteColor_t* px = getPxTftFramebuffer(); + int numX = xMax - xMin; + int wsgY = (yMin - yOff); + int wsgX = (xMin - xOff); + paletteColor_t* lineout = &px[(yMin * dWidth) + xMin]; + const paletteColor_t* linein = &wsg->px[wsgY * wWidth + wsgX]; + + // Draw each pixel + for (int y = yMin; y < yMax; y++) + { + for (int x = 0; x < numX; x++) + { + uint8_t color = palette->newColors[linein[x * 2]]; + if (color != cTransparent) + { + lineout[x] = color; + } + } + lineout += dWidth; + linein += (2 * wWidth); + wsgY++; + } +} + +/** + * @brief Resets the palette to initial state + * + * @param palette Color map to modify + */ +void wsgPaletteReset(wsgPalette_t* palette) +{ + // Reset the palette + for (int32_t i = 0; i < 217; i++) + { + palette->newColors[i] = i; + } +} + +/** + * @brief Sets a single color to the provided palette + * + * @param palette Color map to modify + * @param replacedColor Color to be replaced + * @param newColor Color that will replace the previous + */ +void wsgPaletteSet(wsgPalette_t* palette, paletteColor_t replacedColor, paletteColor_t newColor) +{ + palette->newColors[replacedColor] = newColor; +} + +void wsgPaletteSetGroup(wsgPalette_t* palette, paletteColor_t* replacedColors, paletteColor_t* newColors, + uint8_t arrSize) +{ + for (int32_t i = 0; i < arrSize; i++) + { + wsgPaletteSet(palette, replacedColors[i], newColors[i]); + } +} \ No newline at end of file diff --git a/main/display/wsgPalette.h b/main/display/wsgPalette.h new file mode 100644 index 000000000..190ca062d --- /dev/null +++ b/main/display/wsgPalette.h @@ -0,0 +1,91 @@ +/** + * @file wsgPalette.h + * @author Jeremy Stintzcum (jeremy.stintzcum@gmail.com) + * @brief Provides palette swap functionality for Swadge + * @version 1.0.0 + * @date 2024-09-20 + * + * @copyright Copyright (c) 2024 + * + */ + +/*! \file wsgPalette.h + * + * \section wsgPalette_design Design Philosophy + * + * Provides functionality to WSGs to use a palette a la the NES. See wsg.h for how these are implemented. + * + * Clones all the current options for drawing WSGs, but all of them require a new parameter, 'palette' which is a array + of paletteColor_t objects. The functions largely just intercepts the color given by the WSG and converts it based on + the newColor map. + * + * \section wsgPalette_usage Usage + * + * There are three setup functions: + * - wsgPaletteReset(): Resets the provided palette to draw the default colors + * - wsgPaletteSet(): Provided the palette, a color to overwrite and a new color to use, sets the color + * - wsgPaletteSetGroup(): Does the same as above, but using lists to make generation easier + * + * If wsgPaletteReset() isn't called for the palette being used, all colors not specifically assigned will be black. + * + * There are four drawing functions provided with the palette + * - drawWsgPalette(): Draws the WSG with the appropriate palette + * - drawWsgPaletteSimple(): Draws the WSG with palette, but can't be rotated or flipped. + * - drawWsgPaletteSimpleScaled(): Draws the WSG with palette at a larger size set by the provided scale (integer + values, 2x, 3x, 4x...). + * - drawWsgPaletteSimpleHalf(): Draws the WSG at half scale with the included palette. + * + * \section wsgPalette_example Example + * + * \code{.c} + * // In modeData_t + * { + * wsgPalette_t pal; + * } + + * // In modeEnter + * { + * // Palette setup + * wsgPaletteReset(&pal); + * wsgPaletteSet(&pal, c000, c555); + * } + * + * // Where the WSG is drawn + * { + * drawWsgPalette(&wsg, x, y, &pal, vertFlip, HorFlip, rotation); + * } + * \endcode + */ +#pragma once + +//============================================================================== +// Includes +//============================================================================== + +#include +#include +#include "wsg.h" + +//============================================================================== +// Struct +//============================================================================== + +typedef struct +{ + paletteColor_t newColors[217]; ///< Color map +} wsgPalette_t; + +//============================================================================== +// Functions +//============================================================================== + +void drawWsgPalette(const wsg_t* wsg, int16_t xOff, int16_t yOff, wsgPalette_t* palette, bool flipLR, bool flipUD, + int16_t rotateDeg); +void drawWsgPaletteSimple(const wsg_t* wsg, int16_t xOff, int16_t yOff, wsgPalette_t* palette); +void drawWsgPaletteSimpleScaled(const wsg_t* wsg, int16_t xOff, int16_t yOff, wsgPalette_t* palette, int16_t xScale, + int16_t yScale); +void drawWsgPaletteSimpleHalf(const wsg_t* wsg, int16_t xOff, int16_t yOff, wsgPalette_t* palette); +void wsgPaletteReset(wsgPalette_t* palette); +void wsgPaletteSet(wsgPalette_t* palette, paletteColor_t replaced, paletteColor_t newColor); +void wsgPaletteSetGroup(wsgPalette_t* palette, paletteColor_t* replacedColors, paletteColor_t* newColors, + uint8_t arrSize); \ No newline at end of file From 576902abebc8cf24aea0ce87cf8314de5a80a0aa Mon Sep 17 00:00:00 2001 From: Dylan Whichard Date: Sun, 22 Sep 2024 03:52:55 -0700 Subject: [PATCH 11/13] Add FreeDesktop config files for native support in graphical desktop environments (#294) --- .../workflows/build-firmware-and-emulator.yml | 10 ++++ docs/EMULATOR.md | 15 ++++- emulator/resources/SwadgeEmulator.desktop | 11 ++++ emulator/resources/install.sh | 57 +++++++++++++++++++ 4 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 emulator/resources/SwadgeEmulator.desktop create mode 100755 emulator/resources/install.sh diff --git a/.github/workflows/build-firmware-and-emulator.yml b/.github/workflows/build-firmware-and-emulator.yml index 850739ef8..4f42db1a7 100644 --- a/.github/workflows/build-firmware-and-emulator.yml +++ b/.github/workflows/build-firmware-and-emulator.yml @@ -55,6 +55,9 @@ jobs: emu_artifacts: - swadge_emulator - version.txt + - install.sh + - icon.png + - SwadgeEmulator.desktop idf_install: ~/.espressif runs-on: ${{ matrix.runner }} @@ -169,6 +172,13 @@ jobs: run: | make SwadgeEmulator.app + - name: Create Linux FreeDesktop files + if: matrix.emulator && matrix.family == 'linux' + run: | + cp emulator/resources/install.sh . + cp emulator/resources/icon.png . + cp emulator/resources/SwadgeEmulator.desktop . + - name: Create Emulator zip if: matrix.emulator && matrix.family != 'windows' run: | diff --git a/docs/EMULATOR.md b/docs/EMULATOR.md index 4657e5e96..db3c69cda 100644 --- a/docs/EMULATOR.md +++ b/docs/EMULATOR.md @@ -22,7 +22,16 @@ wireless connection. The Linux version of the emulator does not require any other software to operate. Simply extract the `.zip` file anywhere you like and run the `swadge_emulator` program, either by opening it from your -file browser or by running `./swadge_emulator` from the command-line. +file browser or by running `./swadge_emulator` from the command-line. The Linux emulator includes a +script, `install.sh`, which can be run to install the Swadge Emulator as a desktop application, which +will allow you to open the emulator directly from many desktop environments, and to asssociate the +emulator with MIDI files using the "Open with..." option in your file browser. If you do not want these +features, there is no need to run the script. You will need to run this script again if you download a +new version of the emulator. By default, the installation script will install to `~/.local`, but you +can specify an alternate installation root such as `/usr/local` by passing it as an argument to +the `install.sh` script: + + ./install.sh /usr/local ### Mac @@ -257,7 +266,9 @@ time. MIDI Files (`.mid`, `.midi`, and `.kar`) can be played in directly by passing the name of the MIDI file as a command-line argument to the Swadge Emulator. On Windows, you should also be able -to drag a MIDI file on top of `SwadgeEmulator.exe` to play it. +to drag a MIDI file on top of `SwadgeEmulator.exe` to play it. On Linux, you should be able to open +MIDI files with the emulator using your file browser's "Open with..." option after running the included +install script. The Swadge Emulator includes MIDI support, which simulates the USB-MIDI behavior of the real Swadge using the system MIDI implementation. Note that MIDI implementation and behavior will vary between diff --git a/emulator/resources/SwadgeEmulator.desktop b/emulator/resources/SwadgeEmulator.desktop new file mode 100644 index 000000000..1a7481498 --- /dev/null +++ b/emulator/resources/SwadgeEmulator.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=Swadge Emulator +GenericName=Swadge Emulator +Comment=Emulate the MAGFest Swadge +Exec=$ROOT/bin/swadge_emulator %U +Terminal=false +Type=Application +StartupNotify=true +MimeType=audio/midi;audio/x-midi; +Icon=$ROOT/share/icons/SwadgeEmulator/icon.png +Categories=Game;Emulator;AudioVideo;Audio;Midi;Player;Development; diff --git a/emulator/resources/install.sh b/emulator/resources/install.sh new file mode 100755 index 000000000..cdbc336ea --- /dev/null +++ b/emulator/resources/install.sh @@ -0,0 +1,57 @@ +#!/bin/bash +set -e +# Uncomment this to print all script lines +# set -x + +if [ -e swadge_emulator ]; then + BIN_SRC="swadge_emulator" +elif [ -e ../../swadge_emulator ]; then + BIN_SRC="../../swadge_emulator" +else + echo "Error: install file 'swadge_emulator' not found! Are you running this script from the correct directory?" + exit 1 +fi + +if [ -e SwadgeEmulator.desktop ]; then + DESKTOP_SRC="SwadgeEmulator.desktop" +elif [ -e emulator/resources/SwadgeEmulator.desktop ]; then + DESKTOP_SRC="emulator/resources/SwadgeEmulator.desktop" +else + echo "Error: install file 'SwadgeEmulator.desktop' not found! Are you running this script from the correct directory?" + exit 1 +fi + +if [ -e icon.png ]; then + ICON_SRC="icon.png" +elif [ -e emulator/resources/icon.png ]; then + ICON_SRC="emulator/resources/icon.png" +else + echo "Error: install file 'ico.png' not found! Are you running this script from the correct directory?" +fi + +INSTALL_DIR="${HOME}/.local" + +if [ "$#" -gt "0" ]; then + INSTALL_DIR="${1}" +fi + +echo "Installing the Swadge Emulator to: ${INSTALL_DIR}" + +mkdir -p "${INSTALL_DIR}/bin" "${INSTALL_DIR}/share/icons/SwadgeEmulator" "${INSTALL_DIR}/share/applications" + +cp "${BIN_SRC}" "${INSTALL_DIR}/bin/swadge_emulator" +cp "${ICON_SRC}" "${INSTALL_DIR}/share/icons/SwadgeEmulator/icon.png" +sed "s,\$ROOT,${INSTALL_DIR},g" "${DESKTOP_SRC}" > "${INSTALL_DIR}/share/applications/SwadgeEmulator.desktop" + +if ! [[ ":$PATH:" == *":$INSTALL_DIR/bin:"* ]]; then + echo "WARNING: ${INSTALL_DIR}/bin is not in your PATH!" + echo " If you want to be able to start the Swadge Emulator from the command-line," + echo " you can run this command to update your PATH for this session," + echo " or add it to a file like ~/.bash_profile:" + echo + echo " export PATH=\"\$PATH:${INSTALL_DIR}/bin\"" + echo +fi + +echo +echo "Installation complete!" From 1da56447cbce8fb99526c503bf4b3cf1ea7130b3 Mon Sep 17 00:00:00 2001 From: Dylan Whichard Date: Sun, 22 Sep 2024 03:58:48 -0700 Subject: [PATCH 12/13] MIDI Registered/Non-registered Parameter Support, default instrument changes (#293) Add documentation too --- docs/MIDI.md | 44 ++- emulator/src/idf/midi_device.c | 5 + main/midi/midiFileParser.c | 54 +-- main/midi/midiPlayer.c | 493 ++++++++++++++++++++++++- main/midi/midiPlayer.h | 39 ++ main/modes/music/usbsynth/mode_synth.c | 88 ++++- 6 files changed, 668 insertions(+), 55 deletions(-) diff --git a/docs/MIDI.md b/docs/MIDI.md index 88af65bed..9e3437852 100644 --- a/docs/MIDI.md +++ b/docs/MIDI.md @@ -8,13 +8,14 @@ commands are simply ignored and the rest of the file will play normally. ## Basics -The Swadge's 8-bit audio synthesizer supports up to 16 MIDI channels, with channel 10 reserved for -percussion (the drum kit). +The Swadge's 8-bit audio synthesizer supports up to 16 MIDI channels, with channels 10 and 11 reserved for +percussion (the drum kit). By default, channel 1 through 9 are configured to use the [MAGFest instruments](#MAGPrograms) +in order. ## Features * 24-voice polyphony shared between non-percussion channels -* 8 additional voices reserved for percussion only channel (channel 10) +* 8 additional voices reserved for percussion only channel (channels 10/11 by default) * Pitch bend * AfterTouch @@ -25,12 +26,12 @@ For the list of General MIDI instruments available, see [Wikipedia](https://en.w Note that the sound produced for these instruments is a wavetable rather than full-length samples, so they sound more like a retro keyboard than the high-fidelity samples you might hear from a modern soft synthesizer. -#### Drum Kit -The Bank 0 Drum Kit follows the key mapping of the General MIDI program sounds, which can be found -on [Wikipedia](https://en.wikipedia.org/wiki/General_MIDI#Percussion). Note that some drum sounds may be incomplete or -not yet supported. +#### GM-Compatible Drum Kit +The Bank 0 Drum Kit is a set of custom drum sounds that follows the standard General MIDI note-to-drum mappings, which can be found +on [Wikipedia](https://en.wikipedia.org/wiki/General_MIDI#Percussion) and is commonly supported by MIDI devices and software. Note +that some drum sounds may be incomplete or not yet supported. This drum kit is available on MIDI Channel 10. -### MAGFest Instruments (Bank 1) +### MAGFest Instruments (Bank 1) {#MAGPrograms} These instruments are mainly basic wave shapes, with some extra goodies thrown in. | Program# | Name | @@ -45,8 +46,9 @@ These instruments are mainly basic wave shapes, with some extra goodies thrown i | 7 | Square Wave Hit | | 8 | Noise Hit | -#### Drum Kit +#### Donut Swadge Drum Kit The Bank 1 Drum Kit includes a range of noise-based drum sounds originally featured on the [King Donut Swadge](https://swadge.com/donut/). +By default, this drum kit is available on MIDI Channel 11. | Note | Note Number | Description | | -------- | ----------- | ----------------- | @@ -74,3 +76,27 @@ fine and coarse adjustment knobs on a real audio device, but some editing softwa | 73 | Attack Time | 0-127 | Set the length of time (in 10ms increments) it will take for a note to reach its maximum volume after it starts playing. | | | 75 | Decay Time | 0-127 | Set the length of time (in 10ms increments) it will take for a note to fade from its maximum volume to its sustain volume. | | | 76 | Sustain Level | 0-127 | Set the volume level the note will reach at the end of the decay time, and will be maintained as long as the note is held on. | | +| 6, 38 | Data Entry | 0-16383 | Set the value of the registered or non-registered parameter that was selected previously using the `Registered Parameter` or `Non-registered Parameter` controllers. | | +| 96 | Data Button Increment | 0 (not used) | Increments the value of the registered or non-registered parameter by one | | +| 97 | Data Button Decrement | 0 (not used) | Decrements the value of the registered or non-registered parameter by one | | +| 98, 99 | Non-registered Parameter | 0-16383 | Selects a non-registered parameter to be changed with the `Data Entry`or `Data Button` controllers. | | +| 101, 100 | Registered Parameter | 0-16383 | Selects a registered parameter value to be changed with the `Data Entry` or `Data Button` controllers. | | + + +## MIDI Non-registered Parameters + +These parameters can be changed by first using the `Non-registered Parameter` controller to select a specific parameter, then +using the `Data Entry` or `Data Button` controllers to actually change the parameter's value. + +| MIDI NRPN# | Name | Value Range | Description | +| ---------- | ---------- | --------------- | -------------------------------------------------------------------------- | +| 10 | Percussion | 0 (off), 1 (on) | Sets whether this channel plays a drum kit instead of a pitched instrument | + +## MIDI System-Exclusive (SysEx) Parameters + +The Swadge does not currently support any SysEx commands of its own, but it does support the following Universal SysEx commands. + +| Name | Data (Hex) | Description | +| ---------- | ---------------------------- | ----------- | +| GM Enable |
F0 7E 7F 09 01 F7
| Enables General MIDI Mode. All channels are fully reset, and set to use Bank 0, Program 0 ("Acoustic Grand Piano"), and Channel 10 only set to Percussion mode. | +| GM Disable |
F0 7E 7F 09 00 F7
| Disables General MIDI Mode. All channels are fully reset, and set to use Bank 1. Channels 1 through 9 are set to use Programs 0 through 8, respectively. Channel 10 is set to Percussion mode, and set to Bank 0 (General MIDI Compatible Drum kit). Channel 11 is set to Percussion mode, and set to Bank 1 (Donut Swadge Drum kit). Channels 12 through 16 **are currently** set to Bank 0, Program 0 ("Acoustic Grand Piano"), but **note** that this may change in the future and is not a guarantee. | diff --git a/emulator/src/idf/midi_device.c b/emulator/src/idf/midi_device.c index 798d45a27..257b7cd1d 100644 --- a/emulator/src/idf/midi_device.c +++ b/emulator/src/idf/midi_device.c @@ -25,6 +25,9 @@ #include #include +// Un-comment to enable printing all received MIDI packets +// #define DEBUG_MIDI_PACKETS + static uint8_t runningStatus = 0; static struct platform_midi_driver* midiDriver = NULL; @@ -66,12 +69,14 @@ bool tud_midi_n_packet_read(uint8_t itf, uint8_t packet[4]) int read = midiDriver ? platform_midi_read(midiDriver, real_packet, sizeof(real_packet)) : 0; if (read > 0) { +#ifdef DEBUG_MIDI_PACKETS printf("Packet: "); for (int i = 0; i < read; i++) { printf("%hhx, ", real_packet[i]); } printf("\n"); +#endif // Normally start reading after the status byte int dataOffset = 1; diff --git a/main/midi/midiFileParser.c b/main/midi/midiFileParser.c index 7d308e681..eebe407a2 100644 --- a/main/midi/midiFileParser.c +++ b/main/midi/midiFileParser.c @@ -516,26 +516,6 @@ static bool trackParseNext(midiFileReader_t* reader, midiTrackState_t* track) // A sysex event in a MIDI file is different from one in streaming mode (i.e. USB), because there is no // length byte transmitted in streaming mode, so we need to check the manufacturer length there - // TODO: Move this to the streaming parser - /* - // We'll need to read at least one more byte - //if (!TRK_REMAIN()) { ERR(); } - uint16_t manufacturer = *(track->cur++); - if (!manufacturer) - { - if (TRK_REMAIN() < 2) { ERR(); } - // A manufacturer ID of 0 means the ID is actually in the next 2 bytes - manufacturer = *(track->cur++); - manufacturer <<= 7; - manufacturer |= *(track->cur++); - } - else - { - // Technically 0x00 0x00 0x41 is considered a different manufacturer from the single-byte value 0x41 - // So in that case just put a 1 in the 15th bit that's otherwise unused - manufacturer |= (1 << 15); - }*/ - uint32_t sysexLength; read = readVariableLength(track->cur, TRK_REMAIN(), &sysexLength); if (!read) @@ -554,10 +534,38 @@ static bool trackParseNext(midiFileReader_t* reader, midiTrackState_t* track) track->nextEvent.sysex.data = track->cur; // If the status is 0xF0, the 0xF0 should be prefixed to the data. track->nextEvent.sysex.prefix = (status == 0xF0) ? 0xF0 : 0x00; - // TODO - track->nextEvent.sysex.manufacturerId = 0; - track->cur += sysexLength; + // Store the pointer to the end of data so we don't need to do math later + const uint8_t* sysexEnd = (track->cur + sysexLength); + + // TODO: Move this to the streaming parser + // We'll need to read at least one more byte + if (!TRK_REMAIN()) + { + ERR(); + } + uint16_t manufacturer = *(track->cur++); + if (!manufacturer) + { + if (TRK_REMAIN() < 2) + { + ERR(); + } + // A manufacturer ID of 0 means the ID is actually in the next 2 bytes + manufacturer = *(track->cur++); + manufacturer <<= 7; + manufacturer |= *(track->cur++); + } + else + { + // Technically 0x00 0x00 0x41 is considered a different manufacturer from the single-byte value 0x41 + // So in that case just put a 1 in the 15th bit that's otherwise unused + manufacturer |= (1 << 15); + } + + track->nextEvent.sysex.manufacturerId = manufacturer; + + track->cur = sysexEnd; } else { diff --git a/main/midi/midiPlayer.c b/main/midi/midiPlayer.c index 8cb9ff3ae..848c1d39b 100644 --- a/main/midi/midiPlayer.c +++ b/main/midi/midiPlayer.c @@ -14,6 +14,9 @@ #include "macros.h" #include "cnfs.h" +// Uncomment to enable logging SysEx commands in detail +// #define DEBUG_SYSEX 1 + #define OSC_DITHER //============================================================================== @@ -48,6 +51,26 @@ static const uint8_t oscDither[] = { * ((int)(voice)->transitionTicksTotal - (int)(voice)->transitionTicks) \ / (int)(voice)->transitionTicksTotal)) +/// @brief Set only the MSB of a 14-bit value +#define SET_MSB(target, val) \ + do \ + { \ + uint16_t new14bitVal = ((val) & 0x7F); \ + new14bitVal <<= 7; \ + new14bitVal |= ((target) & 0x7F); \ + (target) = new14bitVal; \ + } while (0) + +/// @brief Set only the LSB of a 14-bit value +#define SET_LSB(target, val) \ + do \ + { \ + uint16_t new14bitVal = ((target) >> 7) & 0x7F; \ + new14bitVal <<= 7; \ + new14bitVal |= ((val) & 0x7F); \ + (target) = new14bitVal; \ + } while (0) + // Values for the percussion special states bitmap #define SHIFT_HI_HAT (0) #define SHIFT_WHISTLE (6) @@ -807,6 +830,251 @@ static void handleSysexEvent(midiPlayer_t* player, const midiSysexEvent_t* sysex // Actually we can assign a non-registered control to R, G, and B // I think there's enough for every LED too assuming there's still like, 7 or so // AND: if possible have a sysex command (hmm) that sets all the LEDs to individual values at once + + // GM Enable (01) + // GM Disable (02) + // GM2 Enable (03) + // GM Disable (00) (incorrect but I bet people are doing it because teragonaudio says to) + uint8_t mfrLen = 1; + +#ifdef DEBUG_SYSEX + uint8_t mfrHex[3] = {0, 0, 0}; +#endif + + const uint8_t* end = sysex->data + sysex->length; + + // Determine the length of the manufacturer ID so we know how many bytes to skip for the real data + if (sysex->manufacturerId & (1 << 15)) + { + // This is a 1-byte manufacturer ID + mfrLen = 1; +#ifdef DEBUG_SYSEX + mfrHex[0] = sysex->manufacturerId & ~(1 << 15); +#endif + } + else + { + // This is a 3-byte manufacturer ID + mfrLen = 3; +#ifdef DEBUG_SYSEX + mfrHex[1] = (sysex->manufacturerId >> 7) & 0x7F; + mfrHex[2] = (sysex->manufacturerId & 0x7F); +#endif + } + + const uint8_t* dataPtr = sysex->data + mfrLen; + +#ifdef DEBUG_SYSEX + printf("Got SysEx event length=%" PRIu32 ":\n", sysex->length); + printf("Manufacturer: "); + + for (int i = 0; i < mfrLen; i++) + { + printf("%02" PRIx8 " ", mfrHex[i]); + } + printf("\n"); + + for (uint32_t i = 0; i < sysex->length; i++) + { + if (i % 8 == 0) + { + printf("\n%04" PRIx32 " ", i); + } + + printf("%02" PRIx8 " ", sysex->data[i]); + } + + printf("\n"); +#endif + + switch (sysex->manufacturerId) + { + case MMFR_EDUCATIONAL_USE: + break; + + case MMFR_UNIVERSAL_NON_REAL_TIME: + case MMFR_UNIVERSAL_REAL_TIME: + { + bool realTime = (sysex->manufacturerId == MMFR_UNIVERSAL_REAL_TIME); + + // Universal SysEx messages have 127 "channel" values, with 0x7F meaning "Disregard Channel" + // uint8_t sysexChannel = *dataPtr++; + + if (dataPtr >= end) + { + // Err + return; + } + + uint8_t subId = *dataPtr++; + + if (dataPtr >= end) + { + // Err + return; + } + + uint8_t subId2 = *dataPtr++; + + if (realTime) + { + // Real Time Universal SysEx + switch (subId) + { + // 0: UNUSED + case 0x0: + // MIDI Time Code + case 0x1: + // MIDI Show Control + case 0x2: + // Notation Information + case 0x3: + break; + + // Device Control + case 0x4: + { + switch (subId2) + { + // Master Volume + case 1: + { + break; + } + + // Master Balance + case 2: + break; + + // Master Fine Tuning + case 3: + { + break; + } + + // Master Coarse Tuning + case 4: + { + break; + } + + case 5: + default: + break; + } + + break; + } + + // Real Time MTC Cueing + case 0x5: + // MIDI Machine Control Commands + case 0x6: + // MIDI Machine Control Responses + case 0x7: + // MIDI Tuning Standard (Real Time) + case 0x8: + // Controller Destination Setting + case 0x9: + // Key-based Instrument Control + case 0xA: + // Scalable Polyphony MIDI MIP Message + case 0xB: + // Mobile Phone Control Message + case 0xC: + default: + break; + } + } + else + { + // Non-Real Time Universal SysEx + switch (subId) + { + // 0: UNUSED + case 0x0: + // Sample Dump + case 0x1: + // Sample Data Packet + case 0x2: + // Sample Dump Request + case 0x3: + // MIDI Time Code + case 0x4: + // Sample Dump Extensions + case 0x5: + // General Information + case 0x6: + // File Dump + case 0x7: + // MIDI Tuning Standard + case 0x8: + break; + + // General MIDI + case 0x9: + { + switch (subId2) + { + case 0: + { + // NOTE: This value is NOT defined by the MIDI spec + // However, some resources incorrectly claim that a value of `0` for sub-ID 2 is the + // value for a "GM Off" event (with `1` being "GM On"), even though a value of `2` is + // specified for `GM Off`, so it is possible that a `0` value will be sent with the + // intent to disable GM. + midiGmOff(player); + break; + } + + // General MIDI 1 On + case 1: + { + midiGmOn(player); + break; + } + + // General MIDI Off + case 2: + { + midiGmOff(player); + break; + } + + // General MIDI 2 On (Unsupported) + case 3: + default: + break; + } + break; + } + + // Downloadable Sounds + case 0xA: + // File Reference Message + case 0xB: + // MIDI Visual Control + case 0xC: + // MIDI Capability Inquiry + case 0xD: + // End of File + case 0x7B: + // Wait + case 0x7C: + // Cancel + case 0x7D: + // NAK + case 0x7E: + // ACK + case 0x7F: + default: + break; + } + } + + break; + } + } } /** @@ -894,7 +1162,7 @@ void midiPlayerInit(midiPlayer_t* player) void midiPlayerReset(midiPlayer_t* player) { midiAllSoundOff(player); - midiGmOn(player); + midiGmOff(player); // We need the tempo to not be zero, so set it to the default of 120BPM until we get a tempo event // 120 BPM == 500,000 microseconds per quarter note @@ -1121,11 +1389,14 @@ void midiResetChannelControllers(midiPlayer_t* player, uint8_t channel) { midiChannel_t* chan = &player->channels[channel]; midiSustain(player, channel, MIDI_FALSE); - chan->volume = UINT14_MAX; - chan->pitchBend = PITCH_BEND_CENTER; - chan->program = 0; - chan->held = 0; - chan->sustenuto = 0; + chan->volume = UINT14_MAX; + chan->pitchBend = PITCH_BEND_CENTER; + chan->registeredParameter = true; + // Set selected RPN to "RPN Reset" which means none currently selected + chan->selectedParameter = UINT14_MAX; + chan->program = 0; + chan->held = 0; + chan->sustenuto = 0; initTimbre(&chan->timbre, getTimbreForProgram(chan->percussion, chan->bank, chan->program)); } @@ -1153,8 +1424,44 @@ void midiGmOff(midiPlayer_t* player) midiResetChannelControllers(player, chanIdx); // Channel 10 (index 9) is reserved for percussion. - chan->percussion = (9 == chanIdx); - chan->bank = 1; + // Also enable percussion on channel 11 (index 10) with an alternate drum kit + chan->percussion = (9 == chanIdx || 10 == chanIdx); + // Set bank 1 (MAGFest sounds) for everything except the first drumkit on 10 + chan->bank = (9 == chanIdx) ? 0 : 1; + + switch (chanIdx) + { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + { + chan->program = chanIdx; + break; + } + + case 9: + case 10: + { + chan->program = 0; + break; + } + + case 11: + case 12: + case 13: + case 14: + case 15: + { + chan->program = 0; + break; + } + } initTimbre(&chan->timbre, getTimbreForProgram(chan->percussion, chan->bank, chan->program)); } @@ -1597,19 +1904,35 @@ void midiControlChange(midiPlayer_t* player, uint8_t channel, midiControl_t cont { case MCC_BANK_MSB: { - uint16_t newBank = (val & 0x7F); - newBank <<= 7; - newBank |= (player->channels[channel].bank & 0x7F); - player->channels[channel].bank = newBank; + SET_MSB(player->channels[channel].bank, val); break; } case MCC_BANK_LSB: { - uint16_t newBank = (player->channels[channel].bank >> 7) & 0x7F; - newBank <<= 7; - newBank |= (val & 0x7F); - player->channels[channel].bank = newBank; + SET_LSB(player->channels[channel].bank, val); + break; + } + + // Data Entry MSB (6) + case MCC_DATA_ENTRY_MSB: + { + uint16_t curVal = midiGetParameterValue(player, channel, player->channels[channel].registeredParameter, + player->channels[channel].selectedParameter); + SET_MSB(curVal, val); + midiSetParameter(player, channel, player->channels[channel].registeredParameter, + player->channels[channel].selectedParameter, curVal); + break; + } + + // Data Entry LSB (38) + case MCC_DATA_ENTRY_LSB: + { + uint16_t curVal = midiGetParameterValue(player, channel, player->channels[channel].registeredParameter, + player->channels[channel].selectedParameter); + SET_LSB(curVal, val); + midiSetParameter(player, channel, player->channels[channel].registeredParameter, + player->channels[channel].selectedParameter, curVal); break; } @@ -1672,6 +1995,56 @@ void midiControlChange(midiPlayer_t* player, uint8_t channel, midiControl_t cont break; } + // Data Button Increment (96) + case MCC_DATA_BUTTON_INC: + // Data Button Decrement (97) + case MCC_DATA_BUTTON_DEC: + { + bool inc = (control == MCC_DATA_BUTTON_INC); + uint16_t param = player->channels[channel].selectedParameter; + uint16_t curVal + = midiGetParameterValue(player, channel, player->channels[channel].registeredParameter, param); + + // Prevent rollover + if ((inc && curVal < UINT14_MAX) || (!inc && curVal > 0)) + { + midiSetParameter(player, channel, player->channels[channel].registeredParameter, param, curVal); + } + break; + } + + // Non-registered Parameter Number LSB (98) + case MCC_NON_REGISTERED_PARAM_LSB: + { + player->channels[channel].registeredParameter = false; + SET_LSB(player->channels[channel].selectedParameter, val); + break; + } + + // Non-registered Parameter Number MSB (99) + case MCC_NON_REGISTERED_PARAM_MSB: + { + player->channels[channel].registeredParameter = false; + SET_MSB(player->channels[channel].selectedParameter, val); + break; + } + + // Registered Parameter Number LSB (100) + case MCC_REGISTERED_PARAM_LSB: + { + player->channels[channel].registeredParameter = true; + SET_LSB(player->channels[channel].selectedParameter, val); + break; + } + + // Registered Parameter Number MSB (101) + case MCC_REGISTERED_PARAM_MSB: + { + player->channels[channel].registeredParameter = true; + SET_MSB(player->channels[channel].selectedParameter, val); + break; + } + // All sounds off (120) case MCC_ALL_SOUND_OFF: { @@ -1763,6 +2136,94 @@ uint16_t midiGetControlValue14bit(midiPlayer_t* player, uint8_t channel, midiCon return result; } +void midiSetParameter(midiPlayer_t* player, uint8_t channel, bool registeredParam, uint16_t param, uint16_t value) +{ + if (registeredParam) + { + switch (param) + { + // Pitch Bend Range + case 0x0000: + { + // Not supported (yet?) + break; + } + + // Master Fine Tuning + case 0x0001: + { + // Not supported + break; + } + + // Master Coarse Tuning + case 0x0002: + { + // Not supported + break; + } + + // "Not Set" + case 0x3FFF: + default: + { + // No action necessary + break; + } + } + } + else + { + switch (param) + { + case 10: + { + // Set Percussion + if ((value != 0) != player->channels[channel].percussion) + { + player->channels[channel].percussion = (value != 0); + // Necessary to actually configure the channel for its new percussion state + midiSetProgram(player, channel, player->channels[channel].program); + } + break; + } + + default: + { + // Ignore all others + break; + } + } + } +} + +uint16_t midiGetParameterValue(midiPlayer_t* player, uint8_t channel, bool registered, uint16_t param) +{ + if (registered) + { + switch (param) + { + default: + return 0; + } + } + else + { + switch (param) + { + case 10: + { + return player->channels[channel].percussion ? 1 : 0; + } + + default: + { + return 0; + } + } + } +} + void midiPitchWheel(midiPlayer_t* player, uint8_t channel, uint16_t value) { // Save the pitch bend value diff --git a/main/midi/midiPlayer.h b/main/midi/midiPlayer.h index 8751d9072..71c8aad36 100644 --- a/main/midi/midiPlayer.h +++ b/main/midi/midiPlayer.h @@ -334,6 +334,16 @@ typedef enum MCC_POLY_OPERATION = 127, } midiControl_t; +/** + * @brief Values that can be directly compared against midiSysexEvent_t::manufacturerId + */ +typedef enum +{ + MMFR_EDUCATIONAL_USE = 0x807D, + MMFR_UNIVERSAL_NON_REAL_TIME = 0x807E, + MMFR_UNIVERSAL_REAL_TIME = 0x807F, +} midiManufacturerId_t; + //============================================================================== // Structs //============================================================================== @@ -584,6 +594,12 @@ typedef struct /// @brief The ID of the program (timbre) set for this channel uint8_t program; + /// @brief Whether selectedParameter represents a registered or non-registered parameter + bool registeredParameter; + + /// @brief The ID of the currently selected registered or non-registered parameter + uint16_t selectedParameter; + /// @brief The actual current timbre definition which the program ID corresponds to midiTimbre_t timbre; @@ -870,6 +886,29 @@ uint8_t midiGetControlValue(midiPlayer_t* player, uint8_t channel, midiControl_t */ uint16_t midiGetControlValue14bit(midiPlayer_t* player, uint8_t channel, midiControl_t control); +/** + * @brief Set a registered or non-registered parameter value + * + * @param player The MIDI player + * @param channel The channel to set the parameter on + * @param registered true if param refers to a registered parameter number and false if it refers to a non-registered + * @param param The registered or non-registered MIDI parameter to set the value of + * @param value The 14-bit value to set the parameter to + */ +void midiSetParameter(midiPlayer_t* player, uint8_t channel, bool registered, uint16_t param, uint16_t value); + +/** + * @brief Get the value of a registered or non-registered parameter + * + * @param player The MIDI player + * @param channel The channel to retrieve the parameter from + * @param registered true if param refers to a registered parameter number and false if it refers to a non-registered + * @param param The registered or non-registered MIDI parameter number to retrieve the value for + * @return The current 14-bit value of the given registered or non-registered parameter, or 0 if the parameter is + * unsupported + */ +uint16_t midiGetParameterValue(midiPlayer_t* player, uint8_t channel, bool registered, uint16_t param); + /** * @brief Set the pitch wheel value on a given MIDI channel * diff --git a/main/modes/music/usbsynth/mode_synth.c b/main/modes/music/usbsynth/mode_synth.c index da238c3d0..5bdb34af9 100644 --- a/main/modes/music/usbsynth/mode_synth.c +++ b/main/modes/music/usbsynth/mode_synth.c @@ -18,6 +18,8 @@ #include "cnfs_image.h" #include "ctype.h" +#include + #include "midiPlayer.h" #include "midiFileParser.h" #include "midiUsb.h" @@ -283,6 +285,7 @@ typedef struct lfsrState_t shuffleState; int32_t shufflePos; int32_t headroom; + bool gmMode; wsg_t instrumentImages[16]; wsg_t percussionImage; @@ -1038,6 +1041,7 @@ static const char* menuItemIgnore = "Enabled: "; static const char* menuItemBank = "Bank Select: "; static const char* menuItemInstrument = "Instrument: "; static const char* menuItemResetAll = "Reset All Channels"; +static const char* menuItemGm = "General MIDI: "; static const char* menuItemReset = "Reset"; static const char* menuItemControls = "Controllers"; @@ -1057,6 +1061,7 @@ static const char* const nvsKeyIgnoreChan = "synth_ignorech"; static const char* const nvsKeyChanPerc = "synth_chpercus"; static const char* const nvsKeySynthConf = "synth_confblob"; static const char* const nvsKeySynthControlConf = "synth_ctrlconf"; +static const char* const nvsKeyGmEnabled = "synth_gmmode"; static const char* const menuItemModeOptions[] = { "Streaming", @@ -1190,6 +1195,11 @@ static const int32_t menuItemChannelsValues[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, }; +static const int32_t menuItemGmValues[] = { + 0, + 1, +}; + static settingParam_t menuItemModeBounds = { .def = 0, .min = 0, @@ -1288,6 +1298,13 @@ static settingParam_t menuItemChannelsBounds = { .key = NULL, }; +static settingParam_t menuItemGmBounds = { + .def = 0, + .min = 0, + .max = 1, + .key = nvsKeyGmEnabled, +}; + static const synthConfig_t defaultSynthConfig = { .ignoreChannelMask = 0, .percChannelMask = 0x0200, // Channel 10 set only @@ -1306,6 +1323,24 @@ static const synthConfig_t defaultSynthConfig = { .controlCounts = 0, }; +static const synthConfig_t nonGmSynthConfig = { + .ignoreChannelMask = 0, + .percChannelMask = 0x0600, // Channel 10 and 11 set + .programs = { + 0, 1, 2, 3, + 4, 5, 6, 7, + 8, 0, 0, 0, + 0, 0, 0, 0, + }, + .banks = { + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 0, 1, 0, + 0, 0, 0, 0, + }, + .controlCounts = 0, +}; + const char synthModeName[] = "MIDI Player"; static const char intermissionMsg[] = "SWADGAOKE!"; @@ -1351,7 +1386,7 @@ static synthData_t* sd; static void synthEnterMode(void) { - sd = calloc(1, sizeof(synthData_t)); + sd = heap_caps_calloc(1, sizeof(synthData_t), MALLOC_CAP_SPIRAM); loadFont("ibm_vga8.font", &sd->font, true); loadFont("sonic.font", &sd->betterFont, true); makeOutlineFont(&sd->betterFont, &sd->betterOutline, true); @@ -1428,6 +1463,12 @@ static void synthEnterMode(void) sd->headroom = nvsRead; sd->midiPlayer.headroom = sd->headroom; + if (!readNvs32(nvsKeyGmEnabled, &nvsRead)) + { + nvsRead = 0; + } + sd->gmMode = nvsRead ? true : false; + bool useDefaultConfig = true; size_t configBlobLen; if (readNvsBlob(nvsKeySynthConf, NULL, &configBlobLen)) @@ -1473,7 +1514,8 @@ static void synthEnterMode(void) { for (int blobIdx = 0; blobIdx < sd->synthConfig.controlCounts; blobIdx++) { - synthControlConfig_t* copy = (synthControlConfig_t*)malloc(sizeof(synthControlConfig_t)); + synthControlConfig_t* copy + = (synthControlConfig_t*)heap_caps_malloc(sizeof(synthControlConfig_t), MALLOC_CAP_SPIRAM); if (copy) { memcpy(copy, &configs[blobIdx], sizeof(synthControlConfig_t)); @@ -1490,7 +1532,7 @@ static void synthEnterMode(void) size_t savedNameLen; if (readNvsBlob(nvsKeyLastSong, NULL, &savedNameLen)) { - sd->filenameBuf = malloc(savedNameLen < 128 ? 128 : savedNameLen + 1); + sd->filenameBuf = heap_caps_malloc(savedNameLen < 128 ? 128 : savedNameLen + 1, MALLOC_CAP_SPIRAM); if (readNvsBlob(nvsKeyLastSong, sd->filenameBuf, &savedNameLen)) { @@ -1986,6 +2028,15 @@ static void synthApplyConfig(void) { sd->midiPlayer.headroom = sd->headroom; + if (sd->gmMode) + { + midiGmOn(&sd->midiPlayer); + } + else + { + midiGmOff(&sd->midiPlayer); + } + for (int i = 0; i < 16; i++) { uint16_t channelBit = (1 << i); @@ -2044,7 +2095,7 @@ static void synthSaveControl(uint8_t channel, uint8_t control, uint8_t value) } // Not found, add one - synthControlConfig_t* conf = calloc(1, sizeof(synthControlConfig_t)); + synthControlConfig_t* conf = heap_caps_calloc(1, sizeof(synthControlConfig_t), MALLOC_CAP_SPIRAM); if (conf) { conf->control = control; @@ -2351,6 +2402,11 @@ static void addChannelsMenu(menu_t* menu, const synthConfig_t* config) addSingleItemToMenu(menu, menuItemResetAll); wheelMenuSetItemInfo(sd->wheelMenu, menuItemResetAll, &sd->resetImage, rotTopMenu++, NO_SCROLL); + + addSettingsOptionsItemToMenu(menu, menuItemGm, menuItemOffOnOptions, menuItemGmValues, ARRAY_SIZE(menuItemGmValues), + &menuItemGmBounds, sd->gmMode); + wheelMenuSetItemInfo(sd->wheelMenu, menuItemGm, NULL, rotTopMenu++, SCROLL_HORIZ_R); + wheelMenuSetItemTextIcon(sd->wheelMenu, menuItemGm, "GM"); } static void synthSetupMenu(bool forceReset) @@ -2521,7 +2577,7 @@ static void preloadLyrics(karaokeInfo_t* karInfo, const midiFile_t* midiFile) // TODO we could save a couple bytes if we parsed the file an additional time to check how many events // there are in total... - midiTextInfo_t* info = (midiTextInfo_t*)malloc(sizeof(midiTextInfo_t)); + midiTextInfo_t* info = (midiTextInfo_t*)heap_caps_malloc(sizeof(midiTextInfo_t), MALLOC_CAP_SPIRAM); if (info) { @@ -3956,7 +4012,7 @@ static void midiTextCallback(metaEventType_t type, const char* text, uint32_t le return; } - midiTextInfo_t* info = (midiTextInfo_t*)malloc(sizeof(midiTextInfo_t)); + midiTextInfo_t* info = (midiTextInfo_t*)heap_caps_malloc(sizeof(midiTextInfo_t), MALLOC_CAP_SPIRAM); if (info) { @@ -4124,7 +4180,7 @@ static void synthMenuCb(const char* label, bool selected, uint32_t value) sd->screen = SS_FILE_SELECT; if (!sd->filenameBuf) { - sd->filenameBuf = calloc(1, 128); + sd->filenameBuf = heap_caps_calloc(1, 128, MALLOC_CAP_SPIRAM); } if (!sd->filenameBuf) @@ -4233,6 +4289,24 @@ static void synthMenuCb(const char* label, bool selected, uint32_t value) sd->menuSelectedChannel = value; sd->updateMenu = true; } + else if (label == menuItemGm) + { + if (value != sd->gmMode) + { + // Also reset all channels + memcpy(&sd->synthConfig, (value ? &defaultSynthConfig : &nonGmSynthConfig), sizeof(synthConfig_t)); + synthControlConfig_t* control; + while (NULL != (control = pop(&sd->controllerSettings))) + { + free(control); + } + + sd->gmMode = value; + writeNvs32(nvsKeyGmEnabled, value); + synthApplyConfig(); + sd->updateMenu = true; + } + } else { // Mapped menu items From 0e137f6e3ef38f56e40610d76236b44a42083cd9 Mon Sep 17 00:00:00 2001 From: JVeg199X <97848253+JVeg199X@users.noreply.github.com> Date: Sun, 22 Sep 2024 07:29:50 -0400 Subject: [PATCH 13/13] Pango (initial pull request) (#295) --- assets/fonts/pango-fw.font.png | Bin 0 -> 1294 bytes assets/pango/levels/mockup.bin | Bin 0 -> 274 bytes assets/pango/levels/preset.bin | Bin 0 -> 274 bytes assets/pango/sounds/bgmCastle.mid | Bin 0 -> 2217 bytes assets/pango/sounds/bgmDeMAGio.mid | Bin 0 -> 2217 bytes assets/pango/sounds/bgmGameOver.mid | Bin 0 -> 209 bytes assets/pango/sounds/bgmGameStart.mid | Bin 0 -> 200 bytes assets/pango/sounds/bgmIntro.mid | Bin 0 -> 233 bytes assets/pango/sounds/bgmNameEntry.mid | Bin 0 -> 648 bytes assets/pango/sounds/bgmSmooth.mid | Bin 0 -> 2889 bytes assets/pango/sounds/bgmUnderground.mid | Bin 0 -> 4569 bytes assets/pango/sounds/snd1up.mid | Bin 0 -> 152 bytes assets/pango/sounds/sndBlockStop.mid | Bin 0 -> 168 bytes assets/pango/sounds/sndCheckpoint.mid | Bin 0 -> 144 bytes assets/pango/sounds/sndCoin.mid | Bin 0 -> 144 bytes assets/pango/sounds/sndDie.mid | Bin 0 -> 184 bytes assets/pango/sounds/sndHit.mid | Bin 0 -> 144 bytes assets/pango/sounds/sndHurt.mid | Bin 0 -> 176 bytes assets/pango/sounds/sndJump1.mid | Bin 0 -> 144 bytes assets/pango/sounds/sndJump2.mid | Bin 0 -> 144 bytes assets/pango/sounds/sndJump3.mid | Bin 0 -> 144 bytes assets/pango/sounds/sndLevelClearA.mid | Bin 0 -> 209 bytes assets/pango/sounds/sndLevelClearB.mid | Bin 0 -> 185 bytes assets/pango/sounds/sndLevelClearC.mid | Bin 0 -> 161 bytes assets/pango/sounds/sndLevelClearD.mid | Bin 0 -> 161 bytes assets/pango/sounds/sndLevelClearS.mid | Bin 0 -> 241 bytes assets/pango/sounds/sndMenuConfirm.mid | Bin 0 -> 144 bytes assets/pango/sounds/sndMenuDeny.mid | Bin 0 -> 144 bytes assets/pango/sounds/sndMenuSelect.mid | Bin 0 -> 144 bytes assets/pango/sounds/sndOutOfTime.mid | Bin 0 -> 248 bytes assets/pango/sounds/sndPause.mid | Bin 0 -> 160 bytes assets/pango/sounds/sndPowerUp.mid | Bin 0 -> 184 bytes assets/pango/sounds/sndSlide.mid | Bin 0 -> 176 bytes assets/pango/sounds/sndSpawn.mid | Bin 0 -> 176 bytes assets/pango/sounds/sndSquish.mid | Bin 0 -> 152 bytes assets/pango/sounds/sndWarp.mid | Bin 0 -> 200 bytes assets/pango/sounds/sndWaveBall.mid | Bin 0 -> 160 bytes assets/pango/sprites/blockfragment.png | Bin 0 -> 998 bytes assets/pango/sprites/break-000.png | Bin 0 -> 1019 bytes assets/pango/sprites/break-001.png | Bin 0 -> 1028 bytes assets/pango/sprites/break-002.png | Bin 0 -> 1034 bytes assets/pango/sprites/break-003.png | Bin 0 -> 1034 bytes assets/pango/sprites/kr-000.png | Bin 0 -> 1079 bytes assets/pango/sprites/kr-001.png | Bin 0 -> 1077 bytes assets/pango/sprites/kr-002.png | Bin 0 -> 1066 bytes assets/pango/sprites/kr-003.png | Bin 0 -> 1061 bytes assets/pango/sprites/kr-004.png | Bin 0 -> 1058 bytes assets/pango/sprites/kr-005.png | Bin 0 -> 1071 bytes assets/pango/sprites/kr-006.png | Bin 0 -> 1061 bytes assets/pango/sprites/kr-007.png | Bin 0 -> 1080 bytes assets/pango/sprites/kr-008.png | Bin 0 -> 1085 bytes assets/pango/sprites/kr-009.png | Bin 0 -> 1065 bytes assets/pango/sprites/kr-010.png | Bin 0 -> 1079 bytes assets/pango/sprites/kr-011.png | Bin 0 -> 1065 bytes assets/pango/sprites/kr-012.png | Bin 0 -> 1066 bytes assets/pango/sprites/kr-013.png | Bin 0 -> 1087 bytes assets/pango/sprites/kr-014.png | Bin 0 -> 1070 bytes assets/pango/sprites/kr-015.png | Bin 0 -> 1042 bytes assets/pango/sprites/pa-000.png | Bin 0 -> 1081 bytes assets/pango/sprites/pa-001.png | Bin 0 -> 1079 bytes assets/pango/sprites/pa-002.png | Bin 0 -> 1084 bytes assets/pango/sprites/pa-003.png | Bin 0 -> 1082 bytes assets/pango/sprites/pa-004.png | Bin 0 -> 1067 bytes assets/pango/sprites/pa-005.png | Bin 0 -> 1075 bytes assets/pango/sprites/pa-006.png | Bin 0 -> 1071 bytes assets/pango/sprites/pa-007.png | Bin 0 -> 1079 bytes assets/pango/sprites/pa-008.png | Bin 0 -> 1077 bytes assets/pango/sprites/pa-009.png | Bin 0 -> 1091 bytes assets/pango/sprites/pa-010.png | Bin 0 -> 1084 bytes assets/pango/sprites/pa-011.png | Bin 0 -> 1081 bytes assets/pango/sprites/pa-012.png | Bin 0 -> 1070 bytes assets/pango/sprites/pa-013.png | Bin 0 -> 1083 bytes assets/pango/sprites/pa-014.png | Bin 0 -> 1082 bytes assets/pango/sprites/pa-015.png | Bin 0 -> 1047 bytes assets/pango/sprites/pa-100.png | Bin 0 -> 314 bytes assets/pango/sprites/pa-101.png | Bin 0 -> 323 bytes assets/pango/sprites/pa-102.png | Bin 0 -> 308 bytes assets/pango/sprites/pa-103.png | Bin 0 -> 324 bytes assets/pango/sprites/pa-104.png | Bin 0 -> 290 bytes assets/pango/sprites/pa-105.png | Bin 0 -> 310 bytes assets/pango/sprites/pa-106.png | Bin 0 -> 305 bytes assets/pango/sprites/pa-107.png | Bin 0 -> 338 bytes assets/pango/sprites/pa-108.png | Bin 0 -> 324 bytes assets/pango/sprites/pa-109.png | Bin 0 -> 331 bytes assets/pango/sprites/pa-110.png | Bin 0 -> 310 bytes assets/pango/sprites/pa-111.png | Bin 0 -> 322 bytes assets/pango/sprites/pa-112.png | Bin 0 -> 318 bytes assets/pango/sprites/pa-113.png | Bin 0 -> 325 bytes assets/pango/sprites/pa-114.png | Bin 0 -> 319 bytes assets/pango/sprites/pa-en-000.png | Bin 0 -> 1077 bytes assets/pango/sprites/pa-en-001.png | Bin 0 -> 1081 bytes assets/pango/sprites/pa-en-002.png | Bin 0 -> 1079 bytes assets/pango/sprites/pa-en-003.png | Bin 0 -> 1077 bytes assets/pango/sprites/pa-en-004.png | Bin 0 -> 1073 bytes assets/pango/sprites/pa-en-005.png | Bin 0 -> 1070 bytes assets/pango/sprites/pa-en-006.png | Bin 0 -> 1069 bytes assets/pango/sprites/pa-en-007.png | Bin 0 -> 1073 bytes assets/pango/sprites/pa-en-008.png | Bin 0 -> 1062 bytes assets/pango/sprites/po-000.png | Bin 0 -> 349 bytes assets/pango/sprites/po-001.png | Bin 0 -> 359 bytes assets/pango/sprites/po-002.png | Bin 0 -> 283 bytes assets/pango/sprites/po-003.png | Bin 0 -> 300 bytes assets/pango/sprites/po-004.png | Bin 0 -> 317 bytes assets/pango/sprites/po-005.png | Bin 0 -> 343 bytes assets/pango/sprites/po-006.png | Bin 0 -> 318 bytes assets/pango/sprites/po-007.png | Bin 0 -> 361 bytes assets/pango/sprites/po-008.png | Bin 0 -> 350 bytes assets/pango/sprites/po-009.png | Bin 0 -> 279 bytes assets/pango/sprites/po-010.png | Bin 0 -> 295 bytes assets/pango/sprites/po-011.png | Bin 0 -> 358 bytes assets/pango/sprites/po-012.png | Bin 0 -> 338 bytes assets/pango/sprites/po-013.png | Bin 0 -> 353 bytes assets/pango/sprites/po-014.png | Bin 0 -> 318 bytes assets/pango/sprites/px-000.png | Bin 0 -> 287 bytes assets/pango/sprites/px-001.png | Bin 0 -> 288 bytes assets/pango/sprites/px-002.png | Bin 0 -> 303 bytes assets/pango/sprites/px-003.png | Bin 0 -> 292 bytes assets/pango/sprites/px-004.png | Bin 0 -> 291 bytes assets/pango/sprites/px-005.png | Bin 0 -> 316 bytes assets/pango/sprites/px-006.png | Bin 0 -> 304 bytes assets/pango/sprites/px-007.png | Bin 0 -> 341 bytes assets/pango/sprites/px-008.png | Bin 0 -> 321 bytes assets/pango/sprites/px-009.png | Bin 0 -> 303 bytes assets/pango/sprites/px-010.png | Bin 0 -> 293 bytes assets/pango/sprites/px-011.png | Bin 0 -> 317 bytes assets/pango/sprites/px-012.png | Bin 0 -> 327 bytes assets/pango/sprites/px-013.png | Bin 0 -> 331 bytes assets/pango/sprites/px-014.png | Bin 0 -> 308 bytes assets/pango/tiles/.DS_Store | Bin 0 -> 6148 bytes assets/pango/tiles/pa-tile-000.png | Bin 0 -> 975 bytes assets/pango/tiles/pa-tile-001.png | Bin 0 -> 1005 bytes assets/pango/tiles/pa-tile-002.png | Bin 0 -> 992 bytes assets/pango/tiles/pa-tile-003.png | Bin 0 -> 1009 bytes assets/pango/tiles/pa-tile-004.png | Bin 0 -> 984 bytes assets/pango/tiles/pa-tile-005.png | Bin 0 -> 1011 bytes assets/pango/tiles/pa-tile-006.png | Bin 0 -> 1016 bytes assets/pango/tiles/pa-tile-007.png | Bin 0 -> 992 bytes assets/pango/tiles/pa-tile-008.png | Bin 0 -> 985 bytes assets/pango/tiles/pa-tile-009.png | Bin 0 -> 1022 bytes assets/pango/tiles/pa-tile-010.png | Bin 0 -> 1021 bytes assets/pango/tiles/pa-tile-011.png | Bin 0 -> 1022 bytes assets/pango/tiles/pa-tile-012.png | Bin 0 -> 1023 bytes assets/pango/tiles/pa-tile-013.png | Bin 0 -> 1030 bytes assets/pango/tiles/pa-tile-014.png | Bin 0 -> 1031 bytes assets/pango/tiles/pa-tile-015.png | Bin 0 -> 1031 bytes emulator/src/extensions/modes/ext_modes.c | 4 +- main/CMakeLists.txt | 18 +- main/menu/menuManiaRenderer.c | 4 +- main/modes/games/pango/paEntity.c | 1547 ++++++++++++++++++ main/modes/games/pango/paEntity.h | 191 +++ main/modes/games/pango/paEntityManager.c | 439 +++++ main/modes/games/pango/paEntityManager.h | 68 + main/modes/games/pango/paGameData.c | 282 ++++ main/modes/games/pango/paGameData.h | 86 + main/modes/games/pango/paLeveldef.h | 19 + main/modes/games/pango/paSoundManager.c | 97 ++ main/modes/games/pango/paSoundManager.h | 65 + main/modes/games/pango/paSprite.h | 20 + main/modes/games/pango/paTables.h | 69 + main/modes/games/pango/paTilemap.c | 429 +++++ main/modes/games/pango/paTilemap.h | 111 ++ main/modes/games/pango/paWsgManager.c | 295 ++++ main/modes/games/pango/paWsgManager.h | 147 ++ main/modes/games/pango/pango.c | 1757 +++++++++++++++++++++ main/modes/games/pango/pango.h | 47 + main/modes/games/pango/pango_typedef.h | 71 + main/modes/system/mainMenu/mainMenu.c | 6 + tools/pango_editor/mockup.bin | Bin 0 -> 274 bytes tools/pango_editor/mockup.tmx | 23 + tools/pango_editor/pa-tileset.png | Bin 0 -> 1209 bytes tools/pango_editor/pa-tileset.tsx | 4 + tools/pango_editor/pango-editor.js | 111 ++ tools/pango_editor/pango-tiles.tsx | 4 + tools/pango_editor/pango.tiled-project | 11 + tools/pango_editor/pango.tiled-session | 65 + tools/pango_editor/preset.tmx | 23 + 176 files changed, 6005 insertions(+), 8 deletions(-) create mode 100644 assets/fonts/pango-fw.font.png create mode 100644 assets/pango/levels/mockup.bin create mode 100644 assets/pango/levels/preset.bin create mode 100644 assets/pango/sounds/bgmCastle.mid create mode 100644 assets/pango/sounds/bgmDeMAGio.mid create mode 100644 assets/pango/sounds/bgmGameOver.mid create mode 100644 assets/pango/sounds/bgmGameStart.mid create mode 100644 assets/pango/sounds/bgmIntro.mid create mode 100644 assets/pango/sounds/bgmNameEntry.mid create mode 100644 assets/pango/sounds/bgmSmooth.mid create mode 100644 assets/pango/sounds/bgmUnderground.mid create mode 100644 assets/pango/sounds/snd1up.mid create mode 100644 assets/pango/sounds/sndBlockStop.mid create mode 100644 assets/pango/sounds/sndCheckpoint.mid create mode 100644 assets/pango/sounds/sndCoin.mid create mode 100644 assets/pango/sounds/sndDie.mid create mode 100644 assets/pango/sounds/sndHit.mid create mode 100644 assets/pango/sounds/sndHurt.mid create mode 100644 assets/pango/sounds/sndJump1.mid create mode 100644 assets/pango/sounds/sndJump2.mid create mode 100644 assets/pango/sounds/sndJump3.mid create mode 100644 assets/pango/sounds/sndLevelClearA.mid create mode 100644 assets/pango/sounds/sndLevelClearB.mid create mode 100644 assets/pango/sounds/sndLevelClearC.mid create mode 100644 assets/pango/sounds/sndLevelClearD.mid create mode 100644 assets/pango/sounds/sndLevelClearS.mid create mode 100644 assets/pango/sounds/sndMenuConfirm.mid create mode 100644 assets/pango/sounds/sndMenuDeny.mid create mode 100644 assets/pango/sounds/sndMenuSelect.mid create mode 100644 assets/pango/sounds/sndOutOfTime.mid create mode 100644 assets/pango/sounds/sndPause.mid create mode 100644 assets/pango/sounds/sndPowerUp.mid create mode 100644 assets/pango/sounds/sndSlide.mid create mode 100644 assets/pango/sounds/sndSpawn.mid create mode 100644 assets/pango/sounds/sndSquish.mid create mode 100644 assets/pango/sounds/sndWarp.mid create mode 100644 assets/pango/sounds/sndWaveBall.mid create mode 100644 assets/pango/sprites/blockfragment.png create mode 100644 assets/pango/sprites/break-000.png create mode 100644 assets/pango/sprites/break-001.png create mode 100644 assets/pango/sprites/break-002.png create mode 100644 assets/pango/sprites/break-003.png create mode 100644 assets/pango/sprites/kr-000.png create mode 100644 assets/pango/sprites/kr-001.png create mode 100644 assets/pango/sprites/kr-002.png create mode 100644 assets/pango/sprites/kr-003.png create mode 100644 assets/pango/sprites/kr-004.png create mode 100644 assets/pango/sprites/kr-005.png create mode 100644 assets/pango/sprites/kr-006.png create mode 100644 assets/pango/sprites/kr-007.png create mode 100644 assets/pango/sprites/kr-008.png create mode 100644 assets/pango/sprites/kr-009.png create mode 100644 assets/pango/sprites/kr-010.png create mode 100644 assets/pango/sprites/kr-011.png create mode 100644 assets/pango/sprites/kr-012.png create mode 100644 assets/pango/sprites/kr-013.png create mode 100644 assets/pango/sprites/kr-014.png create mode 100644 assets/pango/sprites/kr-015.png create mode 100644 assets/pango/sprites/pa-000.png create mode 100644 assets/pango/sprites/pa-001.png create mode 100644 assets/pango/sprites/pa-002.png create mode 100644 assets/pango/sprites/pa-003.png create mode 100644 assets/pango/sprites/pa-004.png create mode 100644 assets/pango/sprites/pa-005.png create mode 100644 assets/pango/sprites/pa-006.png create mode 100644 assets/pango/sprites/pa-007.png create mode 100644 assets/pango/sprites/pa-008.png create mode 100644 assets/pango/sprites/pa-009.png create mode 100644 assets/pango/sprites/pa-010.png create mode 100644 assets/pango/sprites/pa-011.png create mode 100644 assets/pango/sprites/pa-012.png create mode 100644 assets/pango/sprites/pa-013.png create mode 100644 assets/pango/sprites/pa-014.png create mode 100644 assets/pango/sprites/pa-015.png create mode 100644 assets/pango/sprites/pa-100.png create mode 100644 assets/pango/sprites/pa-101.png create mode 100644 assets/pango/sprites/pa-102.png create mode 100644 assets/pango/sprites/pa-103.png create mode 100644 assets/pango/sprites/pa-104.png create mode 100644 assets/pango/sprites/pa-105.png create mode 100644 assets/pango/sprites/pa-106.png create mode 100644 assets/pango/sprites/pa-107.png create mode 100644 assets/pango/sprites/pa-108.png create mode 100644 assets/pango/sprites/pa-109.png create mode 100644 assets/pango/sprites/pa-110.png create mode 100644 assets/pango/sprites/pa-111.png create mode 100644 assets/pango/sprites/pa-112.png create mode 100644 assets/pango/sprites/pa-113.png create mode 100644 assets/pango/sprites/pa-114.png create mode 100644 assets/pango/sprites/pa-en-000.png create mode 100644 assets/pango/sprites/pa-en-001.png create mode 100644 assets/pango/sprites/pa-en-002.png create mode 100644 assets/pango/sprites/pa-en-003.png create mode 100644 assets/pango/sprites/pa-en-004.png create mode 100644 assets/pango/sprites/pa-en-005.png create mode 100644 assets/pango/sprites/pa-en-006.png create mode 100644 assets/pango/sprites/pa-en-007.png create mode 100644 assets/pango/sprites/pa-en-008.png create mode 100644 assets/pango/sprites/po-000.png create mode 100644 assets/pango/sprites/po-001.png create mode 100644 assets/pango/sprites/po-002.png create mode 100644 assets/pango/sprites/po-003.png create mode 100644 assets/pango/sprites/po-004.png create mode 100644 assets/pango/sprites/po-005.png create mode 100644 assets/pango/sprites/po-006.png create mode 100644 assets/pango/sprites/po-007.png create mode 100644 assets/pango/sprites/po-008.png create mode 100644 assets/pango/sprites/po-009.png create mode 100644 assets/pango/sprites/po-010.png create mode 100644 assets/pango/sprites/po-011.png create mode 100644 assets/pango/sprites/po-012.png create mode 100644 assets/pango/sprites/po-013.png create mode 100644 assets/pango/sprites/po-014.png create mode 100644 assets/pango/sprites/px-000.png create mode 100644 assets/pango/sprites/px-001.png create mode 100644 assets/pango/sprites/px-002.png create mode 100644 assets/pango/sprites/px-003.png create mode 100644 assets/pango/sprites/px-004.png create mode 100644 assets/pango/sprites/px-005.png create mode 100644 assets/pango/sprites/px-006.png create mode 100644 assets/pango/sprites/px-007.png create mode 100644 assets/pango/sprites/px-008.png create mode 100644 assets/pango/sprites/px-009.png create mode 100644 assets/pango/sprites/px-010.png create mode 100644 assets/pango/sprites/px-011.png create mode 100644 assets/pango/sprites/px-012.png create mode 100644 assets/pango/sprites/px-013.png create mode 100644 assets/pango/sprites/px-014.png create mode 100644 assets/pango/tiles/.DS_Store create mode 100644 assets/pango/tiles/pa-tile-000.png create mode 100644 assets/pango/tiles/pa-tile-001.png create mode 100644 assets/pango/tiles/pa-tile-002.png create mode 100644 assets/pango/tiles/pa-tile-003.png create mode 100644 assets/pango/tiles/pa-tile-004.png create mode 100644 assets/pango/tiles/pa-tile-005.png create mode 100644 assets/pango/tiles/pa-tile-006.png create mode 100644 assets/pango/tiles/pa-tile-007.png create mode 100644 assets/pango/tiles/pa-tile-008.png create mode 100644 assets/pango/tiles/pa-tile-009.png create mode 100644 assets/pango/tiles/pa-tile-010.png create mode 100644 assets/pango/tiles/pa-tile-011.png create mode 100644 assets/pango/tiles/pa-tile-012.png create mode 100644 assets/pango/tiles/pa-tile-013.png create mode 100644 assets/pango/tiles/pa-tile-014.png create mode 100644 assets/pango/tiles/pa-tile-015.png create mode 100644 main/modes/games/pango/paEntity.c create mode 100644 main/modes/games/pango/paEntity.h create mode 100644 main/modes/games/pango/paEntityManager.c create mode 100644 main/modes/games/pango/paEntityManager.h create mode 100644 main/modes/games/pango/paGameData.c create mode 100644 main/modes/games/pango/paGameData.h create mode 100644 main/modes/games/pango/paLeveldef.h create mode 100644 main/modes/games/pango/paSoundManager.c create mode 100644 main/modes/games/pango/paSoundManager.h create mode 100644 main/modes/games/pango/paSprite.h create mode 100644 main/modes/games/pango/paTables.h create mode 100644 main/modes/games/pango/paTilemap.c create mode 100644 main/modes/games/pango/paTilemap.h create mode 100644 main/modes/games/pango/paWsgManager.c create mode 100644 main/modes/games/pango/paWsgManager.h create mode 100644 main/modes/games/pango/pango.c create mode 100644 main/modes/games/pango/pango.h create mode 100644 main/modes/games/pango/pango_typedef.h create mode 100644 tools/pango_editor/mockup.bin create mode 100644 tools/pango_editor/mockup.tmx create mode 100644 tools/pango_editor/pa-tileset.png create mode 100644 tools/pango_editor/pa-tileset.tsx create mode 100644 tools/pango_editor/pango-editor.js create mode 100644 tools/pango_editor/pango-tiles.tsx create mode 100644 tools/pango_editor/pango.tiled-project create mode 100644 tools/pango_editor/pango.tiled-session create mode 100644 tools/pango_editor/preset.tmx diff --git a/assets/fonts/pango-fw.font.png b/assets/fonts/pango-fw.font.png new file mode 100644 index 0000000000000000000000000000000000000000..c3de0ffb5f9a292a32c86b572d735cc8660648b2 GIT binary patch literal 1294 zcmV+p1@ZccP)Px#2~bQ_MF0Q*00030|Nn#C&(Z(@00VSVPE!E?|3pyMApigbq)9|URA_{P*#%eYAsq>rbvJvr0LI)6%qOS^>F=M7JB8sLEwXT_FF3g;;mht zMi`3-cZ{d-UQE9PS$)Oe00IF?Lk@3^KfyRr}gwlLzR@#oXe8-p`63GtFfdf}_vXCJ^a%dirsM|X*-4TE! zybvuTEQ@-p1X9~9j6i{mh_iW;xkHeMEGsXkPGmk31@eMgBy8Zt-%^F&%- ziNc!x;8%?(6!jR_Kn(4qHz?&)4E`ib_iH<{jU*I5_8)Z(3yKIj*^Nj^5QeA;3mb{| zXQB}L_Jwu*s0w4YQ3(}5$4U@Hlbra@c|F7NP8DV?ZaQoA4qeQ{;-Rz;7oe!_G{6Ss z2sN76YGZ#Sx)IJ9q!fh0X!abAbqi%WwTxkHq))PO>WwcFB^ir>_s70BMSAXXqXHJVlcj_;OmkW zt3MWEtAr9ml&3;BB-3%^HIKnk>tD>?K~cbg^g=eWOArl^zleJ$WUVBS?JV(Eq9CK$X#!BMewAnxZ#45IFraI4@y@F?!6*tmg;egYCvOZk zU0qHoeXH5rADrZrC6!#Zxt^#zor%Kjyfsq@CCpxzhPR?% zG~+}Re6+%bJR4^yOe_k@Na;@sB`?=1|7fghMb24-Hla^Fcaite{iD&%V5Xg!En!lz zkVx|ix#V#&_Zxo|24Hl?a55=RHWaNor9+>_Mih!c#PH5YF?KT)_3OjPebcmnW(s1q zk;7|}M@YuO`cxE5*>3V1kP^OsA_^7wTcUsiiJ}lG#zSlk&E4p+C^*De&76RmYCqIl zI8Eo{{nQ=}$M-0d4g!M=-t)DpS2yF?5O&DwNYh~XZ{xPEh}?Ch%<+CMxWg+2Ngrja zOgH3rnNdBOUM~+qY8)&-g^iHf$c+c4Ij0^7nQpoLFCYTH7looh04ur>JMH^U6iDIA zSA@%=sucON6Lhem0kr0RiWF=?xezlPlBu{o2kh!-GhL(6H+NuUFor2Ci=O$PBTr#i zXZ0^8@teLPoHI|8Jw)~nMZ?Ajyy%l!PML8z1_LSp9is!JlO7h{>TGld@8x$CTWw#H z--37acqLI31_BD6gRc+Ide*c4()s}{dA85?**@F&2PCRd0S9uv;Q9^q8 z^-b(IuA}XiZCu)3ef-9mIdf*lqrvQbEFuT;OezuuvrivTHCevd-`{hpvaHM6_DYtM z%JaA1wx;SwSyrln-}7IOzkHU(%Z@Bw#PVI>JCOx>7YDVS?CD`#6yqg_9Ve~FUQ&l= z@C=^76L<`d;VC?YNARfgm3)7WYw&pk|8sc0iGMooU!CX2PU3eY9l!w`!XXS`07q~H zLm0vdoWMJH2j_8=%wf5{IO#oc_ry(OH<@n-_iVP0?RblE2%&Lv*bHf+PJ4oM%;k3Z=lTIXke`Mi0( z>p7O!&hnne!vnN^7^BDNDV##PhxMsXTpzpDGeT=0vpv#! zbiVGUU*vtn!?;`4~t@=8HvsK-hzD8f8fA4oW|2}zi z{!^&?VfqSvh0f2xKHt^9M;_hF5b8T&x`o#7pY>-u&vO1<^5~q$Q1{$)6Rq=pN*C`( zxjvSiQ`tV2_4m2Iz9)02zbB?|&^Ku7`*ttO`g`Pe_?`3ESBLjwwXX&L5B3V|`k&(m DP=c9* literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/bgmDeMAGio.mid b/assets/pango/sounds/bgmDeMAGio.mid new file mode 100644 index 0000000000000000000000000000000000000000..e50939584ba30457e31616f74a444c1927eb3ce7 GIT binary patch literal 2217 zcmd6pyGjFL5QWDJBIpDBosEb_ml&1AOVk*zfus;DEG;YqZS)ED5%y7h!}x{ui*Z3v zNMUuD%Rh7G%xuWu?&&ci7Gfr5<6&_3_KdX>!?}pz{rvpw>f#sP&Mm#Z$FLq{+Tu$T z*&yXvMA7S}ya)E1Der@gPRbkLWh>>Ek%~?`r!z!T7SC4R;G#QXH^fg@gf;2yXRu7lU$HSr7Z0{a|12jw;Gx#YJ?pWTW6 z@{*@{>Lnj}JC}JG^)lwj+RNZFSnfle)J;9r+q%}#U$xCME-&+}TeZzA`={}~F~+xg_}p`unHfyr2B)D?jtTe^*g>U;53r&$Rkme~WpyCgyEpx3M?DO;Dcd>zwXI ze#ZaX{=I+qukH7s-?`kobLp?@Zyo*SRsGhP_WrAV{@UOD%TGP7*!vZGxBd^L&!X88)OcFl6a`fV2Y=?F{5Q0~NyLp?sjz0QChpPXGV_ literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/bgmIntro.mid b/assets/pango/sounds/bgmIntro.mid new file mode 100644 index 0000000000000000000000000000000000000000..8c79b83c185cbd987ff1919da6577964ab08332a GIT binary patch literal 233 zcmYk%u?m7v6vpu{m1h1X747Ius4jBq0$N4bcOfN4T%h-aFa{1~vUS zoImGs>;0t#FvbW5ntK1Za+;wxf&O4w#$x(&YffHs^Z~xv8@gC4DF7WFZ3*G%n8q}v zDa~3X8TZ9)=*qK_lJl~$W%=K49QL-(c0*qthpy_BRP6J+lALDGVW09|$~kE~Noag< W`7U&HawVcc=Se{Qd?h}=65s>ji8yiq literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/bgmNameEntry.mid b/assets/pango/sounds/bgmNameEntry.mid new file mode 100644 index 0000000000000000000000000000000000000000..817d7e476ca1e42a74c61997530c3c6c0ba4ef40 GIT binary patch literal 648 zcmb`FJ4ypl7=_PF!X!i&U}qyCxxzw@8@&%H3)-9sTMQKVRR+uhS6bg8l?mACbJeAWEbn_BDbOJ%A!_S`+k{Tp%{a>xB<-_w2n?Vq!E&R&1#JstcGzI&JO y61MN$U;cpnpmJa57WfN%&&Ti>w(s}2=T!aP->0unpWmCo8QepA=+8a*rM>|$X_is| literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/bgmSmooth.mid b/assets/pango/sounds/bgmSmooth.mid new file mode 100644 index 0000000000000000000000000000000000000000..a56157d7ea53b1ab8e1a3bc4e97f56db11bbaa2d GIT binary patch literal 2889 zcmd^>zit{q5Qo>sCKg66Qe73LNbQ_$A!Cf?!(hY-pD_p<=u&K?Na>=uzenIvDDx;O z^Csk5&OdNgL9!xqO{z~b`)6i$W@k4UezC@wqS-P9^C=mA`-)UH^YPBkcCcsWAI+0) z-^}}k-5)Z_)*7?I{v)Aoh&kzy!ab;?t4Whw5h&`q6}X7~5hxh9l_u+&#R9L+Jhueb|RR=>99W@D|>{8`y>JzY;@NmmTQp b?;2jiCUkXoWp~r7Xlu>?b$gB8{fU1Aw|G*7 literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/bgmUnderground.mid b/assets/pango/sounds/bgmUnderground.mid new file mode 100644 index 0000000000000000000000000000000000000000..92aa5f2734fa7e2943d0f614f7b6a9c96983e756 GIT binary patch literal 4569 zcmc(j!A{#i5Qdjx0is-5<&a~~T#7(Zq69&ROB8~lC{YAOh^Plws_3n1?>s^tpbwEp zs`?`7zji;_UfYTtsCrucyPkh%X8+k8c{KYH7-M$Kmf1F+Mze2Ug$~T>qvyS<@0rzm z^LOsGSxvTg_kYJzZ+@E9_TK2~!_~X-kMCx=-!;qK!2B{AKO3_Y?{ep$)coQ!D6%T(&V$3JbB(@6KY<6rgPeK3JJb4^)-N<(XuQ;TnZQHgVa_~uO|3Vz-qzUG$UK;R z;CI(gWOtHdUlb3#te?vMCF1Xir^q70!NdQCdYkv`s5%EL%@BiWtH&guppU)btrqV@H+y_2lxfPgCnvbOSH` zz|$6w)!nuBz1F@b!d3Ky9Xv&O`Pcb%bp>|yM;>~L)9RJ{UJBc~B`@R`ow>S0SMEA| z9r0N`uj50P@PWxIevnu4JPy22xAz+Fb#D3C+d$V|sOvlN-iddl(ds;ny@c+|`4QKJ z7uLmtcpt<&(P--=jlB)(#tZ9aF21?=rW$P>rLmW&tGs=S{m9R+S)}vtEjTak7jy&W zoVm~Q{ml9u*KN6cqmygp!PfPy##@c~*xR7)%kknzzK))+tLpbko}QoY$ENz`p5i?O zXYZ{%J!f?i-)rUc9p8K9bcMd%dk>7h!RSA~&a?Fv-tg&jQPiF>=D_n@Koprt;irIEf1zrd{XZeRybOFY(osC|dp_gMH? zxFOyoKY53bb^ODwFP^@5*vA+4g^$F0BwqSU;>Axe>+oP#lo#@ZJ@?|v=Qrx-xF524 zj`B!8*X5hO0p0MudoJ{CeciV^VpE7QfTAuy4ZN_xFy}5bD5BdvV`)yKxE-!UhHqYe$|D9j8daZh%)ZtY5wS6J=;_?*fA*#>) z#baO=ww52e)OUpE1(!jgcPHdZ{P+wWz+*er4C!ogeQY_pEcy1^-jF3g+!U Fnm&!X88)N>`6)~c8`ywiU^XL!tp*ea^MN!Q55ofnpgbc3!+`*X c2^sY^4H*m!6T*OW7?2LGuV@Gc8m-R&0L+jk7LMf_?y7ZS^F3BXZ1KQO%F$y%yJ>d6 id8hr9Wmqzz-oXc6ZQMLt*~muLvX+&sWGPF%>i7Z?Bq&t? literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndCheckpoint.mid b/assets/pango/sounds/sndCheckpoint.mid new file mode 100644 index 0000000000000000000000000000000000000000..866cec1414b61c6e58029acee80cbffcc8ed23b4 GIT binary patch literal 144 zcmeYb$w*;fU|?flWME=^;2Tnu4djV4{AXrh_#eT-!X&}L@IR25Q~dzLe|-k1bTq?; zN}x1Q$p$V5h7If~3>&!X88)N>`6)~c8`ywiU^XL!tp*ea^MN!Q55ofnpgbc3!+`*X X2_f}14IvB+69Vfi8Ulev>N5ZUsT?F> literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndCoin.mid b/assets/pango/sounds/sndCoin.mid new file mode 100644 index 0000000000000000000000000000000000000000..10fb39a7def6dd3eb13f092fb308d77fd6bf59ee GIT binary patch literal 144 zcmeYb$w*;fU|?flWME=^;2Tnu4djV4{AXrh_#eT-!X&}L@IR25O{#(6zdi$0I+|fa zB~TiuWCNE2!v^*gh7H{H3>#8`{1hgJ4QxO$Fq;v=Rs)KI`9PYDhv5MOP@a*2;Q#}} Vgy4FchF~BaR$tK&1~gKi0RVz2Bgp^& literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndDie.mid b/assets/pango/sounds/sndDie.mid new file mode 100644 index 0000000000000000000000000000000000000000..dba1e7513b0a133499e46e602898612844455009 GIT binary patch literal 184 zcmXZVK?;IU6oujcsl1|^7cHQvD^Np3aNr#8`{1hgJ4QxO$Fq;v=Rs)KI`9PYDhv5MOP@a*2;Q#}} U1dn=~1`i-@1Eg($M(Q&F0DVa#LjV8( literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndHurt.mid b/assets/pango/sounds/sndHurt.mid new file mode 100644 index 0000000000000000000000000000000000000000..530006503534c6470a06c712372daed648cc408c GIT binary patch literal 176 zcmXZVu?@m75QX92PGk_!gBXA|3pk0(G%1i$Fo2Pe=;#ndG6JJ`1V+gw<|$Bp_wJo^ z{cwwb!(h$a50AUjo?Jk_l%+ka$>+iyCvwHVevzK4b&@uLw2GwdNV+OVOLE#Rv-!;@ i?UyXwjv4g^KJX5spMq>#8`{1hgJ4QxO$Fq;v=Rs)KI`9PYDhv5MOP@a*2;Q#}} U1dn=~1`i#8`{1hgJ4QxO$Fq;v=Rs)KI`9PYDhv5MOP@a*2;Q#}} U1fP1F1|J~p52XEpM(Q&F0Dk!+aR2}S literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndJump3.mid b/assets/pango/sounds/sndJump3.mid new file mode 100644 index 0000000000000000000000000000000000000000..941b35664039fc6833f822a29505818fc92a1010 GIT binary patch literal 144 zcmeYb$w*;fU|?flWME=^;2Tnu4djV4{AXrh_#eT-!X&}L@IR25O{#(6zdi$0I+|fa zB~TiuWCNE2!v^*gh7H{H3>#8`{1hgJ4QxO$Fq;v=Rs)KI`9PYDhv5MOP@a*2;Q#}} U1pj)Q27e$O0;EHLM(Q&F0Dq|?fdBvi literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndLevelClearA.mid b/assets/pango/sounds/sndLevelClearA.mid new file mode 100644 index 0000000000000000000000000000000000000000..5faca34edb0907e3ae0dd2c07c2530339e1ca25e GIT binary patch literal 209 zcmYk0F$%&!6hvo}u!`C%9>6viNU@M2AtXd0g$Gz6U?Wyq?RtY8z(f2ac$C~^9ioEO zn>X`|-*mkNprH_{vFWa7+8QAS!ZAsr%^cwn>#avf@tvQLJ7=EA!a!ygvUHFW-9`}2 zZp!MDckCx8^$H`nE8w-qkhz=BfWeT4%*p)EOL|GK$(sCmK`-bPS&^-KTzt!)QoI3? Cr#Wi? literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndLevelClearB.mid b/assets/pango/sounds/sndLevelClearB.mid new file mode 100644 index 0000000000000000000000000000000000000000..f56147fbee0fb9f731177be247d2aa37393b01c5 GIT binary patch literal 185 zcmYk0F$%&!6hz-9VHLGkJb+XgBcM(dX^0%b_pCLM+Ad&z;=KE3pz?`?!1x{qhEU(J_7i literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndLevelClearC.mid b/assets/pango/sounds/sndLevelClearC.mid new file mode 100644 index 0000000000000000000000000000000000000000..887708f9508c0a1875c37c1625a42e50d2a1212b GIT binary patch literal 161 zcmXYqF$%&!6hz-{!YXR7cmUg6VIfV51Qb$ufCz#Xl1i(MH^@=;2p%OjS%+x#X6AkP zO?&MChrybuY5SYnmXtv{=egZ2NvF*12U5Xb--$12oy3(VE;`~m5HISTB|2?$Hott( gK6lY=n2pSr!t&_N_hzn0#2jWHDTcXo8XY#8`{1hgJ4QxO$Fq;v=Rs)KI`9PYDhv5MOP@a*2;Q#}} Ugphihh7cg_0i->EM(Q&F0Dp-ia{vGU literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndMenuDeny.mid b/assets/pango/sounds/sndMenuDeny.mid new file mode 100644 index 0000000000000000000000000000000000000000..586cc825a2bec9fa6d36925590d86e20ad035aee GIT binary patch literal 144 zcmeYb$w*;fU|?flWME=^;2Tnu4djV4{AXrh_#eT-!X&}L@IR25O{#(6zdi$0I+|fa zB~TiuWCNE2!v^*gh7H{H3>#8`{1hgJ4QxO$Fq;v=Rs)KI`9PYDhv5MOP@a*2;Q#}} Q1cQ2;1_K5gC=Id#0DM^^Hvj+t literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndMenuSelect.mid b/assets/pango/sounds/sndMenuSelect.mid new file mode 100644 index 0000000000000000000000000000000000000000..2be02c48a2acb3c0765500cf01d54165f3a05df3 GIT binary patch literal 144 zcmeYb$w*;fU|?flWME=^;2Tnu4djV4{AXrh_#eT-!X&}L@IR25O{#(6zdi$0I+|fa zB~TiuWCNE2!v^*gh7H{H3>#8`{1hgJ4QxO$Fq;v=Rs)KI`9PYDhv5MOP@a*2;Q#}} U1dn=~1`i-@1Eg($M(Q&F0DVa#LjV8( literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndOutOfTime.mid b/assets/pango/sounds/sndOutOfTime.mid new file mode 100644 index 0000000000000000000000000000000000000000..31b1d5b93b6ea1c9abc96f02997a5ba744021b6b GIT binary patch literal 248 zcmZ{fK?=e!6a^<~h@$TG1a7^87bqwMDqTkq+_|c&_6P+pk|PLSBsYn_HFc${_urc# zkkVZ|U{PolOLx0UTayY%Cu8(xPC6Fm5lK5Tei811MG1>NVde?TmT;EtHNna@-s*F2 sWgokwT@ewk;CX0z*EXGlzLKmYYss2nXJVOuo$O66+5h*>uYLH+8_8ZtM*si- literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndPause.mid b/assets/pango/sounds/sndPause.mid new file mode 100644 index 0000000000000000000000000000000000000000..5712c1e37813a032f44e20f46fbd03a3e4321404 GIT binary patch literal 160 zcmeYb$w*;fU|?flWME=^;2Tnu4djV4{AXrh_#eT-!X&}L@IR25O{#(6zdi$0I-6lb zB~TiuWCNE2!v^*gh7H{H3>#8`{1hgJ4QxO$Fq;v=Rs)KI`9PYDhv5MOP@a*2;Q#}} Xgy?#khG+(x2@ya#0!X9sK~@3){LLw0 literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndPowerUp.mid b/assets/pango/sounds/sndPowerUp.mid new file mode 100644 index 0000000000000000000000000000000000000000..4763e03dfbdfd5742aaee903d9bc662259106843 GIT binary patch literal 184 zcmYk0F$%&!6hz-9VHLGkJb{kKj>qlXZxKR&VCb zFMivdBj9mlZfv{jMQu&WAsve%+ssLa+;0ccp6~p??wWOCi-64{w(PN!ddx5{H)Z$9 jJNc=Le#MA(2QPS*{cR}4O02{n2C)|FKi{Y~Kd)EbH(fBc literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndSlide.mid b/assets/pango/sounds/sndSlide.mid new file mode 100644 index 0000000000000000000000000000000000000000..ed1d66270f894043d6259285832069ae128e8eb2 GIT binary patch literal 176 zcmXZVF$%&!5QX7?lduuB*GjBxa|KhT2tf!zNReg*!Ol)B^ax(T8_W?rN^Y_~qSZHV z-oVuDIRG9<;>NnYUX)hE6yh<g~M;B4R2w8y*JOZO+6LSg_RPWy1 zmww|e0Vpt7Gd1pZm2F5Fq*I>T?Sgd7%GZum^PBI)L90iQDXsKX~6~{Ksb1JO-#Ib^8_VO$}hoE=wzKBr#Cb2=U4qR z0s)72bJf3JYDZEA>6YjIRFK*%oJUg0s_)oGS|_%>Vw;HV2JE38Jr=Yr+5PiH`_jd* XXGY$^7p8hRjJ4Q^jo68uUYGm;p?4)` literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndWarp.mid b/assets/pango/sounds/sndWarp.mid new file mode 100644 index 0000000000000000000000000000000000000000..f4a5e6e66729ee34419152ee493896b20f39d680 GIT binary patch literal 200 zcmeYb$w*;fU|?flWME=^;2Tnu4djV4{AXrh_#eT-!X&}L@IR25O{#(6zdi$0dNRX? zN}x1Q$p$V5h7If~3>&!X88)N>`6)~c8`ywiU^XL!tp*ea^MN!Q55ofnpgbc3!vO|{ Z310O!4PHRn8Av+=X$K(fK)N{4X#gwGGtK}2 literal 0 HcmV?d00001 diff --git a/assets/pango/sounds/sndWaveBall.mid b/assets/pango/sounds/sndWaveBall.mid new file mode 100644 index 0000000000000000000000000000000000000000..f04eb8b265a82dd8ece8d19517d5be819535fe46 GIT binary patch literal 160 zcmXYqF$%&!6hz-9VIyj(NNAM`Q$vQ-jKD+wtc-MlR@|duQg%`PiSkldXlp%YmeY(e`l4_vypm{A2##9-aQ>GxvGA zwV|`$%h%GQ!`<=0CXXh$6jDmncQd&uOlhhvo6B9{N>_Eag*+6Y3{?+X%2ScbR5g~B zycDG@RYRLVVw7Hr+#Zgbg;|$d>7}K;<=YbRM>0Ygn#oQx2!>a|ugL0&2dbNIN(H-SkUTp_%VGn*_ z0E&@_CPcs*n(%@Mn}G%!Fs5mz&I2bSs;xvJi@9e;wX+C@2j#4&Hkw$-0poERYw;5E za0`3z0|QWuL`Z`LYiPm?B5Vd4Y`~bNojMPk>ddebg)HV?9U=J>I0+Le84?;P5eqqB zJWgXRUSbC<8O9F`Krs>_4Hm4S2``AS8ECKpW14pAJaG8kz1shH#pmM7bh1yw|9L*# zeLF$q+GzOpU_L(0X2*K+?9I*k^Rf1Rz24EEmBIMkDBt7MR$~E zd9@w5g+2Iz0VqZynh*hNXu=C3Yz7)^z?i0;IuD$TsJ0S?EasjW)y^Uq9+b19+Gt`S z2aLyQti?;r!!7K=4-7yt5+My1tf2`nh_D%GumNM5cIrHEsx!k%6tb9mb%f+k;3Q0> zWJqYFL@eZh@i>jOc!?dbWEej%0L4gzG+3~PCcGfRW}v|ajA`1b^T6SEcXE3DC!cS3 zC*vs%|L3{(=fN99o*xdbtS`Oz_;hEV&MwUSc(ill?d@Bazutei_rk)v6Ql3%H}B0I rJhyf1cpm+9Q?t)r|9yV(@TJYqXO>=#?)-ka@c|GGSH^?w<&CX>SWrft literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/break-001.png b/assets/pango/sprites/break-001.png new file mode 100644 index 0000000000000000000000000000000000000000..421f27d67cf23a48b5106d522a7fbc04a9f7545a GIT binary patch literal 1028 zcmds#J!_Ov5QUEl8Wut#2#TbzG8PKrG=d;x-H@#4vh1$n2S`AeKcE3C3qe6GtRhUK zg``cLRu!Wt4t!S&kN*JHqpW%h%<=&Y&b3XRvaIiMtIo**o-(T;I_%0s&%^l(Y zxeE(pK8GHS*1Fo6E&Y@ZzaHM0tnz4*OChCH?QSMFg(*$d%I0!cxYAXv+d>|SP==}v zTgp?B%2YKhD|snOS*iwY0*O(2DRMhFZWd-~R&6nNcMG?4tHy(}hecS1Rij0>r$t(( zRb$Dpmql5YRU?fESVI$D5MeW`zy^$I+Ntxv3HNlbrjW(lBRs>a35EydNYC_Y`k_U4 zlxKN0J8%no@B;%-j6^gc0@l!k7ev?$G}wSKO*?fSI2lpRN))n~duCK~7QyhKoE6oK zCKhtQc$~&syu>`*!XEs<02Ct;(qO?Fn(%@Mn}G%!Fs5mz&I6}fW>|?r7IUu_A^8(H z2@@$95*jHH3prpsPGc=zVh1c4#t#fYF%lsS7ObHOFNm-iXs`iens(|uaQNMw9pC%G z=j-FqU`)gRd2auC@&S?Ees5)RYU}x%m5wgX?ft5S?^mvUdNJF3b!=;Le&hHwZ|&cG zdvpKG$!`xgmp<=)JahTZ^54a))2GAxCoa94?QTApE)Rac-#&UBH1$^py`ApHvwzI$ BPJRFY literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/break-002.png b/assets/pango/sprites/break-002.png new file mode 100644 index 0000000000000000000000000000000000000000..dab3fc1d0523afabbe56f36ec58fcbeff17e787e GIT binary patch literal 1034 zcmds#PfOHc5XWb;z$7W6Ai{HW5yW`~$%-z-58YiN>LO-ysDpy5U+cJHem(c_I<9TN0JKsP1YN=V6oVY$AB9ooPc9-v^)4%aC z{@av}mg=dInnfBBu!bhQAi`!=fejebv{UDS<7Q!&rI5wk-7Va*1jB=}hecSH zerVC{X_1y?2X0{xeqaEKk%%Tlz#5wHf(V;|1{*M@X{XKuC)~5FL?Mg0M|hUA2!;pc zNY65wSjYk6aT;s!67z5id+-ATP>e)Kg9U47!V4m71{!R@n5LaN51g#buo8tV=AIQH z`4cz^6Db)I8YvMAIbb|aV=Z1{2P_%J4-7yt5+My1tf2`nh_D%GumNM5cIrHE_}$&; z-TT95__W*fX!t+Ros;LE5xLlD-|Am`|8Vp0yv&S`t>?MjX8A??(dgjug|qLj{@m}! zaQ5=h=^d5sYEOiHY5RA!fvpz62U1~P%&w>6GbbHgH=!q z3-b#EwXhq6Ei42@gCGVAEyOb8llwEgki6VGGiT1n-dP?jbUTMTlDbQa{UP6jyMO!k z@c-oL10z0D*M|#p+I)XxTbjPRe12t~N0VF%DWz(6Gr1{DX{uH>m%GB1u4>&D@=$~_ zRBhN&o{Chas$p5lOHs;FHE0t^jM7Vy+wO6*FiW#)i@Cd7xTRY)9+W*S!ZNHHExJ7| z(lV_YONPBH%Cf8)X+*#pn(%@Mn^^@mU`*3aod-_1r+YPpEao2J8D32=JSazcrdQJs zExMyT%d6ReTiAmi7=U6Vq6rbOh9=kORi!G}huJ=HV9h;0Fev7>SSu3)awt7ev?$G}wSKO*?fSIMp)4N))n~d$kD3 zpTJ3&NXd}UNQqd;0poERYw;30V979kU;v7d2x+ij4NZ7Kgv~&M4H(n3Q|E!h@9xCt z;txI_Zwv<`8vf67;qTg0L@qA%XIFX;uRNIQ=-B@0Uv>1)*~xI`RB!wHJAJtI^33Y` zi&yu*OvayPHwO2%c78wE+IaKr__ep)Lsy^m&OKk-S$#BlJ^s0OrZfJ0^YPcqU}|Z8 K(BGW9bo(D1l~khu literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/kr-000.png b/assets/pango/sprites/kr-000.png new file mode 100644 index 0000000000000000000000000000000000000000..1cfc09624873b009cc18d9e36529fda92150efa9 GIT binary patch literal 1079 zcmds#%}dl_5XWb&Ko<-{4-&l?QFNa=L|~{Zwh*$c5@isb1|#Z_C7n8~r>MX~K@)W< zItZ;0bn6ggMleX8B6=e!D7sY?beTRqe?|}JkLQ`0?|fhOa$|g~ySlk5BHi^vwI<&l z{`x!D@qg*kwLw0WndaEAv{$x#73sLrI6OJZql%b_i-bs)yQ-LqtAt9HvYMEQn}kW0 zZgnvicL|p)!x~~C9ugs0ur$R|JS9@HK&ybnD7_T9{X3@Ws-c=?F?Ta{(=g4#gR;50 zYq(~iMYn}|XoO~A$*`q*YNTc%jR;sn6J8KuGpoP`jA`1b^T2VlFw3Hl#oXO3+_DIU z2W1b7uq^taMYpF#S{6HS3w!Vb15k`aG$8`k(1aI6*bFq-fH6%wbsjk3p2bQOvY2~> zXK@z6@Sq&&S&SwYa=>_;##+3@Jlw(_{J;PdBN5VI!5W(If(V;|1{*M@X{XKuCrf5n zi9!~0&k`Z|6F3PIDH#$PDG>`fU_4G^EnZ>=EE&cR3_vjwAq^I+p$RXDuo-Bu0b`nW z>O64x-R+*3`oib+`R4cp4gcpk^6TPVL|&-Zh9>)OoS9$U^kkrOneA@O?r0drB@u@K$Rm4PGBt){rs$wdx5-M5JYGNjC z5++%y)x})gC0w#JYlww-NQ7j;(iBValt{?}tpXCQ)RH9ncTCk)Lp94_Vl#EqFwMe) zw7I%#xMrb6wS{_Ugl1t$v!!}!q-G(F2v|cCUJzk2qre7?Zpz8?z;UxM%c79M#O@Yu zSp>s_w1-7l7X8qo+S4K}iygRyJ@|nEC`KZh5CLmw!V4ly1{!R@=%$=J51eq%VkHV0 zOdR1^oJBA^NJn}Wqge}kz<8X-TD-(O+`=CGzyK5@5z=768k+Ee2$O*Z8!);lC(i>X z%g(S8g$yRnvO@OH!r3q@Wrr+{EwL8%fblquwRnjgu%sD3FaX6!gfv*Nh9h9E^p95OcfUATYrmW6dOYx8xwn4*&+Nw8=DC;69hEIN zDuY)JE$;mKt#7fmZf5$|wYNjpZ@*p`JaFmM%$wTw$q$_qpNAKwzOQfm?%p+fcImQJ P`1gu5$6EEy=$ZMy(|}&n literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/kr-002.png b/assets/pango/sprites/kr-002.png new file mode 100644 index 0000000000000000000000000000000000000000..1a7b6d967c5cc79062f46840ed85d9beef75ff66 GIT binary patch literal 1066 zcmds#y=&895XUc7u!IK1#iACR9I`mvCZcUfX;USXq{bJdbUKUTREL5n;-tiif)2O1 zh`1G<99+aYh#ZBggB1k9K?N5x6bIq_`1~0@(EfOyyZhevCAVhVQ?=^es)*ED)6EXw zUHpv>Z{z>#Yb!_jRF*nZ4Ov~^|3hS`KYLZW0ug$HGG zb=PpsLW^z-_0R~-!jfT2_0&ksLK+dUh9W?_~^A&a@YTexKr z3=hg47GYWRLyK-ti?l3u;1>4a2L_-RiD*Iutf2`nh_D%GumNM5cIrHE!aa+XC}c7B z2+!gyg5g0q(z6&%EaZUkIE}SpaG*TiKa=>_;##+3@4p=gb9~gjQBtjZ2SVI$D5MeXWU<1Z9 z?bLbT@Vh(MJ^P){=H*ViOT+(pdRxnn5V_cDPRxxySh=%NdpSPbICFDiGoIC-oPT%m z)BQtNs}=d!=pT8rTsgIU?Rsr+>}P#pUi!<=*B%~z y`>o@Do>qF(pX*y2W8F(LBVTIc@Ar+pxNv&U$ydGG^Itz4XQ#9#+s)O+!i~RxIADeV literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/kr-003.png b/assets/pango/sprites/kr-003.png new file mode 100644 index 0000000000000000000000000000000000000000..7ffd299518bfb8da8462d1e4e88b1f5a4b0ad32e GIT binary patch literal 1061 zcmds#J8P6t5QZlSNLY<{2^hp8Hd+}2gEr!#%f`4OOWch@v=N0Nb_OkkK!_>4purRh z4i<_wBACL)!X`ox#qolLAXauJMFhcsHsj;@86HSJ&Y78a-pgJeX%6>PwpK)>r*XL6 z;=6&rzV0smFHX%?`E*=p4cBD;{kA2M&Kn~~M~8S+5fgEd5Xo{^6;pAQP{~qO6Eks> zFv-%bF6QDc;gV%oLoCEYA|wlzrdW!nL`oKD6_6OEmm;@+$5dT4RI@DRZl-P;rdfDU zHdl8I*DSQ?wong^&@3z&wp34z)GVYC0c&W&3nFZ071)3=O*?fSIBphZSroFEySs&3 z7QyhK>|qg>ML)FY_OwXLVh3(v4}M?(ijjyWM8F!F@PY`Nfd(5erfH|n11H?GScyUw zbC2*W&LS8dlp{Th(ZoUy7?0Cfi`P%83zqk%x AdjJ3c literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/kr-004.png b/assets/pango/sprites/kr-004.png new file mode 100644 index 0000000000000000000000000000000000000000..06c303ea35be57970b890118b02243eb13c89709 GIT binary patch literal 1058 zcmds#&xh1;7{{M!$h0+-6=O@sB9?gWF=NK=Fvgf&$r5{d=vr;6Lux6ti4G-?s6*L^ zmgv}_Wk@_a?5R~+me?*?9Y%+EdiD7;`mp=;`8?0_e%?Rk?w~(YpO~5uk$QKwJ>+|k zzecUf|IzjPr} z;hKdO-4^Ph5t@Z1!-Gb9c9J%OV&a zlszoMvgn5v-JTX{S?s_q?7WJqYFL@eZh@i>jOc!?dbWEej%0L4gzG+3~PCcGfRW}v|ajA`1b z^T6SEcYJPPhtKAvVSkQ>|MQ#~UwMwm#csPf-*~k2VEyp>Q?=H)JI&2_bMn}M)#;bJ zlk1Ob`(8IHPj-4!=eI`9<+GC;^~)c|E4v%lp1wG=w0f&uJ@Kn^;r8dBqw$Tcy!rOq oyUN3>wO4z;KAZjW=g4S(?_+hLGMN7UdwZK*((UxyYpuoQzv%m5*#H0l literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/kr-005.png b/assets/pango/sprites/kr-005.png new file mode 100644 index 0000000000000000000000000000000000000000..03cc9a66b28f02d41746a6993b48f6b528301294 GIT binary patch literal 1071 zcmds#%}dl_5XWcrvKUgAK(`Lkp-w?CV7EY7*`%~(6%W-$P|QK-(wlp!gAf=MLFHk> zTL*6&9ipI%frns+JV!4O5g24b2QLQGr{~Y;0sZkjGxMGA%ie8HHwFi410pgwd9vQ( zyN|!2YCr$iZ$CJ}r*f^;7?8CCjjeScr#2NER$ju@p~H zg5g2g!y+t;erVC{X_1!24&1^X{J;PdBN0uAfHgGX1ras_4K`p*(@vcSPPk{W5``@0 z9^qM>MKC-lM|u{ciG>_69;dMuFEJ0dum?Xd0L4gzG+3~PCcGfRW}v|ajA`1b^T5fH z8CIf@#oV(*Nd5#)!bD1jghoolLJk;@(^!j_*a1t1@dE=;j6_I-1#4)+3nFX=8f?Ir zrky$u9Da9)XU=Z&`Eb28JwwC)dFFOH&k%WKvOYFDw0z^?+sfLpYG3=^*ysB%YD=|S zPa5aCwWZ-neKZ|-!@ug15Z{j0y)mED_Xc33Qv6VvtX_{GJ) D83|{o literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/kr-006.png b/assets/pango/sprites/kr-006.png new file mode 100644 index 0000000000000000000000000000000000000000..e90a0a0adb50511c706e86994e9dc019c98bf4ba GIT binary patch literal 1061 zcmds#y=&895XVm)ER6*_2th;;r4A}8hm&BnB*du1kXDC4i&D7J7h2K94jGhElq!fE zxD^+N48@^1l_&+v;ou^IvnYa_os{$A^Jn-#`{Q};?t9;tEVf&Xk>S0=A~MoEU+eJQ z&0lqB2mjwKJUYW?+gztHA^i{gzKd*MYG0bF^Qa;w;vylE<*q8G;wqt%rK~1q;wE8| zrCVLh#a+TB%dm!6h=)W-7A#G%6io*JoHNFxH)(1aI6*vu-h0b`nW>O64VEX=YfWHEPl3%4wS z;X&EMA}ou3XwmIyk(R{{+`=CGzyK5@5lx7IH8kM`5jF!2HegKCPMrr%xM#5vg)HVC z;aQwTFgz$ndKROJg&Z&*r?D0ejs#M9wyA=ccO9rkCH3%E_U(AD1gHb+h~Uz>&e_ z{U;vG-Dq~(zgE}n_`}}T+2^;vyqdXwv-};Gq*1I^m tcJ%(AgI6}zD~F$K%=Xs?zVr8kxI%(Ehwf@Al-d{jNUDN;o literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/kr-007.png b/assets/pango/sprites/kr-007.png new file mode 100644 index 0000000000000000000000000000000000000000..0de9825c5cea305ffac7cfba72b4ccd6ef3b40f1 GIT binary patch literal 1080 zcmds#%S+W!5XUDYFfW27fmomrxex?thzd$lG!^1@@r4CO5DYD(7DgmgWDDs*50HdG z+SEEBsJ69m5jh0WqFNM4EsAgvQOl-J=g;VX{y1l5zVm(D>$U1&V?%3$h%^ol^^fpv z;;*HCBmY+}-|FGBVP<5oPnKWr_$E?!vvy=`fJYTE5f=%OEO%8g6;}zBEM+w@6E_Ky zEZyp2F76U8S%x*lLOdiwvS4Y7rFcrDWPw%ziBWnfa{G5o)m1|^%VO?k>ZW0ug$HGG zb=PpsLW^z-_0R~-!jfT2_0&ksLK+dUh9W?_~^A&a@YTexKr z3=hg47GYWRLyK-ti?l3u;1>4a2L_-RiD*Iutf2`nh_D%GumNM5cIrHE!aa+XC}c7B z2+!gyg5g0q(z6&%EaZUkIE}SpaG*TiKa=>_;##+3@4p=gb9~gjQBtjZ2SVI$D5MeXWU<1Z9 z?bLbT@Vo06J^q!?hjSyxQy_I`}Voh{8> zZL>dGYn7qHYp-tq`L%0yrtQ$v%2diTrFbD?8yda`|K z@3kl2YwKtC&!1lTd4FQ=^uqk9t}VOwJXn0!y!8C@`kl$u#Y*MM&VA3S?LC*apBO(g RzUeItWO$(3zub57>R(-eWM=>X literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/kr-008.png b/assets/pango/sprites/kr-008.png new file mode 100644 index 0000000000000000000000000000000000000000..9513601ecfed84a107303b5e0ee3f29211b96f25 GIT binary patch literal 1085 zcmds#%S+Z#5QfLZ5J4!SC=qcHE~20sCS8n=HhT)m#n^P{wcC)Zt!Temq!&b5f=%OEO%8g6;}zBEM+w@6E_Ky zEZyp2F76U8S%x*lLOdiwvS4Y7rFcrDWPw%ziBWnfa{G5o)m1|^%VO?k>ZW0ug$HGG zb=PpsLW^z-_0R~-!jfT2_0&ksLK+dUh9W?_~^A&a@YTexKr z3=hg47GYWRLyK-ti?l3u;1>4a2L_-RiD*Iutf2`nh_D%GumNM5cIrHE!aa+XC}c7B z2+!gyg5g0q(z6&%EaZUkIE}SpaG*TiKa=>_;##+3@4p=gb9~gjQBtjZ2SVI$D5MeXWU<1Z9 z?bLbT@Vjdp8QtLXd2)DQgogj~9RGcF1(8#gp3dsdr3(vlTVJ)-cb~k~`Fz*J((VT@ zPP~8e{nvp*-)0`I^)0rZK2o#y!`+7Zwz}oDPeU{PXMP+zxNml3~W6hf%ug^c5ZLhA6w_I78oZfS1`^T3LFV&5mUwnIc^vk_JZ)#e$-P{;@y4>-# Y_WIDd!#gVXhoB*q-hrOguJLPs0b~zmssI20 literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/kr-009.png b/assets/pango/sprites/kr-009.png new file mode 100644 index 0000000000000000000000000000000000000000..6aaf31c3535573779cc3a45e6e3bd4925bb4030f GIT binary patch literal 1065 zcmds%KWh_U5XLW!&_7U7R4Ae-v?xeH;XqsztSM=vgpia%>(W8aj)IDI5p+`tx+t9J zAfh-(a8eu!f+C`aag&ZBNc97Vbvb{1KZY+PFZbTvbI{##+3@4p`ER9~gjQBtjZ2SVI$D5MeUVU;{=s z<>Yzb@Vh(ESzPB@yV!1aDEL3m{O>D|5qYjrJ2^LYw|l3u_09gF>PBnd$Nt~vyB<87 zJTt%JRR8J3{l?6~@Uh`99|r$yU#YBCmnR0lu8r?py0qSXbb9v4__u2J&`SUE*{Sz0 zq`u|lwaM4@-sdMH<-H3>7r)=!82I(1b8qo@ZvH7qW4c-EO)Xvj2NBa< Aw*UYD literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/kr-010.png b/assets/pango/sprites/kr-010.png new file mode 100644 index 0000000000000000000000000000000000000000..377c86f745ba34ff0a81ddc7f3d8b87a40b93782 GIT binary patch literal 1079 zcmds%%}W$u5XQ&ETm&KNvh+#N2StZsvP&RnYqk`Ns0DTMkVEtVK^h?yWT2yh@w-M4iQX0-#?=lc3UFxbPRikOItgh-ZHRZPWILM2ODP0Yki z!X!(zx|oZ*giDrY4Y3dpiI6N~wHd8kZ(=0ql zo2$EqYZh8mTd0RdXcm?~7(f zMKC-_dsu{J(GM-EJuT9**nwNvgC7`xVkDvo5wM0Pydc74puq-=Zpz8?zzO#(R-%x> z#1WpwSp>s_bfjl7nzgV8jK^uL#Y@b?E$qP$3_vjwAq^I+p$RXDFd1mD0i&C8@;q>| z>Zk z!04u&JP#axcbf)|eCPT&(%%@M;Qu^_exG}Y$kBSOYp{Cv)U8YHwe^)fho4+N`|{@K zo#u_-ZXf&Fa(u_c8@wn#;4Y9-_-fT2R|?X#YjXGB47=NYI2&fA?2x6gCDy_oFdnC|7B8^_mNerB2A~*;kOm9Z(1aI6m<%-7 zfYD7kc^)|Y?nY+MZg8#LsG74B{GaDcZ(#+I^Yz+zYxv>S?$WOIzU}?pu?ORC=HB0z zOV4}D$A3Nj(>~q!Hu`#S?ckGY>*(UZv+l9#+Q!Y*6OYDjPxt)Dfqb!lPpiGWFn{lg zeLcGVedJ5~)2sClkI!9P?Yup7`16jxgTGJB{p_pGH!l0i%gw*J)F+#@&cubqf0spL A1ONa4 literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/kr-012.png b/assets/pango/sprites/kr-012.png new file mode 100644 index 0000000000000000000000000000000000000000..858714176ac3775aa3e31280eed98b9cb1aeb285 GIT binary patch literal 1066 zcmds#%}dl_5XZ+BLn_kAW*1lU_sNT=g;T?{qa0A^PTU@F3q$WeZ51yBGT8Ks<-)8 z`5Wk|@c-4N>xcPt&9xg7vhuFBDYEU_%(2cSk1Ap!E)pVH?y6!ct`aI)%4%XJZW1P0 zy4A&8+$CJH3~Pvmcu0g~!O|2<@svo(0<8iPqx4eb_V1XgtA=Wp#oW!*O~W(`56b51 zuHl-67Tp%=p%I#eCBv5Lsgat6G$LRPO?W|s&8z|&Fs5mz&I8BI!YqqI7ISyEaLXbX z9+W*S!m{Xx7Tul}X<6*RE$qP$3_vjw(S!(CLla&QVKdNR1I9G%)Op~9dloBE$YSmh zp2b-N!-I09XEB;s$N}SV8f)q-02Fq(m&_fblquwRnjguw)oNFaX6!gfv*Nh9fnI{K;Z%^w4Ve==}8e>Yp7)I&+t&1{?L^ z-|I{32hZJ^e*U_9`OW6-1CMJ%pZAZC?HwHX^tCen?fCqow`Xs$Q<{^l`pU%VtA7D* C5nz4* literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/kr-013.png b/assets/pango/sprites/kr-013.png new file mode 100644 index 0000000000000000000000000000000000000000..e3d0017b6de6cf8ae52ce4c726827fb385d2c614 GIT binary patch literal 1087 zcmds#y-U?$6vxjs2$3vnib{xrz*?d+L{MU)+|;p42S_2HR&m5mGgo16Z$ZTfZg@cEfW z!~3?+kGyKyEbX-eyFRT9^pDGinU=|=g|SnwM;jNreol>CU%XY{{itiYqrG5gi48m=;csiZxlgu zHHc2zp(yGmNDvG{m);1vbf{woqq(ai%#wD($r$-$go?rY5JycvKM+agh+oa#s~oag|WXQdSc)ag#8~ z(ycD$;x6HmWmrQj#6uz^3znu>il;`PmR+_PATLKbt6 z@GQuH6W{oJJlkxvX!t+R(VyoYBJxzdHZt9JfBw!=b-2H~a{Tetg{QaHduuCS z2M6A6UAygFL(eOdTUw_(+XsfP&yCz@&s=`izw^VT+1^dR9xX4QZ!X@o7aM=v+x7d< zlY#wvKOOE|Ti^Ys>-~dk+unSc&D9HYCkNlHyj literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/kr-015.png b/assets/pango/sprites/kr-015.png new file mode 100644 index 0000000000000000000000000000000000000000..60a3c832219b123043e00e9f3081cee26b2b637b GIT binary patch literal 1042 zcmds#ziZQB5XP_SP>P|olSn7U;v$H*Ikh3R1~h~uD3*!^^`>^x!P!YkK@bFQuHYaP z97J#saVQ9fAc#_MC=L>*x~P+$pWdI*7uqlHdw0)0Kk}g4S!_%kn-Gyk`$DV7cWUo% z{2>2Nou2IT8N1zEY|7?`nI9qthTV&U1s+wzL|i09vhJ#4Dy|YLS!Fdb6E_KytZsEN z7k3GltYHnY5D$rvEG$j26iD>JM_A&a?Z zMM(YxPQpY=hJ;2+#6k`jkJDI-m)HSIhVcUfP>e)Kg9U47!V4m71{!R@n5LaN4;+4X zv;CzJpY1!nPM?PTc`pCHyMf4VyEQ*J`grZ($0Kjgj5n{{pWj}8vGm>_E&u)bZn$&x z*Y(lsn^QZ-cZY{pE^RbEoj5nMI(T++?Cg!*(HnU=yLG6u^>psv_g7b@zkYji{`2Im U)aPH8r~iO0?S)Qjv$=BbKM~wmD*ylh literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-000.png b/assets/pango/sprites/pa-000.png new file mode 100644 index 0000000000000000000000000000000000000000..d9ba2a2a3c5473fdb622fb1f5d5563758b0fc7ae GIT binary patch literal 1081 zcmds#zf0F)5XUbKl5a@Xl9+DgP)l)cQK%^<#20^IAcawMLbw?z4IvUyXd*_$VM|D> zLw`VFxMY_?&=9nU4v7%7WKGwr=g;T?{qQ_@_rCX!?~}f2Pkp7SA|my@m%9e|Ht^S2 zSIhsk2Tw2ZIWRHM(DmGjWqJ$yg>k?Y-@` zrqh+3wUfKc9lsa)_jgAxoM?Er*uHjXY2(@6`uOOp$6H74wM?#FpBVmj?tI(Mv8!+A Pp&-58)vlG!8#8|aGg4}O literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-001.png b/assets/pango/sprites/pa-001.png new file mode 100644 index 0000000000000000000000000000000000000000..7566fd22e44d6a7f9f9d0566bb01d5aca5b76d4a GIT binary patch literal 1079 zcmds#&r8%{5XNWgBF2K95(%M8bW(7lTY3n8LQhfcQ8T*`tnS|lVAq==%34inwN zLl>(<6haW@A!tYo*JoHNFxH)(1aI6*vu-h0b`nW>O64VEX=YfWHEPl3%4wS z;X&EMA}ou3XwmIyk(R{{+`=CGzyK5@5lx7IH8kM`5jF!2HegKCPMrr%xM#5vg)HVC z;aQwTFgz$ndKROJg&Z&*r?D0`6NhGx7V7PQONLXZweIrHGf+VP+jv#~}hiC|q5Gn(Q9FB;7 zIXH>XBvCY2G+aeOLC_YImQXYlA#}ZZ{)`^b56^RV?|c9FUhVJeX>8cqAR>*`LtO)W zH}lt2spJ3R)La6E!w+g3zsulFAr>gG{JOvFV(B+Fe@OvP0~B}-XN%*0K? zBulrtn2WoFOO{~`u@Dc5kSti5Vkw>yDOsRZKw^|$iroGkQ+3r)&9a!gnYwA1X5m5E zT-`NXv(Td3LOnD>v#?~?Qav?Nvyesvtf2`nh_IPeU<1Z9?bLbTxLKHGQOIKM?iOxY z1jB=}hecQx{m`P@(;_X49k_)(_<;c^Mk1OJ0c&W&3nFX=8f?Irrky$uoN&)#B??*0 zJ;Jj%i(q(Aj`S=>6AL+DJWgXRUSb|@VGn*_0E&?aX|P}oO?W|s%|L?<7}K;<=Yf+Y zGps}*i@9fsko*apgo%_435}G9g&Z&*r?D0+P2;|B(y7>SSu3)awt7ev?$G}wSK zO*?fSIQ;Hf28WmVydNFt8>Hd?JjZ@se1OPH)vg0WP17S&Z?-($UOD*N=2xFjOb%A> zE$T&oleaRTjr8z3qEzhVSg$xaq_4WW$c5qswj0FUQu-_}Ye%XD3d7-SwpY>fL0t**G5Eux;Y%+V0c<~BXk$Wwul|jrR$cP?X0)wIl5z!(P z#%+th$VF`;T0{tKCZT06qSeJHC?cW$YHzjFD`K|UMKHO59{dA09@$i~}K_30{)Dq;hKdO-4^Ph5t@Z1!-Gb9c9J z%OV&alszoMvgn5v-JTX{S?s_q?7WJqYFL@eZh@i>jOc!?dbWEej%0L4gzG+3~PCcGfRW}v|a zjA`1b^T6SEx4U_KozL6zjmahr|K~aSy>%avt?|*r)4lVj@4ngkV&~?O->+vrEp%^x zFwuG7^V<5&p336KUjy}ymyc%749zdw!?RZ|4)$ML?AUj2;M=8o&)V?w{@O}k-<~I5 zYn$G+u1{3kQzz!yOQ(+f96q*K-!@dAZGY)Mx$tM{$7=ii?Ea47U9B6C3pc1}o&W#< literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-004.png b/assets/pango/sprites/pa-004.png new file mode 100644 index 0000000000000000000000000000000000000000..9c00bde30ebd9f4522e8b783bce65761fb5644c6 GIT binary patch literal 1067 zcmds#y-U?$6vt0iP}+rPD6yg;P#PNI5N(EbFLp_8cD)2S>EN+wNouI&4hlhKP|$@A z5>(P8IJGnscW69B5Dn2P*$cIZEe)qn&!5o)`r~=dIp6brxpyWSW0l^4UJ=4-HY#iH4t*2pxi>N1s`02ICgLI?lI5-{rs680lBKLBX5uDc zlBHW+%*9>8CCjjeScr#2NER$ju@p~H zg5g2g!y+t;erVC{X_1!24&1^X{J;PdBN0uAfHgGX1ras_4K`p*(@vcSPPk{W5``@0 z9^qM>MKC-lM|u{ciG>_69;dMuFEJ0dum?Xd0L4gzG+3~PCcGfRW}v|ajA`1b^T5fH z8CIf@#oV(*Nd5#)!bD1jghoolLJk;@(^!j_*a1t1@dE=;j6_I-1#4)+3nFX=8f?Ir zrky$u9Da9$lT%;$e7ezWOw#awo{PV4t|0PCy*kqB@60~9uuo3xIJ5a=@zwIdU-SEq z&#tfDdbFooJ8*m8?oe(0WM|{Y={Ljvv-{^oWoF_0<8#k1Kb?EO@_lCWlz;xxIl6Id zb+Eg&Tee>B9Dlgf_p%3P7Y4?;6YAWYDf}gNfTnr4w?eLm0gyr1`vxzcWpRtMJ(ib!>=IWo?7 z6@RsX<@|qjuD6R%Womr1F0=2}e-l}DwY|5~;88_P#6?0R%UxAW#Z^KjOIc0K#7)8^ zOSih1i@StNmSGLC5D$rvELfUiDV`E3S)f%wVw7Hr-2NR?b=6SKvY5M>x@nkZ;X&D4 z-8EdZ(4yNyJv2hIuw>X$JvCCZkVXWop$RXDu$fh01I9G%)Op~zS(s%}$YSp97H(Mt z!-KMiMOYU7(4yPZA}xy@xP?9VfdME+BAO5ZYiPm?B5Vd4Y`~bNojMPkaL-~T3R%oO z!m~JwV0ciD^ejdb3prpsPGc=zVjgZ`4}M?(ijfFuuwV^MctM2CK!Xh!)3j6Pfs-XO ztVAJ;xo3%x{0W?diIfZpjg*Lm955cIu@*0}1C|Wq2L_-RiI4^h*3g6(MA!^8*nlxj zJ9Qp7{O&eS9Q?{>;pBL0f`S#3`D6Zw_WR$D@0;21 zX=wHI>y2Av_`RQBGe7+D%UomX=%!=gOWhTX`Ac{0PwnEF%Jtm(`EqaD4VKGTqct*H HKXl*n2M`}N|v&kn2DQ& zNtSMPF&B3Umn_2?Vj&(9Az83A#Zo*aQnEm+fW#=h6uJF7rs}Gpnq@I}Gj-E2&BBAS zxw>n(W}!v5g?ea&W?{*&rFv?lW+9CTSVI$D5MeW`zy^$I+NtxvakDVXqL9Vh-7Va* z2!;n`4~wuY`k_U)r$t&8J8%no@B;%-j6^gc0@l!k7ev?$G}wSKO*?fSIN_efN))n~ zdxU3k7QyhK9O+q%CKhtQc$~&syu>`*!XEs<02Ct;(qO?Fn(%@Mn}G%!Fs5mz&I2b) zW>|?r7IV)MA^8(H2@@$95*jHH3prpsPGc=zVh1c4#t#fYF%lsS7ObHOFNm-iXs`ie zns(|uaQNK~PF~vL^JTWxoTTCZJQufbFC+5Sc>T;&|MTgm?>pMV-CcKX4FB4Au>bI@ z>YmG6LnC`P+Y2vu|2V$cs2%IOzw!3q>7&b)Z-*)ewioyHF0EGQKJ}ldF3L=M_1R$M z^~l6^H1m6d0X1)9r)e3{`ttM>h*gMSuEp?W__i0 GW&STm7GM4V literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-007.png b/assets/pango/sprites/pa-007.png new file mode 100644 index 0000000000000000000000000000000000000000..5fc066b581effd50f9fea1412ca1ba4eab129663 GIT binary patch literal 1079 zcmds#zf0F)5XVm?FyRY@SSl5iU_-w-1&0t6MZZ!aUoAq4q~NGl6OzE7MI@vetd53; zprF8^p~c0*w#%u-g0>)`r3NSKdiDGnJ)j?+=kDJ3{_$NH8y%`NwKs`Kr8+!Nz%CI)#_5fgEd5Xo{^6;pAQP{~qO6Eks>Fv-%b zF6QDc;gV%oLoCEYA|wlzrdW!nL`oKD6_6OEmm;@+$5dT4RI@DRZl-P;rdfDUHdl8I z*DSQ?wong^&@3z&wp34z)GVYC0c&W&3nFZ071)3=O*?fSIBphZSroFEySs&37QyhK z>|qg>ML)FY_OwXLVh3(v4}M?(ijjyWM8F!F@PY`Nfd(5erfH|n11H?GScyUwbC2*W z&LS8dlp{Th(ZoUy7?0Cfi@M#pLRKhOECTh9?WQyu7=XkD7Q|E02eva#X!$EmN2mA03s>${dl zT0X7x^wr72x0e0G!|QWvdp-YZYzI~zl(bln@H(s22 zdhKdw$DyOMZ#K@pZSQ;aY~|2cbU{&M}})pIM|+b0e@={mmq%KOc2 O2uO8sbYQuE>h53QrD3-K literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-008.png b/assets/pango/sprites/pa-008.png new file mode 100644 index 0000000000000000000000000000000000000000..0e6ee046c4c3fa15f01f7db115f78f906b747337 GIT binary patch literal 1077 zcmds#%S+W!5Xa}*<{}B|CW!)}h;|WUxhs-uX30hL(!wHyU|PA+Bt?iY5GcfOB1KUnW;Y2Mi^A}#$VYD0Wm z`Rk}|q-02Fq(m&_fblquwRnjguw)oNFaX6!gfv*Nh9inHwlS{XsSf_PW8!s+=e|l)Gdwq89&8^3|)IRpEvLz?~T-n=weEPuIJyWwUSug#) K_1a?3=#TDzM6&#q3l^Jy5Vb$7_z($*D`Ra5=FgIzqTh>5sJh-A5|imA9tsAMUtiJ7=b zm}Kcz7jto!aLF>PAr|5x5t0Q-fT2R|?X#YjXGB47wXAuk!%8{PMXksA;jK^uL#Y@b?E$qP$3_vjwAq^I+p$RXDuo-Bu0b`nW>O63= zWQLU}WHI+F5t2WFlQ5BzA)%2Hv5*7C<22UdC3e7)Vf?@V6eAJRV8I%i@PY`Nfd(5e zrfH|n1Bc(;u7TlYKJQ0s)d3p*&vWAU#e0aH=;=H%*fewY=F7^$_Qs=Emg*m;D~GD* z+xurnVWdf)w1eG`wys!wXWe_n4{+Pi18GQKdrt#xF!=X3qs dyG9>dzASIHv_1Ipz4HKMq^GOeIoDCY_7`iwYmEQ^ literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-010.png b/assets/pango/sprites/pa-010.png new file mode 100644 index 0000000000000000000000000000000000000000..3dcdad74040a5f6a9ab32f951badff3fedcb2f37 GIT binary patch literal 1084 zcmds#-)qld6vxlD#JXZ><-RhVDZh{d_m_ z*Ho$F|Eo*m2l&*S@9%1p>4ojzMQU&K9UkoDQAJF|MM5OYT~$oQRYE08SxwBuO~NEg zx4M{%yM#-YVGXem4~dX0Sejxfo)RfppjAL(lwOM5{vA_w)lki{n7f&}X_#i=LD^j0 zHC(gMqT50}G(xkmWY|(YHBz&XMg**(2``ASnN?r|#x(8JdEmHNm}ODOV(#u1ZdnAw zgR+N3SQh=zqTACVEsGtvg+2Iz0VqZynh*hNXu=C3Yz7)^z?i0;IuD$1&tfGCS>igNoH$5MYPMlePcj@%v>dv<{M_Si@^sbCder&EAdOCIP_Li}Uh2<~1?$7_O ztURl}8>t=bdwl%sgKe8e+s7+As*6vCSNBy$H?%x#x;(dh>cwRB^UIdX+=;2@(lfJv U-LcJ|?!iL3J9|5(+fH8n3-PdSh5!Hn literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-011.png b/assets/pango/sprites/pa-011.png new file mode 100644 index 0000000000000000000000000000000000000000..b4379d94750e5f700de15471289a8bff437725b2 GIT binary patch literal 1081 zcmds#OH0*Z5XL7(FhMX-Fo`-)Nv(>8q=iMAtSb|VYKi`kh3;O4MXXcsba;}XG*V@~9+C-#%=vcMR zw}Zd#)@J@MUAcLP&xWabZ9o>^Z}~3LbYtZB*dUK8Vj?aQB3bULVk)i@Dp|^EVkT}9 zCRw`G#a!GaT(S&nh=q7agk-_e6ie}xNXY`N0urP2QslONOx0CGHOpe|X6mM4nuP~t zb9L8n%|eTA3-!Q^?1gxP6FNm-iXs`iens(|uaKb%{l_+E} z_XyA8EP~-dInuKjO)TVq@i>jOc!_zqg+2Iz0VqZyq``tUG~opiHUkYdU`*3aod-^q z%&-!LEasjiLh>hY5++hIBs5YY7IMINoW@$b#12?8j2{?)VkANuELcMmUJzk3&|m|` zH0{)R;PAWa9c_H$^Z9&zc$9|!^Ng=vyobo?q3V&b?%6Z9KW=KSv>yFy50}4O-F$z? zuD2(iue_;MUN>@k=bol>{^a-B*~3efwafBhX5*i`a}DX}-`dqOHu0kC(a&mAXV1>@ zU-PFQ>!dB;X?gWPcAq@xr(XV;>$|WvGw^ib`hn?NU;CdeT>7-UGPT;f&ENG+?%hAX P4+=6gI9y#En3(woc>!oR literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-012.png b/assets/pango/sprites/pa-012.png new file mode 100644 index 0000000000000000000000000000000000000000..35878a50e3a40006566e2f31e62a88a394258328 GIT binary patch literal 1070 zcmds#-)qis6vxl@q-J?UT&yP-qqrGS=f({&n|VrWJ$txN%7spn8;vp-ERx4~|q+BRm>_RKGl;h>|XZY0i?ejV3ywCf`b7^RBpxRmM6p?CuPhW%Y z3jVq}D*S(O=E`aO9Mg%;fw>Y)*ug(bt5>Zy^Mg)|~y4NZ7Kgw3o18!)D6r_KY%&B82;LKbs(w{XiM z7#@^8EW)zrhZfzQ7HL`Rz%A^-4-7yt648VRSVI$D5MeXWU<1Z9?bLbTgnJe%QOIKM z5uU|a1jB=Jq-QajSjYk6aT;s!67z5id+-ATP>e)Kg9U47!V4m71{!R@n5LaN51cHS zVI>M#%soqlDl;YvSb9>6Nm!qcVDb%jpNtd%i8} zp1wG)x0WouxvhQt=ZE(%KX1NXJ9@1)v#UFQADR2I@MqPl>b?1ytp}Hn?Os3qwmCVq z>D}?$7h0>o)+#-Z_SNSfF;E57#ZWO^$4QGyCN1VfISBf3UCB Hd+6L>x%g+p literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-013.png b/assets/pango/sprites/pa-013.png new file mode 100644 index 0000000000000000000000000000000000000000..98dbe63d8e25052dc0e6a4654927816f6a9df4e7 GIT binary patch literal 1083 zcmds#-)Glh6vxjtGGjD~$ymFINUT$ANo;MlC10~mzLgQpA*q|9Ey`rlOf~6;6J3?* zBI_bWrHe?S(^N~-O&4ACsff&QK$ zzN`6buCL?&^D`HA@~JsK)YmQZ3oYM8YG(%bjP&xTA|~P@A(G{;DyHHpp^~MnCT8L$ zVUnd=UChN@!X?YFhFFM)L`W7aO|cYDiIgnRDj+dRFGX(uj;Xq8sAgHr-AvsyOtbKy zY_9Gau32c&ZJ{0-p;=fmY^k0asaZ%P0@l!k7ev_1DzE`#ns(|uaNI1+vM6LRcXtc7 zEP~-d*~20%i+*U)?P-yg#SYxU9{j)n6eAH$h=4UT;RO*k0}VD{Ow&%C2Tr(Wu@Z$W z<{sf$oJBA^C`Wo0qltwaFdnC|7B4Xmx3C94FaX6!gfv*Nh9e)Kg9U47!V4m71{!R@ zn5LaN4;+4X8;19PC{?N+4H=n96J4RdPzFr(%YTsRZb8^+#<8xOQ51jw}b9(ER2bCR*<5O!V zAAMMJdsA2QoohYEw$1f#oa%g1eLHsP$n?bPdn+efmtQn3-Tm@w@#*y&tsOIm|I9Ae XY<}1NAffg*Ig) zw5nB+ijE#6(;qM6%pf#Z+7+RI-%S#7x{I zOtN&Vi@CTk1tdo4rO55yF;!O$)hvs-o2i?IX%-%o z&DCAQH481eE!0CJGz&|HE!9&aH4AA(z#5wHf(V;g1vX$z(@vcSj+=#97KJS4?r!0h zMKC-ldsu{J(GM-UJuT9**nwNvgC7`xVkDvo5wM0Pydc76puq-=Y1*mtzzO#(R-%x_ z+#@`Tvj~O<Yckj{&{A{rHM}~9UYaax95gOZoNCPbMfQt`j>k%hn5fSZ+j&R500OD z@n(1L``@ci&R%}@e4_p5+JQY|=a()_Um5p5Q#TI(T4-zJv^|`By*|I(xp=jyUe%X_ Rqbq}OkZO0WGTU`#>@U7WZ`PmR4?Z^D&yBTCt?*f`z$^X}RC;o9Dj z7@eM3d$IN8;Bs?wVf*;WUq2pSZJpWN`rLXmy!K%>9(}*_<;e4$*OQ&qzb95M-hcIS b-<6546Vq>}hPP(d53@kJonCvRdHMD~5)W4y literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-100.png b/assets/pango/sprites/pa-100.png new file mode 100644 index 0000000000000000000000000000000000000000..9eff408b95feb5eb0a38f954c9c007ed9a12cebc GIT binary patch literal 314 zcmV-A0mc4_P)Px#^hrcPR5*>TRND>2FbFeIH@eKk%~WQ}PTWVE6iP_@ah58jV2ni`gb9?Pvp5MT z#NHNXBJ`$cC06dL#JQHu^_r4dd+I#aF4I(1);h!rR2rn=08KA{dpo}D-*7kJ7~;Jz zQH5#?>kefo38?fPc(U$_Pi|ffwim5l?2m?B7H#fxQ8r*dgGPx#{YgYYR5*>LRKbnJFbHI<>*!n)TT`gXThrVl!Dq0YjkHLS9GHQD;D~%_SUIV} zCD>+s$%Gwwhr=h*oxubpOM~unjWOqx?08zapF^aPwEH|zid1w^>HRnU>pR-{?A|Xd zRruqFToggC;a695cP22Nm zphw@(XDuL&1E>HhmI|^8m@{s9g` VgR1FtPx#?ny*JR5*>5RKbzNFbI>}(rr!jbkyXYbdRhP7I1Q_nam_ulEDxY4P;Okr-LQ- zU-8a_oruE}SW4uMEczDxB>H~$#AD6C z8s^Q~=m@uM>^6`=(v+s<)2Px#{z*hZR5*>Tl+kU*APj`>P)Ev4>{QRhPS=M7Vr=tERck3yLcX(oI0X1(uv%1y zO4u^rqTnPxajZn_bq?9y01aF#E8`_u4FCw#sp7H%)|*&;Kz=iQV$ZfH zih^n)8&_4Q0U8}JOVtBMrq;V7%{)BYKZi6V4QX@%kotSg=Ns#qEWLPZkJqY}EPRj2 z+++N0kXQL1c`dwc-!UW%sT_4mk|)CLoLt;A$M0Z?V}wJO5|n?VP<7)!R`?+NxA*~D WUbBIiE*bU!0000Px#+(|@1R5*>5R7)1aAP5}tdZT(KdZv0N??g9I0l^wpdFXtcpoE}=A-+cy6zvV0 zPlzbn2mr*hEp_5FiDA=38Q2qCJ9`n>3tfJJSU@ZxFsiYugBSI0n~hId++N;Nszhaw znG7^o+aBLa)q~9uLMP0*qf!BYMu;cJ@Em~q3rp3SsoOyc)tMK9Xij1W{p>meW=P{j zXg`VF!6wXC2!3}!oPiPb4UuMT_Bps+=m3p_zg6pDh<2A#(1AyHBwILr7xPQs oM1Xmzo~H~&j0`b literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-105.png b/assets/pango/sprites/pa-105.png new file mode 100644 index 0000000000000000000000000000000000000000..974d38649752944ba6ba4882de9d9db1cd6dc64b GIT binary patch literal 310 zcmV-60m=S}P)Px#@JU2LR5*>5Q^^s-FbG^c=_sm+)MVA9p2$lQpe5t*^2qGLB_Lr6%Wu*lESEn1 zLnKuq0Eq5q>l^1u0-GnQz?tCsWsiZg(3O9P8bpl(S*)xHKGg5AA3p7Hdu2s{_WE|J85~NWPE>10tpk9pCO#=6a{y@yNAzB)$3>#*ss{nv6YgNv?t7pL8+r&G zn;2B414m>w0?8tnz);RT;vx|eK1NmGokr;Q;T{laaSB1X=sqK(7qiHw{j`n1E_o9S zv+4p_f9B!6LSi~&Hurq7qlttP{Ev!w<Px#>q$gGR5*>5lU){sAP9w_(~ib9F>A^-*_!S=bSMxdho?ySxctcUVi1D$xe_~n z&y0-%Rv!2tjvKnT<#o=8^)Lgk1X8- zuEgPKcm3MmB>tzM@GzJK;hEoOOKD7l`$YL$SOES2pu2R)H{WH+00000NkvXXu0mjf DHWr8j literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-107.png b/assets/pango/sprites/pa-107.png new file mode 100644 index 0000000000000000000000000000000000000000..516e4482983a356b6dd81869921671c822ccb329 GIT binary patch literal 338 zcmV-Y0j>UtP)Px$3`s;mR5*>5R6(}HAP7tP=0?Mr?3v1$yc2)XqNuc;pN)zV0-{8K6&Mwa>$vZG zZl{79Civ#;d`tSY`35S;*%(P!I-luy)YDlA?v$`tBZ+l-RFILl8YlUrjzfn=@GL2AFnl7x^yDRuPaJT kqDHJK%z3`xe>F((2MGs%1nqDh!2kdN07*qoM6N<$f~*vc&j0`b literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-108.png b/assets/pango/sprites/pa-108.png new file mode 100644 index 0000000000000000000000000000000000000000..617dd368d424d50d68cf0a52f82b96e1a03a1d9d GIT binary patch literal 324 zcmV-K0lWT*P)Px#{z*hZR5*>DR8ba$AP5|K-6+q*o=MJRXJS8E2@SQke3Y6q&LBisgfcW*CjkMt z9{&Js{suIQhXPMReDkS1#gc$R3y~6HH4<-Qsvsh%YAVSVf^%t+xd6G`3RrFLK028M zP%R)z&>SmLhHef({S`IwNsR@=8Jm{t>nYcQ{NBtrNnJx%NCvKPx{XPog&zc!q)B2F zBkp=CoIjwqKwCH6}Cu|E_5P*j1q z;~oG3)r1ozY6wh;YnHGxUBzA&Qrp%|yUxlRK8Y#*H>_e=i7OTFPxX0nYF{ask$nN7 Wu!SP4YZf~I0000Px$1xZ9fR5*>DRMD-(FbK1w8!0n!GaWOvGx0vsL=;Hx^pN^Nij7S~003r(nH`27 z!`Cwc$1^^IAU{l_{ zM0{Zy0I(}PN$ix)L>d^KVR5!Yyw$~n-5{$0 zE(=lCQ>4Y){%|Tbit;Y}C(0M;QnYU2X^2C?VafX?kpNij%f!%w*TYc(;O^e7G^_6D dtY7A$_74UBph}(xvylJ*002ovPDHLkV1jiaj^zLV literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-110.png b/assets/pango/sprites/pa-110.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7a7f81626c2604a1da81dd5a78c80ed266c8ac GIT binary patch literal 310 zcmV-60m=S}P)Px#@JU2LR5*>LR9gPP^#6DV50;JM5q)Mq{8^{azGgyJzp(R-| zKLI=O&V-eSz4lO9^HIQwn2CuKIp9`Ft4fRFhqe~%LpSxgr3HD_Gap_~R5ucPdFVwT7%Adh*1{CF3UzX<$p z_$rEBsc+*ivAvD9h~*h@Tt*f+u>b%EnGF2oF01E!06G+%mW5Fx761SM07*qo IM6N<$f_^1}>i_@% literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-111.png b/assets/pango/sprites/pa-111.png new file mode 100644 index 0000000000000000000000000000000000000000..5ab490066b20588cb5f75511b147084bc4fc01bb GIT binary patch literal 322 zcmV-I0lof-P)Px#{7FPXR5*>Llu>d7AqYgfQ#q1nB4=98WX{z2n25UI?50AMAH%>CS`_%F@$^Fm zrC`tTM?hFtfaEiLz`|4RXw$VOuaL5W0ULlSdDutgqzN?LCPr-XEIq&4{a8V1kAAK7 z8^CAmG(>dX_D%<+4zd9NS*d?l1=)5$RG@w-&z7NP8Ria{T^fw!t(C&qJVD=Y;kgR; zeUOfzq5N0dt10e9umDH~Nqt`ishia2jHfw}U8^$s)L}qM4d@dVEqqS_*&OP>B8K;H zZNsXg{1e~+N`UIo0QOT_{c#skX(qs+SGREoG|s^|%*FHhpYiLv(CU}#9`GjQ2OJcb U@7{BR2mk;807*qoM6N<$f_vYOYXATM literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-112.png b/assets/pango/sprites/pa-112.png new file mode 100644 index 0000000000000000000000000000000000000000..e75ee5ea72298b5cc5c7ea591384e2d8d48e9023 GIT binary patch literal 318 zcmV-E0m1%>P)Px#_(?=TR5*>LR6!DhFbG^6e`MZ7-(=oI-$V~hA{dCBDJKo=vV>LO&!AOO89D)~ z$52*m3s<>G!BouGtJbT$lWZ%A8Q8`|a3@)T0bqB9O+K-L8qlf;n_1vp_UL}fb?_=q z=@v;&yHW9ENVd>bxYPx#|4BqaR5*>Llv}RDFbG6vtS-rGa@SPWS~dkm)Gk0q|xHh01Bt0DI)Dcg#WWE4VUqD9{-MEeu|S3W2FX*h=MVZr|De z4$%Q^*2txkJ(_Yg``R_Xh#sOkkL+Y$r-FSObwH0y&kl?cQ;Ebrk#Ml6I^*iS1?;kA znh9pWZ)IE;(F9ebG1aNGhGoBmSiC0i?Cxy;ntN`$U^vQ^;S7j$nT~lGumbG;?BD&a zPhu|BwY?em<9lFbmw-Fw3eqrD^9}RDU(eYFFtNMN*|Px#`AI}UR5*>DR6!2IAPjR*e>C2dKb1FSZ}JW+5FlmMEVUvuc1#)}_yH;y?Ms0G z_`d!jw)hEYhsA*x5$$>`t63?K@CcC;Q8p2OjID!6q`H}V(a2PgwD05BR}3RzWG!^u zRTjx0ZCTF+Q;SZEZ3XZR71DawB@3;$UUC6VJF}Edyoz-P!7*qG$pw-NX4Kp+@GeW0 zDnip`zd5;*#$R`n4Au20u2L*AlcqR%g5+slRpa$bfzw6@GpOJ|s#VW%9ufkyzu|ka zYhp;=;cOEsf8Pgnkd7xwJMnav@Ps@F4CHAfmN>jnjANGX&*obS6Mn(ve*jn-r-3&L RefIzW002ovPDHLkV1j-te|G=? literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-en-000.png b/assets/pango/sprites/pa-en-000.png new file mode 100644 index 0000000000000000000000000000000000000000..9e2dc8fe5ae0fb585ad67867672372a93a21ea55 GIT binary patch literal 1077 zcmds#-)qis6vxkFlX*0)?ZR4=3wA?Er=+we*7LNj*3;UCtkjTGF4P!tLs?1EiiSE@ zF1T>B=R)E_nv1#7Nh`II8|7kLkPC4k9WS3h!>6`ypU*kxecnHwn`6zP&T3y(L^?-? z>*IX8`0MRxGq zHwlw0-Rfd4?h-CphBd@OJS0N0U}=h_cuJ&XfmQ*DQF$d>7}K;<=Yiv9VU|T9i@Cd7 zxMdLx56T`EVOjJ;i*8Sgv@CYu7WUu=2A~*;XhH<6p$RXDuo-Bu0b`nW>O645J&Tnn zWHI*$&*ChC;XyglvlvY*|z<8X-TD-&#STc+s7=U6VLK-YsLla&QVKdNR z1I9G%)Oq0WyX&8r`poD3h4JPD4gcpk^7HaTM9z-X4^8&oyMDW}`PKH0wm(OgR`S<@ zU9ZpX-g|6kU$bjwapA{?_SM#tEsrm@*G6~T-&PquDZjg}y{L9ie|&m(&(fp8p8e|| zbkzHozxQ;{RaS>jw4H7YOigWk^YY5!=hK&3-_E}~{_NnsPiyl76Saj?i<|DOoV)S$ R%-RRm%SfYHZw*e*{RLAfVtW7p literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-en-001.png b/assets/pango/sprites/pa-en-001.png new file mode 100644 index 0000000000000000000000000000000000000000..a3775116fa6172a9b15e6fa28f79ccdecf03b2ff GIT binary patch literal 1081 zcmds#%}do$5QayukcfsWyNE%w2waa?i;9waF*8KeER-OGhH52b)T)IPWFHWv!9dcY zO|+1R3W_3w7KVeZleT^BT8UCHJ)J+J1N!5fnR(~^xO2lp{cSCsEh5r3aHKZEx1GOg zbA|sOuG~Jzr{Tg#f1fO^b^R1+yg7Vqtj?o~n23vnNS3>*n2M`}N|v&kn2DQ&NtSMP zF&B3Umn_2?Vj&(9Az83A#Zo*aQnEm+fW#=h6uJF7rs}Gpnq@I}Gj-E2&BBASxw>n( zW}!v5g?ea&W?{*&rFv?lW+9CTSVI$D5MeW`zy^$I+NtxvakDVXqL9Vh-7Va*2!;n` z4~wuY`k_U)r$t&8J8%no@B;%-j6^gc0@l!k7ev?$G}wSKO*?fSIN_efN))n~dxU3k z7QyhK9O+q%CKhtQc$~&syu>`*!XEs<02Ct;(qO?Fn(%@Mn}G%!Fs5mz&I2b)W>|?r z7IV)MA^8(H2@@$95*jHH3prpsPGc=zVh1c4#t#fYF%lsS7ObHOFNm-iXs`iens(|u zaQNNr8J+mS=kv_S&?pW6=NaF){0Nbk25N`LstecdG;Ckq)m+&+@oqVPFTOaldUER7 z`JM;$_fPI^Zo9s5^wW;%nWpvH%Etc2nY|sut-ZhA%vPJ`?|%7=-qj&mG-V7MAyZ7uhgVKQlJOql%b_i-bs)yQ-LqtAt9HvYMEQn}kW0 zZgnvicL|p)!x~~C9ugs0ur$R|JS9@HK&ybnD7_T9{X3@Ws-c=?F?Ta{(=g4#gR;50 zYq(~iMYn}|XoO~A$*`q*YNTc%jR;sn6J8KuGpoP`jA`1b^T2VlFw3Hl#oXO3+_DIU z2W1b7uq^taMYpF#S{6HS3w!Vb15k`aG$8`k(1aI6*bFq-fH6%wbsjk3p2bQOvY2~> zXK@z6@Sq&&S&SwYa=>_;##+3@Jlw(_{J;PdBN5VI!5W(If(V;|1{*M@X{XKuCrf5n zi9!~0&k`Z|6F3PIDH#$PDG>`fU_4G^EnZ>=EE&cR3_vjwAq^I+p$RXDuo-Bu0b`nW z>O64x-5nggu+C@oR--mb!~c2C{l5DWk+(-GC&zl8zMB28z1i13xH{AQ?*7LkTRyG) z+1Y<~-`vE~?C{m&ZToNRXgu1}wYK%dmuu6TPrqK&H_yI3@9G_IwW>ev$YkIA(Yf}A z^@~4yS8V;#ME(4x_13RgZoZ%D^#18XR~DxZf37sEYvY%%9~gYwz3c0X$@yCAR22d; MGE}Q93`{)u3ti@BMF0Q* literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-en-003.png b/assets/pango/sprites/pa-en-003.png new file mode 100644 index 0000000000000000000000000000000000000000..3a8531bed94950b881e72bdfb749668b2e60795e GIT binary patch literal 1077 zcmds#zf0F)5Xa9P3dvGJ5_5il;`PmR+_PATLKbt6 z@GQpT1X z=l!*>OP#Y1-fq3PI@8zGdF{&h)UL_8$<7!1_V0dkW^R4u^s|wb->ZK0t=&O4z^(VK)!%OXtI$qzrvpB!;Q1#REwb>uFr^DNuw~d@Tb?ew+ O)=Ragzk8u_V(KrWZEEWP literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-en-004.png b/assets/pango/sprites/pa-en-004.png new file mode 100644 index 0000000000000000000000000000000000000000..8106e846285606c62928ca3deb886c7ed1d00d5c GIT binary patch literal 1073 zcmds#%}do$5Qe8T5aW^%ftUrl&>#?Dprxo?F(XXwl@_gpU~pGafo6*3s-y@hXm&*? zv`DCB6fLqAF}SFpY|$4KwP@?2g6Zk}86D6c=giDI@5jA7Hac8sZfh2i%E+N=jc*Ho ztxXO5Uz@wy$7jo#+VG&PuDAaX*}6D(WPFH66)_PP36U&!RWTJ;36(5mH8B%636m_{ z>S8YL5-wSWHN-+ZBto)aX^N$IN~C0gRso4odMR@IcTCk)Lp94{?q=$yVVZ>pWpj1c zaLq!CZVUC$2+hKhVN3PYNXnXfblquwRnknxP?9VfdME+BBa5BH8kM`5jF!2HegKCPMrr%mdvmc zg)HWtB|`Eia1tg`G9)xoA{KJMc$~&syu=PzGK?P>fMO&<8Z1~t6J8KuGtgiI#x(8J zdEoH7>#86B&S&FnZM06q|9OsWPTfW1$&u>7cj*^e_cEA z=)=J5x0c@rUo^a4c|O(NcK%7%!{vAP`;XpUx$&p|dGCX{H#;VKrh9uD7f!QUMutYK JtAi7l{sLQPWSRf~ literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-en-005.png b/assets/pango/sprites/pa-en-005.png new file mode 100644 index 0000000000000000000000000000000000000000..59a33a43afa4478509d1ba2c143fadfcb9551204 GIT binary patch literal 1070 zcmds#OH0*Z5XQ#~WWs?60+AxlqM-EzL5nEyk|0Mpo{A(Q3ML8{ffWW;>ZU@XT13o3 zI^9;0-=L5Rl9)=uMHk%0=>yazYWnqlj9$<`?>jTkJePB0tTt5X?(G(l%J9MdI^RwF z^>lUc|Miud`}nj?)rb0I>HXI4BJB%fBaHzbRm4PGBt){@RmD_XB~-GM)x=EPBuuh& ztBbj~OSohi)({KvkO;|wr74!;DUp%|S_LFV>7~f+-!WBJ4b?1*xtpn*hG`Zal+D#$ z!!-*nx-Ha0BQy(3hAq`oBQ*) z6tb9mmI%q8z)6@$$&k=UiCD-1<8c~m@e(^=$uNFk0E&?aX|P}oO?W|s%|L?<7}K;< z=YhlTZs+(!i_hot_1ZWM|K~aUbNUe?Cx`nFGD1-fSKl7ajb8jPyJvO7uI1-%r~kZb4t{<4MW$BH9Bu5qw~f6rJW%Uj>N_$2 E7rU%w5C8xG literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-en-006.png b/assets/pango/sprites/pa-en-006.png new file mode 100644 index 0000000000000000000000000000000000000000..3ac23f5d4031bd901fd7931e522fb0c243d10aa7 GIT binary patch literal 1069 zcmds#%}dl_5XZ-aGQ+k4!K6cWNW!HK16^u`Y|R#8+jQyBC7~J!4+YyHiaK~63eCPYJ_gl@Wf&Srs5gBNlu21vb z#oth0FaO`)oge4Z)0v){knV?lKSj1YXq{o*JoHNFxH)(1aI6*vu-h0b`nW>O64VEX=YfWHEPl3%4wS z;X&EMA}ou3XwmIyk(R{{+`=CGzyK5@5lx7IH8kM`5jF!2HegKCPMrr%xM#5vg)HVC z;aQwTFgz$ndKROJg&Z&*r?D03FF8tv0>Be+(hKB$1od0$6IU?s8^%L!(rTK*&JJ)G4>x;GJE8Wq>yH!Nmh6ZaR z+&lSnRJZZ{eE!B!u9ov71AWqb-T6tRvNU{Zte-~}F%cIDku0&Qn2M`}N|v;mn2DQ& zNtSALF&B3Umn_X1Vj&(9Az83A#Zo*aQnEm+fJ7^`B#HhVQ+3r)%`%wSOx-k0v+y8o zuI?JHS!hvhp&lBcSy<9+sh%3CSx6%S*3g6(M3~GdumPi+a`HTI+$_wpC}c3PyMKrs>_4Hm4S2``8+8ECKp zqnmQ_JaG8kb&Za1a&63w)JG}!KhNpk7w;kR+)(ZKSjWnRn@er7w|Zi=egE90^`}3! z&mXwe*nCv2%-sDjeg9eSo#vat-a`wQZ_i#kI5^O?Ftt{hd2#kjqi3S~&+^yqj}NZ4 zukHEv_VB)*<&AgmpG+SEex6w5e=0K6 LU#~U$8dv@TnsH}D literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/pa-en-008.png b/assets/pango/sprites/pa-en-008.png new file mode 100644 index 0000000000000000000000000000000000000000..f6b2b2ad7b974339ee4908cea5f62290b65ff63f GIT binary patch literal 1062 zcmds#ziZQB5XP^mlu`-mpj2@YOQsIOfs+W0DK%JQO+y7i;vk1gHytd3wIYI+>f~^n z=pu?49Gw&tm!ni1v>-Gnif$s}rsv1^&+vuz%lqElbI*_5oM}x}M|O>fNVR#m(dN6A zztQ1A{=dAka*)r!h4xfkdaJv?iBy(nraO~7s)&iWNQh*)tBR?(N~mNhtBIMoNtk5m zRu^+|mvG54tRWWSArX=VOH(YxQz9h`vEsJ1y zQ1-A0%c37zbbDH)Ww8Udum?Xd0L4f|6Cz*@O?W|s%|L?<7}K;<=YbRMS*%1Mi@8U5 z7H1I*56Y3A#b{z72aLyQti?;r!!7K=4-7yt5+My1tf2`nh_D%GumNM5cIrHEvSfyp zC}c7BED@4Ffs-(ik|Cjy60wj2#^W^B;w5&#l41P702Ct;(qO?Fn(%@Mn}G%!Fs5mz z&I5(T>6o@q8FI-_@A-CnB7p5ejucl|x`P$Ou6GOGfUn>2vO=Cwp```b(wQtAT v!p_ZC=eLb-^tJx|z{f*BUQCZaU3_$8%bPo$`Fq{&Ird3&veoF-Pha~BHN0PN literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/po-000.png b/assets/pango/sprites/po-000.png new file mode 100644 index 0000000000000000000000000000000000000000..83a43918638b81307306b0ff7d1c2c7783e69968 GIT binary patch literal 349 zcmV-j0iyniP)Px$7fD1xR5*>5R6(}HAP5V6y^(i)6Mr#e zX69rp6(2$XzMJuo%{!kgJnNBnRRlAGs>ZjfPT!k_3Pc1m+u{|ag8yJE;8LSw?-5rv z-WB}V%mbh81V5#W@)+Nck1>KO**%NwqvS=lJ&5sL<{+ZiZXGyqG_S$>Tj+aP)JufiFB*NL(`Yu`Cx00000NkvXXu0mjf;Q5sz literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/po-001.png b/assets/pango/sprites/po-001.png new file mode 100644 index 0000000000000000000000000000000000000000..be3c8da018f52d0994969c6b6babd64dcbb90814 GIT binary patch literal 359 zcmV-t0hs=YP)Px$AxT6*R5*>5RMD-(FbFeGw^4Q?Gr>;G#QW$$xrAJGNR>*8jh%!NO89^Sz#N=w zVv04$K=J;!eyrdwkKiGm1d&8XF@@^hc?AQwq~yXdh-r2W5+92qyB5?Yy&8Yu0$^s$ zMupm>RFEo$-36*(?)|IkzKOvYVE42M5rK%bWSa#5aCZ<Px#)k#D_R5*>TRKX3zAPjS=Zp2P7Q?e5?TXA8go(BOdP+#45i-%k*UBa_#DCOyU~I)8J*mG}dHQ|7Z` zo;GS&+VOWPg_KzVfJzy}oDxc{gMsHi9-}pxrTh65lv!H>;N~W_6e2S0+i!DfU|(md hpjO-0xZ&@M^Z`w#Znr`9yE^~?002ovPDHLkV1n}zc8~x7 literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/po-003.png b/assets/pango/sprites/po-003.png new file mode 100644 index 0000000000000000000000000000000000000000..c6f90fff98ac4933313469b7199a32e145568b14 GIT binary patch literal 300 zcmV+{0n`48P)Px#=1D|BR5*>LR6!EMAP8JK{gHoyH{qXr6FnptVkEKc&N$HwyR4uR0<6HW0BRtg zzg7r$=mN~#vs2qfwvMr>11ks7O77sDk>huqM^Ie2HEneoEQJ98wbss~F(?z6k%5~U zIANTRnATv0_~>92ml^=)K1YoEPX%@ub1z&PJ8k0%+)Wqwh8#uyEuzIO*zV*ptH%OA zw2_(3RJV+(hk*awD-HnAGQUA2LZ%85p;H%3)c`jES~{!&Td`@29QPx#_en%SR5*>DRMD}+FbEUxx{-H+nP4Z+q<*xfjzi+y(@*Ri2oVtk6SO(!yTeey zn&$bhj3@%DcM%~6g6Jl9gcSq;*l>_;@Xw)jc#m6kr;4h|Q*?od5LM;vH+Vww+6B3L zp3Tm#JXRngNfr^=`j%j=Iwu3bZ40w}lH_bR*}gfnYSg_ zsVfPpl5AgU%X3FuDxZ;^2Jei`F(l!u=KVkUG4 z-C@1|s|AQznOxcUnyO|SUsVSypH66k4P*m%3+9q_U31dw*vI=|B^-DIPtkM(;Gct< P00000NkvXXu0mjf&P;}X literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/po-005.png b/assets/pango/sprites/po-005.png new file mode 100644 index 0000000000000000000000000000000000000000..81920aa4b6fb94c9d59077bc7d13a7b8cad188d2 GIT binary patch literal 343 zcmV-d0jU0oP)Px$5lKWrR5*>5RKc|aAqbq=myYZSYJ#4ui5wD*y14#7mtCGP1A-6>q*!#LR9N-Z z1+1Wm1OU8lrw3>eNI@65RtJOrj9Q>Ywq)*30zeFmT?zL2*_6?UxgNCIPH=aMNZd;J zFOHXJX8m7Pr!#lwpEDrY$=tn{ek90LNBgmaG5v^W-}o|ts`nCBg&n9$AZcSmYv-6n z4<>uuk>HeFN{|J&Oh$D8xWX*L>~Z>*GA7@vT}B4?`x{tEK96b0;7izT5t*`3Rahx` z7a9?V;R!Qntyy*imO-K_MI>UJ|0H;d=}HB$TOLhq>`vPe(P)Px#_(?=TR5*>DRM8cKFbF*Qx)D3UOt4dCq90X^Bx>6GiHUFrc#%*bBGK=yc@0S@ z3*N(N;~}V$C`&%SYQ8t6OUWARP8l4GQ|SsjHr%GIC<~@)bq;qJTKEO-PU8?KFgw~& z)&DCXq9k*7S|+HfdoqBD4+{G7BVu1;W13gcE8Kxp>9K`cekRk`Lxa+j2aFk{hg&Jk zqCWt>jueq|;x-E+LYO5`ShZ3ZiZAHk7#mW{N` QzW@LL07*qoM6N<$g7c_@^#A|> literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/po-007.png b/assets/pango/sprites/po-007.png new file mode 100644 index 0000000000000000000000000000000000000000..a9054c7e42f897096e6944734193376902ca9444 GIT binary patch literal 361 zcmV-v0ha!WP)Px$BS}O-R5*=|RM8d0AP5V6w~;%+Ot2F(aUZRoBJDLl^g%IQ1^{V%OR$jTKr{q7z>Ql8~W{3vh!G}vJee#Bx zftevymbbC&MlLOw88I_db<0&%pgGWd^uG~gCHPx$7)eAyR5*=|RMD}-AP8JC*O5J8P0*7y@jeV5DxPm=k`aX!781e>W;RtNW;WlG zrZ|Bb2ta>DSb^2T!_G)5WUQaNA<|hWb2C51xTWG(%eQiPAHTYK+ z092KLL<0a2kka1A{NoP zI$nV%k-ZDkrr&xiK~*WX(Ru~vNmSMCd=Q-a?;Y?AGLivi9(6Lat%&FDlkp74jKG8a znMOHdTuYErK=0Z_x&~IdfVWTi)qs3vs8*T?9JTOptgWRazJ7r3?#cZ!PWCW4q5AKHP=-tR_H2?qr07*qoM6N<$f?FewQvd(} literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/po-009.png b/assets/pango/sprites/po-009.png new file mode 100644 index 0000000000000000000000000000000000000000..ea7e5c247c6169e237ba643f676ec16b9919806e GIT binary patch literal 279 zcmV+y0qFjTP)Px#(Md!>R5*>@lu-`DAPhqd>W#QldZutE&Xj$uVWD*?llC=Bl?t*S76JeOrfQ~Y zSk&M@ehh$_s#(GOJNc7C0l>;ygVa918vuyNd)Vp{!2PvWY!iBK#O7QV01GmZD<4&S zFNPJYT*ofYkg-+P$d)&bBb d8^0sW`vOi-i@)}@8}9%B002ovPDHLkV1j1Ba)|%{ literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/po-010.png b/assets/pango/sprites/po-010.png new file mode 100644 index 0000000000000000000000000000000000000000..8dd9d1ca1b82e814a1db58e421e3e9977d0c149c GIT binary patch literal 295 zcmV+?0oeYDP)Px#;Ymb6R5*>bRND>2APjS=Zj_y1CbCmz;y!3-pgLuO<=04d1Y z+Y`bHLjltA&0>!o073}Gx(Y~v%qJ0OWXT(<}tVpA=x|(JysVrxV8~_yi zjer-qgOP!MZQ~ozsB>0|w>}j3vIdu3c#38h-jcn@Wf4W@=U_BuC71)cb8}d)`I`&S zwP$GZx17=$x%QOZ<=7s7A7x t?eBA`@96J)U!H$2NI@3?Kj`CG&JXE3fKN-Q0wDkZ002ovPDHLkV1nz(cJcrK literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/po-011.png b/assets/pango/sprites/po-011.png new file mode 100644 index 0000000000000000000000000000000000000000..b79b1184daa861bbac1d6d2c60ebb2be5e66bab5 GIT binary patch literal 358 zcmV-s0h#`ZP)Px$AW1|)R5*=|RKXF%AP8J;t|NPbnxH3Z;vNP?qnGTAGcmfbiwfZYFK_^m!nZZ8 z*1x}}02yY3z|4@sJqSH12vBY0RY_OCMF*i&Ajy=%;4-U;V4q#KAf2pu8Flzx@(7Tj zq86Z3Pz`mB99bn>TeIA(U?#6P7Ll1JTdLZ!i}bmOygSAWGlRQ>hyZ{-Z;6q4MOWb3 zypzbyR>%hccaQx**u2OwI+)p+*#nI~gYxEo7P1NepsNUvMO0P5>{tW1s^<~EyYyr) zTiGg(06Q{9eS+-F?2`o&Ay;*&^%nfPiN4IoP0SA}9@3_86ZtW~3Hfc@P9c-c>~zc& zPy2X`S`Av@Pip2OR#0>z-87k174WhrwuZCEap7%{A1sUDU_>eUB>(^b07*qoM6N<$ Ef}OFLX#fBK literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/po-012.png b/assets/pango/sprites/po-012.png new file mode 100644 index 0000000000000000000000000000000000000000..777b9486dd5a607e893997af0be52cb87e132699 GIT binary patch literal 338 zcmV-Y0j>UtP)Px$3`s;mR5*=|RND>2FbFfJ+bBE1Ot4dC;yxN$^6XivTBWfufk0Tm3w*VnA%y_| zloz?^O;pH{Y-RvJTLF{`t+tIE_-w<}GHuRi4xSVuZ-G9$HZB5GhZI5!0Jtbn>d65C zz<2eNnE~v{8I!<8?xFgmCDK=Ce~1eZQ787dz!)|12ZlxpF!R$;L&QO8?I1@ufkfyv zh0*>^rmF>xk#Z^{!sR63s!k$ZId^3=GlHwS>vf6R`+k_&JGB4I?BVW1B9zE`n1NdK zxJW?jgAgGR@@99{k*hQ4s*qBd2vTcapBpKUvC|yL(I*H0kVm{Wl9|zIs4V9}CdYRc k$#UHpP+fQCYRt#pAF=0=7#2ZT+5i9m07*qoM6N<$f}d%QUjP6A literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/po-013.png b/assets/pango/sprites/po-013.png new file mode 100644 index 0000000000000000000000000000000000000000..50a17a28c854d87b7503a5602d1219a4a4d82ee1 GIT binary patch literal 353 zcmV-n0iOPeP)Px$8%ab#R5*>5RN<|LFbF)18?h741Uq#m-j7N}TK#;Nn3R@-D@A|;XLx)f;v(We zUpvFAKUH$94;BD`nL$LL%`Q^Acw3EFAtJYc6}zxHxWUY*9-3Jwn*xZ4qcKQWyKHVZ znQs`u8e?A`d_iLXXA!fC|B$U6w8bKyt149W(axN$ZUl&EBCUKMpV8e%cB1Kl1~ve2 zRd?-mn6jGPg3Xya(E+%tx_9qxFL1VY@Ia^YfQVcT5As(;l2M(I zmJxT(nJXS&q4vRp3fi;rq@P)Px#_(?=TR5*>LR6!C0AqWed{>VS!o8V9Tru5L!MReWmG$$P-guo~WU;*(EazFs! z^)%s<=vM``=$b%_eUr-pJA9k$?mc%VxFE@uyMiXW!p6u(32>S?c#u`>;O+td?_4#) z%pf8liCQb%y`LNY9^)+m$*yKNTWB|4RF$gAJFFBC0IU=M82Zc*k#2rFbViz?9_tA- z=OZQ$WK&sHr&X60aQCUY*|}V?rKqG6WagN>Bbi!Q^|>RR9yc|s#{iHA@Y5!y(Q+b) zUR><~ld|(aSQxoN_UN(&cNZ&VX)4Xw*1reyf7m_@nh`#>6JxSUj*sr*AJ%`efr07f QoB#j-07*qoM6N<$g1A+NT>t<8 literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/px-000.png b/assets/pango/sprites/px-000.png new file mode 100644 index 0000000000000000000000000000000000000000..5eded032a41093f28e57e9be7b93ff90b36f7618 GIT binary patch literal 287 zcmV+)0pR|LP)Px#*-1n}R5*>Tl*2p0m8_Dv81 zF?oX2>&=TC3^!{lC7_GNW!+js zw$zC{gaUn3AyU9<#4Wt{x#IO)+rn2J+;-vI10YNxvD1)85ChPx#+DSw~R5*>LRNDcAAPl^?lJ3-*x)aWHeiZRYg4i~H;61_-1pX}31wr;7&F=OA zU{Qd<%tW*9Q;0z{cPL$Bm*CdHs-d`@L=W`B+}Jt^R=%4cBIgeRGjb-fq=+uMWG$5o z0H1g&(JT-3R^VyH4Bq=a;MWeOT{!nt007ARIxR`F&!7@*kGeXY+Ql`>&UGeI zuh+f`(LXYhYyx_|%w3&zDkHLthE_CIHq-PP!~b9dh)IZEM8HEbFqlLSYWu~)5y!8w m*cn#+4ULcwiX>6MEZ_t54QsZo4BJWo0000Px#=}AOER5*>LR9g;%FbuQNZZs~-oywWKkG3>TQZ}(jNDyM@Q8$D!L9*Wj>3!Wl z-lItfm<|jWW|=+chLDzR%A5ha&sMV8{{+FpB^V{PG4*3x@g(-!4$)Td$d&}A*JlLQ z?oT3S_G0q0h&uR2vI4IwSjmc!WST+G%rh3&eX&IkE(5H$CNKbKpSAE>6dQmm8!ara zQ(`7|0|2S@^$SUh>6pKzJcig9$-0H?Fo8Neg0yjf86xRKve)~7z;01Iis1GH4eY~oYG+6)u002ovPDHLkV1g@O BezyPs literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/px-003.png b/assets/pango/sprites/px-003.png new file mode 100644 index 0000000000000000000000000000000000000000..d4fdb71cd850b4c8bf369f77307183387775c580 GIT binary patch literal 292 zcmV+<0o(qGP)Px#-bqA3R5*>DRKXF$APkdw-6-tTnYt61NqsaBfq}H~C&8R#$ruO=LGm?0_PLTj z|6@o9m;wwKjw<({1tFcSsXPLfoGW?wK0z>Z3Pz4L8b5BOC-Jp6(G}c^DS>&tN8qtO ziCDQGroI<(4z5UM;JJd?STPa}d%!&k8|4B)GY1Cf!R@>ZHkjAPr*wL(3YOlxU?v~{ zatrFdD+Svz(j=e1)iiL@{6UdaZcFS#s^fjpAV^0uB}jVb?>a-ZfW=?8kvoChb}0}P q>Gd|gwl!(Uc!dPwcvTwo*BXZa0000Px#-AP12R5*>5RND>2APlpsZgk!0X6jCKCf`S2AsBj%gaigVCPWY^1SzfwGUF$< z&wWVHc^Gk?IdfD$4qOBPK)G=Mz*1+b)QtUFEZGNu$&m?yr6v0$hU|zv7xRO6002ovPDHLkV1j_CckBQF literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/px-005.png b/assets/pango/sprites/px-005.png new file mode 100644 index 0000000000000000000000000000000000000000..8c8fde498f4208125d8d916256716297c2533130 GIT binary patch literal 316 zcmV-C0mJ@@P)Px#_DMuRR5*>5RKXF$APkdoY*cpYOxcOdq&^zJ7(-g$aR)Y%g)tD$1j()m()+9L zJC99*>Soxv$0W;sZ)gAjKPx#>PbXFR5*>5l-(JFFbGA@?dL{1Q#(_4iZjuNHU=VzmL~-cT=FLpGtB(Ika~ah zDJxLx7*><<-=16guD^r>0H8EK0Gn5LEk71>@&O(rSO}Ffe9jxd8JMY9lE4|ZkPs}4 zAf#DmNnnFD@Xkc<{ZPLPy!RY@Z3+r*Dfv%aJBhuD+I?CejMA;Eq;UZ=vp%BIer&Z+ zPx$4@pEpR5*==RNJk^APlpsv(aUz&eWagOuiow2;osnl?uUmIY2lF5<&X4x0}uO z3GzaK86$b;baK$n1rS_1W!w-X=4rdzlfXjTA3}x%Ek9(0zAW=!*FO?VL)T3ddKcur zLL7qZng~`k$uUVmgOlGePoWnXinS7E6`s7W|NiTaD|=f)i*zUOPGeT?e{#S(t@X9& z@w{KS8HeU!M6*?uNp}~#_JT(F>Q^U}hL(Yv%ii5MaRXA%{Ay&NH|RtT_D>a7Q0o3K zx=|y^ujrnPx#`$YWLZ3jNfRU+6J!(< zP6l8Ia_dIO2rz4e#|;Vui6Bq{Rr{kH016~%`1<(}8v!$tw1nyx0p}g9J543XC98rY zpsOE~n3-6gSkh*{6pXtdU8a1#Imvq)2o?thfY;^|zxS!I)Pt(*C~5Zd-vUiV?|c~j zCt9OL5MYVjZ^m-l=$s9}9aB{~MwYaI6TA6kXQCiIzc4L9f$lO}V{ehaw)Z9W;I8$%w4c}?FU_+w T{q03^00000NkvXXu0mjf^P+@& literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/px-009.png b/assets/pango/sprites/px-009.png new file mode 100644 index 0000000000000000000000000000000000000000..c2307dba1dd0a2479aaf0f2911f4342426c153f5 GIT binary patch literal 303 zcmV+~0nq-5P)Px#=}AOER5*=|R9muzFbGSWv!m<&S5ViK`(ag{R(?9A2?Xc>0MImiG>c~>lH`i) z@Xisa1Su5CjAtWBOSG3r4#4NQfCM4Px#-$_J4R5*>LQ&ASfAP7tPb|ZVIo@sZoXJQ`}hah#Y<4+(VLrQ*C literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/px-011.png b/assets/pango/sprites/px-011.png new file mode 100644 index 0000000000000000000000000000000000000000..5c18daf2c002e5d4a0314e74c3ab564b44694260 GIT binary patch literal 317 zcmV-D0mA-?P)Px#_en%SR5*>Llj{w`FbIV2qHbjGl$pAdJJa)E|YkOx5X&MrWd@yt@@Jjy~#GFM=kg<`+a6Q~A<3-J`-SFt~I@mNog;kc0I zo4{sg>&qC8ARvGw2y%NWTs6G5QHD%%ZteRMi}!2BJP6x P00000NkvXXu0mjfk*$NG literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/px-012.png b/assets/pango/sprites/px-012.png new file mode 100644 index 0000000000000000000000000000000000000000..ff16dba3b5ef21e1155ac6c10dfdc8da9f416cde GIT binary patch literal 327 zcmV-N0l5B&P)Px$0ZBwbR5*>5l+lrdKnO%%Z*4}J)5UZblg8Bdq3poujI~r*Is#2YqcAXIk9^rQ zbKZdnsh$VH5jc83WH6$x?F?O+1N0z~=(XYYEH24$vEh6!zFFc^at3(M`cCNcrXQ=H z2E@JM89NVV&?AztjnrZvRp58O?MgqZ0A9D=FKo8Tc1*8h5!Gh^Eg6amxqmoiteI#3 zDNK7i^aC$5C=#7dpKk#0;<^((KyR1in?kRkWo-W1urlpwk;eEy6@u+PI9O=c=d*5Q zwxc^Qey*PW2}K1j20=)eX8`S=pj7uFW1k?7{U2@2T!lk#Y1biNT*(T9e#?q4&t=0g Zhkqu-)Ey&vXKVlf002ovPDHLkV1n*jikbib literal 0 HcmV?d00001 diff --git a/assets/pango/sprites/px-013.png b/assets/pango/sprites/px-013.png new file mode 100644 index 0000000000000000000000000000000000000000..768fb507a3abde86d3cf7cd9b8e9b0d3290f12e6 GIT binary patch literal 331 zcmV-R0kr;!P)Px$1xZ9fR5*>5RNE26AP8JC*HP@rnyx2P)7}Tc0BVxknM?#>d58iD1exWm^Z3k^ z1St>@9Q3vpi0FUZ2#zMt2nC`nIfAsH*1f_`Xo2Twpw;a^)2|&}7OM{p1HrU}Cs+dk zU|Xbt5G%_La{@s7`y!t};8UYjLxjWfHY%$zz0yNxTg1cHsc8rO+xfz)!Fy4emr z$Ps3Hc3LDEO6Z5WD#BB1Z(P&z3}h0?qKq?rcNc(gAG*P4IT_c0f^=K|aR$JnT|(U* z!3*a=QumkvL9S{Ka3$!2(m?JUyPU|Zf#!Iv&(u9ho_EX839u1RLtlScKUaS2Px#?ny*JR5*>5R9g%`%G@(JXOebGB-d2olbkK=O=He~ z8Y}f}uho}#-i=*-pcVGr1AR73lW8;zY`)49b+MZ2F7P)c?59S$(2Do~00006G?Wc0*F)$pG!s>%RsUjPaSAw{$U?0yJlo`bi8@6H}l)s{0L zgwS1Of41Xa+Gqvl9BgMUS>)~Xtbx5~J64K8HRRmewjy)S9)aej7w z%%e#zg_KftY$i8_DNWUBbGa*A>8h@_kcT3aq3UK!c`8zws>ZUCm!g!VYG@Nkv{Flw z=2Y4)-x%d%?Hh=4UT;RO*UGYV|L z=%$=J51epM_iBX&HJ@|nEC`KZh5CLmw!V4ly z1{!R@=%$=J51fpswi1O5CeDm%XAuk!(pgb$G;3iG7?0Cfih($ literal 0 HcmV?d00001 diff --git a/assets/pango/tiles/pa-tile-001.png b/assets/pango/tiles/pa-tile-001.png new file mode 100644 index 0000000000000000000000000000000000000000..e16af24ce1063e0f0a570ea71cb0b3ace00dbb21 GIT binary patch literal 1005 zcmds#y=s(E5QblWimJMYha9u`OA(fyI6@%+Vf$#-Y-w{?sE2T!(Fd~Up7 z9v$l9>fs;h=9l5+@r*~4TnZ_r>bsfT6s9y)m(As_aHXrd+d>|SP=>09E#;|5WvUv> zN?wXmma3smATdfWMQ)qpW?`0Q)r+~iTeziLH4n-j7GW7yO^a?%i?mFuX34OZMOl_r zlSTxrp$RXDu$fh01I9G%)Op~9d%9OEWHI*$&+ux&@Sq&&nO?0QT69NwmRH+>TiAmi z7=U6Vq6rbOh9_;##+3@ zJlw(_{J;PdBN5VI!5W(If(V;|1{*M@X{XKur#dsNL?Mg0S4T+x1Wv+4N`{0+O2k4A z7?0CfiQL=5+7V%%e#zg_KhD-Arx@Q<|#F=5klK(pBAUArD0;L)F8U@>HZURgGmO zFGVR!)zBu87^RmYx7Bg8FiW%Q#oXO3+|sR@2W1b7uneoFMYpF#TBcRAWZ281EX%4% zBLddYgcn5E%qp+}W14pAJaEE2-K!O{n0th0c(q`7P>%FWuhtJOx}!YHtL?xo?7i$%6ki+KTEc1adwS$0E;Q~_Z+D=n-P*=o7Jy|uR`X?t-nTk{>={0(pOfAaMHhR?0H z>;0+De?R&w4Zf^i9nN_)$)%7|s=k}aO<_t?b=h3*3Rk+SyDj9Q2xX{x*ixQ~RHmx2 ztmLIAWvLq41QMh4Qsj1X+$_w}ta>qbcMG?4tL8!3!y+uhs%g>fX_1y`)hrqIvM9^4 zYSM^+H8kM`5jL|5Y`~bNojMPka8LJYg)HVC;Tc{n7#@@(J=3f8LyPVx&+=+Ja0`3z z0|QWuL^L4+*3g6(MA!^8*nlxjJ9Qp78BuK|3R%oOGpe0MFgz${MYYkyLJk;@(^!j_ zn1@@~gC7`xVkANuELcMmUJzk3&|m|`H0{)R;8bUZl_+E}_v#4ApTJ3&NXd}UNQqd; z0poERYw;30V979kU;v7d2x+ij4NZ7Kgv~&M4H(n3Q|E!h@9xRw_z$0}ckAVbhX3;% zUBCa1$mfgM%fsETuTOTzFYXOjccz~-AO09jK7SibPRAD?pIu&PXZmpXbELD!ccou% UMmrzI4=x$iV!oW6Pft$&0jsY(9RL6T literal 0 HcmV?d00001 diff --git a/assets/pango/tiles/pa-tile-004.png b/assets/pango/tiles/pa-tile-004.png new file mode 100644 index 0000000000000000000000000000000000000000..dbe2cc0fffce656e278b599a706bd79234a101ff GIT binary patch literal 984 zcmds#y-M6s5XFz$h#=Z1B9bN`Ha5-^L{`=XS!7pIXd{U80!d+=q!DY2DaA?)>%2g^ zLDD9jmF5M~jz8xyyr6&XotZP|V=oWK!^MU51xbse{lSFq^4s719RIhrm!^DXzD$O@ zdU)LUC(T|R9vtoQXp&1IrBr=4lbgbnrs}e}+!d~LRd-v+LlMeQ^{}Np6{$>BV_C^d zQOZ&^v7~f+?YLQ(rCIf2?(Py|+tVT~)2dlA>}64wW!0n+ z0c&W&3nFZ071)3=O*?fSIN_e|)e2e6J;F1*S};5)M|!4L>xUNIQJ&@1cHkEF;0Fev z7>Q^?1gxP6FNm-iXs`iens(|ua5AFWN))n~duCKSi(q(A&WdWIiG>_69;dMuFEJ0d zum?Xd0L4gzG+3~PCcGfRW}v|ajA`1b^T4Uj3@cH{V(!%ul0SiyFp-iWp^*}?kORi! zG}huJcEFNh{J;PdBN5VI!5W(If(V;|1{*M@X{XKuhu_`i^!SC(pRbegl!o_tKL5YC uMda#e@absn`t0Y2zrUC7SMGml?&FE{biQ+Q_v86H9UAS82M@ca-(CTC&^X@! literal 0 HcmV?d00001 diff --git a/assets/pango/tiles/pa-tile-005.png b/assets/pango/tiles/pa-tile-005.png new file mode 100644 index 0000000000000000000000000000000000000000..20e4f663523cd80b3e58bf76e6808d687e2d665b GIT binary patch literal 1011 zcmds$KZ_Gk5X2`ZNC+MVIYC6wN^C4-YYWeWTtGrdf`XO*SZ%Ddu+&(IwZ(RV{o$t& zi$%1!!rnqVD@)hk?Z@yz^4Pb#voo{Fo8@A*J32p-v^zhTthmR=pWz9UE`^j*b!;X#g(*$dX>++NTDBt7MRk;Cd9@w5g+2Iz z0VqZynh*hNXu=C3Oa>Zk!04u&JP(|VsJ0S?3?|NuYG)A)57JptZ8U3P4;YWrSc{jK zhg;Z#9~gjQBtjZ2SVI$D5MeUVU;{=s<>YzbRPPKcQOIE8>J_qo7S4uQDLZ6oY>Bn7 z2aLyQti?<0fF;fNfdME+BBa5BH8kM`5heo-Hehs9PM!x2zq`xpyFa678n=;*=A!T93z{ov-Mz0b36+fR?b?rfKjUM)YKIk`D| a>NS7lAHTUL{CH<;KIYLRmqJRZ`fesSg(*$dWplYJTc!mME!@(rng?YMi?9rMOvm+vt-!I zqAbg*Nh1Q*(1aI6*vu-h0b`nW>O645J>9DnvY2~>XLz+>cuU-^96n{Ll& z_&?9B-w$3Q^6F%?Hb49H?fW+aT^ug2ec!+EcYp8alk0~|N7ruej&HtRES{ZtzVl+` j?x`D_i(kWcuYUabtgVm3)Ax?P%t6p(ygfQt-+lNG0d7dU literal 0 HcmV?d00001 diff --git a/assets/pango/tiles/pa-tile-007.png b/assets/pango/tiles/pa-tile-007.png new file mode 100644 index 0000000000000000000000000000000000000000..3a5038eb186cd12b734c1ee242001c08ca1cb2fd GIT binary patch literal 992 zcmds$F-ja@5QSe9LLAe$9kkY(95DXfIRTtEw}6oL>5*jY>yi0Q3U zdVoQ+^agr?w3Bb=82+&PGylxIdGF2c++NTlZdN8rOg;SCzyK5@5z=768k+Ee2$O*Z8!);lC(i?i-`&pa=$Y&3bUL0<@H)@e ze`kLXxjhj%e^ym=6vkS;b5UNeSKO|r~jZg;(PJrZ|V&H zZ{5By=5uOwv@oZgpWQ#w=~u&tlX)IZaw(*gs@=`xrZA3!3ZW`<`5Bkoa@As6|QtuS6j$K5z0_? zv!y&0sZ3R4S;o9yM40!4C{TF%lsS7ObHOFNiQ1Xs`jJn{x6zaH@BPl_+E|arFw>KMQBW ztdt$HG`7TA*aODnG}huJcEFNm{J;PdBN5VI!5W(If(Vm=1{*NCDJRbZhu__y@ulxv zU$2iA#}xdZ=fcK~r-(c`9Lz57een9;%k4V4MAo_#WzeanAN8qO~c*5@wY`UlfhOmP4J literal 0 HcmV?d00001 diff --git a/assets/pango/tiles/pa-tile-011.png b/assets/pango/tiles/pa-tile-011.png new file mode 100644 index 0000000000000000000000000000000000000000..b06a00e8695f2107ad02d6a8d62e4ee82cb763ce GIT binary patch literal 1022 zcmds#ziO0G5XDcvz!E}&+KE~$7LrC0rnOkZhGZdGmfa??cV^C8jRkArD0;L)C^Y z<*7(zsv4G+ycDG@Rf9Hx#3;QKxt$+33$rwdL(4sra zv%H!exP?9VfdME+BAO5ZYiPm?B5Vd4Y`~bNojMPkjHqTM3R%oOGpad@V0ci@ifTp^ z3prpsPGc=zVjgZ`4}M?(ijfFuuwV^MctM2CK!Xh!)3j6Pfm1CrtVAJ;xmSyj{0W?d ziIfZpjg*Lm955cIu@*0}1C|Wq2L_-RiI4^h*3g6(MA!^8*nlxjJ9Qp7{O)ed?)~6% z{CGN^(eQts!@p17Bl6B@cz1sJ)&0fd_MqDsEMC4)|5CrsPJiuP?;Wq*+V5XI=)eBb q^&WJ+qi*nK@cHf8SAG99IeGVI<>QC>@8#^_2{;<<<{yivPfm!p2xSKDj@`3(3p9GjryA?2FCO`a=IwU(&+xZa3z8{^alUDgG~C zKR4ks_hh`js>7qp-=*Hm&5i9f9!+v7q?D@N&E%#qrKwukTXLvQi@Sq&&nO;plwCIlV zEU#tBdS@6LKbt+jB3sz7#@_fqMFgf zLJk;@(^!j_n1@@~gC7`xVkANuELcMmUJzk3&|m|`H0{)R;8e>DD^bW|?$shBe*!0A zA|*pYBPC)X2aLyQti?<0fF;BDfdME+BBa5BH8kM`5jF!2HegKCPMrr1zq_T${cn7} z?ulcF}$$*=iZq)b3XE9V>apcPV^-8r#D7(zDE!K*1G&Z ze{rzj)44yNtZVP<$$jb2(~X6jDmn?q+gRn9@|OY%X_&D_zyPE##pHWvJS) zr92g>OjX0Ol9!^CrE1V7kQk+xBDaI%W?`0Q)fRJiw{T0hYCI@=ScGL*HCl9gTBK!K zHI@u}S(Ig2HPVQHH8kM`5jL|5Y`~bNojMPka8LJY3R%oO!ZW;@V0ciD^h~d&A6j%r zd6rkR1GlgTKQI8rNJJANU=2-pL4?gfgAEwdv{UDSlM&UdL?Mg0XGS$=5eyH?Sy9bs zVj%~N$7!s^OU%P9?7_4Hm4S2``AS8ECKpW14pAJaDRIhLtE}G52Z_l0Siy zFp-iWp^*}?kORi!G}huJcEFNh{J;PdBN5VI!5W(If(V;|1{*M@X{XKuhu__~#qHmG zes0fa3mX2fi6+X*!;b_SQEa{{wub BN@f56 literal 0 HcmV?d00001 diff --git a/assets/pango/tiles/pa-tile-014.png b/assets/pango/tiles/pa-tile-014.png new file mode 100644 index 0000000000000000000000000000000000000000..75362619c1f5b71dcfad4b268608564e9675eb25 GIT binary patch literal 1031 zcmds#y=v4^5XDan!6mXP*r-^DMM$&NG$IJP?2@d=5_W?{u&{9o!A31aw6TjyQUx-d zAhuiN305OwF=%aN8(+XGGX8QO!wbouduQg%`Pl7^@mhEJ^0K7vXnio@d;a9Fv&jF| z-nl8Cg{PCXzGmOA{FY9=-MG6s9erK?)Eg*+6Y3{@Mp zl&2zlZ+G6hR7H;WQjR$29i?9rYh94a2L_-RiD*Iutf2`nh_D%GumNM5cIrHEGNPK5C}c7B%&6upg5g0qE2paG*TiKa=>_;##+3@4p=gb9~gjQBtjZ2SVI$D5MeXWU<1Z9?bLbT@Vi@?ZXNOY z`D`+t((r$tdw-sPK;&>VxV?FC@9~dMU0v-g&S&#GJKw%sTe{GDxxTylX7AzGv+tj5 zpSgZx+PSoP`o;du`J-{%+By1oxbGeDl$H~Kf?>j%e^ym=6vk>%4F1CIKLpNJ6;}4`JOub>&)}N z*FQPqGxvBpTGGz<3%{fzuUBrb4tX@mrI1ppb~lro!jz_JWplYJT+P2;|B(y7>SSu3)awt7ev?$G}wSKO*?fSIQ;GwXKVX> zem$?voadTsT`}5k1t-Zf@btitleFont = titleFont; - renderer->titleFontAllocated = false; + renderer->titleFontOutline = titleFont; + renderer->titleFontOutlineAllocated = false; } // Save or allocate menu font diff --git a/main/modes/games/pango/paEntity.c b/main/modes/games/pango/paEntity.c new file mode 100644 index 000000000..a33ca8a9c --- /dev/null +++ b/main/modes/games/pango/paEntity.c @@ -0,0 +1,1547 @@ +//============================================================================== +// Includes +//============================================================================== + +#include +#include "paEntity.h" +#include "paEntityManager.h" +#include "paTilemap.h" +#include "paGameData.h" +#include "soundFuncs.h" +#include "hdw-btn.h" +#include "esp_random.h" +// #include "aabb_utils.h" +#include "trigonometry.h" +#include +#include "soundFuncs.h" + +//============================================================================== +// Constants +//============================================================================== +#define SUBPIXEL_RESOLUTION 4 +#define PA_TILE_SIZE_IN_POWERS_OF_2 4 +#define PA_TILE_SIZE 16 +#define PA_HALF_TILESIZE 8 +#define DESPAWN_THRESHOLD 64 + +#define SIGNOF(x) ((x > 0) - (x < 0)) +#define PA_TO_TILECOORDS(x) ((x) >> PA_TILE_SIZE_IN_POWERS_OF_2) +#define PA_GET_TAXICAB_DISTANCE(x1, y1, x2, y2) (abs(x1 - x2) + abs(y1 - y2)) +// #define TO_PIXEL_COORDS(x) ((x) >> SUBPIXEL_RESOLUTION) +// #define TO_SUBPIXEL_COORDS(x) ((x) << SUBPIXEL_RESOLUTION) + +//============================================================================== +// Functions +//============================================================================== +void pa_initializeEntity(paEntity_t* self, paEntityManager_t* entityManager, paTilemap_t* tilemap, + paGameData_t* gameData, paSoundManager_t* soundManager) +{ + self->active = false; + self->tilemap = tilemap; + self->gameData = gameData; + self->soundManager = soundManager; + self->homeTileX = 0; + self->homeTileY = 0; + self->gravity = false; + self->falling = false; + self->entityManager = entityManager; + self->fallOffTileHandler = &defaultFallOffTileHandler; + self->spriteFlipHorizontal = false; + self->spriteFlipVertical = false; + self->facingDirection = PA_DIRECTION_SOUTH; + self->stateTimer = -1; + self->tempStateTimer = -1; + self->baseSpeed = 0; + self->stateFlag = false; + + // Fields not explicitly initialized + // self->type = 0; + // self->updateFunction = NULL; + // self->x = 0; + // self->y = 0; + // self->xspeed = 0; + // self->yspeed = 0; + // self->xMaxSpeed = 0; + // self->yMaxSpeed = 0; + // self->xDamping = 0; + // self->yDamping = 0; + // self->gravityEnabled = false; + // self->spriteIndex = 0; + // self->animationTimer = 0; + // self->jumpPower = 0; + // self->visible = false; + // self->hp = 0; + // self->invincibilityFrames = 0; + // self->scoreValue = 0; + // self->collisionHandler = NULL; + // self->tileCollisionHandler = NULL; + // self->overlapTileHandler = NULL; +} + +void pa_updatePlayer(paEntity_t* self) +{ + switch (self->state) + { + case PA_PL_ST_NORMAL: + default: + { + if (self->gameData->btnState & PB_LEFT) + { + self->xspeed -= 4; + + if (self->xspeed < -16) + { + self->xspeed = -16; + } + } + else if (self->gameData->btnState & PB_RIGHT) + { + self->xspeed += 4; + + if (self->xspeed > 16) + { + self->xspeed = 16; + } + } + + if (self->gameData->btnState & PB_UP) + { + self->yspeed -= 4; + + if (self->yspeed < -16) + { + self->yspeed = -16; + } + } + else if (self->gameData->btnState & PB_DOWN) + { + self->yspeed += 4; + + if (self->yspeed > 16) + { + self->yspeed = 16; + } + } + + if (self->animationTimer > 0) + { + self->animationTimer--; + } + + if (((self->gameData->btnState & PB_START) && !(self->gameData->prevBtnState & PB_START))) + { + self->gameData->changeState = PA_ST_PAUSE; + } + + /* + if(self->xspeed){ + self->targetTileX = PA_TO_TILECOORDS(self->x >> SUBPIXEL_RESOLUTION) + SIGNOF(self->xspeed); + + if(!self->yspeed){ + self->targetTileY = PA_TO_TILECOORDS(self->y >> SUBPIXEL_RESOLUTION); + } + } + + if(self->yspeed){ + self->targetTileY = PA_TO_TILECOORDS(self->y >> SUBPIXEL_RESOLUTION) + SIGNOF(self->yspeed); + + if(!self->xspeed){ + self->targetTileX = PA_TO_TILECOORDS(self->x >> SUBPIXEL_RESOLUTION); + } + } + */ + + switch (self->facingDirection) + { + case PA_DIRECTION_WEST: + self->targetTileX = PA_TO_TILECOORDS(self->x >> SUBPIXEL_RESOLUTION) - 1; + self->targetTileY = PA_TO_TILECOORDS(self->y >> SUBPIXEL_RESOLUTION); + break; + case PA_DIRECTION_EAST: + self->targetTileX = PA_TO_TILECOORDS(self->x >> SUBPIXEL_RESOLUTION) + 1; + self->targetTileY = PA_TO_TILECOORDS(self->y >> SUBPIXEL_RESOLUTION); + break; + case PA_DIRECTION_NORTH: + self->targetTileX = PA_TO_TILECOORDS(self->x >> SUBPIXEL_RESOLUTION); + self->targetTileY = PA_TO_TILECOORDS(self->y >> SUBPIXEL_RESOLUTION) - 1; + break; + case PA_DIRECTION_SOUTH: + default: + self->targetTileX = PA_TO_TILECOORDS(self->x >> SUBPIXEL_RESOLUTION); + self->targetTileY = PA_TO_TILECOORDS(self->y >> SUBPIXEL_RESOLUTION) + 1; + break; + } + + if (self->gameData->btnState & PB_A && !(self->gameData->prevBtnState & PB_A)) + { + uint8_t t = pa_getTile(self->tilemap, self->targetTileX, self->targetTileY); + if (t == PA_TILE_BLOCK || t == PA_TILE_SPAWN_BLOCK_0 || t == PA_TILE_BONUS_BLOCK_0) + { + paEntity_t* newHitBlock = createHitBlock( + self->entityManager, (self->targetTileX << SUBPIXEL_RESOLUTION) + PA_HALF_TILESIZE, + (self->targetTileY << SUBPIXEL_RESOLUTION) + PA_HALF_TILESIZE); + + if (newHitBlock != NULL) + { + pa_setTile(self->tilemap, self->targetTileX, self->targetTileY, PA_TILE_EMPTY); + newHitBlock->jumpPower = t; + switch (self->facingDirection) + { + case PA_DIRECTION_WEST: + newHitBlock->xspeed = -64; + break; + case PA_DIRECTION_EAST: + newHitBlock->xspeed = 64; + break; + case PA_DIRECTION_NORTH: + newHitBlock->yspeed = -64; + break; + case PA_DIRECTION_SOUTH: + default: + newHitBlock->yspeed = 64; + break; + } + soundPlaySfx(&(self->soundManager->sndSquish), BZR_LEFT); + } + } + + self->state = PA_PL_ST_PUSHING; + self->stateTimer = 8; + + switch (self->facingDirection) + { + case PA_DIRECTION_WEST: + self->spriteIndex = PA_SP_PLAYER_PUSH_SIDE_1; + break; + case PA_DIRECTION_EAST: + self->spriteIndex = PA_SP_PLAYER_PUSH_SIDE_1; + break; + case PA_DIRECTION_NORTH: + self->spriteIndex = PA_SP_PLAYER_PUSH_NORTH_1; + break; + case PA_DIRECTION_SOUTH: + default: + self->spriteIndex = PA_SP_PLAYER_PUSH_SOUTH_1; + break; + } + + break; + } + animatePlayer(self); + break; + } + case PA_PL_ST_PUSHING: + { + self->stateTimer--; + + if (self->stateTimer < 0) + { + self->state = PA_PL_ST_NORMAL; + break; + } + + if (self->stateTimer == 2) + { + self->spriteIndex++; + } + + break; + } + } + + pa_moveEntityWithTileCollisions(self); + applyDamping(self); + pa_detectEntityCollisions(self); +} + +void updateCrabdozer(paEntity_t* self) +{ + switch (self->state) + { + case PA_EN_ST_STUN: + self->stateTimer--; + if (self->stateTimer < 0) + { + self->facingDirection = PA_DIRECTION_NONE; + + /*if(self->stateFlag){ + self->state = PA_EN_ST_AGGRESSIVE; + self->stateTimer = 32767; //effectively always aggressive + self->entityManager->aggroEnemies++; + } else*/ + { + self->state = PA_EN_ST_NORMAL; + self->stateTimer = (300 + esp_random() % 600); // Min 5 seconds, max 15 seconds + } + } + else + { + if (self->gameData->frameCount % ((self->stateTimer >> 1) + 1) == 0) + { + self->spriteIndex = PA_SP_ENEMY_STUN; + self->spriteFlipHorizontal = !self->spriteFlipHorizontal; + } + } + + pa_detectEntityCollisions(self); + break; + case PA_EN_ST_NORMAL: + case PA_EN_ST_AGGRESSIVE: + case PA_EN_ST_RUNAWAY: + { + self->stateTimer--; + if (self->stateTimer < 0 || self->entityManager->aggroEnemies < self->gameData->minAggroEnemies) + { + if (self->state == PA_EN_ST_RUNAWAY) + { + killEnemy(self); + break; + } + else if (self->state == PA_EN_ST_NORMAL + && (self->entityManager->aggroEnemies < self->gameData->maxAggroEnemies)) + { + self->state = PA_EN_ST_AGGRESSIVE; + self->entityManager->aggroEnemies++; + self->baseSpeed += 2; + self->stateTimer = (300 + esp_random() % 300); // Min 5 seconds, max 10 seconds + } + else if (self->state == PA_EN_ST_AGGRESSIVE) + { + self->state = PA_EN_ST_NORMAL; + self->entityManager->aggroEnemies--; + self->baseSpeed -= 2; + self->stateTimer = (300 + esp_random() % 300); // Min 5 seconds, max 10 seconds + } + } + + if (self->state != PA_EN_ST_RUNAWAY && self->entityManager->activeEnemies == 1 + && self->gameData->remainingEnemies == 0) + { + self->state = PA_EN_ST_RUNAWAY; + self->entityManager->aggroEnemies = 1; + self->baseSpeed = 20; + self->stateTimer = 480; // 8 seconds + + self->targetTileX = (esp_random() % 2) ? 1 : 15; + self->targetTileY = (esp_random() % 2) ? 1 : 13; + } + + uint8_t tx = PA_TO_TILECOORDS(self->x >> SUBPIXEL_RESOLUTION); + uint8_t ty = PA_TO_TILECOORDS(self->y >> SUBPIXEL_RESOLUTION); + + uint8_t t1, t2, t3 = 0; + uint8_t distT1, distT2, distT3; + + if (self->state != PA_EN_ST_RUNAWAY) + { + self->targetTileX = PA_TO_TILECOORDS(self->entityManager->playerEntity->x >> SUBPIXEL_RESOLUTION); + self->targetTileY = PA_TO_TILECOORDS(self->entityManager->playerEntity->y >> SUBPIXEL_RESOLUTION); + } + + int16_t hcof = (((self->x >> SUBPIXEL_RESOLUTION) % PA_TILE_SIZE) - PA_HALF_TILESIZE); + int16_t vcof = (((self->y >> SUBPIXEL_RESOLUTION) % PA_TILE_SIZE) - PA_HALF_TILESIZE); + + bool doAgression = (self->state == PA_EN_ST_AGGRESSIVE) /*? esp_random() % 2 : false*/; + + switch (self->facingDirection) + { + case PA_DIRECTION_WEST: + if (hcof) + { + break; + } + + t1 = pa_getTile(self->tilemap, tx - 1, ty); + t2 = pa_getTile(self->tilemap, tx, ty - 1); + t3 = pa_getTile(self->tilemap, tx, ty + 1); + + distT1 = PA_GET_TAXICAB_DISTANCE(tx - 1, ty, self->targetTileX, self->targetTileY); + distT2 = PA_GET_TAXICAB_DISTANCE(tx, ty - 1, self->targetTileX, self->targetTileY); + distT3 = PA_GET_TAXICAB_DISTANCE(tx, ty + 1, self->targetTileX, self->targetTileY); + + if ((!t2 || doAgression) && distT2 < distT1 && (t3 || distT2 < distT3)) + { + if (doAgression && t2 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_NORTH, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_NORTH, self->baseSpeed); + } + break; + } + + if ((!t3 || doAgression) && distT3 < distT1) + { + if (doAgression && t3 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_SOUTH, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_SOUTH, self->baseSpeed); + } + break; + } + + if (t1) + { + if (doAgression && t1 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_WEST, self->baseSpeed >> 1, tx, ty); + break; + } + + if ((!t2 || doAgression) && (t3 || distT2 < distT3)) + { + if (doAgression && t2 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_NORTH, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_NORTH, self->baseSpeed); + } + break; + } + + if (!t3 || doAgression) + { + if (doAgression && t3 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_SOUTH, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_SOUTH, self->baseSpeed); + } + break; + } + + pa_enemyChangeDirection(self, PA_DIRECTION_EAST, self->baseSpeed); + break; + } + + break; + case PA_DIRECTION_EAST: + if (hcof) + { + break; + } + + t1 = pa_getTile(self->tilemap, tx + 1, ty); + t2 = pa_getTile(self->tilemap, tx, ty - 1); + t3 = pa_getTile(self->tilemap, tx, ty + 1); + + distT1 = PA_GET_TAXICAB_DISTANCE(tx + 1, ty, self->targetTileX, self->targetTileY); + distT2 = PA_GET_TAXICAB_DISTANCE(tx, ty - 1, self->targetTileX, self->targetTileY); + distT3 = PA_GET_TAXICAB_DISTANCE(tx, ty + 1, self->targetTileX, self->targetTileY); + + if ((!t2 || doAgression) && distT2 < distT1 && (t3 || distT2 < distT3)) + { + if (doAgression && t2 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_NORTH, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_NORTH, self->baseSpeed); + } + break; + } + if ((!t3 || doAgression) && distT3 < distT1) + { + if (doAgression && t3 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_SOUTH, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_SOUTH, self->baseSpeed); + } + break; + } + if (t1) + { + if (doAgression && t1 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_EAST, self->baseSpeed >> 1, tx, ty); + break; + } + + if ((!t2 || doAgression) && (t3 || distT2 < distT3)) + { + if (doAgression && t2 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_NORTH, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_NORTH, self->baseSpeed); + } + break; + } + + if (!t3 || doAgression) + { + if (doAgression && t2 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_SOUTH, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_SOUTH, self->baseSpeed); + } + break; + } + + pa_enemyChangeDirection(self, PA_DIRECTION_WEST, self->baseSpeed); + break; + } + + break; + case PA_DIRECTION_NORTH: + if (vcof) + { + break; + } + + t1 = pa_getTile(self->tilemap, tx, ty - 1); + t2 = pa_getTile(self->tilemap, tx - 1, ty); + t3 = pa_getTile(self->tilemap, tx + 1, ty); + + distT1 = PA_GET_TAXICAB_DISTANCE(tx, ty - 1, self->targetTileX, self->targetTileY); + distT2 = PA_GET_TAXICAB_DISTANCE(tx - 1, ty, self->targetTileX, self->targetTileY); + distT3 = PA_GET_TAXICAB_DISTANCE(tx + 1, ty, self->targetTileX, self->targetTileY); + + if ((!t2 || doAgression) && distT2 < distT1 && (t3 || distT2 < distT3)) + { + if (doAgression && t2 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_WEST, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_WEST, self->baseSpeed); + } + break; + } + + if ((!t3 || doAgression) && distT3 < distT1) + { + if (doAgression && t3 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_EAST, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_EAST, self->baseSpeed); + } + break; + } + + if (t1) + { + if (doAgression && t1 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_NORTH, self->baseSpeed >> 1, tx, ty); + break; + } + + if ((!t2 || doAgression) && (t3 || distT2 < distT3)) + { + if (doAgression && t2 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_WEST, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_WEST, self->baseSpeed); + } + break; + } + + if (!t3 || doAgression) + { + if (doAgression && t3 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_EAST, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_EAST, self->baseSpeed); + } + + break; + } + + pa_enemyChangeDirection(self, PA_DIRECTION_SOUTH, self->baseSpeed); + break; + } + + break; + case PA_DIRECTION_NONE: + default: + pa_enemyChangeDirection(self, 1 >> (esp_random() % 3), self->baseSpeed); + break; + case PA_DIRECTION_SOUTH: + if (vcof) + { + break; + } + + t1 = pa_getTile(self->tilemap, tx, ty + 1); + t2 = pa_getTile(self->tilemap, tx - 1, ty); + t3 = pa_getTile(self->tilemap, tx + 1, ty); + + distT1 = PA_GET_TAXICAB_DISTANCE(tx, ty + 1, self->targetTileX, self->targetTileY); + distT2 = PA_GET_TAXICAB_DISTANCE(tx - 1, ty, self->targetTileX, self->targetTileY); + distT3 = PA_GET_TAXICAB_DISTANCE(tx + 1, ty, self->targetTileX, self->targetTileY); + + if ((!t2 || doAgression) && distT2 < distT1 && (t3 || distT2 < distT3)) + { + if (doAgression && t2 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_WEST, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_WEST, self->baseSpeed); + } + break; + } + + if ((!t3 || doAgression) && distT3 < distT1) + { + if (doAgression && t3 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_EAST, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_EAST, self->baseSpeed); + } + break; + } + + if (t1) + { + if (doAgression && t1 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_SOUTH, self->baseSpeed >> 1, tx, ty); + break; + } + + if ((!t2 || doAgression) && (t3 || distT2 < distT3)) + { + if (doAgression && t2 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_WEST, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_WEST, self->baseSpeed); + } + break; + } + + if (!t3 || doAgression) + { + if (doAgression && t3 == PA_TILE_BLOCK) + { + pa_enemyBreakBlock(self, PA_DIRECTION_EAST, self->baseSpeed >> 1, tx, ty); + } + else + { + pa_enemyChangeDirection(self, PA_DIRECTION_EAST, self->baseSpeed); + } + break; + } + + pa_enemyChangeDirection(self, PA_DIRECTION_NORTH, self->baseSpeed); + break; + } + + break; + } + + pa_animateEnemy(self); + despawnWhenOffscreen(self); + if (self->state != PA_EN_ST_BREAK_BLOCK) + { + // Need to skip this if enemy has just changed to breaking block state + // or else enemy will be stopped + pa_moveEntityWithTileCollisions(self); + } + pa_detectEntityCollisions(self); + + break; + } + case PA_EN_ST_BREAK_BLOCK: + { + /*//Need to force a speed value because + //tile collision will stop the enemy before we get here + switch(self->facingDirection){ + case PA_DIRECTION_WEST: + self->xspeed = -8; + break; + case PA_DIRECTION_EAST: + self->xspeed = 8; + break; + case PA_DIRECTION_NORTH: + self->yspeed = -8; + break; + case PA_DIRECTION_SOUTH: + self->yspeed = 8; + break; + default: + break; + }*/ + + self->x += self->xspeed; + self->y += self->yspeed; + + self->stateTimer--; + if (self->stateTimer < 0) + { + self->state = PA_EN_ST_AGGRESSIVE; + self->xspeed *= 2; + self->yspeed *= 2; + self->stateTimer = self->tempStateTimer; + } + + pa_animateEnemy(self); + break; + } + default: + { + break; + } + } +} + +void pa_enemyChangeDirection(paEntity_t* self, uint16_t newDirection, int16_t speed) +{ + switch (newDirection) + { + case PA_DIRECTION_WEST: + self->yspeed = 0; + self->xspeed = -speed; + break; + case PA_DIRECTION_EAST: + self->yspeed = 0; + self->xspeed = speed; + break; + case PA_DIRECTION_NORTH: + self->xspeed = 0; + self->yspeed = -speed; + break; + case PA_DIRECTION_NONE: + default: + self->xspeed = 0; + self->yspeed = 0; + break; + case PA_DIRECTION_SOUTH: + self->xspeed = 0; + self->yspeed = speed; + break; + } + + self->facingDirection = newDirection; +} + +void pa_enemyBreakBlock(paEntity_t* self, uint16_t newDirection, int16_t speed, uint8_t tx, uint8_t ty) +{ + switch (newDirection) + { + case PA_DIRECTION_WEST: + pa_createBreakBlock(self->entityManager, ((tx - 1) << SUBPIXEL_RESOLUTION) + PA_HALF_TILE_SIZE, + (ty << SUBPIXEL_RESOLUTION) + PA_HALF_TILE_SIZE); + break; + case PA_DIRECTION_EAST: + pa_createBreakBlock(self->entityManager, ((tx + 1) << SUBPIXEL_RESOLUTION) + PA_HALF_TILE_SIZE, + (ty << SUBPIXEL_RESOLUTION) + PA_HALF_TILE_SIZE); + break; + case PA_DIRECTION_NORTH: + pa_createBreakBlock(self->entityManager, (tx << SUBPIXEL_RESOLUTION) + PA_HALF_TILE_SIZE, + ((ty - 1) << SUBPIXEL_RESOLUTION) + PA_HALF_TILE_SIZE); + break; + case PA_DIRECTION_NONE: + default: + break; + case PA_DIRECTION_SOUTH: + pa_createBreakBlock(self->entityManager, (tx << SUBPIXEL_RESOLUTION) + PA_HALF_TILE_SIZE, + ((ty + 1) << SUBPIXEL_RESOLUTION) + PA_HALF_TILE_SIZE); + break; + } + + self->state = PA_EN_ST_BREAK_BLOCK; + self->tempStateTimer = self->stateTimer; + self->stateTimer = 16; + pa_enemyChangeDirection(self, newDirection, speed); +} + +void pa_animateEnemy(paEntity_t* self) +{ + if (self->xspeed != 0) + { + if ((self->xspeed < 0) || (self->xspeed > 0)) + { + // Running + self->spriteFlipHorizontal = (self->xspeed > 0) ? 0 : 1; + + if (self->gameData->frameCount % 5 == 0) + { + self->spriteIndex + = PA_SP_ENEMY_SIDE_1 + ((self->spriteIndex + 1) % 2) + ((self->state != PA_EN_ST_NORMAL) ? 4 : 0); + self->facingDirection = self->spriteFlipHorizontal ? PA_DIRECTION_WEST : PA_DIRECTION_EAST; + } + } + else + { + // self->spriteIndex = SP_PLAYER_SLIDE; + } + } + else if (self->yspeed > 0) + { + if (self->yspeed > 0) + { + if (self->gameData->frameCount % 5 == 0) + { + self->spriteIndex = PA_SP_ENEMY_SOUTH + ((self->state != PA_EN_ST_NORMAL) ? 4 : 0); + self->spriteFlipHorizontal = (self->gameData->frameCount >> 1) % 2; + self->facingDirection = PA_DIRECTION_SOUTH; + } + } + } + else if (self->yspeed < 0) + { + if (self->yspeed < 0) + { + if (self->gameData->frameCount % 5 == 0) + { + self->spriteIndex = PA_SP_ENEMY_NORTH + ((self->state != PA_EN_ST_NORMAL) ? 4 : 0); + self->spriteFlipHorizontal = (self->gameData->frameCount >> 1) % 2; + self->facingDirection = PA_DIRECTION_NORTH; + } + } + } + else + { + self->facingDirection = PA_DIRECTION_NONE; + } +} + +void updateHitBlock(paEntity_t* self) +{ + self->animationTimer++; + + if (self->homeTileY > self->tilemap->mapHeight) + { + pa_destroyEntity(self, false); + return; + } + + pa_moveEntityWithTileCollisions(self); +} + +void pa_moveEntityWithTileCollisions(paEntity_t* self) +{ + uint16_t newX = self->x; + uint16_t newY = self->y; + uint8_t tx = PA_TO_TILECOORDS(self->x >> SUBPIXEL_RESOLUTION); + uint8_t ty = PA_TO_TILECOORDS(self->y >> SUBPIXEL_RESOLUTION); + // bool collision = false; + + // Are we inside a block? Push self out of block + uint8_t t = pa_getTile(self->tilemap, tx, ty); + self->overlapTileHandler(self, t, tx, ty); + + if (pa_isSolid(t)) + { + if (self->xspeed == 0 && self->yspeed == 0) + { + newX += (self->spriteFlipHorizontal) ? 16 : -16; + } + else + { + if (self->yspeed != 0) + { + self->yspeed = -self->yspeed; + } + else + { + self->xspeed = -self->xspeed; + } + } + } + else + { + if (self->yspeed != 0) + { + int16_t hcof = (((self->x >> SUBPIXEL_RESOLUTION) % PA_TILE_SIZE) - PA_HALF_TILESIZE); + + // Handle halfway though tile + uint8_t at = pa_getTile(self->tilemap, tx + SIGNOF(hcof), ty); + + if (pa_isSolid(at)) + { + // collision = true; + newX = ((tx + 1) * PA_TILE_SIZE - PA_HALF_TILESIZE) << SUBPIXEL_RESOLUTION; + } + + uint8_t newTy = PA_TO_TILECOORDS(((self->y + self->yspeed) >> SUBPIXEL_RESOLUTION) + + SIGNOF(self->yspeed) * PA_HALF_TILESIZE); + + if (newTy != ty) + { + uint8_t newVerticalTile = pa_getTile(self->tilemap, tx, newTy); + + // if (newVerticalTile > PA_TILE_UNUSED_29 && newVerticalTile < PA_TILE_BG_GOAL_ZONE) + { + if (self->tileCollisionHandler(self, newVerticalTile, tx, newTy, 2 << (self->yspeed > 0))) + { + newY = ((newTy + ((ty < newTy) ? -1 : 1)) * PA_TILE_SIZE + PA_HALF_TILESIZE) + << SUBPIXEL_RESOLUTION; + } + } + } + } + + if (self->xspeed != 0) + { + int16_t vcof = (((self->y >> SUBPIXEL_RESOLUTION) % PA_TILE_SIZE) - PA_HALF_TILESIZE); + + // Handle halfway though tile + uint8_t att = pa_getTile(self->tilemap, tx, ty + SIGNOF(vcof)); + + if (pa_isSolid(att)) + { + // collision = true; + newY = ((ty + 1) * PA_TILE_SIZE - PA_HALF_TILESIZE) << SUBPIXEL_RESOLUTION; + } + + // Handle outside of tile + uint8_t newTx = PA_TO_TILECOORDS(((self->x + self->xspeed) >> SUBPIXEL_RESOLUTION) + + SIGNOF(self->xspeed) * PA_HALF_TILESIZE); + + if (newTx != tx) + { + uint8_t newHorizontalTile = pa_getTile(self->tilemap, newTx, ty); + + // if (newHorizontalTile > PA_TILE_UNUSED_29 && newHorizontalTile < PA_TILE_BG_GOAL_ZONE) + { + if (self->tileCollisionHandler(self, newHorizontalTile, newTx, ty, (self->xspeed > 0))) + { + newX = ((newTx + ((tx < newTx) ? -1 : 1)) * PA_TILE_SIZE + PA_HALF_TILESIZE) + << SUBPIXEL_RESOLUTION; + } + } + + if (!self->falling) + { + uint8_t newBelowTile = pa_getTile(self->tilemap, tx, ty + 1); + + if ((self->gravityEnabled + && !pa_isSolid( + newBelowTile)) /*(|| (!self->gravityEnabled && newBelowTile != PA_TILE_LADDER)*/) + { + self->fallOffTileHandler(self); + } + } + } + } + } + + self->x = newX + self->xspeed; + self->y = newY + self->yspeed; +} + +void defaultFallOffTileHandler(paEntity_t* self) +{ + self->falling = true; +} + +void applyDamping(paEntity_t* self) +{ + if (self->xspeed > 0) + { + self->xspeed -= self->xDamping; + + if (self->xspeed < 0) + { + self->xspeed = 0; + } + } + else if (self->xspeed < 0) + { + self->xspeed += self->xDamping; + + if (self->xspeed > 0) + { + self->xspeed = 0; + } + } + + if (self->yspeed > 0) + { + self->yspeed -= self->yDamping; + + if (self->yspeed < 0) + { + self->yspeed = 0; + } + } + else if (self->yspeed < 0) + { + self->yspeed += self->yDamping; + + if (self->yspeed > 0) + { + self->yspeed = 0; + } + } +} + +void applyGravity(paEntity_t* self) +{ + if (!self->gravityEnabled || !self->falling) + { + return; + } + + self->yspeed += self->gravity; + + if (self->yspeed > self->yMaxSpeed) + { + self->yspeed = self->yMaxSpeed; + } +} + +void despawnWhenOffscreen(paEntity_t* self) +{ + if ((self->x >> SUBPIXEL_RESOLUTION) < (self->tilemap->mapOffsetX - DESPAWN_THRESHOLD) + || (self->x >> SUBPIXEL_RESOLUTION) + > (self->tilemap->mapOffsetX + PA_TILE_MAP_DISPLAY_WIDTH_PIXELS + DESPAWN_THRESHOLD)) + { + pa_destroyEntity(self, true); + } + + if (self->y > 63616) + { + return; + } + + if ((self->y >> SUBPIXEL_RESOLUTION) < (self->tilemap->mapOffsetY - (DESPAWN_THRESHOLD << 2)) + || (self->y >> SUBPIXEL_RESOLUTION) + > (self->tilemap->mapOffsetY + PA_TILE_MAP_DISPLAY_HEIGHT_PIXELS + DESPAWN_THRESHOLD)) + { + pa_destroyEntity(self, true); + } +} + +void pa_destroyEntity(paEntity_t* self, bool respawn) +{ + /*if (respawn && !(self->homeTileX == 0 && self->homeTileY == 0)) + { + self->tilemap->map[self->homeTileY * self->tilemap->mapWidth + self->homeTileX] = self->type + 128; + }*/ + + // self->entityManager->activeEntities--; + self->active = false; +} + +void animatePlayer(paEntity_t* self) +{ + if (abs(self->xspeed) > abs(self->yspeed)) + { + if (((self->gameData->btnState & PB_LEFT) && self->xspeed < 0) + || ((self->gameData->btnState & PB_RIGHT) && self->xspeed > 0)) + { + // Running + self->spriteFlipHorizontal = (self->xspeed > 0) ? 0 : 1; + self->facingDirection = self->spriteFlipHorizontal ? PA_DIRECTION_WEST : PA_DIRECTION_EAST; + + if (self->gameData->frameCount % 7 == 0) + { + self->spriteIndex = PA_SP_PLAYER_SIDE + ((self->spriteIndex + 1) % 3); + } + } + else + { + // self->spriteIndex = SP_PLAYER_SLIDE; + } + } + else if (self->yspeed > 0) + { + if ((self->gameData->btnState & PB_DOWN) && self->yspeed > 0) + { + self->facingDirection = PA_DIRECTION_SOUTH; + + if (self->gameData->frameCount % 7 == 0) + { + self->spriteIndex = PA_SP_PLAYER_SOUTH + ((self->spriteIndex + 1) % 2); + self->spriteFlipHorizontal = (self->gameData->frameCount >> 1) % 2; + } + } + } + else if (self->yspeed < 0) + { + if ((self->gameData->btnState & PB_UP) && self->yspeed < 0) + { + self->facingDirection = PA_DIRECTION_NORTH; + + if (self->gameData->frameCount % 7 == 0) + { + self->spriteIndex = PA_SP_PLAYER_NORTH + ((self->spriteIndex + 1) % 2); + self->spriteFlipHorizontal = (self->gameData->frameCount >> 1) % 2; + } + } + } + else + { + // Standing + // self->spriteIndex = PA_SP_PLAYER_SOUTH; + } +} + +void pa_detectEntityCollisions(paEntity_t* self) +{ + for (uint8_t i = 0; i < MAX_ENTITIES; i++) + { + paEntity_t* checkEntity = &(self->entityManager->entities[i]); + if (checkEntity->active && checkEntity != self) + { + uint32_t dist = abs(self->x - checkEntity->x) + abs(self->y - checkEntity->y); + + if (dist < 200) + { + self->collisionHandler(self, checkEntity); + } + } + } +} + +void pa_playerCollisionHandler(paEntity_t* self, paEntity_t* other) +{ + switch (other->type) + { + case PA_ENTITY_CRABDOZER: + { + other->xspeed = -other->xspeed; + + /*if (self->y < other->y || self->yspeed > 0) + { + pa_scorePoints(self->gameData, other->scoreValue); + + killEnemy(other); + soundPlaySfx(&(self->soundManager->sndSquish), BZR_LEFT); + + self->yspeed = -180; + self->jumpPower = 64 + ((abs(self->xspeed) + 16) >> 3); + self->falling = true; + } + else*/ + if (self->invincibilityFrames <= 0 && other->state != PA_EN_ST_STUN) + { + self->hp--; + pa_updateLedsHpMeter(self->entityManager, self->gameData); + self->gameData->comboTimer = 0; + + if (!self->gameData->debugMode && self->hp == 0) + { + self->updateFunction = &updateEntityDead; + self->type = ENTITY_DEAD; + self->xspeed = 0; + self->yspeed = -60; + self->spriteIndex = PA_SP_PLAYER_HURT; + self->gameData->changeState = PA_ST_DEAD; + self->gravityEnabled = true; + self->falling = true; + } + else + { + self->xspeed = 0; + self->yspeed = 0; + self->jumpPower = 0; + self->invincibilityFrames = 120; + soundPlaySfx(&(self->soundManager->sndHurt), BZR_LEFT); + } + } + + break; + } + case ENTITY_HIT_BLOCK: + { + if (self->x < other->x) + { + self->x = other->x - (PA_TILE_SIZE << SUBPIXEL_RESOLUTION); + self->xspeed = 0; + } + else if (self->x > other->x) + { + self->x = other->x + (PA_TILE_SIZE << SUBPIXEL_RESOLUTION); + self->xspeed = 0; + } + else if (self->y < other->y) + { + self->y = other->y - (PA_TILE_SIZE << SUBPIXEL_RESOLUTION); + self->yspeed = 0; + } + else if (self->y > other->y) + { + self->y = other->y + (PA_TILE_SIZE << SUBPIXEL_RESOLUTION); + self->yspeed = 0; + } + break; + } + default: + { + break; + } + } +} + +void pa_enemyCollisionHandler(paEntity_t* self, paEntity_t* other) +{ + switch (other->type) + { + case PA_ENTITY_CRABDOZER: + if ((self->xspeed > 0 && self->x < other->x) || (self->xspeed < 0 && self->x > other->x)) + { + self->xspeed = -self->xspeed; + // self->spriteFlipHorizontal = -self->spriteFlipHorizontal; + } + + if ((self->yspeed > 0 && self->y < other->y) || (self->yspeed < 0 && self->y > other->y)) + { + self->yspeed = -self->yspeed; + // self->spriteFlipHorizontal = -self->spriteFlipHorizontal; + } + break; + case ENTITY_HIT_BLOCK: + self->xspeed = other->xspeed * 2; + self->yspeed = other->yspeed * 2; + pa_scorePoints(self->gameData, self->scoreValue); + soundPlaySfx(&(self->soundManager->sndHurt), 2); + killEnemy(self); + break; + default: + { + break; + } + } +} + +void pa_dummyCollisionHandler(paEntity_t* self, paEntity_t* other) +{ + return; +} + +bool pa_playerTileCollisionHandler(paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty, uint8_t direction) +{ + /*switch (tileId) + { + case PA_TILE_COIN_1 ... PA_TILE_COIN_3: + { + pa_setTile(self->tilemap, tx, ty, PA_TILE_EMPTY); + addCoins(self->gameData, 1); + pa_scorePoints(self->gameData, 50); + break; + } + case PA_TILE_LADDER: + { + self->gravityEnabled = false; + self->falling = false; + break; + } + default: + { + break; + } + }*/ + + if (pa_isSolid(tileId)) + { + switch (direction) + { + case 0: // LEFT + self->xspeed = 0; + break; + case 1: // RIGHT + self->xspeed = 0; + break; + case 2: // UP + self->yspeed = 0; + break; + case 4: // DOWN + // Landed on platform + self->falling = false; + self->yspeed = 0; + break; + default: // Should never hit + return false; + } + // trigger tile collision resolution + return true; + } + + return false; +} + +bool pa_enemyTileCollisionHandler(paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty, uint8_t direction) +{ + /*switch (tileId) + { + case PA_TILE_BOUNCE_BLOCK: + { + switch (direction) + { + case 0: + // hitBlock->xspeed = -64; + if (tileId == PA_TILE_BOUNCE_BLOCK) + { + self->xspeed = 48; + } + break; + case 1: + // hitBlock->xspeed = 64; + if (tileId == PA_TILE_BOUNCE_BLOCK) + { + self->xspeed = -48; + } + break; + case 2: + // hitBlock->yspeed = -128; + if (tileId == PA_TILE_BOUNCE_BLOCK) + { + self->yspeed = 48; + } + break; + case 4: + // hitBlock->yspeed = (tileId == PA_TILE_BRICK_BLOCK) ? 32 : 64; + if (tileId == PA_TILE_BOUNCE_BLOCK) + { + self->yspeed = -48; + } + break; + default: + break; + } + break; + } + default: + { + break; + } + }*/ + + if (pa_isSolid(tileId)) + { + switch (direction) + { + case 0: // LEFT + self->xspeed = 0; + break; + case 1: // RIGHT + self->xspeed = 0; + break; + case 2: // UP + self->yspeed = 0; + break; + case 4: // DOWN + // Landed on platform + self->falling = false; + self->yspeed = 0; + break; + default: // Should never hit + return false; + } + // trigger tile collision resolution + return true; + } + + return false; +} + +bool pa_dummyTileCollisionHandler(paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty, uint8_t direction) +{ + return false; +} + +bool pa_hitBlockTileCollisionHandler(paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty, uint8_t direction) +{ + if (pa_isSolid(tileId)) + { + soundPlaySfx(&(self->soundManager->sndHit), 1); + pa_destroyEntity(self, false); + + if (PA_TO_TILECOORDS(self->x >> SUBPIXEL_RESOLUTION) == self->homeTileX + && PA_TO_TILECOORDS(self->y >> SUBPIXEL_RESOLUTION) == self->homeTileY) + { + pa_createBreakBlock(self->entityManager, self->x >> SUBPIXEL_RESOLUTION, self->y >> SUBPIXEL_RESOLUTION); + if (self->jumpPower == PA_TILE_SPAWN_BLOCK_0) + { + self->entityManager->gameData->remainingEnemies--; + } + } + else + { + self->tilemap->map[PA_TO_TILECOORDS(self->y >> SUBPIXEL_RESOLUTION) * self->tilemap->mapWidth + + PA_TO_TILECOORDS(self->x >> SUBPIXEL_RESOLUTION)] + = self->jumpPower; + } + + return true; + } + return false; +} + +void dieWhenFallingOffScreen(paEntity_t* self) +{ + uint16_t deathBoundary = (self->tilemap->mapOffsetY + PA_TILE_MAP_DISPLAY_HEIGHT_PIXELS + DESPAWN_THRESHOLD); + if (((self->y >> SUBPIXEL_RESOLUTION) > deathBoundary) + && ((self->y >> SUBPIXEL_RESOLUTION) < deathBoundary + DESPAWN_THRESHOLD)) + { + self->hp = 0; + pa_updateLedsHpMeter(self->entityManager, self->gameData); + self->gameData->changeState = PA_ST_DEAD; + pa_destroyEntity(self, true); + } +} + +void pa_updateDummy(paEntity_t* self) +{ + // Do nothing, because that's what dummies do! +} + +void pa_updateBreakBlock(paEntity_t* self) +{ + if (self->gameData->frameCount % 4 == 0) + { + self->spriteIndex++; + + if (self->spriteIndex > PA_SP_BREAK_BLOCK_3) + { + pa_createBlockFragment(self->entityManager, self->x >> SUBPIXEL_RESOLUTION, self->y >> SUBPIXEL_RESOLUTION); + pa_createBlockFragment(self->entityManager, self->x >> SUBPIXEL_RESOLUTION, self->y >> SUBPIXEL_RESOLUTION); + pa_createBlockFragment(self->entityManager, self->x >> SUBPIXEL_RESOLUTION, self->y >> SUBPIXEL_RESOLUTION); + pa_createBlockFragment(self->entityManager, self->x >> SUBPIXEL_RESOLUTION, self->y >> SUBPIXEL_RESOLUTION); + pa_destroyEntity(self, false); + } + } +} + +void updateEntityDead(paEntity_t* self) +{ + applyGravity(self); + self->x += self->xspeed; + self->y += self->yspeed; + + despawnWhenOffscreen(self); +} + +void pa_updateBlockFragment(paEntity_t* self) +{ + self->animationTimer++; + if (self->animationTimer > 8) + { + pa_destroyEntity(self, false); + return; + } + + self->x += self->xspeed; + self->y += self->yspeed; + + applyGravity(self); + despawnWhenOffscreen(self); +} + +void killEnemy(paEntity_t* target) +{ + target->homeTileX = 0; + target->homeTileY = 0; + target->gravityEnabled = true; + target->falling = true; + target->type = ENTITY_DEAD; + target->spriteFlipVertical = true; + target->updateFunction = &updateEntityDead; + + target->entityManager->activeEnemies--; + if (target->state == PA_EN_ST_AGGRESSIVE) + { + target->entityManager->aggroEnemies--; + } + + if (target->entityManager->activeEnemies == 0 && target->entityManager->gameData->remainingEnemies == 0) + { + target->gameData->changeState = PA_ST_LEVEL_CLEAR; + target->entityManager->playerEntity->spriteIndex = PA_SP_PLAYER_WIN; + target->entityManager->playerEntity->updateFunction = &pa_updateDummy; + } +} + +void pa_playerOverlapTileHandler(paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty) +{ + /*switch (tileId) + { + case PA_TILE_COIN_1 ... PA_TILE_COIN_3: + { + pa_setTile(self->tilemap, tx, ty, PA_TILE_EMPTY); + addCoins(self->gameData, 1); + pa_scorePoints(self->gameData, 50); + break; + } + case PA_TILE_LADDER: + { + if (self->gravityEnabled) + { + self->gravityEnabled = false; + self->xspeed = 0; + } + break; + } + default: + { + break; + } + } + + if (!self->gravityEnabled && tileId != PA_TILE_LADDER) + { + self->gravityEnabled = true; + self->falling = true; + if (self->yspeed < 0) + { + self->yspeed = -32; + } + }*/ +} + +void pa_defaultOverlapTileHandler(paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty) +{ + // Nothing to do. +} + +void killPlayer(paEntity_t* self) +{ + self->hp = 0; + pa_updateLedsHpMeter(self->entityManager, self->gameData); + + self->updateFunction = &updateEntityDead; + self->type = ENTITY_DEAD; + self->xspeed = 0; + self->yspeed = -60; + self->spriteIndex = PA_SP_PLAYER_HURT; + self->gameData->changeState = PA_ST_DEAD; + self->falling = true; +} + +void drawEntityTargetTile(paEntity_t* self) +{ + drawRect((self->targetTileX << PA_TILE_SIZE_IN_POWERS_OF_2) - self->tilemap->mapOffsetX, + self->targetTileY << PA_TILE_SIZE_IN_POWERS_OF_2, + (self->targetTileX << PA_TILE_SIZE_IN_POWERS_OF_2) + PA_TILE_SIZE - self->tilemap->mapOffsetX, + (self->targetTileY << PA_TILE_SIZE_IN_POWERS_OF_2) + PA_TILE_SIZE, esp_random() % 216); +} diff --git a/main/modes/games/pango/paEntity.h b/main/modes/games/pango/paEntity.h new file mode 100644 index 000000000..dc89f4587 --- /dev/null +++ b/main/modes/games/pango/paEntity.h @@ -0,0 +1,191 @@ +#ifndef _PA_ENTITY_H_ +#define _PA_ENTITY_H_ + +//============================================================================== +// Includes +//============================================================================== + +#include +#include +#include "pango_typedef.h" +#include "paTilemap.h" +#include "paGameData.h" +#include "paSoundManager.h" +#include "shapes.h" + +//============================================================================== +// Enums +//============================================================================== + +typedef enum +{ + ENTITY_PLAYER, + PA_ENTITY_CRABDOZER, + PA_ENTITY_BREAK_BLOCK, + PA_ENTITY_BLOCK_FRAGMENT, + ENTITY_HIT_BLOCK, + ENTITY_DEAD +} paEntityIndex_t; + +typedef enum +{ + PA_DIRECTION_NONE, + PA_DIRECTION_NORTH, + PA_DIRECTION_SOUTH, + PA_DIRECTION_NULL_3, + PA_DIRECTION_WEST, + PA_DIRECTION_NORTHWEST, + PA_DIRECTION_SOUTHWEST, + PA_DIRECTION_NULL_7, + PA_DIRECTION_EAST, + PA_DIRECTION_NORTHEAST, + PA_DIRECTION_SOUTHEAST +} paCompassDirection_t; + +typedef enum +{ + PA_EN_ST_SPAWNING, + PA_EN_ST_STUN, + PA_EN_ST_NORMAL, + PA_EN_ST_AGGRESSIVE, + PA_EN_ST_RUNAWAY, + PA_EN_ST_BREAK_BLOCK, +} paEnemyState_t; + +typedef enum +{ + PA_PL_ST_NORMAL, + PA_PL_ST_PUSHING +} paPlayerState_t; + +//============================================================================== +// Structs +//============================================================================== + +typedef void (*pa_updateFunction_t)(struct paEntity_t* self); +typedef void (*pa_collisionHandler_t)(struct paEntity_t* self, struct paEntity_t* other); +typedef bool (*PA_TILE_CollisionHandler_t)(struct paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty, + uint8_t direction); +typedef void (*pa_fallOffTileHandler_t)(struct paEntity_t* self); +typedef void (*pa_overlapTileHandler_t)(struct paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty); + +struct paEntity_t +{ + bool active; + // bool important; + + uint8_t type; + pa_updateFunction_t updateFunction; + + uint16_t x; + uint16_t y; + + int16_t xspeed; + int16_t yspeed; + + int16_t xMaxSpeed; + int16_t yMaxSpeed; + + int16_t xDamping; + int16_t yDamping; + + bool gravityEnabled; + int16_t gravity; + bool falling; + + uint16_t facingDirection; + + uint8_t spriteIndex; + bool spriteFlipHorizontal; + bool spriteFlipVertical; + uint8_t animationTimer; + + paTilemap_t* tilemap; + paGameData_t* gameData; + paSoundManager_t* soundManager; + + uint8_t homeTileX; + uint8_t homeTileY; + + int16_t jumpPower; + + bool visible; + uint8_t hp; + int8_t invincibilityFrames; + uint16_t scoreValue; + + uint8_t targetTileX; + uint8_t targetTileY; + uint16_t state; + bool stateFlag; + int16_t stateTimer; + int16_t tempStateTimer; + int16_t baseSpeed; + + // paEntity_t *entities; + paEntityManager_t* entityManager; + + pa_collisionHandler_t collisionHandler; + PA_TILE_CollisionHandler_t tileCollisionHandler; + pa_fallOffTileHandler_t fallOffTileHandler; + pa_overlapTileHandler_t overlapTileHandler; +}; + +//============================================================================== +// Prototypes +//============================================================================== +void pa_initializeEntity(paEntity_t* self, paEntityManager_t* entityManager, paTilemap_t* tilemap, + paGameData_t* gameData, paSoundManager_t* soundManager); + +void pa_updatePlayer(paEntity_t* self); +void updateCrabdozer(paEntity_t* self); +void pa_enemyChangeDirection(paEntity_t* self, uint16_t newDirection, int16_t speed); +void pa_enemyBreakBlock(paEntity_t* self, uint16_t newDirection, int16_t speed, uint8_t tx, uint8_t ty); +void pa_animateEnemy(paEntity_t* self); +void updateHitBlock(paEntity_t* self); + +void pa_moveEntityWithTileCollisions(paEntity_t* self); +void defaultFallOffTileHandler(paEntity_t* self); + +void despawnWhenOffscreen(paEntity_t* self); + +void pa_destroyEntity(paEntity_t* self, bool respawn); + +void applyDamping(paEntity_t* self); + +void applyGravity(paEntity_t* self); + +void animatePlayer(paEntity_t* self); + +void pa_detectEntityCollisions(paEntity_t* self); + +void pa_playerCollisionHandler(paEntity_t* self, paEntity_t* other); +void pa_enemyCollisionHandler(paEntity_t* self, paEntity_t* other); +void pa_dummyCollisionHandler(paEntity_t* self, paEntity_t* other); + +bool pa_playerTileCollisionHandler(paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty, uint8_t direction); +bool pa_enemyTileCollisionHandler(paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty, uint8_t direction); +bool pa_dummyTileCollisionHandler(paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty, uint8_t direction); + +void dieWhenFallingOffScreen(paEntity_t* self); + +void pa_updateDummy(paEntity_t* self); + +void updateEntityDead(paEntity_t* self); + +void killEnemy(paEntity_t* target); + +void turnAroundAtEdgeOfTileHandler(paEntity_t* self); + +void pa_playerOverlapTileHandler(paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty); +void pa_defaultOverlapTileHandler(paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty); + +void killPlayer(paEntity_t* self); + +void drawEntityTargetTile(paEntity_t* self); + +bool pa_hitBlockTileCollisionHandler(paEntity_t* self, uint8_t tileId, uint8_t tx, uint8_t ty, uint8_t direction); +void pa_updateBreakBlock(paEntity_t* self); +void pa_updateBlockFragment(paEntity_t* self); + +#endif diff --git a/main/modes/games/pango/paEntityManager.c b/main/modes/games/pango/paEntityManager.c new file mode 100644 index 000000000..de3c819bf --- /dev/null +++ b/main/modes/games/pango/paEntityManager.c @@ -0,0 +1,439 @@ +//============================================================================== +// Includes +//============================================================================== + +#include +#include +#include + +#include "paEntityManager.h" +#include "esp_random.h" +#include "palette.h" +#include "soundFuncs.h" + +#include "cnfs.h" +#include "fs_wsg.h" + +//============================================================================== +// Constants +//============================================================================== +#define SUBPIXEL_RESOLUTION 4 +#define PA_TO_TILECOORDS(x) ((x) >> PA_TILE_SIZE_IN_POWERS_OF_2) + +//============================================================================== +// Functions +//============================================================================== +void pa_initializeEntityManager(paEntityManager_t* entityManager, paWsgManager_t* wsgManager, paTilemap_t* tilemap, + paGameData_t* gameData, paSoundManager_t* soundManager) +{ + entityManager->wsgManager = wsgManager; + entityManager->entities = calloc(MAX_ENTITIES, sizeof(paEntity_t)); + + for (uint8_t i = 0; i < MAX_ENTITIES; i++) + { + pa_initializeEntity(&(entityManager->entities[i]), entityManager, tilemap, gameData, soundManager); + } + + entityManager->activeEntities = 0; + entityManager->tilemap = tilemap; + entityManager->gameData = gameData; + entityManager->soundManager = soundManager; + + // entityManager->viewEntity = pa_createPlayer(entityManager, entityManager->tilemap->warps[0].x * 16, + // entityManager->tilemap->warps[0].y * 16); + entityManager->playerEntity = entityManager->viewEntity; + + // entityManager->activeEnemies = 0; + // entityManager->maxEnemies = 3; +} + +void pa_updateEntities(paEntityManager_t* entityManager) +{ + for (uint8_t i = 0; i < MAX_ENTITIES; i++) + { + if (entityManager->entities[i].active) + { + entityManager->entities[i].updateFunction(&(entityManager->entities[i])); + + /*if (&(entityManager->entities[i]) == entityManager->viewEntity) + { + pa_viewFollowEntity(entityManager->tilemap, &(entityManager->entities[i])); + }*/ + } + } +} + +void pa_deactivateAllEntities(paEntityManager_t* entityManager, bool excludePlayer) +{ + for (uint8_t i = 0; i < MAX_ENTITIES; i++) + { + paEntity_t* currentEntity = &(entityManager->entities[i]); + currentEntity->active = false; + + // clear out invisible block tiles that are placed for every Break Block object + // if(currentEntity->type == PA_ENTITY_BREAK_BLOCK){ + // pa_setTile(currentEntity->tilemap, PA_TO_TILECOORDS(currentEntity->x >> SUBPIXEL_RESOLUTION), + // PA_TO_TILECOORDS(currentEntity->y >> SUBPIXEL_RESOLUTION), PA_TILE_EMPTY); + // } + + if (currentEntity->type == ENTITY_HIT_BLOCK && currentEntity->jumpPower == PA_TILE_SPAWN_BLOCK_0) + { + entityManager->gameData->remainingEnemies--; + } + + if (excludePlayer && currentEntity == entityManager->playerEntity) + { + currentEntity->active = true; + } + } + + entityManager->activeEntities = 0; + entityManager->aggroEnemies = 0; +} + +void pa_drawEntities(paEntityManager_t* entityManager) +{ + for (uint8_t i = 0; i < MAX_ENTITIES; i++) + { + paEntity_t currentEntity = entityManager->entities[i]; + + if (currentEntity.active && currentEntity.visible) + { + drawWsg(entityManager->wsgManager->sprites[currentEntity.spriteIndex].wsg, + (currentEntity.x >> SUBPIXEL_RESOLUTION) + - entityManager->wsgManager->sprites[currentEntity.spriteIndex].originX + - entityManager->tilemap->mapOffsetX, + (currentEntity.y >> SUBPIXEL_RESOLUTION) - entityManager->tilemap->mapOffsetY + - entityManager->wsgManager->sprites[currentEntity.spriteIndex].originY, + currentEntity.spriteFlipHorizontal, currentEntity.spriteFlipVertical, 0); + } + } +} + +paEntity_t* pa_findInactiveEntity(paEntityManager_t* entityManager) +{ + if (entityManager->activeEntities == MAX_ENTITIES) + { + return NULL; + }; + + uint8_t entityIndex = 0; + + while (entityManager->entities[entityIndex].active) + { + entityIndex++; + + // Extra safeguard to make sure we don't get stuck here + if (entityIndex > MAX_ENTITIES) + { + return NULL; + } + } + + return &(entityManager->entities[entityIndex]); +} + +void pa_viewFollowEntity(paTilemap_t* tilemap, paEntity_t* entity) +{ + int16_t moveViewByX = (entity->x) >> SUBPIXEL_RESOLUTION; + int16_t moveViewByY = (entity->y > 63616) ? 0 : (entity->y) >> SUBPIXEL_RESOLUTION; + + int16_t centerOfViewX = tilemap->mapOffsetX + 140; + int16_t centerOfViewY = tilemap->mapOffsetY + 120; + + // if(centerOfViewX != moveViewByX) { + moveViewByX -= centerOfViewX; + //} + + // if(centerOfViewY != moveViewByY) { + moveViewByY -= centerOfViewY; + //} + + // if(moveViewByX && moveViewByY){ + pa_scrollTileMap(tilemap, moveViewByX, moveViewByY); + //} +} + +paEntity_t* pa_createEntity(paEntityManager_t* entityManager, uint8_t objectIndex, uint16_t x, uint16_t y) +{ + // if(entityManager->activeEntities == MAX_ENTITIES){ + // return NULL; + // } + + paEntity_t* createdEntity; + + switch (objectIndex) + { + case ENTITY_PLAYER: + createdEntity = pa_createPlayer(entityManager, x, y); + break; + case PA_ENTITY_CRABDOZER: + createdEntity = createCrabdozer(entityManager, x, y); + break; + case ENTITY_HIT_BLOCK: + createdEntity = createHitBlock(entityManager, x, y); + break; + default: + createdEntity = NULL; + } + + // if(createdEntity != NULL) { + // entityManager->activeEntities++; + // } + + return createdEntity; +} + +paEntity_t* pa_createPlayer(paEntityManager_t* entityManager, uint16_t x, uint16_t y) +{ + paEntity_t* entity = pa_findInactiveEntity(entityManager); + + if (entity == NULL) + { + return NULL; + } + + entity->active = true; + entity->visible = true; + entity->x = x << SUBPIXEL_RESOLUTION; + entity->y = y << SUBPIXEL_RESOLUTION; + + entity->xspeed = 0; + entity->yspeed = 0; + entity->xMaxSpeed = 40; // 72; Walking + entity->yMaxSpeed = 64; // 72; + entity->xDamping = 2; + entity->yDamping = 2; + entity->gravityEnabled = false; + entity->gravity = 4; + entity->falling = false; + entity->jumpPower = 0; + entity->spriteFlipVertical = false; + entity->hp = 1; + entity->animationTimer = 0; // Used as a cooldown for shooting square wave balls + entity->state = PA_PL_ST_NORMAL; + entity->stateTimer = -1; + + entity->type = ENTITY_PLAYER; + entity->spriteIndex = PA_SP_PLAYER_SOUTH; + entity->updateFunction = &pa_updatePlayer; + entity->collisionHandler = &pa_playerCollisionHandler; + entity->tileCollisionHandler = &pa_playerTileCollisionHandler; + entity->fallOffTileHandler = &defaultFallOffTileHandler; + entity->overlapTileHandler = &pa_playerOverlapTileHandler; + return entity; +} + +paEntity_t* createCrabdozer(paEntityManager_t* entityManager, uint16_t x, uint16_t y) +{ + paEntity_t* entity = pa_findInactiveEntity(entityManager); + + if (entity == NULL) + { + return NULL; + } + + entity->active = true; + entity->visible = true; + entity->x = x << SUBPIXEL_RESOLUTION; + entity->y = y << SUBPIXEL_RESOLUTION; + + entity->xspeed = 0; + entity->yspeed = 0; + entity->xMaxSpeed = 132; + entity->yMaxSpeed = 132; + entity->gravityEnabled = false; + entity->gravity = 0; + entity->spriteFlipHorizontal = false; + entity->spriteFlipVertical = false; + entity->scoreValue = 100; + entity->stateTimer = -1; + entity->tempStateTimer = -1; + entity->stateFlag = false; + entity->baseSpeed = entityManager->gameData->enemyInitialSpeed; + + entity->type = PA_ENTITY_CRABDOZER; + entity->spriteIndex = PA_SP_ENEMY_SOUTH; + entity->facingDirection = PA_DIRECTION_NONE; + entity->state = PA_EN_ST_NORMAL; + entity->stateTimer = 300 + (esp_random() % 600); // Min 5 seconds, max 15 seconds + entity->updateFunction = &updateCrabdozer; + entity->collisionHandler = &pa_enemyCollisionHandler; + entity->tileCollisionHandler = &pa_enemyTileCollisionHandler; + entity->fallOffTileHandler = &defaultFallOffTileHandler; + entity->overlapTileHandler = &pa_defaultOverlapTileHandler; + + return entity; +} + +paEntity_t* pa_createBreakBlock(paEntityManager_t* entityManager, uint16_t x, uint16_t y) +{ + paEntity_t* entity = pa_findInactiveEntity(entityManager); + + if (entity == NULL) + { + return NULL; + } + + entity->active = true; + entity->visible = true; + entity->x = x << SUBPIXEL_RESOLUTION; + entity->y = y << SUBPIXEL_RESOLUTION; + + entity->xspeed = 0; + entity->yspeed = 0; + entity->xMaxSpeed = 132; + entity->yMaxSpeed = 132; + entity->gravityEnabled = false; + entity->gravity = 0; + entity->spriteFlipHorizontal = false; + entity->spriteFlipVertical = false; + entity->scoreValue = 100; + entity->animationTimer = 0; + entity->type = PA_ENTITY_BREAK_BLOCK; + entity->spriteIndex = PA_SP_BREAK_BLOCK; + entity->facingDirection = PA_DIRECTION_NONE; + entity->updateFunction = &pa_updateBreakBlock; + entity->collisionHandler = &pa_dummyCollisionHandler; + entity->tileCollisionHandler = &pa_dummyTileCollisionHandler; + entity->fallOffTileHandler = &defaultFallOffTileHandler; + entity->overlapTileHandler = &pa_defaultOverlapTileHandler; + + pa_setTile(entityManager->tilemap, PA_TO_TILECOORDS(x), PA_TO_TILECOORDS(y), PA_TILE_EMPTY); + + return entity; +} + +paEntity_t* pa_createBlockFragment(paEntityManager_t* entityManager, uint16_t x, uint16_t y) +{ + paEntity_t* entity = pa_findInactiveEntity(entityManager); + + if (entity == NULL) + { + return NULL; + } + + entity->active = true; + entity->visible = true; + entity->x = x << SUBPIXEL_RESOLUTION; + entity->y = y << SUBPIXEL_RESOLUTION; + + entity->xspeed = -64 + (esp_random() % 128); + entity->yspeed = -64 + (esp_random() % 128); + entity->xMaxSpeed = 132; + entity->yMaxSpeed = 132; + entity->gravityEnabled = true; + entity->gravity = 0; + entity->spriteFlipHorizontal = false; + entity->spriteFlipVertical = false; + entity->scoreValue = 100; + entity->animationTimer = 0; + entity->type = PA_ENTITY_BLOCK_FRAGMENT; + entity->spriteIndex = PA_SP_BLOCK_FRAGMENT; + entity->facingDirection = PA_DIRECTION_NONE; + entity->updateFunction = &pa_updateBlockFragment; + entity->collisionHandler = &pa_dummyCollisionHandler; + entity->tileCollisionHandler = &pa_dummyTileCollisionHandler; + entity->fallOffTileHandler = &defaultFallOffTileHandler; + entity->overlapTileHandler = &pa_defaultOverlapTileHandler; + + return entity; +} + +paEntity_t* createHitBlock(paEntityManager_t* entityManager, uint16_t x, uint16_t y) +{ + paEntity_t* entity = pa_findInactiveEntity(entityManager); + + if (entity == NULL) + { + return NULL; + } + + entity->active = true; + entity->visible = true; + entity->x = x << SUBPIXEL_RESOLUTION; + entity->y = y << SUBPIXEL_RESOLUTION; + entity->homeTileX = PA_TO_TILECOORDS(x); + entity->homeTileY = PA_TO_TILECOORDS(y); + + entity->xspeed = 0; + entity->yspeed = 0; + entity->yDamping = 0; + entity->xMaxSpeed = 132; + entity->yMaxSpeed = 132; + entity->gravityEnabled = true; + entity->gravity = 4; + + entity->spriteFlipHorizontal = false; + entity->spriteFlipVertical = false; + + entity->type = ENTITY_HIT_BLOCK; + entity->spriteIndex = PA_SP_BLOCK; + entity->animationTimer = 0; + entity->updateFunction = &updateHitBlock; + entity->collisionHandler = &pa_dummyCollisionHandler; + entity->tileCollisionHandler = &pa_hitBlockTileCollisionHandler; + entity->overlapTileHandler = &pa_defaultOverlapTileHandler; + + return entity; +} + +void pa_freeEntityManager(paEntityManager_t* self) +{ + free(self->entities); +} + +paEntity_t* pa_spawnEnemyFromSpawnBlock(paEntityManager_t* entityManager) +{ + paEntity_t* newEnemy = NULL; + + if (entityManager->gameData->remainingEnemies > 0 + && entityManager->activeEnemies < entityManager->gameData->maxActiveEnemies) + { + uint16_t iterations = 0; + while (newEnemy == NULL && iterations < 2) + { + for (uint16_t ty = 1; ty < 14; ty++) + { + for (uint16_t tx = 1; tx < 16; tx++) + { + uint8_t t = pa_getTile(entityManager->tilemap, tx, ty); + + if (t == PA_TILE_SPAWN_BLOCK_0 + && (iterations > 0 || !(esp_random() % entityManager->gameData->remainingEnemies))) + { + newEnemy + = createCrabdozer(entityManager, (tx << PA_TILE_SIZE_IN_POWERS_OF_2) + PA_HALF_TILE_SIZE, + (ty << PA_TILE_SIZE_IN_POWERS_OF_2) + PA_HALF_TILE_SIZE); + + if (newEnemy != NULL) + { + // pa_setTile(entityManager->tilemap, tx, ty, PA_TILE_EMPTY); + newEnemy->state = PA_EN_ST_STUN; + newEnemy->stateTimer = 120; + /*if(entityManager->activeEnemies == 0 || entityManager->gameData->remainingEnemies == 1){ + //The first and last enemies are permanently angry + newEnemy->stateFlag = true; + }*/ + + paEntity_t* newBreakBlock = pa_createBreakBlock( + entityManager, (tx << PA_TILE_SIZE_IN_POWERS_OF_2) + PA_HALF_TILE_SIZE, + (ty << PA_TILE_SIZE_IN_POWERS_OF_2) + PA_HALF_TILE_SIZE); + if (newBreakBlock != NULL) + { + soundPlaySfx(&(entityManager->soundManager->sndSpawn), 3); + } + + entityManager->activeEnemies++; + entityManager->gameData->remainingEnemies--; + return newEnemy; + } + } + } + } + iterations++; + } + } + + return newEnemy; +} \ No newline at end of file diff --git a/main/modes/games/pango/paEntityManager.h b/main/modes/games/pango/paEntityManager.h new file mode 100644 index 000000000..48412900f --- /dev/null +++ b/main/modes/games/pango/paEntityManager.h @@ -0,0 +1,68 @@ +#ifndef _PA_ENTITYMANAGER_H_ +#define _PA_ENTITYMANAGER_H_ + +//============================================================================== +// Includes +//============================================================================== + +#include +#include +#include "pango_typedef.h" +#include "paEntity.h" +#include "paTilemap.h" +#include "paGameData.h" +#include "hdw-tft.h" +#include "paSprite.h" +#include "paSoundManager.h" +#include "paWsgManager.h" + +//============================================================================== +// Constants +//============================================================================== +#define MAX_ENTITIES 32 +#define SPRITESET_SIZE 32 + +//============================================================================== +// Structs +//============================================================================== + +struct paEntityManager_t +{ + paEntity_t* entities; + uint8_t activeEntities; + + int16_t activeEnemies; + int16_t aggroEnemies; + + paGameData_t* gameData; + + paEntity_t* viewEntity; + paEntity_t* playerEntity; + + paWsgManager_t* wsgManager; + paTilemap_t* tilemap; + + paSoundManager_t* soundManager; +}; + +//============================================================================== +// Prototypes +//============================================================================== +void pa_initializeEntityManager(paEntityManager_t* entityManager, paWsgManager_t* wsgManager, paTilemap_t* tilemap, + paGameData_t* gameData, paSoundManager_t* soundManager); +void pa_updateEntities(paEntityManager_t* entityManager); +void pa_deactivateAllEntities(paEntityManager_t* entityManager, bool excludePlayer); +void pa_drawEntities(paEntityManager_t* entityManager); +paEntity_t* pa_findInactiveEntity(paEntityManager_t* entityManager); + +void pa_viewFollowEntity(paTilemap_t* tilemap, paEntity_t* entity); +paEntity_t* pa_createEntity(paEntityManager_t* entityManager, uint8_t objectIndex, uint16_t x, uint16_t y); +paEntity_t* pa_createPlayer(paEntityManager_t* entityManager, uint16_t x, uint16_t y); +paEntity_t* createCrabdozer(paEntityManager_t* entityManager, uint16_t x, uint16_t y); +paEntity_t* createHitBlock(paEntityManager_t* entityManager, uint16_t x, uint16_t y); +void pa_freeEntityManager(paEntityManager_t* entityManager); +paEntity_t* pa_spawnEnemyFromSpawnBlock(paEntityManager_t* entityManager); +paEntity_t* pa_createBreakBlock(paEntityManager_t* entityManager, uint16_t x, uint16_t y); +paEntity_t* pa_createBlockFragment(paEntityManager_t* entityManager, uint16_t x, uint16_t y); + +#endif diff --git a/main/modes/games/pango/paGameData.c b/main/modes/games/pango/paGameData.c new file mode 100644 index 000000000..cf394f013 --- /dev/null +++ b/main/modes/games/pango/paGameData.c @@ -0,0 +1,282 @@ +//============================================================================== +// Includes +//============================================================================== + +#include +#include "paGameData.h" +#include "paTables.h" +#include "paEntityManager.h" +#include "esp_random.h" +#include "hdw-btn.h" +#include "soundFuncs.h" + +//============================================================================== +// Functions +//============================================================================== +void pa_initializeGameData(paGameData_t* gameData, paSoundManager_t* soundManager) +{ + gameData->gameState = 0; + gameData->btnState = 0; + gameData->score = 0; + gameData->lives = 3; + gameData->countdown = 000; + gameData->world = 1; + gameData->level = 1; + gameData->frameCount = 0; + gameData->coins = 0; + gameData->combo = 0; + gameData->comboTimer = 0; + gameData->bgColor = c000; + gameData->initials[0] = 'A'; + gameData->initials[1] = 'A'; + gameData->initials[2] = 'A'; + gameData->rank = 5; + gameData->extraLifeCollected = false; + gameData->checkpoint = 0; + gameData->levelDeaths = 0; + gameData->initialHp = 1; + gameData->debugMode = false; + gameData->continuesUsed = false; + gameData->inGameTimer = 0; + gameData->soundManager = soundManager; +} + +void pa_initializeGameDataFromTitleScreen(paGameData_t* gameData, uint16_t levelIndex) +{ + gameData->gameState = 0; + gameData->btnState = 0; + gameData->score = 0; + gameData->lives = 3; + gameData->countdown = 000; + gameData->frameCount = 0; + gameData->coins = 0; + gameData->combo = 0; + gameData->comboTimer = 0; + gameData->bgColor = c000; + gameData->extraLifeCollected = false; + gameData->checkpoint = 0; + gameData->levelDeaths = 0; + gameData->currentBgm = 0; + gameData->changeBgm = 0; + gameData->initialHp = 1; + gameData->continuesUsed = (gameData->world == 1 && gameData->level == 1) ? false : true; + gameData->inGameTimer = 0; + + pa_setDifficultyLevel(gameData, levelIndex); + + pa_resetGameDataLeds(gameData); +} + +void pa_updateLedsHpMeter(paEntityManager_t* entityManager, paGameData_t* gameData) +{ + if (entityManager->playerEntity == NULL) + { + return; + } + + uint8_t hp = entityManager->playerEntity->hp; + if (hp > 3) + { + hp = 3; + } + + // HP meter led pairs: + // 3 4 + // 2 5 + // 1 6 + for (int32_t i = 1; i < 7; i++) + { + gameData->leds[i].r = 0x80; + gameData->leds[i].g = 0x00; + gameData->leds[i].b = 0x00; + } + + for (int32_t i = 1; i < 1 + hp; i++) + { + gameData->leds[i].r = 0x00; + gameData->leds[i].g = 0x80; + + gameData->leds[7 - i].r = 0x00; + gameData->leds[7 - i].g = 0x80; + } + + setLeds(gameData->leds, CONFIG_NUM_LEDS); +} + +void pa_scorePoints(paGameData_t* gameData, uint16_t points) +{ + gameData->combo++; + + uint32_t comboPoints = points * gameData->combo; + + gameData->score += comboPoints; + gameData->comboScore = comboPoints; + + gameData->comboTimer = (gameData->levelDeaths < 3) ? 240 : 1; +} + +void addCoins(paGameData_t* gameData, uint8_t coins) +{ + gameData->coins += coins; + if (gameData->coins > 99) + { + gameData->lives++; + soundPlaySfx(&(gameData->soundManager->snd1up), BZR_LEFT); + gameData->coins = 0; + } + else + { + soundPlaySfx(&(gameData->soundManager->sndCoin), BZR_LEFT); + } +} + +void updateComboTimer(paGameData_t* gameData) +{ + gameData->comboTimer--; + + if (gameData->comboTimer < 0) + { + gameData->comboTimer = 0; + gameData->combo = 0; + } +} + +void pa_resetGameDataLeds(paGameData_t* gameData) +{ + for (uint8_t i = 0; i < CONFIG_NUM_LEDS; i++) + { + gameData->leds[i].r = 0; + gameData->leds[i].g = 0; + gameData->leds[i].b = 0; + } + + setLeds(gameData->leds, CONFIG_NUM_LEDS); +} + +void pa_updateLedsShowHighScores(paGameData_t* gameData) +{ + if (((gameData->frameCount) % 10) == 0) + { + for (int32_t i = 0; i < 8; i++) + { + if (((gameData->frameCount >> 4) % CONFIG_NUM_LEDS) == i) + { + gameData->leds[i].r = 0xF0; + gameData->leds[i].g = 0xF0; + gameData->leds[i].b = 0x00; + } + + if (gameData->leds[i].r > 0) + { + gameData->leds[i].r -= 0x05; + } + + if (gameData->leds[i].g > 0) + { + gameData->leds[i].g -= 0x10; + } + + if (gameData->leds[i].b > 0) + { + gameData->leds[i].b = 0x00; + } + } + } + setLeds(gameData->leds, CONFIG_NUM_LEDS); +} + +void pa_updateLedsGameOver(paGameData_t* gameData) +{ + if (((gameData->frameCount) % 10) == 0) + { + for (int32_t i = 0; i < CONFIG_NUM_LEDS; i++) + { + if (((gameData->frameCount >> 4) % CONFIG_NUM_LEDS) == i) + { + gameData->leds[i].r = 0xF0; + gameData->leds[i].g = 0x00; + gameData->leds[i].b = 0x00; + } + + gameData->leds[i].r -= 0x10; + gameData->leds[i].g = 0x00; + gameData->leds[i].b = 0x00; + } + } + setLeds(gameData->leds, CONFIG_NUM_LEDS); +} + +void pa_updateLedsLevelClear(paGameData_t* gameData) +{ + if (((gameData->frameCount) % 10) == 0) + { + for (int32_t i = 0; i < CONFIG_NUM_LEDS; i++) + { + if (((gameData->frameCount >> 4) % CONFIG_NUM_LEDS) == i) + { + gameData->leds[i].g = (esp_random() % 24) * (10); + gameData->leds[i].b = (esp_random() % 24) * (10); + } + + if (gameData->leds[i].r > 0) + { + gameData->leds[i].r -= 0x10; + } + + if (gameData->leds[i].g > 0) + { + gameData->leds[i].g -= 0x10; + } + + if (gameData->leds[i].b > 0) + { + gameData->leds[i].b -= 0x10; + } + } + } + setLeds(gameData->leds, CONFIG_NUM_LEDS); +} + +void pa_updateLedsGameClear(paGameData_t* gameData) +{ + if (((gameData->frameCount) % 10) == 0) + { + for (int32_t i = 0; i < CONFIG_NUM_LEDS; i++) + { + if (((gameData->frameCount >> 4) % CONFIG_NUM_LEDS) == i) + { + gameData->leds[i].r = (esp_random() % 24) * (10); + gameData->leds[i].g = (esp_random() % 24) * (10); + gameData->leds[i].b = (esp_random() % 24) * (10); + } + + if (gameData->leds[i].r > 0) + { + gameData->leds[i].r -= 0x10; + } + + if (gameData->leds[i].g > 0) + { + gameData->leds[i].g -= 0x10; + } + + if (gameData->leds[i].b > 0) + { + gameData->leds[i].b -= 0x10; + } + } + } + setLeds(gameData->leds, CONFIG_NUM_LEDS); +} + +void pa_setDifficultyLevel(paGameData_t* gameData, uint16_t levelIndex) +{ + gameData->remainingEnemies + = masterDifficulty[(levelIndex * MASTER_DIFFICULTY_TABLE_ROW_LENGTH) + TOTAL_ENEMIES_LOOKUP_OFFSET]; + gameData->maxActiveEnemies + = masterDifficulty[(levelIndex * MASTER_DIFFICULTY_TABLE_ROW_LENGTH) + MAX_ACTIVE_ENEMIES_LOOKUP_OFFSET]; + gameData->enemyInitialSpeed + = masterDifficulty[(levelIndex * MASTER_DIFFICULTY_TABLE_ROW_LENGTH) + ENEMY_INITIAL_SPEED_LOOKUP_OFFSET]; + gameData->minAggroEnemies = 1; + gameData->maxAggroEnemies = 1; +} \ No newline at end of file diff --git a/main/modes/games/pango/paGameData.h b/main/modes/games/pango/paGameData.h new file mode 100644 index 000000000..2a93f4547 --- /dev/null +++ b/main/modes/games/pango/paGameData.h @@ -0,0 +1,86 @@ +#ifndef _PA_GAMEDATA_H_ +#define _PA_GAMEDATA_H_ + +//============================================================================== +// Includes +//============================================================================== + +#include +#include "hdw-led.h" +#include "pango_typedef.h" +#include "palette.h" +#include "paSoundManager.h" + +//============================================================================== +// Constants +//============================================================================== + +//============================================================================== +// Structs +//============================================================================== + +typedef struct +{ + int16_t btnState; + int16_t prevBtnState; + uint8_t gameState; + uint8_t changeState; + + uint32_t score; + uint8_t lives; + uint8_t coins; + int16_t countdown; + uint16_t frameCount; + + uint8_t world; + uint8_t level; + + uint16_t combo; + int16_t comboTimer; + uint32_t comboScore; + + bool extraLifeCollected; + uint8_t checkpoint; + uint8_t levelDeaths; + uint8_t initialHp; + + led_t leds[CONFIG_NUM_LEDS]; + + paletteColor_t bgColor; + + char initials[3]; + uint8_t rank; + bool debugMode; + + uint8_t changeBgm; + uint8_t currentBgm; + + bool continuesUsed; + uint32_t inGameTimer; + + int16_t maxActiveEnemies; + int16_t remainingEnemies; + int16_t enemyInitialSpeed; + int16_t minAggroEnemies; + int16_t maxAggroEnemies; + + paSoundManager_t* soundManager; +} paGameData_t; + +//============================================================================== +// Functions +//============================================================================== +void pa_initializeGameData(paGameData_t* gameData, paSoundManager_t* soundManager); +void pa_initializeGameDataFromTitleScreen(paGameData_t* gameData, uint16_t levelIndex); +void pa_updateLedsHpMeter(paEntityManager_t* entityManager, paGameData_t* gameData); +void pa_scorePoints(paGameData_t* gameData, uint16_t points); +void addCoins(paGameData_t* gameData, uint8_t coins); +void updateComboTimer(paGameData_t* gameData); +void pa_resetGameDataLeds(paGameData_t* gameData); +void pa_updateLedsShowHighScores(paGameData_t* gameData); +void pa_updateLedsLevelClear(paGameData_t* gameData); +void pa_updateLedsGameClear(paGameData_t* gameData); +void pa_updateLedsGameOver(paGameData_t* gameData); +void pa_setDifficultyLevel(paGameData_t* gameData, uint16_t levelIndex); + +#endif \ No newline at end of file diff --git a/main/modes/games/pango/paLeveldef.h b/main/modes/games/pango/paLeveldef.h new file mode 100644 index 000000000..b75733b85 --- /dev/null +++ b/main/modes/games/pango/paLeveldef.h @@ -0,0 +1,19 @@ +#ifndef _LEVELDEF_H_ +#define _LEVELDEF_H_ + +//============================================================================== +// Includes +//============================================================================== +#include + +//============================================================================== +// Structs +//============================================================================== +typedef struct +{ + char filename[16]; + uint16_t timeLimit; + uint16_t checkpointTimeLimit; +} paLeveldef_t; + +#endif diff --git a/main/modes/games/pango/paSoundManager.c b/main/modes/games/pango/paSoundManager.c new file mode 100644 index 000000000..9344b388c --- /dev/null +++ b/main/modes/games/pango/paSoundManager.c @@ -0,0 +1,97 @@ +//============================================================================== +// Includes +//============================================================================== + +#include +#include "paSoundManager.h" + +//============================================================================== +// Functions +//============================================================================== +void pa_initializeSoundManager(paSoundManager_t* self) +{ + loadMidiFile("bgmCastle.mid", &self->bgmCastle, false); + // self->bgmCastle.shouldLoop = true; + + loadMidiFile("bgmDeMAGio.mid", &self->bgmDemagio, false); + // self->bgmDemagio.shouldLoop = true; + + loadMidiFile("bgmGameStart.mid", &self->bgmGameStart, false); + loadMidiFile("bgmIntro.mid", &self->bgmIntro, false); + loadMidiFile("bgmNameEntry.mid", &self->bgmNameEntry, false); + // self->bgmNameEntry.shouldLoop = true; + + loadMidiFile("bgmSmooth.mid", &self->bgmSmooth, false); + // self->bgmSmooth.shouldLoop = true; + + loadMidiFile("bgmUnderground.mid", &self->bgmUnderground, false); + // self->bgmUnderground.shouldLoop = true; + + loadMidiFile("snd1up.mid", &self->snd1up, false); + // loadMidiFile("sndBreak.mid", &self->sndBreak, false); + loadMidiFile("sndCheckpoint.mid", &self->sndCheckpoint, false); + loadMidiFile("sndCoin.mid", &self->sndCoin, false); + loadMidiFile("sndDie.mid", &self->sndDie, false); + loadMidiFile("bgmGameOver.mid", &self->bgmGameOver, false); + loadMidiFile("sndBlockStop.mid", &self->sndHit, false); + loadMidiFile("sndSquish.mid", &self->sndHurt, false); + loadMidiFile("sndJump1.mid", &self->sndJump1, false); + loadMidiFile("sndJump2.mid", &self->sndJump2, false); + loadMidiFile("sndJump3.mid", &self->sndJump3, false); + loadMidiFile("sndLevelClearA.mid", &self->sndLevelClearA, false); + loadMidiFile("sndLevelClearB.mid", &self->sndLevelClearB, false); + loadMidiFile("sndLevelClearC.mid", &self->sndLevelClearC, false); + loadMidiFile("sndLevelClearD.mid", &self->sndLevelClearD, false); + loadMidiFile("sndLevelClearS.mid", &self->sndLevelClearS, false); + loadMidiFile("sndMenuConfirm.mid", &self->sndMenuConfirm, false); + loadMidiFile("sndMenuDeny.mid", &self->sndMenuDeny, false); + loadMidiFile("sndMenuSelect.mid", &self->sndMenuSelect, false); + loadMidiFile("sndOutOfTime.mid", &self->sndOuttaTime, false); + loadMidiFile("sndPause.mid", &self->sndPause, false); + loadMidiFile("sndPowerUp.mid", &self->sndPowerUp, false); + loadMidiFile("sndSlide.mid", &self->sndSquish, false); + // loadMidiFile("sndTally.mid", &self->sndTally, false); + loadMidiFile("sndWarp.mid", &self->sndWarp, false); + loadMidiFile("sndWaveBall.mid", &self->sndWaveBall, false); + + loadMidiFile("sndSpawn.mid", &self->sndSpawn, false); +} + +void pa_freeSoundManager(paSoundManager_t* self) +{ + unloadMidiFile(&self->bgmCastle); + unloadMidiFile(&self->bgmDemagio); + unloadMidiFile(&self->bgmGameStart); + unloadMidiFile(&self->bgmIntro); + unloadMidiFile(&self->bgmNameEntry); + unloadMidiFile(&self->bgmSmooth); + unloadMidiFile(&self->bgmUnderground); + unloadMidiFile(&self->snd1up); + unloadMidiFile(&self->sndBreak); + unloadMidiFile(&self->sndCheckpoint); + unloadMidiFile(&self->sndCoin); + unloadMidiFile(&self->sndDie); + unloadMidiFile(&self->bgmGameOver); + unloadMidiFile(&self->sndHit); + unloadMidiFile(&self->sndHurt); + unloadMidiFile(&self->sndJump1); + unloadMidiFile(&self->sndJump2); + unloadMidiFile(&self->sndJump3); + unloadMidiFile(&self->sndLevelClearA); + unloadMidiFile(&self->sndLevelClearB); + unloadMidiFile(&self->sndLevelClearC); + unloadMidiFile(&self->sndLevelClearD); + unloadMidiFile(&self->sndLevelClearS); + unloadMidiFile(&self->sndMenuConfirm); + unloadMidiFile(&self->sndMenuDeny); + unloadMidiFile(&self->sndMenuSelect); + unloadMidiFile(&self->sndOuttaTime); + unloadMidiFile(&self->sndPause); + unloadMidiFile(&self->sndPowerUp); + unloadMidiFile(&self->sndSquish); + unloadMidiFile(&self->sndTally); + unloadMidiFile(&self->sndWarp); + unloadMidiFile(&self->sndWaveBall); + + unloadMidiFile(&self->sndSpawn); +} \ No newline at end of file diff --git a/main/modes/games/pango/paSoundManager.h b/main/modes/games/pango/paSoundManager.h new file mode 100644 index 000000000..48c625ac5 --- /dev/null +++ b/main/modes/games/pango/paSoundManager.h @@ -0,0 +1,65 @@ +#ifndef _PA_SOUNDMANAGER_H_ +#define _PA_SOUNDMANAGER_H_ + +//============================================================================== +// Includes +//============================================================================== + +#include +#include +#include + +//============================================================================== +// Constants +//============================================================================== + +//============================================================================== +// Structs +//============================================================================== + +typedef struct +{ + midiFile_t bgmDemagio; + midiFile_t bgmIntro; + midiFile_t bgmSmooth; + midiFile_t bgmUnderground; + midiFile_t bgmCastle; + midiFile_t bgmGameStart; + midiFile_t sndDie; + midiFile_t sndMenuSelect; + midiFile_t sndMenuConfirm; + midiFile_t sndMenuDeny; + midiFile_t sndPause; + midiFile_t sndHit; + midiFile_t sndSquish; + midiFile_t sndBreak; + midiFile_t sndCoin; + midiFile_t sndPowerUp; + midiFile_t sndJump1; + midiFile_t sndJump2; + midiFile_t sndJump3; + midiFile_t sndWarp; + midiFile_t sndHurt; + midiFile_t sndWaveBall; + midiFile_t snd1up; + midiFile_t sndCheckpoint; + midiFile_t sndLevelClearD; + midiFile_t sndLevelClearC; + midiFile_t sndLevelClearB; + midiFile_t sndLevelClearA; + midiFile_t sndLevelClearS; + midiFile_t sndTally; + midiFile_t bgmNameEntry; + midiFile_t bgmGameOver; + midiFile_t sndOuttaTime; + + midiFile_t sndSpawn; +} paSoundManager_t; + +//============================================================================== +// Functions +//============================================================================== +void pa_initializeSoundManager(paSoundManager_t* self); +void pa_freeSoundManager(paSoundManager_t* self); + +#endif \ No newline at end of file diff --git a/main/modes/games/pango/paSprite.h b/main/modes/games/pango/paSprite.h new file mode 100644 index 000000000..5898a8ee5 --- /dev/null +++ b/main/modes/games/pango/paSprite.h @@ -0,0 +1,20 @@ +#ifndef _PA_SPRITE_H_ +#define _PA_SPRITE_H_ + +//============================================================================== +// Includes +//============================================================================== +#include +#include "wsg.h" + +//============================================================================== +// Structs +//============================================================================== +typedef struct +{ + wsg_t* wsg; + int16_t originX; + int16_t originY; +} paSprite_t; + +#endif diff --git a/main/modes/games/pango/paTables.h b/main/modes/games/pango/paTables.h new file mode 100644 index 000000000..ebdd6c82c --- /dev/null +++ b/main/modes/games/pango/paTables.h @@ -0,0 +1,69 @@ +#ifndef _PA_TABLES_H_ +#define _PA_TABLES_H_ + +//============================================================================== +// Includes +//============================================================================== +#include + +//============================================================================== +// Look Up Tables +//============================================================================== + +#define DEFAULT_ENEMY_SPAWN_LOCATION_TABLE_LENGTH 20 + +#define DEFAULT_ENEMY_SPAWN_LOCATION_TX_LOOKUP_OFFSET 0 +#define DEFAULT_ENEMY_SPAWN_LOCATION_TY_LOOKUP_OFFSET 1 +#define DEFAULT_ENEMY_SPAWN_LOCATION_ROW_LENGTH 2 + +static const uint8_t + defaultEnemySpawnLocations[DEFAULT_ENEMY_SPAWN_LOCATION_TABLE_LENGTH * DEFAULT_ENEMY_SPAWN_LOCATION_ROW_LENGTH] + = { + + // tx,ty + 1, 1, 15, 1, 1, 13, 15, 13, 8, 1, 15, 7, 8, 13, 1, 7, 4, 1, 12, 1, + 15, 4, 15, 10, 12, 13, 4, 13, 1, 10, 1, 4, 6, 1, 10, 1, 6, 13, 10, 13}; + +/*#define MASTER_DIFFICULTY2_TABLE_LENGTH 6 + +#define TOTAL_ENEMIES_LOOKUP_OFFSET 0 +#define INITIAL_ACTIVE_ENEMIES_LOOKUP_OFFSET 1 +#define MAX_ACTIVE_ENEMIES_LOOKUP_OFFSET 2 +#define INITIAL_AGGRESSIVE_ENEMIES_LOOKUP_OFFET 3 +#define MAX_AGGRESSIVE_ENEMIES_LOOKUP_OFFSET 4 +#define INITIAL_ENEMY_SPEED 5 +#define MAX_ENEMY_SPEED 6 +#define MASTER_DIFFICULTY2_TABLE_ROW_LENGTH 7 + +static const int16_t masterDifficulty2[MASTER_DIFFICULTY2_TABLE_LENGTH * MASTER_DIFFICULTY2_TABLE_ROW_LENGTH] = { + +//In-level difficulty curve: +//Starting at 15 seconds, the leftmost parameter will increment every 10 seconds until it reaches the max, +//Then the same will happen with the next parameter in the table until all reach the end-state for the current level. + +// Total initial max initial max initial max +// enemies, active, active, aggressive, aggressive, speed, speed + 5, 1, 2, 0, 1, 12, 12, + 5, 2, 3, 0, 1, 12, 12, + 6, 3, 3, 0, 2, 12, 14, + 6, 3, 3, 0, 3, 12, 14, + 7, 3, 3, 0, 3, 13, 15, + 7, 4, 4, 0, 1, 8, 10, +};*/ + +#define MASTER_DIFFICULTY_TABLE_LENGTH 16 + +#define TOTAL_ENEMIES_LOOKUP_OFFSET 0 +#define MAX_ACTIVE_ENEMIES_LOOKUP_OFFSET 1 +#define ENEMY_INITIAL_SPEED_LOOKUP_OFFSET 2 +#define MASTER_DIFFICULTY_TABLE_ROW_LENGTH 3 + +static const int16_t masterDifficulty[MASTER_DIFFICULTY_TABLE_LENGTH * MASTER_DIFFICULTY_TABLE_ROW_LENGTH] = { + + // Total max min max + // enemies, active, speed aggro, aggro, + 5, 2, 12, 5, 3, 12, 6, 3, 13, 7, 4, 10, 8, 3, 13, 8, 3, 14, 8, 3, 15, 7, 2, 16, + 8, 3, 15, 8, 3, 16, 9, 3, 16, 8, 4, 12, 9, 3, 16, 8, 3, 17, 10, 4, 14, 12, 1, 18, +}; + +#endif \ No newline at end of file diff --git a/main/modes/games/pango/paTilemap.c b/main/modes/games/pango/paTilemap.c new file mode 100644 index 000000000..92808b766 --- /dev/null +++ b/main/modes/games/pango/paTilemap.c @@ -0,0 +1,429 @@ +//============================================================================== +// Includes +//============================================================================== + +#include +#include +#include +#include + +#include "fs_wsg.h" +#include "paTilemap.h" +#include "paLeveldef.h" +#include "esp_random.h" + +#include "cnfs.h" + +//============================================================================== +// Function Prototypes +//============================================================================== + +// bool isInteractive(uint8_t tileId); + +//============================================================================== +// Functions +//============================================================================== + +void pa_initializeTileMap(paTilemap_t* tilemap, paWsgManager_t* wsgManager) +{ + tilemap->mapOffsetX = 0; + tilemap->mapOffsetY = 0; + + tilemap->tileSpawnEnabled = false; + tilemap->executeTileSpawnColumn = -1; + tilemap->executeTileSpawnRow = -1; + + tilemap->animationFrame = 0; + tilemap->animationTimer = 23; + + tilemap->wsgManager = wsgManager; +} + +void pa_drawTileMap(paTilemap_t* tilemap) +{ + tilemap->animationTimer--; + if (tilemap->animationTimer < 0) + { + tilemap->animationFrame = ((tilemap->animationFrame + 1) % 3); + tilemap->animationTimer = 23; + } + + for (int32_t y = (tilemap->mapOffsetY >> PA_TILE_SIZE_IN_POWERS_OF_2); + y < (tilemap->mapOffsetY >> PA_TILE_SIZE_IN_POWERS_OF_2) + PA_TILE_MAP_DISPLAY_HEIGHT_TILES; y++) + { + if (y >= tilemap->mapHeight) + { + break; + } + + for (int32_t x = (tilemap->mapOffsetX >> PA_TILE_SIZE_IN_POWERS_OF_2); + x < (tilemap->mapOffsetX >> PA_TILE_SIZE_IN_POWERS_OF_2) + PA_TILE_MAP_DISPLAY_WIDTH_TILES; x++) + { + if (x >= tilemap->mapWidth) + { + break; + } + else if (x < 0) + { + continue; + } + + uint8_t tile = tilemap->map[(y * tilemap->mapWidth) + x]; + + if (tile < PA_TILE_WALL_0 || tile == PA_TILE_INVISIBLE_BLOCK) + { + continue; + } + + // Test animated tiles + if (tile == PA_TILE_SPAWN_BLOCK_0 || tile == PA_TILE_BONUS_BLOCK_0) + { + tile += tilemap->animationFrame; + } + + // Draw only non-garbage tiles + if (tile > 0 && tile < 13) + { + if (pa_needsTransparency(tile)) + { + // drawWsgSimpleFast(&tilemap->tiles[tile - 32], x * PA_TILE_SIZE - tilemap->mapOffsetX, y * + // PA_TILE_SIZE - tilemap->mapOffsetY); + drawWsgSimple(tilemap->wsgManager->tiles[tile - 1], x * PA_TILE_SIZE - tilemap->mapOffsetX, + y * PA_TILE_SIZE - tilemap->mapOffsetY); + } + else + { + drawWsgTile(tilemap->wsgManager->tiles[tile - 1], x * PA_TILE_SIZE - tilemap->mapOffsetX, + y * PA_TILE_SIZE - tilemap->mapOffsetY); + } + } + else if (tile > 127 && tilemap->tileSpawnEnabled + && (tilemap->executeTileSpawnColumn == x || tilemap->executeTileSpawnRow == y + || tilemap->executeTileSpawnAll)) + { + pa_tileSpawnEntity(tilemap, tile - 128, x, y); + } + } + } + + tilemap->executeTileSpawnAll = 0; +} + +void pa_scrollTileMap(paTilemap_t* tilemap, int16_t x, int16_t y) +{ + if (x != 0) + { + uint8_t oldTx = tilemap->mapOffsetX >> PA_TILE_SIZE_IN_POWERS_OF_2; + tilemap->mapOffsetX = CLAMP(tilemap->mapOffsetX + x, tilemap->minMapOffsetX, tilemap->maxMapOffsetX); + uint8_t newTx = tilemap->mapOffsetX >> PA_TILE_SIZE_IN_POWERS_OF_2; + + if (newTx > oldTx) + { + tilemap->executeTileSpawnColumn = oldTx + PA_TILE_MAP_DISPLAY_WIDTH_TILES; + } + else if (newTx < oldTx) + { + tilemap->executeTileSpawnColumn = newTx; + } + else + { + tilemap->executeTileSpawnColumn = -1; + } + } + + if (y != 0) + { + uint8_t oldTy = tilemap->mapOffsetY >> PA_TILE_SIZE_IN_POWERS_OF_2; + tilemap->mapOffsetY = CLAMP(tilemap->mapOffsetY + y, tilemap->minMapOffsetY, tilemap->maxMapOffsetY); + uint8_t newTy = tilemap->mapOffsetY >> PA_TILE_SIZE_IN_POWERS_OF_2; + + if (newTy > oldTy) + { + tilemap->executeTileSpawnRow = oldTy + PA_TILE_MAP_DISPLAY_HEIGHT_TILES; + } + else if (newTy < oldTy) + { + tilemap->executeTileSpawnRow = newTy; + } + else + { + tilemap->executeTileSpawnRow = -1; + } + } +} + +bool pa_loadMapFromFile(paTilemap_t* tilemap, const char* name) +{ + if (tilemap->map != NULL) + { + free(tilemap->map); + } + + size_t sz; + uint8_t* buf = cnfsReadFile(name, &sz, false); + + if (NULL == buf) + { + ESP_LOGE("MAP", "Failed to read %s", name); + return false; + } + + uint8_t width = buf[0]; + uint8_t height = buf[1]; + + tilemap->map = (uint8_t*)heap_caps_calloc(width * height, sizeof(uint8_t), MALLOC_CAP_SPIRAM); + memcpy(tilemap->map, &buf[2], width * height); + + tilemap->mapWidth = width; + tilemap->mapHeight = height; + + tilemap->minMapOffsetX = 0; + tilemap->maxMapOffsetX = width * PA_TILE_SIZE - PA_TILE_MAP_DISPLAY_WIDTH_PIXELS; + + tilemap->minMapOffsetY = 0; + tilemap->maxMapOffsetY = height * PA_TILE_SIZE - PA_TILE_MAP_DISPLAY_HEIGHT_PIXELS; + + /*for (uint16_t i = 0; i < 16; i++) + { + tilemap->warps[i].x = buf[2 + width * height + i * 2]; + tilemap->warps[i].y = buf[2 + width * height + i * 2 + 1]; + }*/ + + free(buf); + + return true; +} + +void pa_tileSpawnEntity(paTilemap_t* tilemap, uint8_t objectIndex, uint8_t tx, uint8_t ty) +{ + paEntity_t* entityCreated + = pa_createEntity(tilemap->entityManager, objectIndex, (tx << PA_TILE_SIZE_IN_POWERS_OF_2) + 8, + (ty << PA_TILE_SIZE_IN_POWERS_OF_2) + 8); + + if (entityCreated != NULL) + { + entityCreated->homeTileX = tx; + entityCreated->homeTileY = ty; + tilemap->map[ty * tilemap->mapWidth + tx] = 0; + } +} + +uint8_t pa_getTile(paTilemap_t* tilemap, uint8_t tx, uint8_t ty) +{ + // ty = CLAMP(ty, 0, tilemap->mapHeight - 1); + + if (/*ty < 0 ||*/ ty >= tilemap->mapHeight) + { + // ty = 0; + return 0; + } + + if (/*tx < 0 ||*/ tx >= tilemap->mapWidth) + { + return 0; + } + + return tilemap->map[ty * tilemap->mapWidth + tx]; +} + +void pa_setTile(paTilemap_t* tilemap, uint8_t tx, uint8_t ty, uint8_t newTileId) +{ + // ty = CLAMP(ty, 0, tilemap->mapHeight - 1); + + if (ty >= tilemap->mapHeight || tx >= tilemap->mapWidth) + { + return; + } + + tilemap->map[ty * tilemap->mapWidth + tx] = newTileId; +} + +bool pa_isSolid(uint8_t tileId) +{ + switch (tileId) + { + case PA_TILE_EMPTY: + return false; + break; + default: + return true; + } +} + +// bool isInteractive(uint8_t tileId) +// { +// return tileId > PA_TILE_INVISIBLE_BLOCK && tileId < PA_TILE_BG_GOAL_ZONE; +// } + +void pa_unlockScrolling(paTilemap_t* tilemap) +{ + tilemap->minMapOffsetX = 0; + tilemap->maxMapOffsetX = tilemap->mapWidth * PA_TILE_SIZE - PA_TILE_MAP_DISPLAY_WIDTH_PIXELS; + + tilemap->minMapOffsetY = 0; + tilemap->maxMapOffsetY = tilemap->mapHeight * PA_TILE_SIZE - PA_TILE_MAP_DISPLAY_HEIGHT_PIXELS; +} + +bool pa_needsTransparency(uint8_t tileId) +{ + switch (tileId) + { + /*case PA_TILE_BOUNCE_BLOCK: + case PA_TILE_GIRDER: + case PA_TILE_CONTAINER_1 ... PA_TILE_CONTAINER_3: + case PA_TILE_COIN_1 ... PA_TILE_COIN_3: + case PA_TILE_LADDER: + case PA_TILE_BG_GOAL_ZONE ... PA_TILE_BG_CLOUD_D: + return true; + case PA_TILE_BG_CLOUD: + return false; + case PA_TILE_BG_TALL_GRASS ... PA_TILE_BG_MOUNTAIN_R: + return true; + case PA_TILE_BG_MOUNTAIN ... PA_TILE_BG_METAL: + return false; + case PA_TILE_BG_CHAINS: + return true; + case PA_TILE_BG_WALL: + return false;*/ + default: + return true; + } +} + +void pa_freeTilemap(paTilemap_t* tilemap) +{ + free(tilemap->map); +} + +void pa_generateMaze(paTilemap_t* tilemap) +{ + int32_t tx = 1; + int32_t ty = 13; + pa_setTile(tilemap, tx, ty, PA_TILE_EMPTY); + + while (ty > 1) + { + tx = 1; + while (tx < 15) + { + if (!pa_getTile(tilemap, tx, ty) && !pa_genPathContinue(tilemap, tx, ty)) + { + pa_genMakePath(tilemap, tx, ty); + } + tx += 2; + } + ty -= 2; + } +} + +bool pa_genPathContinue(paTilemap_t* tilemap, uint32_t x, uint32_t y) +{ + if (pa_getTile(tilemap, x, y - 2)) + { + return false; + } + if (pa_getTile(tilemap, x, y + 2)) + { + return false; + } + if (pa_getTile(tilemap, x + 2, y)) + { + return false; + } + if (pa_getTile(tilemap, x - 2, y)) + { + return false; + } + + return true; +} + +void pa_genMakePath(paTilemap_t* tilemap, uint32_t x, uint32_t y) +{ + bool done = 0; + uint32_t nx = x; + uint32_t ny = y; + + while (!done) + { + uint32_t r = esp_random() % 4; + + switch (r) + { + case 0: + if (pa_getTile(tilemap, nx, ny - 2)) + { + pa_setTile(tilemap, nx, ny - 1, 0); + pa_setTile(tilemap, nx, ny - 2, 0); + ny -= 2; + } + break; + case 1: + if (pa_getTile(tilemap, nx, ny + 2)) + { + pa_setTile(tilemap, nx, ny + 1, 0); + pa_setTile(tilemap, nx, ny + 2, 0); + ny += 2; + } + break; + case 2: + if (pa_getTile(tilemap, nx - 2, ny)) + { + pa_setTile(tilemap, nx - 1, ny, 0); + pa_setTile(tilemap, nx - 2, ny, 0); + nx -= 2; + } + break; + case 3: + if (pa_getTile(tilemap, nx + 2, ny)) + { + pa_setTile(tilemap, nx + 1, ny, 0); + pa_setTile(tilemap, nx + 2, ny, 0); + nx += 2; + } + break; + } + + done = pa_genPathContinue(tilemap, nx, ny); + } +} + +void pa_placeEnemySpawns(paTilemap_t* tilemap) +{ + int16_t enemySpawnsToPlace = tilemap->entityManager->gameData->remainingEnemies; + int16_t enemiesPlaced = 0; + bool previouslyPlaced = false; + int16_t iterations = 0; + + // Place enemy spawn blocks + while (enemySpawnsToPlace > 0 && iterations < 16) + { + for (uint16_t ty = 1; ty < 13; ty++) + { + for (uint16_t tx = 1; tx < 15; tx++) + { + if (enemySpawnsToPlace <= 0) + { + break; + } + + uint8_t t = pa_getTile(tilemap, tx, ty); + + if (t == PA_TILE_BLOCK && !previouslyPlaced && !(esp_random() % 15)) + { + pa_setTile(tilemap, tx, ty, PA_TILE_SPAWN_BLOCK_0); + enemySpawnsToPlace--; + enemiesPlaced++; + previouslyPlaced = true; + } + else + { + previouslyPlaced = false; + } + } + } + iterations++; + } + + tilemap->entityManager->gameData->remainingEnemies = enemiesPlaced; +} \ No newline at end of file diff --git a/main/modes/games/pango/paTilemap.h b/main/modes/games/pango/paTilemap.h new file mode 100644 index 000000000..66ea92770 --- /dev/null +++ b/main/modes/games/pango/paTilemap.h @@ -0,0 +1,111 @@ +#ifndef _PA_TILE_MAP_H_ +#define _PA_TILE_MAP_H_ + +//============================================================================== +// Includes +//============================================================================== + +#include +#include +#include "wsg.h" +#include "paWsgManager.h" +#include "macros.h" +#include "pango_typedef.h" +#include "paEntityManager.h" + +//============================================================================== +// Constants +//============================================================================== +#define PA_TILE_MAP_DISPLAY_WIDTH_PIXELS 280 // The screen size +#define PA_TILE_MAP_DISPLAY_HEIGHT_PIXELS 240 // The screen size +#define PA_TILE_MAP_DISPLAY_WIDTH_TILES 19 // The screen size in tiles + 1 +#define PA_TILE_MAP_DISPLAY_HEIGHT_TILES 16 // The screen size in tiles + 1 + +#define PA_TILE_SIZE 16 +#define PA_HALF_TILE_SIZE 8 +#define PA_TILE_SIZE_IN_POWERS_OF_2 4 + +#define PA_TILE_SET_SIZE 15 + +//============================================================================== +// Enums +//============================================================================== +typedef enum +{ + PA_TILE_EMPTY, + PA_TILE_WALL_0, + PA_TILE_WALL_1, + PA_TILE_WALL_2, + PA_TILE_WALL_3, + PA_TILE_WALL_4, + PA_TILE_WALL_5, + PA_TILE_WALL_6, + PA_TILE_WALL_7, + PA_TILE_BLOCK, + PA_TILE_SPAWN_BLOCK_0, + PA_TILE_SPAWN_BLOCK_1, + PA_TILE_SPAWN_BLOCK_2, + PA_TILE_BONUS_BLOCK_0, + PA_TILE_BONUS_BLOCK_1, + PA_TILE_BONUS_BLOCK_2, + PA_TILE_INVISIBLE_BLOCK +} PA_TILE_Index_t; + +//============================================================================== +// Structs +//============================================================================== +typedef struct +{ + uint8_t x; + uint8_t y; +} pa_warp_t; +struct paTilemap_t +{ + paWsgManager_t* wsgManager; + + uint8_t* map; + uint8_t mapWidth; + uint8_t mapHeight; + + pa_warp_t warps[16]; + + int16_t mapOffsetX; + int16_t mapOffsetY; + + int16_t minMapOffsetX; + int16_t maxMapOffsetX; + int16_t minMapOffsetY; + int16_t maxMapOffsetY; + + bool tileSpawnEnabled; + int16_t executeTileSpawnColumn; + int16_t executeTileSpawnRow; + bool executeTileSpawnAll; + + paEntityManager_t* entityManager; + + uint8_t animationFrame; + int16_t animationTimer; +}; + +//============================================================================== +// Prototypes +//============================================================================== +void pa_initializeTileMap(paTilemap_t* tilemap, paWsgManager_t* wsgManager); +void pa_drawTileMap(paTilemap_t* tilemap); +void pa_scrollTileMap(paTilemap_t* tilemap, int16_t x, int16_t y); +void pa_drawTile(paTilemap_t* tilemap, uint8_t tileId, int16_t x, int16_t y); +bool pa_loadMapFromFile(paTilemap_t* tilemap, const char* name); +void pa_tileSpawnEntity(paTilemap_t* tilemap, uint8_t objectIndex, uint8_t tx, uint8_t ty); +uint8_t pa_getTile(paTilemap_t* tilemap, uint8_t tx, uint8_t ty); +void pa_setTile(paTilemap_t* tilemap, uint8_t tx, uint8_t ty, uint8_t newTileId); +bool pa_isSolid(uint8_t tileId); +void pa_unlockScrolling(paTilemap_t* tilemap); +bool pa_needsTransparency(uint8_t tileId); +void pa_freeTilemap(paTilemap_t* tilemap); +void pa_generateMaze(paTilemap_t* tilemap); +bool pa_genPathContinue(paTilemap_t* tilemap, uint32_t x, uint32_t y); +void pa_genMakePath(paTilemap_t* tilemap, uint32_t x, uint32_t y); +void pa_placeEnemySpawns(paTilemap_t* tilemap); + +#endif diff --git a/main/modes/games/pango/paWsgManager.c b/main/modes/games/pango/paWsgManager.c new file mode 100644 index 000000000..6ba690e25 --- /dev/null +++ b/main/modes/games/pango/paWsgManager.c @@ -0,0 +1,295 @@ +//============================================================================== +// Includes +//============================================================================== + +#include +#include +#include "fs_wsg.h" +#include "paWsgManager.h" + +//============================================================================== +// Functions +//============================================================================== + +void pa_initializeWsgManager(paWsgManager_t* self) +{ + pa_loadWsgs(self); + pa_initializeSprites(self); + pa_initializeTiles(self); +} + +void pa_freeWsgManager(paWsgManager_t* self) +{ + for (uint16_t i = 0; i < PA_WSGS_SIZE; i++) + { + freeWsg(&self->wsgs[i]); + } +} + +void pa_loadWsgs(paWsgManager_t* self) +{ + loadWsg("pa-100.wsg", &self->wsgs[PA_WSG_PANGO_SOUTH], false); + loadWsg("pa-101.wsg", &self->wsgs[PA_WSG_PANGO_WALK_SOUTH], false); + loadWsg("pa-102.wsg", &self->wsgs[PA_WSG_PANGO_NORTH], false); + loadWsg("pa-103.wsg", &self->wsgs[PA_WSG_PANGO_WALK_NORTH], false); + loadWsg("pa-104.wsg", &self->wsgs[PA_WSG_PANGO_SIDE], false); + loadWsg("pa-106.wsg", &self->wsgs[PA_WSG_PANGO_WALK_SIDE_1], false); + loadWsg("pa-105.wsg", &self->wsgs[PA_WSG_PANGO_WALK_SIDE_2], false); + loadWsg("pa-107.wsg", &self->wsgs[PA_WSG_PANGO_PUSH_SOUTH_1], false); + loadWsg("pa-108.wsg", &self->wsgs[PA_WSG_PANGO_PUSH_SOUTH_2], false); + loadWsg("pa-109.wsg", &self->wsgs[PA_WSG_PANGO_PUSH_NORTH_1], false); + loadWsg("pa-110.wsg", &self->wsgs[PA_WSG_PANGO_PUSH_NORTH_2], false); + loadWsg("pa-111.wsg", &self->wsgs[PA_WSG_PANGO_PUSH_SIDE_1], false); + loadWsg("pa-112.wsg", &self->wsgs[PA_WSG_PANGO_PUSH_SIDE_2], false); + loadWsg("pa-113.wsg", &self->wsgs[PA_WSG_PANGO_HURT], false); + loadWsg("pa-114.wsg", &self->wsgs[PA_WSG_PANGO_WIN], false); + loadWsg("pa-015.wsg", &self->wsgs[PA_WSG_PANGO_ICON], false); + loadWsg("po-000.wsg", &self->wsgs[PA_WSG_PO_SOUTH], false); + loadWsg("po-001.wsg", &self->wsgs[PA_WSG_PO_WALK_SOUTH], false); + loadWsg("po-002.wsg", &self->wsgs[PA_WSG_PO_NORTH], false); + loadWsg("po-003.wsg", &self->wsgs[PA_WSG_PO_WALK_NORTH], false); + loadWsg("po-004.wsg", &self->wsgs[PA_WSG_PO_SIDE], false); + loadWsg("po-006.wsg", &self->wsgs[PA_WSG_PO_WALK_SIDE_1], false); + loadWsg("po-005.wsg", &self->wsgs[PA_WSG_PO_WALK_SIDE_2], false); + loadWsg("po-007.wsg", &self->wsgs[PA_WSG_PO_PUSH_SOUTH_1], false); + loadWsg("po-008.wsg", &self->wsgs[PA_WSG_PO_PUSH_SOUTH_2], false); + loadWsg("po-009.wsg", &self->wsgs[PA_WSG_PO_PUSH_NORTH_1], false); + loadWsg("po-010.wsg", &self->wsgs[PA_WSG_PO_PUSH_NORTH_2], false); + loadWsg("po-011.wsg", &self->wsgs[PA_WSG_PO_PUSH_SIDE_1], false); + loadWsg("po-012.wsg", &self->wsgs[PA_WSG_PO_PUSH_SIDE_2], false); + loadWsg("po-013.wsg", &self->wsgs[PA_WSG_PO_HURT], false); + loadWsg("po-014.wsg", &self->wsgs[PA_WSG_PO_WIN], false); + loadWsg("pa-015.wsg", &self->wsgs[PA_WSG_PO_ICON], false); + loadWsg("px-000.wsg", &self->wsgs[PA_WSG_PIXEL_SOUTH], false); + loadWsg("px-001.wsg", &self->wsgs[PA_WSG_PIXEL_WALK_SOUTH], false); + loadWsg("px-002.wsg", &self->wsgs[PA_WSG_PIXEL_NORTH], false); + loadWsg("px-003.wsg", &self->wsgs[PA_WSG_PIXEL_WALK_NORTH], false); + loadWsg("px-004.wsg", &self->wsgs[PA_WSG_PIXEL_SIDE], false); + loadWsg("px-006.wsg", &self->wsgs[PA_WSG_PIXEL_WALK_SIDE_1], false); + loadWsg("px-005.wsg", &self->wsgs[PA_WSG_PIXEL_WALK_SIDE_2], false); + loadWsg("px-007.wsg", &self->wsgs[PA_WSG_PIXEL_PUSH_SOUTH_1], false); + loadWsg("px-008.wsg", &self->wsgs[PA_WSG_PIXEL_PUSH_SOUTH_2], false); + loadWsg("px-009.wsg", &self->wsgs[PA_WSG_PIXEL_PUSH_NORTH_1], false); + loadWsg("px-010.wsg", &self->wsgs[PA_WSG_PIXEL_PUSH_NORTH_2], false); + loadWsg("px-011.wsg", &self->wsgs[PA_WSG_PIXEL_PUSH_SIDE_1], false); + loadWsg("px-012.wsg", &self->wsgs[PA_WSG_PIXEL_PUSH_SIDE_2], false); + loadWsg("px-013.wsg", &self->wsgs[PA_WSG_PIXEL_HURT], false); + loadWsg("px-014.wsg", &self->wsgs[PA_WSG_PIXEL_WIN], false); + loadWsg("px-015.wsg", &self->wsgs[PA_WSG_PIXEL_ICON], false); + loadWsg("kr-000.wsg", &self->wsgs[PA_WSG_GIRL_SOUTH], false); + loadWsg("kr-001.wsg", &self->wsgs[PA_WSG_GIRL_WALK_SOUTH], false); + loadWsg("kr-002.wsg", &self->wsgs[PA_WSG_GIRL_NORTH], false); + loadWsg("kr-003.wsg", &self->wsgs[PA_WSG_GIRL_WALK_NORTH], false); + loadWsg("kr-004.wsg", &self->wsgs[PA_WSG_GIRL_SIDE], false); + loadWsg("kr-006.wsg", &self->wsgs[PA_WSG_GIRL_WALK_SIDE_1], false); + loadWsg("kr-005.wsg", &self->wsgs[PA_WSG_GIRL_WALK_SIDE_2], false); + loadWsg("kr-007.wsg", &self->wsgs[PA_WSG_GIRL_PUSH_SOUTH_1], false); + loadWsg("kr-008.wsg", &self->wsgs[PA_WSG_GIRL_PUSH_SOUTH_2], false); + loadWsg("kr-009.wsg", &self->wsgs[PA_WSG_GIRL_PUSH_NORTH_1], false); + loadWsg("kr-010.wsg", &self->wsgs[PA_WSG_GIRL_PUSH_NORTH_2], false); + loadWsg("kr-011.wsg", &self->wsgs[PA_WSG_GIRL_PUSH_SIDE_1], false); + loadWsg("kr-012.wsg", &self->wsgs[PA_WSG_GIRL_PUSH_SIDE_2], false); + loadWsg("kr-013.wsg", &self->wsgs[PA_WSG_GIRL_HURT], false); + loadWsg("kr-014.wsg", &self->wsgs[PA_WSG_GIRL_WIN], false); + loadWsg("kr-015.wsg", &self->wsgs[PA_WSG_GIRL_ICON], false); + // loadWsg("pa-tile-009.wsg", &self->wsgs[PA_WSG_BLOCK], false); + // loadWsg("pa-tile-013.wsg", &self->wsgs[PA_WSG_BONUS_BLOCK], false); + loadWsg("pa-en-004.wsg", &self->wsgs[PA_WSG_ENEMY_SOUTH], false); + loadWsg("pa-en-006.wsg", &self->wsgs[PA_WSG_ENEMY_NORTH], false); + loadWsg("pa-en-000.wsg", &self->wsgs[PA_WSG_ENEMY_SIDE_1], false); + loadWsg("pa-en-001.wsg", &self->wsgs[PA_WSG_ENEMY_SIDE_2], false); + loadWsg("pa-en-005.wsg", &self->wsgs[PA_WSG_ENEMY_DRILL_SOUTH], false); + loadWsg("pa-en-007.wsg", &self->wsgs[PA_WSG_ENEMY_DRILL_NORTH], false); + loadWsg("pa-en-008.wsg", &self->wsgs[PA_WSG_ENEMY_STUN], false); + loadWsg("pa-en-002.wsg", &self->wsgs[PA_WSG_ENEMY_DRILL_SIDE_1], false); + loadWsg("pa-en-003.wsg", &self->wsgs[PA_WSG_ENEMY_DRILL_SIDE_2], false); + loadWsg("break-000.wsg", &self->wsgs[PA_WSG_BREAK_BLOCK], false); + loadWsg("break-001.wsg", &self->wsgs[PA_WSG_BREAK_BLOCK_1], false); + loadWsg("break-002.wsg", &self->wsgs[PA_WSG_BREAK_BLOCK_2], false); + loadWsg("break-003.wsg", &self->wsgs[PA_WSG_BREAK_BLOCK_3], false); + loadWsg("blockfragment.wsg", &self->wsgs[PA_WSG_BLOCK_FRAGMENT], false); + + loadWsg("pa-tile-001.wsg", &self->wsgs[PA_WSG_WALL_0], false); + loadWsg("pa-tile-002.wsg", &self->wsgs[PA_WSG_WALL_1], false); + loadWsg("pa-tile-003.wsg", &self->wsgs[PA_WSG_WALL_2], false); + loadWsg("pa-tile-004.wsg", &self->wsgs[PA_WSG_WALL_3], false); + loadWsg("pa-tile-005.wsg", &self->wsgs[PA_WSG_WALL_4], false); + loadWsg("pa-tile-006.wsg", &self->wsgs[PA_WSG_WALL_5], false); + loadWsg("pa-tile-007.wsg", &self->wsgs[PA_WSG_WALL_6], false); + loadWsg("pa-tile-008.wsg", &self->wsgs[PA_WSG_WALL_7], false); + loadWsg("pa-tile-009.wsg", &self->wsgs[PA_WSG_BLOCK], false); + loadWsg("pa-tile-010.wsg", &self->wsgs[PA_WSG_SPAWN_BLOCK_0], false); + loadWsg("pa-tile-011.wsg", &self->wsgs[PA_WSG_SPAWN_BLOCK_1], false); + loadWsg("pa-tile-012.wsg", &self->wsgs[PA_WSG_SPAWN_BLOCK_2], false); + loadWsg("pa-tile-013.wsg", &self->wsgs[PA_WSG_BONUS_BLOCK_0], false); + loadWsg("pa-tile-014.wsg", &self->wsgs[PA_WSG_BONUS_BLOCK_1], false); + loadWsg("pa-tile-015.wsg", &self->wsgs[PA_WSG_BONUS_BLOCK_2], false); +} + +void pa_initializeSprites(paWsgManager_t* self) +{ + self->sprites[PA_SP_PLAYER_SOUTH].wsg = &self->wsgs[PA_WSG_PANGO_SOUTH]; + self->sprites[PA_SP_PLAYER_SOUTH].originX = 8; + self->sprites[PA_SP_PLAYER_SOUTH].originY = 16; + + self->sprites[PA_SP_PLAYER_WALK_SOUTH].wsg = &self->wsgs[PA_WSG_PANGO_WALK_SOUTH]; + self->sprites[PA_SP_PLAYER_WALK_SOUTH].originX = 8; + self->sprites[PA_SP_PLAYER_WALK_SOUTH].originY = 16; + + self->sprites[PA_SP_PLAYER_NORTH].wsg = &self->wsgs[PA_WSG_PANGO_NORTH]; + self->sprites[PA_SP_PLAYER_NORTH].originX = 8; + self->sprites[PA_SP_PLAYER_NORTH].originY = 16; + + self->sprites[PA_SP_PLAYER_WALK_NORTH].wsg = &self->wsgs[PA_WSG_PANGO_WALK_NORTH]; + self->sprites[PA_SP_PLAYER_WALK_NORTH].originX = 8; + self->sprites[PA_SP_PLAYER_WALK_NORTH].originY = 16; + + self->sprites[PA_SP_PLAYER_SIDE].wsg = &self->wsgs[PA_WSG_PANGO_SIDE]; + self->sprites[PA_SP_PLAYER_SIDE].originX = 8; + self->sprites[PA_SP_PLAYER_SIDE].originY = 16; + + self->sprites[PA_SP_PLAYER_WALK_SIDE_1].wsg = &self->wsgs[PA_WSG_PANGO_WALK_SIDE_1]; + self->sprites[PA_SP_PLAYER_WALK_SIDE_1].originX = 8; + self->sprites[PA_SP_PLAYER_WALK_SIDE_1].originY = 16; + + self->sprites[PA_SP_PLAYER_WALK_SIDE_2].wsg = &self->wsgs[PA_WSG_PANGO_WALK_SIDE_2]; + self->sprites[PA_SP_PLAYER_WALK_SIDE_2].originX = 8; + self->sprites[PA_SP_PLAYER_WALK_SIDE_2].originY = 16; + + self->sprites[PA_SP_PLAYER_PUSH_SOUTH_1].wsg = &self->wsgs[PA_WSG_PANGO_PUSH_SOUTH_1]; + self->sprites[PA_SP_PLAYER_PUSH_SOUTH_1].originX = 8; + self->sprites[PA_SP_PLAYER_PUSH_SOUTH_1].originY = 16; + + self->sprites[PA_SP_PLAYER_PUSH_SOUTH_2].wsg = &self->wsgs[PA_WSG_PANGO_PUSH_SOUTH_2]; + self->sprites[PA_SP_PLAYER_PUSH_SOUTH_2].originX = 8; + self->sprites[PA_SP_PLAYER_PUSH_SOUTH_2].originY = 16; + + self->sprites[PA_SP_PLAYER_PUSH_NORTH_1].wsg = &self->wsgs[PA_WSG_PANGO_PUSH_NORTH_1]; + self->sprites[PA_SP_PLAYER_PUSH_NORTH_1].originX = 8; + self->sprites[PA_SP_PLAYER_PUSH_NORTH_1].originY = 16; + + self->sprites[PA_SP_PLAYER_PUSH_NORTH_2].wsg = &self->wsgs[PA_WSG_PANGO_PUSH_NORTH_2]; + self->sprites[PA_SP_PLAYER_PUSH_NORTH_2].originX = 8; + self->sprites[PA_SP_PLAYER_PUSH_NORTH_2].originY = 16; + + self->sprites[PA_SP_PLAYER_PUSH_SIDE_1].wsg = &self->wsgs[PA_WSG_PANGO_PUSH_SIDE_1]; + self->sprites[PA_SP_PLAYER_PUSH_SIDE_1].originX = 8; + self->sprites[PA_SP_PLAYER_PUSH_SIDE_1].originY = 16; + + self->sprites[PA_SP_PLAYER_PUSH_SIDE_2].wsg = &self->wsgs[PA_WSG_PANGO_PUSH_SIDE_2]; + self->sprites[PA_SP_PLAYER_PUSH_SIDE_2].originX = 8; + self->sprites[PA_SP_PLAYER_PUSH_SIDE_2].originY = 16; + + self->sprites[PA_SP_PLAYER_HURT].wsg = &self->wsgs[PA_WSG_PANGO_HURT]; + self->sprites[PA_SP_PLAYER_HURT].originX = 8; + self->sprites[PA_SP_PLAYER_HURT].originY = 16; + + self->sprites[PA_SP_PLAYER_WIN].wsg = &self->wsgs[PA_SP_PLAYER_WIN]; + self->sprites[PA_SP_PLAYER_WIN].originX = 8; + self->sprites[PA_SP_PLAYER_WIN].originY = 16; + + self->sprites[PA_SP_PLAYER_ICON].wsg = &self->wsgs[PA_SP_PLAYER_ICON]; + self->sprites[PA_SP_PLAYER_ICON].originX = 8; + self->sprites[PA_SP_PLAYER_ICON].originY = 16; + + self->sprites[PA_SP_BLOCK].wsg = &self->wsgs[PA_WSG_BLOCK]; + self->sprites[PA_SP_BLOCK].originX = 8; + self->sprites[PA_SP_BLOCK].originY = 8; + + self->sprites[PA_SP_BONUS_BLOCK].wsg = &self->wsgs[PA_WSG_BONUS_BLOCK_0]; + self->sprites[PA_SP_BONUS_BLOCK].originX = 8; + self->sprites[PA_SP_BONUS_BLOCK].originY = 8; + + self->sprites[PA_SP_ENEMY_SOUTH].wsg = &self->wsgs[PA_WSG_ENEMY_SOUTH]; + self->sprites[PA_SP_ENEMY_SOUTH].originX = 8; + self->sprites[PA_SP_ENEMY_SOUTH].originY = 16; + + self->sprites[PA_SP_ENEMY_NORTH].wsg = &self->wsgs[PA_WSG_ENEMY_NORTH]; + self->sprites[PA_SP_ENEMY_NORTH].originX = 8; + self->sprites[PA_SP_ENEMY_NORTH].originY = 16; + + self->sprites[PA_SP_ENEMY_SIDE_1].wsg = &self->wsgs[PA_WSG_ENEMY_SIDE_1]; + self->sprites[PA_SP_ENEMY_SIDE_1].originX = 8; + self->sprites[PA_SP_ENEMY_SIDE_1].originY = 16; + + self->sprites[PA_SP_ENEMY_SIDE_2].wsg = &self->wsgs[PA_WSG_ENEMY_SIDE_2]; + self->sprites[PA_SP_ENEMY_SIDE_2].originX = 8; + self->sprites[PA_SP_ENEMY_SIDE_2].originY = 16; + + self->sprites[PA_SP_ENEMY_DRILL_SOUTH].wsg = &self->wsgs[PA_WSG_ENEMY_DRILL_SOUTH]; + self->sprites[PA_SP_ENEMY_DRILL_SOUTH].originX = 8; + self->sprites[PA_SP_ENEMY_DRILL_SOUTH].originY = 16; + + self->sprites[PA_SP_ENEMY_DRILL_NORTH].wsg = &self->wsgs[PA_WSG_ENEMY_DRILL_NORTH]; + self->sprites[PA_SP_ENEMY_DRILL_NORTH].originX = 8; + self->sprites[PA_SP_ENEMY_DRILL_NORTH].originY = 16; + + self->sprites[PA_SP_ENEMY_STUN].wsg = &self->wsgs[PA_WSG_ENEMY_STUN]; + self->sprites[PA_SP_ENEMY_STUN].originX = 8; + self->sprites[PA_SP_ENEMY_STUN].originY = 16; + + self->sprites[PA_SP_ENEMY_DRILL_SIDE_1].wsg = &self->wsgs[PA_WSG_ENEMY_DRILL_SIDE_1]; + self->sprites[PA_SP_ENEMY_DRILL_SIDE_1].originX = 8; + self->sprites[PA_SP_ENEMY_DRILL_SIDE_1].originY = 16; + + self->sprites[PA_SP_ENEMY_DRILL_SIDE_2].wsg = &self->wsgs[PA_WSG_ENEMY_DRILL_SIDE_2]; + self->sprites[PA_SP_ENEMY_DRILL_SIDE_2].originX = 8; + self->sprites[PA_SP_ENEMY_DRILL_SIDE_2].originY = 16; + + self->sprites[PA_SP_BREAK_BLOCK].wsg = &self->wsgs[PA_WSG_BREAK_BLOCK]; + self->sprites[PA_SP_BREAK_BLOCK].originX = 8; + self->sprites[PA_SP_BREAK_BLOCK].originY = 8; + + self->sprites[PA_SP_BREAK_BLOCK_1].wsg = &self->wsgs[PA_WSG_BREAK_BLOCK_1]; + self->sprites[PA_SP_BREAK_BLOCK_1].originX = 8; + self->sprites[PA_SP_BREAK_BLOCK_1].originY = 8; + + self->sprites[PA_SP_BREAK_BLOCK_2].wsg = &self->wsgs[PA_WSG_BREAK_BLOCK_2]; + self->sprites[PA_SP_BREAK_BLOCK_2].originX = 8; + self->sprites[PA_SP_BREAK_BLOCK_2].originY = 8; + + self->sprites[PA_SP_BREAK_BLOCK_3].wsg = &self->wsgs[PA_WSG_BREAK_BLOCK_3]; + self->sprites[PA_SP_BREAK_BLOCK_3].originX = 8; + self->sprites[PA_SP_BREAK_BLOCK_3].originY = 8; + + self->sprites[PA_SP_BLOCK_FRAGMENT].wsg = &self->wsgs[PA_WSG_BLOCK_FRAGMENT]; + self->sprites[PA_SP_BLOCK_FRAGMENT].originX = 3; + self->sprites[PA_SP_BLOCK_FRAGMENT].originY = 3; +} + +void pa_initializeTiles(paWsgManager_t* self) +{ + self->tiles[0] = &self->wsgs[PA_WSG_WALL_0]; + self->tiles[1] = &self->wsgs[PA_WSG_WALL_1]; + self->tiles[2] = &self->wsgs[PA_WSG_WALL_2]; + self->tiles[3] = &self->wsgs[PA_WSG_WALL_3]; + self->tiles[4] = &self->wsgs[PA_WSG_WALL_4]; + self->tiles[5] = &self->wsgs[PA_WSG_WALL_5]; + self->tiles[6] = &self->wsgs[PA_WSG_WALL_6]; + self->tiles[7] = &self->wsgs[PA_WSG_WALL_7]; + self->tiles[8] = &self->wsgs[PA_WSG_BLOCK]; + self->tiles[9] = &self->wsgs[PA_WSG_SPAWN_BLOCK_0]; + self->tiles[10] = &self->wsgs[PA_WSG_SPAWN_BLOCK_1]; + self->tiles[11] = &self->wsgs[PA_WSG_SPAWN_BLOCK_2]; + self->tiles[12] = &self->wsgs[PA_WSG_BONUS_BLOCK_0]; + self->tiles[13] = &self->wsgs[PA_WSG_BONUS_BLOCK_1]; + self->tiles[14] = &self->wsgs[PA_WSG_BONUS_BLOCK_2]; +} + +void pa_remapWsgToSprite(paWsgManager_t* self, uint16_t spriteIndex, uint16_t wsgIndex) +{ + self->sprites[spriteIndex].wsg = &self->wsgs[wsgIndex]; +} + +void pa_remapWsgToTile(paWsgManager_t* self, uint16_t tileIndex, uint16_t wsgIndex) +{ + self->tiles[tileIndex] = &self->wsgs[wsgIndex]; +} + +void pa_remapPlayerCharacter(paWsgManager_t* self, uint16_t newBaseIndex) +{ + for (uint16_t i = 0; i < (PA_SP_PLAYER_ICON + 1); i++) + { + pa_remapWsgToSprite(self, i, newBaseIndex + i); + } +} diff --git a/main/modes/games/pango/paWsgManager.h b/main/modes/games/pango/paWsgManager.h new file mode 100644 index 000000000..a6bbe9f4a --- /dev/null +++ b/main/modes/games/pango/paWsgManager.h @@ -0,0 +1,147 @@ +#ifndef _PA_WSGMANAGER_H_ +#define _PA_WSGMANAGER_H_ + +//============================================================================== +// Includes +//============================================================================== + +#include +#include "wsg.h" +#include "paSprite.h" +#include "pango_typedef.h" + +//============================================================================== +// Constants +//============================================================================== +#define PA_WSGS_SIZE 93 +#define PA_SPRITESET_SIZE 32 +#define PA_TILE_SET_SIZE 15 + +//============================================================================== +// Enums +//============================================================================== +typedef enum +{ + PA_WSG_PANGO_SOUTH, + PA_WSG_PANGO_WALK_SOUTH, + PA_WSG_PANGO_NORTH, + PA_WSG_PANGO_WALK_NORTH, + PA_WSG_PANGO_SIDE, + PA_WSG_PANGO_WALK_SIDE_1, + PA_WSG_PANGO_WALK_SIDE_2, + PA_WSG_PANGO_PUSH_SOUTH_1, + PA_WSG_PANGO_PUSH_SOUTH_2, + PA_WSG_PANGO_PUSH_NORTH_1, + PA_WSG_PANGO_PUSH_NORTH_2, + PA_WSG_PANGO_PUSH_SIDE_1, + PA_WSG_PANGO_PUSH_SIDE_2, + PA_WSG_PANGO_HURT, + PA_WSG_PANGO_WIN, + PA_WSG_PANGO_ICON, + PA_WSG_PO_SOUTH, + PA_WSG_PO_WALK_SOUTH, + PA_WSG_PO_NORTH, + PA_WSG_PO_WALK_NORTH, + PA_WSG_PO_SIDE, + PA_WSG_PO_WALK_SIDE_1, + PA_WSG_PO_WALK_SIDE_2, + PA_WSG_PO_PUSH_SOUTH_1, + PA_WSG_PO_PUSH_SOUTH_2, + PA_WSG_PO_PUSH_NORTH_1, + PA_WSG_PO_PUSH_NORTH_2, + PA_WSG_PO_PUSH_SIDE_1, + PA_WSG_PO_PUSH_SIDE_2, + PA_WSG_PO_HURT, + PA_WSG_PO_WIN, + PA_WSG_PO_ICON, + PA_WSG_PIXEL_SOUTH, + PA_WSG_PIXEL_WALK_SOUTH, + PA_WSG_PIXEL_NORTH, + PA_WSG_PIXEL_WALK_NORTH, + PA_WSG_PIXEL_SIDE, + PA_WSG_PIXEL_WALK_SIDE_1, + PA_WSG_PIXEL_WALK_SIDE_2, + PA_WSG_PIXEL_PUSH_SOUTH_1, + PA_WSG_PIXEL_PUSH_SOUTH_2, + PA_WSG_PIXEL_PUSH_NORTH_1, + PA_WSG_PIXEL_PUSH_NORTH_2, + PA_WSG_PIXEL_PUSH_SIDE_1, + PA_WSG_PIXEL_PUSH_SIDE_2, + PA_WSG_PIXEL_HURT, + PA_WSG_PIXEL_WIN, + PA_WSG_PIXEL_ICON, + PA_WSG_GIRL_SOUTH, + PA_WSG_GIRL_WALK_SOUTH, + PA_WSG_GIRL_NORTH, + PA_WSG_GIRL_WALK_NORTH, + PA_WSG_GIRL_SIDE, + PA_WSG_GIRL_WALK_SIDE_1, + PA_WSG_GIRL_WALK_SIDE_2, + PA_WSG_GIRL_PUSH_SOUTH_1, + PA_WSG_GIRL_PUSH_SOUTH_2, + PA_WSG_GIRL_PUSH_NORTH_1, + PA_WSG_GIRL_PUSH_NORTH_2, + PA_WSG_GIRL_PUSH_SIDE_1, + PA_WSG_GIRL_PUSH_SIDE_2, + PA_WSG_GIRL_HURT, + PA_WSG_GIRL_WIN, + PA_WSG_GIRL_ICON, + // PA_WSG_BLOCK, + // PA_WSG_BONUS_BLOCK, + PA_WSG_ENEMY_SOUTH, + PA_WSG_ENEMY_NORTH, + PA_WSG_ENEMY_SIDE_1, + PA_WSG_ENEMY_SIDE_2, + PA_WSG_ENEMY_DRILL_SOUTH, + PA_WSG_ENEMY_DRILL_NORTH, + PA_WSG_ENEMY_DRILL_SIDE_1, + PA_WSG_ENEMY_DRILL_SIDE_2, + PA_WSG_ENEMY_STUN, + PA_WSG_BREAK_BLOCK, + PA_WSG_BREAK_BLOCK_1, + PA_WSG_BREAK_BLOCK_2, + PA_WSG_BREAK_BLOCK_3, + PA_WSG_BLOCK_FRAGMENT, + PA_WSG_WALL_0, + PA_WSG_WALL_1, + PA_WSG_WALL_2, + PA_WSG_WALL_3, + PA_WSG_WALL_4, + PA_WSG_WALL_5, + PA_WSG_WALL_6, + PA_WSG_WALL_7, + PA_WSG_BLOCK, + PA_WSG_SPAWN_BLOCK_0, + PA_WSG_SPAWN_BLOCK_1, + PA_WSG_SPAWN_BLOCK_2, + PA_WSG_BONUS_BLOCK_0, + PA_WSG_BONUS_BLOCK_1, + PA_WSG_BONUS_BLOCK_2 +} paWsgIndex_t; + +//============================================================================== +// Structs +//============================================================================== +typedef struct +{ + wsg_t wsgs[PA_WSGS_SIZE]; + paSprite_t sprites[PA_SPRITESET_SIZE]; + wsg_t* tiles[PA_TILE_SET_SIZE]; +} paWsgManager_t; + +//============================================================================== +// Function Definitions +//============================================================================== +void pa_initializeWsgManager(paWsgManager_t* self); +void pa_freeWsgManager(paWsgManager_t* self); + +void pa_loadWsgs(paWsgManager_t* self); +void pa_initializeSprites(paWsgManager_t* self); +void pa_initializeTiles(paWsgManager_t* tiles); + +void pa_remapWsgToSprite(paWsgManager_t* self, uint16_t spriteIndex, uint16_t wsgIndex); +void pa_remapWsgToTile(paWsgManager_t* self, uint16_t tileIndex, uint16_t wsgIndex); + +void pa_remapPlayerCharacter(paWsgManager_t* self, uint16_t newBaseIndex); + +#endif \ No newline at end of file diff --git a/main/modes/games/pango/pango.c b/main/modes/games/pango/pango.c new file mode 100644 index 000000000..b50a2cbd9 --- /dev/null +++ b/main/modes/games/pango/pango.c @@ -0,0 +1,1757 @@ +/** + * @file pango.c + * @author J.Vega (JVeg199X) + * @brief Pango + * @date 2024-05-04 + * + */ + +//============================================================================== +// Includes +//============================================================================== + +#include +#include + +#include "esp_log.h" +#include "esp_timer.h" + +#include "pango.h" +#include "esp_random.h" + +#include "pango_typedef.h" +#include "paWsgManager.h" +#include "paTilemap.h" +#include "paGameData.h" +#include "paEntityManager.h" +#include "paLeveldef.h" + +#include "hdw-led.h" +#include "palette.h" +#include "hdw-nvs.h" +#include "paSoundManager.h" +#include +#include "mainMenu.h" +#include "fill.h" +#include "paTables.h" + +//============================================================================== +// Constants +//============================================================================== +#define BIG_SCORE 4000000UL +#define BIGGER_SCORE 10000000UL +#define FAST_TIME 1500 // 25 minutes + +const char pangoName[] = "Pango"; + +static const paletteColor_t highScoreNewEntryColors[4] = {c050, c055, c005, c055}; + +static const paletteColor_t redColors[4] = {c501, c540, c550, c540}; +static const paletteColor_t yellowColors[4] = {c550, c331, c550, c555}; +static const paletteColor_t greenColors[4] = {c555, c051, c030, c051}; +static const paletteColor_t cyanColors[4] = {c055, c455, c055, c033}; +static const paletteColor_t purpleColors[4] = {c213, c535, c555, c535}; +static const paletteColor_t rgbColors[4] = {c500, c050, c005, c050}; + +static const int16_t cheatCode[11] + = {PB_UP, PB_UP, PB_DOWN, PB_DOWN, PB_LEFT, PB_RIGHT, PB_LEFT, PB_RIGHT, PB_B, PB_A, PB_START}; + +//============================================================================== +// Functions Prototypes +//============================================================================== + +void pangoEnterMode(void); +void pangoExitMode(void); +void pangoMainLoop(int64_t elapsedUs); + +//============================================================================== +// Structs +//============================================================================== + +typedef void (*pa_gameUpdateFuncton_t)(pango_t* self, int64_t elapsedUs); +struct pango_t +{ + font_t radiostars; + + paWsgManager_t wsgManager; + paTilemap_t tilemap; + paEntityManager_t entityManager; + paGameData_t gameData; + + paSoundManager_t soundManager; + + uint8_t menuState; + uint8_t menuSelection; + uint8_t cheatCodeIdx; + + int16_t btnState; + int16_t prevBtnState; + + int32_t frameTimer; + + pangoHighScores_t highScores; + pangoUnlockables_t unlockables; + bool easterEgg; + + pa_gameUpdateFuncton_t update; + + menuManiaRenderer_t* menuRenderer; + menu_t* menu; + menuItem_t* levelSelectMenuItem; +}; + +//============================================================================== +// Function Prototypes +//============================================================================== +void drawPangoHud(font_t* font, paGameData_t* gameData); +void drawPangoTitleScreen(font_t* font, paGameData_t* gameData); +void pangoBuildMainMenu(pango_t* self); +static void pangoUpdateMainMenu(pango_t* self, int64_t elapsedUs); +void changeStateReadyScreen(pango_t* self); +void updateReadyScreen(pango_t* self, int64_t elapsedUs); +void drawReadyScreen(font_t* font, paGameData_t* gameData); +void changeStateGame(pango_t* self); +void detectGameStateChange(pango_t* self); +void detectBgmChange(pango_t* self); +void changeStateDead(pango_t* self); +void updateDead(pango_t* self, int64_t elapsedUs); +void changeStateGameOver(pango_t* self); +void updateGameOver(pango_t* self, int64_t elapsedUs); +void drawGameOver(font_t* font, paGameData_t* gameData); +void changeStateTitleScreen(pango_t* self); +void changeStateLevelClear(pango_t* self); +void updateLevelClear(pango_t* self, int64_t elapsedUs); +void drawLevelClear(font_t* font, paGameData_t* gameData); +void changeStateGameClear(pango_t* self); +void updateGameClear(pango_t* self, int64_t elapsedUs); +void drawGameClear(font_t* font, paGameData_t* gameData); +void pangoInitializeHighScores(pango_t* self); +void loadPangoHighScores(pango_t* self); +void pangoSaveHighScores(pango_t* self); +void pangoInitializeUnlockables(pango_t* self); +void loadPangoUnlockables(pango_t* self); +void pangoSaveUnlockables(pango_t* self); +void drawPangoHighScores(font_t* font, pangoHighScores_t* highScores, paGameData_t* gameData); +uint8_t getHighScoreRank(pangoHighScores_t* highScores, uint32_t newScore); +void insertScoreIntoHighScores(pangoHighScores_t* highScores, uint32_t newScore, char newInitials[], uint8_t rank); +void changeStateNameEntry(pango_t* self); +void updateNameEntry(pango_t* self, int64_t elapsedUs); +void drawNameEntry(font_t* font, paGameData_t* gameData, uint8_t currentInitial); +void pangoChangeStateShowHighScores(pango_t* self); +void updateShowHighScores(pango_t* self, int64_t elapsedUs); +void drawShowHighScores(font_t* font, uint8_t menuState); +void changeStatePause(pango_t* self); +void updatePause(pango_t* self, int64_t elapsedUs); +void drawPause(font_t* font); +uint16_t getLevelIndex(uint8_t world, uint8_t level); +void pangoChangeStateMainMenu(pango_t* self); + +//============================================================================== +// Variables +//============================================================================== + +pango_t* pango = NULL; + +swadgeMode_t pangoMode = {.modeName = pangoName, + .wifiMode = NO_WIFI, + .overrideUsb = false, + .usesAccelerometer = false, + .usesThermometer = false, + .fnEnterMode = pangoEnterMode, + .fnExitMode = pangoExitMode, + .fnMainLoop = pangoMainLoop, + .fnAudioCallback = NULL, + .fnBackgroundDrawCallback = NULL, + .fnEspNowRecvCb = NULL, + .fnEspNowSendCb = NULL}; + +#define NUM_LEVELS 16 + +static const paLeveldef_t leveldef[17] = {{.filename = "level1-1.bin", .timeLimit = 180, .checkpointTimeLimit = 90}, + {.filename = "dac01.bin", .timeLimit = 180, .checkpointTimeLimit = 90}, + {.filename = "level1-3.bin", .timeLimit = 180, .checkpointTimeLimit = 90}, + {.filename = "level1-4.bin", .timeLimit = 180, .checkpointTimeLimit = 90}, + {.filename = "level2-1.bin", .timeLimit = 180, .checkpointTimeLimit = 90}, + {.filename = "dac03.bin", .timeLimit = 220, .checkpointTimeLimit = 90}, + {.filename = "level2-3.bin", .timeLimit = 200, .checkpointTimeLimit = 90}, + {.filename = "level2-4.bin", .timeLimit = 180, .checkpointTimeLimit = 90}, + {.filename = "level3-1.bin", .timeLimit = 180, .checkpointTimeLimit = 90}, + {.filename = "dac02.bin", .timeLimit = 180, .checkpointTimeLimit = 90}, + {.filename = "level3-3.bin", .timeLimit = 180, .checkpointTimeLimit = 90}, + {.filename = "level3-4.bin", .timeLimit = 220, .checkpointTimeLimit = 110}, + {.filename = "level4-1.bin", .timeLimit = 270, .checkpointTimeLimit = 90}, + {.filename = "level4-2.bin", .timeLimit = 240, .checkpointTimeLimit = 90}, + {.filename = "level4-3.bin", .timeLimit = 240, .checkpointTimeLimit = 90}, + {.filename = "level4-4.bin", .timeLimit = 240, .checkpointTimeLimit = 90}, + {.filename = "debug.bin", .timeLimit = 180, .checkpointTimeLimit = 90}}; + +led_t platLeds[CONFIG_NUM_LEDS]; + +static const char str_ready[] = "Ready?"; +static const char str_set[] = "Set..."; +static const char str_pango[] = "PANGO!"; +static const char str_time_up[] = "-Time Up!-"; +static const char str_game_over[] = "Game Over"; +static const char str_well_done[] = "Nice Clear!"; +static const char str_congrats[] = "Congratulations!"; +static const char str_initials[] = "Enter your initials!"; +static const char str_hbd[] = "Happy Birthday, Evelyn!"; +static const char str_registrated[] = "Your name registrated."; +static const char str_do_your_best[] = "Do your best!"; +static const char str_pause[] = "-Pause-"; + +static const char pangoMenuNewGame[] = "New Game"; +static const char pangoMenuContinue[] = "Continue - Lv"; +static const char pangoMenuCharacter[] = "Character"; +static const char pangoMenuHighScores[] = "High Scores"; +static const char pangoMenuResetScores[] = "Reset Scores"; +static const char pangoMenuResetProgress[] = "Reset Progress"; +static const char pangoMenuExit[] = "Exit"; +static const char pangoMenuSaveAndExit[] = "Save & Exit"; + +static const char KEY_SCORES[] = "pf_scores"; +static const char KEY_UNLOCKS[] = "pf_unlocks"; + +//============================================================================== +// Functions +//============================================================================== + +/** + * @brief TODO + * + */ +void pangoEnterMode(void) +{ + // Allocate memory for this mode + pango = (pango_t*)calloc(1, sizeof(pango_t)); + memset(pango, 0, sizeof(pango_t)); + + pango->menuState = 0; + pango->menuSelection = 0; + pango->btnState = 0; + pango->prevBtnState = 0; + + loadPangoHighScores(pango); + loadPangoUnlockables(pango); + if (pango->highScores.initials[0][0] == 'E' && pango->highScores.initials[0][1] == 'F' + && pango->highScores.initials[0][2] == 'V') + { + pango->easterEgg = true; + } + + loadFont("pango-fw.font", &pango->radiostars, false); + pango->menuRenderer = initMenuManiaRenderer(&pango->radiostars, &pango->radiostars, &pango->radiostars); + + pa_initializeWsgManager(&(pango->wsgManager)); + + pa_initializeTileMap(&(pango->tilemap), &(pango->wsgManager)); + pa_loadMapFromFile(&(pango->tilemap), "preset.bin"); + pa_generateMaze(&(pango->tilemap)); + pango->tilemap.mapOffsetX = -4; + + pa_initializeSoundManager(&(pango->soundManager)); + + pa_initializeGameData(&(pango->gameData), &(pango->soundManager)); + pa_initializeEntityManager(&(pango->entityManager), &(pango->wsgManager), &(pango->tilemap), &(pango->gameData), + &(pango->soundManager)); + + pango->tilemap.entityManager = &(pango->entityManager); + pango->tilemap.tileSpawnEnabled = true; + + setFrameRateUs(16666); + + pango->menu = NULL; + changeStateTitleScreen(pango); +} + +/** + * @brief TODO + * + */ +void pangoExitMode(void) +{ + // deinitMenu can't set menu pointer to NULL, + // so this is the only way to know that the menu has not been previously freed. + if (pango->update == &pangoUpdateMainMenu) + { + // Deinitialize the menu. + // This will also free the "level select" menu item. + deinitMenu(pango->menu); + } + deinitMenuManiaRenderer(pango->menuRenderer); + + freeFont(&pango->radiostars); + pa_freeWsgManager(&(pango->wsgManager)); + pa_freeTilemap(&(pango->tilemap)); + pa_freeSoundManager(&(pango->soundManager)); + pa_freeEntityManager(&(pango->entityManager)); + free(pango); +} + +/** + * @brief This callback function is called when an item is selected from the menu + * + * @param label The item that was selected from the menu + * @param selected True if the item was selected with the A button, false if this is a multi-item which scrolled to + * @param settingVal The value of the setting, if the menu item is a settings item + */ +static void pangoMenuCb(const char* label, bool selected, uint32_t settingVal) +{ + if (selected) + { + if (label == pangoMenuNewGame) + { + pango->gameData.world = 1; + pango->gameData.level = 1; + pango->entityManager.activeEnemies = 0; + pa_initializeGameDataFromTitleScreen(&(pango->gameData), 0); + pa_loadMapFromFile(&(pango->tilemap), "preset.bin"); + pa_generateMaze(&(pango->tilemap)); + pa_placeEnemySpawns(&(pango->tilemap)); + + changeStateReadyScreen(pango); + deinitMenu(pango->menu); + } + else if (label == pangoMenuContinue) + { + pango->gameData.world = 1; + pango->gameData.level = settingVal; + pa_initializeGameDataFromTitleScreen(&(pango->gameData), settingVal); + pango->entityManager.activeEnemies = 0; + pa_loadMapFromFile(&(pango->tilemap), "preset.bin"); + pa_generateMaze(&(pango->tilemap)); + pa_placeEnemySpawns(&(pango->tilemap)); + + changeStateReadyScreen(pango); + deinitMenu(pango->menu); + } + else if (label == pangoMenuCharacter) + { + pa_remapPlayerCharacter(&(pango->wsgManager), 16 * settingVal); + soundPlaySfx(&(pango->soundManager.sndMenuConfirm), BZR_STEREO); + } + else if (label == pangoMenuHighScores) + { + pangoChangeStateShowHighScores(pango); + pango->gameData.btnState = 0; + deinitMenu(pango->menu); + } + else if (label == pangoMenuResetScores) + { + pangoInitializeHighScores(pango); + // soundPlaySfx(&(pango->soundManager.detonate), BZR_STEREO); + } + else if (label == pangoMenuResetProgress) + { + pangoInitializeUnlockables(pango); + // soundPlaySfx(&(pango->soundManager.die), BZR_STEREO); + } + else if (label == pangoMenuSaveAndExit) + { + pangoSaveHighScores(pango); + pangoSaveUnlockables(pango); + switchToSwadgeMode(&mainMenuMode); + } + else if (label == pangoMenuExit) + { + switchToSwadgeMode(&mainMenuMode); + } + } + else + { + // soundPlaySfx(&(pango->soundManager.hit3), BZR_STEREO); + } +} + +/** + * @brief TODO + * + * @param elapsedUs + */ +void pangoMainLoop(int64_t elapsedUs) +{ + // Check inputs + buttonEvt_t evt = {0}; + while (checkButtonQueueWrapper(&evt)) + { + // Save the button state + pango->btnState = evt.state; + pango->gameData.btnState = evt.state; + + if (pango->update == &pangoUpdateMainMenu) + { + // Pass button events to the menu + pango->menu = menuButton(pango->menu, evt); + } + } + + pango->update(pango, elapsedUs); + + pango->prevBtnState = pango->btnState; + pango->gameData.prevBtnState = pango->prevBtnState; +} + +void pangoChangeStateMainMenu(pango_t* self) +{ + self->gameData.frameCount = 0; + self->update = &pangoUpdateMainMenu; + pangoBuildMainMenu(pango); +} + +void pangoBuildMainMenu(pango_t* self) +{ + // Initialize the menu + pango->menu = initMenu(pangoName, pangoMenuCb); + addSingleItemToMenu(pango->menu, pangoMenuNewGame); + + /* + Manually allocate and build "level select" menu item + because the max setting will have to change as levels are unlocked + */ + if (pango->unlockables.maxLevelIndexUnlocked > 1 || pango->gameData.debugMode) + { + pango->levelSelectMenuItem = calloc(1, sizeof(menuItem_t)); + pango->levelSelectMenuItem->label = pangoMenuContinue; + pango->levelSelectMenuItem->minSetting = 1; + pango->levelSelectMenuItem->maxSetting + = (pango->gameData.debugMode) ? NUM_LEVELS - 1 : pango->unlockables.maxLevelIndexUnlocked; + pango->levelSelectMenuItem->currentSetting + = (pango->gameData.level == 1) ? pango->levelSelectMenuItem->maxSetting : pango->gameData.level; + pango->levelSelectMenuItem->options = NULL; + pango->levelSelectMenuItem->subMenu = NULL; + + push(pango->menu->items, pango->levelSelectMenuItem); + } + + settingParam_t characterSettingBounds = { + .def = 0, + .min = 0, + .max = 3, + .key = NULL, + }; + addSettingsItemToMenu(pango->menu, pangoMenuCharacter, &characterSettingBounds, 0); + + addSingleItemToMenu(pango->menu, pangoMenuHighScores); + + if (pango->gameData.debugMode) + { + addSingleItemToMenu(pango->menu, pangoMenuResetProgress); + addSingleItemToMenu(pango->menu, pangoMenuResetScores); + addSingleItemToMenu(pango->menu, pangoMenuSaveAndExit); + } + else + { + addSingleItemToMenu(pango->menu, pangoMenuExit); + } +} + +static void pangoUpdateMainMenu(pango_t* self, int64_t elapsedUs) +{ + // Draw the menu + drawMenuMania(pango->menu, pango->menuRenderer, elapsedUs); +} + +void updateGame(pango_t* self, int64_t elapsedUs) +{ + // Clear the display + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, self->gameData.bgColor); + + pa_updateEntities(&(self->entityManager)); + + pa_drawTileMap(&(self->tilemap)); + pa_drawEntities(&(self->entityManager)); + + // drawEntityTargetTile(self->entityManager.playerEntity); + + detectGameStateChange(self); + detectBgmChange(self); + + // self->gameData.coins = self->gameData.remainingEnemies; + self->gameData.coins = self->entityManager.aggroEnemies; + drawPangoHud(&(self->radiostars), &(self->gameData)); + + self->gameData.frameCount++; + if (self->gameData.frameCount > 59) + { + self->gameData.frameCount = 0; + self->gameData.countdown--; + self->gameData.inGameTimer++; + + if (self->gameData.countdown < 10) + { + soundPlayBgm(&(self->soundManager.sndOuttaTime), BZR_STEREO); + } + + if (self->gameData.countdown < 0) + { + killPlayer(self->entityManager.playerEntity); + } + + pa_spawnEnemyFromSpawnBlock(&(self->entityManager)); + } + + updateComboTimer(&(self->gameData)); +} + +void drawPangoHud(font_t* font, paGameData_t* gameData) +{ + char coinStr[8]; + snprintf(coinStr, sizeof(coinStr) - 1, "C:%02d", gameData->coins); + + char scoreStr[32]; + snprintf(scoreStr, sizeof(scoreStr) - 1, "%06" PRIu32, gameData->score); + + char levelStr[15]; + snprintf(levelStr, sizeof(levelStr) - 1, "Level %d-%d", gameData->world, gameData->level); + + char livesStr[8]; + snprintf(livesStr, sizeof(livesStr) - 1, "x%d", gameData->lives); + + char timeStr[10]; + snprintf(timeStr, sizeof(timeStr) - 1, "T:%03d", gameData->countdown); + + if (gameData->frameCount > 29) + { + drawText(font, c500, "1UP", 24, 2); + } + + drawText(font, c553, livesStr, 56, 2); + // drawText(font, c553, coinStr, 160, 224); + drawText(font, c553, scoreStr, 112, 2); + drawText(font, c553, levelStr, 32, 226); + drawText(font, (gameData->countdown > 30) ? c553 : redColors[(gameData->frameCount >> 3) % 4], timeStr, 200, 226); + + if (gameData->comboTimer == 0) + { + return; + } + + snprintf(scoreStr, sizeof(scoreStr) - 1, "+%" PRIu32 /*" (x%d)"*/, gameData->comboScore /*, gameData->combo*/); + drawText(font, (gameData->comboTimer < 60) ? c030 : greenColors[(pango->gameData.frameCount >> 3) % 4], scoreStr, + 190, 2); +} + +void updateTitleScreen(pango_t* self, int64_t elapsedUs) +{ + // Clear the display + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, self->gameData.bgColor); + + self->gameData.frameCount++; + + if (self->gameData.frameCount > 600) + { + // resetGameDataLeds(&(self->gameData)); + pango->menuSelection = 0; + pangoChangeStateShowHighScores(self); + + return; + } + + if ((self->gameData.btnState & cheatCode[pango->menuSelection]) + && !(self->gameData.prevBtnState & cheatCode[pango->menuSelection])) + { + pango->menuSelection++; + + if (pango->menuSelection > 8) + { + pango->menuSelection = 0; + pango->menuState = 1; + pango->gameData.debugMode = true; + // soundPlaySfx(&(pango->soundManager.levelClear), BZR_STEREO); + } + else + { + // soundPlaySfx(&(pango->soundManager.hit3), BZR_STEREO); + } + } + + if ((((self->gameData.btnState & PB_A) && !(self->gameData.prevBtnState & PB_A)) + || ((self->gameData.btnState & PB_START) && !(self->gameData.prevBtnState & PB_START)))) + { + self->gameData.btnState = 0; + pango->menuSelection = 0; + + if (!pango->gameData.debugMode) + { + // soundPlaySfx(&(pango->soundManager.launch), BZR_STEREO); + } + + pangoChangeStateMainMenu(self); + return; + } + + // Handle inputs + /*switch (pango->menuState) + { + case 0: + { + if (self->gameData.frameCount > 600) + { + pa_resetGameDataLeds(&(self->gameData)); + changeStateShowHighScores(self); + } + + if ((self->gameData.btnState & cheatCode[pango->cheatCodeIdx]) + && !(self->gameData.prevBtnState & cheatCode[pango->cheatCodeIdx])) + { + pango->cheatCodeIdx++; + + if (pango->cheatCodeIdx > 10) + { + pango->cheatCodeIdx = 0; + pango->menuState = 1; + pango->gameData.debugMode = true; + soundPlaySfx(&(pango->soundManager.sndLevelClearS), BZR_STEREO); + break; + } + else + { + soundPlaySfx(&(pango->soundManager.sndMenuSelect), BZR_STEREO); + break; + } + } + else + { + if (!(self->gameData.frameCount % 150)) + { + pango->cheatCodeIdx = 0; + } + } + + if (((self->gameData.btnState & PB_START) && !(self->gameData.prevBtnState & PB_START)) + || ((self->gameData.btnState & PB_A) && !(self->gameData.prevBtnState & PB_A))) + { + soundPlaySfx(&(self->soundManager.sndMenuConfirm), BZR_STEREO); + pango->menuState = 1; + pango->menuSelection = 0; + } + + break; + } + case 1: + { + if (((self->gameData.btnState & PB_START) && !(self->gameData.prevBtnState & PB_START)) + || ((self->gameData.btnState & PB_A) && !(self->gameData.prevBtnState & PB_A))) + { + switch (self->menuSelection) + { + case 0 ... 1: + { + uint16_t levelIndex = getLevelIndex(self->gameData.world, self->gameData.level); + if ((levelIndex >= NUM_LEVELS) + || (!self->gameData.debugMode && levelIndex > self->unlockables.maxLevelIndexUnlocked)) + { + soundPlaySfx(&(self->soundManager.sndMenuDeny), BZR_STEREO); + break; + } + + //if(self->menuSelection == 0){ + // self->gameData.world = 1; + // self->gameData.level = 1; + // } + + pa_initializeGameDataFromTitleScreen(&(self->gameData), levelIndex); + self->entityManager.activeEnemies = 0; + pa_loadMapFromFile(&(pango->tilemap), "preset.bin"); + pa_generateMaze(&(pango->tilemap)); + pa_placeEnemySpawns(&(pango->tilemap)); + + changeStateReadyScreen(self); + break; + } + case 2: + { + if (self->gameData.debugMode) + { + // Reset Progress + pangoInitializeUnlockables(self); + soundPlaySfx(&(self->soundManager.sndBreak), BZR_STEREO); + } + else + { + // Show High Scores + self->menuSelection = 0; + self->menuState = 0; + + changeStateShowHighScores(self); + soundPlaySfx(&(self->soundManager.sndMenuConfirm), BZR_STEREO); + } + break; + } + case 3: + { + if (self->gameData.debugMode) + { + // Reset High Scores + pangoInitializeHighScores(self); + soundPlaySfx(&(self->soundManager.sndBreak), BZR_STEREO); + } + else + { + // Show Achievements + self->menuSelection = 0; + self->menuState = 2; + soundPlaySfx(&(self->soundManager.sndMenuConfirm), BZR_STEREO); + } + break; + } + case 4: + { + if (self->gameData.debugMode) + { + // Save & Quit + pangoSaveHighScores(self); + pangoSaveUnlockables(self); + soundPlaySfx(&(self->soundManager.sndMenuConfirm), BZR_STEREO); + switchToSwadgeMode(&mainMenuMode); + } + else + { + soundPlaySfx(&(self->soundManager.sndMenuConfirm), BZR_STEREO); + switchToSwadgeMode(&mainMenuMode); + } + break; + } + default: + { + soundPlaySfx(&(self->soundManager.sndMenuDeny), BZR_STEREO); + self->menuSelection = 0; + } + } + } + else if ((self->gameData.btnState & PB_UP && !(self->gameData.prevBtnState & PB_UP))) + { + if (pango->menuSelection > 0) + { + pango->menuSelection--; + + if (!self->gameData.debugMode && pango->menuSelection == 1 + && self->unlockables.maxLevelIndexUnlocked == 0) + { + pango->menuSelection--; + } + + soundPlaySfx(&(self->soundManager.sndMenuSelect), BZR_STEREO); + } + } + else if ((self->gameData.btnState & PB_DOWN && !(self->gameData.prevBtnState & PB_DOWN))) + { + if (pango->menuSelection < 4) + { + pango->menuSelection++; + + if (!self->gameData.debugMode && pango->menuSelection == 1 + && self->unlockables.maxLevelIndexUnlocked == 0) + { + pango->menuSelection++; + } + + soundPlaySfx(&(self->soundManager.sndMenuSelect), BZR_STEREO); + } + else + { + soundPlaySfx(&(self->soundManager.sndMenuDeny), BZR_STEREO); + } + } + else if ((self->gameData.btnState & PB_LEFT && !(self->gameData.prevBtnState & PB_LEFT))) + { + if (pango->menuSelection == 1) + { + if (pango->gameData.level == 1 && pango->gameData.world == 1) + { + soundPlaySfx(&(self->soundManager.sndMenuDeny), BZR_STEREO); + } + else + { + pango->gameData.level--; + if (pango->gameData.level < 1) + { + pango->gameData.level = 4; + if (pango->gameData.world > 1) + { + pango->gameData.world--; + } + } + soundPlaySfx(&(self->soundManager.sndMenuSelect), BZR_STEREO); + } + } + } + else if ((self->gameData.btnState & PB_RIGHT && !(self->gameData.prevBtnState & PB_RIGHT))) + { + if (pango->menuSelection == 1) + { + if ((pango->gameData.level == 4 && pango->gameData.world == 4) + || (!pango->gameData.debugMode + && getLevelIndex(pango->gameData.world, pango->gameData.level + 1) + > pango->unlockables.maxLevelIndexUnlocked)) + { + soundPlaySfx(&(self->soundManager.sndMenuDeny), BZR_STEREO); + } + else + { + pango->gameData.level++; + if (pango->gameData.level > 4) + { + pango->gameData.level = 1; + if (pango->gameData.world < 8) + { + pango->gameData.world++; + } + } + soundPlaySfx(&(self->soundManager.sndMenuSelect), BZR_STEREO); + } + } + } + else if ((self->gameData.btnState & PB_B && !(self->gameData.prevBtnState & PB_B))) + { + self->gameData.frameCount = 0; + pango->menuState = 0; + soundPlaySfx(&(self->soundManager.sndMenuConfirm), BZR_STEREO); + } + break; + } + case 2: + { + if ((self->gameData.btnState & PB_B && !(self->gameData.prevBtnState & PB_B))) + { + self->gameData.frameCount = 0; + pango->menuState = 1; + soundPlaySfx(&(self->soundManager.sndMenuConfirm), BZR_STEREO); + } + break; + } + default: + pango->menuState = 0; + soundPlaySfx(&(pango->soundManager.sndMenuDeny), BZR_STEREO); + break; + }*/ + + // pa_scrollTileMap(&(pango->tilemap), 1, 0); + // if (self->tilemap.mapOffsetX >= self->tilemap.maxMapOffsetX && self->gameData.frameCount > 58) + //{ + // self->tilemap.mapOffsetX = 0; + // } + + drawPangoTitleScreen(&(self->radiostars), &(self->gameData)); + + if (((self->gameData.frameCount) % 10) == 0) + { + for (int32_t i = 0; i < CONFIG_NUM_LEDS; i++) + { + // self->gameData.leds[i].r = (( (self->gameData.frameCount >> 4) % NUM_LEDS) == i) ? 0xFF : 0x00; + + platLeds[i].r += (esp_random() % 1); + platLeds[i].g += (esp_random() % 8); + platLeds[i].b += (esp_random() % 8); + } + } + setLeds(platLeds, CONFIG_NUM_LEDS); +} + +void drawPangoTitleScreen(font_t* font, paGameData_t* gameData) +{ + // pa_drawTileMap(&(pango->tilemap)); + + drawText(font, c555, "P A N G O", 96, 32); + + if (pango->gameData.debugMode) + { + drawText(font, c555, "Debug Mode", 80, 48); + } + + switch (pango->menuState) + { + case 0: + { + if ((gameData->frameCount % 60) < 30) + { + drawText(font, c555, "- Press START button -", 20, 128); + } + break; + } + + case 1: + { + drawText(font, c555, "Start Game", 48, 128); + + if (pango->gameData.debugMode || pango->unlockables.maxLevelIndexUnlocked > 0) + { + char levelStr[24]; + snprintf(levelStr, sizeof(levelStr) - 1, "Level Select: %d-%d", gameData->world, gameData->level); + drawText(font, c555, levelStr, 48, 144); + } + + if (pango->gameData.debugMode) + { + drawText(font, c555, "Reset Progress", 48, 160); + drawText(font, c555, "Reset High Scores", 48, 176); + drawText(font, c555, "Save & Exit to Menu", 48, 192); + } + else + { + drawText(font, c555, "High Scores", 48, 160); + drawText(font, c555, "Achievements", 48, 176); + drawText(font, c555, "Exit to Menu", 48, 192); + } + + drawText(font, c555, "->", 24, 128 + pango->menuSelection * 16); + + break; + } + + case 2: + { + if (pango->unlockables.gameCleared) + { + drawText(font, redColors[(gameData->frameCount >> 3) % 4], "Beat the game!", 48, 80); + } + + if (pango->unlockables.oneCreditCleared) + { + drawText(font, yellowColors[(gameData->frameCount >> 3) % 4], "1 Credit Clear!", 48, 96); + } + + if (pango->unlockables.bigScore) + { + drawText(font, greenColors[(gameData->frameCount >> 3) % 4], "Got 4 million points!", 48, 112); + } + + if (pango->unlockables.biggerScore) + { + drawText(font, cyanColors[(gameData->frameCount >> 3) % 4], "Got 10 million points!", 48, 128); + } + + if (pango->unlockables.fastTime) + { + drawText(font, purpleColors[(gameData->frameCount >> 3) % 4], "Beat within 25 min!", 48, 144); + } + + if (pango->unlockables.gameCleared && pango->unlockables.oneCreditCleared && pango->unlockables.bigScore + && pango->unlockables.biggerScore && pango->unlockables.fastTime) + { + drawText(font, rgbColors[(gameData->frameCount >> 3) % 4], "100% 100% 100%", 48, 160); + } + + drawText(font, c555, "Press B to Return", 48, 192); + break; + } + + default: + break; + } +} + +void changeStateReadyScreen(pango_t* self) +{ + self->gameData.frameCount = 0; + + soundPlayBgm(&(self->soundManager.bgmIntro), BZR_STEREO); + + pa_resetGameDataLeds(&(self->gameData)); + + self->update = &updateReadyScreen; +} + +void updateReadyScreen(pango_t* self, int64_t elapsedUs) +{ + // Clear the display + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, c000); + + self->gameData.frameCount++; + if (self->gameData.frameCount > 179) + { + soundStop(true); + changeStateGame(self); + } + + drawReadyScreen(&(self->radiostars), &(self->gameData)); +} + +void drawReadyScreen(font_t* font, paGameData_t* gameData) +{ + drawPangoHud(font, gameData); + + drawText(font, c555, str_ready, 80, 96); + + if (gameData->frameCount > 60) + { + drawText(font, c555, str_set, 112, 128); + } + + if (gameData->frameCount > 120) + { + drawText(font, c555, str_pango, 144, 160); + } + + /*if (getLevelIndex(gameData->world, gameData->level) == 0) + { + drawText(font, c555, "A: Jump", xOff, 128 + (font->height + 3) * 3); + drawText(font, c555, "B: Run / Fire", xOff, 128 + (font->height + 3) * 4); + }*/ +} + +void changeStateGame(pango_t* self) +{ + self->gameData.frameCount = 0; + self->gameData.currentBgm = 0; + pa_resetGameDataLeds(&(self->gameData)); + + pa_deactivateAllEntities(&(self->entityManager), false); + + uint16_t levelIndex = getLevelIndex(self->gameData.world, self->gameData.level); + // pa_loadMapFromFile(&(pango->tilemap), "preset.bin"); + // pa_generateMaze(&(pango->tilemap)); + // pa_placeEnemySpawns(&(pango->tilemap)); + + self->gameData.countdown = leveldef[levelIndex].timeLimit; + + paEntityManager_t* entityManager = &(self->entityManager); + entityManager->viewEntity = pa_createPlayer(entityManager, (9 << PA_TILE_SIZE_IN_POWERS_OF_2) + PA_HALF_TILE_SIZE, + (7 << PA_TILE_SIZE_IN_POWERS_OF_2) + PA_HALF_TILE_SIZE); + entityManager->playerEntity = entityManager->viewEntity; + entityManager->playerEntity->hp = self->gameData.initialHp; + + if (entityManager->activeEnemies == 0) + { + for (uint16_t i = 0; i < self->gameData.maxActiveEnemies; i++) + { + pa_spawnEnemyFromSpawnBlock(&(self->entityManager)); + } + } + else + { + // uint16_t randomAggroEnemy = esp_random() % self->gameData.maxActiveEnemies; + + int16_t skippedEnemyRespawnCount = 0; + + for (uint16_t i = 0; i < entityManager->activeEnemies; i++) + { + if (i >= DEFAULT_ENEMY_SPAWN_LOCATION_TABLE_LENGTH) + { + skippedEnemyRespawnCount++; + continue; + } + + uint8_t spawnTx = defaultEnemySpawnLocations[i * DEFAULT_ENEMY_SPAWN_LOCATION_ROW_LENGTH + + DEFAULT_ENEMY_SPAWN_LOCATION_TX_LOOKUP_OFFSET]; + uint8_t spawnTy = defaultEnemySpawnLocations[i * DEFAULT_ENEMY_SPAWN_LOCATION_ROW_LENGTH + + DEFAULT_ENEMY_SPAWN_LOCATION_TY_LOOKUP_OFFSET]; + uint8_t tileAtSpawn = pa_getTile(&(self->tilemap), spawnTx, spawnTy); + + switch (tileAtSpawn) + { + default: + break; + case PA_TILE_BLOCK: + pa_setTile(&(self->tilemap), spawnTx, spawnTy, PA_TILE_EMPTY); + break; + case PA_TILE_SPAWN_BLOCK_0: + skippedEnemyRespawnCount++; + continue; + break; + } + + /*paEntity_t* newEnemy = */ createCrabdozer(&(self->entityManager), + (spawnTx << PA_TILE_SIZE_IN_POWERS_OF_2) + 8, + (spawnTy << PA_TILE_SIZE_IN_POWERS_OF_2) + 8); + + /*if(newEnemy != NULL && i == randomAggroEnemy){ + newEnemy->stateFlag = true; + newEnemy->state = PA_EN_ST_STUN; + newEnemy->stateTimer = 1; + }*/ + } + + entityManager->activeEnemies -= skippedEnemyRespawnCount; + } + + // pa_viewFollowEntity(&(self->tilemap), entityManager->playerEntity); + + pa_updateLedsHpMeter(&(self->entityManager), &(self->gameData)); + + self->tilemap.executeTileSpawnAll = true; + + self->update = &updateGame; +} + +void detectGameStateChange(pango_t* self) +{ + if (!self->gameData.changeState) + { + return; + } + + switch (self->gameData.changeState) + { + case PA_ST_DEAD: + changeStateDead(self); + break; + + case PA_ST_READY_SCREEN: + changeStateReadyScreen(self); + break; + + case PA_ST_LEVEL_CLEAR: + changeStateLevelClear(self); + break; + + case PA_ST_PAUSE: + changeStatePause(self); + break; + + default: + break; + } + + self->gameData.changeState = 0; +} + +void detectBgmChange(pango_t* self) +{ + if (!self->gameData.changeBgm) + { + return; + } + + switch (self->gameData.changeBgm) + { + case PA_BGM_NULL: + if (self->gameData.currentBgm != PA_BGM_NULL) + { + soundStop(true); + } + break; + + case PA_BGM_MAIN: + if (self->gameData.currentBgm != PA_BGM_MAIN) + { + soundPlayBgm(&(self->soundManager.bgmDemagio), BZR_STEREO); + } + break; + + case PA_BGM_ATHLETIC: + if (self->gameData.currentBgm != PA_BGM_ATHLETIC) + { + soundPlayBgm(&(self->soundManager.bgmSmooth), BZR_STEREO); + } + break; + + case PA_BGM_UNDERGROUND: + if (self->gameData.currentBgm != PA_BGM_UNDERGROUND) + { + soundPlayBgm(&(self->soundManager.bgmUnderground), BZR_STEREO); + } + break; + + case PA_BGM_FORTRESS: + if (self->gameData.currentBgm != PA_BGM_FORTRESS) + { + soundPlayBgm(&(self->soundManager.bgmCastle), BZR_STEREO); + } + break; + + default: + break; + } + + self->gameData.currentBgm = self->gameData.changeBgm; + self->gameData.changeBgm = 0; +} + +void changeStateDead(pango_t* self) +{ + self->gameData.frameCount = 0; + self->gameData.lives--; + self->gameData.levelDeaths++; + self->gameData.combo = 0; + self->gameData.comboTimer = 0; + self->gameData.initialHp = 1; + + soundStop(true); + soundPlayBgm(&(self->soundManager.sndDie), BZR_STEREO); + + self->update = &updateDead; +} + +void updateDead(pango_t* self, int64_t elapsedUs) +{ + // Clear the display + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, self->gameData.bgColor); + + self->gameData.frameCount++; + if (self->gameData.frameCount > 179) + { + if (self->gameData.lives > 0) + { + changeStateReadyScreen(self); + } + else + { + changeStateGameOver(self); + } + } + + pa_updateEntities(&(self->entityManager)); + pa_drawTileMap(&(self->tilemap)); + pa_drawEntities(&(self->entityManager)); + drawPangoHud(&(self->radiostars), &(self->gameData)); + + if (self->gameData.countdown < 0) + { + drawText(&(self->radiostars), c555, str_time_up, (TFT_WIDTH - textWidth(&(self->radiostars), str_time_up)) / 2, + 128); + } +} + +void updateGameOver(pango_t* self, int64_t elapsedUs) +{ + // Clear the display + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, c000); + + self->gameData.frameCount++; + if (self->gameData.frameCount > 179) + { + // Handle unlockables + + if (self->gameData.score >= BIG_SCORE) + { + self->unlockables.bigScore = true; + } + + if (self->gameData.score >= BIGGER_SCORE) + { + self->unlockables.biggerScore = true; + } + + if (!self->gameData.debugMode) + { + pangoSaveUnlockables(self); + } + + changeStateNameEntry(self); + } + + drawGameOver(&(self->radiostars), &(self->gameData)); + pa_updateLedsGameOver(&(self->gameData)); +} + +void changeStateGameOver(pango_t* self) +{ + self->gameData.frameCount = 0; + pa_resetGameDataLeds(&(self->gameData)); + soundPlayBgm(&(self->soundManager.bgmGameOver), BZR_STEREO); + self->update = &updateGameOver; +} + +void drawGameOver(font_t* font, paGameData_t* gameData) +{ + drawPangoHud(font, gameData); + drawText(font, c555, str_game_over, (TFT_WIDTH - textWidth(font, str_game_over)) / 2, 128); +} + +void changeStateTitleScreen(pango_t* self) +{ + self->gameData.frameCount = 0; + self->gameData.gameState = PA_ST_TITLE_SCREEN; + self->update = &updateTitleScreen; +} + +void changeStateLevelClear(pango_t* self) +{ + self->gameData.frameCount = 0; + self->gameData.checkpoint = 0; + self->gameData.levelDeaths = 0; + self->gameData.initialHp = self->entityManager.playerEntity->hp; + self->gameData.extraLifeCollected = false; + pa_resetGameDataLeds(&(self->gameData)); + self->update = &updateLevelClear; +} + +void updateLevelClear(pango_t* self, int64_t elapsedUs) +{ + // Clear the display + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, self->gameData.bgColor); + + self->gameData.frameCount++; + + if (self->gameData.frameCount > 60) + { + if (self->gameData.countdown > 0) + { + self->gameData.countdown--; + + if (self->gameData.countdown % 2) + { + soundPlayBgm(&(self->soundManager.sndTally), BZR_STEREO); + } + + uint16_t comboPoints = 50 * self->gameData.combo; + + self->gameData.score += comboPoints; + self->gameData.comboScore = comboPoints; + + if (self->gameData.combo > 1) + { + self->gameData.combo--; + } + } + else if (self->gameData.frameCount % 60 == 0) + { + // Hey look, it's a frame rule! + + uint16_t levelIndex = getLevelIndex(self->gameData.world, self->gameData.level); + + if (levelIndex >= NUM_LEVELS - 1) + { + // Game Cleared! + + if (!self->gameData.debugMode) + { + // Determine achievements + self->unlockables.gameCleared = true; + + if (!self->gameData.continuesUsed) + { + self->unlockables.oneCreditCleared = true; + + if (self->gameData.inGameTimer < FAST_TIME) + { + self->unlockables.fastTime = true; + } + } + + if (self->gameData.score >= BIG_SCORE) + { + self->unlockables.bigScore = true; + } + + if (self->gameData.score >= BIGGER_SCORE) + { + self->unlockables.biggerScore = true; + } + } + + changeStateGameClear(self); + } + else + { + // Advance to the next level + self->gameData.level++; + if (self->gameData.level > 4) + { + self->gameData.world++; + self->gameData.level = 1; + } + + // Unlock the next level + levelIndex++; + if (levelIndex > self->unlockables.maxLevelIndexUnlocked) + { + self->unlockables.maxLevelIndexUnlocked = levelIndex; + } + + pa_setDifficultyLevel(&(pango->gameData), getLevelIndex(self->gameData.world, self->gameData.level)); + pa_loadMapFromFile(&(pango->tilemap), "preset.bin"); + pa_generateMaze(&(pango->tilemap)); + pa_placeEnemySpawns(&(pango->tilemap)); + + self->entityManager.activeEnemies = 0; + + changeStateReadyScreen(self); + } + + if (!self->gameData.debugMode) + { + pangoSaveUnlockables(self); + } + + return; + } + } + + pa_updateEntities(&(self->entityManager)); + pa_drawTileMap(&(self->tilemap)); + pa_drawEntities(&(self->entityManager)); + drawPangoHud(&(self->radiostars), &(self->gameData)); + drawLevelClear(&(self->radiostars), &(self->gameData)); + pa_updateLedsLevelClear(&(self->gameData)); +} + +void drawLevelClear(font_t* font, paGameData_t* gameData) +{ + drawPangoHud(font, gameData); + drawText(font, c000, str_well_done, (TFT_WIDTH - textWidth(font, str_well_done) + 1) >> 1, 129); + drawText(font, c553, str_well_done, (TFT_WIDTH - textWidth(font, str_well_done)) >> 1, 128); +} + +void changeStateGameClear(pango_t* self) +{ + self->gameData.frameCount = 0; + self->update = &updateGameClear; + pa_resetGameDataLeds(&(self->gameData)); + soundPlayBgm(&(self->soundManager.bgmSmooth), BZR_STEREO); +} + +void updateGameClear(pango_t* self, int64_t elapsedUs) +{ + // Clear the display + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, c000); + + self->gameData.frameCount++; + + if (self->gameData.frameCount > 450) + { + if (self->gameData.lives > 0) + { + if (self->gameData.frameCount % 60 == 0) + { + self->gameData.lives--; + self->gameData.score += 200000; + soundPlaySfx(&(self->soundManager.snd1up), BZR_STEREO); + } + } + else if (self->gameData.frameCount % 960 == 0) + { + changeStateGameOver(self); + } + } + + drawPangoHud(&(self->radiostars), &(self->gameData)); + drawGameClear(&(self->radiostars), &(self->gameData)); + pa_updateLedsGameClear(&(self->gameData)); +} + +void drawGameClear(font_t* font, paGameData_t* gameData) +{ + drawPangoHud(font, gameData); + + char timeStr[32]; + snprintf(timeStr, sizeof(timeStr) - 1, "in %06" PRIu32 " seconds!", gameData->inGameTimer); + + drawText(font, yellowColors[(gameData->frameCount >> 3) % 4], str_congrats, + (TFT_WIDTH - textWidth(font, str_congrats)) / 2, 48); + + if (gameData->frameCount > 120) + { + drawText(font, c555, "You've completed your", 8, 80); + drawText(font, c555, "trip across Swadge Land", 8, 96); + } + + if (gameData->frameCount > 180) + { + drawText(font, (gameData->inGameTimer < FAST_TIME) ? cyanColors[(gameData->frameCount >> 3) % 4] : c555, + timeStr, (TFT_WIDTH - textWidth(font, timeStr)) / 2, 112); + } + + if (gameData->frameCount > 300) + { + drawText(font, c555, "The Swadge staff", 8, 144); + drawText(font, c555, "thanks you for playing!", 8, 160); + } + + if (gameData->frameCount > 420) + { + drawText(font, (gameData->lives > 0) ? highScoreNewEntryColors[(gameData->frameCount >> 3) % 4] : c555, + "Bonus 200000pts per life!", (TFT_WIDTH - textWidth(font, "Bonus 100000pts per life!")) / 2, 192); + } + + /* + drawText(font, c555, "Thanks for playing.", 24, 48); + drawText(font, c555, "Many more battle scenes", 8, 96); + drawText(font, c555, "will soon be available!", 8, 112); + drawText(font, c555, "Bonus 100000pts per life!", 8, 160); + */ +} + +void pangoInitializeHighScores(pango_t* self) +{ + self->highScores.scores[0] = 100000; + self->highScores.scores[1] = 80000; + self->highScores.scores[2] = 40000; + self->highScores.scores[3] = 20000; + self->highScores.scores[4] = 10000; + + for (uint8_t i = 0; i < NUM_PLATFORMER_HIGH_SCORES; i++) + { + self->highScores.initials[i][0] = 'J' + i; + self->highScores.initials[i][1] = 'P' - i; + self->highScores.initials[i][2] = 'V' + i; + } +} + +void loadPangoHighScores(pango_t* self) +{ + size_t size = sizeof(pangoHighScores_t); + // Try reading the value + if (false == readNvsBlob(KEY_SCORES, &(self->highScores), &(size))) + { + // Value didn't exist, so write the default + pangoInitializeHighScores(self); + } +} + +void pangoSaveHighScores(pango_t* self) +{ + size_t size = sizeof(pangoHighScores_t); + writeNvsBlob(KEY_SCORES, &(self->highScores), size); +} + +void pangoInitializeUnlockables(pango_t* self) +{ + self->unlockables.maxLevelIndexUnlocked = 0; + self->unlockables.gameCleared = false; + self->unlockables.oneCreditCleared = false; + self->unlockables.bigScore = false; + self->unlockables.fastTime = false; + self->unlockables.biggerScore = false; +} + +void loadPangoUnlockables(pango_t* self) +{ + size_t size = sizeof(pangoUnlockables_t); + // Try reading the value + if (false == readNvsBlob(KEY_UNLOCKS, &(self->unlockables), &(size))) + { + // Value didn't exist, so write the default + pangoInitializeHighScores(self); + } +} + +void pangoSaveUnlockables(pango_t* self) +{ + size_t size = sizeof(pangoUnlockables_t); + writeNvsBlob(KEY_UNLOCKS, &(self->unlockables), size); +} + +void drawPangoHighScores(font_t* font, pangoHighScores_t* highScores, paGameData_t* gameData) +{ + drawText(font, c555, "RANK SCORE NAME", 48, 96); + for (uint8_t i = 0; i < NUM_PLATFORMER_HIGH_SCORES; i++) + { + char rowStr[32]; + snprintf(rowStr, sizeof(rowStr) - 1, "%d %06" PRIu32 " %c%c%c", i + 1, highScores->scores[i], + highScores->initials[i][0], highScores->initials[i][1], highScores->initials[i][2]); + drawText(font, (gameData->rank == i) ? highScoreNewEntryColors[(gameData->frameCount >> 3) % 4] : c555, rowStr, + 60, 128 + i * 16); + } +} + +uint8_t getHighScoreRank(pangoHighScores_t* highScores, uint32_t newScore) +{ + uint8_t i; + for (i = 0; i < NUM_PLATFORMER_HIGH_SCORES; i++) + { + if (highScores->scores[i] < newScore) + { + break; + } + } + + return i; +} + +void insertScoreIntoHighScores(pangoHighScores_t* highScores, uint32_t newScore, char newInitials[], uint8_t rank) +{ + if (rank >= NUM_PLATFORMER_HIGH_SCORES) + { + return; + } + + for (uint8_t i = NUM_PLATFORMER_HIGH_SCORES - 1; i > rank; i--) + { + highScores->scores[i] = highScores->scores[i - 1]; + highScores->initials[i][0] = highScores->initials[i - 1][0]; + highScores->initials[i][1] = highScores->initials[i - 1][1]; + highScores->initials[i][2] = highScores->initials[i - 1][2]; + } + + highScores->scores[rank] = newScore; + highScores->initials[rank][0] = newInitials[0]; + highScores->initials[rank][1] = newInitials[1]; + highScores->initials[rank][2] = newInitials[2]; +} + +void changeStateNameEntry(pango_t* self) +{ + self->gameData.frameCount = 0; + uint8_t rank = getHighScoreRank(&(self->highScores), self->gameData.score); + self->gameData.rank = rank; + self->menuState = 0; + + pa_resetGameDataLeds(&(self->gameData)); + + if (rank >= NUM_PLATFORMER_HIGH_SCORES || self->gameData.debugMode) + { + self->menuSelection = 0; + self->gameData.rank = NUM_PLATFORMER_HIGH_SCORES; + pangoChangeStateShowHighScores(self); + return; + } + + soundPlayBgm(&(self->soundManager.bgmNameEntry), BZR_STEREO); + self->menuSelection = self->gameData.initials[0]; + self->update = &updateNameEntry; +} + +void updateNameEntry(pango_t* self, int64_t elapsedUs) +{ + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, c000); + + self->gameData.frameCount++; + + if (self->gameData.btnState & PB_LEFT && !(self->gameData.prevBtnState & PB_LEFT)) + { + self->menuSelection--; + + if (self->menuSelection < 32) + { + self->menuSelection = 90; + } + + self->gameData.initials[self->menuState] = self->menuSelection; + soundPlaySfx(&(self->soundManager.sndMenuSelect), BZR_STEREO); + } + else if (self->gameData.btnState & PB_RIGHT && !(self->gameData.prevBtnState & PB_RIGHT)) + { + self->menuSelection++; + + if (self->menuSelection > 90) + { + self->menuSelection = 32; + } + + self->gameData.initials[self->menuState] = self->menuSelection; + soundPlaySfx(&(self->soundManager.sndMenuSelect), BZR_STEREO); + } + else if (self->gameData.btnState & PB_B && !(self->gameData.prevBtnState & PB_B)) + { + if (self->menuState > 0) + { + self->menuState--; + self->menuSelection = self->gameData.initials[self->menuState]; + soundPlaySfx(&(self->soundManager.sndMenuSelect), BZR_STEREO); + } + else + { + soundPlaySfx(&(self->soundManager.sndMenuDeny), BZR_STEREO); + } + } + else if (self->gameData.btnState & PB_A && !(self->gameData.prevBtnState & PB_A)) + { + self->menuState++; + + if (self->menuState > 2) + { + insertScoreIntoHighScores(&(self->highScores), self->gameData.score, self->gameData.initials, + self->gameData.rank); + pangoSaveHighScores(self); + pangoChangeStateShowHighScores(self); + soundPlaySfx(&(self->soundManager.sndPowerUp), BZR_STEREO); + } + else + { + self->menuSelection = self->gameData.initials[self->menuState]; + soundPlaySfx(&(self->soundManager.sndMenuSelect), BZR_STEREO); + } + } + + drawNameEntry(&(self->radiostars), &(self->gameData), self->menuState); + pa_updateLedsShowHighScores(&(self->gameData)); +} + +void drawNameEntry(font_t* font, paGameData_t* gameData, uint8_t currentInitial) +{ + drawText(font, greenColors[(pango->gameData.frameCount >> 3) % 4], str_initials, + (TFT_WIDTH - textWidth(font, str_initials)) / 2, 64); + + char rowStr[32]; + snprintf(rowStr, sizeof(rowStr) - 1, "%d %06" PRIu32, gameData->rank + 1, gameData->score); + drawText(font, c555, rowStr, 64, 128); + + for (uint8_t i = 0; i < 3; i++) + { + snprintf(rowStr, sizeof(rowStr) - 1, "%c", gameData->initials[i]); + drawText(font, (currentInitial == i) ? highScoreNewEntryColors[(gameData->frameCount >> 3) % 4] : c555, rowStr, + 192 + 16 * i, 128); + } +} + +void pangoChangeStateShowHighScores(pango_t* self) +{ + self->gameData.frameCount = 0; + self->update = &updateShowHighScores; +} + +void updateShowHighScores(pango_t* self, int64_t elapsedUs) +{ + fillDisplayArea(0, 0, TFT_WIDTH, TFT_HEIGHT, c000); + + self->gameData.frameCount++; + + if ((self->gameData.frameCount > 300) + || (((self->gameData.btnState & PB_START) && !(self->gameData.prevBtnState & PB_START)) + || ((self->gameData.btnState & PB_A) && !(self->gameData.prevBtnState & PB_A)))) + { + self->menuState = 0; + self->menuSelection = 0; + soundStop(true); + changeStateTitleScreen(self); + } + + drawShowHighScores(&(self->radiostars), self->menuState); + drawPangoHighScores(&(self->radiostars), &(self->highScores), &(self->gameData)); + + pa_updateLedsShowHighScores(&(self->gameData)); +} + +void drawShowHighScores(font_t* font, uint8_t menuState) +{ + if (pango->easterEgg) + { + drawText(font, highScoreNewEntryColors[(pango->gameData.frameCount >> 3) % 4], str_hbd, + (TFT_WIDTH - textWidth(font, str_hbd)) / 2, 32); + } + else if (menuState == 3) + { + drawText(font, redColors[(pango->gameData.frameCount >> 3) % 4], str_registrated, + (TFT_WIDTH - textWidth(font, str_registrated)) / 2, 32); + } + else + { + drawText(font, c555, str_do_your_best, (TFT_WIDTH - textWidth(font, str_do_your_best)) / 2, 32); + } +} + +void changeStatePause(pango_t* self) +{ + soundStop(true); + soundPlaySfx(&(self->soundManager.sndPause), BZR_STEREO); + self->update = &updatePause; +} + +void updatePause(pango_t* self, int64_t elapsedUs) +{ + if (((self->gameData.btnState & PB_START) && !(self->gameData.prevBtnState & PB_START))) + { + soundPlaySfx(&(self->soundManager.sndPause), BZR_STEREO); + self->gameData.changeBgm = self->gameData.currentBgm; + self->gameData.currentBgm = PA_BGM_NULL; + self->update = &updateGame; + } + + pa_drawTileMap(&(self->tilemap)); + pa_drawEntities(&(self->entityManager)); + drawPangoHud(&(self->radiostars), &(self->gameData)); + drawPause(&(self->radiostars)); +} + +void drawPause(font_t* font) +{ + drawText(font, c000, str_pause, (TFT_WIDTH - textWidth(font, str_pause) + 2) >> 1, 129); + drawText(font, c553, str_pause, (TFT_WIDTH - textWidth(font, str_pause)) >> 1, 128); +} + +uint16_t getLevelIndex(uint8_t world, uint8_t level) +{ + return (world - 1) * 4 + (level - 1); +} \ No newline at end of file diff --git a/main/modes/games/pango/pango.h b/main/modes/games/pango/pango.h new file mode 100644 index 000000000..74d86ca46 --- /dev/null +++ b/main/modes/games/pango/pango.h @@ -0,0 +1,47 @@ +#ifndef _MODE_PLATFORMER_H_ +#define _MODE_PLATFORMER_H_ +//============================================================================== +// Includes +//============================================================================== + +#include "pango_typedef.h" +#include "swadge2024.h" + +/*============================================================================== + * Constants + *============================================================================*/ + +#define NUM_PLATFORMER_HIGH_SCORES 5 + +extern const char pangoName[]; + +//============================================================================== +// Structs +//============================================================================== + +typedef struct +{ + uint32_t scores[NUM_PLATFORMER_HIGH_SCORES]; + char initials[NUM_PLATFORMER_HIGH_SCORES][3]; +} pangoHighScores_t; + +typedef struct +{ + uint8_t maxLevelIndexUnlocked; + bool gameCleared; + bool oneCreditCleared; + bool bigScore; + bool fastTime; + bool biggerScore; +} pangoUnlockables_t; + +//============================================================================== +// Prototypes +//============================================================================== + +void updateGame(pango_t* pango, int64_t elapsedUs); +void updateTitleScreen(pango_t* pango, int64_t elapsedUs); + +extern swadgeMode_t pangoMode; + +#endif diff --git a/main/modes/games/pango/pango_typedef.h b/main/modes/games/pango/pango_typedef.h new file mode 100644 index 000000000..151211633 --- /dev/null +++ b/main/modes/games/pango/pango_typedef.h @@ -0,0 +1,71 @@ +#ifndef PANGO_COMMON_TYPEDEF_INCLUDED +#define PANGO_COMMON_TYPEDEF_INCLUDED + +typedef struct pango_t pango_t; +typedef struct paEntityManager_t paEntityManager_t; +typedef struct paTilemap_t paTilemap_t; +typedef struct paEntity_t paEntity_t; + +typedef enum +{ + PA_ST_NULL, + PA_ST_TITLE_SCREEN, + PA_ST_READY_SCREEN, + PA_ST_GAME, + PA_ST_DEAD, + PA_ST_LEVEL_CLEAR, + PA_ST_WORLD_CLEAR, + PA_ST_GAME_CLEAR, + PA_ST_GAME_OVER, + PA_ST_HIGH_SCORE_ENTRY, + PA_ST_HIGH_SCORE_TABLE, + PA_ST_PAUSE +} pa_gameStateEnum_t; + +typedef enum +{ + PA_BGM_NO_CHANGE, + PA_BGM_MAIN, + PA_BGM_ATHLETIC, + PA_BGM_UNDERGROUND, + PA_BGM_FORTRESS, + PA_BGM_NULL +} pa_bgmEnum_t; + +typedef enum +{ + PA_SP_PLAYER_SOUTH, + PA_SP_PLAYER_WALK_SOUTH, + PA_SP_PLAYER_NORTH, + PA_SP_PLAYER_WALK_NORTH, + PA_SP_PLAYER_SIDE, + PA_SP_PLAYER_WALK_SIDE_1, + PA_SP_PLAYER_WALK_SIDE_2, + PA_SP_PLAYER_PUSH_SOUTH_1, + PA_SP_PLAYER_PUSH_SOUTH_2, + PA_SP_PLAYER_PUSH_NORTH_1, + PA_SP_PLAYER_PUSH_NORTH_2, + PA_SP_PLAYER_PUSH_SIDE_1, + PA_SP_PLAYER_PUSH_SIDE_2, + PA_SP_PLAYER_HURT, + PA_SP_PLAYER_WIN, + PA_SP_PLAYER_ICON, + PA_SP_BLOCK, + PA_SP_BONUS_BLOCK, + PA_SP_ENEMY_SOUTH, + PA_SP_ENEMY_NORTH, + PA_SP_ENEMY_SIDE_1, + PA_SP_ENEMY_SIDE_2, + PA_SP_ENEMY_DRILL_SOUTH, + PA_SP_ENEMY_DRILL_NORTH, + PA_SP_ENEMY_DRILL_SIDE_1, + PA_SP_ENEMY_DRILL_SIDE_2, + PA_SP_ENEMY_STUN, + PA_SP_BREAK_BLOCK, + PA_SP_BREAK_BLOCK_1, + PA_SP_BREAK_BLOCK_2, + PA_SP_BREAK_BLOCK_3, + PA_SP_BLOCK_FRAGMENT +} pa_spriteDef_t; + +#endif \ No newline at end of file diff --git a/main/modes/system/mainMenu/mainMenu.c b/main/modes/system/mainMenu/mainMenu.c index ca0b8100b..837315b38 100644 --- a/main/modes/system/mainMenu/mainMenu.c +++ b/main/modes/system/mainMenu/mainMenu.c @@ -19,6 +19,7 @@ #include "mode_bigbug.h" #include "mode_synth.h" #include "ultimateTTT.h" +#include "pango.h" #include "touchTest.h" #include "tunernome.h" #include "keebTest.h" @@ -151,6 +152,7 @@ static void mainMenuEnterMode(void) // Add single items mainMenu->menu = startSubMenu(mainMenu->menu, "Games"); addSingleItemToMenu(mainMenu->menu, tttMode.modeName); + addSingleItemToMenu(mainMenu->menu, pangoMode.modeName); addSingleItemToMenu(mainMenu->menu, t48Mode.modeName); addSingleItemToMenu(mainMenu->menu, bigbugMode.modeName); mainMenu->menu = endSubMenu(mainMenu->menu); @@ -362,6 +364,10 @@ static void mainMenuCb(const char* label, bool selected, uint32_t settingVal) { switchToSwadgeMode(&tttMode); } + else if (label == pangoMode.modeName) + { + switchToSwadgeMode(&pangoMode); + } else if (label == timerMode.modeName) { switchToSwadgeMode(&timerMode); diff --git a/tools/pango_editor/mockup.bin b/tools/pango_editor/mockup.bin new file mode 100644 index 0000000000000000000000000000000000000000..b5519a2b6c80ef11660094c55880c696256c3797 GIT binary patch literal 274 zcmZvX+YW#r3`6S`#*2yn|FN#riHkNNETcOe=P}J$3n~EfL-Afw&Ac+I-`;sSZV%tl r + + + + +2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,0, +9,0,0,0,10,0,0,0,0,0,0,0,10,0,0,0,5,0, +9,10,10,0,10,0,10,10,10,10,10,0,10,0,10,10,5,0, +9,0,10,0,0,0,0,0,0,0,10,0,10,0,0,0,5,0, +9,0,10,10,10,0,11,10,10,0,10,0,10,0,10,10,5,0, +9,0,0,0,0,0,0,0,10,0,0,0,0,0,10,0,5,0, +9,10,10,10,10,10,10,0,10,0,10,10,10,10,10,0,5,0, +9,0,10,0,0,0,10,0,0,0,0,0,11,0,0,0,5,0, +9,0,10,0,10,0,10,10,10,10,10,0,10,0,10,10,5,0, +9,0,10,0,10,0,10,0,0,0,0,0,0,0,10,0,5,0, +9,0,11,10,10,0,10,0,10,0,10,10,10,10,10,0,5,0, +9,0,10,0,0,0,10,0,10,0,10,0,10,0,0,0,5,0, +9,0,10,0,10,10,10,0,10,0,10,0,10,0,10,10,5,0, +9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,5,0, +7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,6,0 + + + diff --git a/tools/pango_editor/pa-tileset.png b/tools/pango_editor/pa-tileset.png new file mode 100644 index 0000000000000000000000000000000000000000..a836e3057b6d9131ddcdd9fb2956c414f9365557 GIT binary patch literal 1209 zcmds#*-OEgh-%>V~h0QdPyTLq9!GoOEuI((I&LeMM_Muh)S}F zOv#}1LF}Qx2qY1TnnEIjx&)CA78WgrLPFE0`7;{OA2a8i@A)pby*#`*5T6_`B7w5f zk_x`#{4I@(<$w9*n4f%Nj#g|glEIfLpG6jQly9vH@u)sov`r3&YS}MJ^lQrn4GGt9p_%>XCB^GP@gop`qtv2Uz2Hvw$z2Yrq@QF zd~J%O`}Uo=NLxZ&ATE$`^X`MQ zeZ4ofjWt(PjjbpMC8oO8lPYy|s7+cLf_q1YGWHZ7ShPRySYq?l;;E-KiQQ={uNUt4 z-4JZN6xrSq_i9PUpWd_$;}i2Er(91YYh?ae=CbaBUHS3B&z literal 0 HcmV?d00001 diff --git a/tools/pango_editor/pa-tileset.tsx b/tools/pango_editor/pa-tileset.tsx new file mode 100644 index 000000000..75765c532 --- /dev/null +++ b/tools/pango_editor/pa-tileset.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/tools/pango_editor/pango-editor.js b/tools/pango_editor/pango-editor.js new file mode 100644 index 000000000..ffe438efd --- /dev/null +++ b/tools/pango_editor/pango-editor.js @@ -0,0 +1,111 @@ +tiled.registerMapFormat("Pango", { + name: "Pango map format", + extension: "bin", + read: (fileName) => { + var file = new BinaryFile(fileName, BinaryFile.ReadOnly); + var filePath = FileInfo.path(fileName); + var buffer = file.read(file.size); + var view = new Uint8Array(buffer); + const tileDataOffset = 2; + const tileSizeInPixels = 16; + + var map = new TileMap(); + + //The first two bytes contain the width and height of the tilemap in tiles + var tileDataLength = view[0] * view[1]; + map.setSize(view[0], view[1]); + map.setTileSize(tileSizeInPixels, tileSizeInPixels); + + var tileset = tiled.open(filePath + '/pa-tileset.tsx'); + + var layer = new TileLayer(); + + map.addTileset(tileset); + + layer.width = map.width; + layer.height = map.height; + layer.name = 'Main'; + + var layerEdit = layer.edit(); + var importTileX = 0; + var importTileY = 0; + + + //Import tile data + for(let i = 0; i < tileDataLength; i++){ + let tileId = view[i + tileDataOffset]; + layerEdit.setTile(importTileX, importTileY, tileset.tile(tileId)); + + importTileX++; + if(importTileX >= map.width){ + importTileY++; + importTileX=0; + } + } + + layerEdit.apply(); + + map.addLayer(layer); + file.close(); + return map; + }, + write: (map, fileName) => { + for (let i = 0; i < map.layerCount; ++i) { + const layer = map.layerAt(i); + + if (!layer.isTileLayer) { + continue; + } + + let file = new BinaryFile(fileName, BinaryFile.WriteOnly); + let buffer = new ArrayBuffer(2 + layer.width * layer.height + 2); //Buffer sized to lenth byte + width byte + length * width of level bytes + 2 total target tile bytes + let view = new Uint8Array(buffer); + + //The first two bytes contain the width and height of the tilemap in tiles + view[0]=layer.width; + view[1]=layer.height; + let writePosition = 2; + let totalTargetBlockTiles = 0; + + for (let y = 0; y < layer.height; ++y) { + const row = []; + + for (let x = 0; x < layer.width; ++x) { + const tile = layer.tileAt(x, y); + if(!tile){ + //file.write(0); + view[writePosition] = 0; + writePosition++; + continue; + } + + const tileId = tile.id; + + //Handle "target block tiles" + //These are the blocks that the player must break to complete the level. + //if(tileId >= 16 && tileId <= 127) { + // totalTargetBlockTiles++; + //} + + //Handling every tile + view[writePosition]=tileId; + + writePosition++; + } + } + + //The last 2 bytes hold the total number of "target block tiles" + //Forced into a (hopefully) unsigned 16 bit integer, little endian + //There's probably a better way to do this... + //let totalTargetBlockTilesLowerByte = totalTargetBlockTiles & 255; + //let totalTargetBlockTilesUpperByte = (totalTargetBlockTiles >> 8) & 255; + //view[writePosition] = totalTargetBlockTilesLowerByte; + //writePosition++; + //view[writePosition] = totalTargetBlockTilesUpperByte; + //writePosition++; + + file.write(buffer); + file.commit(); + } + }, +}); \ No newline at end of file diff --git a/tools/pango_editor/pango-tiles.tsx b/tools/pango_editor/pango-tiles.tsx new file mode 100644 index 000000000..ed777d450 --- /dev/null +++ b/tools/pango_editor/pango-tiles.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/tools/pango_editor/pango.tiled-project b/tools/pango_editor/pango.tiled-project new file mode 100644 index 000000000..d58954aef --- /dev/null +++ b/tools/pango_editor/pango.tiled-project @@ -0,0 +1,11 @@ +{ + "automappingRulesFile": "", + "commands": [ + ], + "extensionsPath": "extensions", + "folders": [ + "." + ], + "propertyTypes": [ + ] +} diff --git a/tools/pango_editor/pango.tiled-session b/tools/pango_editor/pango.tiled-session new file mode 100644 index 000000000..eca5100ff --- /dev/null +++ b/tools/pango_editor/pango.tiled-session @@ -0,0 +1,65 @@ +{ + "Map/SizeTest": { + "height": 4300, + "width": 2 + }, + "activeFile": "mockup.tmx", + "expandedProjectPaths": [ + ], + "file.lastUsedOpenFilter": "Pango map format (*.bin)", + "fileStates": { + "mockup.bin": { + "scale": 2.3914930555555554, + "selectedLayer": 0, + "viewCenter": { + "x": 144.47041742286754, + "y": 120.63593466424685 + } + }, + "mockup.tmx": { + "scale": 2.39, + "selectedLayer": 0, + "viewCenter": { + "x": 144.14225941422592, + "y": 120.2928870292887 + } + }, + "pa-tileset.tsx": { + "scaleInDock": 1, + "scaleInEditor": 1 + }, + "preset.tmx": { + "scale": 2.39, + "selectedLayer": 0, + "viewCenter": { + "x": 144.14225941422592, + "y": 120.2928870292887 + } + } + }, + "last.exportedFilePath": "/Users/jvega/Development/Swadge/esp32/2025/Swadge-IDF-5.0/tools/pango_editor", + "last.imagePath": "/Users/jvega/Development/Swadge/esp32/2025/Swadge-IDF-5.0/tools/pango_editor", + "map.height": 15, + "map.lastUsedExportFilter": "Pango map format (*.bin)", + "map.lastUsedFormat": "tmx", + "map.tileHeight": 16, + "map.tileWidth": 16, + "map.width": 18, + "openFiles": [ + "pa-tileset.tsx", + "mockup.tmx", + "preset.tmx" + ], + "project": "pango.tiled-project", + "recentFiles": [ + "pa-tileset.tsx", + "preset.tmx", + "mockup.tmx", + "mockup.bin" + ], + "tileset.lastUsedFormat": "tsx", + "tileset.tileSize": { + "height": 16, + "width": 16 + } +} diff --git a/tools/pango_editor/preset.tmx b/tools/pango_editor/preset.tmx new file mode 100644 index 000000000..9933afcd7 --- /dev/null +++ b/tools/pango_editor/preset.tmx @@ -0,0 +1,23 @@ + + + + + +2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,0, +9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,0, +9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,0, +9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,0, +9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,0, +9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,0, +9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,0, +9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,0, +9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,0, +9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,0, +9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,0, +9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,0, +9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,0, +9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,5,0, +7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,6,0 + + +