Kelsidavis-WoWee/include
Pavel Okhlopkov b79d9b8fea feat(rendering): implement spell visual effects with bone-tracked ribbons and particles
Add complete spell visual pipeline resolving the DBC chain
(Spell → SpellVisual → SpellVisualKit → SpellVisualEffectName → M2)
with precast/cast/impact phases, bone-attached positioning, and
automatic dual-hand mirroring.

Ribbon rendering fixes:
- Parse visibility track as uint8 (was read as float, suppressing
  all ribbon edges due to ~1.4e-45 failing the >0.5 check)
- Filter garbage emitters with bone=UINT_MAX unconditionally
- Guard against NaN spine positions from corrupt bone data
- Resolve ribbon textures via direct index, not textureLookup table
- Fall back to bone 0 when ribbon bone index is out of range

Particle rendering fixes:
- Reduce spell particle scale from 5x to 1.5x (was oversized)
- Exempt spell effect instances from position-based deduplication

Spell handler integration:
- Trigger precast visuals on SMSG_SPELL_START with server castTimeMs
- Trigger cast/impact visuals on SMSG_SPELL_GO
- Cancel precast visuals on cast interrupt/failure/movement

M2 classifier expansion:
- Add AmbientEmitterType enum for sound system integration
- Add 20+ foliage tokens, 4 spell effect tokens, isSmallFoliage flag
- Add markModelAsSpellEffect() to override disableAnimation

DBC layouts:
- Add SpellVisualID field to Spell.dbc for all expansion configs

Signed-off-by: Pavel Okhlopkov <pavel.okhlopkov@flant.com>
2026-04-07 11:27:59 +03:00
..
addons chore(lua): refactor addon Lua engine API + progress docs 2026-04-03 07:31:06 +03:00
audio fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00
auth fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00
core world loading memory pressure detector 2026-04-06 21:05:20 +03:00
game feat(rendering): implement spell visual effects with bone-tracked ribbons and particles 2026-04-07 11:27:59 +03:00
network memory, threading, network hardening 2026-04-06 21:19:37 +03:00
pipeline memory, threading, network hardening 2026-04-06 21:19:37 +03:00
platform Fix all remaining build warnings and eliminate UB in binary parsers 2026-02-23 19:58:38 -08:00
rendering feat(rendering): implement spell visual effects with bone-tracked ribbons and particles 2026-04-07 11:27:59 +03:00
third_party Fix cross-platform FSR3 compile path and Path-A runtime wiring 2026-03-09 04:24:24 -07:00
ui fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00