mirror of
https://github.com/brues-code/pfUI.git
synced 2026-10-11 08:00:01 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
13a08b0ea3 | ||
|
|
a2177fbf49 | ||
|
|
9cd83e90ad | ||
|
|
9bcc11e64f | ||
|
|
acab272ec0 | ||
|
|
61c2f996fa | ||
|
|
59ce6d9e74 |
+58
-17
@@ -542,29 +542,60 @@ do -- create a scope so we don't have to worry about upvalue collisions
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- [ HookScript ]
|
||||||
|
-- Securely post-hooks a script handler.
|
||||||
|
-- 'f' [frame] the frame which needs a hook
|
||||||
|
-- 'script' [string] the handler to hook
|
||||||
|
-- 'func' [function] the function that should be added
|
||||||
|
function HookScript(f, script, func)
|
||||||
|
f:HookScript(script, func)
|
||||||
|
end
|
||||||
|
|
||||||
|
function hooksecurefunc(tbl, name, func)
|
||||||
|
if type(tbl) == "string" then tbl, name, func = _G, tbl, name end
|
||||||
|
if not tbl or type(tbl[name]) ~= "function" then return end
|
||||||
|
return _G.hooksecurefunc(tbl, name, func)
|
||||||
|
end
|
||||||
|
|
||||||
-- [ HookAddonOrVariable ]
|
-- [ HookAddonOrVariable ]
|
||||||
-- Sets a function to be called automatically once an addon gets loaded
|
-- Sets a function to be called automatically once an addon gets loaded
|
||||||
-- 'addon' [string] addon or variable name
|
-- 'addon' [string] addon or variable name
|
||||||
-- 'func' [function] function that should run
|
-- 'func' [function] function that should run
|
||||||
function pfUI.api.HookAddonOrVariable(addon, func)
|
do
|
||||||
local lurker = CreateFrame("Frame", nil)
|
local lurker
|
||||||
lurker.func = func
|
local pending = {}
|
||||||
lurker:RegisterEvent("ADDON_LOADED")
|
|
||||||
lurker:RegisterEvent("VARIABLES_LOADED")
|
local function ProcessPending()
|
||||||
lurker:RegisterEvent("PLAYER_ENTERING_WORLD")
|
if not lurker.foundConfig then return end
|
||||||
lurker:SetScript("OnEvent",function()
|
for i = table.getn(pending), 1, -1 do
|
||||||
-- only run when config is available
|
local hook = pending[i]
|
||||||
if event == "ADDON_LOADED" and not this.foundConfig then
|
if IsAddOnLoaded(hook.addon) or _G[hook.addon] then
|
||||||
return
|
hook.func()
|
||||||
elseif event == "VARIABLES_LOADED" then
|
table.remove(pending, i)
|
||||||
this.foundConfig = true
|
end
|
||||||
|
end
|
||||||
|
if table.getn(pending) == 0 then
|
||||||
|
lurker:UnregisterAllEvents()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function pfUI.api.HookAddonOrVariable(addon, func)
|
||||||
|
if not lurker then
|
||||||
|
lurker = CreateFrame("Frame", nil)
|
||||||
|
lurker:SetScript("OnEvent", function()
|
||||||
|
if event == "VARIABLES_LOADED" or event == "PLAYER_ENTERING_WORLD" then
|
||||||
|
this.foundConfig = true
|
||||||
|
end
|
||||||
|
ProcessPending()
|
||||||
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
if IsAddOnLoaded(addon) or _G[addon] then
|
table.insert(pending, { addon = addon, func = func })
|
||||||
this:func()
|
lurker:RegisterEvent("ADDON_LOADED")
|
||||||
this:UnregisterAllEvents()
|
lurker:RegisterEvent("VARIABLES_LOADED")
|
||||||
end
|
lurker:RegisterEvent("PLAYER_ENTERING_WORLD")
|
||||||
end)
|
ProcessPending()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- [ QueueFunction ]
|
-- [ QueueFunction ]
|
||||||
@@ -1546,6 +1577,16 @@ end
|
|||||||
-- 'arg1' [string]
|
-- 'arg1' [string]
|
||||||
-- return object
|
-- return object
|
||||||
function pfUI.api.GetNoNameObject(frame, objtype, layer, arg1, arg2)
|
function pfUI.api.GetNoNameObject(frame, objtype, layer, arg1, arg2)
|
||||||
|
-- A nil/non-frame parent otherwise dies on frame:GetRegions()/:GetChildren()
|
||||||
|
-- below, and the traceback stops here — useless, since all callers share this
|
||||||
|
-- line. pfUI shadows Lua's `error` (dropping the level arg and not throwing),
|
||||||
|
-- so fold the caller frame in via debugstack to name the offending skin, then
|
||||||
|
-- bail so we don't fall through and crash on frame:GetRegions() anyway.
|
||||||
|
if type(frame) ~= "table" or not frame.GetRegions then
|
||||||
|
error("GetNoNameObject: invalid parent frame\n" .. debugstack(2, 3, 0))
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
local arg1 = arg1 and gsub(arg1, "([%+%-%*%(%)%?%[%]%^])", "%%%1")
|
local arg1 = arg1 and gsub(arg1, "([%+%-%*%(%)%?%[%]%^])", "%%%1")
|
||||||
local arg2 = arg2 and gsub(arg2, "([%+%-%*%(%)%?%[%]%^])", "%%%1")
|
local arg2 = arg2 and gsub(arg2, "([%+%-%*%(%)%?%[%]%^])", "%%%1")
|
||||||
|
|
||||||
|
|||||||
@@ -28,17 +28,6 @@ ACTIONBAR_SECURE_TEMPLATE_BUTTON = nil
|
|||||||
UNITFRAME_SECURE_TEMPLATE = nil
|
UNITFRAME_SECURE_TEMPLATE = nil
|
||||||
|
|
||||||
--[[ Vanilla API Extensions ]]--
|
--[[ Vanilla API Extensions ]]--
|
||||||
-- Safe post-hook helper. The global `hooksecurefunc` belongs to ClassicAPI
|
|
||||||
-- (its C implementation); this wrapper only adds pfUI's missing-target guard:
|
|
||||||
-- ClassicAPI errors when target[name] isn't a function, whereas a lot of our
|
|
||||||
-- call sites hook optional/late-loaded frames and rely on a silent no-op.
|
|
||||||
-- Normalizes the string form, skips when the target is absent, then delegates
|
|
||||||
-- to the C version (uncapped args, callback-pcall, taint parity).
|
|
||||||
function pfUI.hooksecurefunc(tbl, name, func)
|
|
||||||
if type(tbl) == "string" then tbl, name, func = _G, tbl, name end
|
|
||||||
if not tbl or type(tbl[name]) ~= "function" then return end
|
|
||||||
return _G.hooksecurefunc(tbl, name, func)
|
|
||||||
end
|
|
||||||
|
|
||||||
do -- GetItemInfo
|
do -- GetItemInfo
|
||||||
local name, link, rarity, minlevel, itype, isubtype, stack
|
local name, link, rarity, minlevel, itype, isubtype, stack
|
||||||
|
|||||||
+3
-3
@@ -897,7 +897,7 @@ local INSTANT_HOT_COOLDOWN = 1.0 -- 1 Sekunde Cooldown (GCD ist 1.5s)
|
|||||||
local pendingHots = {}
|
local pendingHots = {}
|
||||||
|
|
||||||
-- Gather Data by User Actions
|
-- Gather Data by User Actions
|
||||||
pfUI.hooksecurefunc("CastSpell", function(id, bookType)
|
hooksecurefunc("CastSpell", function(id, bookType)
|
||||||
if not libpredict.sender.enabled then return end
|
if not libpredict.sender.enabled then return end
|
||||||
local effect, rank = libspell.GetSpellInfo(id, bookType)
|
local effect, rank = libspell.GetSpellInfo(id, bookType)
|
||||||
if not effect then return end
|
if not effect then return end
|
||||||
@@ -950,7 +950,7 @@ pfUI.hooksecurefunc("CastSpell", function(id, bookType)
|
|||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
pfUI.hooksecurefunc("CastSpellByName", function(effect, target)
|
hooksecurefunc("CastSpellByName", function(effect, target)
|
||||||
if not libpredict.sender.enabled then return end
|
if not libpredict.sender.enabled then return end
|
||||||
local effect, rank = libspell.GetSpellInfo(effect)
|
local effect, rank = libspell.GetSpellInfo(effect)
|
||||||
if not effect then return end
|
if not effect then return end
|
||||||
@@ -1014,7 +1014,7 @@ pfUI.hooksecurefunc("CastSpellByName", function(effect, target)
|
|||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
pfUI.hooksecurefunc("UseAction", function(slot, target, selfcast)
|
hooksecurefunc("UseAction", function(slot, target, selfcast)
|
||||||
if not libpredict.sender.enabled then return end
|
if not libpredict.sender.enabled then return end
|
||||||
if not IsCurrentAction(slot) then return end
|
if not IsCurrentAction(slot) then return end
|
||||||
local kind, id = GetActionInfo(slot)
|
local kind, id = GetActionInfo(slot)
|
||||||
|
|||||||
+1
-1
@@ -54,6 +54,6 @@ end
|
|||||||
|
|
||||||
pfUI.api.libtooltip = libtooltip
|
pfUI.api.libtooltip = libtooltip
|
||||||
|
|
||||||
pfUI.hooksecurefunc(GameTooltip, "SetBagItem", function(self, container, slot)
|
hooksecurefunc(GameTooltip, "SetBagItem", function(self, container, slot)
|
||||||
_, libtooltip.itemCount = GetContainerItemInfo(container, slot)
|
_, libtooltip.itemCount = GetContainerItemInfo(container, slot)
|
||||||
end)
|
end)
|
||||||
|
|||||||
+3
-3
@@ -241,14 +241,14 @@ pfUI.libdebuff_spell_go_hooks["libtotem"] = function(spellId)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- Hook CastSpellByName to store pending name/icon per slot
|
-- Hook CastSpellByName to store pending name/icon per slot
|
||||||
pfUI.hooksecurefunc("CastSpellByName", function(effect, target)
|
hooksecurefunc("CastSpellByName", function(effect, target)
|
||||||
local name, rank, icon, _, _, _, spellId = libspell.GetSpellInfo(effect)
|
local name, rank, icon, _, _, _, spellId = libspell.GetSpellInfo(effect)
|
||||||
if not name then return end
|
if not name then return end
|
||||||
libtotem:CheckAddQueue(name, rank, icon, spellId)
|
libtotem:CheckAddQueue(name, rank, icon, spellId)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- Hook CastSpell to store pending name/icon per slot
|
-- Hook CastSpell to store pending name/icon per slot
|
||||||
pfUI.hooksecurefunc("CastSpell", function(id, bookType)
|
hooksecurefunc("CastSpell", function(id, bookType)
|
||||||
if not id or not bookType then return end
|
if not id or not bookType then return end
|
||||||
if bookType ~= BOOKTYPE_SPELL and bookType ~= BOOKTYPE_PET then return end
|
if bookType ~= BOOKTYPE_SPELL and bookType ~= BOOKTYPE_PET then return end
|
||||||
local name, rank, icon, _, _, _, spellId = libspell.GetSpellInfo(id, bookType)
|
local name, rank, icon, _, _, _, spellId = libspell.GetSpellInfo(id, bookType)
|
||||||
@@ -259,7 +259,7 @@ end)
|
|||||||
-- Hook UseAction. GetActionInfo + GetMacroSpell give us the spellID
|
-- Hook UseAction. GetActionInfo + GetMacroSpell give us the spellID
|
||||||
-- directly for both spell-action and macro-action slots, so the
|
-- directly for both spell-action and macro-action slots, so the
|
||||||
-- tooltip-scan fallback (and the "no spellId available" caveat) goes away.
|
-- tooltip-scan fallback (and the "no spellId available" caveat) goes away.
|
||||||
pfUI.hooksecurefunc("UseAction", function(slot, target, selfcast)
|
hooksecurefunc("UseAction", function(slot, target, selfcast)
|
||||||
if not IsCurrentAction(slot) then return end
|
if not IsCurrentAction(slot) then return end
|
||||||
local kind, id = GetActionInfo(slot)
|
local kind, id = GetActionInfo(slot)
|
||||||
local name, rank, spellID
|
local name, rank, spellID
|
||||||
|
|||||||
+1
-1
@@ -490,7 +490,7 @@ pfUI:RegisterModule("castbar", function ()
|
|||||||
-- (the config knob is read at event time so toggling takes effect on the
|
-- (the config knob is read at event time so toggling takes effect on the
|
||||||
-- next craft without a /reload). DoTradeSkill is synchronous; the server
|
-- next craft without a /reload). DoTradeSkill is synchronous; the server
|
||||||
-- roundtrip to SPELLCAST_START gives us plenty of time after this hook.
|
-- roundtrip to SPELLCAST_START gives us plenty of time after this hook.
|
||||||
pfUI.hooksecurefunc("DoTradeSkill", function(index, num)
|
hooksecurefunc("DoTradeSkill", function(index, num)
|
||||||
if pfUI.castbar.player then
|
if pfUI.castbar.player then
|
||||||
pfUI.castbar.player.pendingTradeskillCount = tonumber(num) or 1
|
pfUI.castbar.player.pendingTradeskillCount = tonumber(num) or 1
|
||||||
end
|
end
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ pfUI:RegisterModule("chat", function ()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
pfUI.hooksecurefunc("UnitPopup_OnClick", function(self)
|
hooksecurefunc("UnitPopup_OnClick", function(self)
|
||||||
if this.value == "IGNORE_PLAYER" then
|
if this.value == "IGNORE_PLAYER" then
|
||||||
AddIgnore(_G[UIDROPDOWNMENU_INIT_MENU].name)
|
AddIgnore(_G[UIDROPDOWNMENU_INIT_MENU].name)
|
||||||
end
|
end
|
||||||
@@ -449,7 +449,7 @@ pfUI:RegisterModule("chat", function ()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
pfUI.hooksecurefunc("FCF_SaveDock", pfUI.chat.RefreshChat)
|
hooksecurefunc("FCF_SaveDock", pfUI.chat.RefreshChat)
|
||||||
|
|
||||||
if C.chat.global.tabmouse == "1" then
|
if C.chat.global.tabmouse == "1" then
|
||||||
pfUI.chat.mouseovertab = CreateFrame("Frame")
|
pfUI.chat.mouseovertab = CreateFrame("Frame")
|
||||||
|
|||||||
@@ -136,5 +136,5 @@ pfUI:RegisterModule("cooldown", function ()
|
|||||||
|
|
||||||
-- vanilla does not have a cooldown frame type, so we hook the
|
-- vanilla does not have a cooldown frame type, so we hook the
|
||||||
-- regular SetTimer function that each one is calling.
|
-- regular SetTimer function that each one is calling.
|
||||||
pfUI.hooksecurefunc("CooldownFrame_SetTimer", SetCooldown)
|
hooksecurefunc("CooldownFrame_SetTimer", SetCooldown)
|
||||||
end)
|
end)
|
||||||
@@ -140,7 +140,7 @@ pfUI:RegisterModule("eqcompare", function ()
|
|||||||
|
|
||||||
local function HookTooltip(tooltip)
|
local function HookTooltip(tooltip)
|
||||||
for setter, getter in pairs(TooltipHooks) do
|
for setter, getter in pairs(TooltipHooks) do
|
||||||
pfUI.hooksecurefunc(tooltip, setter, makeHook(getter))
|
hooksecurefunc(tooltip, setter, makeHook(getter))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -150,7 +150,7 @@ pfUI:RegisterSkin("Friends", function ()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- set positions
|
-- set positions
|
||||||
pfUI.hooksecurefunc("WhoList_Update", function()
|
hooksecurefunc("WhoList_Update", function()
|
||||||
for i = 1, WHOS_TO_DISPLAY do
|
for i = 1, WHOS_TO_DISPLAY do
|
||||||
local level = _G["WhoFrameButton"..i.."Level"]
|
local level = _G["WhoFrameButton"..i.."Level"]
|
||||||
level:ClearAllPoints()
|
level:ClearAllPoints()
|
||||||
@@ -231,7 +231,7 @@ pfUI:RegisterSkin("Friends", function ()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- set positions
|
-- set positions
|
||||||
pfUI.hooksecurefunc("GuildStatus_Update", function()
|
hooksecurefunc("GuildStatus_Update", function()
|
||||||
for i = 1, GUILDMEMBERS_TO_DISPLAY do
|
for i = 1, GUILDMEMBERS_TO_DISPLAY do
|
||||||
local level = _G["GuildFrameButton"..i.."Level"]
|
local level = _G["GuildFrameButton"..i.."Level"]
|
||||||
level:ClearAllPoints()
|
level:ClearAllPoints()
|
||||||
|
|||||||
+1
-1
@@ -86,7 +86,7 @@ pfUI:RegisterModule("gm", function ()
|
|||||||
-- pet dropdown
|
-- pet dropdown
|
||||||
-- table.insert(UnitPopupMenus["PET"], "GM_HEADER")
|
-- table.insert(UnitPopupMenus["PET"], "GM_HEADER")
|
||||||
|
|
||||||
pfUI.hooksecurefunc("UnitPopup_OnClick", function()
|
hooksecurefunc("UnitPopup_OnClick", function()
|
||||||
local dropdownFrame = _G[UIDROPDOWNMENU_INIT_MENU]
|
local dropdownFrame = _G[UIDROPDOWNMENU_INIT_MENU]
|
||||||
local button = this.value
|
local button = this.value
|
||||||
local unit = dropdownFrame.unit
|
local unit = dropdownFrame.unit
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ pfUI:RegisterModule("itemcount", function ()
|
|||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
pfUI.hooksecurefunc("SetItemRef", function()
|
hooksecurefunc("SetItemRef", function()
|
||||||
if ItemRefTooltip:HasItem() then
|
if ItemRefTooltip:HasItem() then
|
||||||
local _, _, id = ItemRefTooltip:GetItem()
|
local _, _, id = ItemRefTooltip:GetItem()
|
||||||
if id then AddCounts(ItemRefTooltip, id) end
|
if id then AddCounts(ItemRefTooltip, id) end
|
||||||
|
|||||||
+2
-2
@@ -392,7 +392,7 @@ pfUI:RegisterModule("loot", function ()
|
|||||||
end
|
end
|
||||||
pfUI.loot:RemoveMasterlootMenus() -- remove then add to ensure no duplicate menus
|
pfUI.loot:RemoveMasterlootMenus() -- remove then add to ensure no duplicate menus
|
||||||
pfUI.loot:AddMasterLootMenus()
|
pfUI.loot:AddMasterLootMenus()
|
||||||
pfUI.hooksecurefunc("UnitPopup_OnClick",function()
|
hooksecurefunc("UnitPopup_OnClick",function()
|
||||||
local dropdownFrame = _G[UIDROPDOWNMENU_INIT_MENU]
|
local dropdownFrame = _G[UIDROPDOWNMENU_INIT_MENU]
|
||||||
if not dropdownFrame then return end
|
if not dropdownFrame then return end
|
||||||
local button = this.value
|
local button = this.value
|
||||||
@@ -405,7 +405,7 @@ pfUI:RegisterModule("loot", function ()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
pfUI.hooksecurefunc("UnitPopup_HideButtons",function()
|
hooksecurefunc("UnitPopup_HideButtons",function()
|
||||||
local dropdownFrame = _G[UIDROPDOWNMENU_INIT_MENU]
|
local dropdownFrame = _G[UIDROPDOWNMENU_INIT_MENU]
|
||||||
local unit = dropdownFrame.unit
|
local unit = dropdownFrame.unit
|
||||||
local name = dropdownFrame.name
|
local name = dropdownFrame.name
|
||||||
|
|||||||
@@ -125,13 +125,13 @@ pfUI:RegisterModule("mapcolors", function ()
|
|||||||
|
|
||||||
-- WorldMap
|
-- WorldMap
|
||||||
Initialize('WorldMap')
|
Initialize('WorldMap')
|
||||||
pfUI.hooksecurefunc('WorldMapButton_OnUpdate', function()
|
hooksecurefunc('WorldMapButton_OnUpdate', function()
|
||||||
if ( this.tick or .5) > GetTime() then return else this.tick = GetTime() + .5 end
|
if ( this.tick or .5) > GetTime() then return else this.tick = GetTime() + .5 end
|
||||||
UpdateUnitFrames('WorldMap')
|
UpdateUnitFrames('WorldMap')
|
||||||
end)
|
end)
|
||||||
|
|
||||||
if C.appearance.worldmap.colornames == "1" then
|
if C.appearance.worldmap.colornames == "1" then
|
||||||
pfUI.hooksecurefunc('WorldMapUnit_OnEnter', function()
|
hooksecurefunc('WorldMapUnit_OnEnter', function()
|
||||||
if ( this.tick or .5) > GetTime() then return else this.tick = GetTime() + .5 end
|
if ( this.tick or .5) > GetTime() then return else this.tick = GetTime() + .5 end
|
||||||
UpdateUnitColors('WorldMap', WorldMapTooltip)
|
UpdateUnitColors('WorldMap', WorldMapTooltip)
|
||||||
end)
|
end)
|
||||||
@@ -141,13 +141,13 @@ pfUI:RegisterModule("mapcolors", function ()
|
|||||||
HookAddonOrVariable("Blizzard_BattlefieldMinimap", function()
|
HookAddonOrVariable("Blizzard_BattlefieldMinimap", function()
|
||||||
Initialize('BattlefieldMinimap')
|
Initialize('BattlefieldMinimap')
|
||||||
|
|
||||||
pfUI.hooksecurefunc('BattlefieldMinimap_OnUpdate', function()
|
hooksecurefunc('BattlefieldMinimap_OnUpdate', function()
|
||||||
if ( this.tick or .5) > GetTime() then return else this.tick = GetTime() + .5 end
|
if ( this.tick or .5) > GetTime() then return else this.tick = GetTime() + .5 end
|
||||||
UpdateUnitFrames('BattlefieldMinimap')
|
UpdateUnitFrames('BattlefieldMinimap')
|
||||||
end)
|
end)
|
||||||
|
|
||||||
if C.appearance.worldmap.colornames == "1" then
|
if C.appearance.worldmap.colornames == "1" then
|
||||||
pfUI.hooksecurefunc('BattlefieldMinimapUnit_OnEnter', function()
|
hooksecurefunc('BattlefieldMinimapUnit_OnEnter', function()
|
||||||
if ( this.tick or .5) > GetTime() then return else this.tick = GetTime() + .5 end
|
if ( this.tick or .5) > GetTime() then return else this.tick = GetTime() + .5 end
|
||||||
UpdateUnitColors('BattlefieldMinimap', GameTooltip)
|
UpdateUnitColors('BattlefieldMinimap', GameTooltip)
|
||||||
end)
|
end)
|
||||||
|
|||||||
+1
-1
@@ -58,7 +58,7 @@ pfUI:RegisterModule("minimap", function ()
|
|||||||
|
|
||||||
pfUI.minimap:UpdateConfig()
|
pfUI.minimap:UpdateConfig()
|
||||||
|
|
||||||
pfUI.hooksecurefunc("ToggleMinimap", function()
|
hooksecurefunc("ToggleMinimap", function()
|
||||||
if pfUI.farmmap and pfUI.farmmap:IsShown() then
|
if pfUI.farmmap and pfUI.farmmap:IsShown() then
|
||||||
Minimap:Hide()
|
Minimap:Hide()
|
||||||
return
|
return
|
||||||
|
|||||||
+1
-1
@@ -141,7 +141,7 @@ pfUI:RegisterModule("player", function ()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
pfUI.hooksecurefunc("UnitPopup_OnClick", function()
|
hooksecurefunc("UnitPopup_OnClick", function()
|
||||||
local button = this.value
|
local button = this.value
|
||||||
if button == "RESET_INSTANCES_FIX" then
|
if button == "RESET_INSTANCES_FIX" then
|
||||||
StaticPopup_Show("CONFIRM_RESET_INSTANCES")
|
StaticPopup_Show("CONFIRM_RESET_INSTANCES")
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ pfUI:RegisterModule("questitem", function ()
|
|||||||
-- itemref tooltip (chat link clicks): hooksecurefunc runs after SetItemRef
|
-- itemref tooltip (chat link clicks): hooksecurefunc runs after SetItemRef
|
||||||
-- populates ItemRefTooltip, so we just read the item back out of the tooltip
|
-- populates ItemRefTooltip, so we just read the item back out of the tooltip
|
||||||
-- instead of re-parsing the "item:NNN" out of the link string.
|
-- instead of re-parsing the "item:NNN" out of the link string.
|
||||||
pfUI.hooksecurefunc("SetItemRef", function()
|
hooksecurefunc("SetItemRef", function()
|
||||||
if IsModifierKeyDown() then return end
|
if IsModifierKeyDown() then return end
|
||||||
if ItemRefTooltip:HasItem() then
|
if ItemRefTooltip:HasItem() then
|
||||||
local _, _, id = ItemRefTooltip:GetItem()
|
local _, _, id = ItemRefTooltip:GetItem()
|
||||||
|
|||||||
+1
-1
@@ -164,7 +164,7 @@ pfUI:RegisterModule("raid", function ()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
pfUI.hooksecurefunc("UnitPopup_OnClick", function()
|
hooksecurefunc("UnitPopup_OnClick", function()
|
||||||
local dropdownFrame = UIDROPDOWNMENU_INIT_MENU and _G[UIDROPDOWNMENU_INIT_MENU]
|
local dropdownFrame = UIDROPDOWNMENU_INIT_MENU and _G[UIDROPDOWNMENU_INIT_MENU]
|
||||||
if not dropdownFrame then return end
|
if not dropdownFrame then return end
|
||||||
local button = this.value
|
local button = this.value
|
||||||
|
|||||||
+136
-15
@@ -1,13 +1,11 @@
|
|||||||
pfUI:RegisterModule("sellvalue", function ()
|
pfUI:RegisterModule("sellvalue", function ()
|
||||||
local function AddVendorPrices(frame, id, count)
|
local function AddVendorPrices(frame, id, count)
|
||||||
if not id then return end
|
if not id then return end
|
||||||
-- Sell price comes from the engine (item DBC); buy price from pfSellData
|
|
||||||
-- (curated vendor data, since vendor purchase prices aren't a static field).
|
|
||||||
local sell = C_Item.GetItemSellPriceByID(id) or 0
|
local sell = C_Item.GetItemSellPriceByID(id) or 0
|
||||||
local buy = pfSellData[id]
|
local buy = pfSellData[id]
|
||||||
if sell == 0 and not buy then return end
|
if sell == 0 and not buy then return end
|
||||||
|
|
||||||
if C.tooltip.vendor.showalways == "1" or IsShiftKeyDown() then
|
if C.tooltip.vendor.showalways == "1" or IsShiftKeyDown() then
|
||||||
frame:AddLine(" ")
|
frame:AddLine(" ")
|
||||||
|
|
||||||
if sell > 0 then
|
if sell > 0 then
|
||||||
@@ -29,22 +27,145 @@ pfUI:RegisterModule("sellvalue", function ()
|
|||||||
frame:Show()
|
frame:Show()
|
||||||
end
|
end
|
||||||
|
|
||||||
pfUI.sellvalue = CreateFrame("Frame", "pfGameTooltip", GameTooltip)
|
hooksecurefunc("SetItemRef", function()
|
||||||
pfUI.sellvalue:SetScript("OnShow", function()
|
|
||||||
if GameTooltip:HasItem() then
|
|
||||||
local _, _, id = GameTooltip:GetItem()
|
|
||||||
if id then
|
|
||||||
local count = tonumber(libtooltip:GetItemCount()) or 1
|
|
||||||
AddVendorPrices(GameTooltip, id, math.max(count, 1))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
pfUI.hooksecurefunc("SetItemRef", function()
|
|
||||||
if IsModifierKeyDown() then return end
|
if IsModifierKeyDown() then return end
|
||||||
if ItemRefTooltip:HasItem() then
|
if ItemRefTooltip:HasItem() then
|
||||||
local _, _, id = ItemRefTooltip:GetItem()
|
local _, _, id = ItemRefTooltip:GetItem()
|
||||||
if id then AddVendorPrices(ItemRefTooltip, id, 1) end
|
if id then AddVendorPrices(ItemRefTooltip, id, 1) end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
local TooltipHooks = {
|
||||||
|
SetLootRollItem = {
|
||||||
|
id = GetLootRollItemID,
|
||||||
|
count = function(slot)
|
||||||
|
local _, _, count = GetLootRollItemInfo(slot)
|
||||||
|
return count
|
||||||
|
end
|
||||||
|
},
|
||||||
|
SetLootItem = {
|
||||||
|
id = GetLootSlotItemID,
|
||||||
|
count = function(slot)
|
||||||
|
local _, _, count = GetLootSlotInfo(slot)
|
||||||
|
return count
|
||||||
|
end
|
||||||
|
},
|
||||||
|
SetQuestLogItem = {
|
||||||
|
id = GetQuestLogItemID,
|
||||||
|
count = function(type, index)
|
||||||
|
local itemCount, _;
|
||||||
|
if type == "choice" then
|
||||||
|
_, _, itemCount = GetQuestLogChoiceInfo(index);
|
||||||
|
else
|
||||||
|
_, _, itemCount = GetQuestLogRewardInfo(index)
|
||||||
|
end
|
||||||
|
return itemCount
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
SetQuestItem = {
|
||||||
|
id = GetQuestItemID,
|
||||||
|
count = function(type, index)
|
||||||
|
local _, _, count = GetQuestItemInfo(type, index);
|
||||||
|
return count
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
SetHyperlink = { id = C_Item.GetItemInfoInstant },
|
||||||
|
SetBagItem = {
|
||||||
|
id = C_Container.GetContainerItemID,
|
||||||
|
count = function(container, slot)
|
||||||
|
local _, count = GetContainerItemInfo(container, slot)
|
||||||
|
return count
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
SetInboxItem = {
|
||||||
|
id = GetInboxItemID,
|
||||||
|
count = function(index)
|
||||||
|
local _, _, _, count = GetInboxItem(index)
|
||||||
|
return count
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
SetSendMailItem = {
|
||||||
|
id = function()
|
||||||
|
local _, id = GetSendMailItemLink()
|
||||||
|
return id
|
||||||
|
end,
|
||||||
|
count = function()
|
||||||
|
local _, _, count = GetSendMailItem()
|
||||||
|
return count
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
SetInventoryItem = { id = GetInventoryItemID },
|
||||||
|
SetTradeSkillItem = {
|
||||||
|
id = function(skillIndex, reagentIndex)
|
||||||
|
if reagentIndex then
|
||||||
|
return GetTradeSkillReagentItemID(skillIndex, reagentIndex)
|
||||||
|
else
|
||||||
|
return GetTradeSkillItemID(skillIndex)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
count = function(skillIndex, reagentIndex)
|
||||||
|
if reagentIndex then
|
||||||
|
local _, _, itemCount = GetTradeSkillReagentInfo(skillIndex, reagentIndex)
|
||||||
|
return itemCount
|
||||||
|
else
|
||||||
|
return GetTradeSkillNumMade(skillIndex)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
SetAuctionItem = {
|
||||||
|
id = GetAuctionItemLink,
|
||||||
|
count = function(viewType, index)
|
||||||
|
local _, _, count = GetAuctionItemInfo(viewType, index)
|
||||||
|
return count
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
SetAuctionSellItem = { id = GetAuctionSellItemLink },
|
||||||
|
SetTradePlayerItem = {
|
||||||
|
id = GetTradePlayerItemLink,
|
||||||
|
count = function(id)
|
||||||
|
local _, _, count = GetTradePlayerItemInfo(id)
|
||||||
|
return count
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
SetTradeTargetItem = {
|
||||||
|
id = GetTradeTargetItemLink,
|
||||||
|
count = function(id)
|
||||||
|
local _, _, count = GetTradeTargetItemInfo(id)
|
||||||
|
return count
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
SetMerchantItem = {
|
||||||
|
id = GetMerchantItemID,
|
||||||
|
count = function(index)
|
||||||
|
local _, _, _, itemCount = GetMerchantItemInfo(index)
|
||||||
|
return itemCount
|
||||||
|
end
|
||||||
|
},
|
||||||
|
SetCraftItem = {
|
||||||
|
id = function(recipeIndex, reagentIndex)
|
||||||
|
return GetCraftReagentItemID(recipeIndex, reagentIndex)
|
||||||
|
end
|
||||||
|
},
|
||||||
|
SetBuybackItem = {
|
||||||
|
id = C_MerchantFrame.GetBuybackItemID,
|
||||||
|
count = function(slotIndex)
|
||||||
|
local _, _, _, itemCount = GetBuybackItemInfo(slotIndex)
|
||||||
|
return itemCount
|
||||||
|
end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local function makeHook(entry)
|
||||||
|
return function(tooltip, arg1, arg2, arg3)
|
||||||
|
AddVendorPrices(tooltip, entry.id(arg1, arg2, arg3), entry.count and entry.count(arg1, arg2, arg3) or 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function HookTooltip(tooltip)
|
||||||
|
for setter, entry in pairs(TooltipHooks) do
|
||||||
|
hooksecurefunc(tooltip, setter, makeHook(entry))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
HookTooltip(GameTooltip)
|
||||||
end)
|
end)
|
||||||
|
|||||||
+2
-2
@@ -51,12 +51,12 @@ pfUI:RegisterModule("skin", function ()
|
|||||||
DurabilityFrame.SetPoint = function() return end
|
DurabilityFrame.SetPoint = function() return end
|
||||||
|
|
||||||
if C.appearance.cd.blizzard == "1" then
|
if C.appearance.cd.blizzard == "1" then
|
||||||
pfUI.hooksecurefunc("PaperDollItemSlotButton_Update", function()
|
hooksecurefunc("PaperDollItemSlotButton_Update", function()
|
||||||
local cooldown = _G[this:GetName().."Cooldown"]
|
local cooldown = _G[this:GetName().."Cooldown"]
|
||||||
if cooldown then cooldown.pfCooldownType = "BLIZZARD" end
|
if cooldown then cooldown.pfCooldownType = "BLIZZARD" end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
pfUI.hooksecurefunc("SpellButton_UpdateButton", function()
|
hooksecurefunc("SpellButton_UpdateButton", function()
|
||||||
local cooldown = _G[this:GetName().."Cooldown"]
|
local cooldown = _G[this:GetName().."Cooldown"]
|
||||||
if cooldown then cooldown.pfCooldownType = "BLIZZARD" end
|
if cooldown then cooldown.pfCooldownType = "BLIZZARD" end
|
||||||
end)
|
end)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ pfUI:RegisterModule("socialmod", function ()
|
|||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
do -- add colors to guild list
|
do -- add colors to guild list
|
||||||
pfUI.hooksecurefunc("GuildStatus_Update", function()
|
hooksecurefunc("GuildStatus_Update", function()
|
||||||
local playerzone = GetRealZoneText()
|
local playerzone = GetRealZoneText()
|
||||||
local off = FauxScrollFrame_GetOffset(GuildListScrollFrame)
|
local off = FauxScrollFrame_GetOffset(GuildListScrollFrame)
|
||||||
for i=1, GUILDMEMBERS_TO_DISPLAY, 1 do
|
for i=1, GUILDMEMBERS_TO_DISPLAY, 1 do
|
||||||
@@ -70,7 +70,7 @@ pfUI:RegisterModule("socialmod", function ()
|
|||||||
end
|
end
|
||||||
|
|
||||||
do -- add colors to friend list
|
do -- add colors to friend list
|
||||||
pfUI.hooksecurefunc("FriendsList_Update", function()
|
hooksecurefunc("FriendsList_Update", function()
|
||||||
if GetNumFriends() == 0 then return end
|
if GetNumFriends() == 0 then return end
|
||||||
|
|
||||||
local playerzone = GetRealZoneText()
|
local playerzone = GetRealZoneText()
|
||||||
@@ -123,7 +123,7 @@ pfUI:RegisterModule("socialmod", function ()
|
|||||||
end
|
end
|
||||||
|
|
||||||
do -- add colors to who list
|
do -- add colors to who list
|
||||||
pfUI.hooksecurefunc("WhoList_Update", function()
|
hooksecurefunc("WhoList_Update", function()
|
||||||
local num, max = GetNumWhoResults()
|
local num, max = GetNumWhoResults()
|
||||||
local off = FauxScrollFrame_GetOffset(WhoListScrollFrame)
|
local off = FauxScrollFrame_GetOffset(WhoListScrollFrame)
|
||||||
|
|
||||||
|
|||||||
+34
-3
@@ -28,9 +28,10 @@ pfUI:RegisterModule("swingtimer", function ()
|
|||||||
pendingCastSpellId = nil,
|
pendingCastSpellId = nil,
|
||||||
mhFrozenAt = nil,
|
mhFrozenAt = nil,
|
||||||
hsQueued = false, cleaveQueued = false, maulQueued = false,
|
hsQueued = false, cleaveQueued = false, maulQueued = false,
|
||||||
|
hsSeenCurrent = false, cleaveSeenCurrent = false, maulSeenCurrent = false,
|
||||||
isWarrior = false,
|
isWarrior = false,
|
||||||
isDruid = false,
|
isDruid = false,
|
||||||
cachedHSSlots = {}, cachedCleaveSlots = {},
|
cachedHSSlots = {}, cachedCleaveSlots = {}, cachedMaulSlots = {},
|
||||||
useSpellQueueEvent = false,
|
useSpellQueueEvent = false,
|
||||||
swingThrottle = 0,
|
swingThrottle = 0,
|
||||||
onSwingCache = {},
|
onSwingCache = {},
|
||||||
@@ -416,12 +417,15 @@ pfUI:RegisterModule("swingtimer", function ()
|
|||||||
S.hsQueued = (kind == "hs")
|
S.hsQueued = (kind == "hs")
|
||||||
S.cleaveQueued = (kind == "cleave")
|
S.cleaveQueued = (kind == "cleave")
|
||||||
S.maulQueued = (kind == "maul")
|
S.maulQueued = (kind == "maul")
|
||||||
|
S.hsSeenCurrent, S.cleaveSeenCurrent, S.maulSeenCurrent = false, false, false
|
||||||
end
|
end
|
||||||
|
|
||||||
local function RebuildQueueSlotCache()
|
local function RebuildQueueSlotCache()
|
||||||
if not S.isWarrior or not sw_hsqueue or S.useSpellQueueEvent then return end
|
if not sw_hsqueue then return end
|
||||||
S.cachedHSSlots = {}
|
S.cachedHSSlots = {}
|
||||||
S.cachedCleaveSlots = {}
|
S.cachedCleaveSlots = {}
|
||||||
|
S.cachedMaulSlots = {}
|
||||||
|
if not (S.isWarrior or S.isDruid) then return end
|
||||||
for slot = 1, 120 do
|
for slot = 1, 120 do
|
||||||
local kind, id = GetActionInfo(slot)
|
local kind, id = GetActionInfo(slot)
|
||||||
local name
|
local name
|
||||||
@@ -434,6 +438,8 @@ pfUI:RegisterModule("swingtimer", function ()
|
|||||||
table.insert(S.cachedHSSlots, slot)
|
table.insert(S.cachedHSSlots, slot)
|
||||||
elseif name == CLEAVE_NAME then
|
elseif name == CLEAVE_NAME then
|
||||||
table.insert(S.cachedCleaveSlots, slot)
|
table.insert(S.cachedCleaveSlots, slot)
|
||||||
|
elseif name == MAUL_NAME then
|
||||||
|
table.insert(S.cachedMaulSlots, slot)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -445,9 +451,30 @@ pfUI:RegisterModule("swingtimer", function ()
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Reconcile a stale event-driven queue flag against the client's current
|
||||||
|
-- action. Not every de-queue emits a SPELL_QUEUE pop — pressing Esc or
|
||||||
|
-- re-pressing to cancel an on-swing spell doesn't — so the flag alone stays
|
||||||
|
-- set. IsCurrentAction, which the client clears on cancel, is the reconciling
|
||||||
|
-- signal, but only after it has confirmed the ability as current at least once
|
||||||
|
-- (`seen`): a nampower-initiated cast may never flip IsCurrentAction, and must
|
||||||
|
-- keep its color until its own pop/resolve rather than be cleared early.
|
||||||
|
-- Returns the updated (queued, seen).
|
||||||
|
local function ReconcileQueued(queued, slots, seen)
|
||||||
|
if not queued then return false, false end
|
||||||
|
if CheckQueuedAction(slots) then return true, true end
|
||||||
|
if seen then return false, false end -- was current, now gone -> cancelled
|
||||||
|
return true, false -- never confirmed current -> keep
|
||||||
|
end
|
||||||
|
|
||||||
local function IsHSOrCleaveQueued()
|
local function IsHSOrCleaveQueued()
|
||||||
if not sw_hsqueue or not S.isWarrior then return false, false end
|
if not sw_hsqueue or not S.isWarrior then return false, false end
|
||||||
if S.useSpellQueueEvent then return S.hsQueued, S.cleaveQueued end
|
if S.useSpellQueueEvent then
|
||||||
|
S.hsQueued, S.hsSeenCurrent =
|
||||||
|
ReconcileQueued(S.hsQueued, S.cachedHSSlots, S.hsSeenCurrent)
|
||||||
|
S.cleaveQueued, S.cleaveSeenCurrent =
|
||||||
|
ReconcileQueued(S.cleaveQueued, S.cachedCleaveSlots, S.cleaveSeenCurrent)
|
||||||
|
return S.hsQueued, S.cleaveQueued
|
||||||
|
end
|
||||||
return CheckQueuedAction(S.cachedHSSlots), CheckQueuedAction(S.cachedCleaveSlots)
|
return CheckQueuedAction(S.cachedHSSlots), CheckQueuedAction(S.cachedCleaveSlots)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -526,6 +553,10 @@ pfUI:RegisterModule("swingtimer", function ()
|
|||||||
-- HS/Cleave color
|
-- HS/Cleave color
|
||||||
local curR, curG, curB = mhDefaultR, mhDefaultG, mhDefaultB
|
local curR, curG, curB = mhDefaultR, mhDefaultG, mhDefaultB
|
||||||
if sw_hsqueue then
|
if sw_hsqueue then
|
||||||
|
if S.isDruid and S.useSpellQueueEvent then
|
||||||
|
S.maulQueued, S.maulSeenCurrent =
|
||||||
|
ReconcileQueued(S.maulQueued, S.cachedMaulSlots, S.maulSeenCurrent)
|
||||||
|
end
|
||||||
if S.maulQueued and S.isDruid then
|
if S.maulQueued and S.isDruid then
|
||||||
curR, curG, curB = 1.0, 0.55, 0.0 -- orange for druid maul queue
|
curR, curG, curB = 1.0, 0.55, 0.0 -- orange for druid maul queue
|
||||||
elseif S.isWarrior then
|
elseif S.isWarrior then
|
||||||
|
|||||||
@@ -530,7 +530,7 @@ pfUI:RegisterModule("thirdparty-vanilla", function()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- replace wim class colors with pfUI ones
|
-- replace wim class colors with pfUI ones
|
||||||
pfUI.hooksecurefunc("WIM_InitClassProps", function()
|
hooksecurefunc("WIM_InitClassProps", function()
|
||||||
for class in pairs(PFUI_CLASS_COLORS) do
|
for class in pairs(PFUI_CLASS_COLORS) do
|
||||||
local wimclass = _G[format("WIM_LOCALIZED_%s",class)]
|
local wimclass = _G[format("WIM_LOCALIZED_%s",class)]
|
||||||
local colorstr = "|c" .. PFUI_CLASS_COLORS[class].colorStr
|
local colorstr = "|c" .. PFUI_CLASS_COLORS[class].colorStr
|
||||||
@@ -547,7 +547,7 @@ pfUI:RegisterModule("thirdparty-vanilla", function()
|
|||||||
btnClose:SetWidth(13)
|
btnClose:SetWidth(13)
|
||||||
btnClose:SetHeight(13)
|
btnClose:SetHeight(13)
|
||||||
end
|
end
|
||||||
pfUI.hooksecurefunc("WIM_Icon_DropDown_Update", function()
|
hooksecurefunc("WIM_Icon_DropDown_Update", function()
|
||||||
for i=1,_G.WIM_MaxMenuCount do
|
for i=1,_G.WIM_MaxMenuCount do
|
||||||
local btn = _G["WIM_ConversationMenuTellButton"..i]
|
local btn = _G["WIM_ConversationMenuTellButton"..i]
|
||||||
if i==1 and btn:IsEnabled() == 0 then return end
|
if i==1 and btn:IsEnabled() == 0 then return end
|
||||||
@@ -729,7 +729,7 @@ pfUI:RegisterModule("thirdparty-vanilla", function()
|
|||||||
SkinScrollbar(WIM_HelpScrollFrameScrollBar)
|
SkinScrollbar(WIM_HelpScrollFrameScrollBar)
|
||||||
end
|
end
|
||||||
|
|
||||||
pfUI.hooksecurefunc("WIM_WindowOnShow", function()
|
hooksecurefunc("WIM_WindowOnShow", function()
|
||||||
if this.backdrop then return end -- already skinned
|
if this.backdrop then return end -- already skinned
|
||||||
|
|
||||||
local windowname = this:GetName()
|
local windowname = this:GetName()
|
||||||
@@ -904,7 +904,7 @@ pfUI:RegisterModule("thirdparty-vanilla", function()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- trigger the event whenever SuperMacro got an update
|
-- trigger the event whenever SuperMacro got an update
|
||||||
pfUI.hooksecurefunc("SM_UpdateActionSpell", function()
|
hooksecurefunc("SM_UpdateActionSpell", function()
|
||||||
for slot=1,120 do pfUI.bars.update[slot] = true end
|
for slot=1,120 do pfUI.bars.update[slot] = true end
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
@@ -922,7 +922,7 @@ pfUI:RegisterModule("thirdparty-vanilla", function()
|
|||||||
pfUI.bars.skip_macro = true
|
pfUI.bars.skip_macro = true
|
||||||
|
|
||||||
-- send clevermacro events to pfUI actionbars
|
-- send clevermacro events to pfUI actionbars
|
||||||
pfUI.hooksecurefunc("ActionButton_OnEvent", function(event)
|
hooksecurefunc("ActionButton_OnEvent", function(event)
|
||||||
events(this, event)
|
events(this, event)
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
|
|||||||
@@ -65,14 +65,14 @@ pfUI:RegisterModule("turtle-wow", function ()
|
|||||||
|
|
||||||
HookAddonOrVariable("GroupFrame", function()
|
HookAddonOrVariable("GroupFrame", function()
|
||||||
-- After Turtle's own init, hide frames if pfUI handles them
|
-- After Turtle's own init, hide frames if pfUI handles them
|
||||||
pfUI.hooksecurefunc("GroupFrame_Toggle", function()
|
hooksecurefunc("GroupFrame_Toggle", function()
|
||||||
if pfUIHandlesGroupOrRaid() then
|
if pfUIHandlesGroupOrRaid() then
|
||||||
DisableTurtleGroupFrames()
|
DisableTurtleGroupFrames()
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- After every group/raid update, re-hide if pfUI handles them
|
-- After every group/raid update, re-hide if pfUI handles them
|
||||||
pfUI.hooksecurefunc("GroupFrame_Update", function()
|
hooksecurefunc("GroupFrame_Update", function()
|
||||||
if pfUIHandlesGroupOrRaid() then
|
if pfUIHandlesGroupOrRaid() then
|
||||||
DisableTurtleGroupFrames()
|
DisableTurtleGroupFrames()
|
||||||
end
|
end
|
||||||
@@ -295,7 +295,7 @@ pfUI:RegisterModule("turtle-wow", function ()
|
|||||||
local initialized = false
|
local initialized = false
|
||||||
|
|
||||||
HookAddonOrVariable("Blizzard_InspectUI", function()
|
HookAddonOrVariable("Blizzard_InspectUI", function()
|
||||||
pfUI.hooksecurefunc("InspectFrame_Show", function()
|
hooksecurefunc("InspectFrame_Show", function()
|
||||||
-- break if theres nothing left to do
|
-- break if theres nothing left to do
|
||||||
if initialized then return end
|
if initialized then return end
|
||||||
|
|
||||||
|
|||||||
@@ -41,12 +41,12 @@ pfUI:RegisterModule("unusable", function ()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- update on regular pfUI button updates
|
-- update on regular pfUI button updates
|
||||||
pfUI.hooksecurefunc(pfUI.bag, "UpdateSlot", function(self, bag, slot)
|
hooksecurefunc(pfUI.bag, "UpdateSlot", function(self, bag, slot)
|
||||||
pfUI.unusable:UpdateSlot(bag, slot)
|
pfUI.unusable:UpdateSlot(bag, slot)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- update on bank frame itemlock updates
|
-- update on bank frame itemlock updates
|
||||||
pfUI.hooksecurefunc("BankFrameItemButton_UpdateLock", function()
|
hooksecurefunc("BankFrameItemButton_UpdateLock", function()
|
||||||
pfUI.unusable:UpdateSlot(-1, this:GetID())
|
pfUI.unusable:UpdateSlot(-1, this:GetID())
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ pfUI:RegisterSkin("Auctionhouse", function ()
|
|||||||
SkinArrowButton(AuctionsNextPageButton, "right", 18)
|
SkinArrowButton(AuctionsNextPageButton, "right", 18)
|
||||||
end
|
end
|
||||||
|
|
||||||
pfUI.hooksecurefunc("AuctionFrame_OnShow", function()
|
hooksecurefunc("AuctionFrame_OnShow", function()
|
||||||
AuctionFrame:ClearAllPoints()
|
AuctionFrame:ClearAllPoints()
|
||||||
AuctionFrame:SetPoint("TOPLEFT", 10, -104)
|
AuctionFrame:SetPoint("TOPLEFT", 10, -104)
|
||||||
end)
|
end)
|
||||||
@@ -76,7 +76,7 @@ pfUI:RegisterSkin("Auctionhouse", function ()
|
|||||||
item:SetPoint("LEFT", 2, 0)
|
item:SetPoint("LEFT", 2, 0)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
pfUI.hooksecurefunc("AuctionFrameBrowse_Update", function()
|
hooksecurefunc("AuctionFrameBrowse_Update", function()
|
||||||
for i = 1, NUM_BROWSE_TO_DISPLAY do
|
for i = 1, NUM_BROWSE_TO_DISPLAY do
|
||||||
HandleIcon(_G["BrowseButton"..i.."Item"], _G["BrowseButton"..i.."ItemIconTexture"])
|
HandleIcon(_G["BrowseButton"..i.."Item"], _G["BrowseButton"..i.."ItemIconTexture"])
|
||||||
end
|
end
|
||||||
@@ -145,7 +145,7 @@ pfUI:RegisterSkin("Auctionhouse", function ()
|
|||||||
item:ClearAllPoints()
|
item:ClearAllPoints()
|
||||||
item:SetPoint("LEFT", 2, 0)
|
item:SetPoint("LEFT", 2, 0)
|
||||||
end
|
end
|
||||||
pfUI.hooksecurefunc("AuctionFrameBid_Update", function()
|
hooksecurefunc("AuctionFrameBid_Update", function()
|
||||||
for i = 1, NUM_BIDS_TO_DISPLAY do
|
for i = 1, NUM_BIDS_TO_DISPLAY do
|
||||||
HandleIcon(_G["BidButton"..i.."Item"], _G["BidButton"..i.."ItemIconTexture"])
|
HandleIcon(_G["BidButton"..i.."Item"], _G["BidButton"..i.."ItemIconTexture"])
|
||||||
end
|
end
|
||||||
@@ -191,14 +191,14 @@ pfUI:RegisterSkin("Auctionhouse", function ()
|
|||||||
item:ClearAllPoints()
|
item:ClearAllPoints()
|
||||||
item:SetPoint("LEFT", 2, 0)
|
item:SetPoint("LEFT", 2, 0)
|
||||||
end
|
end
|
||||||
pfUI.hooksecurefunc("AuctionFrameAuctions_Update", function()
|
hooksecurefunc("AuctionFrameAuctions_Update", function()
|
||||||
for i = 1, NUM_AUCTIONS_TO_DISPLAY do
|
for i = 1, NUM_AUCTIONS_TO_DISPLAY do
|
||||||
HandleIcon(_G["AuctionsButton"..i.."Item"], _G["AuctionsButton"..i.."ItemIconTexture"])
|
HandleIcon(_G["AuctionsButton"..i.."Item"], _G["AuctionsButton"..i.."ItemIconTexture"])
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
SkinButton(AuctionsItemButton)
|
SkinButton(AuctionsItemButton)
|
||||||
pfUI.hooksecurefunc("AuctionSellItemButton_OnEvent", function()
|
hooksecurefunc("AuctionSellItemButton_OnEvent", function()
|
||||||
if event ~= "NEW_AUCTION_UPDATE" then return end
|
if event ~= "NEW_AUCTION_UPDATE" then return end
|
||||||
HandleIcon(AuctionsItemButton, AuctionsItemButton:GetNormalTexture())
|
HandleIcon(AuctionsItemButton, AuctionsItemButton:GetNormalTexture())
|
||||||
end)
|
end)
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ pfUI:RegisterSkin("Battlefield Minimap", function ()
|
|||||||
BattlefieldMinimapTab:Hide()
|
BattlefieldMinimapTab:Hide()
|
||||||
end)
|
end)
|
||||||
|
|
||||||
pfUI.hooksecurefunc("BattlefieldMinimap_ShowOpacity", function()
|
hooksecurefunc("BattlefieldMinimap_ShowOpacity", function()
|
||||||
OpacityFrame:ClearAllPoints()
|
OpacityFrame:ClearAllPoints()
|
||||||
OpacityFrame:SetPoint("TOPRIGHT", "BattlefieldMinimap", "TOPLEFT", -2*border, 0)
|
OpacityFrame:SetPoint("TOPRIGHT", "BattlefieldMinimap", "TOPLEFT", -2*border, 0)
|
||||||
end)
|
end)
|
||||||
|
|||||||
@@ -136,18 +136,18 @@ pfUI:RegisterSkin("Character", function ()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
pfUI.hooksecurefunc("CharacterFrame_OnShow", function()
|
hooksecurefunc("CharacterFrame_OnShow", function()
|
||||||
RefreshCharacterSlots()
|
RefreshCharacterSlots()
|
||||||
RefreshPetPosition()
|
RefreshPetPosition()
|
||||||
end)
|
end)
|
||||||
|
|
||||||
pfUI.hooksecurefunc("PaperDollItemSlotButton_Update", function()
|
hooksecurefunc("PaperDollItemSlotButton_Update", function()
|
||||||
if this:GetParent() == PaperDollFrame then
|
if this:GetParent() == PaperDollFrame then
|
||||||
RefreshCharacterSlot(this)
|
RefreshCharacterSlot(this)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
pfUI.hooksecurefunc("PetTab_Update", RefreshPetPosition)
|
hooksecurefunc("PetTab_Update", RefreshPetPosition)
|
||||||
|
|
||||||
StripTextures(PaperDollFrame)
|
StripTextures(PaperDollFrame)
|
||||||
StripTextures(CharacterAttributesFrame)
|
StripTextures(CharacterAttributesFrame)
|
||||||
@@ -270,7 +270,7 @@ pfUI:RegisterSkin("Character", function ()
|
|||||||
-- the FactionStanding text from `bar.standingText` on mouseout, so we
|
-- the FactionStanding text from `bar.standingText` on mouseout, so we
|
||||||
-- stash our augmented text there too — otherwise hovering a bar strips
|
-- stash our augmented text there too — otherwise hovering a bar strips
|
||||||
-- the "(N)" suffix off.
|
-- the "(N)" suffix off.
|
||||||
pfUI.hooksecurefunc("ReputationFrame_Update", function()
|
hooksecurefunc("ReputationFrame_Update", function()
|
||||||
if C.character.reputation.repRequired ~= "1" then return end
|
if C.character.reputation.repRequired ~= "1" then return end
|
||||||
local offset = FauxScrollFrame_GetOffset(ReputationListScrollFrame)
|
local offset = FauxScrollFrame_GetOffset(ReputationListScrollFrame)
|
||||||
for i = 1, NUM_FACTIONS_DISPLAYED do
|
for i = 1, NUM_FACTIONS_DISPLAYED do
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ pfUI:RegisterSkin("Friends", function ()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- set positions
|
-- set positions
|
||||||
pfUI.hooksecurefunc("WhoList_Update", function()
|
hooksecurefunc("WhoList_Update", function()
|
||||||
for i = 1, WHOS_TO_DISPLAY do
|
for i = 1, WHOS_TO_DISPLAY do
|
||||||
local level = _G["WhoFrameButton"..i.."Level"]
|
local level = _G["WhoFrameButton"..i.."Level"]
|
||||||
level:ClearAllPoints()
|
level:ClearAllPoints()
|
||||||
@@ -231,7 +231,7 @@ pfUI:RegisterSkin("Friends", function ()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- set positions
|
-- set positions
|
||||||
pfUI.hooksecurefunc("GuildStatus_Update", function()
|
hooksecurefunc("GuildStatus_Update", function()
|
||||||
for i = 1, GUILDMEMBERS_TO_DISPLAY do
|
for i = 1, GUILDMEMBERS_TO_DISPLAY do
|
||||||
local level = _G["GuildFrameButton"..i.."Level"]
|
local level = _G["GuildFrameButton"..i.."Level"]
|
||||||
level:ClearAllPoints()
|
level:ClearAllPoints()
|
||||||
|
|||||||
@@ -24,11 +24,11 @@ pfUI:RegisterSkin("Gossip and Quest", function ()
|
|||||||
QuestRewardItemHighlightBG:SetTexture(1,1,1,.2)
|
QuestRewardItemHighlightBG:SetTexture(1,1,1,.2)
|
||||||
QuestRewardItemHighlightBG:SetAllPoints()
|
QuestRewardItemHighlightBG:SetAllPoints()
|
||||||
|
|
||||||
pfUI.hooksecurefunc("QuestFrameItems_Update", function()
|
hooksecurefunc("QuestFrameItems_Update", function()
|
||||||
QuestRewardItemHighlight:Hide()
|
QuestRewardItemHighlight:Hide()
|
||||||
end)
|
end)
|
||||||
|
|
||||||
pfUI.hooksecurefunc("QuestRewardItem_OnClick", function()
|
hooksecurefunc("QuestRewardItem_OnClick", function()
|
||||||
if this.type == "choice" then
|
if this.type == "choice" then
|
||||||
QuestRewardItemHighlight:SetAllPoints(this.backdrop)
|
QuestRewardItemHighlight:SetAllPoints(this.backdrop)
|
||||||
QuestRewardItemHighlight:Show()
|
QuestRewardItemHighlight:Show()
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ pfUI:RegisterSkin("Mailbox", function ()
|
|||||||
StripTextures(SendMailPackageButton)
|
StripTextures(SendMailPackageButton)
|
||||||
SkinButton(SendMailPackageButton, nil, nil, nil, nil, true)
|
SkinButton(SendMailPackageButton, nil, nil, nil, nil, true)
|
||||||
|
|
||||||
pfUI.hooksecurefunc("SendMailFrame_Update", function()
|
hooksecurefunc("SendMailFrame_Update", function()
|
||||||
HandleIcon(SendMailPackageButton, SendMailPackageButton:GetNormalTexture())
|
HandleIcon(SendMailPackageButton, SendMailPackageButton:GetNormalTexture())
|
||||||
|
|
||||||
local _, itemID = GetSendMailItemLink()
|
local _, itemID = GetSendMailItemLink()
|
||||||
@@ -62,7 +62,7 @@ pfUI:RegisterSkin("Mailbox", function ()
|
|||||||
do -- OpenMailFrame
|
do -- OpenMailFrame
|
||||||
SkinButton(OpenMailPackageButton, nil, nil, nil, OpenMailPackageButtonIconTexture)
|
SkinButton(OpenMailPackageButton, nil, nil, nil, OpenMailPackageButtonIconTexture)
|
||||||
|
|
||||||
pfUI.hooksecurefunc("InboxFrame_OnClick", function(index)
|
hooksecurefunc("InboxFrame_OnClick", function(index)
|
||||||
local _, itemID = GetInboxItemLink(index)
|
local _, itemID = GetInboxItemLink(index)
|
||||||
if itemID then
|
if itemID then
|
||||||
local quality = C_Item.GetItemQualityByID(itemID)
|
local quality = C_Item.GetItemQualityByID(itemID)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ pfUI:RegisterSkin("Merchant", function ()
|
|||||||
if MerchantGuildBankRepairButton then -- tbc
|
if MerchantGuildBankRepairButton then -- tbc
|
||||||
SkinButton(MerchantGuildBankRepairButton, nil, nil, nil, MerchantGuildBankRepairButtonIcon)
|
SkinButton(MerchantGuildBankRepairButton, nil, nil, nil, MerchantGuildBankRepairButtonIcon)
|
||||||
MerchantGuildBankRepairButtonIcon:SetTexCoord(.59, .82, .06, .54)
|
MerchantGuildBankRepairButtonIcon:SetTexCoord(.59, .82, .06, .54)
|
||||||
pfUI.hooksecurefunc("MerchantFrame_UpdateRepairButtons", function()
|
hooksecurefunc("MerchantFrame_UpdateRepairButtons", function()
|
||||||
MerchantGuildBankRepairButton:ClearAllPoints()
|
MerchantGuildBankRepairButton:ClearAllPoints()
|
||||||
MerchantGuildBankRepairButton:SetPoint("RIGHT", MerchantBuyBackItemItemButton, "LEFT", -14, 0)
|
MerchantGuildBankRepairButton:SetPoint("RIGHT", MerchantBuyBackItemItemButton, "LEFT", -14, 0)
|
||||||
MerchantRepairAllButton:ClearAllPoints()
|
MerchantRepairAllButton:ClearAllPoints()
|
||||||
@@ -56,7 +56,7 @@ pfUI:RegisterSkin("Merchant", function ()
|
|||||||
moneyFrame:SetPoint("BOTTOMLEFT", itemButton, "BOTTOMRIGHT", 5, 1)
|
moneyFrame:SetPoint("BOTTOMLEFT", itemButton, "BOTTOMRIGHT", 5, 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
pfUI.hooksecurefunc("MerchantFrame_UpdateMerchantInfo", function()
|
hooksecurefunc("MerchantFrame_UpdateMerchantInfo", function()
|
||||||
if MerchantFrame.selectedTab == 1 then
|
if MerchantFrame.selectedTab == 1 then
|
||||||
for i = 3, 11, 2 do
|
for i = 3, 11, 2 do
|
||||||
_G["MerchantItem"..i]:ClearAllPoints()
|
_G["MerchantItem"..i]:ClearAllPoints()
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ pfUI:RegisterSkin("Options - New", function ()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- hook after category selection: UpdateOptions is local so we hook its caller
|
-- hook after category selection: UpdateOptions is local so we hook its caller
|
||||||
pfUI.hooksecurefunc("OptionsListButton_OnClick", SkinControls)
|
hooksecurefunc("OptionsListButton_OnClick", SkinControls)
|
||||||
-- also cover initial load
|
-- also cover initial load
|
||||||
OptionsFrame:HookScript("OnShow", SkinControls)
|
OptionsFrame:HookScript("OnShow", SkinControls)
|
||||||
end)
|
end)
|
||||||
@@ -5,37 +5,18 @@ pfUI:RegisterSkin("Options - Sound", function ()
|
|||||||
|
|
||||||
-- Compatibility
|
-- Compatibility
|
||||||
local SoundOptionsFrameHeaderText, NUM_CHECKBOXES, NUM_SLIDERS
|
local SoundOptionsFrameHeaderText, NUM_CHECKBOXES, NUM_SLIDERS
|
||||||
if SOUND_OPTIONS then -- tbc
|
|
||||||
SoundOptionsFrameHeaderText = GetNoNameObject(SoundOptionsFrame, "FontString", "BACKGROUND", SOUND_OPTIONS)
|
|
||||||
NUM_CHECKBOXES = 11
|
|
||||||
NUM_SLIDERS = 6
|
|
||||||
|
|
||||||
StripTextures(AudioOptionsFrame)
|
SoundOptionsFrameHeaderText = GetNoNameObject(SoundOptionsFrame, "FontString", "ARTWORK", SOUNDOPTIONS_MENU)
|
||||||
CreateBackdrop(SoundOptionsFramePlayback, nil, true, .75)
|
NUM_CHECKBOXES = 8
|
||||||
CreateBackdrop(SoundOptionsFrameHardware, nil, true, .75)
|
NUM_SLIDERS = 4
|
||||||
CreateBackdrop(SoundOptionsFrameVolume, nil, true, .75)
|
|
||||||
|
|
||||||
SkinDropDown(SoundOptionsOutputDropDown)
|
SoundOptionsFrameOkay:ClearAllPoints()
|
||||||
|
SoundOptionsFrameOkay:SetPoint("RIGHT", SoundOptionsFrameCancel, "LEFT", -2*bpad, 0)
|
||||||
SoundOptionsFrameDefaults:ClearAllPoints()
|
SoundOptionsFrameSlider1:ClearAllPoints()
|
||||||
SoundOptionsFrameDefaults:SetPoint("TOPLEFT", SoundOptionsFramePlayback, "BOTTOMLEFT", 0, -10)
|
SoundOptionsFrameSlider1:SetPoint("TOPRIGHT", SoundOptionsFrame, "TOPRIGHT", -18, -43)
|
||||||
SoundOptionsFrameCancel:ClearAllPoints()
|
for i=2, NUM_SLIDERS do
|
||||||
SoundOptionsFrameCancel:SetPoint("TOPRIGHT", SoundOptionsFrameVolume, "BOTTOMRIGHT", 0, -10)
|
_G["SoundOptionsFrameSlider"..i]:ClearAllPoints()
|
||||||
SoundOptionsFrameOkay:ClearAllPoints()
|
_G["SoundOptionsFrameSlider"..i]:SetPoint("TOP", _G["SoundOptionsFrameSlider"..i-1], "BOTTOM", 0, -30)
|
||||||
SoundOptionsFrameOkay:SetPoint("RIGHT", SoundOptionsFrameCancel, "LEFT", -2*bpad, 0)
|
|
||||||
else -- vanilla
|
|
||||||
SoundOptionsFrameHeaderText = GetNoNameObject(SoundOptionsFrame, "FontString", "ARTWORK", SOUNDOPTIONS_MENU)
|
|
||||||
NUM_CHECKBOXES = 8
|
|
||||||
NUM_SLIDERS = 4
|
|
||||||
|
|
||||||
SoundOptionsFrameOkay:ClearAllPoints()
|
|
||||||
SoundOptionsFrameOkay:SetPoint("RIGHT", SoundOptionsFrameCancel, "LEFT", -2*bpad, 0)
|
|
||||||
SoundOptionsFrameSlider1:ClearAllPoints()
|
|
||||||
SoundOptionsFrameSlider1:SetPoint("TOPRIGHT", SoundOptionsFrame, "TOPRIGHT", -18, -43)
|
|
||||||
for i=2, NUM_SLIDERS do
|
|
||||||
_G["SoundOptionsFrameSlider"..i]:ClearAllPoints()
|
|
||||||
_G["SoundOptionsFrameSlider"..i]:SetPoint("TOP", _G["SoundOptionsFrameSlider"..i-1], "BOTTOM", 0, -30)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
StripTextures(SoundOptionsFrame)
|
StripTextures(SoundOptionsFrame)
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ pfUI:RegisterSkin("Options - Video", function ()
|
|||||||
slider:SetPoint(point, anchor, anchorPoint, x, y - shift)
|
slider:SetPoint(point, anchor, anchorPoint, x, y - shift)
|
||||||
end
|
end
|
||||||
|
|
||||||
pfUI.hooksecurefunc("OptionsFrame_Load", function()
|
hooksecurefunc("OptionsFrame_Load", function()
|
||||||
OptionsFramePixelShaders:SetWidth(230)
|
OptionsFramePixelShaders:SetWidth(230)
|
||||||
OptionsFrameMiscellaneous:ClearAllPoints()
|
OptionsFrameMiscellaneous:ClearAllPoints()
|
||||||
OptionsFrameMiscellaneous:SetPoint("LEFT", OptionsFramePixelShaders, "RIGHT", 6, 0)
|
OptionsFrameMiscellaneous:SetPoint("LEFT", OptionsFramePixelShaders, "RIGHT", 6, 0)
|
||||||
|
|||||||
@@ -192,7 +192,7 @@ pfUI:RegisterSkin("Profession", function ()
|
|||||||
reagentlabel:SetTextColor(1,1,1,1)
|
reagentlabel:SetTextColor(1,1,1,1)
|
||||||
|
|
||||||
local scanner = libtipscan:GetScanner(name)
|
local scanner = libtipscan:GetScanner(name)
|
||||||
pfUI.hooksecurefunc(SetSelection, function(id)
|
hooksecurefunc(SetSelection, function(id)
|
||||||
if id and id ~= 0 then
|
if id and id ~= 0 then
|
||||||
detailscroll:Show()
|
detailscroll:Show()
|
||||||
HandleIcon(icon, icon:GetNormalTexture())
|
HandleIcon(icon, icon:GetNormalTexture())
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ pfUI:RegisterSkin("Quest Log", function ()
|
|||||||
|
|
||||||
StripTextures(QUEST_COUNT)
|
StripTextures(QUEST_COUNT)
|
||||||
QUEST_COUNT:ClearAllPoints()
|
QUEST_COUNT:ClearAllPoints()
|
||||||
pfUI.hooksecurefunc("QuestLogUpdateQuestCount", function(numQuests)
|
hooksecurefunc("QuestLogUpdateQuestCount", function(numQuests)
|
||||||
QUEST_COUNT:ClearAllPoints()
|
QUEST_COUNT:ClearAllPoints()
|
||||||
QUEST_COUNT:SetPoint("BOTTOMRIGHT", QuestLogFrame, "TOPRIGHT", 0, -50)
|
QUEST_COUNT:SetPoint("BOTTOMRIGHT", QuestLogFrame, "TOPRIGHT", 0, -50)
|
||||||
end)
|
end)
|
||||||
@@ -24,7 +24,7 @@ pfUI:RegisterSkin("Quest Log", function ()
|
|||||||
QUEST_COUNT:SetPoint("TOPRIGHT", -10, -30)
|
QUEST_COUNT:SetPoint("TOPRIGHT", -10, -30)
|
||||||
end
|
end
|
||||||
|
|
||||||
pfUI.hooksecurefunc("QuestLog_OnShow", function()
|
hooksecurefunc("QuestLog_OnShow", function()
|
||||||
QuestLogFrame:ClearAllPoints()
|
QuestLogFrame:ClearAllPoints()
|
||||||
QuestLogFrame:SetPoint("TOPLEFT", 10, -104)
|
QuestLogFrame:SetPoint("TOPLEFT", 10, -104)
|
||||||
end)
|
end)
|
||||||
@@ -163,7 +163,7 @@ pfUI:RegisterSkin("Quest Log", function ()
|
|||||||
QuestLogListScrollFrame:SetPoint("TOPLEFT", 10, -54)
|
QuestLogListScrollFrame:SetPoint("TOPLEFT", 10, -54)
|
||||||
QuestLogListScrollFrame:SetHeight(350)
|
QuestLogListScrollFrame:SetHeight(350)
|
||||||
|
|
||||||
pfUI.hooksecurefunc("QuestLog_Update", function()
|
hooksecurefunc("QuestLog_Update", function()
|
||||||
local numEntries = GetNumQuestLogEntries()
|
local numEntries = GetNumQuestLogEntries()
|
||||||
local questIndex, text, level, questTag, isHeader
|
local questIndex, text, level, questTag, isHeader
|
||||||
|
|
||||||
|
|||||||
@@ -38,12 +38,12 @@ pfUI:RegisterSkin("Readycheck", function ()
|
|||||||
frame.bar.text:SetPoint("CENTER", 0, 0)
|
frame.bar.text:SetPoint("CENTER", 0, 0)
|
||||||
|
|
||||||
local max
|
local max
|
||||||
pfUI.hooksecurefunc("ShowReadyCheck", function()
|
hooksecurefunc("ShowReadyCheck", function()
|
||||||
max = ReadyCheckFrame.timer
|
max = ReadyCheckFrame.timer
|
||||||
frame.bar:SetMinMaxValues(0, max)
|
frame.bar:SetMinMaxValues(0, max)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
pfUI.hooksecurefunc(update_func, function()
|
hooksecurefunc(update_func, function()
|
||||||
if not ReadyCheckFrame.timer then return end
|
if not ReadyCheckFrame.timer then return end
|
||||||
|
|
||||||
local perc = ReadyCheckFrame.timer/max
|
local perc = ReadyCheckFrame.timer/max
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ pfUI:RegisterSkin("GM Survey", function ()
|
|||||||
CreateBackdrop(GMSurveyCommentFrame, nil, true, .75)
|
CreateBackdrop(GMSurveyCommentFrame, nil, true, .75)
|
||||||
SkinScrollbar(GMSurveyCommentScrollFrameScrollBar)
|
SkinScrollbar(GMSurveyCommentScrollFrameScrollBar)
|
||||||
GMSurveyFrameComment:SetMaxLetters(2000)
|
GMSurveyFrameComment:SetMaxLetters(2000)
|
||||||
pfUI.hooksecurefunc("GMSurveyFrame_Update", function()
|
hooksecurefunc("GMSurveyFrame_Update", function()
|
||||||
GMSurveyFrameComment:SetWidth(505)
|
GMSurveyFrameComment:SetWidth(505)
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ pfUI:RegisterSkin("Trade", function ()
|
|||||||
RecipientButtonBG:SetAllPoints()
|
RecipientButtonBG:SetAllPoints()
|
||||||
end
|
end
|
||||||
|
|
||||||
pfUI.hooksecurefunc("TradeFrame_UpdateTargetItem", function(id)
|
hooksecurefunc("TradeFrame_UpdateTargetItem", function(id)
|
||||||
HandleIcon(_G["TradeRecipientItem"..id.."ItemButton"], _G["TradeRecipientItem"..id..'IconTexture'])
|
HandleIcon(_G["TradeRecipientItem"..id.."ItemButton"], _G["TradeRecipientItem"..id..'IconTexture'])
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ pfUI:RegisterSkin("Trainer", function ()
|
|||||||
|
|
||||||
StripTextures(ClassTrainerSkillIcon)
|
StripTextures(ClassTrainerSkillIcon)
|
||||||
SkinButton(ClassTrainerSkillIcon, nil, nil, nil, nil, true)
|
SkinButton(ClassTrainerSkillIcon, nil, nil, nil, nil, true)
|
||||||
pfUI.hooksecurefunc("ClassTrainer_SetSelection", function()
|
hooksecurefunc("ClassTrainer_SetSelection", function()
|
||||||
HandleIcon(ClassTrainerSkillIcon, ClassTrainerSkillIcon:GetNormalTexture())
|
HandleIcon(ClassTrainerSkillIcon, ClassTrainerSkillIcon:GetNormalTexture())
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user