Commit graph

3179 commits

Author SHA1 Message Date
Gwilym Inzani 4ebab07d47 Manually copy the value when you set up hblank 2024-02-27 20:40:20 +00:00
Gwilym Inzani cdafc3c139
DMA abstraction (#491)
It would be nice to have an easy way to add DMA effects to games.

- [x] Changelog updated
2024-02-21 14:44:41 +00:00
Gwilym Inzani 2fa33ede16
Implement num traits for fixnum (#568)
from_str_radix is implemented incredibly lazily, but should hopefully be
okay since you shouldn't be putting that in the critical path anyway :)

- [x] Changelog updated
2024-02-21 14:37:29 +00:00
Gwilym Inzani 3e47a49198 Make the changelog entry more accurate 2024-02-21 14:36:45 +00:00
Gwilym Inzani 23550e579a More .into() 2024-02-21 14:27:48 +00:00
Gwilym Inzani d6319ed409 Add a changelog entry for implementing num 2024-02-21 13:59:53 +00:00
Gwilym Inzani cfd3135d76 Implement num::Num for fixnum::Num 2024-02-21 13:58:27 +00:00
Gwilym Inzani b357acbba8 Don't need this .into() either 2024-02-21 13:01:03 +00:00
Gwilym Inzani 74451f819c More impl Into<Vector2D<_>> and fix compile errors 2024-02-21 12:59:02 +00:00
Gwilym Inzani f96b0e772b Add a changelog entry for dma effects 2024-02-21 12:40:50 +00:00
Gwilym Inzani 4ef08a1273 Add an example of doing circular windows 2024-02-21 12:39:03 +00:00
Gwilym Inzani a0700b3a51 Move the id storage to the window itself 2024-02-21 12:13:00 +00:00
Gwilym Inzani a3f772c7a3 Split the examples into 2 different ones 2024-02-21 12:03:46 +00:00
Gwilym Inzani de0c4ca4f4 Allow recolouring of the background using DMA 2024-02-21 11:56:49 +00:00
Gwilym Inzani edcd37c203 transfer should have a lifetime on the item you're passing in 2024-02-21 11:33:09 +00:00
Gwilym Inzani de15538d42 Add basic dma effect stuff 2024-02-21 11:28:20 +00:00
Gwilym Inzani 43718773d7 Don't use DMA outside of the eeprom case 2024-02-21 11:28:20 +00:00
Gwilym Inzani eaf5a83076
Midi support (#516)
Start working on MIDI file support for agb-tracker. Far from complete,
but at least it is a start :).

- [x] Changelog updated / no changelog update needed
2024-02-20 22:35:38 +00:00
Gwilym Inzani 6a0f0a30c4 Should be 0.18.1 2024-02-20 22:27:29 +00:00
Gwilym Inzani ff9f336be3 Do pitch bend correctly 2024-02-20 22:27:29 +00:00
Gwilym Inzani a36b06b35c Correctly handle no sample set 2024-02-20 22:27:29 +00:00
Gwilym Inzani b583ba22a9 Use Default::default which is nicer 2024-02-20 22:27:29 +00:00
Gwilym Inzani 2e453e8e0f Envelopes for MIDI 2024-02-20 22:27:29 +00:00
Gwilym Inzani 0a13b54e12 Pitch bending 2024-02-20 22:27:29 +00:00
Gwilym Inzani bf79b09e6a Avoid double panning correction 2024-02-20 22:27:29 +00:00
Gwilym Inzani 817ba12ea7 Format the let-else 2024-02-20 22:27:29 +00:00
Gwilym Inzani 9f60b61289 Changelog entry for midi tracker 2024-02-20 22:27:29 +00:00
Gwilym Inzani b82ec0ca1c Disable the MIDI feature in dungeon-puzzlers-lament 2024-02-20 22:27:29 +00:00
Gwilym Inzani 54ade5af2d Add a note about midi support being experimental 2024-02-20 22:27:29 +00:00
Gwilym Inzani cf50223dfc It seems to do better without the tune for some reason 2024-02-20 22:27:29 +00:00
Gwilym Inzani 0e685ce7e8 That's the longest out by one I've ever had to debug
Thanks Corwin for helping!
2024-02-20 22:27:29 +00:00
Gwilym Inzani 85e358874c HELP! 2024-02-20 22:27:29 +00:00
Gwilym Inzani 7f200a21ad This works better than before 2024-02-20 22:27:29 +00:00
Gwilym Inzani a55b106106 Better looping 2024-02-20 22:27:29 +00:00
Gwilym Inzani e103468b86 Vaguely get the correct beat and the patterns correct 2024-02-20 22:27:29 +00:00
Gwilym Inzani 64976deeb5 Export maybe something? 2024-02-20 22:27:29 +00:00
Gwilym Inzani 7868094f7e Maybe exporting something useful? 2024-02-20 22:27:29 +00:00
Gwilym Inzani 32aaaef4cd It actually builds now 2024-02-20 22:27:29 +00:00
Gwilym Inzani 5768b56028 Fix unused warning 2024-02-20 22:27:29 +00:00
Gwilym Inzani 797fc8394f Boilerplate for midi support 2024-02-20 22:27:29 +00:00
Gwilym Inzani 0975530e5c
Remove unnecessary imports (#567)
Fix for latest clippy / nightly upgrade

- [x] no changelog update needed
2024-02-20 22:27:00 +00:00
Gwilym Inzani 8e25f011b4 Remove unnecessary imports 2024-02-20 22:15:31 +00:00
Corwin f99da581da
Expose hflip, vflip, priority, position (#566)
This exposes expose the `hflip`, `vflip`, `priority` and `position`
object attribute to remove the need for storing them in separate
variables.
I think it might also be worth to update the pong tutorial and maybe
some of the examples to highlight this.

- [x] Changelog updated / no changelog update needed
2024-02-17 16:51:34 +00:00
Constantin 1d0a25bc43 Expose hflip, vflip, priority, position 2024-02-17 16:28:43 +01:00
Gwilym Inzani e610a1cbf6
Add priority set / get and set_visible / is_visible to maps (#563)
Adds `.priority()`, `.set_priority()` and `.is_visible()` and replace
`show` and `hide` with `.set_visible()` in `RegularMap`, `AffineMap` and
`InfiniteScrolledMap`.

- [x] Changelog updated / no changelog update needed
2024-02-16 21:07:01 +00:00
Gwilym Inzani 34b5b5f8f8 This should be hiding not showing 2024-02-16 20:56:57 +00:00
Constantin da84131de6 Add priority set / get and set_visible / is_visible to maps 2024-02-16 11:21:27 +01:00
Gwilym Inzani 77dba9f38e
Update Rust crate pkg-config to 0.3.30 (#562)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [pkg-config](https://togithub.com/rust-lang/pkg-config-rs) |
build-dependencies | patch | `0.3.29` -> `0.3.30` |

---

### Release Notes

<details>
<summary>rust-lang/pkg-config-rs (pkg-config)</summary>

###
[`v0.3.30`](https://togithub.com/rust-lang/pkg-config-rs/blob/HEAD/CHANGELOG.md#0330---2024-02-14)

##### Changed

- Update documentation for cross-compilation
([#&#8203;161](https://togithub.com/rust-lang/pkg-config-rs/issues/161)).

- Update GitHub Action CI
([#&#8203;160](https://togithub.com/rust-lang/pkg-config-rs/issues/160)).

</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://developer.mend.io/github/agbrs/agb).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-02-15 22:20:11 +00:00
Gwilym Inzani 0a35fa4629 Update lockfiles (again) 2024-02-15 22:12:04 +00:00
Gwilym Inzani c1a19888c3 Be less specific about the pkg-config version 2024-02-15 22:11:14 +00:00