Skip to content

Fix iOS startup and add portable resource tooling - #35

Merged
chrissotraidis merged 17 commits into
mainfrom
codex/player-prerequisites
Oct 2, 2026
Merged

chrissotraidis merged 17 commits into
mainfrom
codex/player-prerequisites

Conversation

@chrissotraidis

@chrissotraidis chrissotraidis commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

HarkinianPad needs scene-aware SDL startup/orientation for SDK 27 and a simpler, reliable PadMint build. This change adds the lifecycle fixes, corrects Files/Rescan setup guidance and replaces native ZAPD port-resource generation with a pinned Python implementation. The new source recipe requires CMake, Python 3.9+ and Xcode, without desktop archive libraries or Ninja. README instructions distinguish this source path from the current public v0.2.0 recipe.

The generator reproduces all 1,042 archive entries, including 31 PNG texture conversions, and verifies complete input/output digests. It preserves differing existing outputs and reads shaders without modifying source inputs. The normal iOS build uses it at the established archive paths. Native OTR regression coverage is retained by building only StormLib for the test helper; missing fixture dependencies now fail explicitly. Native tests still require pkgconf/libzip, separate from player prerequisites.

Full personal-IPA uploads remain removed from CI while compilation, package auditing and signing rejection remain enabled. The engine pins remain Shipwright 087e43a31b26999fe2ce70a8cd9813408db0f2eb and libultraship 945cede5f7947fa8f4465685dd0062b3d6ab00ac; dependency patching preserves incompatible local edits.

Validation:

  • Native resource run 36987010786 passed Windows x64/ARM64, Linux x64/ARM64 and Mac ARM64. Every generated entry matches the maintained native archive. Focused tests cover conversion, PNG filters, corruption, output preservation and interrupted writes.
  • Full hosted safety/app/package/signing run 36987010700 passed at bea7c00. At combined 1934f51, five-host resource run 36991222140 and full app run 36991222122 both passed.
  • The integrated normal local unsigned iOS build passed, as did all 30 Python tests, package/ZIP checks and signed-only rejection. All three existing archives remained byte-identical. The new StormLib test path passed OTR validation/import and mod identity/import/rollback checks.
  • A separate full unsigned iOS build passed with Homebrew prefixes excluded, system PATH/Python/Git and pkg-config absent. Its executable has no Homebrew dynamic-library links and its bundled archive matches the generated input. It reused dependency source trees, so this is not fresh-machine acceptance. PadMint manifest validation, repository safety and the exact committed-source content gate pass.
  • Earlier private iPhone 14 testing reached the Zelda title/animated attract with original ROM/archive and saves preserved. Interactive gameplay, rotation and OS27 acceptance remain unverified. The older public artifact 11183950664 failed both content gates with 1,821 address-named symbols and still awaits a separate cleanup decision; nothing was deleted.

Merged source at 73e5ae8: current checks and both exact-source content gates pass. Full off-Mac app compilation, device acceptance and release-selected recipe delivery remain open. The merged tree matches the reviewed 1934f51 tree; post-merge full CI run 37027079387 is in progress. Portable resource generation alone does not establish a Windows/Linux/Android player route. No public IPA/runtime, release, host-support promotion or audit-clearance claim is included. Private outputs and dirty primary checkouts are preserved.

@chrissotraidis chrissotraidis changed the title Declare external player build prerequisites Fix player build prerequisites and UIKit scene startup Oct 1, 2026
@chrissotraidis chrissotraidis changed the title Fix player build prerequisites and UIKit scene startup Fix iOS startup and add portable resource tooling Oct 2, 2026
@chrissotraidis
chrissotraidis marked this pull request as ready for review October 2, 2026 15:27
@chrissotraidis
chrissotraidis merged commit 73e5ae8 into main Oct 2, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant