Files
skate-3-rust-engine/tools
Hails 7f120de0b8 Audio: world / NPC sources complete, ped speech, specs published
- Ped speech plays: speech manager -> library -> the living world's two streams, with queue / interrupts and the
  near / far lines by distance; levels and filters from the retail mechanism (filters equal to the recomp's, gain
  median within 0.5 %). Silent and logged when the opt-in speech decode is absent.
- NPC skater: wheels and clothing on its own instance and a bail grunt; tricks, treatment and footsteps stay off for
  NPCs as in retail.
- Per-model ped data (shoe class, voice, far threshold) and traffic engine records per model exported by setup;
  traffic relative-speed input and front / rear sound points; world hosts process before the mixer tick.
- Test mod: opt-in (off by default), higher world-object limits (48 per mod, 128 total), a per-second summary log.
- Specs published in docs/hails-additions/audio-specs/; code comments point at them; test data paths behind env vars
  (no .local defaults).
2026-10-03 18:34:48 -06:00
..

Tools

The top-level scripts here are the repository's own tooling: setup and asset preparation (setup.py, prepare_assets.py, asset_pipeline/, owned_game/), the updater, release and build helpers, and their tests. They are documented where they are used (the main README and the scripts' own help).

The folders below are standalone helper tools for development and research. Each has a README.md with what it does, its inputs, usage, example output and requirements. They read your own copy of the game; none of them contain game code or data. Default work folders are under .local/ (gitignored).

Folder What it is for
regression-checks/ Map validation and collision counts, baked spawns, customiser outputs against your own baselines; a muted crash smoke test per map.
setup-equivalence/ Prove a faster setup path gives identical bytes (district stream loader, native RefPack DLL).
collision-inspect/ Extract a district's collision for analysis: triangles, surfaces at a point, surface ids and flags, surfaceless meshes.
world-stream-inspect/ List / extract .big archives; survey the RW4 arenas of the district simulation streams; dump named trigger volumes.
audio-file-inspect/ Readers for the audio formats: ABKC banks and MOIR projects, SPLC banks, .ems emitter files, .grain data; decode bank samples.
vault-inspect/ Look up fields in the attribute database (converted skater collections) and class layouts in the schema.
audio-e2e/ Scripted scenarios for the headless audio render and analysis of the renders (diffs, levels, voices, bus share).
audio-bench/ Audio performance: hashed e2e bench runs, timing summaries, emitter bank memory.
recomp-trace/ For use with the Skate 3 recomp's research hooks (research-hooks branch): read and analyse trace sessions. Reference only; you build the recomp and set up the paths yourself.
recomp-code-search/ For use with the Skate 3 recomp's research hooks (research-hooks branch): search the recompiled sources and the memory image. Reference only; you build the recomp and set up the paths yourself.

See docs/hails-additions/14-published-tools.md for the background.