agb/examples/the-hat-chooses-the-wizard
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
..
.cargo modify all other configs to be able to compile with arm 2022-08-01 17:36:41 +01:00
.vscode update hat chooses wizard 2022-03-06 13:36:26 +00:00
gfx Remove unneeded stuff from image-converter 2023-04-13 22:14:44 +01:00
map Add the hat chooses the wizard example 2022-01-01 12:09:21 +00:00
sfx Add the hat chooses the wizard example 2022-01-01 12:09:21 +00:00
src reverse change of name 2023-04-23 18:55:23 +01:00
.gitignore Add the hat chooses the wizard example 2022-01-01 12:09:21 +00:00
build.rs Fix all the clippy lints 2023-02-07 20:32:43 +00:00
Cargo.lock Merge remote-tracking branch 'upstream/master' into new-objects 2023-04-23 20:44:46 +01:00
Cargo.toml Maybe make the build faster by using the same settings for all crates 2023-04-25 20:22:44 +01:00
gba.ld Add shstrtab section for lld 2023-04-02 20:39:38 +01:00
LICENSE Add the hat chooses the wizard example 2022-01-01 12:09:21 +00:00
README.md Add the hat chooses the wizard example 2022-01-01 12:09:21 +00:00
rust-toolchain.toml Add rustfmt as a component to rust-toolchain 2023-03-23 22:17:02 +00:00
screenshot.png Add the hat chooses the wizard example 2022-01-01 12:09:21 +00:00

The Hat Chooses The Wizard

the hat chooses the wizard screenshot

A Game Boy Advance game made for the GMTK Game jam 2021 written in Rust using the agb library. Play it at lostimmortal.itch.io/the-hat-chooses-the-wizard.

Compiling

The repository for agb gives instructions for what tools are required for using agb. If you have these, then clone this repository and build away. If mgba-qt is installed, then a cargo run will build and run the game.

Changes

This code may have changed since the gamejam submission, the tag gmtk-submission contains exactly the code at the point of submission. This may be difficult to compile due to requiring some special directory setup, so the tag gmtk-submission-agb-versioned contains a single change that means it is easier to compile.