Repository navigation
Releases: chrissotraidis/projectreach
Release list
HaloPad 0.3.10: OpenCE 208 and automatic map downloads
HaloPad 0.3.10 updates the Xbox edition to OpenCE 208, network version 29, with automatic custom-map downloads and local game discovery.
- Joining a compatible game downloads missing custom maps and resource maps from sharing peers. Interrupted transfers can reuse verified pieces when you rejoin.
- Compatible HaloPad devices on the same local network find each other automatically. Allow Local Network access on both devices. Manual addresses remain available for other OpenCE clients.
- Compatibility now follows the engine's actual network version. Older engines need an app update to gain newer protocols and map downloading; a compatibility-policy refresh cannot add those features.
- This update also fixes fresh PadMint iOS builds, rendering compatibility, and touch controls after the primary controller disconnects. OpenCE 208 includes fixes for voice-packet validation and returning to the main menu after a game. The PC Custom Edition engine is unchanged.
On an Apple silicon Mac: open the latest PadMint, choose HaloPad, and rebuild for iPhone/iPad or Mac. Select your Xbox ISO/XISO for the Xbox edition, or HaloCESetup.exe with product-key.txt beside it for both editions.
On Windows, Linux, or another computer: fork or sync the HaloPad repository, open Actions → Build HaloPad (Xbox edition) → Run workflow, and download the finished artifact. GitHub's Mac runner builds your iOS IPA and Mac ZIP. Sign and install the IPA, then import your own Xbox disc inside HaloPad.
Install over your existing app; never delete HaloPad first. On iPhone/iPad, use the same signing identity or Apple ID to retain your imported maps, profiles, and saves. Xbox checkpoints may need a level restart after an engine change.
This is a source and PadMint recipe release, with no public IPA or game files. Keep your personal builds private.
HaloPad 0.3.9: building both editions works again
HaloPad 0.3.9 fixes building both editions. In 0.3.8, choosing the original HaloCESetup.exe (Custom Edition plus the Xbox edition) failed at the last step with "Output must end in .halopad.zip". Xbox-only builds were not affected.
Everything else is the same as 0.3.8: the Xbox edition from just your disc image, one tested engine per release (OpenCE build 170, network version 25, which plays with OpenCE 171), online play that follows compatible OpenCE updates on its own, and an Xbox-edition build on GitHub for players without a Mac (steps).
On a Mac: in PadMint 0.4.12, choose your Xbox ISO/XISO for the Xbox edition alone, or HaloCESetup.exe with product-key.txt beside it for both editions. Install the tools once with brew install cmake ninja lld llvm sdl3. Install over your current app with the same signing to keep your profiles and saves.
Validation: all 23 builder tests passed; the updated test fails 8 of them on the old builder. A full both-editions build from a clean Custom Edition translation was installed on an iPad Pro over the Xbox-only build, after a verified backup. Both editions showed as ready, Custom Edition reached Halo's main menu using the existing game files and product ID, and all 53 Xbox saves were unchanged.
This is a source/recipe release. Personal builds are yours alone: don't share them.
HaloPad 0.3.8: Xbox edition from your disc, one tested engine, any-computer build
Use HaloPad 0.3.9. Building both editions (the PC installer) fails in 0.3.8 at its last step; 0.3.9 fixes it. Xbox-only builds are unaffected.
HaloPad 0.3.8 can build the Xbox edition from just your Xbox disc image, with no PC installer, product key or Wine. It also stops following OpenCE's daily builds.
One tested engine per release. This release always builds OpenCE build 170 (network version 25), the engine tested on iPad. New OpenCE builds no longer change or break the PadMint build. OpenCE 171, released since, uses the same network version, so 0.3.8 plays online with it.
Online play keeps up by itself. When OpenCE raises its network version with a compatible change, your installed HaloPad downloads a small signed compatibility file and joins those games, with no rebuild or reinstall. Updates… on the edition picker shows which versions your app plays with.
No Mac? Build the Xbox edition on GitHub. The Xbox edition's app contains no Halo files; you add your disc inside it. Fork HaloPad, run Build HaloPad (Xbox edition) in your fork's Actions tab, download the IPA and install it with Sideloadly or your own signing. See On Windows, Linux or any computer.
On a Mac: use PadMint 0.4.12. Choose your Xbox ISO/XISO to build the Xbox edition alone, or the original HaloCESetup.exe with product-key.txt to build both editions. Install the required tools once with brew install cmake ninja lld llvm sdl3. Install over your current app with the same signing to keep your profiles and saves.
Validation: 351 Xbox and 23 builder tests passed, and both packages passed their audits. A PadMint build of this recipe from an Xbox disc image produced HaloPad 0.3.8 with OpenCE 170. On an iPad Pro, after a verified 13.4 GB backup, the app installed in place with all 53 saves unchanged, and the menu, campaign Continue and touch look worked. An IPA built entirely on GitHub played the campaign on the same iPad. Not yet tested: installing with Sideloadly from Windows, and iPhones.
This is a source/recipe release. Personal builds are yours alone: don't share them.
HaloPad 0.3.7: fix Custom Edition startup on case-sensitive filesystems
HaloPad 0.3.7 fixes a Halo Custom Edition startup crash after importing the game package on a case-sensitive filesystem.
The loader now finds resource DLLs regardless of filename capitalization: strings.dll correctly resolves to Strings.dll. It uses HaloPad's existing Windows-style filesystem resolver and respects replacement files in writable storage. Thanks to CarlosSouza for the fix and regression tests in #18.
To get the fix, quit and reopen PadMint, build HaloPad again, and install over your current app with the same signing to preserve your profiles and saves. Existing game packages remain compatible. PadMint 0.4.9 already supports this release; no new PadMint download is needed if you have it.
Validation: on a case-sensitive APFS volume, the old loader failed two regression cases and the fix passed all five. The patched source compiled for arm64 iPhoneOS, and all 13 package tests passed. The contributor reports that the corrected build resolved the crash on their physical iPad; that device test was not independently repeated here.
This is a source/recipe release. Personal apps and game packages contain your game code, files and product ID and must stay private.
HaloPad 0.3.6: Wine setup correction
HaloPad 0.3.6 corrects the Wine setup instructions for fresh Mac installations. Homebrew disabled its Wine cask on September 1; the recipe and guide now point to the Wine publisher's app, its required GStreamer runtime, and steps to make Wine available to PadMint.
Use PadMint 0.4.9 for the corrected setup screen. With PadMint 0.4.8, follow the guide and skip the old Wine Homebrew command.
Wine guide: https://github.com/chrissotraidis/projectreach/blob/main/docs/INSTALL-WINE.md
PadMint: https://github.com/chrissotraidis/padmint/releases/latest
Checked: downloaded Wine 11.0_1 against its SHA-256, applied Halo's 1.10 patch in a fresh Wine prefix and matched the accepted client hash, and installed MFC42 in a separate fresh prefix. Rosetta and GStreamer were already installed on the test Mac. No game/runtime behavior changed, and this is not a full build or clean-Mac acceptance claim.
The separate case-sensitive resource-DLL startup fix remains pending in #18.
Recipe only. Personal builds contain your game code, files and product ID and must stay private.
HaloPad 0.3.5: keeps up with OpenCE by itself
HaloPad 0.3.5: keeps up with OpenCE by itself.
- OpenCE changes its online version several times a day, and a HaloPad build on an older one sees no games. PadMint now builds the Xbox edition from OpenCE's newest release, and falls back to HaloPad's tested build only if the newest does not build. HaloPad's changes must still apply cleanly to it.
- The tested build is now OpenCE build 125 (network version 16). Tested: Mac and iPad Simulator menu, campaign and match; on a Mac the server browser lists current games (13 servers, 35 players) and a live CTF game on Blood Gulch was joined.
- When the edition picker says OpenCE has moved on, rebuild with PadMint and install over your app. Profiles and settings stay; a campaign checkpoint from an older build may not load (OpenCE checkpoints are tied to one engine build).
Source only. Everything you build contains code made from your own games: keep it to yourself.
HaloPad 0.3.4: the server browser finds games
HaloPad 0.3.4: the server browser finds games.
- The Xbox edition now ships OpenCE's list of public matchmaking servers (brokers.txt), which HaloPad was missing. Multiplayer › Server Browser now lists everyone's public games, and joining them works (tested: a live public Blood Gulch game joined from a Mac).
- Still OpenCE build 119 (network version 13), so you play with current PC, Linux and Android players.
Rebuild with PadMint and install over your app; saves stay. Source only. Everything you build contains code made from your own games: keep it to yourself.
HaloPad 0.3.3: online with current OpenCE players
HaloPad 0.3.3: online with current OpenCE players.
- The Xbox edition moves to OpenCE build 119 (formerly halo-ce-universal; network version 13, with online co-op), so HaloPad joins the same online games as current OpenCE players on PC, Linux and Android again. Build 85 could no longer join them.
- The edition picker now tells you when OpenCE ships a build that can no longer play online with yours. Build HaloPad again with PadMint and install over your app; your saves and settings stay, and Xbox saves are backed up when the engine changes.
- Tested: Mac and iPad Simulator menu, campaign (a10) and a multiplayer match; the Mac app reaches the Xbox main menu; installed in place on an iPad with its saves kept.
Same tools and disk space as 0.3.2. Source only. Everything you build contains code made from your own games: keep it to yourself.
HaloPad 0.3.2: PadMint builds both editions
HaloPad 0.3.2: PadMint builds both editions.
- PadMint (and
scripts/builder/build.sh --xbox) now builds the Xbox edition into HaloPad too, on iPhone, iPad and Mac. Your Mac downloads the pinned halo-ce-universal engine (build 85) and the ANGLE renderer from their own repositories and builds them; none of that code is in HaloPad. HaloPad opens to the edition picker; add your own Xbox disc image there. - Needs
brew install cmake ninjaon top of the earlier tools, and about 35 GB free for the first build. - Mac: ⋯ › Controls › Mouse Speed (0.5× to 3×) for both editions. Custom Edition's own sensitivity sliders still apply on top.
- The Xbox build name (build 85) now shows correctly on fresh builds; upstream deletes old release tags, so the pin keeps the name.
Source only. Everything you build contains code made from your own games: keep it to yourself.
HaloPad 0.3.1: both editions on Mac
HaloPad 0.3.1 completes HaloPad for Mac: both editions.
- The Mac app now has the same edition picker as iPad: Halo Custom Edition and Halo: Combat Evolved (Xbox, halo-ce-universal build 85), with ⋯ › Switch Edition, System Link, Original/Sharper graphics and the Project Reach link.
- The Xbox edition on Mac imports your own disc image and plays the campaign with keyboard and mouse. The pointer locks while you play; F12 frees it (as on PC), then click ⋯.
- Add the Xbox edition with the same few commands as on iPad, using
--mac(README, Adding the Xbox edition). PadMint builds the Mac app with Custom Edition.
Source only. Everything you build contains code made from your own games: keep it to yourself.