Import Tuner Challenge
OrigenXbox 360
TecnologíaRecompilación Estática (C/C++ nativo)
Disponible paraWindows
Ver proyecto oficialSobre el proyecto
Import Tuner Challenge también conocido como Shutokō Battle X, es un videojuego de carreras publicado por Ubisoft y desarrollado por Genki para Xbox 360. Es la última entrega principal de la década que ejecuta la serie Shutokō Battle de juegos conocidos como Tokyo Xtreme Racer en Norteamérica y Tokyo Highway Challenge en Europa, y fue el último videojuego desarrollado por Genki. A pesar de ser el último juego de Shutokou Battle, este es el único juego de Shutokou Battle que está en la consola de Microsoft.
Información oficial del proyecto
Import Tuner Challenge Static Recompilation
A native Linux and Windows port of Import Tuner Challenge (Xbox 360, 2006), made by statically recompiling the game's PowerPC code to x86-64 with ReXGlue.
Built with AI assistance (Claude Code).
Features
-
Native Vulkan renderer. The game's Direct3D calls are drawn directly with Vulkan, this avoids relying on the xenia GPU backend of rexglue and should run faster
-
Frame interpolation in races. Game logic still runs at its original 30 Hz, and frames are blended between ticks, so races play smoothly at an uncapped FPS (
--max_fps=0), or with a cap set initc.toml(max_fps).interpolate_draw_state = falseandmax_fps = 30there give the original 30 fps game. Be aware that the internal game logic is still expecting a consistent 30hz update rate, if your machine cannot keep up, the game will run in slow motion.
In progress: removing ReXGlue
The above branch contains the most up to date functions reference, and is where work on mapping out all of the game's code will go from now on.
Requirements
-
Linux, or Windows 10 or 11 (experimental, see below), on a 64-bit x86 CPU with SSE4.2 (most CPUs from 2009 on).
-
A GPU and driver supporting Vulkan 1.3 or newer with up-to-date drivers, that should include for example:
- NVIDIA GeForce GTX 750 Ti, GTX 900 series or newer
- AMD Radeon RX 400 series or newer
- Intel Iris Xe (11th-gen Core laptops) or Arc
- Steam Deck
Only the Steam Deck and a Radeon RX 7900 XT have been tested so far.
-
Your own copy of the game, extracted from a backup.
Install
- Extract the game's files from your backup into a folder.
- Download the latest zip for your system from
Releases
(
linux-amd64orwin-amd64) and extract its files into that folder, next todefault.xex. - Run
./itcon Linux, oritc.exeon Windows.
Settings
Settings are in itc.toml, next to itc; each is explained in the file.
Edit it and start the game again.
| Setting | What it does |
|---|---|
interpolate_draw_state | Frame interpolation in races (true by default). |
max_fps | The frame cap (144 by default); 0 is unlimited. |
width, height | A bigger window, drawn at that resolution instead of the game's 1280x720. |
fullscreen | Fills the screen, drawn at the screen's resolution. With width/height, drawn at that resolution and scaled to the screen. |
motion_blur | The game's blur of the picture at speed (true by default). |
xbox_gamma | "off", or the Xbox 360's gamma for an HDTV ("hdtv") or a set gamma power ("power"). |
log_level | "off", or "info" to write logs to logs/. |
For the original 30 fps game, set interpolate_draw_state = false and
max_fps = 30. By default the game runs in a 1280x720 window at its own
resolution, as on the console. Screens and windows that aren't 16:9 get
black bars.
Options given on the command line win over the file, e.g.
./itc --max_fps=0. ./itc --skip_intro skips the Ubisoft logo movie and
speeds through the Genki logo and the title screen's intro; now and then the
game hangs at startup with it; if it does, close it and start it again.
Known limitations
- Only races are interpolated; menus run at 30 fps, and HUD animations advance at 30 Hz (including cockpit elements such as the tachometer).
- Tested on Linux on my PC (9800x3d, 7900XT) and the Steam Deck.
- The game probably uses more RAM than necessary, currently it maintains several copies of the xbox 360 memory pool for performance reasons. This is going to be an issue until the rexglue runtime is removed (see "In progress: removing ReXGlue" above). RAM usage can hit about 1gb in races.
- Some 2d elements flicker when races are paused when unlocking the framerate, like logos above cars or smoke trails
- Some timing issues remain, menu music sometimes doesn't play after finishing races that end with a load to the garage/parking area
Reporting problems
Set log_level = "info" in itc.toml, play, then open an
issue describing what
you saw, and attach the newest file from the logs folder.
Building from source
You need clang, lld, CMake (3.25 or newer), Ninja and the Vulkan SDK.
git clone --recursive https://github.com/Spooky098529/ITC-Recomp.git
cd ITC-Recomp/itc_recomp
cmake --preset linux-amd64-release
cmake --build out/build/linux-amd64-release
This builds itc_recomp/out/build/linux-amd64-release/itc and
rexglue-sdk/out/linux-amd64/librexruntime.so. Put both in the game folder
with itc_recomp/itc.toml.
The Windows version is cross-compiled on Linux (clang and Microsoft's libraries fetched with xwin); see docs/windows.md.
Documentation (This is written by LLMs primarily for LLMs)
- docs/functions/: what's known about the game's functions (their table, split by subsystem).
- docs/known-data.md: the game's globals and object fields worked out so far.
- docs/frame-interpolation.md: how frame interpolation works, and the diagnostic options.
- docs/title-screen.md: the boot and the attract race.
- docs/known-issues.md: known issues.
- docs/gpu-functions.md: how the game drives the GPU.
- docs/native-renderer.md: the native renderer's design and progress.
- docs/native-audio.md: how the game's audio works and the plan to replace the emulated audio.
- docs/unlocked-res.md: drawing at other resolutions.
- docs/windows.md: the Windows build, how it's made and tested.
- docs/rexglue-removal.md: the plan for a native port without ReXGlue, and its progress
(on the
rexglue-removal-projectbranch; the copy onmainis out of date).