Files
skate-3-rust-engine/docs/remount-collision-group.md
T

1.9 KiB

Riding collision group restoration

Original behavior

Reference: Skate 3 TU3 image default_82000000_011B0000.bin, base 0x82000000, SHA-256 f4aa113eb541bfba03dbc108cf5ab43f58c965b20fa3b82f9c40938a0ad841c4.

Observed in the generated PPC source: Ground entry 0x82D37538 calls SetStandard 0x82C03AF8, which calls 0x82C091F8 (standard deck angular drag), 0x82C090C0 (standard collision groups/materials), and 0x82C06ED8 (volume enable flags). In 0x82C090C0, li r8,4 supplies the value written to assembly+24 and each 96-byte part's +92 collision group.

The imported Ground entry already restored deck drag, but omitted the group assignment. Offboard board release assigns group 7. Riding skeleton mode 6 restores rider parts to group 5. The single-player table from 0x82765EF0 culls group 4 against 5, but allows group 7 against 5. Consequently a remount could leave riding enabled while retaining board/rider self-collisions.

Evidence and interpretation

User reported the persistent skating fault begins after getting back on the board. Capture logs/game-20260908-024133.stderr.log contains nonzero deck split-position/orientation contact reactions (for example solver tick 2178), while the animation hook impulse is zero and the offboard hand drives are no longer present. The preceding 023133 capture shows continued roll and three-wheel contact despite neutral steering. These observations support unwanted board/rider contacts as the cause; the captures did not directly record the board collision-group value.

Ground entry now restores group 4 at the native SetStandard point. This is a missing source assignment, not a friction, steering, or balance adjustment. The source-level omission is confirmed; symptom resolution awaits the user's remount gameplay check. Compilation passed with cargo build -p skate-game --locked; no automated tests or gameplay tests were run.