Support full Sunshine APWorld options and native link services #2

Open
alaric wants to merge 7 commits from codex/blue-coin-checks into main
Owner

The original APWorld options now work through the native port: difficulty 0–3, eight 100-coin Shines, all three blue-coin modes and configurable boathouse trades, ticket/vanilla access, Spray/Hover/FLUDDless starts, tutorial skip, all episodes selectable, ten nozzle-box checks, DeathLink and original PopTracker stage/episode keys. Original location/item IDs and SMSAP1/2 remain compatible; SMSAP3 carries the added runtime settings.

The work also repairs zero-item-start check reporting, incoming-link write/retry ordering, and shared server-clock/fractional-timestamp handling. The 120 vendored SDK files match the verified e691531 export.

Automated validation passes: 18 original-world generation/client/real-server profiles, 144 native parser combinations, 72 actual actor/director/flag/save method combinations, 19 Rust tests, 14 launcher/package tests, Windows native and GUI builds, formatting and Clippy. The final two-slot test delivers all 117/357 checks and 119/359 receipts, both goals, remote Shine/Rocket, restart/reconnect, stale/duplicate/own-source link controls, two distinct same-source DeathLinks within one second, and a denied atomic write followed by successful retry.

Server fixtures substitute physical/readiness callbacks; native methods use controlled game objects and services. These results do not claim a physically played campaign or rendered game feel. No human delivery/reload chores are required. The published 87-check WIP and installed player profiles are unchanged; these features are in the matching source candidate.

Evidence: integration fixtures/parity-runtime-{build,links,native,server}-report.json. Native runtime 74ac2862, current bridge bba93d20; integration 920a83c7.

Companion: alaric/sunshine-pc-port#1
Tracking: alaric/peliarch#20

Independent review follow-up: native bba93d20 retires valid same-boot expired/future DeathLink commands without applying a death, so the next fresh AP link can proceed. Wrong session/save/boot and duplicate sequences cannot advance acknowledgment. Full native/harness builds and the strengthened real two-slot run pass; the preserved old native fails the exact acknowledgment regression. Final client source/evidence is 920a83c70ed2347059c18b0d664e1d92162a0dea.

The original APWorld options now work through the native port: difficulty 0–3, eight 100-coin Shines, all three blue-coin modes and configurable boathouse trades, ticket/vanilla access, Spray/Hover/FLUDDless starts, tutorial skip, all episodes selectable, ten nozzle-box checks, DeathLink and original PopTracker stage/episode keys. Original location/item IDs and SMSAP1/2 remain compatible; SMSAP3 carries the added runtime settings. The work also repairs zero-item-start check reporting, incoming-link write/retry ordering, and shared server-clock/fractional-timestamp handling. The 120 vendored SDK files match the verified e691531 export. Automated validation passes: 18 original-world generation/client/real-server profiles, 144 native parser combinations, 72 actual actor/director/flag/save method combinations, 19 Rust tests, 14 launcher/package tests, Windows native and GUI builds, formatting and Clippy. The final two-slot test delivers all 117/357 checks and 119/359 receipts, both goals, remote Shine/Rocket, restart/reconnect, stale/duplicate/own-source link controls, two distinct same-source DeathLinks within one second, and a denied atomic write followed by successful retry. Server fixtures substitute physical/readiness callbacks; native methods use controlled game objects and services. These results do not claim a physically played campaign or rendered game feel. No human delivery/reload chores are required. The published 87-check WIP and installed player profiles are unchanged; these features are in the matching source candidate. Evidence: integration `fixtures/parity-runtime-{build,links,native,server}-report.json`. Native runtime `74ac2862`, current bridge `bba93d20`; integration `920a83c7`. Companion: https://git.peliarch.ca/alaric/sunshine-pc-port/pulls/1 Tracking: https://git.peliarch.ca/alaric/peliarch/issues/20 Independent review follow-up: native `bba93d20` retires valid same-boot expired/future DeathLink commands without applying a death, so the next fresh AP link can proceed. Wrong session/save/boot and duplicate sequences cannot advance acknowledgment. Full native/harness builds and the strengthened real two-slot run pass; the preserved old native fails the exact acknowledgment regression. Final client source/evidence is `920a83c70ed2347059c18b0d664e1d92162a0dea`.
alaric changed title from WIP: Make blue coin checks and boathouse trades YAML-configurable to Support full Sunshine APWorld options and native link services 2026-10-14 21:04:26 +00:00
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin codex/blue-coin-checks:codex/blue-coin-checks
git switch codex/blue-coin-checks

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff codex/blue-coin-checks
git switch codex/blue-coin-checks
git rebase main
git switch main
git merge --ff-only codex/blue-coin-checks
git switch codex/blue-coin-checks
git rebase main
git switch main
git merge --no-ff codex/blue-coin-checks
git switch main
git merge --squash codex/blue-coin-checks
git switch main
git merge --ff-only codex/blue-coin-checks
git switch main
git merge codex/blue-coin-checks
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
alaric/sunshine-archipelago!2
No description provided.