The build is registered on the Frame as a Lepton devkit title, HaloCEVR,
which deploy.sh keeps up to date, so the game starts from the Steam
library without the Mac. SteamVR offers an app only the rate its display
setting is on, so vr.refresh_rate takes the highest offered at or below
it; the docs say where to set 90 Hz.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The main menu's scene stays on the flat screen behind its menus,
rather than going stereo with the menus head-locked.
- The HUD layer was invisible: the game's HUD never writes alpha, which
it keeps as scratch. Its copy into the layer now makes each pixel as
opaque as it is bright (premultiplied, OpenXR's default).
- The right stick's up and down reach the game again while the head
aims (the head still sets the facing each frame), so the first level's
look test, which watches the stick, can pass.
- vr.timing logs where a frame's time goes ([vr-frame]); vr.timing_gpu
waits for the GPU before each frame to time it apart.
- deploy.sh: macOS's rsync has no --info.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Lepton's app storage goes with a container reset; the headset's
Documents folder (Android's /sdcard/Documents) stays. The VR build
prefers game data in Documents/HaloCE, with its settings and saves
beside it.
tools/steam_frame/extract_maps.py copies maps out of a disc image on the
Mac (as port/linux/src/xiso.c reads it); deploy.sh copies them to the
headset over SSH, edits config.toml settings, installs and starts the
app over Lepton's adb.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>