XIVDeck icon indicating copy to clipboard operation
XIVDeck copied to clipboard

Add Support for /micon Icons

Open KazWolfe opened this issue 2 years ago • 3 comments

Currently, XIVDeck does not render Macro Icons as defined through /micon, instead choosing to render the underlying preset icon for that specific macro.

Find a way to determine the appropriate icon to use for a macro if /micon is present (will likely require some more investigation of the hotbar module) and determine a way to gracefully indicate that a button triggers a macro rather than an action.

KazWolfe avatar Apr 23 '22 22:04 KazWolfe

The main problem with this Issue is that XIVDeck does not have any sort of intelligence for overlaying or distinguishing icons in any way. If I were to expose a /micon to the Deck, it would be impossible at the UI level (unless the user does some special tagging) to show that this action is a macro versus just another direct action/hotbar slot.

I'll probably look at this once I figure out the overlay rendering scheme briefly discussed in #12.

KazWolfe avatar Apr 23 '22 22:04 KazWolfe

Tech Notes:

Signature E8 ?? ?? ?? ?? 0F B6 BE ?? ?? ?? ?? 48 8B CD appears to handle this, method sig:

__int64 Macro::LoadMIcon(
        __int64 macroModulePtr, 
        __int64 UIModulePtr,
        HotbarSlotType *hotbarSlotIconTypePtr,
        unsigned int *hotbarSlotIconPtr,
        unsigned int macroPage,
        unsigned int macroId,
        __int64 unknownPtr)

KazWolfe avatar May 01 '22 01:05 KazWolfe

Experimental support added as of ff72d107374e5c1f2fbba9f2d74427971716f826.

Note that there is not a overlay icon to indicate if any given button is a macro yet. This may or may not come later. This feature may or may not disappear entirely at some point in the future.

KazWolfe avatar May 01 '22 02:05 KazWolfe