-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Master Chef (internal name Halo Vision) is an unofficial, native Apple Vision Pro port of Halo: Combat Evolved for PC 1.10. It does not emulate a PC. The original x86 executable is statically translated to C and compiled for ARM64. Windows, Direct3D 9, DirectSound and DirectInput are re-implemented natively on Metal, AudioToolbox and GameController. A visionOS immersive presenter wraps the game around you as a panorama, with a stereo forward view, a separate HUD layer, controller aiming and haptics.
This wiki documents how the project is structured and how every part of it works. It is written for contributors and for anyone curious about the internals. If you only want to play, start with the README and the setup guide.
The wiki describes commit
9f915af(version 1.0.3, app build 103). Source links are pinned to that commit so that line numbers stay correct. You must supply your own retail Halo PC copy, valid registration and Apple signing. No game files are distributed in the source tree.
| If you want to... | Read |
|---|---|
| Understand the whole system in 10 minutes | Architecture Overview |
| Find where something lives | Repository Layout |
| Look up a term like bearing, epoch or magic proc | Glossary |
| Change a runtime behavior with a switch | Environment Variables, Runtime Settings |
| Set up, build and install | Setup Wizard, Build System, Device Preparation and Signing |
| Contribute a change | Contributing Guide, Testing and Source Checks |
flowchart LR
EXE["Your halo.exe (PC 1.10)"] --> T["Static translation (tools/, third_party/xwa)"]
T --> C["Generated C (32 chunks)"]
C --> R["EngineReuse (guest CPU model)"]
C --> H["EngineHost (Win32, D3D9 to Metal, DirectSound, DirectInput)"]
H --> P["Panorama: 10 layers per frame"]
P --> V["EngineVision (visionOS immersive presenter)"]
V -->|head pose, settings| H
- Architecture Overview: the three layers, one frame end to end, threads, data
- Repository Layout: every directory and file
- Glossary
-
Environment Variables: every
HALO_*switch - Contributing Guide
- Open Questions and Discrepancies: issues found while documenting
-
Static Translation Pipeline: from
halo.exeto compiled ARM64 - XWA Decoder and Lifter: decoding, lifting, EFLAGS and x87 lowering
-
Function Address Lists:
decompilation/c9acf0c46954 -
EngineReuse Runtime:
EngineCPU, memory, dispatch, hooks - x87 Floating Point: stack layouts, rounding, ARM64 FPCR
- EngineHost Overview: file map, startup, link targets
- Win32 Compatibility Layer: files, registry, time, messages
- Threading and Synchronization
- Guest Memory and Heap
- Engine Overrides and Hooks
- Runtime Settings
- Direct3D9 Bridge: COM emulation, state, resources, draw path
- Metal Renderer: pipelines, caches, encoders, fast paths
- Shader Translation: D3D bytecode to MojoShader to MSL
-
Textures and Texture Packs: decoding, mips, hashing,
.hvt - Geometry Fast Paths: native BSP gathers, skinning, residency
- Radial Fog
- Panorama System: 10 layers from one simulation step
- Panorama Budget and LOD
- Frame Pacing
- visionOS App: SwiftUI app, bridge, assets, settings
- Immersive Presenter: CompositorServices rendering
- Layer Alignment
- Audio System: DirectSound, mixer, Vorbis, AudioQueue, recovery
- Input and Controllers: DirectInput, GameController, menus, gaze pointer
- Haptics: impacts synthesized from the audio mix
-
Setup Wizard:
setup.shstage by stage - Build System: generation, XcodeGen, direct builds
- Device Preparation and Signing
- Visual Mods Pipeline: texture and shader packs
- Diagnostics and Telemetry
- Testing and Source Checks
- Release Process and Hygiene
Playable and experimental. Combat frame-rate drops, panorama seams, texture glitches and audio interruptions are still under investigation. Full campaign qualification has not been done. See Known Issues and Validation.
Halo and its assets belong to their respective owners. This project is not affiliated with or endorsed by Microsoft, Bungie, Gearbox or Apple. The MIT license covers the original project code only.
Documents master-chef at commit 9f915af (v1.0.3). Unofficial project, not affiliated with Microsoft, Bungie, Gearbox or Apple. Original code is MIT licensed; game content is not included.
Overview
- Architecture Overview
- Repository Layout
- Glossary
- Environment Variables
- Contributing Guide
- Open Questions
Translation
- Static Translation Pipeline
- XWA Decoder and Lifter
- Function Address Lists
- EngineReuse Runtime
- x87 Floating Point
Host runtime
- EngineHost Overview
- Win32 Compatibility Layer
- Threading and Synchronization
- Guest Memory and Heap
- Engine Overrides and Hooks
- Runtime Settings
Graphics
- Direct3D9 Bridge
- Metal Renderer
- Shader Translation
- Textures and Texture Packs
- Geometry Fast Paths
- Radial Fog
Panorama and presentation
- Panorama System
- Panorama Budget and LOD
- Frame Pacing
- visionOS App
- Immersive Presenter
- Layer Alignment
Audio and input
Tooling and process