Commit graph

2348 commits

Author SHA1 Message Date
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
Corwin 94a8e2d4c3
add deprecation for old names 2023-04-23 20:41:42 +01:00
Gwilym Inzani 6355ac0df7
Extract agb hashmap (#418)
Pulls out the hashmap to its own crate. Allows us to use this in interop
code between agb and desktop code and also gives us the ability to run
miri on it to make sure we're not running into any crazy unsoundness
bugs.

- [x] Changelog updated / no changelog update needed
2023-04-23 19:25:33 +01:00
Corwin b75481b88e
Merge remote-tracking branch 'upstream/master' into new-objects 2023-04-23 18:56:07 +01:00
Corwin 14c7028aa0
reverse change of name 2023-04-23 18:55:23 +01:00