Commit graph

3202 commits

Author SHA1 Message Date
Gwilym Inzani 05f387e41f Don't do unsafe things with entries 2023-05-09 22:00:13 +01:00
Gwilym Inzani 722deafc2f Add safety comments 2023-05-09 21:55:14 +01:00
Gwilym Inzani 35061ffb6a deny(unreachable_pub) 2023-05-09 21:46:57 +01:00
Gwilym Inzani 68e68386a1 Improve implementation of next 2023-05-09 21:44:14 +01:00
Gwilym Inzani b3e56e88f2 Use ? rather than if let 2023-05-09 21:39:35 +01:00
Gwilym Inzani 9205ba1d0d Simplify get_mut implementation 2023-05-09 21:37:52 +01:00
Gwilym Inzani 917163f88b Key value ref unchecked 2023-05-09 21:37:20 +01:00
Gwilym Inzani dc8589479e We know the location is correct here 2023-05-09 21:34:16 +01:00
Gwilym Inzani 4d4ca80004 Add a bit of unsafe in the entry API 2023-05-09 21:33:20 +01:00
Gwilym Inzani 6f1f7811e2 Copy standard library tests 2023-05-09 21:12:28 +01:00
Gwilym Inzani f34f42ab4c Implement debug 2023-05-09 21:12:22 +01:00
Gwilym Inzani e9f6120b4c Implement Eq and PartialEq 2023-05-09 21:09:44 +01:00
Gwilym Inzani 5decb42cf0 Implement clone for hashmap 2023-05-09 21:05:00 +01:00
Gwilym Inzani 1cdf23683a Extract node_storage as well 2023-05-09 20:57:33 +01:00
Gwilym Inzani 5e04e8c03f Extract node module 2023-05-09 20:43:23 +01:00
Corwin 1cbc371d3e
go through colours in order rather than randomly 2023-05-07 23:41:17 +01:00
Corwin 64308a993c
use mag squared 2023-05-07 00:47:38 +01:00
Corwin 83c511a186
neaten the letter M 2023-05-06 23:59:47 +01:00
Corwin 7ae3afab6c
add example for no_game 2023-05-06 22:54:22 +01:00
Corwin cb8b42d416
don't use the loader 2023-05-06 22:53:09 +01:00
Corwin d4314213da
use palette in no game to save on not useful aseprite file 2023-05-06 22:45:30 +01:00
Corwin f95d68187b
make dynamic sprite better 2023-05-06 22:45:05 +01:00
Corwin e8479c093b
add macro to import a palette from a sprite 2023-05-06 22:44:43 +01:00
Corwin 13f0eaf5b0
add more colours 2023-05-06 20:31:52 +01:00
Corwin 26090499e7
fix image converter bug 2023-05-06 20:31:43 +01:00
Corwin 54340358bc
remove unused import 2023-05-06 19:44:08 +01:00
Corwin 1d7cc04cbf
more colours 2023-05-06 19:11:39 +01:00
Corwin 0271da6d43
add a no game 2023-05-06 18:50:35 +01:00
Corwin a0ead37eb5
Add amplitude to build (#424)
- [x] no changelog update needed
2023-04-26 01:45:19 +01:00
Corwin 5f745d9409
Combo: Launch the correct game (#423)
- [x] no changelog update needed
2023-04-26 01:41:14 +01:00
Corwin ea0149e6c3
add amplitude to build 2023-04-26 01:37:37 +01:00
Corwin d08500d9c3
launch the correct game 2023-04-26 01:34:25 +01:00
Corwin 400abe5b31
Release v0.15.0 2023-04-25 21:51:29 +01:00
Corwin b5d8201eb0
Add toolchain file for hashmap (#422)
- [x] no changelog update needed
2023-04-25 21:49:52 +01:00
Corwin febee09e3a
add toolchain file 2023-04-25 21:43:17 +01:00
Corwin 68e981f3c8
Objects, again, again (#402)
* A redesign of objects giving the option of a more managed and an
unmanaged system.
* Managed system features
    * Z ordering (should be efficient, based on a doubly linked list).
* More than 128 objects if some are disabled (not currently efficient).
* Unmanaged
    * Same sprite system as before.
    * You control how objects get put in to OAM with the unmanaged OAM.
    
TODO before this is mergable:
* [x] Docs pass, aim for everything to have docs as before.
* [x] Tests, some of these needs some run time testing.
* [x] Affine matrices, I'm not leaving this to die this time.
* [x] Some API redo, so the names make sense / are similar to before.

Future work:
* The Sprite loader should keep most recently used sprites around and
upon allocation of a new sprite try unloading the least recently used
sprite. (Performance wise this would be a disaster as it would be doing
dealloc and alloc in vblank, so really we want to "learn" how much
buffer we should maintain and try to get that during GC).

- [x] Changelog updated
2023-04-25 21:14:49 +01:00
Corwin 409798c3bf
use fancy way of getting and setting slots 2023-04-25 21:07:31 +01:00
Corwin 929eef1569
add deny 2023-04-25 21:01:04 +01:00
Corwin d54560f362
fix warnings 2023-04-25 21:00:26 +01:00
Corwin 4ea75bc064
add amplitude to combo rom 2023-04-25 20:57:18 +01:00
Corwin 9dc3f46209
Make test runner sounder (#421)
- [x] no changelog update needed
2023-04-25 20:44:05 +01:00
Corwin d44461610d
go back to tab spacing 2023-04-25 20:39:25 +01:00
Corwin 1eadd5bdf7
make it sounder 2023-04-25 20:34:47 +01:00
Gwilym Inzani d45486b189
Maybe make the build faster by using the same settings for all crates (#420)
Just creating a PR so I can time the CI

- [x] Changelog updated / no changelog update needed
2023-04-25 20:32:53 +01:00
Corwin e78a6624ff
add amplitude 2023-04-25 20:32:28 +01:00
Gwilym Inzani 9835f81b5f Maybe make the build faster by using the same settings for all crates 2023-04-25 20:22:44 +01:00
Gwilym Inzani 3747d6192a
Ensure mod tests is at the end (#419)
Fixes build failure

- [x] Changelog updated / no changelog update needed
2023-04-25 20:17:13 +01:00
Gwilym Inzani 8e152f05c9 Ensure mod tests is at the end 2023-04-25 20:06:52 +01:00
Corwin 3ec9bd2610
Merge remote-tracking branch 'upstream/master' into new-objects 2023-04-23 20:44:46 +01:00
Corwin 8ab539acbb
add changelog entries 2023-04-23 20:43:09 +01:00