This website requires JavaScript.
a7fe79c668
minimapicons: replace quest available icon with pfQuest-derived grayscale version
MarcelineVQ
2026-03-24 17:01:40 -07:00
7b1f13b138
docs: update clickthrough and minimapicons descriptions, add Find Fish tracking, remove /tracking slash command
MarcelineVQ
2026-03-24 15:22:18 -07:00
80a7cdea3f
inflate: thread-local libdeflate with gnu ABI — 2.2x speedup, 100% coverage
MarcelineVQ
2026-03-24 14:57:28 -07:00
b612e6f953
inflate: fair timing comparison — 2.4x speedup confirmed
MarcelineVQ
2026-03-24 04:41:09 -07:00
21ac8df11e
inflate: research doc, saved-input fix for buffer modification bug
MarcelineVQ
2026-03-24 04:20:11 -07:00
2b11ae5cf1
inflate: logging reveals 100% zlib (type 0x02), standard 78 9C header
MarcelineVQ
2026-03-24 03:49:44 -07:00
59ef452f22
perf: libdeflate inflate timing hook — runs both, compares results
MarcelineVQ
2026-03-24 03:01:15 -07:00
fb27ff54a0
perf: vendor libdeflate for fast inflate replacement
MarcelineVQ
2026-03-24 02:27:51 -07:00
62bcf11d58
perf: performance module on by default, includes silicon patches
MarcelineVQ
2026-03-24 01:24:42 -07:00
3b48b500ec
perf: new 'performance' module — zero-overhead production SSE hooks
MarcelineVQ
2026-03-24 01:21:10 -07:00
2f0e8a8bc0
fix: particle color byte masking, add reference version
MarcelineVQ
2026-03-24 01:08:01 -07:00
112246e687
perf: make all verified optimizations permanent, remove A/B toggles
MarcelineVQ
2026-03-24 00:44:18 -07:00
3d872fdb1e
spritequad: recreation + analysis (disabled, no improvement)
MarcelineVQ
2026-03-24 00:36:37 -07:00
1046c0a4e3
particle: WIP setupParticleRendering recreation (disabled)
MarcelineVQ
2026-03-24 00:25:12 -07:00
a73b5273fd
research: Ghidra decompilation of SetupParticleRendering (326 lines)
MarcelineVQ
2026-03-23 22:50:49 -07:00
5373686bd4
particle: V4 vertex store, inline for unroll — ~42% total reduction
MarcelineVQ
2026-03-23 22:47:50 -07:00
379fcb62eb
particle: contiguous vertex writes, skip normals, stride logging
MarcelineVQ
2026-03-23 22:41:16 -07:00
0d994db4b3
particle: VBState all paths, cached setupRender, @mulAdd — ~25% speedup
MarcelineVQ
2026-03-23 22:29:12 -07:00
1dc1350645
particle: inline calcColor + mat*vec3, VBState caching — ~20% speedup
MarcelineVQ
2026-03-23 22:22:31 -07:00
574f96f661
particle: faithful RenderParticleSprites recreation, A/B verified
MarcelineVQ
2026-03-23 22:12:17 -07:00
d205693dbb
particle: Ghidra decompilations, particle_sse.zig scaffold, bench
MarcelineVQ
2026-03-23 21:56:57 -07:00
fec9ac9952
research: particle system SSE optimization analysis
MarcelineVQ
2026-03-23 21:23:19 -07:00
4b5fcd6fa6
perf: glyph cache A/B testing, fast hash, frustumCull rcpss+cvtss2si
MarcelineVQ
2026-03-23 21:15:15 -07:00
0576a06ef0
fix: Zig operator precedence bugs in silicon SSE functions
MarcelineVQ
2026-03-23 20:57:19 -07:00
035355b757
perf: FrustumCullBoundingBox SSE replacement, 1.6x speedup
MarcelineVQ
2026-03-23 20:46:28 -07:00
7819d6d914
perf: findInterpIdx dedup, processLinkedListCollision SSE, permanent t44
MarcelineVQ
2026-03-23 20:27:26 -07:00
b0b70a744e
dpslog: queued log writer, raid roster fix, shutdown hook, minimap icon fixes
MarcelineVQ
2026-03-20 15:03:04 -07:00
f70bffef45
dpslog: WotLK combat log file writer, null GUID handling, unique chat handlers
MarcelineVQ
2026-03-19 17:05:24 -07:00
7c64660c81
dpslog: damage shield spell ID, unique chat handlers
MarcelineVQ
2026-03-19 14:37:08 -07:00
89f9936fa4
dpslog: lazy resolution, aura caster tracking, creature names, crash fixes
MarcelineVQ
2026-03-19 13:55:48 -07:00
60ee3ae1d1
dpslog: fix handler table swaps not surviving relog
MarcelineVQ
2026-03-18 18:43:40 -07:00
34bb70dc8b
dpslog: single CombatLogGetCurrentEventInfo call per event
MarcelineVQ
2026-03-18 17:47:53 -07:00
d84f723539
dpslog: handler table swaps, CombatLogGetCurrentEventInfo, unit flags, boolean fix
MarcelineVQ
2026-03-18 16:55:27 -07:00
fc762ac200
dpslog: CLEU rename, DPSMate absorb pipeline, WSBT adapter, module version API
MarcelineVQ
2026-03-18 14:20:16 -07:00
86da3bcc03
dpslog: DPSMate CLEU adapter with per-combat A/B profiling
MarcelineVQ
2026-03-18 01:12:04 -07:00
d52d4bc661
docs: add DPSLog to DLL_README and release notes
MarcelineVQ
2026-03-18 00:16:57 -07:00
56f5c0405d
dpslog: WotLK CLEU parity — overkill, overheal, spell names, unit names, GetSpellInfo
MarcelineVQ
2026-03-18 00:08:42 -07:00
76f0691540
dpslog: fix DAMAGE_SPLIT aura offset (0x178->0x16C for client Spell.dbc), fix SPELL_EXTRA_ATTACKS count, DEFLECT note, EXHAUSTED note
MarcelineVQ
2026-03-17 16:02:39 -07:00
aadd467976
dpslog: SPELL_EXTRA_ATTACKS now includes count (EDX was the count all along, not unused)
MarcelineVQ
2026-03-17 15:18:21 -07:00
2ad6ed380e
dpslog addon: remove SWING_MISSED DEFLECT (melee can't deflect), add SPELL_MISSED DEFLECT (dead in vanilla server, kept for protocol completeness)
MarcelineVQ
2026-03-17 15:06:06 -07:00
7089ffa399
dpslog addon: variant-expanded tracker checklist (67 entries) — miss types, crit/glancing/crushing, env types, aura BUFF/DEBUFF, power types
MarcelineVQ
2026-03-17 15:01:51 -07:00
8bd82aeea7
dpslog: SPELL_CAST_FAILED for other units via SMSG_SPELL_FAILED_OTHER (0x6E75F0); addon tracks DAMAGE_SPLIT, SPELL_DISPEL_FAILED, UNIT_DESTROYED (37 subevents)
MarcelineVQ
2026-03-17 14:57:22 -07:00
3eff6928b9
dpslog: UNIT_DESTROYED for totems (creature type 11 via name cache), DAMAGE_SPLIT, SPELL_DISPEL_FAILED
MarcelineVQ
2026-03-17 14:39:42 -07:00
fec7387148
dpslog: add DAMAGE_SPLIT (Soul Link/BoSac via spell DB aura check) and SPELL_DISPEL_FAILED (hook ProcessMultipleSpellInterrupts 0x628C20)
MarcelineVQ
2026-03-17 14:27:31 -07:00
10bd922cc3
silicon: fix CC mismatches (normalizeVec3InPlace TC, packParticleColor TC, addVec3ToAccumulator remove phantom scale param, revert classifyPointFrustum/testOBBFrustum to TC); runtime JMP address resolution
MarcelineVQ
2026-03-17 13:33:51 -07:00
dc37042e6a
silicon: naked asm for transpose/setAlpha/addColor/normalize, remove vec3Dot/distPlane/insideBounds from patches, direct patch transpose (7cy, 3.7x)
MarcelineVQ
2026-03-17 03:52:50 -07:00
3dfa559eac
silicon: direct byte patch for ftol, JMP patches for all others, removed compare mode
MarcelineVQ
2026-03-17 03:20:59 -07:00
4152d1dc78
silicon: JMP patch infrastructure + native CC for all functions, no naked asm except ftol
MarcelineVQ
2026-03-17 03:12:28 -07:00
6140a3a333
silicon_sse: native calling conventions (thiscall/fastcall/stdcall) for all functions, ready for JMP patching
MarcelineVQ
2026-03-17 02:51:50 -07:00
48e542dcf4
silicon_sse: packParticleColor 26cy->16cy (6.3x) via packed V4 round+convert; checkBoxLineIntersect branchless @min/@max cleanup; all tasks complete
MarcelineVQ
2026-03-17 02:31:01 -07:00
741d44c973
silicon_sse: FSINCOS tested (slower), normalizeVec3/translateBoundingVol/createRotMat3x4 documented at optimum
MarcelineVQ
2026-03-17 02:24:56 -07:00
350cd93162
silicon_sse: normalizeVec3InPlace + testSphereFrustum at optimum, documented attempts
MarcelineVQ
2026-03-17 02:06:08 -07:00
d1c3c4654f
silicon_sse: batched testOBBFrustum 79cy->43cy (2.3x), 4-corner V4 dots + branchless mask
MarcelineVQ
2026-03-17 01:49:37 -07:00
9715e32ed7
silicon_sse: mulMat3x4InPlace eliminate tmp copy + preload b (1.7x -> 1.8x)
MarcelineVQ
2026-03-17 01:47:13 -07:00
9f2fa5213a
bench: best-of-5 for all silicon functions; silicon_sse: V4 column mulMat3x4/InPlace (1.8x/1.7x)
MarcelineVQ
2026-03-17 01:43:16 -07:00
662c854376
silicon_sse: patch-in-place isPointInsideBounds 6cy->5cy (1.2x), naked vucomiss
MarcelineVQ
2026-03-17 01:26:55 -07:00
16f1a073ae
silicon_sse: branchless classifyPointFrustum 35cy->30cy (1.8x), revert addToColorAccum
MarcelineVQ
2026-03-17 01:17:23 -07:00
cb0888e0fa
silicon_sse: naked FMA asm for vec3Dot (0.4x->0.8x) and distanceToPlane (0.7x->1.0x)
MarcelineVQ
2026-03-17 01:01:07 -07:00
9488fb568c
silicon_sse: V4/@mulAdd/@shuffle rewrites for all functions
MarcelineVQ
2026-03-17 00:34:12 -07:00
bad3126973
build: enable SSE4.1+FMA+AVX for silicon_sse compilation unit
MarcelineVQ
2026-03-17 00:27:48 -07:00
b27a987355
silicon: FTOL_ONLY debug flag, ftolSSE2 compare mode, h67 disabled
MarcelineVQ
2026-03-17 00:22:21 -07:00
8537587df3
silicon: si_ftol SSE3 FISTTP replacement, bench patch-in-place framework
MarcelineVQ
2026-03-17 00:22:07 -07:00
61ee4f48e1
bone_sse: f32 callFtol, fastMod conditional subtract for looping anims
MarcelineVQ
2026-03-16 17:06:20 -07:00
dd43f6aca3
bone_sse: return interp values in registers, hoist runtime constants, value-based local matrix
MarcelineVQ
2026-03-16 16:25:26 -07:00
d9d2e41eb4
bone_sse: return InterpResult in registers, eliminate store-forward latency
MarcelineVQ
2026-03-16 15:37:28 -07:00
0419f39833
bench: 2M iterations, baseline 4176 cycles, SSE 3841 (-8%), parity PASS
MarcelineVQ
2026-03-16 15:25:00 -07:00
99b4c8b2d0
bone_sse: f32 findInterpIdx t division, non-inline sections with quota — 3697 cycles (-6%)
MarcelineVQ
2026-03-16 14:12:53 -07:00
502fd9ba04
bone_sse: remove align(1) for naturally-aligned game data — 3641 cycles (was 3744)
MarcelineVQ
2026-03-16 12:43:51 -07:00
88fec305be
bone_sse: aggressive inlining + skip identity init + fused rotateByQuaternion — 3744 cycles (was 4040)
MarcelineVQ
2026-03-16 12:41:54 -07:00
22f9e712f4
bench: 100% code path coverage — multi-track ranges, FloatTrack12 mode=0, 9120 bytes parity PASS
MarcelineVQ
2026-03-16 12:34:07 -07:00
4776a979c9
bench: 94% code path coverage, 8988 bytes parity check — all interp modes, billboards, particles, crossfade, attachments
MarcelineVQ
2026-03-16 12:29:31 -07:00
5baa49d97a
bench: fix frame_ctr=0 so section functions execute — 3249 cycles, parity PASS
MarcelineVQ
2026-03-16 12:20:22 -07:00
9c215a0bb1
bench: full parity check across all 13 output buffers (8136 bytes), dual BASELINE/SSE
MarcelineVQ
2026-03-16 12:12:57 -07:00
4ed5495219
bench: dual BASELINE/SSE with parity check — 2177 vs 2112 cycles, PASS
MarcelineVQ
2026-03-16 12:10:51 -07:00
4198a00c26
bench: full path coverage + determinism validation — 2065 cycles/call, PASS
MarcelineVQ
2026-03-16 11:57:37 -07:00
75bb38f5af
bench: full coverage fixture — 1012 cycles/call (ribbon, particle, attach, billboard, crossfade, clamped, GS, time delta)
MarcelineVQ
2026-03-16 11:50:38 -07:00
b6ab4ac59f
bench: comprehensive fixture exercising all code paths — 636 cycles/call baseline
MarcelineVQ
2026-03-16 11:46:16 -07:00
f119c15b37
bench: comprehensive transform44 fixture — 578 cycles/call baseline (12 bones + texAnim + colorAnim + wordAnim + boneKF)
MarcelineVQ
2026-03-16 11:42:31 -07:00
93100a1a7e
bench: add transform44 SSE benchmark — 288 cycles/call baseline (8 bones, 4 animated)
MarcelineVQ
2026-03-16 11:30:06 -07:00
91444f8104
bone_sse: incremental bone pointer advancement, V4 copyMat4
MarcelineVQ
2026-03-16 11:18:50 -07:00
3a522fd1e4
bone_sse: cache frame_ctr, pass to all section functions — eliminates ~29 redundant reads
MarcelineVQ
2026-03-16 11:14:56 -07:00
c80e63522b
bone_sse: @mulAdd (FMA) for all lerp/blend paths across interp and section functions
MarcelineVQ
2026-03-16 11:06:59 -07:00
c36352f4ff
bone_sse: @mulAdd (FMA) for lerpVec3, applyTranslation, vec3SqMag
MarcelineVQ
2026-03-16 11:00:01 -07:00
a7e2f978e2
bone_sse: simplify rotateByQuaternion to use matMul4x4 V4+FMA path
MarcelineVQ
2026-03-16 10:56:48 -07:00
5d41cd03a3
bone_sse: V4 FMA matmul, enable SSE4.1+FMA+AVX target
MarcelineVQ
2026-03-16 10:54:25 -07:00
08d1992eaf
bone_sse: replace IsParticleBufferEmpty with pure Zig — 1 game call remains (atexit)
MarcelineVQ
2026-03-16 10:45:06 -07:00
1987dc5622
bone_sse: pure Zig — only 2 game calls remain (atexit init + particle buffer check)
MarcelineVQ
2026-03-16 10:38:34 -07:00
16c913b9b7
bone_sse: pure Zig findInterpIdx — last major game call in interpolation path
MarcelineVQ
2026-03-16 10:33:40 -07:00
800adbe185
bone_sse: pure Zig bone loop — interpAnimKF, buildRot, scaleMat, matMul all replaced
MarcelineVQ
2026-03-16 10:27:33 -07:00
0aab0d3678
bone_sse: replace getIndexOffset/setShortValue with direct ri16 reads
MarcelineVQ
2026-03-16 10:22:06 -07:00
8736e0b3da
bone_sse: clean A/B testing, remove diagnostic comparison code
MarcelineVQ
2026-03-16 10:18:35 -07:00
008db88403
bone_sse: replace matMul/ftol/vec3SqMag with pure Zig, fix visual artifacts
MarcelineVQ
2026-03-16 10:10:02 -07:00
252853dd8f
bone_sse: fix findInterpIdx from assembly, runtime constants, interpAnimKF stride
MarcelineVQ
2026-03-15 18:39:27 -07:00
3a031803ef
bone_sse: pure Zig SSE/FMA reimplementation, zero game function calls
MarcelineVQ
2026-03-15 18:16:07 -07:00
8fb1ece2b5
bone_sse_ref: fix world entry crash — 6 bugs found via full asm stepthrough
MarcelineVQ
2026-03-15 17:38:14 -07:00
6f8b5ea0e7
bone_sse_ref: disable particle crossfade, fix cross product z, guard cleanup
MarcelineVQ
2026-03-15 16:44:43 -07:00
582b0dc132
bone_sse_ref: add crossfade blending, word animation section, fix cross product z
MarcelineVQ
2026-03-15 16:21:33 -07:00
36ce1a05ce
bone_sse_ref: fix M2 black screen — 5 bugs found via asm comparison
MarcelineVQ
2026-03-15 15:04:05 -07:00
89e49cedf2
bone_sse_ref: replace reimplemented game funcs with actual calls, fix runtime constants
MarcelineVQ
2026-03-15 13:20:05 -07:00
c9249c6c96
bench: fix 3 correctness bugs found by benchmarker
MarcelineVQ
2026-03-15 12:27:59 -07:00