mirror of
https://github.com/SK8-ENGINE/skate-3-rust-engine.git
synced 2026-10-26 19:47:44 +00:00
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.