Improve small-terrain placement and show startup failure causes; record Workshop 0.0.120
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -124,8 +124,32 @@ candidate still passes terrain, navigation, slope and aircraft-clearance checks;
|
||||
a missing airport does not allow an unsafe spawn. Searches have finite time and
|
||||
attempt budgets and never fall back to coordinates from another map.
|
||||
|
||||
Terrain-generated placement allows up to 48,000 candidates or 120 seconds per
|
||||
site, whichever comes first, keeping the existing cooperative 8 ms work slices.
|
||||
Airport-only extraction searches broaden after 12,000 candidates or 30 seconds
|
||||
without resetting that total budget. The fallback surveys the terrain for a
|
||||
helicopter landing zone and retains the normal primary/secondary aircraft
|
||||
clearance and navigation checks.
|
||||
|
||||
On terrain-generated maps, prison-to-airport separation is 15% of the shorter
|
||||
world axis, clamped to 200–1,500 m (300 m on a 2 km map). This changes tactical
|
||||
spacing, not the physical footprint or slope allowance. Original authored Everon
|
||||
placement retains its 1,500 m airport buffer and existing search/fallback rules.
|
||||
Maps without sufficient clear ground or a working Soldiers navigation mesh can
|
||||
still fail preparation. See [placement validation](evidence/small-terrain-placement-2026-10-24/README.md).
|
||||
|
||||
Search diagnostics use the `Reintroduced [placement search]` log prefix. Each
|
||||
summary identifies the site, attempts and elapsed milliseconds, with counts for
|
||||
failed or deferred checks: water, uneven ground, obstacles, road/airport distance,
|
||||
site spacing, navigation and aircraft clearance. Summaries appear on completion,
|
||||
exhaustion and airport fallback, plus every 30 seconds during a long search.
|
||||
Counts describe checks rather than unique candidates: a candidate awaiting a
|
||||
navigation tile can be checked repeatedly. Mandatory placement failures also
|
||||
include the site and rejection summary directly on the loading screen, so no
|
||||
chat command is needed. The same detail remains available in mission status.
|
||||
|
||||
The selected scenario must supply `SCR_BaseGameMode`, a usable `Soldiers` navmesh,
|
||||
world bounds spanning 2–100 km on both axes, and enough clear navigable ground.
|
||||
world bounds spanning 1–100 km on both axes, and enough clear navigable ground.
|
||||
Navigation remains the terrain author's responsibility. A plain exploration
|
||||
scenario is the recommended starting point. Arbitrary scripted scenarios can
|
||||
retain their own tasks and entities; saved campaigns and every third-party game
|
||||
|
||||
Reference in New Issue
Block a user