Corwin
8aee2753f9
add changelog
2023-05-11 19:59:13 +01:00
Gwilym Inzani
70e2927d1e
GBA hated this bit_mix function
2023-05-10 19:21:07 +01:00
Gwilym Inzani
a4a2856cb7
Stop searching if we've already overshot where it could be
2023-05-10 19:20:49 +01:00
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
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