Commit Graph
301 Commits
Author SHA1 Message Date
Hails dec7adeeec Collision: skip meshes with no surface IDs (zone/trigger volumes)
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.
2026-09-30 22:27:38 -06:00
Hails f00b329e68 Docs: authored map spawns confirmed in play
All 10 authored starts tested in game. Notes that SkateSchool's start sat inside an invisible collision volume, fixed separately (doc 05).
2026-09-30 22:27:30 -06:00
Hails 167605a4f6 gitignore: local Claude Code workspace (.claude/) 2026-09-30 19:27:03 -06:00
Hails c2be42b2c9 Docs: index of fork changes in docs/hails-additions
Context for upstream review: one document per change with root cause, evidence, verification and open questions.
2026-09-30 19:27:02 -06:00
Hails b495ed696f Asset pipeline: bake authored map spawns and headings
Every map's startup position and default landing zone is its baked
spawn. The old rule (upward triangle nearest the origin) put the skater
over the void on MegaPark and on the roof of Industrial Skate Park and
StartPark, because park origins sit at a corner and retail floors are
sometimes wound downward.

New map_starts.py resolves each district's start from retail data: the
world row's start locator (parks), a chosen fe_locations row for
districts with several (University career start, Industrial Haystings
Park, DownTown Rosalita Skate Park, Maloof street), or the district's
only fe_locations row. Position and heading come from the district's
global_locators records; the heading is now written into the .skate
header. Districts without an authored start fall back to geometry:
compact parks use the new ground_spawn search, city-sized districts keep
the original rule (ground_spawn put Industrial under the streets).

See docs/hails-additions/04-map-spawns.md.
2026-09-30 19:26:57 -06:00
Hails 3d485c8dfa Input: SDL3 gamepad backend with XInput fallback
Implements issue #14. A dedicated thread owns SDL3 (3.4.16, statically
linked via sdl3 =0.20.0) and publishes per-slot snapshots re-expressed as
the XInput-shaped XboxState, so the TU3 conversion in skate-core is
unchanged. Conversions are exact for XInput-backed pads (stick Y via
bitwise NOT, trigger round-to-nearest). SKATE3_INPUT=xinput selects the
original transport, which is also the fallback if SDL fails to start.
Optional settings/controller.json maps paddles to XInput buttons.

Build: scripts/Ensure-CMake.ps1 locates CMake (PATH or Visual Studio's
copy) for the SDL source build. sdl3-sys is vendored with a build.rs
patch setting CMAKE_MSVC_RUNTIME_LIBRARY from crt-static, because SDL's
CMake (policy CMP0091) ignores cmake-rs' -MT and the static-CRT release
build failed with unresolved __imp_* symbols.

See docs/hails-additions/03-sdl3-gamepad-input.md and vendor/README.md.
2026-09-30 19:26:50 -06:00
Hails 0a88f7a94e Setup: enable Windows long paths and relaunch when needed
Roster work paths under deep checkouts exceed MAX_PATH (260), leaving
pro skaters unavailable. If LongPathsEnabled is off, setup asks once for
elevation to enable it and relaunches itself, since Windows reads the
setting at process start. Declining keeps the previous behaviour.

See docs/hails-additions/02-long-paths.md.
2026-09-30 19:26:28 -06:00
Hails ea549ab042 Setup: pass extract-xiso options before the image path
extract-xiso stops parsing options at the first image path, so
`-x <iso> -d <dir>` extracted into the working directory and then failed
on "-d" as a second image (exit 1 -> "Conversion failed"). Use
`-x -d <dir> <iso>` in both call sites.

See docs/hails-additions/01-iso-extraction.md.
2026-09-30 19:26:12 -06:00
Ethanw05 60efdef866 Bundle only Skyline in the installed mods and fresh releases skyline-driving-update 2026-09-29 20:25:49 -06:00
Ethanw05 dfd3e543c0 Add generic mesh and collider deformation with custom difficulty controls 2026-09-29 20:19:36 -06:00
Ethanw05 ddc30284b4 Generalize mod APIs, improve multiplayer and optimize mod rendering
Add generalized engine access and challenge mods, repair SKATE turn handling, and improve collision prediction and physics transitions. Reduce mod snapshot and material update overhead, preserve authored GLB materials with lighting and shadows, and improve CPU profiling.
2026-09-14 04:02:20 -06:00
Ethanw05 84142e78dc Extend modding API and menus; fix scoring, gestures, and bail controls 2026-09-13 19:37:45 -06:00
Ethanw05andCursor c87373dd6a Fix wipeout bail teleport NaN physics abort.
Reset biped controller on checkpoint teleport and fall back to identity when skeleton root orthonormalization sees a degenerate axis, preventing poisoned COM frames and deck torque before the shared solve.

Co-authored-by: Cursor <[email protected]>
2026-09-12 20:16:39 -06:00
Ethanw05andCursor e2b85b6489 Fix remote player irradiance and retail renderer updates.
Apply probe SH to online customiser characters after remote bind, restore received sun shadows, and ship Skyline driving, fullscreen, and renderer improvements on the branch.

Co-authored-by: Cursor <[email protected]>
2026-09-12 20:05:27 -06:00
Ethanw05andCursor 4a58b0b676 Fix Skyline car replication after multiplayer connect.
Respawn the chassis when a session starts so solid-bridge replication publishes a fresh body, and show local publish counts in replication status.

Co-authored-by: Cursor <[email protected]>
2026-09-12 01:47:34 -06:00
Ethanw05andCursor 9eaabf198e Fix updater branch status messages and Skyline remote VFX init.
Branch channel now reports already-current and missing-release cases clearly instead of a generic 404 error, and remote smoke/skids initialize without requiring local F10 spawn.

