Repository navigation
Add native Apple ARM64 apps and in-game public server browsing - #64
Closed
AttilaTheFun wants to merge 7 commits into
Closed
AttilaTheFun wants to merge 7 commits into
AttilaTheFun wants to merge 7 commits into
Conversation
added 2 commits
October 4, 2026 11:37
Rebase and consolidate the Apple runtime on upstream main 193cbf5, retaining the browser runtime and optional WebRTC transport from PR OpenCommunityEdition#12 at eaa82e6. Include shared ILP32/Darwin bridges, private ISO import, Metal via ANGLE, controllers, shader diagnostics, macOS app menus and the upstream in-game server browser. Validation: signed iPhone 15 Pro install and launch, both Apple Release builds, real Mac public-server join through the in-game browser, Apple regression suite, 132 browser JavaScript checks, menu schema/settings checks and updated native rejoin/checkpoint harnesses. See port/ios/VALIDATION.md for limits and attribution.
AttilaTheFun
force-pushed
the
apple/ios-web-multiplayer
branch
from
October 4, 2026 15:41
cfb5454 to
8e34cc4
Compare
added 5 commits
October 4, 2026 11:46
AttilaTheFun
marked this pull request as ready for review
October 4, 2026 17:24
|
I have some thoughts about your progress so far:
|
Collaborator
|
macOS support cannot be officially added due to the github runners for them costing 10x as much as Linux runners (I also don't own any apple products so I cannot do testing). Long term, I will likely link one of the MacOS / IOS forks in the main repo for people to find. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds native ARM64 iPhone/iPad and Apple Silicon Mac apps with private ISO/XISO import, Metal rendering, controllers and public-server multiplayer. Multiplayer → Join Game → Server Browser now uses upstream’s in-game PC-style menus, including live server rows, selection outlines and game-lobby previews.
Draft: this revision is rebased/consolidated onto main
193cbf59. A Mac client joined a live public Blood Gulch match through the new menus. Signed 0.1.9 (13) builds and launches on iPhone 15 Pro. Sustained testing, dedicated visionOS support and renewed browser crossplay/migration validation remain open.Test builds
tools/ios_resign.shand setup instructions for signing with the tester's own Keychain identity and device provisioning profile. Re-signing the CI-produced IPA and verifying nested/app signatures passed locally; free Personal Team provisioning remains untested.Attribution and source branches
This port builds on the work of the following maintainers and contributors:
main, rebased onto revision193cbf59. This supplies the shared game/runtime foundation and the recent PC menus/settings, signed public-server browser, focus/name fixes, player-slot reuse, weapon pickup/melee fixes and split-screen co-op code. Co-op is not yet validated on Apple hardware.fqlx/browser-webgl-stream-batching, revisioneaa82e68, submitted as upstream PR #12. This PR retains that source-built WASM/WebGL port and its browser storage, input and room/multiplayer work, and adapts the room transport for the optional Apple browser-room mode. The Apple game itself executes native ARM64; optional WebKit runs bundled room transport JavaScript, not the WASM game.ios-port, imported/adapted from revision3f2c1410. This supplies the signed ARM64 ILP32 runtime and 4 GB pointer-arena approach, Darwin bridges, UIKit/SDL input and audio, GLES renderer, XISO importer and build tooling used as the Apple port's starting point. No JIT or executable-memory entitlement.The Apple integration and subsequent changes are developed in AttilaTheFun/halo-ce-universal,
apple/ios-web-multiplayer. The foundations above are credited to their original authors and contributors; this PR combines and extends their work. Third-party attribution is recorded in THIRD_PARTY.md.Integration changes
Apple app behavior
Mouse Setup now offers 1–100 with a default of 20 (0.10 multiplier, 2.5 times slower than the previous menu minimum), finer low-end adjustment and vertical SAME. Existing settings retain their multiplier; select 20 and confirm OK after updating to lower an existing setting. Mac 0.1.10 builds and renders the new menu correctly; Apple notarization/Gatekeeper checks pass.
Metal via pinned ANGLE by default, with a persisted iOS OpenGL ES fallback. Optional MetalFX spatial upscaling; performance benefit remains unmeasured.
Persistent bounded ANGLE shader cache and shareable shader-stall reports. iOS graphics settings appear on shake; macOS has a separate Settings window and standard application menus, including Quit.
Touch controls hide when a controller connects and return on disconnect. Mac supports mouse/keyboard and controllers without a touch overlay. Xbox use is user-confirmed; Backbone and PlayStation hardware remain untested.
First launch asks for the user’s own supported Xbox ISO/XISO in Files/Finder. Import copies into private storage, verifies SHA-256 readback and validates maps before atomic publication. Private data/saves survive app replacement.
Bundles contain no disc images, maps or saves. They now include upstream XML menu layouts and redrawn menu graphics; original logos/map pictures are read from the user’s image. HUD/font replacements remain excluded. This packaging does not establish legal clearance for reconstructed code; see distribution notes.
App/menu name: Halo: Combat Evolved; icon label: Halo. Retain the original ring icon and Choose Halo ISO import UI.
Multiplayer boundaries
Public native servers are the default. Browser rooms (experimental) remains a separate setting requiring relaunch. The deployed PR #12 demos checked on 2026-10-04 used protocol 6, versus native protocol 11; this refresh does not claim compatibility with those deployments. Browser checkpoint/migration compatibility needs revalidation after the game-settings changes. No voice chat, native UPnP or PR #69 HTTP-list/sorting additions.
Validation and known issues
33ee5d53, including clean-runner iOS device/simulator packaging. Later changes add the re-signing helper and 0.1.10 mouse sensitivity; CI is rerunning for the latter, with local Mac build and menu checks passing.Apple build instructions and attribution · Validation record · Mac build