From 47e2c151f44777820a3ba5ac8f5d2598a13310ae Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 27 Apr 2026 12:06:09 +0200 Subject: [PATCH] =?UTF-8?q?docs(issues):=20close=20#1=20(foreground=20rain?= =?UTF-8?q?)=20=E2=80=94=20commits=20d95a8d2=20+=204678b3e=20+=203e0da49?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rain bug from `docs/research/2026-04-26-sky-investigation-handoff.md` fully resolved this session. Three commits sequentially landed the retail-faithful path: 3e0da49 — sky pass split + -120m weather Z offset 4678b3e — Surface.Translucency + Luminosity plumbing d95a8d2 — delete legacy camera-attached particle emitter Visual verification by user: rain renders as volumetric foreground, direction matches retail when LCG-picked DayGroup matches retail's, no cylinder rim visible looking up. Two follow-up issues remain open from the visual-verify session: #27 — cloud rendering parity (Translucency=0.25 partial fix landed but cloud coverage still differs from retail, possibly keyframe-tint related) #28 — aurora/northern lights — research found NO evidence in retail decomp, references, or DG composition; either misremembered or emergent from cloud system at specific keyframes Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/ISSUES.md | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/docs/ISSUES.md b/docs/ISSUES.md index 1dad84c..bc39ced 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -177,26 +177,6 @@ missing is the plugin-API surface. --- -## #1 — Rain falls only to horizon, not to the player's feet - -**Status:** OPEN -**Severity:** MEDIUM -**Filed:** 2026-04-25 -**Component:** weather / particles - -**Description:** During Rainy DayGroups, rain particles are visible in the upper sky band but fade out before reaching the camera / ground level. Retail's rain falls all the way past the camera to the terrain. - -**Root cause / status:** Unknown. Likely one of: (a) particle emitter volume too short in Z, (b) particle lifetime shorter than the time it takes to traverse emitter-top → ground, (c) emitter anchored in world-space so particles escape the player's reference frame as they fall, (d) camera-relative spawn origin is offset too high above the player. - -**Files:** -- `src/AcDream.App/Rendering/GameWindow.cs` — `UpdateWeatherParticles` (~line 4591) -- `src/AcDream.Core/Vfx/ParticleSystem.cs` — emitter spawn config + lifetime integration - -**Research:** `docs/research/deepdives/r12-weather-daynight.md` (rain mechanism — but does not pin volume / lifetime values). - -**Acceptance:** Standing at 9,115 in Holtburg during a Rainy DayGroup, rain drops visibly fall all the way from the sky band past the camera to the ground level. - ---- ## #2 — Lightning visual not wired (dat-baked PES triggers) @@ -338,6 +318,14 @@ missing is the plugin-API surface. # Recently closed +## #1 — [DONE 2026-04-26] Rain falls only to horizon, not to the player's feet + +**Closed:** 2026-04-26 +**Commits:** `3e0da49` (sky pass split + retail -120m Z offset), `4678b3e` (Surface.Translucency + Luminosity correctness), `d95a8d2` (legacy emitter delete) +**Resolution:** Two-part fix. First, rain rendering was completely re-architected to match retail's `LScape::draw` pattern at `0x00506330` — sky pass before the landblock loop (`RenderSky`), weather pass after (`RenderWeather`). Weather meshes now overlay terrain instead of being painted over. Camera anchored inside the rain cylinder via the retail-correct -120m Z offset (constant `0xc2f00000` in `GameSky::UpdatePosition` at `0x00506dd0`). Second, the per-Surface `Translucency` float (rain = 0.5) and `Luminosity` float (rain = 0.1484) were both being ignored by the renderer; plumbed end-to-end so streaks contribute at retail-correct intensity instead of 6.7× too bright. Legacy camera-attached particle emitter (`UpdateWeatherParticles` + `BuildRainDesc` + `BuildSnowDesc`) deleted; world-space mesh is the only path now. Snow rides the same fix automatically. Filed alongside two follow-up issues from the visual-verify session: `#27` (cloud rendering parity), `#28` (aurora/northern lights). + +--- + ## #26 — [DONE 2026-04-26] Stars rendered as a square in one corner of the sky **Closed:** 2026-04-26