# The Outfit — Native PC Port A native Windows PC port of *The Outfit* (Xbox 360) using the ReXGlue static recompilation toolkit. ![The Outfit](imgs/readme_banner.png) ## Status **Playable.** The game boots, renders, plays audio, and accepts controller input. Performance and stability vary by hardware. **See below for ISSUES** ## Quick Start ### Automatic Build Run `build.ps1` in PowerShell. The script will: 1. Check for required tools 2. Clone the ReXGlue SDK 3. Ask for your Xbox 360 ISO file location 4. Extract game files 5. Build the project 6. Place the executable next to game data ```powershell .\build.ps1 ``` Double-click `theoutfitrecomp.exe` to play. ### Manual Build #### Requirements - **Visual Studio 2022** (Community or higher) with Desktop C++ workload - **LLVM/Clang 20+** — [Download](https://github.com/llvm/llvm-project/releases) - **CMake 3.25+** — [Download](https://cmake.org/download/) - **Ninja** — Included with VS2022, or [Download](https://ninja-build.org/) - **Python 3.9+** — [Download](https://www.python.org/downloads/) - **Git** — [Download](https://git-scm.com/downloads) - **A legally [obtained](https://vimm.net/vault/78710) Xbox 360 copy of The Outfit** (ISO disc image) #### Steps 1. **Clone this repository:** ```powershell git clone https://github.com/DohmBoy64Bit/TheOutfitRecomp.git cd TheOutfitRecomp ``` 2. **Clone the ReXGlue SDK:** ```powershell git clone --branch theoutfitrecomp --depth 1 https://github.com/DohmBoy64Bit/rexglue-sdk.git thirdparty/rexglue-sdk cd thirdparty/rexglue-sdk git submodule update --init --depth 1 thirdparty/fmt thirdparty/spdlog thirdparty/snappy thirdparty/utfcpp thirdparty/xxHash thirdparty/simde thirdparty/tomlplusplus thirdparty/cli11 thirdparty/o1heap thirdparty/inja thirdparty/libmspack thirdparty/sdl3 thirdparty/tracy thirdparty/imgui thirdparty/FFmpeg cd ..\.. ``` 3. **Extract your ISO:** Place `theoutfit.iso` in the repository root, then: ```powershell pip install pycryptodome python thirdparty/rexglue-sdk/tools/extract_iso.py theoutfit.iso extracted/ ``` Or use any Xbox 360 ISO extraction tool. The result should have `extracted/default.xex`. 4. **Run rexglue codegen:** From a **VS2022 x64 Developer Command Prompt** with Clang on PATH: ```powershell $env:PATH = "C:\Program Files\LLVM\bin;$env:PATH" cd TheOutfitRecomp ..\thirdparty\rexglue-sdk\out\install\win-amd64\bin\rexglue.exe codegen ``` > If `rexglue.exe` doesn't exist yet, build the SDK first (see step 5), then return here and re-run codegen. 5. **Build the SDK:** ```powershell cd thirdparty\rexglue-sdk cmake --preset win-amd64 cmake --build out/build/win-amd64 --config Release --target install cd ..\.. ``` 6. **Build the project:** ```powershell cd TheOutfitRecomp cmake --preset win-amd64-relwithdebinfo "-DCMAKE_PREFIX_PATH=..\thirdparty\rexglue-sdk\out\install\win-amd64" cmake --build out/build/win-amd64-relwithdebinfo ``` 7. **Run:** Place extracted game data next to the executable or use `--game_data_root`: ```powershell # Copy game data next to the exe xcopy ..\extracted out\build\win-amd64-relwithdebinfo\extracted\ /E /I # Run .\out\build\win-amd64-relwithdebinfo\theoutfitrecomp.exe ``` Or specify the path explicitly: ```powershell .\out\build\win-amd64-relwithdebinfo\theoutfitrecomp.exe --game_data_root=..\..\extracted ``` ## Controls - **Xbox Controller** — Recommended, plug and play ## Known Issues - AMD GPUs may experience driver timeouts on the D3D12 backend. If this occurs, try running with: ``` --d3d12_tiled_shared_memory=false --d3d12_submit_on_primary_buffer_end=false ``` - Some graphical effects may render differently than original hardware - XMA2 audio decoding may produce warnings in logs (non-critical) - Sometimes the game will fail to start the first time, try again and it will. - Some random crashs on AMD hardware. ## Troubleshooting | Problem | Solution | |---|---| | `cmake` not found | Install CMake and ensure it's on PATH | | `clang` not found | Install LLVM/Clang 20+ | | `MSBuild` / VS not found | Install VS2022 with Desktop C++ workload | | Game crashes on boot | Delete `out/` and rebuild | | `--game_data_root was not provided` | Copy `extracted/` next to the exe | ## Credits - Original game: *The Outfit* by Relic Entertainment, published by THQ - Recompilation toolkit: [ReXGlue SDK](https://github.com/rexglue/rexglue-sdk) - Runtime components: [Xenia](https://github.com/xenia-project/xenia), [SDL3](https://www.libsdl.org/), [FFmpeg](https://ffmpeg.org/) - Reference recompilation projects: TiP-Recomp, GoldenEye-Recomp, Daytona USA Recomp ## Legal This repository does **not** contain any game assets, game code, XEX files, textures, audio, or copyrighted material. You must provide your own legally obtained copy of the game.