Commit graph

1429 commits

Author SHA1 Message Date
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