Commit graph

3022 commits

Author SHA1 Message Date
Corwin 57681f1084
use num traits for and implement signed 2024-04-09 20:26:15 +01:00
Corwin cddb85df05
use num traits 2024-04-09 20:26:15 +01:00
Corwin 646b7947e9
Enforce functions (#625) 2024-04-09 20:22:28 +01:00
Gwilym Inzani 5f8c1a4634
Update peaceiris/actions-mdbook action to v2 (#617)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[peaceiris/actions-mdbook](https://togithub.com/peaceiris/actions-mdbook)
| action | major | `v1` -> `v2` |

---

### Release Notes

<details>
<summary>peaceiris/actions-mdbook (peaceiris/actions-mdbook)</summary>

###
[`v2`](https://togithub.com/peaceiris/actions-mdbook/compare/v1...v2)

[Compare
Source](https://togithub.com/peaceiris/actions-mdbook/compare/v1...v2)

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-04-09 20:18:02 +01:00
Corwin 754435ad1e
show mobile controls on a small screen (#624) 2024-04-09 12:48:21 +01:00
Corwin dcd632d3e6
Update dependency @types/node to v20.12.6 (#623)
[![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.5` ->
`20.12.6`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.5/20.12.6)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.12.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.12.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.12.5/20.12.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.12.5/20.12.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-04-09 12:47:01 +01:00
Corwin eb30a7a825
prefer regular functions over named arrow functions 2024-04-09 12:46:13 +01:00
Corwin 12316dbe6a
show mobile controls on a small screen 2024-04-09 12:15:11 +01:00
renovate[bot] 8b396fc576
Update dependency @types/node to v20.12.6 2024-04-09 07:21:24 +00:00
Corwin abd5e44ede
Press to start on mobile (#622) 2024-04-09 02:46:10 +01:00
Corwin bbdcdfeb95
readd hover border on help links 2024-04-09 02:38:22 +01:00
Corwin f6c703060f
Update dependency @types/react to v18.2.75 (#618) 2024-04-09 02:34:13 +01:00
Corwin 73d4346964
nicer height calculation 2024-04-09 02:32:36 +01:00
Corwin 9ad67ae494
on mobile devices require a touch to start the emulator loading 2024-04-09 02:31:17 +01:00
GBA bot ef694ad776 Update lockfiles 2024-04-09 00:04:04 +00:00
renovate[bot] 143afc961e
Update dependency @types/react to v18.2.75 2024-04-09 00:03:25 +00:00
Corwin 362e0d864f
make website with nextjs (#619) 2024-04-09 01:01:40 +01:00
Corwin 07e0608949
cache next build 2024-04-09 00:41:28 +01:00
Corwin a9c6723a3b
make website with nextjs 2024-04-09 00:33:32 +01:00
GBA bot ef378905fe Update lockfiles 2024-04-08 19:56:04 +00:00
renovate[bot] 0970bc1b92
Update peaceiris/actions-mdbook action to v2 2024-04-08 19:55:29 +00:00
Corwin 7206b8f925
Update dependency @testing-library/react to v14.3.0 (#616)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@testing-library/react](https://togithub.com/testing-library/react-testing-library)
| [`14.2.2` ->
`14.3.0`](https://renovatebot.com/diffs/npm/@testing-library%2freact/14.2.2/14.3.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@testing-library%2freact/14.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@testing-library%2freact/14.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@testing-library%2freact/14.2.2/14.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@testing-library%2freact/14.2.2/14.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>testing-library/react-testing-library
(@&#8203;testing-library/react)</summary>

###
[`v14.3.0`](https://togithub.com/testing-library/react-testing-library/compare/v14.2.2...9c4a46d5b9923c21c936d206614a8febcc939fc2)

[Compare
Source](https://togithub.com/testing-library/react-testing-library/compare/v14.2.2...9c4a46d5b9923c21c936d206614a8febcc939fc2)

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-04-08 17:05:16 +01:00
GBA bot 2cfb5b576c Update lockfiles 2024-04-08 14:53:37 +00:00
renovate[bot] b46a5ba43d
Update dependency @testing-library/react to v14.3.0 2024-04-08 14:53:01 +00:00
Corwin 8ddc55284c
Compress combo rom (#615)
GitHub pages, for whatever reason, doesn't compress the combo ROM and
instead serves it uncompressed. Therefore, we explicitly compress it
using the highest compression level at build time and explicitly
decompress it.

Previously we would download 14.69MB, now we download 7.84MB.
Approximately 50% savings.
2024-04-08 03:38:46 +01:00
Corwin b830410e39
remove log statement 2024-04-08 03:24:06 +01:00
Corwin f1ef67ad1e
use the gzip compressed combo rom 2024-04-08 03:23:55 +01:00
Corwin f0ee5a081c
make emulator wrapper be able to decompress gzip compressed roms 2024-04-08 03:23:47 +01:00
Corwin 582cce78c8
compress the combo rom 2024-04-08 03:23:19 +01:00
Corwin 9b36ae62e0
Manually handle frameskipping for better audio on non multiple of 60hz screens (#613)
* We want to always use animation frames as our time to call the main
loop because otherwise the timing is inconsistent leading to very bad
audio.
* We don't want to call the main loop every frame otherwise > 60hz
screens will play too fast.
* We can't emscripten's frameskipping becuase it only allows for
integers whereas screeens come in many other framerates such as 75hz,
90hz, 144hz, etc.
* Therefore we manually manage frameskipping by ~~ab~~using pause and
resume game which internally just enable and disable the emscripten's
calling of the main loop. (see
27dede256b/src/platform/wasm/main.c (L183)).
* We could modify the code to let us call the main loop ourselves and
take full control over this, but for now this is okay.
2024-04-06 20:24:44 +01:00
Corwin 290387af16
Update dependency @types/node to v20.12.5 (#612)
[![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.4` ->
`20.12.5`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.4/20.12.5)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.12.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.12.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.12.4/20.12.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.12.4/20.12.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-04-06 19:47:40 +01:00
Corwin 7f0de5f87b
manually handle frameskipping for better audio on non multiple of 60hz screens 2024-04-06 19:42:44 +01:00
Corwin b47dc28f6f
Fix controls (#610)
* Controls were broken on mobile because dpad movement was interpreted
as a/b button presses.
* Fixes it to:
  * Handle multiple fingers using the dpad / a / b buttons
* A dpad movement must start on the dpad, and a/b presses must start on
a/b.
2024-04-06 03:33:42 +01:00
Corwin 3b2ebe6001
dynamically choose frameskip or timeout 2024-04-06 03:26:06 +01:00
GBA bot ba85226cb3 Update lockfiles 2024-04-06 01:54:49 +00:00
renovate[bot] be25491f15
Update dependency @types/node to v20.12.5 2024-04-06 01:54:17 +00:00
Corwin 6704b96fda
Fix clippy lints (#611) 2024-04-06 02:53:25 +01:00
Corwin 559b53456f
use clamp 2024-04-06 02:45:54 +01:00
Corwin 0d609f6d4a
satisfy linter 2024-04-06 02:36:02 +01:00
Corwin 61a7e2fa64
force full reset which can get audio working on mobile 2024-04-06 02:34:39 +01:00
Corwin f053915c65
fix controls 2024-04-06 02:24:10 +01:00
Corwin 92c8877201
we should be overwriting max width 2024-04-06 02:17:01 +01:00
Corwin 3461052193
handle multiple dpad touches 2024-04-06 02:14:15 +01:00
Corwin b9a67e6b0f
handle many button presses and fix to use targetTouches 2024-04-06 02:12:39 +01:00
Corwin 85f5a8493c
Website fixes (#609) 2024-04-05 22:31:16 +01:00
Corwin 3a1f1691f9
swap start and select 2024-04-05 22:23:47 +01:00
Corwin e61fdb7f97
make wider on mobile 2024-04-05 22:23:35 +01:00
Corwin c433dbefdc
Mobile support for website (#607)
Adds mobile control scheme that sort of works.
I feel like it doesn't quite work.

Also, frame rate problems on mobile.

- [ ] Changelog updated / no changelog update needed
2024-04-05 20:24:29 +01:00
Corwin 7893437109
add docs link (#608) 2024-04-05 20:01:37 +01:00
Corwin a1e8ac76fe
add docs link 2024-04-05 19:53:38 +01:00