Commit graph

1940 commits

Author SHA1 Message Date
Gwilym Kuiper 7525a6f572
Make missing a vblank interrupt wait less painful (#374)
If you missed a vblank, then the next call to wait_for_vblank would
pointlessly wait rather than returning immediately. Meaning if you
missed a vblank by a few cycles, you'd be waiting for the entire next
one :(.

- [x] Changelog updated / no changelog update needed
2023-01-12 22:24:30 +00:00
Gwilym Kuiper 43aebe4092
Fix volume zero and power of 2 (#375)
Fixes #371.

If the volume was zero, the calculation for leading zeros was incorrect.
So both reduce the amount of work done for 0 volume and also count the
leading zeros correctly in the fast path.

- [x] Changelog updated / no changelog update needed
2023-01-12 22:17:16 +00:00
Gwilym Kuiper 987d7b0d2c
Add missing methods for tiled1 to allow creating backgrounds (#368)
Fixes #367

Had missed implementations to actually get the backgrounds if you were
using tiled1 mode.

- [x] Changelog updated / no changelog update needed
2023-01-12 22:14:43 +00:00
Gwilym Kuiper 009de4e660 Update test to be more relevant 2023-01-12 22:02:07 +00:00
Gwilym Kuiper 9796174a57 Add changelog entry for fixes 2023-01-12 21:55:25 +00:00
Gwilym Kuiper 8009ffea09 If volume is 0, don't actually play anything 2023-01-12 21:54:08 +00:00
Gwilym Kuiper 6ebe08e528 Fix out by 1 while calcuating leading zeros 2023-01-12 21:53:54 +00:00
Gwilym Kuiper 827afd87b9 Make wait_for_vblank syscall pub(crate) 2023-01-12 21:24:37 +00:00
Gwilym Kuiper ba8655070d Add a changelog entry for the vblank change 2023-01-12 21:24:28 +00:00
Gwilym Kuiper e50540752c Make missing a vblank interrupt wait less painful 2023-01-12 21:20:54 +00:00
Gwilym Kuiper c1f619dd1e Add changelog entry 2023-01-09 11:29:01 +00:00
Gwilym Kuiper b50d6694d9 Add missing methods for tiled1 to allow creating backgrounds
Fixes #367
2023-01-09 11:27:25 +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
Corwin fd66ca8afe
Fix-and-test-2023-01-06 (#365)
Fix warnings and add test to benchmark the allocator

- [x] Changelog updated / no changelog update needed
2023-01-06 18:40:49 +00:00
Corwin e2580219c8 fix warnings in tools 2023-01-06 18:27:02 +00:00
Corwin c78b4e62f2 fix warnings in image converter 2023-01-06 18:26:03 +00:00
Corwin 4e6b4107cb and test that benchmarks the allocator 2023-01-06 18:23:42 +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
renovate[bot] 8dabca735e
Update Rust crate toml_edit to 0.17 2023-01-03 05:37:49 +00:00
Gwilym Kuiper 24f6f19ab3
Update Rust crate toml_edit to 0.16 (#362)
[![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.15` -> `0.16` |

---

### Release Notes

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

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

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

</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:eyJjcmVhdGVkSW5WZXIiOiIzNC43MS4wIiwidXBkYXRlZEluVmVyIjoiMzQuNzEuMCJ9-->
2022-12-26 09:06:53 +00:00
GBA bot 7a7f18844e Update lockfiles 2022-12-23 21:33:57 +00:00
renovate[bot] 60f3dc8796
Update Rust crate toml_edit to 0.16 2022-12-23 21:33:02 +00:00
Gwilym Kuiper d27edda339
Stop building dependency docs while testing docs (#360)
Can be quite slow documenting all the dependencies when we don't
actually need to in order to test what we're trying to test

- [x] Changelog updated / no changelog update needed
2022-12-10 00:33:30 +00:00
Gwilym Kuiper 14b4656842 Add the combo rom to the distributed roms 2022-12-09 21:41:47 +00:00
Gwilym Kuiper e6963fe377 Stop building dependency docs while testing docs 2022-12-09 21:18:15 +00:00
Gwilym Kuiper cc8824fc21
Make it so that the release tag includes the entire release notes (#359)
Add `--cleanup=whitespace` to keep lines starting with # in the `git
tag` command for releases.

- [x] Changelog updated / no changelog update needed
2022-12-09 21:13:04 +00:00
Gwilym Kuiper 776cb5b5a3 Make it so that the release tag includes the entire release notes 2022-12-09 21:00:53 +00:00
Gwilym Kuiper c7738b43e3
Added setup instructions for mac to the book (#357) 2022-12-09 20:57:28 +00:00
Gwilym Kuiper cdbbcd12b9
Remove dependency on bindgen by just running the cli (#354)
Should make the build a little quicker and stop the renovate PRs
constantly :P

- [x] Changelog updated / no changelog update needed
2022-12-09 20:51:18 +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 5a7c30428b
Fix clippy lint for inline format args (#358)
Also updates the rust edition to 2021 for agb since I couldn't do both

- [x] Changelog updated / no changelog update needed
2022-12-09 20:49:20 +00:00
Gwilym Kuiper 3e8090e153 Fix clippy lint for inline format args 2022-12-09 20:36:09 +00:00
Joe Bain 95b7fd736d Fix links in mac setup doc 2022-12-09 15:29:21 +00:00
Joe Bain bc7c409296 Added setup instructions for mac 2022-12-09 15:20:30 +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 927a2b61bb Remove dependency on bindgen by just running the cli 2022-11-30 21:17:26 +00:00
Gwilym Kuiper 99ce2f73d5
Textrender rework (#352)
This reworks the text rendering system so the tiles in some rendered
text can be persisted across frames. This is important for performance
in situations where you want to incrementally write to a text box for
example in a Pokemon/Phoenix Wright style dialogue system. Previously
the only way to do this was to render all the chars in the text every
frame, which is currently prohibitively slow (though this could be
potentially sped up).

In addition with this implementation it is easy to individually colour
each character, so I added the ability to do that to.

I expanded the tests to test keeping the renderer instance (which
contains the tiles) over multiple frames, and also added in some
coloured text.

If you are happy with this implementation then I will change the
examples which use text, and also add some more documentation. Thanks
for taking a look.
2022-11-21 23:14:40 +00:00
Gwilym Kuiper e8282fd2b5 Add changelog entry for text render rework 2022-11-21 23:06:04 +00:00
jem 77275e2718 add in asserts for palette indicies 2022-11-21 21:50:43 +00:00
Jem Bishop 3b19088b5b
Merge pull request #1 from gwilymk/textrender-rework-gwilym
Textrender rework gwilym
2022-11-21 21:37:55 +00:00
Gwilym Kuiper 212fd32108 Remember to clear the renderer 2022-11-21 07:37:03 +00:00
Gwilym Kuiper 08ceef09cd Rename 'c to 'b 2022-11-21 07:30:33 +00:00
Gwilym Kuiper 9660b6df12 Fix the text_render example 2022-11-21 07:28:40 +00:00
Gwilym Kuiper 707c2bf7e7 Remove the 'b lifetime 2022-11-21 07:26:48 +00:00
jem fbcf001986 unneeded newlines 2022-11-20 23:17:49 +00:00
jem 8b23b7d54a wrong title 2022-11-20 23:16:23 +00:00