acdream/tests/AcDream.App.Tests
Erik fb288ad852 fix(D.5.2): effect tint = per-pixel tile copy (surface ReplaceColor overload)
Visual verification (Coldeve, Energy Crystal) showed acdream's Magical blue as a
flat tint vs retail's gradient. Root cause: RenderIcons calls the SURFACE overload
of SurfaceWindow::ReplaceColor (0x004415b0), which copies the textured effect tile
pixel-by-pixel into the icon's pure-white pixels — not the flat color->color overload
(0x00441530) I'd approximated with the tile's mean color. Port the surface overload
exactly (dst[x,y]=src[x,y] where dst==white); confirmed via clean Ghidra decompile +
named decomp. Retires AP-43 (mean-color approximation); IA-18 updated to the surface op.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 10:21:33 +02:00
..
Plugins feat(D.2b): IUiRegistry plugin UI surface + buffered drain into UiHost 2026-06-14 17:46:37 +02:00
Rendering test(#95): headless dungeon-flood diagnostic — measure visible-cell count on 0x0007 2026-06-13 18:52:00 +02:00
UI fix(D.5.2): effect tint = per-pixel tile copy (surface ReplaceColor overload) 2026-06-18 10:21:33 +02:00
World refactor(G.3a): Place flips Idle before delegate; test mid-hold reset (#133) 2026-06-13 17:11:40 +02:00
AcDream.App.Tests.csproj test(D.2b): vitals importer conformance — golden fixture + tree/slice/chrome checks 2026-06-15 14:29:30 +02:00
RuntimeOptionsRetailUiTests.cs feat(D.2b): flip vitals to the LayoutDesc importer; retire hand-authored vitals.xml 2026-06-15 16:30:24 +02:00
RuntimeOptionsTests.cs chore(render): Phase A8.F — strip ACDREAM_A8_DIAG_* step-disable flags (keep PROBE_VIS) 2026-05-29 11:25:00 +02:00