Files
moonwell-client-core/docs
Sam Sung 011571498e The macro icon list is 1.12.1's, built on first use (#1934)
The macro icon list and its verbs differed from 1.12.1.

- The list is built on first use per in-game interface (`GetNumMacroIcons`, and `CreateMacro`/`EditMacro` past their gates), never at VM creation; `GetMacroIconInfo` never builds and answers `""` off the list or for an empty entry (`0x4f1ac5`, `0x4f1a88`).
- Its sources are 1.12.1's three (`0x4f0090`): the listfiles of the patches, speech2 and interface.MPQ only, then the two loose `Interface\Icons\` scans (`0x4f0350`, `0x4f04f0`), sorted case-blind and deduplicated.
- `EditMacro`/`CreateMacro` read the icon as a number (a numeric string counts) and keep the old icon on a miss (`0x4f1945`, `0x4f12f0`).
- `GetMacroIconInfo` with a non-number raises its usage line.

The listing takes about 7 ms on the stock chain, down from 150. Tests pin each fact; a byte audit re-derived every address.

Fixes #1512
Fixes #1833
Fixes #1874
Fixes #1875

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 18:26:37 +07:00
..