Commit graph

135 commits

Author SHA1 Message Date
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
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
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 45343efe52 Update lockfiles 2023-04-13 22:33:59 +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
Gwilym Inzani 0d9cc6c1f7 Replace references to gbafix with agb-gbafix 2023-04-11 20:09:05 +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
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 cf8210c421 Add a section about why you would want to use agb 2023-02-25 23:05:28 +00:00
Gwilym Inzani 17a8f770ed It doesn't teach you that... 2023-02-25 22:36:32 +00:00
Gwilym Inzani 17de416efd Improve hardware section as well 2023-02-25 22:35:36 +00:00
Gwilym Inzani 12e9433b8d Further improvements 2023-02-25 22:29:06 +00:00
Gwilym Inzani d3b38d9e94 Rewrite the building step 2023-02-25 22:07:58 +00:00
Gwilym Inzani 0c6f3330aa Rewrite the introduction 2023-02-25 22:03:18 +00:00
Gwilym Inzani adeb24be4d Make the book more positive 2023-02-25 21:58:00 +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
GBA bot a76d44aeea Update lockfiles 2023-01-23 21:07:03 +00:00
Gwilym Kuiper b76e7b9bf0 Release v0.13.0 2023-01-19 20:21:09 +00:00
GBA bot 1ee8434525 Update lockfiles 2023-01-03 05:38:41 +00:00
GBA bot 7a7f18844e Update lockfiles 2022-12-23 21:33:57 +00:00
Joe Bain 95b7fd736d Fix links in mac setup doc 2022-12-09 15:29:21 +00:00
Joe Bain bc7c409296 Added setup instructions for mac 2022-12-09 15:20:30 +00:00
Gwilym Kuiper 6eeb1d3203 Fix spelling errors in the book 2022-11-17 21:20:56 +00:00
GBA bot 789a88e242 Update lockfiles 2022-11-17 05:20:16 +00:00
Gwilym Kuiper e24ef69e0f Should by y_tri 2022-11-01 21:25:39 +00:00
Gwilym Kuiper 3a24fca5b1 Fix spelling mistakes in the controls section in the book 2022-11-01 21:25:39 +00:00
Gwilym Kuiper c58899eb99 Add a second half to the controls section 2022-11-01 21:15:47 +00:00
Gwilym Kuiper e666ebbd05 Start section on controls 2022-11-01 21:15:47 +00:00
Gwilym Kuiper 2705c58a72 Small tweaks to the wording and add a comment about hblank 2022-11-01 21:15:47 +00:00
Gwilym Kuiper eeffd80e50 Format the code better 2022-11-01 21:15:47 +00:00
Gwilym Kuiper 67c293238d Replace the joinedtogether build with a template build 2022-11-01 21:15:47 +00:00
GBA bot cce32c9ca1 Update lockfiles 2022-10-31 18:50:34 +00:00
HoLLy 3ca57271b8 Fix incorrect package name in Linux setup guide 2022-10-23 16:37:18 +02:00
Corwin 70f22b9255 Release v0.12.2 2022-10-22 12:59:20 +01:00
GBA bot 06d1593600 Update lockfiles 2022-10-21 19:51:52 +00:00
Corwin 78f9fd2026 Release v0.12.1 2022-10-12 19:00:12 +01:00
Gwilym Kuiper fc45af262b Release v0.12.0 2022-10-11 23:34:13 +01:00
GBA bot b24b4faeae Update lockfiles 2022-10-01 18:46:59 +00:00
GBA bot 81d02db5fc Update lockfiles 2022-09-28 20:16:01 +00:00