Co-authored-by: Cursor <[email protected]>
2026-09-12 01:30:05 -06:00
Ethanw05andCursor 3dd61acc62 Fix branch updater 401 by publishing public branch releases.
CI artifacts require GitHub auth, so skyline-driving-update now publishes downloadable release assets and the updater prefers those over Actions artifacts.

Co-authored-by: Cursor <[email protected]>
2026-09-12 00:48:04 -06:00
Ethanw05andCursor ec09165491 Add dynamic VFX mesh buffers, Skyline drift effects, and branch updater.
Expose append-only mesh buffers for mod skid/smoke rendering, sync rear-wheel VFX over multiplayer, rebuild Skyline audio assets, and let the updater install from any CI branch.

Co-authored-by: Cursor <[email protected]>
2026-09-12 00:40:57 -06:00
Ethanw05andCursor a0ff38c685 Track Skyline mod models and tighten gitignore exclusions.
Un-ignore bundled Skyline GLBs, ignore local docs and the BUILD-RELEASE.bat wrapper while keeping scripts/Build-Release.ps1 in tree.

Co-authored-by: Cursor <[email protected]>
2026-09-11 12:27:36 -06:00
Ethanw05andCursor 821f523bb8 Fix MP air launch NaNs, solid modding, and Windows release packaging.
Sanitize non-finite SIMD lanes in offboard air selection, add solid dynamics and mod replication APIs, improve setup refresh without re-extracting assets, and harden Build-Release.ps1 for older PowerShell hosts.

Co-authored-by: Cursor <[email protected]>
2026-09-11 12:24:42 -06:00
Ethanw05 1399555ef2 Add Lua audio, dynamic vehicle cameras, dashboard, and Skyline updates 2026-09-11 04:41:47 -06:00
chazmm cb7968930f Rebuild raw asset caches cleanly during installation refresh 2026-09-10 03:42:03 +01:00
chazmm 4d5f70cb5e Accept original clothing colour resets in outfit validation 2026-09-10 03:27:06 +01:00
chazmm 5badc2d9f4 Remove fixed model transfer rate caps and stale queue drops 2026-09-10 03:10:15 +01:00
chazmm e23f7ba562 Normalize Windows path aliases when recording setup outputs 2026-09-10 02:45:27 +01:00
chazmm ea7b9a8218 Keep setup playable when optional disc content is missing 2026-09-10 02:36:05 +01:00
chazmm 5ac038df5d Handle missing optional character assets and shorten HUD extraction paths 2026-09-10 02:18:49 +01:00
chazmm 31617454c0 Merge default.xex refresh and verified character preparation caching 2026-09-10 01:35:26 +01:00
chazmm 128b40d1e8 Fix default.xex refresh flow and cache verified character preparation stages 2026-09-10 01:24:11 +01:00
chazmm c8219a54cd Merge opt-in tracing and University performance improvements
# Conflicts:
#	Cargo.lock
#	crates/skate-game/Cargo.toml
#	crates/skate-game/src/retail_character.rs
2026-09-09 22:25:54 +01:00
chazmm 6a0ac817e1 Document opt-in tracing and normal executable launch behavior 2026-09-09 22:24:33 +01:00
chazmm 6ed4c705da Record verified v10 shadow baseline build 2026-09-09 22:20:21 +01:00
chazmm 54b8f989ca Restore upstream shadow visibility after gameplay trace comparison 2026-09-09 22:18:45 +01:00
chazmm fd3a549971 Fix importer package verification for manifest-based updates 2026-09-09 21:59:53 +01:00
chazmm 71a5f8624f Record combined CPU follow-up build verification 2026-09-09 20:01:01 +01:00
chazmm 1c62e56fd6 Reduce material duplication, index static shadow casters and cache controller metadata 2026-09-09 19:59:49 +01:00
chazmm 2611f9ccc4 Merge gameplay crash fixes and native board adjustment 2026-09-09 19:25:48 +01:00
chazmm 10406cb25d Record Vulkan-tested v8 release verification 2026-09-09 19:24:44 +01:00
chazmm de37c6e167 Fix reproduced Vulkan shader crash and restore CPU material batching 2026-09-09 19:21:48 +01:00
chazmm b02ae97fde Isolate Windows test builds and verify dependency source provenance 2026-09-09 19:02:13 +01:00
chazmm 7bd0ba9435 Merge character transfer and stock material fixes 2026-09-09 18:56:46 +01:00
chazmm e008f9ec50 Verify stock hair materials retain authored shading after profile restoration 2026-09-09 18:51:31 +01:00
chazmm aeb641c52c Recognize pro skater hair materials instead of applying clothing highlights 2026-09-09 18:43:53 +01:00
chazmm 983771f99b Restore authored stock surface detail and specular masks after model swaps 2026-09-09 17:56:21 +01:00
chazmm eeddf0e9b9 Record recovery build verification 2026-09-09 17:51:49 +01:00
chazmm 0b89cb8f47 Restore original material path after v6 native crash 2026-09-09 17:50:09 +01:00
chazmm 46ae9834f8 Record bindless private release verification 2026-09-09 17:39:39 +01:00
chazmm e6a1dfe79c Enable Steam SDK configuration bindings for model upload bandwidth 2026-09-09 17:37:15 +01:00
chazmm f96be1dd10 Port complete native BoardAdjust lifecycle and angle wrap state 2026-09-09 17:37:03 +01:00
chazmm bea625f987 Batch retail material bindings to reduce CPU render commands 2026-09-09 17:35:40 +01:00