528bbf247010220b57f5b6d91a155005eb9bf6f8
Switch from double-DIP (which corrupted WoW's GxDevice state) to cached replay in EndScene. Cache draw params + GPU state (VB, IB, vertex decl, VS, 256 VS constant registers) during the DIP hook, replay to silhouette RT in EndScene before the JFA pipeline. Remove D3D9 state blocks entirely — use comprehensive manual save/restore of all modified state (render states, sampler states, shader constants, COM objects with proper AddRef/Release). Disable depth testing for all silhouette replay categories. By EndScene the depth buffer has the full scene, so LESSEQUAL testing creates holes in the silhouette wherever other models overlap — breaking the JFA outline for targets and raid marks. Corpses already used ZENABLE=FALSE. Add per-frame diagnostic counters (scan/classify counts by category) logged via OutputDebugStringA for the first 20 active frames. Clean up unused code: comAddRef, deviceCreateStateBlock, stateBlockApply.
Releases
1
WeirdUtils 0.7.3
Latest
Languages
Lua
61.7%
Zig
26.6%
C
8.6%
Macaulay2
2.8%
Python
0.3%