Commit graph

3281 commits

Author SHA1 Message Date
Gwilym Inzani bf4a6887a5 Update the background example to search for the colour 2024-05-25 21:11:02 +01:00
Gwilym Inzani b219e00454 Update the test_logo to be a bit nicer 2024-05-25 21:11:02 +01:00
Corwin d05965b98f
Release v0.20.2 2024-05-25 13:20:03 +01:00
Corwin fb85d7ba14
Fix qrcode generation (#708)
- [x] Changelog updated
2024-05-25 13:05:49 +01:00
Corwin b3d7642071
extract code generation and add test 2024-05-25 12:22:38 +01:00
Corwin cfc3c3a93c
add changelog entry 2024-05-25 12:10:35 +01:00
Corwin 2d34099afc
resize the buffer 2024-05-25 12:07:23 +01:00
Corwin 51b1f909c5
clear screen and handle message overlap 2024-05-25 12:07:23 +01:00
Corwin e06230efd0
Agb examples site (#705)
![image](https://github.com/agbrs/agb/assets/8143879/12163f27-1097-49fd-810c-a00f6cf5d8bf)
2024-05-22 20:56:59 +01:00
Corwin 04181a4253
include the source code for each example 2024-05-22 17:18:29 +01:00
Corwin abf7e9dc7f
fix justfile 2024-05-22 12:45:39 +01:00
Corwin 66d750fb84
make the webpage 2024-05-22 02:21:37 +01:00
Corwin a2dea3cab5
generate roms and screenshots 2024-05-22 02:21:30 +01:00
Corwin 81621c3b5e
add screenshot generator tool 2024-05-22 02:21:19 +01:00
Corwin e25a1c7158
remove just build that is non standard 2024-05-22 02:20:39 +01:00
Gwilym Inzani f047b6de94
Put https://agbrs.dev as the homepage for the crate (#704)
- [x] no changelog update needed
2024-05-21 23:51:31 +01:00
Gwilym Inzani 627c6dad1f
Use pointers rather than pin to simplify the mixers buffer handling (#703)
Mentioned by @corwinkuiper that this might be a nicer way of handling
this

- [x] no changelog update needed
2024-05-21 23:48:39 +01:00
Gwilym Inzani 864fd08ec3 Put https://agbrs.dev as the homepage for the crate 2024-05-21 23:43:45 +01:00
Gwilym Inzani ddc3770c70 Use pointers rather than pin to simplify the mixers buffer handling 2024-05-21 23:17:39 +01:00
Gwilym Inzani 2edb5e745b
Update dependency sharp to v0.33.4 (#702)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [sharp](https://sharp.pixelplumbing.com)
([source](https://togithub.com/lovell/sharp),
[changelog](https://togithub.com/lovell/sharp/blob/main/docs/changelog.md))
| [`0.33.3` ->
`0.33.4`](https://renovatebot.com/diffs/npm/sharp/0.33.3/0.33.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/sharp/0.33.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sharp/0.33.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sharp/0.33.3/0.33.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sharp/0.33.3/0.33.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>lovell/sharp (sharp)</summary>

###
[`v0.33.4`](https://togithub.com/lovell/sharp/compare/v0.33.3...v0.33.4)

[Compare
Source](https://togithub.com/lovell/sharp/compare/v0.33.3...v0.33.4)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIiLCJsYWJlbHMiOltdfQ==-->
2024-05-21 20:33:04 +01:00
renovate[bot] a261ada116
Update dependency sharp to v0.33.4 2024-05-21 07:11:20 +00:00
Corwin 6a5346026a
Release v0.20.1 2024-05-17 23:09:16 +01:00
Corwin c5ae7f1c2b
Be less specific for version numbers (#700)
Some more places where version numbers were specified too much
2024-05-17 12:14:10 +01:00
Corwin cd7bdffba4
be less specific 2024-05-17 12:05:14 +01:00
Gwilym Inzani bcafe7be75
Add note delay and fix envelopes (#698)
Adds support for the effect EDx (note delay) although it isn't
completely correct. And envelopes were too short so I've fixed that too.

- [x] no changelog update needed
2024-05-16 23:12:00 +01:00
Gwilym Inzani 93a3bc8e56 just fmt 2024-05-16 23:04:26 +01:00
Gwilym Inzani 352b352b27 Properly implement delay and envelopes 2024-05-16 00:27:20 +01:00
Gwilym Inzani 5494ae29e1 Get the envelopes correct 2024-05-15 23:47:37 +01:00
Corwin 5a80acd501
Add dot and cross product (#695)
Docs:

![image](https://github.com/agbrs/agb/assets/8143879/88f10d03-27c6-43b3-baf3-b79469ed7a12)


- [x] Changelog updated
2024-05-15 22:40:09 +01:00
Corwin 2887791109
clarify it's only the z component 2024-05-15 22:32:28 +01:00
Gwilym Inzani 2e0f89978a Add note delay support (effect EDx) 2024-05-15 22:30:13 +01:00
Corwin f99a564f89
add changelog entry for dot/cross 2024-05-15 22:29:22 +01:00
Corwin 72eb7189be
add dot and cross product 2024-05-15 22:28:29 +01:00
Gwilym Inzani c099fc9a61
Notes are 1 indexed, not 0 indexed (#696)
Versions of xmrs below 0.4.1 (unreleased, 0.4.2 is on crates.io but
0.4.1 is in the repo) have a bug where they swap linear and amiga
frequencies. This caused all old versions of agb (which were using
version 0.3) to use the amiga frequency table rather than the linear
one. Technically it sounds slightly wrong but it is kinda hard to tell.

Since agb 0.20.0, we are now using xmrs 0.5, which correctly reports the
frequency type for the XM file. That pointed out an error in the
note_to_speed method for linear frequencies (since those are now being
used). It turns out that the formula for calculating the frequency
expects a 0 based index for the note, but we were passing a 1 based
index for the note. Moving this down a note fixes the issue where things
were being played at the wrong frequency.

- [x] Changelog updated

We should release 0.20.1 to fix this issue pretty soon.
2024-05-15 22:02:40 +01:00
Gwilym Inzani b5fc27d243 Spell amiga correctly 2024-05-15 21:54:31 +01:00
Gwilym Inzani dac17ec28e Add a changelog entry for fixing the tracker 2024-05-15 21:38:57 +01:00
Gwilym Inzani 2ab3fa79e1 Notes are 1 indexed, not 0 indexed
Versions of xmrs below 0.4.1 (unreleased, 0.4.2 is on crates.io but
0.4.1 is in the repo) have a bug where they swap linear and amiga
frequencies. This caused all old versions of agb (which were using
version 0.3) to use the amiga frequency table rather than the linear
one. Technically it sounds slightly wrong but it is kinda hard to tell.

Since agb 0.20.0, we are now using xmrs 0.5, which correctly reports the
frequency type for the XM file. That pointed out an error in the
note_to_speed method for linear frequencies (since those are now being
used). It turns out that the formula for calculating the frequency
expects a 0 based index for the note, but we were passing a 1 based
index for the note. Moving this down a note fixes the issue where things
were being played at the wrong frequency.
2024-05-15 21:35:03 +01:00
Corwin 737b547343
Release v0.20.0 2024-05-14 22:57:40 +01:00
Corwin a0a587ac05
Allocator api feature for agb hashmap (#694)
This means hashmap can be used in stable.
2024-05-14 22:47:18 +01:00
Corwin a2c127b72b
pull out allocator_api feature 2024-05-14 22:38:42 +01:00
Corwin b316ce2cbc
remove distance_histogram 2024-05-14 22:35:39 +01:00
Gwilym Inzani 30ff065dc0
Handle failure to allocate QR code on panic (#693)
If the allocation for the working space and the result of the QR code
fails, then we don't want to panic but just not render the QR code.

- [x] no changelog update needed
2024-05-14 21:46:03 +01:00
Gwilym Inzani ae2eb5b448 Use the correct padding 2024-05-14 21:38:11 +01:00
Gwilym Inzani 94729e45ec Handle failure to allocate QR code on panic 2024-05-14 21:36:55 +01:00
Gwilym Inzani f80b180fda
Avoid double panic (#643)
Double panics could produce some interesting results, so we should
probably avoid them to avoid breaking the state too much :)

- [x] no changelog update needed
2024-05-14 21:07:30 +01:00
Corwin 7e14de0b76
Continue book (#639) 2024-05-14 20:56:16 +01:00
Gwilym Inzani b71c1d22c3
Add windows instructions (#692)
Closes #691

* Added Windows instruction for the setup
* fixed the path to the example, adjusted to the cargo-project name
* fixed broken code in the example

Original PR contains an extra merge commit we don't want, so this avoids
that.

- [x] no changelog update needed
2024-05-14 20:55:06 +01:00
Gwilym Inzani 5d44c4a658
Remove references to mac on the windows getting started instructions 2024-05-14 20:39:02 +01:00
Gwilym Inzani 9b52572235
Update Javascript packages (non-major) (#688)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.12.11` ->
`20.12.12`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.11/20.12.12)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.12.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.12.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.12.11/20.12.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.12.11/20.12.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/react](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react))
| [`18.3.1` ->
`18.3.2`](https://renovatebot.com/diffs/npm/@types%2freact/18.3.1/18.3.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.3.1/18.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.3.1/18.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [styled-components](https://styled-components.com)
([source](https://togithub.com/styled-components/styled-components)) |
[`6.1.10` ->
`6.1.11`](https://renovatebot.com/diffs/npm/styled-components/6.1.10/6.1.11)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/styled-components/6.1.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/styled-components/6.1.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/styled-components/6.1.10/6.1.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/styled-components/6.1.10/6.1.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>styled-components/styled-components
(styled-components)</summary>

###
[`v6.1.11`](https://togithub.com/styled-components/styled-components/compare/v6.1.10...v6.1.11)

[Compare
Source](https://togithub.com/styled-components/styled-components/compare/v6.1.10...v6.1.11)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2024-05-14 20:14:39 +01:00
Gwilym Inzani 85c3fd2a2d
Update Rust crate fontdue to 0.9 (#689)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [fontdue](https://togithub.com/mooman219/fontdue) | dependencies |
minor | `0.8` -> `0.9` |

---

### Release Notes

<details>
<summary>mooman219/fontdue (fontdue)</summary>

###
[`v0.9.0`](https://togithub.com/mooman219/fontdue/blob/HEAD/CHANGELOG.md#090---2024-05-13)

##### Added

-   Flag to conditionally use std hashmap over `hashbrown`

##### Changes

-   Update `ttf-parser` to 0.21
-   Update `rayon` to 1.10

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2024-05-14 20:14:20 +01:00