Commit graph

441 commits

Author SHA1 Message Date
Gwilym Inzani c9bf56755a Also deduplicate for the dungeon puzzler 2023-08-29 15:17:50 +01:00
Gwilym Inzani a73e817f02 Deduplicate everything in hatwiz 2023-08-29 15:05:57 +01:00
Gwilym Inzani 201a127673 Use deduplicated tiles for hatwiz splash screens 2023-08-29 14:55:23 +01:00
Gwilym Inzani b39f99990c Use deduplication in hyperspace roll 2023-08-29 14:52:20 +01:00
Gwilym Inzani 8158bc1ff3 Allow deduplicating background tiles 2023-08-29 13:16:57 +01:00
Gwilym Inzani afed1542fe Move the new sprites to the correct place 2023-08-29 09:50:00 +01:00
Corwin b275db90da
make correct solution more obvious 2023-08-28 23:05:35 +01:00
Corwin 31c5519bc8
base update order on initial positions 2023-08-28 15:59:20 +01:00
Corwin 2a02da1c2f
simplify entity update loop 2023-08-28 14:00:39 +01:00
Corwin 0b45c006c8
ice on bottom 2023-08-28 11:45:29 +01:00
Corwin 4bd175cd7b
defined update order 2023-08-28 11:45:21 +01:00
Corwin dacecef900
fix bug where the ice is the one to get moved 2023-08-28 11:38:04 +01:00
Corwin ae0b86c7b9
fix lints 2023-08-28 11:36:22 +01:00
Corwin 5846a1c024
fix wonky ice animation next to wall 2023-08-28 11:34:08 +01:00
Gwilym Inzani 04ee5646ef
Add some new sprites for Corwin 2023-08-28 11:06:59 +01:00
Corwin 248cdae7a3
change squid change direction behaviour 2023-08-27 20:34:20 +01:00
Corwin 36603d5446
add block 2023-08-27 19:49:37 +01:00
Corwin a0ab3e9fb4
add ice level 2023-08-27 18:31:30 +01:00
Corwin e33eee7d11
fix mistakes copy over 2023-08-27 17:27:43 +01:00
Corwin b9e6e09fe1
add ice 2023-08-27 16:47:00 +01:00
GBA bot c29ba6e9ec Update lockfiles 2023-08-13 10:36:46 +00:00
Gwilym Inzani 6607ea3f1f Update lockfiles 2023-08-06 21:06:12 +01:00
Gwilym Inzani 43d7350c2f Remove some of the volume slides 2023-08-04 21:30:09 +01:00
Gwilym Inzani 0a851e296a Some music updates 2023-08-04 21:24:45 +01:00
Gwilym Inzani 6731fa88a0 I prefer this a bit slower 2023-08-02 17:18:27 +01:00
Gwilym Inzani 4b145d3194 Try composing my own theme (with some bug fixes) 2023-08-02 16:48:41 +01:00
Gwilym Inzani 70e763cc11 Add some panning for some more audio interest 2023-08-01 22:34:33 +01:00
Gwilym Inzani ea29c2a9f9 Make all the sound effects louder 2023-08-01 21:59:27 +01:00
Gwilym Inzani f49d3d3700 Actually include the new music and delete the old 2023-08-01 21:42:45 +01:00
Gwilym Inzani f4214b5da8 Use new music for dungeon puzzler's lament and fix tracker bugs 2023-08-01 21:41:33 +01:00
GBA bot e08024ae5b Update lockfiles 2023-07-26 11:31:26 +01:00
Gwilym Inzani a2dc536d49
Use my new married name in all the places it appeared (#465)
- [x] no changelog update needed
2023-07-26 10:42:31 +01:00
Gwilym Inzani 3da10f11be Use my new married name in all the places it appeared 2023-07-26 10:29:03 +01:00
Gwilym Inzani a5ad0129ed Don't need to call it levels16 any more 2023-07-25 23:22:08 +01:00
Gwilym Inzani 15ea1427df Delete the old 8x8 levels 2023-07-25 23:16:00 +01:00
Gwilym Inzani ea3ba89f92 16x16 levels!! 2023-07-25 23:15:34 +01:00
Gwilym Inzani 999a73439c Migrate the first 6 levels 2023-07-25 22:34:09 +01:00
Gwilym Inzani 3bd5ae2313 level 1 implemented 2023-07-25 22:23:32 +01:00
Corwin b80c85f1d9
Import dungeon puzzler's lament (#459)
Includes dungeon keepers lament in the examples

- [x] no changelog update needed
2023-07-25 20:52:48 +01:00
Corwin 748f061856
remove unused method 2023-07-25 20:41:16 +01:00
Corwin 95c4368df6
remove unused resolution 2023-07-25 20:41:05 +01:00
Corwin e7fe866036
remove sound files for unused effects 2023-07-25 20:40:16 +01:00
Corwin 9ee98cf0bf
remove unused sounds 2023-07-25 20:39:14 +01:00
Corwin c461b581b5
emit sword hit 2023-07-25 20:39:06 +01:00
Gwilym Inzani bddb77f5c9
XM tracker (#461)
Closes #446

One big problem with our games so far is that they are 95% music files.
If we want to add a game with more music, we can't at the moment.

This adds a tracker player which can play XM files easily in your games.
A lot of features from tracker files aren't supported yet, but enough to
make the examples sound at least half decent.

- [x] Changelog updated
2023-07-25 20:29:31 +01:00
Corwin b806fa8e66
fix names 2023-07-25 20:27:03 +01:00
Gwilym Inzani df75d1ce8c Fix build errors 2023-07-23 23:39:52 +01:00
Corwin 2d53977c49
add energy to amplitude (#457)
- [x] no changelog update needed
2023-07-19 20:36:54 +01:00
Corwin 41a0c773dd
clean up other examples 2023-07-19 17:54:41 +01:00
Corwin 0fac43746f
add the dungeon keeper's lament 2023-07-19 17:54:41 +01:00
Corwin a7f9fdf011
Release v0.16.0 2023-07-18 18:55:12 +01:00
Corwin c60d0215d6
add energy to amplitude 2023-07-17 17:38:34 +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
Gwilym Inzani 4fc4eab83b Give amplitude the same build settings as the other games
Makes the build faster
2023-06-30 22:09:06 +01:00
GBA bot 28683e701f Update lockfiles 2023-06-30 22:03:31 +01:00
Corwin 28e3a7faf4
Resolve stutter upon switching to dice customise screen (#442)
1. Dealloc now uses the normal dealloc procedure.
    * Better because normalisation is quick, O(1).
    * More normalisation means inserting into the list is faster.
2. Run sfx frame during the generation of upgrades (which can take an
unbounded amount of time).

* Both of these are required to remove the stuttering.
* It sounds really weird now that it works right :/

- [ ] Changelog updated / no changelog update needed
2023-06-05 21:01:12 +01:00
Corwin 80051a163a
Modify the enemy health rng by using a dice roll distribution (#438)
- [ ] Changelog updated / no changelog update needed
2023-06-05 21:01:04 +01:00
Corwin 95a8804094
reset the number of attempts 2023-06-05 00:12:36 +01:00
Corwin cbb0b7d2a0
resolve stutter 2023-06-05 00:12:36 +01:00
Corwin 80f5812039
make the letter "R" better (#441)
Hyperspace roll has a not great looking letter "R". Uses change made by
Gwilym.

- [x] no changelog update needed
2023-06-03 23:56:43 +01:00
Corwin 2b94ef0ac7
make the letter "R" better 2023-06-03 23:45:55 +01:00
Corwin 95b28983ff
show health 2023-06-03 23:29:54 +01:00
Corwin ae23f6fdf4
round towards nearest 2023-06-02 11:57:35 +01:00
Corwin 1d7acfb070
modify the enemy health rng by using a distribution 2023-06-02 01:24:37 +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 7cf66e67e5 Update agb version in amplitude 2023-05-21 16:49:06 +01:00
Gwilym Inzani 78bad29f88 Add codegen-units=1 to prevent miscompiles 2023-05-21 16:37:35 +01:00
Gwilym Inzani 2de1b08f42 Remove references to arm-none-eabi 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 d08500d9c3
launch the correct game 2023-04-26 01:34:25 +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
Corwin 409798c3bf
use fancy way of getting and setting slots 2023-04-25 21:07:31 +01:00
Corwin 929eef1569
add deny 2023-04-25 21:01:04 +01:00
Corwin d54560f362
fix warnings 2023-04-25 21:00:26 +01:00
Corwin 4ea75bc064
add amplitude to combo rom 2023-04-25 20:57:18 +01:00
Corwin e78a6624ff
add amplitude 2023-04-25 20:32:28 +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
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
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 fd79611dc3
update lock files 2023-04-11 21:27:09 +01:00
Corwin 4f19d6c240
forbid slot drop and move slot on set 2023-04-06 23:34:30 +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 e07a080aad Reduce codegen units to 1 to ensure build works 2023-04-05 17:06:56 +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 4c6fbac41f Fix remaining issues with the new API usage 2023-02-25 18:10:54 +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 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
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 5b813c10d1 Derive default as now required by clippy 2023-01-15 20:49:30 +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
Gwilym Kuiper 832ad13e12
Update Rust crate toml_edit to 0.17 (#364)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [toml_edit](https://togithub.com/ordian/toml_edit) | dependencies |
minor | `0.16` -> `0.17` |

---

### Release Notes

<details>
<summary>ordian/toml_edit</summary>

###
[`v0.17.1`](https://togithub.com/ordian/toml_edit/compare/v0.17.0...v0.17.1)

[Compare
Source](https://togithub.com/ordian/toml_edit/compare/v0.17.0...v0.17.1)

###
[`v0.17.0`](https://togithub.com/ordian/toml_edit/compare/v0.16.2...v0.17.0)

[Compare
Source](https://togithub.com/ordian/toml_edit/compare/v0.16.2...v0.17.0)

###
[`v0.16.2`](https://togithub.com/ordian/toml_edit/compare/v0.16.1...v0.16.2)

[Compare
Source](https://togithub.com/ordian/toml_edit/compare/v0.16.1...v0.16.2)

###
[`v0.16.1`](https://togithub.com/ordian/toml_edit/compare/v0.16.0...v0.16.1)

[Compare
Source](https://togithub.com/ordian/toml_edit/compare/v0.16.0...v0.16.1)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/agbrs/agb).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNzQuMiJ9-->
2023-01-09 11:14:28 +00:00
Gwilym Kuiper 9ab17e7cf6 Remove missed .into_iter 2023-01-03 20:57:16 +00:00
Gwilym Kuiper ec759b5b98 Remove .into_iter() suggested by clippy 2023-01-03 20:53:40 +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 7ca692ad58 update the linker scripts 2022-12-01 17:35:44 +00:00
Corwin 0b6b38705c fix that hyperspace roll is currently completely broken 2022-12-01 17:17:11 +00:00
Corwin d2daf695a6 add combo rom 2022-12-01 17:16:53 +00:00
Gwilym Kuiper 4ece844ecf must be tilecount because that's the name of the property in tiled 2022-11-17 21:34:41 +00:00
Gwilym Kuiper 495042239c Fix spelling errors in the-purple-night 2022-11-17 21:24:34 +00:00
Gwilym Kuiper 51a315cb54 Fix spelling errors in the hat chooses the wizard 2022-11-17 21:23:05 +00:00
Gwilym Kuiper f6b5bb69b0 Fix spelling errors in hyperspace-roll 2022-11-17 21:22:14 +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
Gwilym Kuiper 98b4de12df Remove sparse registry option from hyperspace roll 2022-10-16 18:50:55 +01: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 ea6086e998 Hide objects at the end of hat chooses the wizard 2022-10-11 22:54:35 +01:00
Gwilym Kuiper 59de262532
Merge pull request #326 from gwilymk/remove-pointless-set-scroll-in-affine-background
Remove pointless set scroll in affine background
2022-10-11 22:46:43 +01:00