LibUtilities-1.0
LibUtilities-1.0
A collection of useful methods to help with pixel perfection, parsing item links, and converting decimal numbers into hexidecimal.
Legion breaking changes
The API DecodeItemString has been replaced/renamed to DecodeItemLink, and supports quest, spell, item, talent, and enchant links. The return values of this API have been altered from prior versions.
List of methods
- PixelPerfect
- VisualData
- NumberToHex
- DecodeItemLink
- Round
- TitleCase
How to use
LibUtilities-1.0 is an embedded library, and thus gives its functions to any AddOn for direct control.
.pkgmeta
.toc
#@no-lib-strip@ Libs\LibUtilities-1.0\lib.xml #@end-no-lib-strip@
Core AddOn
local MyAddOn = LibStub("AceAddon-3.0"):NewAddon("MyAddOn", "LibUtilities-1.0") -- OR local MyAddOn, privateTable = ... LibStub("LibUtilities-1.0"):Embed(privateTable) function MyAddOn:Enable() -- probably not the best place for this call, but this is an example -- notice it is not utilities:VisualData() local uiScale, resolutionX, resolutionY = MyAddOn:VisualData() end
API
The API page
Ticket Tracker
Found a bug or want to make a suggestion? This is the link you want.
Localization
There is only one phrase needing localization for the Table of Contents (.toc) file. Go here to translate please.
Tips
Getting the corrected scale for the UI
- SetCVar("uiScale", tostring(self:PixelPerfect(1)))
- SetCVar("useUiScale", "1") Note, yes, 1, or it won't work
- If the third return of VisualData() resolutionY is >=1200 you should also scale UIParent, as Warcraft's UI scale will not go lower than .64.
The DecodeItemLink function adds the index of the bonus after the bonus ID.
{1805, 41, 1487} becomes {18051, 412, 14873}
Is this intentional? If not, then the fix is to remove "..i" here:
if numBonuses >= 1 then
for i = 1, numBonuses do
local bonusID = select(i, string_split(":", affixes))
table_insert(bonusIDs, to_number(bonusID..i))
end
end
Thanks! :)
In reply to Iacha: