diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-22 01:53:24 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-22 01:53:24 +0800 |
| commit | 37953a4b58dfc5f3b8aedf10ad6f1474c2960767 (patch) | |
| tree | 96b1d86ce3cfe33d8d9493ba7a68575f54c4f4b8 /src/LivingVillage.Desktop/Game.fs | |
| parent | a67e9262caca67f1078f77ed2f274a46e284c6c8 (diff) | |
| download | living-village-37953a4b58dfc5f3b8aedf10ad6f1474c2960767.tar.gz | |
feat(desktop): P18 黄昏暖色真实渲染(加性暖色 veil + 双窗口光照 + 时段标签对齐)
Diffstat (limited to 'src/LivingVillage.Desktop/Game.fs')
| -rw-r--r-- | src/LivingVillage.Desktop/Game.fs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/LivingVillage.Desktop/Game.fs b/src/LivingVillage.Desktop/Game.fs index 765cea8..e48888e 100644 --- a/src/LivingVillage.Desktop/Game.fs +++ b/src/LivingVillage.Desktop/Game.fs @@ -893,6 +893,14 @@ type LivingVillageGame() as this = VillageArt.drawGroundShadow spriteBatch pixel camera npc.Pos let spec = VillageArt.npcSpriteSpecAtTarget npc.Id npc.Pos npc.Mind.Target world.Tick VillageArt.drawCharacter spriteBatch artTextures camera npc.Pos spec profile.WorldTint + + // Golden-hour wash: the multiplicative WorldTint can only darken, so a warm + // premultiplied veil is layered over the whole scene. Because rgb is premultiplied + // by its own low alpha it adds warm light without ever saturating to white; alpha + // is a pure tick function, so noon/midnight get none and dawn/dusk peak warm. + let veilAlpha = M6Presentation.goldenVeilAlpha world.Tick + if veilAlpha > 0 then + spriteBatch.Draw(pixel, Rectangle(0, 0, viewport.Width, viewport.Height), VillageArt.premultiply 255 150 70 veilAlpha) spriteBatch.End() // Contextual floating prompt over the unique target; same CJK atlas font path as the HUD. |
