Commit graph

2119 commits

Author SHA1 Message Date
Gwilym Inzani 8e152f05c9 Ensure mod tests is at the end 2023-04-25 20:06:52 +01:00
Gwilym Inzani 6355ac0df7
Extract agb hashmap (#418)
Pulls out the hashmap to its own crate. Allows us to use this in interop
code between agb and desktop code and also gives us the ability to run
miri on it to make sure we're not running into any crazy unsoundness
bugs.

- [x] Changelog updated / no changelog update needed
2023-04-23 19:25:33 +01:00
Gwilym Inzani cd369f212e Ensure tests run on hashmap too 2023-04-23 18:48:16 +01:00
Gwilym Inzani 4cace7b01d Also for remove 2023-04-23 18:45:39 +01:00
Gwilym Inzani 11b98eab29 Give index and get_mut the Borrow treatment 2023-04-23 18:44:03 +01:00
Gwilym Inzani 39edc4ab36 Also do Borrow shenanigans for get and get_key_value 2023-04-23 18:40:13 +01:00
Gwilym Inzani 150b1a3078 Add documentation example and add Borrow stuff for easier contains_key 2023-04-23 18:37:30 +01:00
Gwilym Inzani d594e9e078 Also build docs for agb-hashmap 2023-04-23 18:37:22 +01:00
Gwilym Inzani 88d3d027b7 Maybe we need to set nightly as default? 2023-04-23 18:08:59 +01:00
Gwilym Inzani a053c8f0c3 Seems nightly isn't installed by default 2023-04-23 18:06:52 +01:00
Gwilym Inzani 6d0bd187a2 Explicitly state nightly 2023-04-23 18:04:42 +01:00
Gwilym Inzani 6d7801788e Add changelog entry 2023-04-23 18:02:00 +01:00
Gwilym Inzani 7029b66c62 Update lockfiles 2023-04-23 18:00:31 +01:00
Gwilym Inzani 0841759c8d Fix publish test 2023-04-23 17:58:59 +01:00
Gwilym Inzani 69687aa519 Import all the denys from the main crate 2023-04-23 17:58:45 +01:00
Gwilym Inzani 9c27e9ca4d Add section about agb-hashmap in the readme 2023-04-23 17:48:55 +01:00
Gwilym Inzani f667804cf8 Add section in readme about miri 2023-04-23 17:47:15 +01:00
Gwilym Inzani db0eab7589 Add miri test step 2023-04-23 17:46:00 +01:00
Gwilym Inzani 4ade408d30 Avoid the really slow test under miri 2023-04-23 17:43:30 +01:00
Gwilym Inzani d80e3f876e Extract agb hashmap to its own crate 2023-04-23 17:39:00 +01:00
Corwin 0ed84d699a
Remove alloc error handler (#417)
* Increases minimum nightly version

- [x] No changelog update needed
2023-04-23 14:00:34 +01:00
Corwin da61ba78ae
remove alloc error handler 2023-04-23 12:50:15 +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 15411aaec5
Move mixer frame (#416)
Some cracking maybe

- [x] No changelog update needed
2023-04-18 20:42:16 +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
Gwilym Inzani 6575a067b5 Fix documentation compilation 2023-04-18 20:07:08 +01:00
Corwin 542e683dc8
Purple night fixes (#415)
A few changes to the purple night to make it so much better!
* Fixes player positioning to be in the centre, no more drastic change
of position when changing directions, and you don't go all the way into
walls.
* Fixes rounding of collision to round rather than floor, this means the
left and right walls are more equivalent.
* Fixes the "jitter" between objects and backgrounds where objects would
move by a pixel, but the background wouldn't.
- In general we're more careful to do all display changes at once rather
than throughout the frame.
  - Note that for future games this is the correct way of doing things.
* Fixes slime collision boxes to match the extent of the animation.
* Use more i32 rather than u16, we're not running out of memory!
* Fixes memory leak caused by dying (previously you could only die a
certain number of times before the game crashes).
* Moved sound to be during vblank
- This is a negative change but resolves some cracking issues. I can't
see why this should be the case, further work may be required here.

- [x] No changelog update needed
2023-04-18 00:27:13 +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 bace62b8e3 Don't use nightly only function 2023-04-14 21:16:12 +01:00
Gwilym Inzani 293bb15c7b Don't need this any more now I'm finished debugging 2023-04-13 22:46:03 +01:00
Gwilym Inzani eb4476043c Add changelog entry 2023-04-13 22:35:33 +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 498236d064 Remove tile size 2023-04-13 22:18:13 +01:00
Gwilym Inzani 11891e574f Remove some features from syn 2023-04-13 22:15:53 +01:00
Gwilym Inzani 875a0fbb65 Remove unneeded stuff from image-converter 2023-04-13 22:14:44 +01:00
Gwilym Inzani f53cd9b25a Write some terrible documentation 2023-04-13 22:06:06 +01:00
Gwilym Inzani eac350b391 Replace example usage with the new macro 2023-04-13 22:01:37 +01:00
Gwilym Inzani 65877b1d32 Delete this file now 2023-04-13 21:53:28 +01:00
Gwilym Inzani cb127c7924 New include_gfx macro 2023-04-13 21:53:13 +01:00
Gwilym Inzani 63ca9b3cdb
Publish should publish gbafix (#411)
Publishes agb-gbafix in addition to everything else on a release. Also
uses the fact that cargo publish no longer returns early.

- [x] Changelog updated / no changelog update needed
2023-04-12 15:12:25 +01:00
Gwilym Inzani 0e006bd3d5 Update publish justfile command to accept arguments 2023-04-12 15:12:00 +01:00