mirror of
https://github.com/SK8-ENGINE/skate-3-rust-engine.git
synced 2026-10-26 19:47:44 +00:00
Water and ocean shaders need assets/private/ocean-pca.json, which setup never created, so 52 water/ocean materials rendered static (or black). - skate_data::xex: XEX2 unpacker (retail AES file key + CBC payload, LZX or basic decompression), no new dependencies - skate_data::ocean_pca: locates cPCAWaterAnimationData's table in any build by its code addressing (disc build: 0x82FC3978; TU3: 0x830118D8) - skate3rust --extract-ocean-pca <default.xex> <out.json> - Setup environment group runs it (optional content); refreshes that group In-play check of the rendered water still pending. See docs/hails-additions/09-water.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 |
| 9 | Water | Game physics (Rust), diagnostics | Water flag wired up (DownTown, University); awaiting in-play test |
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.