diff --git a/Libs/AceComm-3.0/AceComm-3.0.lua b/Libs/AceComm-3.0/AceComm-3.0.lua
index 242d92c..3f21f5b 100644
--- a/Libs/AceComm-3.0/AceComm-3.0.lua
+++ b/Libs/AceComm-3.0/AceComm-3.0.lua
@@ -9,7 +9,7 @@
-- make into AceComm.
-- @class file
-- @name AceComm-3.0
--- @release $Id: AceComm-3.0.lua 1202 2019-05-15 23:11:22Z nevcairiel $
+-- @release $Id: AceComm-3.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $
--[[ AceComm-3.0
@@ -35,10 +35,6 @@ local error, assert = error, assert
-- WoW APIs
local Ambiguate = Ambiguate
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: LibStub, DEFAULT_CHAT_FRAME, geterrorhandler, RegisterAddonMessagePrefix
-
AceComm.embeds = AceComm.embeds or {}
-- for my sanity and yours, let's give the message type bytes some names
diff --git a/Libs/AceComm-3.0/ChatThrottleLib.lua b/Libs/AceComm-3.0/ChatThrottleLib.lua
index ad21af4..d1dd8a0 100644
--- a/Libs/AceComm-3.0/ChatThrottleLib.lua
+++ b/Libs/AceComm-3.0/ChatThrottleLib.lua
@@ -75,7 +75,7 @@ local next = next
local strlen = string.len
local GetFramerate = GetFramerate
local strlower = string.lower
-local unpack,type,pairs,wipe = unpack,type,pairs,wipe
+local unpack,type,pairs,wipe = unpack,type,pairs,table.wipe
local UnitInRaid,UnitInParty = UnitInRaid,UnitInParty
diff --git a/Libs/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.lua b/Libs/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.lua
index 5113875..6dd6438 100644
--- a/Libs/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.lua
+++ b/Libs/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.lua
@@ -1,7 +1,7 @@
--- AceConfigCmd-3.0 handles access to an options table through the "command line" interface via the ChatFrames.
-- @class file
-- @name AceConfigCmd-3.0
--- @release $Id: AceConfigCmd-3.0.lua 1202 2019-05-15 23:11:22Z nevcairiel $
+-- @release $Id: AceConfigCmd-3.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $
--[[
AceConfigCmd-3.0
@@ -37,17 +37,10 @@ local error, assert = error, assert
-- WoW APIs
local _G = _G
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: LibStub, SELECTED_CHAT_FRAME, DEFAULT_CHAT_FRAME
-
-
local L = setmetatable({}, { -- TODO: replace with proper locale
__index = function(self,k) return k end
})
-
-
local function print(msg)
(SELECTED_CHAT_FRAME or DEFAULT_CHAT_FRAME):AddMessage(msg)
end
@@ -401,7 +394,7 @@ local function handle(info, inputpos, tab, depth, retfalse)
return
end
- local str = strsub(info.input,inputpos);
+ local strInput = strsub(info.input,inputpos);
if tab.type=="execute" then
------------ execute --------------------------------------------
@@ -414,21 +407,21 @@ local function handle(info, inputpos, tab, depth, retfalse)
local res = true
if tab.pattern then
- if not(type(tab.pattern)=="string") then err(info, inputpos, "'pattern' - expected a string") end
- if not strmatch(str, tab.pattern) then
- usererr(info, inputpos, "'"..str.."' - " .. L["invalid input"])
+ if type(tab.pattern)~="string" then err(info, inputpos, "'pattern' - expected a string") end
+ if not strmatch(strInput, tab.pattern) then
+ usererr(info, inputpos, "'"..strInput.."' - " .. L["invalid input"])
return
end
end
- do_final(info, inputpos, tab, "set", str)
+ do_final(info, inputpos, tab, "set", strInput)
elseif tab.type=="toggle" then
------------ toggle --------------------------------------------
local b
- local str = strtrim(strlower(str))
+ local str = strtrim(strlower(strInput))
if str=="" then
b = callmethod(info, inputpos, tab, "get")
@@ -465,9 +458,9 @@ local function handle(info, inputpos, tab, depth, retfalse)
elseif tab.type=="range" then
------------ range --------------------------------------------
- local val = tonumber(str)
+ local val = tonumber(strInput)
if not val then
- usererr(info, inputpos, "'"..str.."' - "..L["expected number"])
+ usererr(info, inputpos, "'"..strInput.."' - "..L["expected number"])
return
end
if type(info.step)=="number" then
@@ -487,7 +480,7 @@ local function handle(info, inputpos, tab, depth, retfalse)
elseif tab.type=="select" then
------------ select ------------------------------------
- local str = strtrim(strlower(str))
+ local str = strtrim(strlower(strInput))
local values = tab.values
if type(values) == "function" or type(values) == "string" then
@@ -528,7 +521,7 @@ local function handle(info, inputpos, tab, depth, retfalse)
elseif tab.type=="multiselect" then
------------ multiselect -------------------------------------------
- local str = strtrim(strlower(str))
+ local str = strtrim(strlower(strInput))
local values = tab.values
if type(values) == "function" or type(values) == "string" then
@@ -565,7 +558,7 @@ local function handle(info, inputpos, tab, depth, retfalse)
--check that the opt is valid
local ok
- for k,v in pairs(values) do
+ for k in pairs(values) do
if strlower(k)==opt then
opt = k -- overwrite with key (in case of case mismatches)
ok = true
@@ -634,7 +627,7 @@ local function handle(info, inputpos, tab, depth, retfalse)
elseif tab.type=="color" then
------------ color --------------------------------------------
- local str = strtrim(strlower(str))
+ local str = strtrim(strlower(strInput))
if str == "" then
--TODO: Show current value
return
@@ -706,7 +699,7 @@ local function handle(info, inputpos, tab, depth, retfalse)
elseif tab.type=="keybinding" then
------------ keybinding --------------------------------------------
- local str = strtrim(strlower(str))
+ local str = strtrim(strlower(strInput))
if str == "" then
--TODO: Show current value
return
diff --git a/Libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua b/Libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua
index a14e07d..4649c73 100644
--- a/Libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua
+++ b/Libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua
@@ -1,13 +1,13 @@
--- AceConfigDialog-3.0 generates AceGUI-3.0 based windows based on option tables.
-- @class file
-- @name AceConfigDialog-3.0
--- @release $Id: AceConfigDialog-3.0.lua 1232 2020-04-14 22:21:22Z nevcairiel $
+-- @release $Id: AceConfigDialog-3.0.lua 1292 2022-09-29 08:00:11Z nevcairiel $
local LibStub = LibStub
local gui = LibStub("AceGUI-3.0")
local reg = LibStub("AceConfigRegistry-3.0")
-local MAJOR, MINOR = "AceConfigDialog-3.0", 79
+local MAJOR, MINOR = "AceConfigDialog-3.0", 85
local AceConfigDialog, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
if not AceConfigDialog then return end
@@ -22,19 +22,13 @@ AceConfigDialog.frame.closing = AceConfigDialog.frame.closing or {}
AceConfigDialog.frame.closeAllOverride = AceConfigDialog.frame.closeAllOverride or {}
-- Lua APIs
-local tinsert, tsort, tremove = table.insert, table.sort, table.remove
+local tinsert, tsort, tremove, wipe = table.insert, table.sort, table.remove, table.wipe
local strmatch, format = string.match, string.format
local error = error
-local pairs, next, select, type, unpack, wipe, ipairs = pairs, next, select, type, unpack, wipe, ipairs
+local pairs, next, select, type, unpack, ipairs = pairs, next, select, type, unpack, ipairs
local tostring, tonumber = tostring, tonumber
local math_min, math_max, math_floor = math.min, math.max, math.floor
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: NORMAL_FONT_COLOR, ACCEPT, CANCEL
--- GLOBALS: PlaySound, GameFontHighlight, GameFontHighlightSmall, GameFontHighlightLarge
--- GLOBALS: CloseSpecialWindows, InterfaceOptions_AddCategory, geterrorhandler
-
local emptyTbl = {}
--[[
@@ -194,9 +188,8 @@ local function GetOptionsMemberValue(membername, option, options, path, appName,
--We have a function to call
local info = new()
--traverse the options table, picking up the handler and filling the info with the path
- local handler
local group = options
- handler = group.handler or handler
+ local handler = group.handler
for i = 1, #path do
group = GetSubOption(group, path[i])
@@ -535,8 +528,7 @@ local function OptionOnMouseLeave(widget, event)
end
local function GetFuncName(option)
- local type = option.type
- if type == "execute" then
+ if option.type == "execute" then
return "func"
else
return "set"
@@ -544,13 +536,15 @@ local function GetFuncName(option)
end
do
local frame = AceConfigDialog.popup
- if not frame then
+ if not frame or oldminor < 81 then
frame = CreateFrame("Frame", nil, UIParent)
AceConfigDialog.popup = frame
frame:Hide()
frame:SetPoint("CENTER", UIParent, "CENTER")
frame:SetSize(320, 72)
+ frame:EnableMouse(true) -- Do not allow click-through on the frame
frame:SetFrameStrata("TOOLTIP")
+ frame:SetFrameLevel(100) -- Lots of room to draw under it
frame:SetScript("OnKeyDown", function(self, key)
if key == "ESCAPE" then
self:SetPropagateKeyboardInput(false)
@@ -564,26 +558,17 @@ do
end
end)
- if WOW_PROJECT_ID == WOW_PROJECT_CLASSIC then
- frame:SetBackdrop({
- bgFile = [[Interface\DialogFrame\UI-DialogBox-Background-Dark]],
- edgeFile = [[Interface\DialogFrame\UI-DialogBox-Border]],
- tile = true,
- tileSize = 32,
- edgeSize = 32,
- insets = { left = 11, right = 11, top = 11, bottom = 11 },
- })
- else
- local border = CreateFrame("Frame", nil, frame, "DialogBorderDarkTemplate")
- border:SetAllPoints(frame)
- end
+ local border = CreateFrame("Frame", nil, frame, "DialogBorderOpaqueTemplate")
+ border:SetAllPoints(frame)
+ frame:SetFixedFrameStrata(true)
+ frame:SetFixedFrameLevel(true)
local text = frame:CreateFontString(nil, "ARTWORK", "GameFontHighlight")
text:SetSize(290, 0)
text:SetPoint("TOP", 0, -16)
frame.text = text
- local function newButton(text)
+ local function newButton(newText)
local button = CreateFrame("Button", nil, frame)
button:SetSize(128, 21)
button:SetNormalFontObject(GameFontNormal)
@@ -594,7 +579,7 @@ do
button:GetPushedTexture():SetTexCoord(0.0, 1.0, 0.0, 0.71875)
button:SetHighlightTexture(130762) -- "Interface\\Buttons\\UI-DialogBox-Button-Highlight"
button:GetHighlightTexture():SetTexCoord(0.0, 1.0, 0.0, 0.71875)
- button:SetText(text)
+ button:SetText(newText)
return button
end
@@ -681,7 +666,7 @@ local function ActivateControl(widget, event, ...)
if group[funcname] ~= nil then
func = group[funcname]
end
- handler = group.handler or handler
+ handler = group.handler
confirm = group.confirm
validate = group.validate
for i = 1, #path do
@@ -745,7 +730,6 @@ local function ActivateControl(widget, event, ...)
end
end
- local rootframe = user.rootframe
if not validated or type(validated) == "string" then
if not validated then
if usage then
@@ -760,8 +744,8 @@ local function ActivateControl(widget, event, ...)
end
-- show validate message
- if rootframe.SetStatusText then
- rootframe:SetStatusText(validated)
+ if user.rootframe.SetStatusText then
+ user.rootframe:SetStatusText(validated)
else
validationErrorPopup(validated)
end
@@ -798,14 +782,14 @@ local function ActivateControl(widget, event, ...)
if type(confirm) == "boolean" then
if confirm then
if not confirmText then
- local name, desc = option.name, option.desc
- if type(name) == "function" then
- name = name(info)
+ local option_name, desc = option.name, option.desc
+ if type(option_name) == "function" then
+ option_name = option_name(info)
end
if type(desc) == "function" then
desc = desc(info)
end
- confirmText = name
+ confirmText = option_name
if desc then
confirmText = confirmText.." - "..desc
end
@@ -1147,8 +1131,6 @@ local function FeedOptions(appName, options,container,rootframe,path,group,inlin
--Control to feed
local control
- local name = GetOptionsMemberValue("name", v, options, path, appName)
-
if v.type == "execute" then
local imageCoords = GetOptionsMemberValue("imageCoords",v, options, path, appName)
@@ -1251,7 +1233,7 @@ local function FeedOptions(appName, options,container,rootframe,path,group,inlin
end
tsort(sorting, sortTblAsStrings)
end
- for k, value in ipairs(sorting) do
+ for _, value in ipairs(sorting) do
local text = values[value]
local radio = gui:Create("CheckBox")
radio:SetLabel(text)
@@ -1333,8 +1315,8 @@ local function FeedOptions(appName, options,container,rootframe,path,group,inlin
control:SetWidth(width_multiplier)
end
--check:SetTriState(v.tristate)
- for i = 1, #valuesort do
- local key = valuesort[i]
+ for s = 1, #valuesort do
+ local key = valuesort[s]
local value = GetOptionsMemberValue("get",v, options, path, appName, key)
control:SetItemValue(key,value)
end
@@ -1346,8 +1328,8 @@ local function FeedOptions(appName, options,container,rootframe,path,group,inlin
control:PauseLayout()
local width = GetOptionsMemberValue("width",v,options,path,appName)
- for i = 1, #valuesort do
- local value = valuesort[i]
+ for s = 1, #valuesort do
+ local value = valuesort[s]
local text = values[value]
local check = gui:Create("CheckBox")
check:SetLabel(text)
@@ -1364,7 +1346,7 @@ local function FeedOptions(appName, options,container,rootframe,path,group,inlin
elseif width == "half" then
check:SetWidth(width_multiplier / 2)
elseif (type(width) == "number") then
- control:SetWidth(width_multiplier * width)
+ check:SetWidth(width_multiplier * width)
elseif width == "full" then
check.width = "fill"
else
@@ -1434,8 +1416,8 @@ local function FeedOptions(appName, options,container,rootframe,path,group,inlin
end
control:SetImageSize(width, height)
end
- local width = GetOptionsMemberValue("width",v,options,path,appName)
- control.width = not width and "fill"
+ local controlWidth = GetOptionsMemberValue("width",v,options,path,appName)
+ control.width = not controlWidth and "fill"
end
--Common Init
@@ -1690,29 +1672,29 @@ function AceConfigDialog:FeedGroup(appName,options,container,rootframe,path, isR
elseif grouptype == "select" then
- local select = gui:Create("DropdownGroup")
- select:SetTitle(name)
- InjectInfo(select, options, group, path, rootframe, appName)
- select:SetCallback("OnGroupSelected", GroupSelected)
+ local selectGroup = gui:Create("DropdownGroup")
+ selectGroup:SetTitle(name)
+ InjectInfo(selectGroup, options, group, path, rootframe, appName)
+ selectGroup:SetCallback("OnGroupSelected", GroupSelected)
local status = AceConfigDialog:GetStatusTable(appName, path)
if not status.groups then
status.groups = {}
end
- select:SetStatusTable(status.groups)
+ selectGroup:SetStatusTable(status.groups)
local grouplist, orderlist = BuildSelect(group, options, path, appName)
- select:SetGroupList(grouplist, orderlist)
- select:SetUserData("grouplist", grouplist)
- select:SetUserData("orderlist", orderlist)
+ selectGroup:SetGroupList(grouplist, orderlist)
+ selectGroup:SetUserData("grouplist", grouplist)
+ selectGroup:SetUserData("orderlist", orderlist)
local firstgroup = orderlist[1]
if firstgroup then
- select:SetGroup((GroupExists(appName, options, path,status.groups.selected) and status.groups.selected) or firstgroup)
+ selectGroup:SetGroup((GroupExists(appName, options, path,status.groups.selected) and status.groups.selected) or firstgroup)
end
- select.width = "fill"
- select.height = "fill"
+ selectGroup.width = "fill"
+ selectGroup.height = "fill"
- container:AddChild(select)
+ container:AddChild(selectGroup)
--assume tree group by default
--if parenttype is tree then this group is already a node on that tree
@@ -1940,13 +1922,13 @@ end
-- convert pre-39 BlizOptions structure to the new format
if oldminor and oldminor < 39 and AceConfigDialog.BlizOptions then
local old = AceConfigDialog.BlizOptions
- local new = {}
+ local newOpt = {}
for key, widget in pairs(old) do
local appName = widget:GetUserData("appName")
- if not new[appName] then new[appName] = {} end
- new[appName][key] = widget
+ if not newOpt[appName] then newOpt[appName] = {} end
+ newOpt[appName][key] = widget
end
- AceConfigDialog.BlizOptions = new
+ AceConfigDialog.BlizOptions = newOpt
else
AceConfigDialog.BlizOptions = AceConfigDialog.BlizOptions or {}
end
@@ -1979,6 +1961,7 @@ end
-- @param parent The parent to use in the interface options tree.
-- @param ... The path in the options table to feed into the interface options panel.
-- @return The reference to the frame registered into the Interface Options.
+-- @return The category ID to pass to Settings.OpenToCategory (or InterfaceOptionsFrame_OpenToCategory)
function AceConfigDialog:AddToBlizOptions(appName, name, parent, ...)
local BlizOptions = AceConfigDialog.BlizOptions
@@ -1994,7 +1977,6 @@ function AceConfigDialog:AddToBlizOptions(appName, name, parent, ...)
if not BlizOptions[appName][key] then
local group = gui:Create("BlizOptionsGroup")
BlizOptions[appName][key] = group
- group:SetName(name or appName, parent)
group:SetTitle(name or appName)
group:SetUserData("appName", appName)
@@ -2007,8 +1989,30 @@ function AceConfigDialog:AddToBlizOptions(appName, name, parent, ...)
end
group:SetCallback("OnShow", FeedToBlizPanel)
group:SetCallback("OnHide", ClearBlizPanel)
- InterfaceOptions_AddCategory(group.frame)
- return group.frame
+ if Settings and Settings.RegisterCanvasLayoutCategory then
+ local categoryName = name or appName
+ if parent then
+ local category = Settings.GetCategory(parent)
+ if not category then
+ error(("The parent category '%s' was not found"):format(parent), 2)
+ end
+ local subcategory = Settings.RegisterCanvasLayoutSubcategory(category, group.frame, categoryName)
+
+ -- force the generated ID to be used for subcategories, as these can have very simple names like "Profiles"
+ group:SetName(subcategory.ID, parent)
+ else
+ local category = Settings.RegisterCanvasLayoutCategory(group.frame, categoryName)
+ -- using appName here would be cleaner, but would not be 100% compatible
+ -- but for top-level categories it should be fine, as these are typically addon names
+ category.ID = categoryName
+ group:SetName(categoryName, parent)
+ Settings.RegisterAddOnCategory(category)
+ end
+ else
+ group:SetName(name or appName, parent)
+ InterfaceOptions_AddCategory(group.frame)
+ end
+ return group.frame, group.frame.name
else
error(("%s has already been added to the Blizzard Options Window with the given path"):format(appName), 2)
end
diff --git a/Libs/AceDB-3.0/AceDB-3.0.lua b/Libs/AceDB-3.0/AceDB-3.0.lua
index 440330f..804cf2b 100644
--- a/Libs/AceDB-3.0/AceDB-3.0.lua
+++ b/Libs/AceDB-3.0/AceDB-3.0.lua
@@ -40,7 +40,7 @@
-- end
-- @class file
-- @name AceDB-3.0.lua
--- @release $Id: AceDB-3.0.lua 1217 2019-07-11 03:06:18Z funkydude $
+-- @release $Id: AceDB-3.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $
local ACEDB_MAJOR, ACEDB_MINOR = "AceDB-3.0", 27
local AceDB = LibStub:NewLibrary(ACEDB_MAJOR, ACEDB_MINOR)
@@ -53,10 +53,6 @@ local setmetatable, rawset, rawget = setmetatable, rawset, rawget
-- WoW APIs
local _G = _G
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: LibStub
-
AceDB.db_registry = AceDB.db_registry or {}
AceDB.frame = AceDB.frame or CreateFrame("Frame")
@@ -98,11 +94,11 @@ local function copyDefaults(dest, src)
-- This is a metatable used for table defaults
local mt = {
-- This handles the lookup and creation of new subtables
- __index = function(t,k)
- if k == nil then return nil end
+ __index = function(t,k2)
+ if k2 == nil then return nil end
local tbl = {}
copyDefaults(tbl, v)
- rawset(t, k, tbl)
+ rawset(t, k2, tbl)
return tbl
end,
}
@@ -115,7 +111,7 @@ local function copyDefaults(dest, src)
end
else
-- Values are not tables, so this is just a simple return
- local mt = {__index = function(t,k) return k~=nil and v or nil end}
+ local mt = {__index = function(t,k2) return k2~=nil and v or nil end}
setmetatable(dest, mt)
end
elseif type(v) == "table" then
diff --git a/Libs/AceDBOptions-3.0/AceDBOptions-3.0.lua b/Libs/AceDBOptions-3.0/AceDBOptions-3.0.lua
index 6ed3103..9029c66 100644
--- a/Libs/AceDBOptions-3.0/AceDBOptions-3.0.lua
+++ b/Libs/AceDBOptions-3.0/AceDBOptions-3.0.lua
@@ -1,7 +1,7 @@
--- AceDBOptions-3.0 provides a universal AceConfig options screen for managing AceDB-3.0 profiles.
-- @class file
-- @name AceDBOptions-3.0
--- @release $Id: AceDBOptions-3.0.lua 1202 2019-05-15 23:11:22Z nevcairiel $
+-- @release $Id: AceDBOptions-3.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $
local ACEDBO_MAJOR, ACEDBO_MINOR = "AceDBOptions-3.0", 15
local AceDBOptions = LibStub:NewLibrary(ACEDBO_MAJOR, ACEDBO_MINOR)
@@ -13,10 +13,6 @@ local pairs, next = pairs, next
-- WoW APIs
local UnitClass = UnitClass
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: NORMAL_FONT_COLOR_CODE, FONT_COLOR_CODE_CLOSE
-
AceDBOptions.optionTables = AceDBOptions.optionTables or {}
AceDBOptions.handlers = AceDBOptions.handlers or {}
diff --git a/Libs/AceGUI-3.0/AceGUI-3.0.lua b/Libs/AceGUI-3.0/AceGUI-3.0.lua
index cde61f6..f05b1ed 100644
--- a/Libs/AceGUI-3.0/AceGUI-3.0.lua
+++ b/Libs/AceGUI-3.0/AceGUI-3.0.lua
@@ -24,28 +24,22 @@
-- f:AddChild(btn)
-- @class file
-- @name AceGUI-3.0
--- @release $Id: AceGUI-3.0.lua 1231 2020-04-14 22:20:36Z nevcairiel $
+-- @release $Id: AceGUI-3.0.lua 1288 2022-09-25 14:19:00Z funkehdude $
local ACEGUI_MAJOR, ACEGUI_MINOR = "AceGUI-3.0", 41
local AceGUI, oldminor = LibStub:NewLibrary(ACEGUI_MAJOR, ACEGUI_MINOR)
if not AceGUI then return end -- No upgrade needed
-- Lua APIs
-local tinsert = table.insert
+local tinsert, wipe = table.insert, table.wipe
local select, pairs, next, type = select, pairs, next, type
local error, assert = error, assert
local setmetatable, rawget = setmetatable, rawget
-local math_max = math.max
+local math_max, math_min, math_ceil = math.max, math.min, math.ceil
-- WoW APIs
local UIParent = UIParent
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: geterrorhandler, LibStub
-
---local con = LibStub("AceConsole-3.0",true)
-
AceGUI.WidgetRegistry = AceGUI.WidgetRegistry or {}
AceGUI.LayoutRegistry = AceGUI.LayoutRegistry or {}
AceGUI.WidgetBase = AceGUI.WidgetBase or {}
@@ -94,38 +88,38 @@ do
AceGUI.objPools = AceGUI.objPools or {}
local objPools = AceGUI.objPools
--Returns a new instance, if none are available either returns a new table or calls the given contructor
- function newWidget(type)
- if not WidgetRegistry[type] then
+ function newWidget(widgetType)
+ if not WidgetRegistry[widgetType] then
error("Attempt to instantiate unknown widget type", 2)
end
- if not objPools[type] then
- objPools[type] = {}
+ if not objPools[widgetType] then
+ objPools[widgetType] = {}
end
- local newObj = next(objPools[type])
+ local newObj = next(objPools[widgetType])
if not newObj then
- newObj = WidgetRegistry[type]()
- newObj.AceGUIWidgetVersion = WidgetVersions[type]
+ newObj = WidgetRegistry[widgetType]()
+ newObj.AceGUIWidgetVersion = WidgetVersions[widgetType]
else
- objPools[type][newObj] = nil
+ objPools[widgetType][newObj] = nil
-- if the widget is older then the latest, don't even try to reuse it
-- just forget about it, and grab a new one.
- if not newObj.AceGUIWidgetVersion or newObj.AceGUIWidgetVersion < WidgetVersions[type] then
- return newWidget(type)
+ if not newObj.AceGUIWidgetVersion or newObj.AceGUIWidgetVersion < WidgetVersions[widgetType] then
+ return newWidget(widgetType)
end
end
return newObj
end
-- Releases an instance to the Pool
- function delWidget(obj,type)
- if not objPools[type] then
- objPools[type] = {}
+ function delWidget(obj,widgetType)
+ if not objPools[widgetType] then
+ objPools[widgetType] = {}
end
- if objPools[type][obj] then
+ if objPools[widgetType][obj] then
error("Attempt to Release Widget that is already released", 2)
end
- objPools[type][obj] = true
+ objPools[widgetType][obj] = true
end
end
@@ -141,9 +135,9 @@ end
-- OnAcquire function on it, before returning.
-- @param type The type of the widget.
-- @return The newly created widget.
-function AceGUI:Create(type)
- if WidgetRegistry[type] then
- local widget = newWidget(type)
+function AceGUI:Create(widgetType)
+ if WidgetRegistry[widgetType] then
+ local widget = newWidget(widgetType)
if rawget(widget, "Acquire") then
widget.OnAcquire = widget.Acquire
@@ -161,7 +155,7 @@ function AceGUI:Create(type)
if widget.OnAcquire then
widget:OnAcquire()
else
- error(("Widget type %s doesn't supply an OnAcquire Function"):format(type))
+ error(("Widget type %s doesn't supply an OnAcquire Function"):format(widgetType))
end
-- Set the default Layout ("List")
safecall(widget.SetLayout, widget, "List")
@@ -589,25 +583,25 @@ AceGUI.counts = AceGUI.counts or {}
-- This is used by widgets that require a named frame, e.g. when a Blizzard
-- Template requires it.
-- @param type The widget type
-function AceGUI:GetNextWidgetNum(type)
- if not self.counts[type] then
- self.counts[type] = 0
+function AceGUI:GetNextWidgetNum(widgetType)
+ if not self.counts[widgetType] then
+ self.counts[widgetType] = 0
end
- self.counts[type] = self.counts[type] + 1
- return self.counts[type]
+ self.counts[widgetType] = self.counts[widgetType] + 1
+ return self.counts[widgetType]
end
--- Return the number of created widgets for this type.
-- In contrast to GetNextWidgetNum, the number is not incremented.
--- @param type The widget type
-function AceGUI:GetWidgetCount(type)
- return self.counts[type] or 0
+-- @param widgetType The widget type
+function AceGUI:GetWidgetCount(widgetType)
+ return self.counts[widgetType] or 0
end
--- Return the version of the currently registered widget type.
--- @param type The widget type
-function AceGUI:GetWidgetVersion(type)
- return WidgetVersions[type]
+-- @param widgetType The widget type
+function AceGUI:GetWidgetVersion(widgetType)
+ return WidgetVersions[widgetType]
end
-------------
@@ -770,7 +764,6 @@ AceGUI:RegisterLayout("Flow",
usedwidth = 0
rowstart = frame
- rowstartoffset = frameoffset
if child.DoLayout then
child:DoLayout()
@@ -813,7 +806,8 @@ local GetCellAlign = function (dir, tableObj, colObj, cellObj, cell, child)
or colObj and (colObj["align" .. dir] or colObj.align)
or tableObj["align" .. dir] or tableObj.align
or "CENTERLEFT"
- local child, cell, val = child or 0, cell or 0, nil
+ local val
+ child, cell = child or 0, cell or 0
if type(fn) == "string" then
fn = fn:lower()
@@ -827,7 +821,7 @@ local GetCellAlign = function (dir, tableObj, colObj, cellObj, cell, child)
val = fn
end
- return fn, max(0, min(val, cell))
+ return fn, math_max(0, math_min(val, cell))
end
-- Get width or height for multiple cells combined
@@ -836,7 +830,7 @@ local GetCellDimension = function (dir, laneDim, from, to, space)
for cell=from,to do
dim = dim + (laneDim[cell] or 0)
end
- return dim + max(0, to - from) * (space or 0)
+ return dim + math_max(0, to - from) * (space or 0)
end
--[[ Options
@@ -882,7 +876,7 @@ AceGUI:RegisterLayout("Table",
repeat
n = n + 1
local col = (n - 1) % #cols + 1
- local row = ceil(n / #cols)
+ local row = math_ceil(n / #cols)
local rowspan = rowspans[col]
local cell = rowspan and rowspan.child or child
local cellObj = cell:GetUserData("cell")
@@ -898,7 +892,7 @@ AceGUI:RegisterLayout("Table",
end
-- Colspan
- local colspan = max(0, min((cellObj and cellObj.colspan or 1) - 1, #cols - col))
+ local colspan = math_max(0, math_min((cellObj and cellObj.colspan or 1) - 1, #cols - col))
n = n + colspan
-- Place the cell
@@ -915,7 +909,7 @@ AceGUI:RegisterLayout("Table",
end
end
- local rows = ceil(n / #cols)
+ local rows = math_ceil(n / #cols)
-- Determine fixed size cols and collect weights
local extantH, totalWeight = totalH, 0
@@ -940,16 +934,16 @@ AceGUI:RegisterLayout("Table",
f:ClearAllPoints()
local childH = f:GetWidth() or 0
- laneH[col] = max(laneH[col], childH - GetCellDimension("H", laneH, colStart[child], col - 1, spaceH))
+ laneH[col] = math_max(laneH[col], childH - GetCellDimension("H", laneH, colStart[child], col - 1, spaceH))
end
end
- laneH[col] = max(colObj.min or colObj[1] or 0, min(laneH[col], colObj.max or colObj[2] or laneH[col]))
+ laneH[col] = math_max(colObj.min or colObj[1] or 0, math_min(laneH[col], colObj.max or colObj[2] or laneH[col]))
else
-- Rel./Abs. width
laneH[col] = colObj.width < 1 and colObj.width * totalH or colObj.width
end
- extantH = max(0, extantH - laneH[col])
+ extantH = math_max(0, extantH - laneH[col])
end
end
@@ -988,7 +982,7 @@ AceGUI:RegisterLayout("Table",
child:DoLayout()
end
- rowV = max(rowV, (f:GetHeight() or 0) - GetCellDimension("V", laneV, rowStart[child], row - 1, spaceV))
+ rowV = math_max(rowV, (f:GetHeight() or 0) - GetCellDimension("V", laneV, rowStart[child], row - 1, spaceV))
end
end
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua b/Libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua
index 9a48f8b..d95db58 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua
@@ -2,7 +2,7 @@
BlizOptionsGroup Container
Simple container widget for the integration of AceGUI into the Blizzard Interface Options
-------------------------------------------------------------------------------]]
-local Type, Version = "BlizOptionsGroup", 21
+local Type, Version = "BlizOptionsGroup", 26
local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end
@@ -99,7 +99,7 @@ local methods = {
Constructor
-------------------------------------------------------------------------------]]
local function Constructor()
- local frame = CreateFrame("Frame")
+ local frame = CreateFrame("Frame", nil, InterfaceOptionsFramePanelContainer)
frame:Hide()
-- support functions for the Blizzard Interface Options
@@ -108,6 +108,11 @@ local function Constructor()
frame.default = default
frame.refresh = refresh
+ -- 10.0 support function aliases (cancel has been removed)
+ frame.OnCommit = okay
+ frame.OnDefault = default
+ frame.OnRefresh = refresh
+
frame:SetScript("OnHide", OnHide)
frame:SetScript("OnShow", OnShow)
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua b/Libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua
index 379ea25..cd83755 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua
@@ -125,7 +125,7 @@ local function Constructor()
dropdown.frame:Show()
dropdown:SetLabel("")
- local border = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local border = CreateFrame("Frame", nil, frame, "BackdropTemplate")
border:SetPoint("TOPLEFT", 0, -26)
border:SetPoint("BOTTOMRIGHT", 0, 3)
border:SetBackdrop(PaneBackdrop)
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua b/Libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua
index fbd6005..39a1004 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua
@@ -1,7 +1,7 @@
--[[-----------------------------------------------------------------------------
Frame Container
-------------------------------------------------------------------------------]]
-local Type, Version = "Frame", 27
+local Type, Version = "Frame", 30
local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end
@@ -13,10 +13,6 @@ local wipe = table.wipe
local PlaySound = PlaySound
local CreateFrame, UIParent = CreateFrame, UIParent
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: CLOSE
-
--[[-----------------------------------------------------------------------------
Scripts
-------------------------------------------------------------------------------]]
@@ -83,6 +79,7 @@ local methods = {
["OnAcquire"] = function(self)
self.frame:SetParent(UIParent)
self.frame:SetFrameStrata("FULLSCREEN_DIALOG")
+ self.frame:SetFrameLevel(100) -- Lots of room to draw under it
self:SetTitle()
self:SetStatusText()
self:ApplyStatus()
@@ -179,16 +176,21 @@ local PaneBackdrop = {
}
local function Constructor()
- local frame = CreateFrame("Frame", nil, UIParent, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local frame = CreateFrame("Frame", nil, UIParent, "BackdropTemplate")
frame:Hide()
frame:EnableMouse(true)
frame:SetMovable(true)
frame:SetResizable(true)
frame:SetFrameStrata("FULLSCREEN_DIALOG")
+ frame:SetFrameLevel(100) -- Lots of room to draw under it
frame:SetBackdrop(FrameBackdrop)
frame:SetBackdropColor(0, 0, 0, 1)
- frame:SetMinResize(400, 200)
+ if frame.SetResizeBounds then -- WoW 10.0
+ frame:SetResizeBounds(400, 200)
+ else
+ frame:SetMinResize(400, 200)
+ end
frame:SetToplevel(true)
frame:SetScript("OnShow", Frame_OnShow)
frame:SetScript("OnHide", Frame_OnClose)
@@ -201,7 +203,7 @@ local function Constructor()
closebutton:SetWidth(100)
closebutton:SetText(CLOSE)
- local statusbg = CreateFrame("Button", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local statusbg = CreateFrame("Button", nil, frame, "BackdropTemplate")
statusbg:SetPoint("BOTTOMLEFT", 15, 15)
statusbg:SetPoint("BOTTOMRIGHT", -132, 15)
statusbg:SetHeight(24)
@@ -269,7 +271,7 @@ local function Constructor()
line2:SetHeight(8)
line2:SetPoint("BOTTOMRIGHT", -8, 8)
line2:SetTexture(137057) -- Interface\\Tooltips\\UI-Tooltip-Border
- local x = 0.1 * 8/17
+ x = 0.1 * 8/17
line2:SetTexCoord(0.05 - x, 0.5, 0.05, 0.5 + x, 0.05, 0.5 - x, 0.5 + x, 0.5)
local sizer_s = CreateFrame("Frame", nil, frame)
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua b/Libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua
index 357e843..1676ae4 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua
@@ -75,7 +75,7 @@ local function Constructor()
titletext:SetJustifyH("LEFT")
titletext:SetHeight(18)
- local border = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local border = CreateFrame("Frame", nil, frame, "BackdropTemplate")
border:SetPoint("TOPLEFT", 0, -17)
border:SetPoint("BOTTOMRIGHT", -1, 3)
border:SetBackdrop(PaneBackdrop)
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua b/Libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua
index 195ab0b..8e46876 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua
@@ -2,22 +2,18 @@
TabGroup Container
Container that uses tabs on top to switch between groups.
-------------------------------------------------------------------------------]]
-local Type, Version = "TabGroup", 37
+local Type, Version = "TabGroup", 38
local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end
-- Lua APIs
-local pairs, ipairs, assert, type, wipe = pairs, ipairs, assert, type, wipe
+local pairs, ipairs, assert, type, wipe = pairs, ipairs, assert, type, table.wipe
-- WoW APIs
local PlaySound = PlaySound
local CreateFrame, UIParent = CreateFrame, UIParent
local _G = _G
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: PanelTemplates_TabResize, PanelTemplates_SetDisabledTabState, PanelTemplates_SelectTab, PanelTemplates_DeselectTab
-
-- local upvalue storage used by BuildTabs
local widths = {}
local rowwidths = {}
@@ -26,6 +22,143 @@ local rowends = {}
--[[-----------------------------------------------------------------------------
Support functions
-------------------------------------------------------------------------------]]
+
+local function PanelTemplates_TabResize(tab, padding, absoluteSize, minWidth, maxWidth, absoluteTextSize)
+ local tabName = tab:GetName();
+
+ local buttonMiddle = tab.Middle or tab.middleTexture or _G[tabName.."Middle"];
+ local buttonMiddleDisabled = tab.MiddleDisabled or (tabName and _G[tabName.."MiddleDisabled"]);
+ local left = tab.Left or tab.leftTexture or _G[tabName.."Left"];
+ local sideWidths = 2 * left:GetWidth();
+ local tabText = tab.Text or _G[tab:GetName().."Text"];
+ local highlightTexture = tab.HighlightTexture or (tabName and _G[tabName.."HighlightTexture"]);
+
+ local width, tabWidth;
+ local textWidth;
+ if ( absoluteTextSize ) then
+ textWidth = absoluteTextSize;
+ else
+ tabText:SetWidth(0);
+ textWidth = tabText:GetWidth();
+ end
+ -- If there's an absolute size specified then use it
+ if ( absoluteSize ) then
+ if ( absoluteSize < sideWidths) then
+ width = 1;
+ tabWidth = sideWidths
+ else
+ width = absoluteSize - sideWidths;
+ tabWidth = absoluteSize
+ end
+ tabText:SetWidth(width);
+ else
+ -- Otherwise try to use padding
+ if ( padding ) then
+ width = textWidth + padding;
+ else
+ width = textWidth + 24;
+ end
+ -- If greater than the maxWidth then cap it
+ if ( maxWidth and width > maxWidth ) then
+ if ( padding ) then
+ width = maxWidth + padding;
+ else
+ width = maxWidth + 24;
+ end
+ tabText:SetWidth(width);
+ else
+ tabText:SetWidth(0);
+ end
+ if (minWidth and width < minWidth) then
+ width = minWidth;
+ end
+ tabWidth = width + sideWidths;
+ end
+
+ if ( buttonMiddle ) then
+ buttonMiddle:SetWidth(width);
+ end
+ if ( buttonMiddleDisabled ) then
+ buttonMiddleDisabled:SetWidth(width);
+ end
+
+ tab:SetWidth(tabWidth);
+
+ if ( highlightTexture ) then
+ highlightTexture:SetWidth(tabWidth);
+ end
+end
+
+local function PanelTemplates_DeselectTab(tab)
+ local name = tab:GetName();
+
+ local left = tab.Left or _G[name.."Left"];
+ local middle = tab.Middle or _G[name.."Middle"];
+ local right = tab.Right or _G[name.."Right"];
+ left:Show();
+ middle:Show();
+ right:Show();
+ --tab:UnlockHighlight();
+ tab:Enable();
+ local text = tab.Text or _G[name.."Text"];
+ text:SetPoint("CENTER", tab, "CENTER", (tab.deselectedTextX or 0), (tab.deselectedTextY or 2));
+
+ local leftDisabled = tab.LeftDisabled or _G[name.."LeftDisabled"];
+ local middleDisabled = tab.MiddleDisabled or _G[name.."MiddleDisabled"];
+ local rightDisabled = tab.RightDisabled or _G[name.."RightDisabled"];
+ leftDisabled:Hide();
+ middleDisabled:Hide();
+ rightDisabled:Hide();
+end
+
+local function PanelTemplates_SelectTab(tab)
+ local name = tab:GetName();
+
+ local left = tab.Left or _G[name.."Left"];
+ local middle = tab.Middle or _G[name.."Middle"];
+ local right = tab.Right or _G[name.."Right"];
+ left:Hide();
+ middle:Hide();
+ right:Hide();
+ --tab:LockHighlight();
+ tab:Disable();
+ tab:SetDisabledFontObject(GameFontHighlightSmall);
+ local text = tab.Text or _G[name.."Text"];
+ text:SetPoint("CENTER", tab, "CENTER", (tab.selectedTextX or 0), (tab.selectedTextY or -3));
+
+ local leftDisabled = tab.LeftDisabled or _G[name.."LeftDisabled"];
+ local middleDisabled = tab.MiddleDisabled or _G[name.."MiddleDisabled"];
+ local rightDisabled = tab.RightDisabled or _G[name.."RightDisabled"];
+ leftDisabled:Show();
+ middleDisabled:Show();
+ rightDisabled:Show();
+
+ if GameTooltip:IsOwned(tab) then
+ GameTooltip:Hide();
+ end
+end
+
+local function PanelTemplates_SetDisabledTabState(tab)
+ local name = tab:GetName();
+ local left = tab.Left or _G[name.."Left"];
+ local middle = tab.Middle or _G[name.."Middle"];
+ local right = tab.Right or _G[name.."Right"];
+ left:Show();
+ middle:Show();
+ right:Show();
+ --tab:UnlockHighlight();
+ tab:Disable();
+ tab.text = tab:GetText();
+ -- Gray out text
+ tab:SetDisabledFontObject(GameFontDisableSmall);
+ local leftDisabled = tab.LeftDisabled or _G[name.."LeftDisabled"];
+ local middleDisabled = tab.MiddleDisabled or _G[name.."MiddleDisabled"];
+ local rightDisabled = tab.RightDisabled or _G[name.."RightDisabled"];
+ leftDisabled:Hide();
+ middleDisabled:Hide();
+ rightDisabled:Hide();
+end
+
local function UpdateTabLook(frame)
if frame.disabled then
PanelTemplates_SetDisabledTabState(frame)
@@ -103,11 +236,64 @@ local methods = {
["CreateTab"] = function(self, id)
local tabname = ("AceGUITabGroup%dTab%d"):format(self.num, id)
- local tab = CreateFrame("Button", tabname, self.border, "OptionsFrameTabButtonTemplate")
+ local tab = CreateFrame("Button", tabname, self.border)
+ tab:SetSize(115, 24)
+ tab.deselectedTextY = -3
+ tab.selectedTextY = -2
+
+ tab.LeftDisabled = tab:CreateTexture(tabname .. "LeftDisabled", "BORDER")
+ tab.LeftDisabled:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-ActiveTab")
+ tab.LeftDisabled:SetSize(20, 24)
+ tab.LeftDisabled:SetPoint("BOTTOMLEFT", 0, -3)
+ tab.LeftDisabled:SetTexCoord(0, 0.15625, 0, 1.0)
+
+ tab.MiddleDisabled = tab:CreateTexture(tabname .. "MiddleDisabled", "BORDER")
+ tab.MiddleDisabled:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-ActiveTab")
+ tab.MiddleDisabled:SetSize(88, 24)
+ tab.MiddleDisabled:SetPoint("LEFT", tab.LeftDisabled, "RIGHT")
+ tab.MiddleDisabled:SetTexCoord(0.15625, 0.84375, 0, 1.0)
+
+ tab.RightDisabled = tab:CreateTexture(tabname .. "RightDisabled", "BORDER")
+ tab.RightDisabled:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-ActiveTab")
+ tab.RightDisabled:SetSize(20, 24)
+ tab.RightDisabled:SetPoint("LEFT", tab.MiddleDisabled, "RIGHT")
+ tab.RightDisabled:SetTexCoord(0.84375, 1.0, 0, 1.0)
+
+ tab.Left = tab:CreateTexture(tabname .. "Left", "BORDER")
+ tab.Left:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-InActiveTab")
+ tab.Left:SetSize(20, 24)
+ tab.Left:SetPoint("TOPLEFT")
+ tab.Left:SetTexCoord(0, 0.15625, 0, 1.0)
+
+ tab.Middle = tab:CreateTexture(tabname .. "Middle", "BORDER")
+ tab.Middle:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-InActiveTab")
+ tab.Middle:SetSize(88, 24)
+ tab.Middle:SetPoint("LEFT", tab.Left, "RIGHT")
+ tab.Middle:SetTexCoord(0.15625, 0.84375, 0, 1.0)
+
+ tab.Right = tab:CreateTexture(tabname .. "Right", "BORDER")
+ tab.Right:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-InActiveTab")
+ tab.Right:SetSize(20, 24)
+ tab.Right:SetPoint("LEFT", tab.Middle, "RIGHT")
+ tab.Right:SetTexCoord(0.84375, 1.0, 0, 1.0)
+
+ tab.Text = tab:CreateFontString(tabname .. "Text")
+ tab:SetFontString(tab.Text)
+
+ tab:SetNormalFontObject(GameFontNormalSmall)
+ tab:SetHighlightFontObject(GameFontHighlightSmall)
+ tab:SetDisabledFontObject(GameFontHighlightSmall)
+ tab:SetHighlightTexture("Interface\\PaperDollInfoFrame\\UI-Character-Tab-Highlight", "ADD")
+ tab.HighlightTexture = tab:GetHighlightTexture()
+ tab.HighlightTexture:ClearAllPoints()
+ tab.HighlightTexture:SetPoint("LEFT", tab, "LEFT", 10, -4)
+ tab.HighlightTexture:SetPoint("RIGHT", tab, "RIGHT", -10, -4)
+ _G[tabname .. "HighlightTexture"] = tab.HighlightTexture
+
tab.obj = self
tab.id = id
- tab.text = _G[tabname .. "Text"]
+ tab.text = tab.Text -- compat
tab.text:ClearAllPoints()
tab.text:SetPoint("LEFT", 14, -3)
tab.text:SetPoint("RIGHT", -12, -3)
@@ -316,7 +502,7 @@ local function Constructor()
titletext:SetHeight(18)
titletext:SetText("")
- local border = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local border = CreateFrame("Frame", nil, frame, "BackdropTemplate")
border:SetPoint("TOPLEFT", 1, -27)
border:SetPoint("BOTTOMRIGHT", -1, 3)
border:SetBackdrop(PaneBackdrop)
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua b/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua
index cdc8051..89f387a 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua
@@ -2,22 +2,18 @@
TreeGroup Container
Container that uses a tree control to switch between groups.
-------------------------------------------------------------------------------]]
-local Type, Version = "TreeGroup", 45
+local Type, Version = "TreeGroup", 47
local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end
-- Lua APIs
local next, pairs, ipairs, assert, type = next, pairs, ipairs, assert, type
-local math_min, math_max, floor = math.min, math.max, floor
+local math_min, math_max, floor = math.min, math.max, math.floor
local select, tremove, unpack, tconcat = select, table.remove, unpack, table.concat
-- WoW APIs
local CreateFrame, UIParent = CreateFrame, UIParent
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: FONT_COLOR_CODE_CLOSE
-
-- Recycling functions
local new, del
do
@@ -567,7 +563,11 @@ local methods = {
if maxtreewidth > 100 and status.treewidth > maxtreewidth then
self:SetTreeWidth(maxtreewidth, status.treesizable)
end
- treeframe:SetMaxResize(maxtreewidth, 1600)
+ if treeframe.SetResizeBounds then
+ treeframe:SetResizeBounds(100, 1, maxtreewidth, 1600)
+ else
+ treeframe:SetMaxResize(maxtreewidth, 1600)
+ end
end,
["OnHeightSet"] = function(self, height)
@@ -637,7 +637,7 @@ local function Constructor()
local num = AceGUI:GetNextWidgetNum(Type)
local frame = CreateFrame("Frame", nil, UIParent)
- local treeframe = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local treeframe = CreateFrame("Frame", nil, frame, "BackdropTemplate")
treeframe:SetPoint("TOPLEFT")
treeframe:SetPoint("BOTTOMLEFT")
treeframe:SetWidth(DEFAULT_TREE_WIDTH)
@@ -646,13 +646,17 @@ local function Constructor()
treeframe:SetBackdropColor(0.1, 0.1, 0.1, 0.5)
treeframe:SetBackdropBorderColor(0.4, 0.4, 0.4)
treeframe:SetResizable(true)
- treeframe:SetMinResize(100, 1)
- treeframe:SetMaxResize(400, 1600)
+ if treeframe.SetResizeBounds then -- WoW 10.0
+ treeframe:SetResizeBounds(100, 1, 400, 1600)
+ else
+ treeframe:SetMinResize(100, 1)
+ treeframe:SetMaxResize(400, 1600)
+ end
treeframe:SetScript("OnUpdate", FirstFrameUpdate)
treeframe:SetScript("OnSizeChanged", Tree_OnSizeChanged)
treeframe:SetScript("OnMouseWheel", Tree_OnMouseWheel)
- local dragger = CreateFrame("Frame", nil, treeframe, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local dragger = CreateFrame("Frame", nil, treeframe, "BackdropTemplate")
dragger:SetWidth(8)
dragger:SetPoint("TOP", treeframe, "TOPRIGHT")
dragger:SetPoint("BOTTOM", treeframe, "BOTTOMRIGHT")
@@ -677,7 +681,7 @@ local function Constructor()
scrollbg:SetAllPoints(scrollbar)
scrollbg:SetColorTexture(0,0,0,0.4)
- local border = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local border = CreateFrame("Frame", nil, frame, "BackdropTemplate")
border:SetPoint("TOPLEFT", treeframe, "TOPRIGHT")
border:SetPoint("BOTTOMRIGHT")
border:SetBackdrop(PaneBackdrop)
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua b/Libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua
index 2e28a3d..f378d93 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua
@@ -7,10 +7,6 @@ local pairs, assert, type = pairs, assert, type
local PlaySound = PlaySound
local CreateFrame, UIParent = CreateFrame, UIParent
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: GameFontNormal
-
----------------
-- Main Frame --
----------------
@@ -21,7 +17,7 @@ local CreateFrame, UIParent = CreateFrame, UIParent
]]
do
local Type = "Window"
- local Version = 6
+ local Version = 8
local function frameOnShow(this)
this.obj:Fire("OnShow")
@@ -186,7 +182,11 @@ do
frame:SetScript("OnShow",frameOnShow)
frame:SetScript("OnHide",frameOnClose)
- frame:SetMinResize(240,240)
+ if frame.SetResizeBounds then -- WoW 10.0
+ frame:SetResizeBounds(240,240)
+ else
+ frame:SetMinResize(240,240)
+ end
frame:SetToplevel(true)
local titlebg = frame:CreateTexture(nil, "BACKGROUND")
@@ -300,7 +300,7 @@ do
line2:SetHeight(8)
line2:SetPoint("BOTTOMRIGHT", -8, 8)
line2:SetTexture(137057) -- Interface\\Tooltips\\UI-Tooltip-Border
- local x = 0.1 * 8/17
+ x = 0.1 * 8/17
line2:SetTexCoord(0.05 - x, 0.5, 0.05, 0.5 + x, 0.05, 0.5 - x, 0.5 + x, 0.5)
local sizer_s = CreateFrame("Frame",nil,frame)
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua b/Libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua
index 53ef618..fe17e03 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua
@@ -12,10 +12,6 @@ local select, pairs = select, pairs
local PlaySound = PlaySound
local CreateFrame, UIParent = CreateFrame, UIParent
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: SetDesaturation, GameFontHighlight
-
--[[-----------------------------------------------------------------------------
Support functions
-------------------------------------------------------------------------------]]
@@ -199,14 +195,14 @@ local methods = {
["SetDescription"] = function(self, desc)
if desc then
if not self.desc then
- local desc = self.frame:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
- desc:ClearAllPoints()
- desc:SetPoint("TOPLEFT", self.checkbg, "TOPRIGHT", 5, -21)
- desc:SetWidth(self.frame.width - 30)
- desc:SetPoint("RIGHT", self.frame, "RIGHT", -30, 0)
- desc:SetJustifyH("LEFT")
- desc:SetJustifyV("TOP")
- self.desc = desc
+ local f = self.frame:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
+ f:ClearAllPoints()
+ f:SetPoint("TOPLEFT", self.checkbg, "TOPRIGHT", 5, -21)
+ f:SetWidth(self.frame.width - 30)
+ f:SetPoint("RIGHT", self.frame, "RIGHT", -30, 0)
+ f:SetJustifyH("LEFT")
+ f:SetJustifyV("TOP")
+ self.desc = f
end
self.desc:Show()
--self.text:SetFontObject(GameFontNormal)
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua b/Libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua
index 1101162..d57b008 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua
@@ -11,10 +11,6 @@ local pairs = pairs
-- WoW APIs
local CreateFrame, UIParent = CreateFrame, UIParent
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: ColorPickerFrame, OpacitySliderFrame
-
--[[-----------------------------------------------------------------------------
Support functions
-------------------------------------------------------------------------------]]
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua b/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua
index 7ae1401..947184c 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua
@@ -1,4 +1,4 @@
---[[ $Id: AceGUIWidget-DropDown-Items.lua 1202 2019-05-15 23:11:22Z nevcairiel $ ]]--
+--[[ $Id: AceGUIWidget-DropDown-Items.lua 1272 2022-08-29 15:56:35Z nevcairiel $ ]]--
local AceGUI = LibStub("AceGUI-3.0")
@@ -41,7 +41,7 @@ local ItemBase = {
-- NOTE: The ItemBase version is added to each item's version number
-- to ensure proper updates on ItemBase changes.
-- Use at least 1000er steps.
- version = 1000,
+ version = 2000,
counter = 0,
}
@@ -178,7 +178,7 @@ function ItemBase.Create(type)
highlight:Hide()
self.highlight = highlight
- local check = frame:CreateTexture("OVERLAY")
+ local check = frame:CreateTexture(nil, "OVERLAY")
check:SetWidth(16)
check:SetHeight(16)
check:SetPoint("LEFT",frame,"LEFT",3,-1)
@@ -186,7 +186,7 @@ function ItemBase.Create(type)
check:Hide()
self.check = check
- local sub = frame:CreateTexture("OVERLAY")
+ local sub = frame:CreateTexture(nil, "OVERLAY")
sub:SetWidth(16)
sub:SetHeight(16)
sub:SetPoint("RIGHT",frame,"RIGHT",-3,-1)
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua b/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua
index 5481630..59c7f53 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua
@@ -1,4 +1,4 @@
---[[ $Id: AceGUIWidget-DropDown.lua 1239 2020-09-20 10:22:02Z nevcairiel $ ]]--
+--[[ $Id: AceGUIWidget-DropDown.lua 1284 2022-09-25 09:15:30Z nevcairiel $ ]]--
local AceGUI = LibStub("AceGUI-3.0")
-- Lua APIs
@@ -11,10 +11,6 @@ local PlaySound = PlaySound
local UIParent, CreateFrame = UIParent, CreateFrame
local _G = _G
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: CLOSE
-
local function fixlevels(parent,...)
local i = 1
local child = select(i, ...)
@@ -253,7 +249,7 @@ do
local function Constructor()
local count = AceGUI:GetNextWidgetNum(widgetType)
- local frame = CreateFrame("Frame", "AceGUI30Pullout"..count, UIParent, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local frame = CreateFrame("Frame", "AceGUI30Pullout"..count, UIParent, "BackdropTemplate")
local self = {}
self.count = count
self.type = widgetType
@@ -304,7 +300,7 @@ do
scrollFrame.obj = self
itemFrame.obj = self
- local slider = CreateFrame("Slider", "AceGUI30PulloutScrollbar"..count, scrollFrame, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local slider = CreateFrame("Slider", "AceGUI30PulloutScrollbar"..count, scrollFrame, "BackdropTemplate")
slider:SetOrientation("VERTICAL")
slider:SetHitRectInsets(0, 0, -10, 0)
slider:SetBackdrop(sliderBackdrop)
@@ -351,7 +347,7 @@ end
do
local widgetType = "Dropdown"
- local widgetVersion = 35
+ local widgetVersion = 36
--[[ Static data ]]--
@@ -376,7 +372,6 @@ do
local function Dropdown_TogglePullout(this)
local self = this.obj
- PlaySound(856) -- SOUNDKIT.IG_MAINMENU_OPTION_CHECKBOX_ON
if self.open then
self.open = nil
self.pullout:Close()
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua b/Libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua
index 29f7e00..bb1e4fd 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua
@@ -14,10 +14,6 @@ local GetCursorInfo, ClearCursor, GetSpellInfo = GetCursorInfo, ClearCursor, Get
local CreateFrame, UIParent = CreateFrame, UIParent
local _G = _G
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: AceGUIEditBoxInsertLink, ChatFontNormal, OKAY
-
--[[-----------------------------------------------------------------------------
Support functions
-------------------------------------------------------------------------------]]
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua b/Libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua
index 17a3c0b..0c779dc 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua
@@ -13,10 +13,6 @@ local pairs = pairs
local IsShiftKeyDown, IsControlKeyDown, IsAltKeyDown = IsShiftKeyDown, IsControlKeyDown, IsAltKeyDown
local CreateFrame, UIParent = CreateFrame, UIParent
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: NOT_BOUND
-
--[[-----------------------------------------------------------------------------
Scripts
-------------------------------------------------------------------------------]]
@@ -214,7 +210,7 @@ local function Constructor()
label:SetJustifyH("CENTER")
label:SetHeight(18)
- local msgframe = CreateFrame("Frame", nil, UIParent, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local msgframe = CreateFrame("Frame", nil, UIParent, "BackdropTemplate")
msgframe:SetHeight(30)
msgframe:SetBackdrop(ControlBackdrop)
msgframe:SetBackdropColor(0,0,0)
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua b/Libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua
index 5c75f3b..d0841ef 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua
@@ -2,7 +2,7 @@
Label Widget
Displays text and optionally an icon.
-------------------------------------------------------------------------------]]
-local Type, Version = "Label", 27
+local Type, Version = "Label", 28
local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end
@@ -12,10 +12,6 @@ local max, select, pairs = math.max, select, pairs
-- WoW APIs
local CreateFrame, UIParent = CreateFrame, UIParent
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: GameFontHighlightSmall
-
--[[-----------------------------------------------------------------------------
Support functions
-------------------------------------------------------------------------------]]
@@ -129,12 +125,16 @@ local methods = {
end,
["SetFont"] = function(self, font, height, flags)
- self.label:SetFont(font, height, flags)
- UpdateImageAnchor(self)
+ if not self.fontObject then
+ self.fontObject = CreateFont("AceGUI30LabelFont" .. AceGUI:GetNextWidgetNum(Type))
+ end
+ self.fontObject:SetFont(font, height, flags)
+ self:SetFontObject(self.fontObject)
end,
["SetFontObject"] = function(self, font)
- self:SetFont((font or GameFontHighlightSmall):GetFont())
+ self.label:SetFontObject(font or GameFontHighlightSmall)
+ UpdateImageAnchor(self)
end,
["SetImageSize"] = function(self, width, height)
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua b/Libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua
index 0e953ab..bacb2be 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua
@@ -1,4 +1,4 @@
-local Type, Version = "MultiLineEditBox", 29
+local Type, Version = "MultiLineEditBox", 32
local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end
@@ -10,10 +10,6 @@ local GetCursorInfo, GetSpellInfo, ClearCursor = GetCursorInfo, GetSpellInfo, Cl
local CreateFrame, UIParent = CreateFrame, UIParent
local _G = _G
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: ACCEPT, ChatFontNormal
-
--[[-----------------------------------------------------------------------------
Support functions
-------------------------------------------------------------------------------]]
@@ -145,6 +141,14 @@ local function OnVerticalScroll(self, offset)
editBox:SetHitRectInsets(0, 0, offset, editBox:GetHeight() - offset - self:GetHeight())
end
+local function OnScrollRangeChanged(self, xrange, yrange)
+ if yrange == 0 then
+ self.obj.editBox:SetHitRectInsets(0, 0, 0, 0)
+ else
+ OnVerticalScroll(self, self:GetVerticalScroll())
+ end
+end
+
local function OnShowFocus(frame)
frame.obj.editBox:SetFocus()
frame:SetScript("OnShow", nil)
@@ -257,8 +261,6 @@ local methods = {
["SetCursorPosition"] = function(self, ...)
return self.editBox:SetCursorPosition(...)
end,
-
-
}
--[[-----------------------------------------------------------------------------
@@ -297,7 +299,7 @@ local function Constructor()
text:SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", -5, 1)
text:SetJustifyV("MIDDLE")
- local scrollBG = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local scrollBG = CreateFrame("Frame", nil, frame, "BackdropTemplate")
scrollBG:SetBackdrop(backdrop)
scrollBG:SetBackdropColor(0, 0, 0)
scrollBG:SetBackdropBorderColor(0.4, 0.4, 0.4)
@@ -321,6 +323,7 @@ local function Constructor()
scrollFrame:SetScript("OnReceiveDrag", OnReceiveDrag)
scrollFrame:SetScript("OnSizeChanged", OnSizeChanged)
scrollFrame:HookScript("OnVerticalScroll", OnVerticalScroll)
+ scrollFrame:HookScript("OnScrollRangeChanged", OnScrollRangeChanged)
local editBox = CreateFrame("EditBox", ("%s%dEdit"):format(Type, widgetNum), scrollFrame)
editBox:SetAllPoints()
diff --git a/Libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua b/Libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua
index 9f26d2d..483d400 100644
--- a/Libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua
+++ b/Libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua
@@ -14,10 +14,6 @@ local tonumber, pairs = tonumber, pairs
local PlaySound = PlaySound
local CreateFrame, UIParent = CreateFrame, UIParent
--- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
--- List them here for Mikk's FindGlobals script
--- GLOBALS: GameFontHighlightSmall
-
--[[-----------------------------------------------------------------------------
Support functions
-------------------------------------------------------------------------------]]
@@ -31,13 +27,13 @@ local function UpdateText(self)
end
local function UpdateLabels(self)
- local min, max = (self.min or 0), (self.max or 100)
+ local min_value, max_value = (self.min or 0), (self.max or 100)
if self.ispercent then
- self.lowtext:SetFormattedText("%s%%", (min * 100))
- self.hightext:SetFormattedText("%s%%", (max * 100))
+ self.lowtext:SetFormattedText("%s%%", (min_value * 100))
+ self.hightext:SetFormattedText("%s%%", (max_value * 100))
else
- self.lowtext:SetText(min)
- self.hightext:SetText(max)
+ self.lowtext:SetText(min_value)
+ self.hightext:SetText(max_value)
end
end
@@ -175,13 +171,13 @@ local methods = {
self.label:SetText(text)
end,
- ["SetSliderValues"] = function(self, min, max, step)
+ ["SetSliderValues"] = function(self, min_value, max_value, step)
local frame = self.slider
frame.setup = true
- self.min = min
- self.max = max
+ self.min = min_value
+ self.max = max_value
self.step = step
- frame:SetMinMaxValues(min or 0,max or 100)
+ frame:SetMinMaxValues(min_value or 0,max_value or 100)
UpdateLabels(self)
frame:SetValueStep(step or 1)
if self.value then
@@ -225,7 +221,7 @@ local function Constructor()
label:SetJustifyH("CENTER")
label:SetHeight(15)
- local slider = CreateFrame("Slider", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local slider = CreateFrame("Slider", nil, frame, "BackdropTemplate")
slider:SetOrientation("HORIZONTAL")
slider:SetHeight(15)
slider:SetHitRectInsets(0, 0, -10, 0)
@@ -247,7 +243,7 @@ local function Constructor()
local hightext = slider:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
hightext:SetPoint("TOPRIGHT", slider, "BOTTOMRIGHT", -2, 3)
- local editbox = CreateFrame("EditBox", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil)
+ local editbox = CreateFrame("EditBox", nil, frame, "BackdropTemplate")
editbox:SetAutoFocus(false)
editbox:SetFontObject(GameFontHighlightSmall)
editbox:SetPoint("TOP", slider, "BOTTOM")
diff --git a/Libs/AceHook-3.0/AceHook-3.0.lua b/Libs/AceHook-3.0/AceHook-3.0.lua
index d91c36f..7d26d91 100644
--- a/Libs/AceHook-3.0/AceHook-3.0.lua
+++ b/Libs/AceHook-3.0/AceHook-3.0.lua
@@ -9,8 +9,8 @@
-- make into AceHook.
-- @class file
-- @name AceHook-3.0
--- @release $Id: AceHook-3.0.lua 1202 2019-05-15 23:11:22Z nevcairiel $
-local ACEHOOK_MAJOR, ACEHOOK_MINOR = "AceHook-3.0", 8
+-- @release $Id: AceHook-3.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $
+local ACEHOOK_MAJOR, ACEHOOK_MINOR = "AceHook-3.0", 9
local AceHook, oldminor = LibStub:NewLibrary(ACEHOOK_MAJOR, ACEHOOK_MINOR)
if not AceHook then return end -- No upgrade needed
@@ -195,7 +195,6 @@ function hook(self, obj, method, handler, script, secure, raw, forceSecure, usag
registry[self][method] = nil
end
handlers[uid], actives[uid], scripts[uid] = nil, nil, nil
- uid = nil
end
local orig
@@ -478,10 +477,10 @@ function AceHook:UnhookAll()
for key, value in pairs(registry[self]) do
if type(key) == "table" then
for method in pairs(value) do
- self:Unhook(key, method)
+ AceHook.Unhook(self, key, method)
end
else
- self:Unhook(key)
+ AceHook.Unhook(self, key)
end
end
end
diff --git a/Libs/AceSerializer-3.0/AceSerializer-3.0.lua b/Libs/AceSerializer-3.0/AceSerializer-3.0.lua
index 2a4c5ef..25b3fb1 100644
--- a/Libs/AceSerializer-3.0/AceSerializer-3.0.lua
+++ b/Libs/AceSerializer-3.0/AceSerializer-3.0.lua
@@ -10,7 +10,7 @@
-- make into AceSerializer.
-- @class file
-- @name AceSerializer-3.0
--- @release $Id: AceSerializer-3.0.lua 1202 2019-05-15 23:11:22Z nevcairiel $
+-- @release $Id: AceSerializer-3.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $
local MAJOR,MINOR = "AceSerializer-3.0", 5
local AceSerializer, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
@@ -83,9 +83,9 @@ local function SerializeValue(v, res, nres)
elseif t=="table" then -- ^T...^t = table (list of key,value pairs)
nres=nres+1
res[nres] = "^T"
- for k,v in pairs(v) do
- nres = SerializeValue(k, res, nres)
- nres = SerializeValue(v, res, nres)
+ for key,value in pairs(v) do
+ nres = SerializeValue(key, res, nres)
+ nres = SerializeValue(value, res, nres)
end
nres=nres+1
res[nres] = "^t"
diff --git a/Libs/AceTimer-3.0/AceTimer-3.0.lua b/Libs/AceTimer-3.0/AceTimer-3.0.lua
index 33b4da4..8776da2 100644
--- a/Libs/AceTimer-3.0/AceTimer-3.0.lua
+++ b/Libs/AceTimer-3.0/AceTimer-3.0.lua
@@ -15,7 +15,7 @@
-- make into AceTimer.
-- @class file
-- @name AceTimer-3.0
--- @release $Id: AceTimer-3.0.lua 1202 2019-05-15 23:11:22Z nevcairiel $
+-- @release $Id: AceTimer-3.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $
local MAJOR, MINOR = "AceTimer-3.0", 17 -- Bump minor on changes
local AceTimer, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
@@ -61,11 +61,11 @@ local function new(self, loop, func, delay, ...)
-- Compensate delay to get a perfect average delay, even if individual times don't match up perfectly
-- due to fps differences
local time = GetTime()
- local delay = timer.delay - (time - timer.ends)
+ local ndelay = timer.delay - (time - timer.ends)
-- Ensure the delay doesn't go below the threshold
- if delay < 0.01 then delay = 0.01 end
- C_TimerAfter(delay, timer.callback)
- timer.ends = time + delay
+ if ndelay < 0.01 then ndelay = 0.01 end
+ C_TimerAfter(ndelay, timer.callback)
+ timer.ends = time + ndelay
else
activeTimers[timer.handle or timer] = nil
end
diff --git a/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua b/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua
index 9016d1e..a791159 100644
--- a/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua
+++ b/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua
@@ -1,61 +1,31 @@
---[[ $Id: CallbackHandler-1.0.lua 3 2008-09-29 16:54:20Z nevcairiel $ ]]
-local MAJOR, MINOR = "CallbackHandler-1.0", 3
+--[[ $Id: CallbackHandler-1.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $ ]]
+local MAJOR, MINOR = "CallbackHandler-1.0", 7
local CallbackHandler = LibStub:NewLibrary(MAJOR, MINOR)
if not CallbackHandler then return end -- No upgrade needed
local meta = {__index = function(tbl, key) tbl[key] = {} return tbl[key] end}
-local type = type
-local pcall = pcall
-local pairs = pairs
-local assert = assert
-local concat = table.concat
-local loadstring = loadstring
-local next = next
-local select = select
-local type = type
+-- Lua APIs
+local error = error
+local setmetatable, rawget = setmetatable, rawget
+local next, select, pairs, type, tostring = next, select, pairs, type, tostring
+
local xpcall = xpcall
local function errorhandler(err)
return geterrorhandler()(err)
end
-local function CreateDispatcher(argCount)
- local code = [[
- local next, xpcall, eh = ...
-
- local method, ARGS
- local function call() method(ARGS) end
-
- local function dispatch(handlers, ...)
- local index
- index, method = next(handlers)
- if not method then return end
- local OLD_ARGS = ARGS
- ARGS = ...
- repeat
- xpcall(call, eh)
- index, method = next(handlers, index)
- until not method
- ARGS = OLD_ARGS
- end
-
- return dispatch
- ]]
-
- local ARGS, OLD_ARGS = {}, {}
- for i = 1, argCount do ARGS[i], OLD_ARGS[i] = "arg"..i, "old_arg"..i end
- code = code:gsub("OLD_ARGS", concat(OLD_ARGS, ", ")):gsub("ARGS", concat(ARGS, ", "))
- return assert(loadstring(code, "safecall Dispatcher["..argCount.."]"))(next, xpcall, errorhandler)
+local function Dispatch(handlers, ...)
+ local index, method = next(handlers)
+ if not method then return end
+ repeat
+ xpcall(method, errorhandler, ...)
+ index, method = next(handlers, index)
+ until not method
end
-local Dispatchers = setmetatable({}, {__index=function(self, argCount)
- local dispatcher = CreateDispatcher(argCount)
- rawset(self, argCount, dispatcher)
- return dispatcher
-end})
-
--------------------------------------------------------------------------
-- CallbackHandler:New
--
@@ -64,9 +34,7 @@ end})
-- UnregisterName - name of the callback unregistration API, default "UnregisterCallback"
-- UnregisterAllName - name of the API to unregister all callbacks, default "UnregisterAllCallbacks". false == don't publish this API.
-function CallbackHandler:New(target, RegisterName, UnregisterName, UnregisterAllName, OnUsed, OnUnused)
- -- TODO: Remove this after beta has gone out
- assert(not OnUsed and not OnUnused, "ACE-80: OnUsed/OnUnused are deprecated. Callbacks are now done to registry.OnUsed and registry.OnUnused")
+function CallbackHandler.New(_self, target, RegisterName, UnregisterName, UnregisterAllName)
RegisterName = RegisterName or "RegisterCallback"
UnregisterName = UnregisterName or "UnregisterCallback"
@@ -88,19 +56,19 @@ function CallbackHandler:New(target, RegisterName, UnregisterName, UnregisterAll
local oldrecurse = registry.recurse
registry.recurse = oldrecurse + 1
- Dispatchers[select('#', ...) + 1](events[eventname], eventname, ...)
+ Dispatch(events[eventname], eventname, ...)
registry.recurse = oldrecurse
if registry.insertQueue and oldrecurse==0 then
-- Something in one of our callbacks wanted to register more callbacks; they got queued
- for eventname,callbacks in pairs(registry.insertQueue) do
- local first = not rawget(events, eventname) or not next(events[eventname]) -- test for empty before. not test for one member after. that one member may have been overwritten.
- for self,func in pairs(callbacks) do
- events[eventname][self] = func
+ for event,callbacks in pairs(registry.insertQueue) do
+ local first = not rawget(events, event) or not next(events[event]) -- test for empty before. not test for one member after. that one member may have been overwritten.
+ for object,func in pairs(callbacks) do
+ events[event][object] = func
-- fire OnUsed callback?
if first and registry.OnUsed then
- registry.OnUsed(registry, target, eventname)
+ registry.OnUsed(registry, target, event)
first = nil
end
end
@@ -146,9 +114,9 @@ function CallbackHandler:New(target, RegisterName, UnregisterName, UnregisterAll
regfunc = function(...) self[method](self,...) end
end
else
- -- function ref with self=object or self="addonId"
- if type(self)~="table" and type(self)~="string" then
- error("Usage: "..RegisterName.."(self or \"addonId\", eventname, method): 'self or addonId': table or string expected.", 2)
+ -- function ref with self=object or self="addonId" or self=thread
+ if type(self)~="table" and type(self)~="string" and type(self)~="thread" then
+ error("Usage: "..RegisterName.."(self or \"addonId\", eventname, method): 'self or addonId': table or string or thread expected.", 2)
end
if select("#",...)>=1 then -- this is not the same as testing for arg==nil!
diff --git a/Libs/CallbackHandler-1.0/CallbackHandler-1.0.xml b/Libs/CallbackHandler-1.0/CallbackHandler-1.0.xml
index 876df83..c107f88 100644
--- a/Libs/CallbackHandler-1.0/CallbackHandler-1.0.xml
+++ b/Libs/CallbackHandler-1.0/CallbackHandler-1.0.xml
@@ -1,4 +1,4 @@
-
\ No newline at end of file
+
diff --git a/Libs/DRList-1.0/DRList-1.0.lua b/Libs/DRList-1.0/DRList-1.0.lua
index 0f2e52a..cfe677a 100644
--- a/Libs/DRList-1.0/DRList-1.0.lua
+++ b/Libs/DRList-1.0/DRList-1.0.lua
@@ -9,7 +9,7 @@ License: MIT
--- DRList-1.0
-- @module DRList-1.0
-local MAJOR, MINOR = "DRList-1.0", 42 -- Don't forget to change this in Spells.lua aswell!
+local MAJOR, MINOR = "DRList-1.0", 49 -- Don't forget to change this in Spells.lua aswell!
local Lib = assert(LibStub, MAJOR .. " requires LibStub."):NewLibrary(MAJOR, MINOR)
if not Lib then return end -- already loaded
@@ -62,7 +62,8 @@ elseif locale == "frFR" then
L["STUNS"] = "Etourdissements"
L["TAUNTS"] = "Provocations"
elseif locale == "itIT" then
- --@localization(locale="itIT", namespace="Categories", format="lua_additive_table", handle-unlocalized="ignore")@
+ -- Categories
+
elseif locale == "koKR" then
L["DISORIENTS"] = "방향 감각 상실"
L["INCAPACITATES"] = "행동 불가"
@@ -71,7 +72,8 @@ elseif locale == "koKR" then
L["SILENCES"] = "침묵"
L["STUNS"] = "기절"
elseif locale == "ptBR" then
- --@localization(locale="ptBR", namespace="Categories", format="lua_additive_table", handle-unlocalized="ignore")@
+ -- Categories
+
elseif locale == "ruRU" then
L["DISARMS"] = "Разоружение"
L["DISORIENTS"] = "Дезориентация"
@@ -129,33 +131,29 @@ Lib.gameExpansion = ({
[WOW_PROJECT_MAINLINE] = "retail",
[WOW_PROJECT_CLASSIC] = "classic",
[WOW_PROJECT_BURNING_CRUSADE_CLASSIC or 5] = "tbc",
+ [WOW_PROJECT_WRATH_CLASSIC or 11] = "wotlk",
})[WOW_PROJECT_ID]
-local tocVersion = select(4, GetBuildInfo())
-if tocVersion >= 30400 and tocVersion < 40000 then
- Lib.gameExpansion = "wotlk" -- temporary check for wotlk build until new constant is added
-end
-
-- How long it takes for a DR to expire, in seconds.
Lib.resetTimes = {
retail = {
["default"] = 18.5, -- 18 sec + 0.5 latency
["npc"] = 23, -- Against mobs it seems to last slightly longer, depending on server load
- ["knockback"] = 10, -- Knockbacks are immediately immune and only DRs for 10s
+ ["knockback"] = 10.5, -- Knockbacks are immediately immune and only DRs for 10s
},
classic = {
- ["default"] = 19, -- dynamic between 15 and 20s
+ ["default"] = 20, -- dynamic between 15 and 20s
["npc"] = 23,
},
tbc = {
- ["default"] = 19, -- dynamic between 15 and 20s
+ ["default"] = 20, -- dynamic between 15 and 20s
["npc"] = 23,
},
wotlk = {
- ["default"] = 19, -- dynamic between 15 and 20s
+ ["default"] = 20, -- dynamic between 15 and 20s
["npc"] = 23,
},
}
@@ -203,7 +201,7 @@ Lib.categoryNames = {
["counterattack"] = L.COUNTERATTACK,
},
- wotlk = { -- WORK IN PROGRESS
+ wotlk = {
["incapacitate"] = L.INCAPACITATES,
["stun"] = L.STUNS,
["random_stun"] = L.RANDOM_STUNS,
diff --git a/Libs/DRList-1.0/DRList-1.0.toc b/Libs/DRList-1.0/DRList-1.0.toc
index 30cf4f5..b3d948b 100644
--- a/Libs/DRList-1.0/DRList-1.0.toc
+++ b/Libs/DRList-1.0/DRList-1.0.toc
@@ -1,9 +1,6 @@
-## Interface: 90205
-## Interface-Classic: 11402
-## Interface-BCC: 20504
-## Interface-Wrath: 30400
+## Interface: 100002
## Title: Lib: DRList-1.0
-## Version: @project-version@
+## Version: v1.3.8
## X-Category: Library
## X-License: MIT
## X-Curse-Project-ID: 315757
@@ -14,10 +11,3 @@ libs\LibStub\LibStub.lua
#@end-no-lib-strip@
DRList-1.0.xml
-#@do-not-package@
-tests\engine.lua
-tests\test-retail.lua
-tests\test-classic.lua
-tests\test-tbc.lua
-tests\test-wotlk.lua
-#@end-do-not-package@
diff --git a/Libs/DRList-1.0/Spells.lua b/Libs/DRList-1.0/Spells.lua
index 3053a5d..3f4a705 100644
--- a/Libs/DRList-1.0/Spells.lua
+++ b/Libs/DRList-1.0/Spells.lua
@@ -1,4 +1,4 @@
-local MAJOR, MINOR = "DRList-1.0", 42 -- Don't forget to change this in DRList-1.0.lua aswell!
+local MAJOR, MINOR = "DRList-1.0", 49 -- Don't forget to change this in DRList-1.0.lua aswell!
local Lib = LibStub(MAJOR)
if Lib.spellListVersion and Lib.spellListVersion >= MINOR then
return
@@ -13,12 +13,14 @@ if Lib.gameExpansion == "retail" then
[207167] = "disorient", -- Blinding Sleet
[207685] = "disorient", -- Sigil of Misery
[33786] = "disorient", -- Cyclone
+ [360806] = "disorient", -- Sleep Walk
[1513] = "disorient", -- Scare Beast
[31661] = "disorient", -- Dragon's Breath
[198909] = "disorient", -- Song of Chi-ji
[202274] = "disorient", -- Incendiary Brew
[105421] = "disorient", -- Blinding Light
[10326] = "disorient", -- Turn Evil
+ [205364] = "disorient", -- Dominate Mind
[605] = "disorient", -- Mind Control
[8122] = "disorient", -- Psychic Scream
[226943] = "disorient", -- Mind Bomb
@@ -36,9 +38,11 @@ if Lib.gameExpansion == "retail" then
[221527] = "incapacitate", -- Imprison (Honor talent)
[2637] = "incapacitate", -- Hibernate
[99] = "incapacitate", -- Incapacitating Roar
+ [378441] = "incapacitate", -- Time Stop
[3355] = "incapacitate", -- Freezing Trap
[203337] = "incapacitate", -- Freezing Trap (Honor talent)
[213691] = "incapacitate", -- Scatter Shot
+ [383121] = "incapacitate", -- Mass Polymorph
[118] = "incapacitate", -- Polymorph
[28271] = "incapacitate", -- Polymorph (Turtle)
[28272] = "incapacitate", -- Polymorph (Pig)
@@ -53,8 +57,11 @@ if Lib.gameExpansion == "retail" then
[161372] = "incapacitate", -- Polymorph (Peacock)
[277787] = "incapacitate", -- Polymorph (Baby Direhorn)
[277792] = "incapacitate", -- Polymorph (Bumblebee)
+ [321395] = "incapacitate", -- Polymorph (Mawrat)
+ [391622] = "incapacitate", -- Polymorph (Duck)
[82691] = "incapacitate", -- Ring of Frost
[115078] = "incapacitate", -- Paralysis
+ [357768] = "incapacitate", -- Paralysis 2 (Perpetual Paralysis?)
[20066] = "incapacitate", -- Repentance
[9484] = "incapacitate", -- Shackle Undead
[200196] = "incapacitate", -- Holy Word: Chastise
@@ -80,6 +87,8 @@ if Lib.gameExpansion == "retail" then
-- [78675] = "silence", -- Solar Beam (has no DR)
[202933] = "silence", -- Spider Sting
[356727] = "silence", -- Spider Venom
+ [354831] = "silence", -- Wailing Arrow 1
+ [355596] = "silence", -- Wailing Arrow 2
[217824] = "silence", -- Shield of Virtue
[15487] = "silence", -- Silence
[1330] = "silence", -- Garrote
@@ -102,10 +111,14 @@ if Lib.gameExpansion == "retail" then
[5211] = "stun", -- Mighty Bash
[202244] = "stun", -- Overrun
[325321] = "stun", -- Wild Hunt's Charge
+ [372245] = "stun", -- Terror of the Skies
+ [117526] = "stun", -- Binding Shot
[357021] = "stun", -- Consecutive Concussion
[24394] = "stun", -- Intimidation
+ [389831] = "stun", -- Snowdrift
[119381] = "stun", -- Leg Sweep
[202346] = "stun", -- Double Barrel
+ [385149] = "stun", -- Exorcism
[853] = "stun", -- Hammer of Justice
[255941] = "stun", -- Wake of Ashes
[64044] = "stun", -- Psychic Horror
@@ -119,6 +132,7 @@ if Lib.gameExpansion == "retail" then
[171017] = "stun", -- Meteor Strike (Infernal)
[171018] = "stun", -- Meteor Strike (Abyssal)
[30283] = "stun", -- Shadowfury
+ [385954] = "stun", -- Shield Charge
[46968] = "stun", -- Shockwave
[132168] = "stun", -- Shockwave (Protection)
[145047] = "stun", -- Shockwave (Proving Grounds PvE)
@@ -128,13 +142,16 @@ if Lib.gameExpansion == "retail" then
[255723] = "stun", -- Bull Rush (Highmountain Tauren)
[287712] = "stun", -- Haymaker (Kul Tiran)
[332423] = "stun", -- Sparkling Driftglobe Core (Kyrian Covenant)
+ -- TODO: Inferal Awakening?
[204085] = "root", -- Deathchill (Chains of Ice)
[233395] = "root", -- Deathchill (Remorseless Winter)
[339] = "root", -- Entangling Roots
+ [235963] = "root", -- Entangling Roots (Earthen Grasp)
[170855] = "root", -- Entangling Roots (Nature's Grasp)
[102359] = "root", -- Mass Entanglement
- [117526] = "root", -- Binding Shot
+ [355689] = "root", -- Landslide
+ [393456] = "root", -- Entrapment (Tar Trap)
[162480] = "root", -- Steel Trap
[273909] = "root", -- Steelclaw Trap
-- [190927] = "root_harpoon", -- Harpoon (TODO: confirm)
@@ -142,13 +159,17 @@ if Lib.gameExpansion == "retail" then
[201158] = "root", -- Super Sticky Tar
[122] = "root", -- Frost Nova
[33395] = "root", -- Freeze
+ [386770] = "root", -- Freezing Cold
[198121] = "root", -- Frostbite
+ [114404] = "root", -- Void Tendril's Grasp
[342375] = "root", -- Tormenting Backlash (Torghast PvE)
[233582] = "root", -- Entrenched in Flame
[116706] = "root", -- Disable
[324382] = "root", -- Clash
[64695] = "root", -- Earthgrab (Totem effect)
+-- [356738] = "root", -- Earth Unleashed (doesn't seem to DR)
[285515] = "root", -- Surge of Power
+ --[356356] = "root", -- Warbringer TODO: has DR?
[39965] = "root", -- Frost Grenade (Item)
[75148] = "root", -- Embersilk Net (Item)
[55536] = "root", -- Frostweave Net (Item)
@@ -360,7 +381,7 @@ elseif Lib.gameExpansion == "tbc" then
[27067] = "counterattack", -- Counterattack (Rank 4)
}
-elseif Lib.gameExpansion == "wotlk" then -- STILL WORK IN PROGRESS, I DON'T HAVE BETA ACCESS
+elseif Lib.gameExpansion == "wotlk" then
-- SpellID list for Wrath of the Lich King.
-- spellID for every rank is used over spell name to avoid name collisions, and faster lookups
@@ -415,6 +436,9 @@ elseif Lib.gameExpansion == "wotlk" then -- STILL WORK IN PROGRESS, I DON'T HAVE
[30216] = "incapacitate", -- Fel Iron Bomb
[30461] = "incapacitate", -- The Bigger One
[30217] = "incapacitate", -- Adamantite Grenade
+ [67769] = "incapacitate", -- Cobalt Frag Bomb
+ [67890] = "incapacitate", -- Cobalt Frag Bomb (Frag Belt)
+ [54466] = "incapacitate", -- Saronite Grenade
[47481] = "stun", -- Gnaw (Ghoul Pet)
[5211] = "stun", -- Bash (Rank 1)
@@ -527,6 +551,7 @@ elseif Lib.gameExpansion == "wotlk" then -- STILL WORK IN PROGRESS, I DON'T HAVE
[42917] = "root", -- Frost Nova (Rank 6)
[39965] = "root", -- Frost Grenade (Item)
[63685] = "root", -- Freeze (Frost Shock)
+ [55536] = "root", -- Frostweave Net (Item)
[12494] = "random_root", -- Frostbite
[55080] = "random_root", -- Shattered Barrier
@@ -542,6 +567,7 @@ elseif Lib.gameExpansion == "wotlk" then -- STILL WORK IN PROGRESS, I DON'T HAVE
[53540] = "disarm", -- Snatch (Rank 4)
[53542] = "disarm", -- Snatch (Rank 5)
[53543] = "disarm", -- Snatch (Rank 6)
+ [64346] = "disarm", -- Fiery Payback
[64058] = "disarm", -- Psychic Horror Disarm Effect
[51722] = "disarm", -- Dismantle
[676] = "disarm", -- Disarm
@@ -592,6 +618,7 @@ elseif Lib.gameExpansion == "wotlk" then -- STILL WORK IN PROGRESS, I DON'T HAVE
[33786] = "cyclone", -- Cyclone
[605] = "mind_control", -- Mind Control
[13181] = "mind_control", -- Gnomish Mind Control Cap
+ [67799] = "mind_control", -- Mind Amplification Dish
[7922] = "charge", -- Charge Stun
[19306] = "counterattack", -- Counterattack 1
[20909] = "counterattack", -- Counterattack 2
@@ -600,8 +627,6 @@ elseif Lib.gameExpansion == "wotlk" then -- STILL WORK IN PROGRESS, I DON'T HAVE
[48998] = "counterattack", -- Counterattack 5
[48999] = "counterattack", -- Counterattack 6
--Storm, Earth and Fire has no DR
-
- -- TODO: profession stuff
}
elseif Lib.gameExpansion == "classic" then
diff --git a/Libs/LibCustomGlow-1.0/LibCustomGlow-1.0.lua b/Libs/LibCustomGlow-1.0/LibCustomGlow-1.0.lua
index 401ed5d..bc98d0a 100644
--- a/Libs/LibCustomGlow-1.0/LibCustomGlow-1.0.lua
+++ b/Libs/LibCustomGlow-1.0/LibCustomGlow-1.0.lua
@@ -51,7 +51,7 @@ GlowMaskPool.parent = GlowParent
local TexPoolResetter = function(pool,tex)
local maskNum = tex:GetNumMaskTextures()
- for i = maskNum,1 do
+ for i = maskNum , 1, -1 do
tex:RemoveMaskTexture(tex:GetMaskTexture(i))
end
tex:Hide()
@@ -93,14 +93,14 @@ lib.GlowFramePool = GlowFramePool
local function addFrameAndTex(r,color,name,key,N,xOffset,yOffset,texture,texCoord,desaturated,frameLevel)
key = key or ""
- frameLevel = frameLevel or 8
+ frameLevel = frameLevel or 8
if not r[name..key] then
r[name..key] = GlowFramePool:Acquire()
r[name..key]:SetParent(r)
r[name..key].name = name..key
end
local f = r[name..key]
- f:SetFrameLevel(r:GetFrameLevel()+frameLevel)
+ f:SetFrameLevel(r:GetFrameLevel()+frameLevel)
f:SetPoint("TOPLEFT",r,"TOPLEFT",-xOffset+0.05,yOffset+0.05)
f:SetPoint("BOTTOMRIGHT",r,"BOTTOMRIGHT",xOffset,-yOffset+0.05)
f:Show()
@@ -613,7 +613,7 @@ function lib.ButtonGlow_Start(r,color,frequency,frameLevel)
if not r then
return
end
- frameLevel = frameLevel or 8;
+ frameLevel = frameLevel or 8;
local throttle
if frequency and frequency > 0 then
throttle = 0.25/frequency*0.01
@@ -628,8 +628,8 @@ function lib.ButtonGlow_Start(r,color,frequency,frameLevel)
f:SetPoint("TOPLEFT", r, "TOPLEFT", -width * 0.2, height * 0.2)
f:SetPoint("BOTTOMRIGHT", r, "BOTTOMRIGHT", width * 0.2, -height * 0.2)
f.ants:SetSize(width*1.4*0.85, height*1.4*0.85)
- AnimIn_OnFinished(f.animIn)
- if f.animOut:IsPlaying() then
+ AnimIn_OnFinished(f.animIn)
+ if f.animOut:IsPlaying() then
f.animOut:Stop()
f.animIn:Play()
end
diff --git a/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.lua b/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.lua
index c66e9cc..fb3446c 100644
--- a/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.lua
+++ b/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.lua
@@ -1,6 +1,7 @@
+--@curseforge-project-slug: libsharedmedia-3-0@
--[[
Name: LibSharedMedia-3.0
-Revision: $Revision: 114 $
+Revision: $Revision: 128 $
Author: Elkano (elkano@gmx.de)
Inspired By: SurfaceLib by Haste/Otravi (troeks@gmail.com)
Website: http://www.wowace.com/projects/libsharedmedia-3-0/
diff --git a/Libs/LibSharedMedia-3.0/lib.xml b/Libs/LibSharedMedia-3.0/lib.xml
index 34aa874..7f2fd53 100644
--- a/Libs/LibSharedMedia-3.0/lib.xml
+++ b/Libs/LibSharedMedia-3.0/lib.xml
@@ -1,4 +1,4 @@
-
\ No newline at end of file
+
diff --git a/Libs/LibStub/LibStub.lua b/Libs/LibStub/LibStub.lua
index 0a41ac0..d50c267 100644
--- a/Libs/LibStub/LibStub.lua
+++ b/Libs/LibStub/LibStub.lua
@@ -7,24 +7,24 @@ if not LibStub or LibStub.minor < LIBSTUB_MINOR then
LibStub = LibStub or {libs = {}, minors = {} }
_G[LIBSTUB_MAJOR] = LibStub
LibStub.minor = LIBSTUB_MINOR
-
+
function LibStub:NewLibrary(major, minor)
assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)")
- minor = assert(tonumber(strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.")
-
+ minor = assert(tonumber(string.match(minor, "%d+")), "Minor version must either be a number or contain a number.")
+
local oldminor = self.minors[major]
if oldminor and oldminor >= minor then return nil end
self.minors[major], self.libs[major] = minor, self.libs[major] or {}
return self.libs[major], oldminor
end
-
+
function LibStub:GetLibrary(major, silent)
if not self.libs[major] and not silent then
error(("Cannot find a library instance of %q."):format(tostring(major)), 2)
end
return self.libs[major], self.minors[major]
end
-
+
function LibStub:IterateLibraries() return pairs(self.libs) end
setmetatable(LibStub, { __call = LibStub.GetLibrary })
end