SF3TSOE Reborn

SF3TSOE Reborn is a Windows and Linux port of Street Fighter III: 3rd Strike Online Edition that enables keyboard and mouse controls.

README

SF3TSOEReborn

Static recompilation of Street Fighter III: 3rd Strike Online Edition (Xbox Live Arcade) for Windows and Linux, built on the ReXGlue SDK.

This project converts the Xbox 360 PowerPC default.xex into native x86_64 and arm64 executable at build time, then wraps it with a small host runtime (logging, overlays, hooks) while visible rendering currently remains authoritative in the vendored RexGlue/Xenia graphics backend.

You must own the game. This project does not ship any copyrighted code, data, or assets. You provide your own legally dumped game.

What You Need

  • Python 3.10 or newer for the extraction helper.
  • A Street Fighter III: 3rd Strike Online Edition Xbox 360 STFS package. The expected title id is 58410B16, and XBLA packages normally live under a path like:
...\58410B16\000D0000\<long package file name>
  • Title Update tu00000003_00000000 with MediaID: 6981678F

Do this:

  1. Extract the release you just downloaded
  2. Run python scripts/extract_game_xbla.py from the release directory and extract game assets in assets/ folder.
  3. Run python scripts/extract_tu.py to extract title update tu00000003_00000000 with MediaID: 6981678F in updates/ folder and default.xexp in assets folder.

Finally, run the game executable to play the game.

Building from scratch (development)

0. Install dependencies
Linux (Arch/CachyOS)
paru -S clang20 cmake ninja vulkan-headers
Windows
scoop install llvm cmake ninja
1. Clone
git clone https://github.com/updeshxp/SF3TSOEReborn
cd SF3TSOEReborn
2. Download the ReXGlue SDK
python scripts/download-sdk.py --pinned
3. Provide your game

Place your legally dumped XBLA package into the current directory, then extract it into assets/:

python scripts/extract_game_xbla.py
4. Build

Use this script:

# Vanilla
python scripts/build.py --release

# Title Update
python scripts/build.py --release --tu /path/to/TU_*
5. Run
python scripts/run.py

This runs the freshly built executable with the correct CLI arguments (--game_data_root=assets, --gpu_plugin=xenos, --license_mask=1).

Any extra arguments are forwarded to the executable, e.g.:

python scripts/run.py --vulkan_device 1

Options

Options can be persisted by adding them to sf3tsoereborn.toml next to the game executable, for example:

vulkan_device = 1 # NVIDIA GPU
user_language = 1 # English
Keyboard & mouse

Keyboard and mouse controls are enabled by default. All bindings are overridable in the F4 menu or sf3tsoereborn.toml. For example:

keybind_a = "J"
keybind_left_trigger = "O"
Logging

The game writes logs into the logs directory by default, but you can configure it.

python scripts/run.py --log_file sf3tsoereborn.log --log_level debug

Credits

License

The host-side source in src/, build scripts, and CI config are available under the MIT License.

The recompiled game code produced at build time contains symbols and logic from sf3tsoerborn and is not redistributable. Do not share default.xex, the generated/ directory, or any built binary that links against them.