![]()
CTR Decrypted
A native PC version of Crash Team Racing (PS1, 1999) with the Archipelago multiworld randomizer built in and High Octane-style enhancements.
- No emulator and no ROM patching: the game is compiled from the CTR-native decompilation.
- You supply your own NTSC-U disc image; the game reads its assets from it.

CTR Decrypted is built on dowlle/ctr-native-ap and stays compatible with its seeds and ctr.apworld. It adds enhancements ported from Crash Team Racing - High Octane and fixes of its own. ROADMAP.md has what is planned.
The project site, decryptu.github.io/ctr-decrypted, has these docs as pages and the YAML builder.
Features
On top of the Archipelago client:
- Custom tracks (MODS on the title screen): install community tracks from Project Saphi, an xdelta patch or by hand, and race them in Arcade and Time Trial. A seed can put one into a Gem Cup (docs/CUSTOM_TRACKS.md).
- Custom racers (MODS → Racers): community characters in the character select, beside the retail racers and N. Oxide (docs/CUSTOM_RACERS.md).
- Play Solo (title screen): generate and play a one-player seed on your own machine, with no room to host.
- 200cc (Arcade and VS): every racer, bots included, about 20% faster, picked on the SPEED screen after the difficulty or player count (docs/SPEED-CLASS.md).
And in OPTIONS:
- Save backups: the last 10 copies of your save and Play Solo progress, with a restore in OPTIONS → Backups (SETUP.md).
- 60 FPS, on by default, in every mode (docs/60FPS.md).
- PGXP anti-wobble and perspective-correct textures (docs/PGXP.md).
- Screen filters: Sharp Bilinear, FXAA, Scanlines, CRT, LCD, and colour filters including colour-blind corrections (docs/SCREEN-FILTERS.md).
- Extras: reserves meter, kept reserve fire, blue fire at Ultimate Speed Fire, slide meter gradient, cyan super pads (docs/EXTRAS.md).
- Playable N. Oxide, unlocked by beating him in Adventure.
- Widescreen, render scale, increased draw distance (docs/LEVEL-VISIBILITY.md), remappable controls, and native Switch 2 Pro Controller support (with Steam closed).
- The one-player camera distance (
L2) and the map or speedometer (Triangle) you pick are kept across races and sessions (camera_farandhud_speedometerunder[State]inconfig.ini). Split screen starts near, as the original does.
Getting started
1. Download ctr-decrypted-vX.Y.Z-windows-x86.zip from the latest release and extract it (Linux: the -linux-x86.tar.gz; Steam Deck: docs/STEAM-DECK.md). After that the game updates itself: the main menu offers each new version, and your settings and saves stay.
2. Add your disc image. This project contains no game assets. You need a retail NTSC-U copy of Crash Team Racing, dumped as a raw single-track .bin (MODE2/2352). A 2048-byte .iso won't work: it loses the audio and video sectors. On the first launch the game looks in the game folder, Downloads, Desktop, Documents and Games, and otherwise opens a file picker. You can also put it in an assets folder next to the executable:
CTR-Decrypted/
ctr_native_ap.exe
assets/
ctr-u.bin
3. Connect to your Archipelago room. The first launch opens a short setup: enter the server address (for example archipelago.gg:38281), your slot name and the password, then pick a few options. Change them later in OPTIONS → Connection.
Making a multiworld
- Each player makes a YAML options file with the YAML builder, which always matches the latest release's
ctr.apworld. - The person generating the room puts the release's
ctr.apworldinto Archipelago'scustom_worldsfolder and generates with every player's YAML. - Host the result on archipelago.gg or your own Archipelago server.
SETUP.md has the full walkthrough and troubleshooting.
Building from source
See BUILDING.md and docs/DEVELOPMENT.md.
License
GPL-3.0, inherited from CTR-native. See LICENSE and THIRD_PARTY_NOTICES.md. The ctr.apworld is MIT-licensed. This repository contains no game assets.
Credits
- CTR-tools/ctr-native and CTR-ModSDK: the decompilation and native port everything here is built on.
- dowlle/ctr-native-ap and ctr-archipelago-apworld: the Archipelago client and world this project is based on.
- Rinnegatamante/Crash-Team-Racing-High-Octane: the source of the 60 FPS mode and other enhancements ported here.
- thecodingbob/ctr-native: the config menu, widescreen, borderless fullscreen and dithering options.
- CTR Turbocharged, DuckStation (Stenzek) and iCatButler: the PGXP precision geometry, via High Octane.
- Icebound777 and Taor: the CTR randomizer whose design the Archipelago integration builds on.
- PsyCross, SDL3, apclientpp.
Crash Team Racing is a trademark of Sony Interactive Entertainment. This project is not affiliated with Sony or Naughty Dog.