refactor(world): own live environment state

Move the DAT sky, selected day group, world clock, weather, AdminEnvirons bridge, and debug cycles into a one-shot WorldEnvironmentController while preserving GameWindow's public aliases and accepted startup/session/render order. Correct the named retail citations and register the remaining environment audio and fog/radar gaps.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-22 10:54:33 +02:00
parent 557eb7ef6b
commit d09e246d3a
19 changed files with 606 additions and 368 deletions

View file

@ -157,7 +157,7 @@ public sealed class WeatherSystem
/// <summary>
/// Drive the weather kind from the active retail DayGroup name
/// (see <c>SkyDesc::PickCurrentDayGroup</c> port at
/// (see <c>SkyDesc::CalcPresentDayGroup @ 0x00500E10</c> port at
/// <c>LoadedSkyDesc.SelectDayGroupIndex</c>). Retail has ONE source
/// of truth for weather — the DayGroup roll — so this replaces the
/// internal <see cref="RollKind"/> hash once the real DayGroup picker