Commit graph

268 commits

Author SHA1 Message Date
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 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 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
Corwin 3ec9bd2610
Merge remote-tracking branch 'upstream/master' into new-objects 2023-04-23 20:44:46 +01:00
Corwin 14c7028aa0
reverse change of name 2023-04-23 18:55:23 +01:00
Gwilym Inzani 7029b66c62 Update lockfiles 2023-04-23 18:00:31 +01:00
Corwin e26a9c2c24
Merge remote-tracking branch 'upstream/master' into new-objects 2023-04-22 00:46:41 +01:00
Gwilym Inzani 06db23d574
New include gfx macro (#414)
Replaces `include_gfx!` with `include_background_gfx!` which is much
nicer since it doesn't require the external toml file. See the example
repos for how much better it is :).

Also adds support for aseprite files in `include_background_gfx` and
uses that ability where we still have the original files.

- [x] Changelog updated / no changelog update needed
2023-04-18 21:14:28 +01:00
Gwilym Inzani 1e0102d615 Also update the combo rom 2023-04-18 20:29:45 +01:00
Corwin f3c4593a51
move mixer frame 2023-04-18 20:25:31 +01:00
Corwin e601374207
pull out common part of loop 2023-04-18 00:12:20 +01:00
Corwin 3f9fdd7c37
just use equals like before 2023-04-17 23:53:55 +01:00
Corwin f67ffac227
prioritise audio and deprioritise objects 2023-04-17 23:48:48 +01:00
Corwin a5c1d62cad
pointless capacity 2023-04-17 23:48:26 +01:00
Corwin 8bef214797
fix jitter 2023-04-17 23:48:15 +01:00
Corwin a249404063
fix player collision mask 2023-04-17 23:48:00 +01:00
Corwin 692890b6d6
fix jitter between objects and background 2023-04-17 23:34:09 +01:00
Corwin c970ab9362
fix positioning issues due 2023-04-17 23:31:05 +01:00
Gwilym Inzani 45343efe52 Update lockfiles 2023-04-13 22:33:59 +01:00
GBA bot 753f59e0e0 Allow importing aseprite backgrounds directly 2023-04-13 22:33:26 +01:00
Gwilym Inzani 875a0fbb65 Remove unneeded stuff from image-converter 2023-04-13 22:14:44 +01:00
Corwin fc5ce97db4
Release v0.14.0 2023-04-11 21:28:22 +01:00
Corwin fd79611dc3
update lock files 2023-04-11 21:27:09 +01:00
Corwin 4f19d6c240
forbid slot drop and move slot on set 2023-04-06 23:34:30 +01:00
Corwin c84e81299b
improve the migration 2023-04-06 21:45:32 +01:00
Corwin cdc2eed01d
unsafe arena added (may remove later) 2023-04-06 21:45:30 +01:00
Corwin e7caff3776
use new names in games 2023-04-06 21:45:03 +01:00
Corwin 660adbe961
fix games 2023-04-06 21:45:00 +01:00
Corwin af168f709b
update lock files 2023-04-06 17:17:12 +01:00
Gwilym Inzani e07a080aad Reduce codegen units to 1 to ensure build works 2023-04-05 17:06:56 +01:00
Gwilym Inzani 9d621f9b6a Add shstrtab section for lld 2023-04-02 20:39:38 +01:00
Corwin bf79fc89fb
Update Rust crate bitflags to v2 (#395) 2023-03-23 23:11:42 +00:00
Gwilym Inzani aea8547f97
Ensure cargo fmt is run accross everything (#399)
I have fmt'd all the things!

- [x] Changelog updated / no changelog update needed
2023-03-23 23:11:19 +00:00
GBA bot 09ec6c25b0 Update lockfiles 2023-03-23 22:30:47 +00:00
Gwilym Inzani 8a3660733d Add rustfmt as a component to rust-toolchain 2023-03-23 22:17:02 +00:00
GBA bot e864eb6c03 Update lockfiles 2023-03-23 22:04:22 +00:00
Gwilym Inzani 4c6fbac41f Fix remaining issues with the new API usage 2023-02-25 18:10:54 +00:00
Gwilym Inzani 54311727ec Fix build errors 2023-02-24 08:55:02 +00:00
Gwilym Kuiper b90a5829b8 Fix the games 2023-02-23 21:18:29 +00:00
Gwilym Kuiper 97dec32fa2 Fix all the clippy lints 2023-02-07 20:32:43 +00:00
Gwilym Kuiper 33dafd29c2 Update everything to 2021 2023-02-07 20:32:35 +00:00
Gwilym Kuiper 64bd1ad7dd
Fix landing 1 pixel above the ground in purple night (#381)
- [x] Changelog updated / no changelog update needed
2023-01-26 21:04:32 +00:00
Gwilym Kuiper b0314f69c5 Fix landing 1 pixel above the ground in purple night 2023-01-26 20:52:54 +00:00
GBA bot a76d44aeea Update lockfiles 2023-01-23 21:07:03 +00:00