mirror of
https://github.com/SK8-ENGINE/skate-3-rust-engine.git
synced 2026-10-26 19:47:44 +00:00
Retail collision includes clustered meshes in which no unit carries a surface ID (unit flag 0x80 unset). Across every shipped district these are only 12-triangle boxes: zone, trigger and level-bounds volumes. The loader made them solid, creating invisible walls (SkateSchool spawn area, DownTown's Kube Tower plaza, MegaPark's stadium entrance, Maloof). Authored player positions lie inside some of them, so they are not solid in the original game. visit_clusters now decodes and validates each mesh fully and skips it when no unit has a surface ID. Meshes mixing surfaced and surfaceless units are ordinary geometry and stay whole. RetailTriangle records has_surface. Collision triangles loaded: SkateSchool -84, DownTown -24, Maloof -24, MegaPark -12, all other maps unchanged. Confirmed in play. See docs/hails-additions/05-collision-volumes.md.
Hails' additions
Changes made in the Hailey-Ross fork of SK8-ENGINE/skate-3-rust-engine, documented so upstream maintainers have the full context when reviewing a pull request: what broke, why, what changed, how it was verified, and what is still open.
Each document stands alone. File paths are relative to the repository root.
| # | Change | Area | Status |
|---|---|---|---|
| 1 | ISO extraction argument order | Setup (Python) | Done, verified with a real ISO |
| 2 | Windows long paths during setup | Setup (Python) | Done; UAC path not exercised end to end |
| 3 | SDL3 gamepad input | Game (Rust), build scripts, vendored sdl3-sys |
Done, verified in play with an Xbox Elite Series 2 |
| 4 | Authored map spawns | Asset pipeline (Python) | Done, all 10 maps confirmed in play |
| 5 | Invisible collision volumes | Game data loader (Rust) | Done, all four affected maps confirmed in play |
Environment used for verification
- Windows 11, Intel i7-14700KF, NVIDIA RTX 4080 SUPER (Vulkan).
- Rust 1.98.1 (MSVC), Visual Studio 2026 C++ tools, Windows SDK 10.0.26100, LLVM 23.1.2, Python 3.13.15.
- Skate 3 Xbox 360 disc image (103 files, 6,404,940,920 bytes).
- Xbox Elite Series 2 controller over Bluetooth LE.
Conventions
- Upstream behaviour is preserved unless a document says otherwise; where a behaviour changes on purpose (for example, a map's default spawn), the document lists the old and new values.
- Project choices that are not dictated by retail data are called out as such, so maintainers can overrule them.