Gwilym Inzani
bb5bd04b5f
Make clear faster
2023-05-10 18:13:32 +01:00
Gwilym Inzani
943fd1154f
Use const fn to make resizes a bit faster
2023-05-10 18:08:39 +01:00
Gwilym Inzani
65dd1341e5
Change hash mixing and add distance_histogram method
2023-05-10 17:49:48 +01:00
Gwilym Inzani
1fa4d8e970
Rename the tests to make them easier to compare
2023-05-10 16:20:58 +01:00
Gwilym Inzani
626e4da8e4
Massively improve high bit benchmarks with some bit mixing
2023-05-10 16:14:04 +01:00
Gwilym Inzani
82855ac66b
Remove unsafe from clone
2023-05-10 16:02:21 +01:00
Gwilym Inzani
925baced46
Use backing_vec_size rather than nodes.len()
2023-05-10 16:01:24 +01:00
Gwilym Inzani
c5341cb5fa
Add benchmarks
2023-05-10 16:01:16 +01:00
Gwilym Inzani
7873f9ed5c
More unsafe where needed
2023-05-09 22:43:06 +01:00
Gwilym Inzani
f530276638
Use a concrete type for hash
2023-05-09 22:38:04 +01:00
Gwilym Inzani
7b8ad58906
Extend clippy lints
2023-05-09 22:10:53 +01:00
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
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