Commit graph

70 commits

Author SHA1 Message Date
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 1eadd5bdf7
make it sounder 2023-04-25 20:34:47 +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 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 cdc2eed01d
unsafe arena added (may remove later) 2023-04-06 21:45:30 +01:00
GBA bot e864eb6c03 Update lockfiles 2023-03-23 22:04:22 +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
GBA bot 7a7f18844e Update lockfiles 2022-12-23 21:33:57 +00:00
Gwilym Kuiper 927a2b61bb Remove dependency on bindgen by just running the cli 2022-11-30 21:17:26 +00:00
Gwilym Kuiper 9a68ff24a5 Fix spelling errors in mgba-test-runner 2022-11-17 21:25:06 +00:00
GBA bot 789a88e242 Update lockfiles 2022-11-17 05:20:16 +00:00
renovate[bot] 4879455982
Update Rust crate bindgen to 0.62 2022-11-17 05:18:27 +00:00
GBA bot cce32c9ca1 Update lockfiles 2022-10-31 18:50:34 +00:00
renovate[bot] ffe375cf0d
Update Rust crate bindgen to 0.61 2022-10-31 18:48:25 +00:00
GBA bot 06d1593600 Update lockfiles 2022-10-21 19:51:52 +00: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
GBA bot bcac002a7a Update lockfiles 2022-09-15 20:33:28 +00:00
GBA bot 490e3492fa Update lockfiles 2022-08-16 19:07:17 +00:00
GBA bot 2cbbab3305 Update lockfiles 2022-08-12 14:49:01 +00:00
Gwilym Kuiper ecf43f738b Only download mgba if it doesn't exist 2022-07-25 22:52:05 +01:00
Gwilym Kuiper 8d08f18349 Fix shellcheck issues 2022-07-25 22:52:05 +01:00
GBA bot ecdf1d4471 Update lockfiles 2022-07-13 06:00:40 +00:00
GBA bot 9e42a53eaa Update lockfiles 2022-06-26 16:32:08 +00:00
GBA bot cf2f1369ee Update lockfiles 2022-06-07 21:16:29 +00:00
Gwilym Kuiper 20ff65b103 Required for rustc 1.61: need to print the link directories in the correct order now 2022-06-07 22:14:01 +01:00
Renovate Bot 6090d97928
Update Rust crate bindgen to 0.60 2022-06-05 20:16:20 +00:00
GBA bot b8ef39220d Update lockfiles 2022-05-31 10:15:10 +00:00
GBA bot 71788e1f0a Update lockfiles 2022-04-23 22:14:08 +00:00
Gwilym Kuiper 1b71ef6473 Add test for font output 2022-04-23 15:33:57 +01:00
GBA bot d394c43d4f Update lockfiles 2022-04-11 11:55:44 +00:00
GBA bot 919ddf06ad Update lockfiles 2022-04-04 15:18:00 +00:00
GBA bot da7844a6c5 Update lockfiles 2022-03-30 10:54:21 +00:00
GBA bot 129e4161a2 Update lockfiles 2022-03-21 11:39:07 +00:00
Corwin 9d0fa2f40e even less specific 2022-03-18 21:35:32 +00:00
GBA bot 4ee540aecf Update lockfiles 2022-03-15 06:06:15 +00:00
GBA bot b43baf43cf Update lockfiles 2022-03-14 09:59:03 +00:00
GBA bot 3482697a25 Update lockfiles 2022-03-08 00:28:19 +00:00
Gwilym Kuiper 39a8b5a64f Update lockfiles 2022-03-05 20:52:26 +00:00
GBA bot 03dfaf9d5f Update lockfiles 2022-03-01 20:07:25 +00:00
Renovate Bot 725fdb3e6b
Update Rust crate image to 0.24.1 2022-02-24 20:49:44 +00:00
GBA bot 5a7efa660a Update lockfiles 2022-02-24 20:37:17 +00:00
Corwin c7a7034618 don't rebuild if file exists 2022-02-22 23:36:46 +00:00
Gwilym Kuiper 0744027b39 Update lockfiles 2022-01-20 23:00:53 +00:00
Gwilym Kuiper 3366bfbfdf Remove siphasher by using DefaultHasher::new instead 2022-01-16 22:10:57 +00:00
Gwilym Kuiper d44e0fc796 Update lockfiles 2022-01-12 23:05:02 +00:00
Renovate Bot 72ad247583
Update Rust crate bindgen to 0.59.2 2022-01-01 21:07:43 +00:00
Corwin Kuiper d2f5ab3e12 share deps with image-converter 2021-08-01 18:03:13 +01:00