| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A native PC port of Crash Team Racing (PS1, 1999), built on top of the CTR-ModSDK decompilation project.
ctr_native/
main.c Entrypoint and native platform boundary
platform/ Native-owned audio, input, memcard, CD, and PSX facade glue
build-msvc.bat Windows build (MSVC x86)
build.bat Windows build (MinGW i686)
build.sh Linux build
CMakePresets.json Shared CLion/command-line CMake configurations
README.md This file
game/ Our copies of all decompiled game source (943 files)
game_unity.h Ordered unity include chain for all game source files
include/ Project headers (structs, globals, declarations, platform facade)
externals/
SDL/ SDL3 source (static build)
The recommended native Windows toolchain is MSVC x86:
The existing MinGW i686 build remains supported:
pacman -Syu pacman -S --needed git mingw-w64-i686-gcc mingw-w64-i686-cmake mingw-w64-i686-make
That's it. SDL3 is compiled from vendored source -- no separate install needed.
sudo apt install gcc-multilib sudo apt install libx11-dev libxext-dev libgl1-mesa-dev libasound2-dev libudev-dev libdbus-1-dev
build-msvc.bat # Windows, MSVC x86 (recommended) build.bat # Windows, MinGW i686 chmod +x build.sh ./build.sh # Linux
The shared CMake presets can also be used directly or selected as CLion CMake profiles:
cmake --preset windows-msvc-x86 cmake --build --preset windows-msvc-x86-debug ctest --preset windows-msvc-x86-debug
First build compiles SDL3 from source. This is cached as a static library in the selected build directory.
Output:
rmdir /s /q build # Windows: delete cached libraries build.bat # Windows: rebuild everything rmdir /s /q build-msvc-x86 build-msvc.bat # Windows MSVC: rebuild everything rm -rf build/ # Linux: delete cached libraries ./build.sh # Linux: rebuild everything
If you downloaded a release build, you only need two things for normal play:
Example:
CTR-Native/
ctr_native.exe
assets/
ctr-u.bin
Then run ctr_native.exe.
The disc image must be the common single-track raw PSX BIN layout: MODE2/2352 sectors, with the data track starting at byte 0. A cooked 2048-byte .iso does not preserve the XA/STR sector data needed for audio and video playback.
For development builds run from build/, put the same assets/ctr-u.bin next to the source tree:
ctr-native/
build/
ctr_native.exe
assets/
ctr-u.bin
You do not need extracted assets for normal play.
Extracted files are still supported for development, modding, and debugging. If present, they override files from ctr-u.bin.
Extracted-asset override structure:
CTR-Native/
ctr_native.exe
assets/
BIGFILE.BIG
SOUNDS/KART.HWL
TEST.STR
XA/
ENG.XNF
ENG/EXTRA/S00.XA ... S05.XA
ENG/GAME/S00.XA ... S20.XA
MUSIC/S00.XA ... S01.XA
The full extracted asset list is:
Internal builds can record a small bug report folder. See docs/REPLAYS.md.
main.c (entrypoint)
|
+-- platform/native_* (platform shell, audio, input, memcard, CD, renderer, PSX facade glue)
|
+-- game/game_unity.h
|
+-- game/ (all decompiled game source)
|
+-- include/ (headers: structs, globals, declarations)
| Back | FazBrowse Home | New Git URL |