Commit graph

606 commits

Author SHA1 Message Date
Corwin 592a0814f8 non optional feature alloc 2022-03-06 13:31:56 +00:00
Corwin 84e6af5d2f load aseprite files directly with asefile 2022-03-06 13:31:56 +00:00
Corwin 02e6194073 make fields private 2022-03-06 13:31:56 +00:00
Corwin 6bafa3ebab use public api 2022-03-06 13:31:56 +00:00
Corwin ecf31fa833 load multiple 2022-03-06 13:31:56 +00:00
Corwin b3db55330a sprites example 2022-03-06 13:31:56 +00:00
Corwin 25da2a2711 expose the inner proc macro in a macro rules 2022-03-06 13:31:56 +00:00
Corwin efe67423c1 use the types 2022-03-06 13:31:56 +00:00
Corwin 16ff9b8ec1 types for nice sprite import and usage 2022-03-06 13:31:54 +00:00
Corwin 80e53d4716 volatile writes 2022-03-06 13:31:36 +00:00
Corwin c1901819af unblank screen on object init 2022-03-06 13:31:36 +00:00
Corwin 45823273ac satisfy linter 2022-03-06 13:31:36 +00:00
Corwin da9a15402e use more efficient hash function 2022-03-06 13:31:36 +00:00
Corwin 8792146ddb use correct copys 2022-03-06 13:31:36 +00:00
Corwin ae681019bb set palette location on sprite change 2022-03-06 13:31:36 +00:00
Corwin 2a7b350f57 objects now exist and work 2022-03-06 13:31:36 +00:00
Corwin a1b67e107f object controller implementations 2022-03-06 13:31:36 +00:00
Corwin 836143e1f4 copy the sprite and palette data 2022-03-06 13:31:36 +00:00
Corwin d764ff9900 allocate palettes too 2022-03-06 13:31:36 +00:00
Corwin 6a2c9d8826 add some sprite allocation 2022-03-06 13:31:36 +00:00
Corwin 93d994360e make alloc and dealloc public 2022-03-06 13:31:36 +00:00
Corwin 1849571344 sprite allocator 2022-03-06 13:31:34 +00:00
Corwin beb9abbb7e allocator methods pulled out of global alloc trait 2022-03-06 13:30:47 +00:00
Corwin 475edadcb9 extend to also supporting the end 2022-03-06 13:30:47 +00:00
Corwin 3c6c7efc79 allocator that can have a custom start point 2022-03-06 13:30:47 +00:00
Gwilym Kuiper 39a8b5a64f Update lockfiles 2022-03-05 20:52:26 +00:00
Gwilym Kuiper 803527be23 Fix warning in release mode 2022-03-05 19:52:57 +00:00
Gwilym Kuiper ba1c2e3eaf Remove unused import 2022-03-05 19:45:01 +00:00
Gwilym Kuiper d97ceca647 Remove unused function 2022-03-05 19:44:21 +00:00
Gwilym Kuiper 09f6736497 Extract dma_copy to its own module 2022-03-05 19:43:48 +00:00
Gwilym Kuiper 068bc95fe7 Fix warning with non-constant string 2022-03-05 19:35:19 +00:00
Gwilym Kuiper a3e5187457 Use DMA to copy the entire internal map in one go 2022-03-05 19:35:07 +00:00
Gwilym Kuiper 7b43debd3e WIP: Try removing the hashmap 2022-03-05 19:25:55 +00:00
Gwilym Kuiper aa7823232b Try using a vec of vecs rather than a hashmap 2022-03-05 19:25:09 +00:00
Gwilym Kuiper ceb17a0186 Update hat chooses wizard and purple night 2022-03-05 19:25:09 +00:00
Gwilym Kuiper 22c6e37c88 Finally extract InfiniteScrolledMap 2022-03-05 19:25:09 +00:00
Gwilym Kuiper 6b492c5956 Extract more to new files 2022-03-05 19:25:09 +00:00
Gwilym Kuiper 78fb706c9a Extract map to its own file 2022-03-05 19:25:09 +00:00
Gwilym Kuiper e88602b570 Get my brackets correct 2022-03-05 19:25:09 +00:00
Gwilym Kuiper a35119fdbd Fix hat chooses the wizard 2022-03-05 19:25:09 +00:00
Gwilym Kuiper 742231fbc5 Try a different transparent tile then 0 2022-03-05 19:25:09 +00:00
Gwilym Kuiper ed2af0d57e Extract VRamManager to the tiled module 2022-03-05 19:25:09 +00:00
Gwilym Kuiper f1bc09d6cd Avoid crackle on load 2022-03-05 19:25:09 +00:00
Gwilym Kuiper d896adfad5 Clear the backgrounds once they aren't used any more 2022-03-05 19:25:09 +00:00
Gwilym Kuiper de594ad362 Make init take an impl Fn rather than a Box<dyn Fn()> 2022-03-05 19:25:09 +00:00
Gwilym Kuiper 3a913f142a Remove pop while loading a level 2022-03-05 19:25:09 +00:00
Gwilym Kuiper b0b8ec55c4 Remove unused TILE_BACKGROUND 2022-03-05 19:25:09 +00:00
Gwilym Kuiper 63dd837518 Tiny performance improvement with dma to copy the tile data 2022-03-05 19:25:09 +00:00
Gwilym Kuiper 08aeb56f1e Update background and foreground independentently 2022-03-05 19:25:06 +00:00
Gwilym Kuiper 3941117aa7 Switch to rustc-hash 2022-03-05 19:24:28 +00:00
Gwilym Kuiper 06901b3543 Move post-work to pre-work 2022-03-05 19:23:53 +00:00
Gwilym Kuiper 530b71e0df Copy slightly too much 2022-03-05 19:23:53 +00:00
Gwilym Kuiper a365c14917 Small fixes 2022-03-05 19:23:53 +00:00
Gwilym Kuiper 3a795fea8f Handle moving up to 10 tiles at once 2022-03-05 19:23:53 +00:00
Gwilym Kuiper 610be70b92 Correctly set the initial offset value in init() 2022-03-05 19:23:53 +00:00
Gwilym Kuiper a998ae31a4 Correctly use the map width and not the display width 2022-03-05 19:23:53 +00:00
Gwilym Kuiper ebf21f4add Avoid pointless copies 2022-03-05 19:23:53 +00:00
Gwilym Kuiper 66a61e33e6 More correctly special case tile 0 2022-03-05 19:23:53 +00:00
Gwilym Kuiper 666867e933 Track the generation along with the tile data 2022-03-05 19:23:53 +00:00
Gwilym Kuiper 10c97f48d8 Introduce the MapLoan to infinite scrolled map 2022-03-05 19:23:53 +00:00
Gwilym Kuiper 2c8fce40d3 Store the used backgrounds in a bit array 2022-03-05 19:23:53 +00:00
Gwilym Kuiper cd05fee360 Use a concrete type for the TileReference 2022-03-05 19:23:53 +00:00
Gwilym Kuiper 5793d6b6ab Introduce methods for increasing and decreasing the reference 2022-03-05 19:23:53 +00:00
Gwilym Kuiper 2a04ebd884 Rename TileReference to VRamState 2022-03-05 19:23:53 +00:00
Gwilym Kuiper 5533c9c052 Fix reuse issue 2022-03-05 19:23:53 +00:00
Gwilym Kuiper a2c6c6a70c Make the tile references clearer 2022-03-05 19:23:53 +00:00
Gwilym Kuiper bf10d9a5ff Try copying the correct amount 2022-03-05 19:23:53 +00:00
Gwilym Kuiper 7f0d7757c5 Really trying hard to get this working 2022-03-05 19:23:53 +00:00
Gwilym Kuiper f785d65057 Something that seems like it is close to working 2022-03-05 19:23:50 +00:00
Gwilym Kuiper 472875edac Update the wave example 2022-03-05 19:21:54 +00:00
Gwilym Kuiper 38e57489a3 Rework the settings a little to allow for raw tile ids 2022-03-05 19:21:54 +00:00
Gwilym Kuiper cf72a9331a Add API for setting tile data from just a number 2022-03-05 19:21:54 +00:00
Gwilym Kuiper 1286a58511 Ensure that we don't copy twice 2022-03-05 19:21:54 +00:00
Gwilym Kuiper 0081d1c6ee Update the chicken example 2022-03-05 19:21:54 +00:00
Gwilym Kuiper 06c988e952 Fix the test logo and the example 2022-03-05 19:21:54 +00:00
Gwilym Kuiper 8fcb9e607d Special case the first element in references 2022-03-05 19:21:54 +00:00
Gwilym Kuiper bdeaf346cd Remove the old tile before creating the new one 2022-03-05 19:21:54 +00:00
Gwilym Kuiper 2044cbf379 Generation makes more sense to be a u16 for better data storage 2022-03-05 19:21:54 +00:00
Gwilym Kuiper 0ebd2c2e40 transparent is probably more correct 2022-03-05 19:21:54 +00:00
Gwilym Kuiper 1562e63bee Marker is a better name for this probably 2022-03-05 19:21:54 +00:00
Gwilym Kuiper 7c3725497c Add method to hide background 2022-03-05 19:21:54 +00:00
Gwilym Kuiper 93d82f309e Test logo now displays 2022-03-05 19:21:54 +00:00
Gwilym Kuiper b2c16f754b Add some room to breathe 2022-03-05 19:21:54 +00:00
Gwilym Kuiper effaac3885 hopefully enough to actually maybe display something? 2022-03-05 19:21:54 +00:00
Gwilym Kuiper 5ea6eb0f1d Complete re-do of tile storage management in backgrounds 2022-03-05 19:21:54 +00:00
Gwilym Kuiper 6690538781 Some inlines in SoundChannel which weren't being inlined for some reason 2022-03-05 18:51:17 +00:00
GBA bot 03dfaf9d5f Update lockfiles 2022-03-01 20:07:25 +00:00
GBA bot 84ee900e18 Update lockfiles 2022-02-24 20:50:57 +00:00
GBA bot 5a7efa660a Update lockfiles 2022-02-24 20:37:17 +00:00
Corwin Kuiper 1c5978e806 update lock files 2022-01-22 13:11:06 +00:00
Gwilym Kuiper 0744027b39 Update lockfiles 2022-01-20 23:00:53 +00:00
Corwin 5a861e7d48
Merge pull request #161 from corwinkuiper/alloc-better
Improving allocator
2022-01-20 22:53:35 +00:00
Gwilym Kuiper 5f753d791a Fix the entry link and the syntax 2022-01-20 22:34:30 +00:00
Corwin Kuiper 970b38e7da module level docs and test cfg 2022-01-20 22:28:52 +00:00
Corwin Kuiper f7693f553c pad the either layout to align 2022-01-20 22:20:54 +00:00
Corwin Kuiper fc6acda14d add some explanatory comments 2022-01-20 22:20:17 +00:00
Corwin Kuiper 08e07a0d37 merge multiple blocks 2022-01-20 19:06:48 +00:00
Corwin Kuiper 1614e46c4e move test runner to own module 2022-01-18 19:49:07 +00:00
Corwin Kuiper e75adf9e67 check no blocks are leaked during testing 2022-01-18 19:33:25 +00:00
Corwin Kuiper 49c8720c8c A nice allocator!! Merges blocks together 2022-01-18 19:32:22 +00:00