promotional bannermobile promotional banner

Doud's UI

Addon suite to polish the default UI adding necessary tweaks to nameplates, action bar, tooltips and a dungeon journal that preserves the sense of discovery!
Back to Files

v1.3.0-forever

File nameDoudUI-v1.3.0-forever.zip
Uploader
DoudsterDoudster
Uploaded
Oct 15, 2026
Downloads
13
Size
7.3 MB
Flavors
Forever
File ID
9201682
Type
R
Release
Supported game versions
  • 1.60.1

What's new

Doud's UI

v1.3.0 (2026-10-15)

Full Changelog Previous Releases

  • Loot rolls: red icon for unusable items, crisp slot border, roll value on won toasts; journal keeps its saved data when both addons load
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • LFG: keep Blizzard's Listing tab
    The first open of a session lands on the Listing page (Blizzard's selectedTab 1) and switching to Browse
    from our code would taint the browse dropdowns, so that page keeps its own tab; Browse and Who stay
    chained under it.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Character sheet: fade Blizzard's level line, title and 3D model under the sheet
    The level line sits in HIGH strata and the model scene drew through: alpha 0 while the sheet shows,
    back to 1 when it hides.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Tooltips, nameplates, unit frames, raid frames on shared helpers
    FT.Safe/IsSecret/Usable/ClassColor/Money/InitDB/Check/Slider; old migrations and the UnitFrameTweaksBorder
    debug global removed; nameplates share one NpcID and CVar pin/restore helper.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Action bars, minimap, character sheet, loot, click-cast on shared helpers
    FT.Safe/IsSecret/InitDB/ClassColor/Money/Check/Slider; dead self-ADDON_LOADED wiring and old
    migrations removed; one name-list parser; durability summed once; shadowed locals renamed.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • General, Databar, chat, damage meter, Navigation, WorldMap, QuestLog on shared helpers
    InitDB, Print, Money, IsSecret/Usable, IsLoaded, ClassColor, Check/Slider; dead self-ADDON_LOADED
    handlers and the spellbook one-shot flip removed; General's three dropdown copies merged.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • ReadyUp, LFG, CraftingPanel, QuestItems, UnlearnedSpells, Professions on shared helpers
    Shared Safe/IsSecret/Usable/Print/Money/InitDB/Check/Slider; dead code removed (ReadyUp pending,
    OnStatus, target-bag path; UnlearnedSpells say; LFG duplicate role atlas table); ns.ScanBags exported.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Split the journal's UI.lua (at Lua's 200-local limit) into 6 files
    Widgets, Quests, QuestPage, WorldPins, Dev, plus minimap button and option setters into Options.lua;
    UI.lua 195 KB -> 124 KB with ~46 locals free. Tutorial uses the shared drawing helpers. Removed the
    DB.macro/DB.ui/v leftovers.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Shared helpers in Core/Panel; drop FontsDB; restore PosKey line
    FT.Safe (per-message error reports with stack), FT.IsSecret, FT.Usable, FT.IsLoaded, FT.Print,
    FT.Money, FT.ClassColor, FT.InitDB, FT.Check, FT.Slider, with tests. FontsDB migration removed.
    Puts back the CharacterSheet lookup in General's PosKey that c48011f dropped by mistake.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Journal map tiles as DXT5 BLP
    437 tiles converted from raw 256x256 TGA (111 MB) to DXT5 BLP (30 MB); paths have no extension so the
    code is unchanged. Generator: ForeverJournal-tools/allinst/wmoart.py now writes BLP via blp.py.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Review batch 3e: character sheet no longer taints CharacterFrame
    Blizzard owns visibility again: no PaperDollFrame.hidden write, no ToggleCharacter post-hook, no
    Show/HideUIPanel from hooks, no resizing or reskinning of CharacterFrame, no mode-tab reparenting.
    The sheet is a child of CharacterFrame shown with PaperDollFrame; Blizzard's tabs and close button
    are moved onto its edge while it shows. Inspect frame sized once at load.
    Visible change: Reputation/Currency/other tabs now show Blizzard's own frame look and size.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Review batch 3d: unit frames and tooltips taint fixes
    No more calls to Blizzard's PlayerFrame_UpdateStatus / UnitFrameManaBar_UpdateType (we restore the
    saved look); target layout restore only after it was anchored; threat line dropped via a UnitThreat
    pre-call; short stats, tint and objective indent drawn in the item-line pre-call instead of rewriting
    drawn lines; error wrappers report each distinct error once.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Review batch 3c: LFG, crafting panel, quest items taint fixes
    LFG filter runs in our own column fill and never writes Blizzard's results; row OnEnter left to Blizzard;
    tooltip internals checked once. Crafting panel's skill sort uses its own flat data provider, absolute
    width, retail-only parts guarded, click hook per OnClick. Quest item icon follows the cursor in combat
    instead of the protected nameplate.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Review batch 3b: action bars, loot, databar, General taint fixes
    Action bar colours painted by us instead of re-running Blizzard's UpdateUsable; end caps only moved out
    of combat with secret checks and Edit Mode's raw methods; Edit Mode checkbox strip parented to UIParent;
    micro menu/bag bar shown via ShowBase; loot frame never parked in Edit Mode; group loot container
    restored on reset and only moved out of combat; Databar applies deferred in combat; General guards each
    merchant hook and runs each apply step on its own.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Review batch 3a: map providers leave the map in combat, quest tracker fixes
    Journal and Navigation world-map providers detach on combat start and re-attach after (no double add
    after a combat reload); entrance lookup retries instead of caching a failure; tracker only restores
    lines it hid, both tracker hooks install when the campaign tracker is missing; backing texture path
    from the addon folder.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Review batch 2e: nameplates, unit frames, tooltips performance
    Nameplates: minimal updates per event, one quest-log snapshot, no per-call closures, combo orbs only on
    combo changes, title cache per NPC. Unit frames: PlayerFrame hooks coalesced, model reload only when
    needed, health re-colour only on tier change. Tooltips: footer search and shift-compare cached, one
    Show per item tooltip build.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Review batch 2d: action bars, minimap, inspect, loot, click-cast performance
    Totem-only usable re-check on mana ticks, cached quest XP, cooldown poll off when unused, bloom feed
    coalesced, targeted slider applies; minimap node runner only with Find Herbs/Minerals on and only on
    change, coords only while hovered; inspect filters item-info events; one quest-log walk per loot row,
    one bag scan per swap; rez spells checked directly.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Review batch 2c: core, General, Databar, ReadyUp, QuestItems, CraftingPanel, chat performance
    Rep lookups cache misses, Databar coalesces XP updates and caches memory, General vendor/aura/XP-bar/
    spam/swing/share work only when needed, ReadyUp scans bags only after bag changes, quest item driver
    idles, crafting rows cache output quality, chat background moves only geometry per message, settings
    search reuses highlights.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Review batch 2b: journal, world map and quest log performance
    Map zoom only re-places pins, one journal refresh per quest-log burst, map pins skip while the map is
    closed, MapCells cached per floor, fog art only re-applied on change, loot-line and size-grip work only
    when needed, world map label throttled and off when unused, quest log rebuilds coalesced.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Review batch 2a: RaidFrames performance
    Early return for units without a button, aura scan skipped when nothing is tracked, one health
    and one power event, power events only with power bars on, roster bursts coalesced, class colour cached.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Review batch 1: bug fixes
    Export skips alt gold and window positions; import rejects wrong types; quest log keeps the user's
    auto-track choice and hand-tracked ready quests; exact quest-item name matches; spellbook rescan loop;
    ReadyUp reports errors; secret-value and nil guards in tooltips, unit frames, nameplates, action bars;
    loot quest-starter uses item:ID; minimap node offset and zone width; click-cast rank binds; character
    sheet fills uncached items; licence lists ReadyUp (MIT) and correct font paths.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Tests run under luajit (Lua 5.1 like the game)
    Syntax check with luajit + goto grep instead of luac 5.5; fix a 5.3-only // in WorldMap_test,
    an order-dependent row pick in Professions_test, and give the Professions table sort an id tiebreak.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
  • Checkpoint: work since 1.2.0 (new modules, journal maps code, backlog features)
    Map tiles left out until they are compressed.
    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

This mod has no related projects