Commit graph

2182 commits

Author SHA1 Message Date
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 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
Gwilym Inzani cd369f212e Ensure tests run on hashmap too 2023-04-23 18:48:16 +01:00
Gwilym Inzani 4cace7b01d Also for remove 2023-04-23 18:45:39 +01:00
Gwilym Inzani 11b98eab29 Give index and get_mut the Borrow treatment 2023-04-23 18:44:03 +01:00
Gwilym Inzani 39edc4ab36 Also do Borrow shenanigans for get and get_key_value 2023-04-23 18:40:13 +01:00
Gwilym Inzani 150b1a3078 Add documentation example and add Borrow stuff for easier contains_key 2023-04-23 18:37:30 +01:00
Gwilym Inzani d594e9e078 Also build docs for agb-hashmap 2023-04-23 18:37:22 +01:00
Gwilym Inzani 88d3d027b7 Maybe we need to set nightly as default? 2023-04-23 18:08:59 +01:00
Gwilym Inzani a053c8f0c3 Seems nightly isn't installed by default 2023-04-23 18:06:52 +01:00
Gwilym Inzani 6d0bd187a2 Explicitly state nightly 2023-04-23 18:04:42 +01:00
Gwilym Inzani 6d7801788e Add changelog entry 2023-04-23 18:02:00 +01:00
Gwilym Inzani 7029b66c62 Update lockfiles 2023-04-23 18:00:31 +01:00
Gwilym Inzani 0841759c8d Fix publish test 2023-04-23 17:58:59 +01:00
Gwilym Inzani 69687aa519 Import all the denys from the main crate 2023-04-23 17:58:45 +01:00
Gwilym Inzani 9c27e9ca4d Add section about agb-hashmap in the readme 2023-04-23 17:48:55 +01:00
Gwilym Inzani f667804cf8 Add section in readme about miri 2023-04-23 17:47:15 +01:00
Gwilym Inzani db0eab7589 Add miri test step 2023-04-23 17:46:00 +01:00