broken-bond-recomp
broken-bond-recomp is a PC port of Naruto: The Broken Bond with a native Direct3D 12 renderer and streamed audio fixes.
- Type: PC port
- Game: Naruto: The Broken Bond
- Runs on Windows
- By jorjbarbosa
- Latest release v0.1.0-beta, 2026-10-20
- Source: https://github.com/jorjbarbosa/broken-bond-recomp
README
Naruto: The Broken Bond — Recomp
A static recompilation for PC powered by ReXGlue
Native Direct3D 12 renderer • Windows launcher • Streamed audio fixes
Getting started · Renderers · Build and run · Configuration · Troubleshooting
[!WARNING] This project is a work in progress. There are no prebuilt releases yet: you build the port from source with your own copy of the game. Expect bugs and crashes, keep a backup of your saves, and report problems on the Issues page.
About
A PC recompilation of Naruto: The Broken Bond, released by Ubisoft for Xbox 360 in 2008. The project uses the ReXGlue SDK to translate the game's PowerPC code into C++ and compile it for native execution. The SDK runtime provides system services, audio, and input.
This version ships the native Direct3D 12 renderer in the launcher, installer and portable package. The native renderer is adapted from the Naruto: Rise of a Ninja recomp.
The build and run workflow targets Windows x64.
[!NOTE] AI tools are used to assist the development of this project. The project's direction, technical decisions, and testing are the maintainer's, who reviews every change before it is published.
Current state
The port has been played on Windows 11 with an AMD Radeon RX 9070 XT and a DualSense controller: the menus, the start of Story Mode with its first fights and cutscenes, Fight Mode, and the open world, in sessions of up to about 30 minutes, with English and Japanese voices, at the game's 30 fps and at 60 fps, without missing draws.
The Xbox Live features and most of the story have not been tested yet. Other graphics cards, drivers, and game revisions have not been tested either.
Features
Graphics
- Native Direct3D 12 renderer: the game's Direct3D calls run on Direct3D 12, with the shaders translated when the port is built. See Renderers.
- Internal resolution from 1× to 4×, up to 16× anisotropic filtering, FXAA, FidelityFX CAS or FSR, fullscreen, and VSync.
- Native renderer options: frame rates above the game's own (the frames between its logic steps are interpolated), MSAA (2×, 4×, 8×), transparency antialiasing, fractional internal resolution (such as 1.5×), brightness, frame latency, triple buffering, and graphics card selection.
Audio
- Streamed voices and music that play to the end. Local fixes to the SDK's XMA decoder keep the frames that cross a buffer boundary, so cutscenes no longer wait forever for a voice line, the music no longer stops, and the crackles at buffer boundaries are gone.
Launcher and recompilation
- Launcher reused from the current Rise of a Ninja port, with the same settings layout, graphics card selection, keyboard and mouse mapping, seven interface languages, and game-folder verification, without DLC. See launcher features and remaining gaps.
- Windows installer based on Rise's Inno Setup flow, with optional ISO import, supported-revision verification, updates and preservation of user data. See packaging and installer.
- Automatic function discovery: a ReXGlue patch finds the functions the game reaches only through pointer tables or addresses built in code, so the port needs no hand-written function list. See Automatic function discovery.
Renderers
The game draws with the native Direct3D 12 renderer: it intercepts the game's Direct3D calls and issues them with Direct3D 12, with the shaders translated at build time and embedded in the executable. See Renderers for the frame rate option, validation limits and known issues.
Requirements
- Windows x64.
- A GPU supporting Direct3D 12. The launcher uses Direct3D 11.
- The files from your Xbox 360 copy of the game, in the supported revision below. The source tree does not include game data.
- The build tools listed in the build guide.
- An SDL-compatible controller is recommended. The SDK's keyboard emulation is also available.
The port supports one executable revision; the build refuses any other:
| Field | Value |
|---|---|
| Title ID | 55530825 |
| Media ID | 09FFE047 |
| Executable version | 0.0.0.3 |
default.xex SHA-256 | 8f70e79443e36b38e44b6a105dad51fb8909fb615d982753cabaac9b15f0d576 |
Getting started
From a checkout, in PowerShell 7 with the Visual Studio C++ tools installed:
git -c core.symlinks=true submodule update --init --recursive
./scripts/extract-game.ps1 # extracts your ISO into game/
./scripts/build-sdk.ps1 # builds and installs the patched SDK
./scripts/build-game.ps1 # generates the C++ code
# Prepare pinned native dependencies as described in the build guide, then:
./scripts/build-game-native.ps1 -PlumeSource out/plume `
-XenosRecompThirdparty tools/xenosrecomp/thirdparty -Backend d3d12
./build/native/broken_bond_launcher.exe
The build guide explains each step, the native renderer build, and running the game without the launcher.
Documentation
| Guide | Contents |
|---|---|
| Build and run | Toolchain, SDK, game files, code generation, the native renderer, and running |
| Configuration | Launcher settings, the configuration file, renderer options, and user files |
| Renderers | The native renderer, the frame rate, the pipeline list, and known issues |
| Architecture | Project structure, SDK patches, and areas to address |
| Troubleshooting | Build failures, runtime issues, and diagnostics |
| Recompilation notes | Executable identity, function boundaries, and validation evidence |
| Automatic function discovery | The discovery patch, its rules, and its tests |
Roadmap
Planned work, in no particular order:
- Broader native renderer validation, across the whole game and on other graphics cards.
- Frame rates above 60, which
frame_rateaccepts but have not been played yet. - A wider pipeline list, built from more of the game, so fewer pipelines compile the first time an area appears.
Contributing
Read the architecture notes before changing the runtime or code generation files. When reporting an issue, include reproduction steps, the commit you built, CPU, GPU, driver, the renderer you use, your configuration, and the log of the run (build/logs/ with run-game.ps1, build/native/logs/ with the launcher).
Work happens on the develop branch; main is the primary branch. Keep game files, derived shader data, pipeline lists, and generated code out of commits. SDK changes go into reproducible patches in patches/. Code, comments, documentation, and commit messages are written in English, as AGENTS.md requires.
Credits
Projects and libraries
- ReXGlue, recompilation SDK and runtime.
- Xenia and XenonRecomp, foundations and references for the Xbox 360 recompilation ecosystem. Several of the XMA decoder fixes are ports of Xenia Canary commits.
- XenosRecomp, shader translation for the native renderer (forked in
tools/xenosrecomp/), and Plume with D3D12 Memory Allocator, its Direct3D 12 backend. - SDL, Dear ImGui, toml++, and extract-xiso.
References
- Naruto: Rise of a Ninja Recomp, source of the native renderer and the launcher.
- Unleashed Recompiled, the model for the native renderer's design and its pipeline handling.
- Ubisoft Montreal, for the original game. Logo source.
License
Copyright (C) 2026 Jorge Barbosa. The source code of this port is licensed under version 3 of the GNU General Public License (GPL-3.0-only).
Third-party code keeps its own license: the ReXGlue SDK (sdk/, BSD-3-Clause) and its dependencies, the XenosRecomp fork (tools/xenosrecomp/, MIT), Plume and D3D12 Memory Allocator (MIT, built into the executable with the native renderer), and the Lato fonts (launcher/assets/fonts/, OFL-1.1).
Naruto: The Broken Bond, its content, and its artwork and trademarks, including the artwork in launcher/assets/ and docs/assets/, belong to their respective owners and are not covered by this license. The license does not cover the original game executable, its assets, or the code translated from it. No game data is distributed with this project.