Files
WeirdUtils/RELEASE_NOTES.md
T
MarcelineVQ bb8a6ef8a6 Update release notes with all unreleased changes since v0.5.0
Covers new modules (world markers, dpslog, interact, crash fix, outlines,
addonperf), enhancements (clickthrough lootable corpses, BG disable),
bug fixes, and internal performance work (transform44, glyph cache,
file cache, logging, addon system refactor).
2026-03-13 22:27:18 -07:00

4.2 KiB

Unreleased Changes

Track notable changes here between releases. Clear this file when cutting a new release (move contents into the release notes on Codeberg).

What's New

  • World Markers - place up to 5 animated Cataclysm-style markers at any position in the world. Slash commands (/wm 1, /cwm), keybindings, full Lua API, and automatic group sync between WeirdUtils users. Requires party/raid leader or raid assist.

  • DPSLog (COMBAT_LOG_EVENT) - unified TBC/WotLK-style COMBAT_LOG_EVENT system with 30 subevents across 23 hooks. Provides a single event (slot 549) with subevent strings (SWING_DAMAGE, SPELL_HEAL, SPELL_AURA_APPLIED, etc.) instead of vanilla's fragmented per-type events. Includes embedded addon for parsing. Not yet in DLL_README.

  • Interact - smart interaction helpers: "Interact Nearest" right-clicks the closest interactable NPC or object within 5 yards, "Loot All Corpses" bulk loots nearby corpses. Keybindings and Lua API. Already documented in DLL_README but not yet released.

  • Crash Fix (framecrash) - prevents crashes from stale UI frame anchor pointers. Already documented in DLL_README but not yet released.

  • Outlines - renders glowing colored outlines around units. Already documented in DLL_README but not yet released.

  • Addon Profiling Stub (addonperf) - TBC+ addon CPU profiling API stub (GetScriptCPUUsage). Internal/experimental, not in DLL_README.

Enhancements

  • Clickthrough: Lootable corpses now click-through over players. Previously only interactable NPCs (vendors, quest givers) and game objects would win over a blocking player. Now dead units with the lootable flag are also prioritized, so you can loot corpses through the player crowd without having to reposition.

  • World Markers: Disabled in battlegrounds via Map.dbc mapType check. Markers cannot be placed while in a battleground instance.

  • Clickthrough: Reduced log noise -- logging changed from file to console-only. Also ignores assets_backup directories in custom asset scanning.

Bug Fixes

  • World Markers: Fixed marker placement over game objects -- re-raycast now uses terrain-only flags to find the ground position beneath a GO, instead of placing the marker at the GO's collision point.

  • DPSLog: Fixed dynamic event slot search and environmental damage parameter ordering.

  • Addon System: Fixed addon files not loading -- switched from @hasField to @hasDecl for compile-time module introspection.

Internal / Performance

  • Transform44 Profiling - render pipeline profiling module with 39 hotspot hooks, A/B testing framework for comparing baseline vs optimized code paths, SSE replacements for ClipPolygonToSinglePlane (4x), BuildTrianglePlanes (10x), rotateMatrixByAxisAngle (4.3x), RayTriangleIntersection (1.3x), multiplyMatrix4x4 (4.3x).

  • Glyph Shadow Cache - direct-mapped O(1) bypass for the game's 4-bucket hash table in GetOrCreateCharacterGlyph. Reduces glyph lookup from ~3.65% frame time.

  • MPQ File Cache - hooks File_FindInArchive (0x6549a0) to cache archive lookup results. First open does full MPQ chain walk (~60K cycles), subsequent opens hit direct-mapped cache with filename verification (~300 cycles). 80% hit rate in testing. Moved from standalone file_perf module to transform44 sub-module (file_cache.zig).

  • Logging Module - centralized logging with auto-prefix, file and/or console routing. All modules now route output through the shared Logger.

  • Addon System Refactor - module list now derived from build.zig, inactive addon prefixes pruned at runtime. Fully data-driven.

  • Shared Offsets - consolidated shared game offsets and accessor functions into offsets.zig and wow.zig, eliminating per-module duplication.

  • Build System - default optimize changed from Debug to ReleaseFast (works around Zig fastcall inreg LLVM bug). Logging available in all modes except ReleaseSmall.

DLL_README Gaps

Features documented in DLL_README but never included in a release:

  • World Markers
  • Outlines
  • Interact
  • Crash Fix (framecrash)

Features implemented but not yet documented in DLL_README:

  • DPSLog (COMBAT_LOG_EVENT)
  • Clickthrough lootable corpse priority
  • World Markers battleground restriction