The fourteen 1.12.1 functions #336 lists are defined, each derived from its reference address, and benilla's layer drops the two places it stood in for the stock bag code. - **Keyring:** `KeyRingButtonIDToInvSlotID` (`0x4c8150`) exists, and the keyring slots answer as inventory slots 82-113. The stock `ContainerFrame.lua:616-619` hover path now runs unchanged, and the layer's keyring `OnEnter` wrapper is deleted. - **Bags:** the layer no longer replaces `CloseAllBags`. The stock one (`ContainerFrame.lua:702-707`) closes the backpack only when it was not open before the vendor or mailbox opened it (#541). The deviation that opens every bag stays, and its comment now names its only callers. - **Inventory:** `ShowInventorySellCursor`, `SetInventoryPortaitTexture` and `UpdateInventoryAlertStatus` exist. - **Character and pet:** `GetDamageBonusStat` (ChrClasses field 2), `GetPetTimeRemaining` (armed from `SMSG_PET_SPELLS`) and `GetActionAutocast` exist. - **Mail:** `ClearSendMail`, `GetNumPackages`, `GetPackageInfo` and `SelectPackage` exist, over a new `Package.dbc` loader. A selected package rides in the mail send. The compose reset now also clears the stationery, the package and the attachment, as `0x4acdc0` does. - **Tabard:** `GetTabardInfo` opens the tabard designer through the registrar (`0x5e00e0`). - **World map:** `GetWorldLocMapPosition` projects a map position onto the displayed map (`0x4a7360`). - **Loot:** `SetLootPortrait` binds a unit loot source's portrait (`0x4c2b40`). Verified: - A test per function for its shapes, raises and effects, failing on main. - A keyring hover test through the stock path, failing on main. - A backpack-over-vendor test, failing on main. - `scripts/gates.sh` and `scripts/smoke.sh` are green. - A live A/B run: hovering a key asked for `player:82` and showed the key's tooltip. After a vendor, opening the Help panel left the backpack open and closed bag 1; on main the backpack closed. Built on macOS; no platform seam touched. Fixes #336 Fixes #541 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
24 lines
1.1 KiB
TeX
24 lines
1.1 KiB
TeX
# benilla's own interface, one layer on the stock one (docs/METHOD.md): every file is ours, from
|
|
# `assets/ui`, and loads in this order after every `FrameXML.toc` row and before the third-party
|
|
# addons. It is listed in no addon list, fires no `ADDON_LOADED` and cannot be switched off; a dev
|
|
# build boots without it under `WOW_STOCK_UI=1`. A test names its files, so it does not grow.
|
|
|
|
## Interface: 11200
|
|
|
|
# The scroll parts of our options window and script log.
|
|
ScrollTemplates.xml
|
|
# The Keybindings page's templates and script, which OptionsFrame.xml uses at load.
|
|
KeyBindingsPage.xml
|
|
# `BenillaOptionsFrame`; its rows read the option globals the stock options windows set.
|
|
OptionsFrame.xml
|
|
# The ESC menu's era look on the stock `GameMenuFrame`, whose Options rung opens ours.
|
|
GameMenuAdapters.xml
|
|
# `OpenBackpack` and `CloseBackpack` over every equipped bag, for the vendor and the mailbox.
|
|
ContainerFrameAdapters.xml
|
|
# The pet page's autocast widgets in the pet action button's proportions.
|
|
SpellBookAdapters.xml
|
|
# The `/errors` script error log and our slash commands.
|
|
ScriptLogFrame.xml
|
|
# Our fixes to the stock Lua.
|
|
FrameXMLFixes.xml
|