mirror of
https://github.com/SK8-ENGINE/skate-3-rust-engine.git
synced 2026-10-26 19:47:44 +00:00
- The interim cue tables and their opt-outs are gone; the native runtime is the only audio path. Old
settings/audio.json files still load ("interim" / "native" ignored). Missing native data logs an error
instead of falling back.
- Water splash from retail's mechanism (SFXObj_OffBoard start / update): Skate_Collisions 1187 / 1197 once
per water stay, 1198 when the board is in water.
- The random interim riding bed is removed; riding collision and cloth sounds compared with the recomp
(doc 11). Native output otherwise byte-identical (13 scenarios + 5 sessions).
- Published tools under tools/ (one folder per tool with a README; the recomp ones labelled for use with the
research hooks), doc 14 and PR plan bucket L.
- Docs: doc 11 (retirement, bail density measured against the recomp, collision posts), doc 13 (usage guide).
Setup equivalence checks
Prove that a faster setup path produces exactly the same bytes as the code it replaces. Both were
written to verify setup speed-ups (see docs/hails-additions/08-setup-performance.md).
| Script | What it proves |
|---|---|
compare_streams.py |
A changed district stream loader (tools/vendor/university/.../skate3_streams.py) returns exactly what a reference copy returns: every asset's record, source path, offset, stored size and decoded bytes, per district and stream (Pres, Sim, Tex). Also times both. |
compare_refpack.py |
The native RefPack DLL (target/native/refpack.dll, built by scripts\Build.ps1) decodes exactly like the pure-Python decoder: every entry of createacharacter.big and marquee.big, and with --streams every extracted district stream asset. |
Inputs
- Your extracted disc:
--disc DIR(the folder holdingdata/), default$SKATE3_DISCor.local/skate3-disc. - Extracted districts under
--work(default.local/collision), made bytools/collision-inspect/map_collision.pyorscan_surfaceless.py. - For
compare_streams.py, a reference copy of the loader:git show <commit>:tools/vendor/university/tools/vanilla_map_extraction/tools/skate3_streams.py > .local/ref.py
Usage
py -3.13 tools/setup-equivalence/compare_streams.py .local/ref.py MegaPark StartPark
py -3.13 tools/setup-equivalence/compare_refpack.py --streams
Both exit 1 on any difference.
Example output
(made-up timings)
MegaPark Pres assets 812 old 1.90s new 0.85s IDENTICAL
MegaPark Sim assets 405 old 0.70s new 0.31s IDENTICAL
TOTAL old 2.6s new 1.2s
Requirements
Python 3.13 (standard library); the repository's setup modules (tools/asset_pipeline,
tools/owned_game, the vendored map tools). compare_refpack.py needs the DLL from scripts\Build.ps1.