mirror of
https://github.com/SK8-ENGINE/skate-3-rust-engine.git
synced 2026-10-26 19:47:44 +00:00
- 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).
1.2 KiB
1.2 KiB
Agent guide: physics/graphics mods (API 2)
Use this when asked to make a mod. Deliver a validated package under mods/ (folder or .zip).
Do not invent vehicle/wheel/suspension host APIs — assemble those in Lua from primitives.
Read first
docs/physics-graphics-sdk.md— layer philosophy and deferred worksdk/skate.lua— annotationssdk/examples/physics-sandbox/— reference mod- Host:
crates/skate-game/src/modding/, runtimecrates/skate-mods/, dynamicscrates/skate-dynamics/
Workflow
cargo run --locked -p skate-mods --example check_mod -- sdk/examples/your-mod
# copy/symlink into mods/
Manifest must use "api": 2. Return a callback table from the entry Lua file. Optional "enabled_by_default": false keeps a dev / test mod off until the player enables it (or SKATE3_MODS_ENABLE=<id>[,<id>] for one run); a saved preference always wins.
Building blocks
Physics bodies (box/sphere/capsule/convex/mesh from named GLB objects), extra
add_collider hulls, forces/joints(+motors)/sensors, graphics meshes/overlays,
player attach/detach, camera follow/set, sdk.assets.objects, sdk.input.pad,
settings/log/timers. No sdk.vehicle.