Skip to content

Add saved outfits to Quickdraw - #1851

Open
sgtoj wants to merge 1 commit into
EllesmereGaming:mainfrom
sgtoj:feature/quickdraw-outfits
Open

Add saved outfits to Quickdraw#1851
sgtoj wants to merge 1 commit into
EllesmereGaming:mainfrom
sgtoj:feature/quickdraw-outfits

Conversation

@sgtoj

@sgtoj sgtoj commented Aug 30, 2026

Copy link
Copy Markdown

What does this PR do?

Adds Midnight saved transmog outfits to Quickdraw.

Quickdraw can now add an individual outfit from an Outfits picker category or create an Action Menu from the Outfits preset. Each entry uses the saved outfit's own name and icon, with a generic transmogrifier icon as a fallback.

Outfit entries store Blizzard's stable outfit ID and resolve their current player-facing index when secure actions are pushed. This prevents a reordered outfit list from applying the wrong outfit.

How was it tested?

  • LuaJIT syntax check passed for all changed files.
  • Tested in-game on live:
    • Individual outfit Quickdraw actions apply the selected outfit.
    • The Outfits preset creates entries for saved outfits.
    • The preset uses the first saved outfit's icon.
  • Tested during a +11 Mythic+ dungeon with no known errors.

Screenshots

Wow_rHMBQ7DtSh

Checklist

  • New settings default OFF (no behavior change without opt-in)
  • Zero cost while disabled: no events registered, no polling, no hooks doing work, no frames built
  • Cheap while enabled: event-driven (no polling, no timer-based logic, no per-frame allocations)
  • No writes onto Blizzard-owned frames (weak-table pattern used); HookScript/hooksecurefunc only, never SetScript on Blizzard frames
  • Tested in-game on live; no version gates or pre-Midnight APIs added

@sgtoj
sgtoj marked this pull request as ready for review August 30, 2026 18:21
@sgtoj
sgtoj force-pushed the feature/quickdraw-outfits branch 4 times, most recently from 173ac9b to 3b95626 Compare September 1, 2026 11:27
Transmog outfits -- Midnight's saved looks, not the Equipment Manager's gear
sets -- become Quickdraw entries: a picker category, a palette preset, and a
secure type="outfit" action.

Slots store the outfitID rather than the position the secure action takes,
because that position shifts on every add, delete and reorder. ResolveAction
converts at push time and TRANSMOG_OUTFITS_CHANGED re-pushes, so a cell's index
is never older than the last reorder. That event is registered only while
Quickdraw is enabled.
@sgtoj
sgtoj force-pushed the feature/quickdraw-outfits branch from 3b95626 to da4e945 Compare September 2, 2026 12:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant