$$ $$ #176 floor triangles - retail light-setup trace (2026-07-06) $$ Q: does retail set up the DYNAMIC magenta portal light (intensity=100, $$ color 0.784,0,0.784) as a HARDWARE light applied to the corridor CELL? $$ If yes -> retail's cell floor IS lit by the portal via D3D hardware T&L, $$ so the per-vertex wedge pattern is retail-FAITHFUL, not an acdream bug. $$ $$ config_hardware_light(d3dIndex@[esp+4], _D3DLIGHT9* out@[esp+8], $$ ulong cellID@[esp+0xc], LIGHTINFO* info@[esp+0x10]) $$ d3dIdx 1-10 = DYNAMIC (viewer / teleport PORTAL); 11+ = STATIC (wall torch, baked) $$ Dumping the cellID lets us see WHICH cell the magenta portal is configured for. $$ .logopen C:\Users\erikn\source\repos\acdream\.claude\worktrees\vigorous-joliot-f0c3ad\retail-floor-light.log .sympath C:\Users\erikn\source\repos\acdream\refs .symopt+ 0x40 .reload /f acclient.exe r $t0 = 0 r $t1 = 0 $$ config_hardware_light - every hardware light setup, with its cell id + LIGHTINFO. bp acclient!PrimD3DRender::config_hardware_light "r $t0=@$t0+1; r $t1=@$t1+1; .printf /D \"[CHL] hit#%d d3dIdx=%d cell=%08x\\n\", @$t1, dwo(@esp+4), dwo(@esp+0xc); dt acclient!LIGHTINFO dwo(@esp+0x10) type intensity falloff color; .if (@$t0 >= 500) { qd } .else { gc }" .printf \"issue176-floor-light armed: config_hardware_light with cell id + LIGHTINFO. Stand in the corridor looking at the purple floor+walls. qd (auto-detach) after 500 hits.\\n\" g