Repository navigation
Releases: LinksTech/CTR-Reload-Edition
Release list
Nightly build — 2026-10-18 (46aa2664ab59)
Warning
Untested build, straight from main: it may be broken. For a tested version use the newest release that is not a nightly.
Changes since the last nightly build:
- README: the state of main after 0.7.5 (46aa266)
- creator_kit_test.py: no drive paths in the source - Blender's default folder from ProgramW6432, the selftest's made-up folders joined at run time (55e9671)
- Character page: a figure that takes the game's kart builds its classic model with make-char --figure-only - the figure in a grey stand-in kart made in code, no game data; the step line and the report say so; the charroute chains for the kit joint and the switch use it, every other case unchanged (41e1347)
- Creator kit guide: share only files without the kit kart - the game puts the kart in on the player's side; a game without hi-res drivers shows the figure in a simple grey kart; the advanced command line builds the classic model with make-char --figure-only (d60473c)
- Creator Kit K2b: the kit wheel wears the game's own tyre sprites - the tread sprite round the tread, the hub sprite on the sides - on 336 triangles instead of 1392 flat-coloured ones (ed70df5)
- Creator Kit page: 'Start from an old character' - a chosen .rldchar is exported with rldpack char-export into the kit (classic.glb) and the generator takes it with --classic as the hidden collection Classic; the file is checked first, every export error says how to fix it; creator_kit_classic.py is embedded and packaged; content_guard refuses classic.* (340426f)
- Creator Kit K11: a figure-only driver gets the original kart from the player's own game data in the engine; make-char --figure-only gives its classic model a stand-in kart made by code (293edfc)
- Character page: the kart of a CHRG model - a node 'kart' holding a mesh is the kart part (packed with --kart-part: left out on the podium, in the menu and the driver select), a node 'kart' without a mesh and no kart or wheel mesh anywhere is the kit's figure (packed with --game-kart template: the game adds the player's own kart, HRG-42 instead of HRG-20), everything else stays as before byte for byte; the switch 'Kart: from the player's game data' under Advanced (suggested for the kit figure) with its step line; report lines parts, game kart; the Creator Kit demo takes the kart part (103a335)
- Creator kit: start from an old character - make_creator_kit.py --classic brings the GLB of rldpack char-export (classic CMDL with vertex colours, or the native model with its textures) into a hidden collection Classic at the kit's scale and axes, outside both exports (checked by the generator); the guide's section 11 explains it; the test builds its old character from the CC0 template and checks size, triangles, colours and textures against the verb's GLB (4f167bf)
- CHRG parts: a figure-only file with the game's kart needs no wheel nodes and may keep a joint 'kart' (HRG-42) (5f58d57)
- rldpack char-export: the model of a .rldchar as a glTF binary - an old driver as a starting point for the Creator Kit's template (76e1ddf)
- Creator Kit page: the extraction is rldpack kit-extract (with How to fix for kit-no-data, kit-bad-model, kit-write), Blender runs with --threads 1, the demo is built from creator-kit-demo-local.glb and step 4 names both files (the figure to share once the game adds its own kart, the local file to keep); the page sets the suggested vertex colour mode before it reports, as the Character page does; the test makes its game data with kit-standin and reads the kit names from rs_kit.c; content_guard refuses kit-extract.txt (db5e46b)
- make-char: the repair welds within one mesh only - a figure and a kart that touch stay two parts (28eacac)
- Creator kit test: the local file is checked as it is packed (hires-check --kart-part: 0 errors, the kit mark HRG-41 the only warning); import_kart no longer reads an object it removed (a kit kart with an empty root node 'kart' crashed Blender's script), covered by a stand-in with that root; the measurement compares vertex colours as RGBA (kit-extract writes VEC3) (ced9bf1)
- Creator Kit: the kit wheel as wide as the tread sprite (22 units, at most 24) and kit-kart.glb without a root node (721a136)
- Creator kit: the template's default exporter writes creator-kit-figure.glb with the figure only - no kart, no wheels, no game data - and a second exporter writes creator-kit-demo-local.glb with the kit kart for local tests; every kit node and mesh carries the glTF extras ctr_kit (kart, steer_wheel, wheel) and every kit material is named ctrkit_, checked by the generator; the guide's sharing paragraph has one switch (shipped: keep files with the kit kart for yourself) (ddb0d07)
- Creator kit generator: Blender runs with --threads 1 - with more threads the .blend writer gives two temporary attribute blocks file addresses that depend on the allocator's timing (291 bytes, no content), so two runs under load could differ; the report notes a run without it; 224 of 224 stress runs byte-identical (a7a0eb3)
- Creator Kit: rldpack kit-extract - the retail kart of the player's own game data, hi-res (include/rldkit.inc) (07c91fc)
- Reload Studio: the module Creator Kit - five steps (what you get, what the kit needs, where it goes, Generate demo files, your kit): finds the game data and Blender 5.2 with How to fix, builds in \kit.part and moves the kit in only when every step worked (extraction, the Blender generator embedded as RCDATA with the guide, the demo character built as the Character page builds it, START-DEMO-PUPPE.bat = Test the demo), refuses an output folder in a git tree, the game or the Studio folder; Cancel ends child processes too and leaves the old kit as it was; the Character page says HRG-41 at the build step: 'This file contains the original kart from your game data. Don't share it, or export without the kart.'; a packed .rldchar is checked with its parts field; package.sh ships the kit scripts and the guide (8e7b500)
- CHRG parts field (0x10, proposed for 4.3): kart part, game kart, kit mark (7a78d1e)
- ctests for the creator kit: the measurement and guide selftests, the guide HTML check, and the generator end to end (skipped without Blender 5.2) (2ca1250)
- Creator kit guide: docs/CREATOR_KIT.md step by step from the Studio to Test in game (also make-char --rig bind-pose), built into one docs/CREATOR_KIT.html with nine SVG pictures drawn from the stand-in only (tools/creator_kit_pictures.py, refuses a real kit folder); tools/creator_kit_guide.py builds and checks the HTML (d624240)
- Creator kit generator (CC0, Blender 5.2 CLI): templates/make_creator_kit.py builds creator-kit.blend and its demo GLB from the kit folder - a neutral articulated puppet of our own (creator_kit_puppet.py, 26 joints, 5568 triangles, seated at the game's driver size), its 12 clips (creator_kit_clips.py: seated race clips, standing podium, lose and menu), collections Figure and Kart, materials named with their vertex colour mode, a saved GLB exporter; a code-made stand-in kart for tests and pictures (creator_kit_standin.py); tools/creator_kit_test.py runs it end to end against rldpack hires-check, make-char --check and the measurements, and is skipped without Blender 5.2 (158bd75)
- tools/creator_kit_measure.py: measures a creator kit GLB in plain Python - seat and standing height, hands on the wheel, feet in the kart or on the ground, clips (length, loops, mirror, steering angle), budget and the kart taken over 1:1 - with a selftest on code-made GLBs (6da565f)
- Leak check: content_guard refuses the creator kit's output names anywhere and any committed blob whose content is a model, image or container (18 signatures), with a targeted allowlist for renders; --package checks a package folder (package.sh, the build job), release and nightly check their exact file lists; selftests as ctests (fbd8f96)
- Reload Studio: external modules - every DLL in the folder modules next to the Studio (or --modules-dir) is loaded if it exports ReloadStudioModule, fits the core version and has its dependencies; a missing or broken module leaves one honest line in modules.log and the Studio runs on, a module that crashes in a callback is turned off for the session; --no-modules; ctest reloadstudio_modules with 13 test files (9349bc5)
- Reload Studio: the pages are registered as built-in modules (rs_module.c/.h: name, page, dependencies, minimum core version) - the same pages, the same order, the same controls; rs_shell.c loops over the registry instead of its fixed tables (d3ea54d)
CTR Reload v0.7.5 Beta
CTR Reload 0.7.5 Beta is a native Windows version of Crash Team Racing (PS1, 1999) with custom tracks and custom characters. It contains no game data: you need your own NTSC-U disc image (SCUS-94426, .cue/.bin).
Getting started: put ctr_native.exe and ReloadStudio.exe into a folder you can write to. The game asks for the disc image on the first start. Characters go into the characters folder, tracks into tracks; restart the game after adding new ones. Full details: README.txt.
Versioning reset: 0.7.5 follows 0.0.5. From now on we count 0.x.y in steps of 0.0.5.
HIGHLIGHTS
High-detail custom drivers (Preview)
Real 3D models with up to 30,000 triangles and 16 textures, sharp at every resolution, also in water and mirrors. Eight of them in one race run smoothly.
Turn it on: OPTIONS -> GRAPHICS -> NATIVE DRIVERS -> PREVIEW, then restart. Off by default; every character also keeps its classic model.
Animations
Make poses as shape keys in Blender and export a .glb: steer_left, steer_right, reverse, crash, jump, win, lose. All optional, missing poses are filled in automatically. Drivers lean into corners, and on the high-detail model they cheer or hang their head after the finish line.
Wheels of their own
Own front and rear wheels, adjustable axles and track width. They steer, roll with the speed and no longer seem to spin backwards at top speed.
Shadow and exhaust
Custom drivers can bring their own ground shadow and exhaust points. Smoke and turbo flames follow them.
Reload Studio
- glTF (.glb) is now the recommended format. OBJ and PLY still work.
- New 3D preview: orbit, pan, zoom, fixed views (including the race camera) and a live animation preview.
- All character cards are open, and the page fits smaller screens.
Mods menu (Feature Preview)
In Arcade and in NITRO RACE / NITRO CUP (one player), a MODS box sits below LAPS.
CPU DRIVERS: DEFAULT, ALL RANDOM (all original and custom drivers) or ONLY SELECTED (hand-pick your opponents; pick one and race seven of them).
More mods are coming.
Also new and fixed
- NITRO-PIT: TIME TRIAL has its own row.
- The arcade cup keeps your custom driver at the podium.
- Memory is released properly between races, and the first frame of a race no longer stalls.
- OBJ materials with an emission colour but no diffuse colour are no longer drawn too dark.
FOR CREATORS
- driver-template.blend: a placeholder driver with all seven shape keys and the export settings ready (Blender 5.2). Free for any use, CC0, see LICENSE-template.txt.
- ANIMATIONS.txt: the step-by-step guide from model to export.
- SHA256SUMS.txt: checksums of the creator files.
KNOWN ISSUES
- Custom drivers without their own voice lines are silent.
- Custom drivers racing as CPU opponents show a placeholder icon in the standings.
- The cup podium shows custom drivers as their template.
- Win and lose show only on the high-detail model.
- Rigs are not supported yet; use shape keys.
- Templates Coco and Polar (rldpack only) are not supported yet.
- Re-export drivers from earlier builds to get correct wheel tread animation. A tread that is only painted on may still flicker.
- Native drivers in split-screen are not performance-optimized yet.
- Custom tracks: Battle is not built yet.
- The high-detail format is a preview and may still change.
This is a beta: expect rough edges. Report bugs here: https://github.com/LinksTech/CTR-Reload-Edition/issues
CTR Reload 0.0.5 Beta
CTR Reload 0.0.5 Beta is a native Windows version of Crash Team Racing (PS1, 1999) that loads custom tracks and custom characters. It contains no game data: you need your own NTSC-U disc image (SCUS-94426, .cue/.bin). Download ctr_native.exe and ReloadStudio.exe into one folder you can write to; the game asks for the disc image on the first start. README.txt explains the rest.
New in 0.0.5
- Custom characters with Reload Studio: build a driver from a PLY or OBJ model (OBJ with MTL and PNG/JPG/TGA/BMP textures), with your own portrait, mask (Aku Aku or Uka Uka), voice clips, and the kart wheels drawn or hidden. The model is fitted to Crash's size, repaired and reduced automatically; the preview shows it next to Crash and in the steering poses.
- NITRO-PIT: the MODE panel on the laps box, and Time Trial with its own best times.
- Reload Studio scales with the Windows display setting (100 %, 125 %, 150 %), shows what it reads from a model, and can cancel a long check or build.
- Fixes: concave quads are split correctly; a model with seams between its parts is fitted to the right size; the preview matches the game's rounding; more colors per character (128); large models say beforehand how long their reduction takes.
Good to know
- Characters go into the characters folder next to the game, tracks into tracks. The game reads both folders when it starts: after a new driver or track, restart the game.
- This is a beta: expect rough edges. Report bugs as GitHub issues: https://github.com/LinksTech/CTR-Reload-Edition/issues
CTR Reload Edition v0.0-beta0 (e8b5b39d3ed7)
first public build