Commit graph

212 commits

Author SHA1 Message Date
Corwin 41a0c773dd
clean up other examples 2023-07-19 17:54:41 +01:00
Corwin a7f9fdf011
Release v0.16.0 2023-07-18 18:55:12 +01:00
Gwilym Inzani 284e30078f Fix clippy lint in purple night 2023-07-04 21:24:44 +01:00
GBA bot 78a7c8d1c0 Update lockfiles 2023-07-01 14:21:55 +00:00
GBA bot 28683e701f Update lockfiles 2023-06-30 22:03:31 +01:00
Gwilym Inzani da5aed83e3
Use bilge rather than modular-bitfield (#430)
Thought I'd give bilge a go rather than modular bitfield after reading
this blog post:
https://hecatia-elegua.github.io/blog/no-more-bit-fiddling/

- [ ] Changelog updated / no changelog update needed
2023-05-30 20:41:46 +01:00
Corwin 6b7088773e
remove codegen units 2023-05-23 20:12:42 +01:00
Corwin d638134d37
remove codegen-units
these were added as a workaround for rust bugs
2023-05-23 20:10:24 +01:00
Gwilym Inzani 78bad29f88 Add codegen-units=1 to prevent miscompiles 2023-05-21 16:37:35 +01:00
Gwilym Inzani 5ab0176ddb Entirely remove the need for binutils 2023-05-21 16:37:34 +01:00
Gwilym Inzani 644e94f8ed Use bilge rather than modular-bitfield 2023-05-17 15:01:22 +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
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
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 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 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 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 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
Gwilym Kuiper b76e7b9bf0 Release v0.13.0 2023-01-19 20:21:09 +00:00
Gwilym Kuiper 1cd4cc6a9e Merge remote-tracking branch 'origin/master' into remove-option-to-manage-your-own-interrupts-in-the-mixer 2023-01-12 22:30:32 +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
Gwilym Kuiper 0f5ce17f75 Fix the examples and the games 2022-12-09 23:00:28 +00:00
Corwin d65ca26bd8
Combo game rom (#355)
Adds a rom that is all the examples compiled together!

- [ ] Changelog updated / no changelog update needed
2022-12-09 20:51:07 +00:00
Gwilym Kuiper 3e8090e153 Fix clippy lint for inline format args 2022-12-09 20:36:09 +00:00
Corwin d2daf695a6 add combo rom 2022-12-01 17:16:53 +00:00
Gwilym Kuiper 495042239c Fix spelling errors in the-purple-night 2022-11-17 21:24:34 +00:00
GBA bot 789a88e242 Update lockfiles 2022-11-17 05:20:16 +00:00
GBA bot cce32c9ca1 Update lockfiles 2022-10-31 18:50:34 +00: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
Gwilym Kuiper 522b54fd53 Make vscode not give me an error with hyperspace-roll and the-purple-night 2022-10-11 22:25:56 +01:00
Gwilym Kuiper f5f73e89f5
Merge branch 'master' into affine 2022-10-08 23:03:42 +01:00
Gwilym Kuiper 1e759dbeca Move the palettes to a single constant rather than being repeated 2022-10-08 23:02:54 +01:00
Gwilym Kuiper 7d43903ee0
Merge pull request #323 from gwilymk/remove-frequency-features
Remove frequency features
2022-10-08 22:24:07 +01:00
Gwilym Kuiper cc66b65847 Update the docs 2022-10-08 21:39:48 +01:00
Gwilym Kuiper e63e830a9c Merge remote-tracking branch 'origin/master' into affine 2022-10-08 17:05:00 +01:00
Gwilym Kuiper c5f6e10889 Update all toml files to the new transparent requirement 2022-10-08 16:59:40 +01:00
Corwin 467ebb0240 cargo clippy fixes in examples 2022-10-08 11:48:11 +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
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
Corwin 2e97fb2b24 Release v0.11.1 2022-08-02 23:52:43 +01:00
Corwin 43b256a9f3 Release v0.11.0 2022-08-02 23:45:44 +01:00
Corwin 8a9ce6fd8b modify all other configs to be able to compile with arm 2022-08-01 17:36:41 +01:00
Corwin a7e038aa18 Release v0.10.0 2022-07-31 17:08:48 +01:00
Corwin cd000ca767 use the end of all assigned iwram data 2022-07-30 17:21:46 +01:00
Gwilym Kuiper fe78d64aa5 Use 0.9.4 since 0.9.5 was yanked 2022-07-03 18:21:29 +01:00
Gwilym Kuiper 64fbf13cc3 Update gba_mb with the new requried references 2022-06-17 00:48:32 +01:00
Gwilym Kuiper fb8bcbfc0d Update all the other linker scripts 2022-06-17 00:43:51 +01:00
Corwin c5af151d76
Merge pull request #237 from corwinkuiper/split-asm
Split asm
2022-06-17 00:24:44 +01:00
Corwin bd3f2f4d59 update all other gba_mb.ld 2022-06-16 23:38:47 +01:00
Gwilym Kuiper 28513335fb Update all the gba.ld files 2022-06-16 23:33:09 +01:00
Corwin 05adfabca8 get it working 2022-06-16 23:22:27 +01:00
Corwin 3a66aacc0c modify linker scripts 2022-06-16 22:59:17 +01:00
Gwilym Kuiper 8224827f90 Fix warning (and make it obvious we're not caring about the return value) 2022-06-11 21:02:24 +01:00
Gwilym Kuiper 0a9a3fdf1d Remove timer field to mixer 2022-06-11 12:57:59 +01:00
Gwilym Kuiper 11cdfb0001 Make purple night sprites transparent 2022-05-22 19:30:22 +01:00
Gwilym Kuiper 39b37e7506 Fix example games 2022-05-03 22:51:01 +01:00
GBA bot e168638a3b Update lockfiles 2022-04-24 16:12:05 +00:00
Gwilym Kuiper d51f61a6fb
Merge pull request #219 from gwilymk/stop-freeing-still-in-use-tiles
Stop freeing still in use tiles
2022-04-23 23:34:00 +01:00
GBA bot 71788e1f0a Update lockfiles 2022-04-23 22:14:08 +00:00
Gwilym Kuiper 178db91072 Add gc step for tiles 2022-04-23 23:03:02 +01:00
Gwilym Kuiper 6d0f95c21b
Merge pull request #214 from gwilymk/random-number-generator
Random number generator
2022-04-11 22:20:16 +01:00
Gwilym Kuiper dc62ba4467 Rename rng::next to rng::gen 2022-04-11 22:07:31 +01:00