Repository navigation
Releases: chestahh/GulchCE
Release list
Build 465 (b8e9070)
- MCC maps on Windows avoid SDL startup address conflicts while keeping ASLR enabled.
- Add optional modern settings and lobby menus with scrollable lists.
- Add selectable keyboard glyphs while preserving default prompt behavior.
- Restore host-controlled shield glow and newer OpenCE game modes.
- Keep third-person host rules separate from co-op friendly fire.
- Update camera-branch sessions for music snapshots and expanded script stacks.
- Dedicated hosting and updated browsing are available on the third-person branch.
- Third-person multiplayer requires peers on the updated experimental build.
- Experimental third-person multiplayer requires matching camera builds.
- B swaps shoulders, N changes perspective, and Alt plus wheel adjusts distance.
- Host hit checks now account for third-person weapon muzzles near cover.
- Weapon-authored cameras keep their firing behavior after shoulder-view weapon switches.
- Fixed startup with controllers already connected.
- Fixed co-op checkpoint restores after players reconnect.
- Co-op clients recover units the host restored alive.
- Co-op checkpoint restores promptly refresh players on connected clients.
- Update the third-person branch with current testing fixes and features.
- Choose OpenCE Crossplay or GulchCE Third Person when creating a session.
- Third person is automatically disabled when joining an OpenCE-compatible session.
- Choose OpenCE Crossplay or GulchCE Third Person before opening a lobby.
- Host compatibility and camera policy now have their own Session Options submenu.
- Host help has room for two lines; Invite Link is now in Session Options.
- Session Options stays editable during setup and the invite link fits its row.
- Session compatibility choices fit their row and their arrows respond to clicks.
- Hold Shift and scroll for camera height; hold Caps Lock and scroll to move left or right.
- Adjust the shoulder camera from Modern Settings.
- Choose third-person sessions from Modern Server Setup.
- Modern menus now cover settings, mission selection and paused Settings.
- Menu style changes made during gameplay apply on return to the main menu.
- Xbox settings retain original Xbox prompts with additional setup options.
- Testing now includes Modern menus alongside the existing menu styles.
- Testing includes the optional online third-person and shoulder camera features.
- Stock bots keep their original behavior with a separate enhanced controller.
- Enhanced bots follow objectives and board friendly vehicles more reliably.
- Enhanced bots can pilot compatible custom aircraft, including Pelicans and Longswords.
Commit: b8e9070
Build: https://github.com/chestahh/GulchCE/actions/runs/41748121120
Network version: 41
The release builds are for playing; the debug builds stop at the first failed assertion and log it.
Build 449 (4662622)
- Discord Account LINK now opens the selected master when confirmed.
- Fix presentation when a cached map skips the loading screen.
- Plasma projectile trails keep their brightness and thickness at high frame rates.
- Chapter titles now stay correctly positioned on widescreen displays.
- Rocket launcher melee, chambering and reload animations stay smooth at high frame rates.
- Ruined Halo, Mission Z9 and Halo RPG now pass their reported script and tag load failures.
- MCC flamethrower fire now starts at the barrel in first person.
Commit: 4662622
Build: https://github.com/chestahh/GulchCE/actions/runs/41350641253
Network version: 41
The release builds are for playing; the debug builds stop at the first failed assertion and log it.
Build 444 (4eb2c66)
- Restore Android touch controls by reverting unreliable automatic input-device detection.
Commit: 4eb2c66
Build: https://github.com/chestahh/GulchCE/actions/runs/40994849903
Network version: 41
The release builds are for playing; the debug builds stop at the first failed assertion and log it.
Build 442 (efdf119)
- Remapped controllers keep D-pad and Back working in the main menu.
- Bind Cycle Camera to enter and leave flying-camera mode with custom controls.
Commit: efdf119
Build: https://github.com/chestahh/GulchCE/actions/runs/40992357857
Network version: 41
The release builds are for playing; the debug builds stop at the first failed assertion and log it.
Build 439 (326d563)
- Enhanced bot aiming and healing now match all six difficulty levels.
Commit: 326d563
Build: https://github.com/chestahh/GulchCE/actions/runs/40985477029
Network version: 41
The release builds are for playing; the debug builds stop at the first failed assertion and log it.
OpenCE Android chip detection test (221fd822)
Android chip detection test built from upstream OpenCE main plus the required PR OpenCommunityEdition#455 geometry fixes and automatic device policy. No MCC or Gulch-specific game features are included.
Download the APK below, install it and play normally. No console commands or configuration changes are needed. It uses the existing com.halo.decomp package and permanent Gulch release signing certificate, with version code 297, so it can update current Gulch test builds in place. Do not uninstall or delete saves. The app keeps upstream's OpenCE name and appearance.
Automatic policy:
- Qualcomm Snapdragon: geometry and Custom Edition texture fixes.
- MediaTek: Custom Edition texture fixes only.
- Other identified chips, including Google Tensor and Samsung Exynos: neither workaround.
- Unknown or conflicting chip identity: both retained.
- Blanket graphics-state refresh before every draw is removed for all devices. Necessary resource/context invalidation remains.
The geometry policy includes the persistent geometry mirror bypass, pooled streamed uploads and static geometry buffers. Chip detection happens once before the game starts; the selected policy is recorded in the normal startup log. Desktop and web rendering paths are preserved.
Please report the phone model/chip, map, session length, whether geometry/texture/HUD corruption occurs, and whether frame rate or hitches improve or regress. Try both an Xbox campaign map and a Custom Edition map for at least 20 minutes, including map changes, death/respawn and the previously troublesome views. If a problem appears, include debug.txt and a short recording. This build still needs real-phone validation of the new policy.
Validation: 231 local regression tests passed, with four optional checks skipped. Production-code regression tests cover chip identities and unknown/conflicting fallbacks, both rendering policies, cache allocation failure, buffer reuse/unload and desktop/web controls. CI builds the Linux, Windows, Android and web targets. The published APK is the CI release build, with only manifest versionCode, ZIP alignment and signatures adjusted for in-place installation. All game, Java and native payloads are verified identical to CI; APK signatures and anonymous download are verified before delivery.
Source branch: https://github.com/chestahh/GulchCE/tree/opence-android-detection
Source commit: 221fd82
Build: https://github.com/chestahh/GulchCE/actions/runs/40047837353
This is a prerelease and does not replace the stable release. The APK is a public release asset: no GitHub login and no Actions-artifact expiry.
The accompanying license archive contains OpenCE and third-party notices, plus the exact corresponding source link.
Android geometry diagnostics (1ce554b9)
Install-and-play Android geometry diagnostic build
Install the APK below over your current app, launch it normally and reproduce the missing geometry in DMT-OD_SP4_Upskirts. No console commands or configuration changes are needed. Do not uninstall the app or delete saves.
This is an investigation build, not a confirmed fix for the newly reported Galaxy S22+ problem. It is based on the upstream OpenCE Android fix and keeps the geometry-cache bypass, normal texture caching, stable Android CE texture allocations and graphics-state refresh. Desktop/web behavior is unchanged. It contains no MCC-specific work or fullscreen changes.
The APK automatically writes android-geometry-test.log beside config.toml under Android/data/com.halo.decomp/files. The previous launch is kept as android-geometry-test.log.previous. Each log is capped at 8 MiB and remains on the device until you share it. It contains build/device/GPU identity, game/renderer messages, shader failures, GL errors, upload/fence failures and sampled draw/texture/uniform state. Diagnostics may affect timing and cannot detect every visual rendering error.
Please send the log after reproducing the problem, plus a short recording or screenshot showing the affected view. Include the phone model, map, whether it happened immediately after a fresh app launch, and whether performance changed. If you restarted after the problem, include the .previous log too.
Validation: 35 focused local diagnostic/cache/upload tests and the Windows release build passed. The published APK is built by platform CI and verified for package identity and the permanent signing certificate. Version code 250 allows installation over the current main build without deleting saves. No affected-device validation is claimed yet.
Source: 1ce554b
CI: https://github.com/chestahh/GulchCE/actions/runs/39541020501
Android texture reuse test (36 MiB, bbcd3201)
Android performance comparison for Custom Edition maps such as Extinction and Garden CE.
Download the APK below, install over the previous Android test or Build 220, and play normally. No console commands or configuration changes. The signing key and version code are unchanged; do not uninstall or delete saves.
The previous 36 MiB fragmentation test improved reported surface corruption, but the player still reported FPS drops when looking in certain directions. This build targets unnecessary texture uploads: when compaction moves unchanged CPU pixels, eligible GPU texture copies keep their existing texture object instead of uploading again. Stale copies, palette textures and HUD replacements continue through the normal upload path; later pixel writes still invalidate retained copies.
The 36 MiB cache budget, fragmentation recovery, working Android geometry fix, normal texture caching and every-draw graphics-state refresh remain intact. Desktop/web behavior, Xbox asynchronous texture loading and MCC-owned texture storage are unchanged. No additional GPU waits or larger cache budget are introduced.
Automatic diagnostics correlate presentation intervals with texture uploads, cache recovery, allocation failures and retained GPU copies. Intervals include loading and frame pacing; they are not GPU timings. Reports are rate-limited and bounded to about 2 MiB. This is an experimental comparison: it may reduce some stalls, but capacity pressure and other causes can still produce FPS drops.
Please test Extinction and Garden CE for at least 20 minutes, including the views that previously dropped FPS, and report:
- Whether broken textures or flickering return, and where/when.
- Whether FPS drops or pauses are better, unchanged or worse than the previous 36 MiB fragmentation APK.
- Phone model, map, session length, and any loading failures or crashes.
- Attach
android-texture-reuse-test.log, plus a short recording of any remaining problem.
The log is created beside config.toml in Android/data/com.halo.decomp/files. The previous launch is saved as android-texture-reuse-test.log.previous. Logs remain local. Please also try another map or reload a map to check transitions.
Validation: 70 focused local checks passed, covering actual cache lookup and reuse, destination collisions, stale/current write generations, later writes, overlapping and successive moves, special-case fallbacks, idle eviction, frame diagnostics, LRU recovery, geometry behavior and MCC isolation. Full platform CI builds/regressions and MCC validation passed. The delivered APK is CI-built; affected-phone performance and longer visual validation remain pending.
Source: bbcd320
CI: https://github.com/chestahh/GulchCE/actions/runs/39362911219
Android Extinction terrain diagnostics (fab6d836)
Android diagnostic build targeting the remaining green floor flicker in the Custom Edition map Extinction.
Download the APK below, install over Build 220 or the previous tests, and play Extinction normally. No console commands or configuration changes are required. The existing signing key and compatible version code allow updating in place; do not uninstall or delete saves.
The working geometry bypass, normal texture caching and graphics-state refresh remain enabled. This build identifies the authored terrain material and samples its lightmap and diffuse passes separately. It records texture fingerprints, cache generations and selected GPU shader-uniform readbacks. It does not replace textures or change shader values and is not claimed to fix the remaining floor issue.
Please report phone model, play duration, whether the floor still flashes green, any other surface corruption, and performance. Attach android-terrain-test.log and a short recording showing the problem if possible.
The log is saved automatically beside config.toml in Android/data/com.halo.decomp/files. The previous launch is kept as android-terrain-test.log.previous; each report is bounded to about 2 MiB. Reports stay local. Queries and fingerprints can cause brief diagnostic overhead, without forced per-frame texture uploads. Texture fingerprints cover at most the first 4 MiB and do not read GPU texture contents; uniform sampling is partial.
Validation: 39 focused local checks passed. All platform CI builds and regression checks passed. Gameplay on the affected Android phone remains to be tested.
Source: fab6d83
CI: https://github.com/chestahh/GulchCE/actions/runs/39348861111
Android graphics-state comparison (d8d0587a)
Android comparison build for the surface-colour errors on Custom Edition maps such as Extinction.
Download the APK below, install over Build 220 or the previous comparison, and play normally. No console commands or configuration changes are required. The signing key and version code support updating in place; do not uninstall or delete saves.
Normal texture caching is restored, removing the previous test's repeated per-frame texture uploads and DXT decoding. The working Android geometry fix remains enabled. This comparison refreshes cached GL bindings/raster state before each draw. Texture decoding, shader code, shader-uniform caching and streamed geometry remain unchanged. Desktop/web and map-family adapters are unchanged. This is a diagnostic test, not a confirmed fix; extra state calls may still affect performance.
Please report phone model, map, ground flicker, other colour/surface errors, play duration, and performance compared with Build 220 and the previous texture test. Include a short recording and android-state-test.log if accessible.
The log is saved automatically beside config.toml in Android/data/com.halo.decomp/files. The previous launch is kept as android-state-test.log.previous; each report is bounded to about 512 KiB. It records GPU information, normal upload/decoding counts, elapsed upload time, state refreshes and sampled draw-preparation stages. Reports stay local. Sampling does not capture every GL call or prove error-free rendering.
Validation: 35 focused local checks passed. All platform CI builds and regression checks passed. Gameplay on an affected Android phone remains to be tested.
Source: d8d0587
CI: https://github.com/chestahh/GulchCE/actions/runs/39345736516