ReRAC Mods & Asset Export
What works today in ReRAC (v0.3.9-alpha) for asset extraction (PNG, WAV, glTF, JSON) and RC_* debug switches, plus how the planned Stage 3 composable mod loader works.
- 60,000-file PNG/WAV/glTF exporter
- 35+ RC_* runtime switches
- F3 / F4 / F8 debug HUD
- Stage 3 mod.toml VFS design

Current status of ReRAC mods
Players searching for ReRAC mods should know the exact two-part picture documented in docs/plan/mods.md and the ReRAC website:
- Full mod loader (Stage 3 roadmap): Dedicated mod installation (
mod.tomlpackages, ordered mod profiles in ReRAC Launcher, keyed JSON gameplay patches, and sandboxed scripting) is designed as Stage 3 of the project once the base 2002 campaign reaches full 1.0 parity across Windows, Linux and macOS. - Available right now in v0.3.1-alpha & v0.3.9-alpha: Complete Tier 2 asset extraction (exporting every texture, WAV sound/track, glTF 3D model, collision mesh and JSON entity table from your disc in ~10 seconds), plus 35+
RC_*runtime and debug environment switches and open Rust source code for custom forks.
Exporting PNG, WAV, glTF & JSON assets today
In ReRAC Launcher, click the ⋯ button beside Play and select Export assets… (or run rerac-extract export --out <data_dir> --to <export_dir> --what all). Exporting the entire SCUS-97199 disc produces roughly 60,000 files (~3.5 GB) in about 10 seconds on an SSD without modifying games/rac1/data/:
| Exported Relative Path | File Format | Contents & Modding Metadata |
|---|---|---|
textures/levels/NN/<table>/<key>.png | Indexed or RGBA PNG + CLUT/TEX0 sidecar | Level terrain (tfrag), props (tie/shrub), mobys and HUD sprites. Preserves PS2 CSM1 palette & mip metadata. |
audio/levels/NN/sound_bank/NNN.wav | Standard PCM WAV + sound_bank.json | Weapon, gadget, footstep and enemy sound effects with sample rate and loop points. |
audio/levels/NN/{music,speech}/*.wav | Standard PCM WAV + music.json | Planet soundtrack stems and cutscene/help-desk voice streams. |
models/levels/NN/mobys/CCCC.gltf | glTF 2.0 (.gltf) | Animated character, enemy, weapon and gadget meshes with joint palettes and sequence extras. |
levels/NN/level.gltf & collision.gltf | glTF 2.0 (.gltf) | Full planet tfrag/tie/shrub geometry (with _PS2_* vertex attributes) and 4-unit surface collision mesh. |
levels/NN/*.json & text/**/<lang>.json | Structured JSON | Placed moby instances, pvars, splines/paths, camera volumes, item tables, and localized strings across 5 languages. |
You can also export a single planet quickly from the CLI with rerac-extract export --out games/rac1/data --to ./novalis-dump --what models,textures --level 01, then open level.gltf or mobys/*.gltf directly in Blender.
How the Stage 3 ReRAC mod architecture works (vs OpenGOAL)
ReRAC’s design document compares OpenGOAL’s whole-repository fork model (where two gameplay mods cannot be combined) against a layered virtual file system (rc-data) designed so multiple ReRAC mods compose cleanly:
- Stage 3a – Asset override profiles (
mod.toml): A mod ships replacement PNGs, WAVs or glTF meshes at the exact same relative path produced byExport assets…(for exampletextures/levels/01/tfrag/0123.png). Enabling or reordering mods in the launcher bakes a per-profile Tier 1 overlay cache in seconds without touching your clean disc cache or requiring your ISO again. - Stage 3b – Keyed JSON data patches: Instead of replacing whole level binaries (which breaks when two mods touch the same planet), mods patch moby instances, pvars, vendor prices or dialogue strings by
uid/ messageid, allowing the launcher to merge non-overlapping edits and report exact conflicts. - Stage 3c – Sandboxed Luau scripting (
rc-mods): The upstream architecture favors Luau (via Rust’smluacrate) running deterministically inside the 60 Hz gameplay tick with hooks intomoby_updateclasses, item definitions, spawn rules and HUD strings, plus per-profile save isolation.
Developer & runtime environment switches (RC_*)
Both prebuilt rerac binaries and cargo dev honor environment variables for level select, item grants, camera placement and live moby inspection:
| Environment Variable | Effect in ReRAC |
|---|---|
RC_LEVEL=<0..18> | Boot straight into planet index NN (for example RC_LEVEL=13 for Gemlik Base), skipping the front-end menu unless RC_FRONTEND=1. |
RC_HERO_AT=x,y,z[,yaw] | Spawn Ratchet at exact world coordinates on level load for testing jumps, rails or boss arenas. |
RC_GIVE_ITEMS=2,12,29 | Grant specific item/gadget IDs at startup (e.g. 2 Heli-Pack, 3 Thruster-Pack, 4 Hydro-Pack, 12 Swingshot, 28 Magneboots, 29 Grindboots). |
RC_GIVE_BOLTS=50000 / RC_GIVE_GOLD_BOLTS=40 | Start with custom bolt or Gold Bolt counts to test Gadgetron vendors and Novalis gold weapon rooms. |
RC_COMPLETES=1 | Boot directly with Challenge Mode completion count set (enables the Novalis gold-weapon teleporter pad and gold offers; added in PR #54). |
RC_DEBUG_HUD=1 | Enable the live inspect overlay: F3 toggles visibility, F4 cycles Player / Mobys / Sound pages, and F8 copies a full RC_LEVEL=... repro command to your clipboard. |
RC_ASPECT=fill / RC_RESOLUTION=2160 | Override Port Options aspect ratio (4:3, 16:10, 16:9, fill) or internal vertical resolution from the command line. |
RC_LOD_TINT=1 / RC_FOG=0 / RC_SEA=0 | Diagnostic shader toggles to inspect tfrag LOD transitions, disable distance fog, or hide liquid draw callbacks. |
Recommended PC controllers
ReRAC maps PlayStation 2 face buttons, bumpers, triggers and twin analog sticks by physical position across connected gamepads, with multi-controller detection and Linux 8BitDo mapping fixes in v0.3.8-alpha:
| Controller | Best For in ReRAC | Hardware Advantage | Link |
|---|---|---|---|
| Sony DualSense | Authentic PlayStation button layout | Symmetrical twin sticks matching DualShock 2 muscle memory + crisp D-pad | View on Amazon |
| 8BitDo Ultimate 2 Wireless | Linux, SteamOS & Windows desktop | Zero-drift TMR sticks, charging dock, verified Linux button mapping in v0.3.8-alpha | View on Amazon |
| GameSir Cyclone 2 | Precision 3D platforming & strafing | TMR sticks, hair-trigger locks for L2/R2 Thruster-Pack strafing, 1000 Hz wireless | View on Amazon |
| Xbox Wireless Controller | Plug-and-play Windows 10/11 | Native Windows XInput standard with positional face-button mapping | View on Amazon |
As an Amazon Associate, this site earns from qualifying purchases.



Common questions
Does editing files in games/rac1/data/exports/ change the game?
No. As noted in ReRAC Launcher, Export assets… is currently a one-way export for inspection, Blender rendering, audio listening, and preparing future asset packs. The runtime only reads games/rac1/data/ and cache/v1/ until Stage 3a VFS overrides ship.
Can I edit WGSL shaders or Rust gameplay code today?
Yes. Because re-rac/rerac is open-source under the ISC License and loads assets/shaders/*.wgsl from its version directory, developers can modify shaders or clone the repository, edit crates/rc-game, and register their build folder in ReRAC Launcher via Version Management → Development → Add build folder….
Can OpenRAC / Wrench level mods load directly in ReRAC?
Not directly. OpenRAC/OpenRAC targets the PAL PS2 release (SCES-50916) with a C decompilation workflow, whereas ReRAC is a native Rust/Bevy engine reading NTSC-U (SCUS-97199) data. Compare both architectures on PS2 & PS3 PC Ports.