mirror of
https://github.com/brues-code/pfUI.git
synced 2026-10-30 15:40:51 +00:00
With HealComm-1.0 present (HealComm, LunaUnitFrames, NotGrid), the compat hook unregistered every event on libpredict.sender to stop pfUI broadcasting a duplicate of the player's casts. Since cast detection moved onto that frame's UNIT_SPELLCAST_* handlers, that also blinded libpredict to every cast, so the player's own resurrections never put the rez icon on the target's frame: ParseChatMessage drops the player's own Resurrection echo, expecting the cast events to have tracked it. The compat hook now only mutes the outgoing HealComm and CTRA messages. The HealComm.SendAddonMessage hook that parsed the player's own messages while solo goes too, since libpredict tracks its own casts directly.
1245 lines
49 KiB
Lua
1245 lines
49 KiB
Lua
pfUI:RegisterModule("thirdparty-vanilla", function()
|
|
-- abort when thirdparty core module is not loaded
|
|
if not pfUI.thirdparty then return end
|
|
local rawborder, default_border = GetBorderSize()
|
|
|
|
HookAddonOrVariable("KLHThreatMeter", function()
|
|
local ktm_scale = 1
|
|
local function GetKtmWidthDiff(view, match_size)
|
|
local default_width = 0
|
|
for column, header in view.head do
|
|
if (header.vis()) then
|
|
default_width = default_width + header.width
|
|
else
|
|
default_width = default_width + 0.1
|
|
end
|
|
end
|
|
return match_size / (default_width + 12)
|
|
end
|
|
|
|
local function SetKtmWidth(view, diff_width)
|
|
for column, header in view.head do
|
|
header.width = round(round(header.width * diff_width) / ktm_scale)
|
|
end
|
|
end
|
|
|
|
local function RefreshKtmWidth(width)
|
|
local width = width or pfUI.chat.right:GetWidth()
|
|
if (pfUI.thirdparty.meters.damage and pfUI.thirdparty.meters.threat) then
|
|
width = width / 2
|
|
end
|
|
SetKtmWidth(KLHTM_Gui.raid, GetKtmWidthDiff(KLHTM_Gui.raid, width))
|
|
SetKtmWidth(KLHTM_Gui.self, GetKtmWidthDiff(KLHTM_Gui.self, width))
|
|
KLHTM_Redraw(true)
|
|
KLHTM_UpdateRaidFrame()
|
|
KLHTM_UpdateSelfFrame()
|
|
KLHTM_UpdateFrame()
|
|
end
|
|
|
|
local docktable = { "ktm", "TODO", "KLHTM_Frame",
|
|
function() -- single
|
|
RefreshKtmWidth()
|
|
KLHTM_Frame:ClearAllPoints()
|
|
KLHTM_Frame:SetPoint("TOPLEFT", pfUI.chat.right, "TOPLEFT", -.8, .5)
|
|
KLHTM_Frame:SetPoint("BOTTOMRIGHT", pfUI.chat.right, "BOTTOMRIGHT", 0, pfUI.panel.right:GetHeight())
|
|
KLHTM_Frame.backdrop:SetPoint("BOTTOMRIGHT", KLHTM_Frame, "BOTTOMRIGHT", 0, -(KLHTM_Frame:GetBottom() - pfUI.chat.right:GetBottom())-default_border-.5)
|
|
end,
|
|
function() -- dual
|
|
RefreshKtmWidth()
|
|
KLHTM_Frame:ClearAllPoints()
|
|
KLHTM_Frame:SetPoint("TOPLEFT", pfUI.chat.right, "TOPLEFT", -.8, .5)
|
|
KLHTM_Frame:SetPoint("BOTTOMRIGHT", pfUI.chat.right, "BOTTOM", -default_border, pfUI.panel.right:GetHeight())
|
|
KLHTM_Frame.backdrop:SetPoint("BOTTOMRIGHT", KLHTM_Frame, "BOTTOMRIGHT", 0, -(KLHTM_Frame:GetBottom() - pfUI.chat.right:GetBottom())-default_border-.5)
|
|
end,
|
|
function() -- show
|
|
KLHTM_SetVisible(true)
|
|
KLHTM_Frame:Show()
|
|
end,
|
|
function() -- hide
|
|
KLHTM_SetVisible(false)
|
|
KLHTM_Frame:Hide()
|
|
end,
|
|
function() -- once
|
|
if KLHTM_Gui.frame then
|
|
KLHTM_SetGuiScale(ktm_scale)
|
|
end
|
|
end
|
|
}
|
|
|
|
pfUI.thirdparty.meters:RegisterMeter("threat", docktable)
|
|
|
|
if C.thirdparty.ktm.skin == "1" then
|
|
-- remove titlebar
|
|
if KLHTM_Gui then
|
|
if KLHTM_Gui.title then
|
|
KLHTM_Gui.title.back:Hide()
|
|
end
|
|
if KLHTM_Gui.raid then
|
|
-- skin rows (raid)
|
|
for i in pairs(KLHTM_Gui.raid.rows) do
|
|
KLHTM_Gui.raid.rows[i].bar:SetTexture(pfUI.media["img:bar"])
|
|
KLHTM_Gui.raid.rows[i].bar:SetAlpha(.75)
|
|
|
|
if _G["KLHTM_RaidFrameRow" .. i .. "NameText"] then
|
|
_G["KLHTM_RaidFrameRow" .. i .. "NameText"]:SetFont(pfUI.font_default, 13, "OUTLINE")
|
|
_G["KLHTM_RaidFrameRow" .. i .. "ThreatText"]:SetFont(pfUI.font_default, 13, "OUTLINE")
|
|
_G["KLHTM_RaidFrameRow" .. i .. "PercentThreatText"]:SetFont(pfUI.font_default, 13, "OUTLINE")
|
|
end
|
|
end
|
|
end
|
|
if KLHTM_Gui.self then
|
|
-- skin rows (self)
|
|
for i in pairs(KLHTM_Gui.self.rows) do
|
|
KLHTM_Gui.self.rows[i].bar:SetTexture(pfUI.media["img:bar"])
|
|
KLHTM_Gui.self.rows[i].bar:SetAlpha(.75)
|
|
end
|
|
end
|
|
end
|
|
|
|
CreateBackdrop(KLHTM_Frame, nil, nil, (C.thirdparty.chatbg == "1" and .8))
|
|
CreateBackdropShadow(KLHTM_Frame)
|
|
|
|
if C.thirdparty.chatbg == "1" and C.chat.global.custombg == "1" then
|
|
local r, g, b, a = GetStringColor(C.chat.global.background)
|
|
KLHTM_Frame.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
|
|
|
local r, g, b, a = GetStringColor(C.chat.global.border)
|
|
KLHTM_Frame.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
|
end
|
|
|
|
-- theme buttons
|
|
local buttons = { "KLHTM_TitleFrameClose", "KLHTM_TitleFrameMinimise",
|
|
"KLHTM_TitleFrameMaximise", "KLHTM_TitleFrameOptions", "KLHTM_TitleFramePin",
|
|
"KLHTM_TitleFrameUnpin", "KLHTM_TitleFrameSelfView", "KLHTM_TitleFrameRaidView",
|
|
"KLHTM_TitleFrameMasterTarget", "KLHTM_SelfFrameBottomReset" }
|
|
|
|
for i, button in pairs(buttons) do
|
|
local b = _G[button]
|
|
if not b then return end
|
|
SkinButton(b)
|
|
b:SetScale(.8)
|
|
|
|
-- remove red background on some buttons
|
|
for i,v in ipairs({b:GetRegions()}) do
|
|
if v.SetTexture and i == 1 then
|
|
v:SetTexture(0,0,0,0)
|
|
end
|
|
end
|
|
|
|
local p,rt,rp,xo,yo = b:GetPoint()
|
|
if not b.pfSet and i > 1 then
|
|
b:SetPoint(p,rt,rp,xo - 3,yo)
|
|
b.pfSet = true
|
|
end
|
|
end
|
|
|
|
-- name buttons
|
|
KLHTM_TitleFrameClose:SetText("x")
|
|
KLHTM_TitleFrameMinimise:SetText("_")
|
|
KLHTM_TitleFrameMaximise:SetText("_")
|
|
KLHTM_TitleFrameOptions:SetText("O")
|
|
KLHTM_TitleFramePin:SetText("P")
|
|
KLHTM_TitleFrameUnpin:SetText("U")
|
|
KLHTM_TitleFrameSelfView:SetText("S")
|
|
KLHTM_TitleFrameRaidView:SetText("R")
|
|
KLHTM_TitleFrameMasterTarget:SetText("T")
|
|
|
|
KLHTM_RaidFrameHeaderNameText:SetFont(pfUI.font_default, 12, "OUTLINE")
|
|
KLHTM_RaidFrameHeaderThreatText:SetFont(pfUI.font_default, 12, "OUTLINE")
|
|
KLHTM_RaidFrameHeaderPercentThreatText:SetFont(pfUI.font_default, 12, "OUTLINE")
|
|
KLHTM_RaidFrameBottomThreatDefecitText:SetFont(pfUI.font_default, 12, "OUTLINE")
|
|
KLHTM_RaidFrameBottomMasterTargetText:SetFont(pfUI.font_default, 12, "OUTLINE")
|
|
KLHTM_RaidFrameHeaderName:SetHeight(12)
|
|
|
|
-- remove seperators
|
|
if KLHTM_RaidFrameLine then KLHTM_RaidFrameLine:Hide() end
|
|
if KLHTM_RaidFrameBottomLine then KLHTM_RaidFrameBottomLine:Hide() end
|
|
if KLHTM_SelfFrameLine then KLHTM_SelfFrameLine:Hide() end
|
|
if KLHTM_SelfFrameBottomLine then KLHTM_SelfFrameBottomLine:Hide() end
|
|
end
|
|
end)
|
|
|
|
HookAddonOrVariable("TWThreat", function()
|
|
local docktable = { "twt", "TODO", "TWTMain",
|
|
function() -- single
|
|
TWTMain:ClearAllPoints()
|
|
TWTMain:SetPoint("TOPLEFT", pfUI.chat.right, "TOPLEFT", 0, 0)
|
|
local width = pfUI.chat.right:GetWidth() - 3
|
|
TWTMain:SetScale(width / TWTMain:GetWidth())
|
|
TWTMainSettingsFrameHeightSlider:SetMinMaxValues(15, 30)
|
|
TWTMainSettingsFrameHeightSlider:SetValue(15)
|
|
TWT_CONFIG.windowScale = width / TWTMain:GetWidth()
|
|
TWTMain:SetHeight(pfUI.chat.right:GetHeight() / TWT_CONFIG.windowScale - TWT_CONFIG.barHeight)
|
|
TWTMainMainWindow_Resized()
|
|
end,
|
|
function() -- dual
|
|
TWTMain:ClearAllPoints()
|
|
TWTMain:SetPoint("TOPLEFT", pfUI.chat.right, "TOPLEFT", 0, 0)
|
|
local width = (pfUI.chat.right:GetWidth() - 3) / 2
|
|
TWTMain:SetScale(width / TWTMain:GetWidth())
|
|
TWT_CONFIG.windowScale = width / TWTMain:GetWidth()
|
|
TWTMain:SetHeight(pfUI.chat.right:GetHeight() / TWT_CONFIG.windowScale - TWT_CONFIG.barHeight)
|
|
TWTMainMainWindow_Resized()
|
|
end,
|
|
function() -- show
|
|
TWTMain:Show()
|
|
end,
|
|
function() -- hide
|
|
TWTMain:Hide()
|
|
end,
|
|
function() -- once
|
|
return
|
|
end
|
|
}
|
|
|
|
pfUI.thirdparty.meters:RegisterMeter("threat", docktable)
|
|
|
|
if C.thirdparty.twt.skin == "1" then
|
|
CreateBackdrop(TWTMain, nil, nil, (C.thirdparty.chatbg == "1" and .8))
|
|
CreateBackdropShadow(TWTMain)
|
|
|
|
if C.thirdparty.chatbg == "1" and C.chat.global.custombg == "1" then
|
|
local r, g, b, a = GetStringColor(C.chat.global.background)
|
|
TWTMain.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
|
|
|
local r, g, b, a = GetStringColor(C.chat.global.border)
|
|
TWTMain.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
|
end
|
|
|
|
TWTMainTitleBG:Hide()
|
|
TWTMainBarsBG:Hide()
|
|
|
|
-- theme buttons
|
|
local buttons = { "TWTMainSettingsButton", "TWTMainLockButton", "TWTMainCloseButton" }
|
|
|
|
for i, button in pairs(buttons) do
|
|
local b = _G[button]
|
|
if not b then return end
|
|
SkinButton(b)
|
|
|
|
|
|
local p,rt,rp,xo,yo = b:GetPoint()
|
|
if not b.pfSet then
|
|
b:SetPoint(p,rt,rp,xo - 5,yo)
|
|
b.pfSet = true
|
|
end
|
|
end
|
|
|
|
-- buttons
|
|
TWTMainSettingsButton:SetText("O")
|
|
TWTMainLockButton:SetText("L")
|
|
TWTMainCloseButton:SetText("X")
|
|
end
|
|
end)
|
|
|
|
HookAddonOrVariable("SW_Stats", function()
|
|
local docktable = { "swstats", "TODO", "SW_BarFrame1",
|
|
function() -- single
|
|
SW_BarFrame1:SetWidth(pfUI.chat.right:GetWidth())
|
|
SW_BarFrame1:ClearAllPoints()
|
|
SW_BarFrame1:SetAllPoints(pfUI.chat.right)
|
|
SW_BarFrame1_Resizer:Hide()
|
|
SW_BarsLayout("SW_BarFrame1", true)
|
|
end,
|
|
function() -- dual
|
|
SW_BarFrame1:SetWidth(pfUI.chat.right:GetWidth() / 2)
|
|
SW_BarFrame1:ClearAllPoints()
|
|
SW_BarFrame1:SetPoint("TOPLEFT", pfUI.chat.right, "TOP", 0, 0)
|
|
SW_BarFrame1:SetPoint("BOTTOMRIGHT", pfUI.chat.right, "BOTTOMRIGHT", 0 ,0)
|
|
SW_BarFrame1_Resizer:Hide()
|
|
SW_BarsLayout("SW_BarFrame1", true)
|
|
end,
|
|
function() -- show
|
|
SW_BarFrame1:Show()
|
|
SW_OptKey(1)
|
|
end,
|
|
function() -- hide
|
|
SW_BarFrame1:Hide()
|
|
end,
|
|
function() -- once
|
|
SW_Settings["SHOWMAIN"] = nil
|
|
SW_BarFrame1:Hide()
|
|
|
|
SW_OptChk_Running:ClearAllPoints()
|
|
SW_OptChk_Running:SetParent(SW_BarFrame1_Title)
|
|
SW_OptChk_Running:SetPoint("RIGHT", SW_BarFrame1_Title_TimeLine, "LEFT", -2, 0)
|
|
-- hide bottom panels
|
|
SW_BarFrame1_Selector:Hide()
|
|
|
|
-- let user select mode by clicking the title
|
|
SW_BarFrame1_Title:HookScript("OnMouseUp", function()
|
|
local page = SW_Settings and SW_Settings.BarFrames and SW_Settings.BarFrames.SW_BarFrame1 and SW_Settings.BarFrames.SW_BarFrame1.Selected
|
|
if page then
|
|
local target = (arg1 == "LeftButton") and (page + 1) or (arg1 == "RightButton") and (page - 1)
|
|
SW_OptKey((target > SW_OPT_COUNT) and 1 or (target < 1) and SW_OPT_COUNT or target)
|
|
end
|
|
end)
|
|
end
|
|
}
|
|
|
|
pfUI.thirdparty.meters:RegisterMeter("damage", docktable)
|
|
|
|
if C.thirdparty.swstats.skin == "1" then
|
|
SW_Settings["OPT_ShowMainWinDPS"] = 1
|
|
SW_Settings["Colors"] = SW_Settings["Colors"] or {}
|
|
SW_Settings["Colors"]["TitleBarsFont"] = { [1] = 1, [2] = 1, [3] = 1, [4] = 1, }
|
|
SW_Settings["Colors"]["TitleBars"] = { [1] = 0, [2] = 0, [3] = 0, [4] = 0, }
|
|
SW_Settings["Colors"]["Backdrops"] = { [1] = .3, [2] = 1, [3] = .8, [4] = 1, }
|
|
|
|
SW_Settings["InfoSettings"] = SW_Settings["InfoSettings"] or {}
|
|
SW_Settings["InfoSettings"][1] = SW_Settings["InfoSettings"][1] or {}
|
|
SW_Settings["InfoSettings"][1]["SF"] = "SW_Filter_EverGroup"
|
|
SW_Settings["InfoSettings"][1]["ShowPercent"] = 1
|
|
SW_Settings["InfoSettings"][1]["ShowRank"] = 1
|
|
SW_Settings["InfoSettings"][1]["ShowNumber"] = 1
|
|
SW_Settings["InfoSettings"][1]["BT"] = 13
|
|
SW_Settings["InfoSettings"][1]["BH"] = 10
|
|
SW_Settings["InfoSettings"][1]["BFS"] = 11
|
|
SW_Settings["InfoSettings"][1]["BC"] = { [1] = .5, [2] = .5, [3] = .5, [4] = .5, }
|
|
SW_Settings["InfoSettings"][1]["BFC"] = { [1] = 1, [2] = 1, [3] = 1, [4] = 1, }
|
|
SW_Settings["InfoSettings"][1]["OC"] = { [1] = 1, [2] = 1, [3] = 1, [4] = 1, }
|
|
SW_Settings["InfoSettings"][1]["OTF"] = ( SW_Settings["InfoSettings"][1]["OTF"] == "1" and "SWStats" ) or SW_Settings["InfoSettings"][1]["OTF"]
|
|
SW_Settings["InfoSettings"][1]["UCC"] = 1
|
|
|
|
local SkinSW_RoundButton = function(n, s)
|
|
local s = s or 14
|
|
local btn, normal, highlight = _G[n], _G[string.format("%s_Normal",n)], _G[string.format("%s_Highlight",n)]
|
|
StripTextures(normal)
|
|
StripTextures(highlight)
|
|
CreateBackdrop(btn)
|
|
btn:SetHeight(s)
|
|
btn:SetWidth(s)
|
|
SetHighlight(btn)
|
|
end
|
|
|
|
SW_BarFrame1_Title:SetPoint("TOPLEFT", 3, 0)
|
|
SW_BarFrame1_Title_Sync:SetScale(.84)
|
|
SW_BarFrame1_Title_Report:SetScale(.84)
|
|
SW_BarFrame1_Title_Settings:SetScale(.84)
|
|
SW_BarFrame1_Title_Close:SetScale(.84)
|
|
SW_BarFrame1_Title_Console:SetScale(.84)
|
|
SW_BarFrame1_Title_TimeLine:SetScale(.84)
|
|
|
|
-- bar padding
|
|
SW_BarFrame1.swoBarY = -22
|
|
_G.SW_BARSEPY = 1
|
|
|
|
CreateBackdrop(SW_BarFrame1, nil, nil, (C.thirdparty.chatbg == "1" and .8))
|
|
CreateBackdropShadow(SW_BarFrame1)
|
|
|
|
if C.thirdparty.chatbg == "1" and C.chat.global.custombg == "1" then
|
|
local r, g, b, a = GetStringColor(C.chat.global.background)
|
|
SW_BarFrame1.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
|
|
|
local r, g, b, a = GetStringColor(C.chat.global.border)
|
|
SW_BarFrame1.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
|
end
|
|
|
|
SkinCheckbox(SW_OptChk_Running, 20)
|
|
for i=1, SW_OPT_COUNT do
|
|
SkinSW_RoundButton(string.format("SW_BarFrame1_Selector_Opt%d",i))
|
|
if i == 1 then
|
|
_G[string.format("SW_BarFrame1_Selector_Opt%d",i)]:SetPoint("TOPLEFT", SW_OptChk_Running, "TOPRIGHT", 3, -3)
|
|
end
|
|
end
|
|
SW_BarFrame1_Selector:SetPoint("TOPLEFT", SW_BarFrame1.backdrop, "BOTTOMLEFT", 10, 0)
|
|
|
|
-- mode settings
|
|
CreateBackdrop(SW_BarSettingsFrameV2, nil, nil, .8)
|
|
CreateBackdrop(SW_BarSettingsFrameV2_Title, 0)
|
|
CreateBackdrop(SW_BarSettingsFrameV2_Tab1, 0)
|
|
SW_BarSettingsFrameV2_Tab1:SetHeight(24)
|
|
SW_BarSettingsFrameV2_Tab1_Text:SetParent(SW_BarSettingsFrameV2_Tab1.backdrop)
|
|
CreateBackdrop(SW_BarSettingsFrameV2_Tab2, 0)
|
|
SW_BarSettingsFrameV2_Tab2:SetHeight(24)
|
|
SW_BarSettingsFrameV2_Tab2_Text:SetParent(SW_BarSettingsFrameV2_Tab2.backdrop)
|
|
CreateBackdrop(SW_BarSettingsFrameV2_Tab3, 0)
|
|
SW_BarSettingsFrameV2_Tab3:SetHeight(24)
|
|
SW_BarSettingsFrameV2_Tab3_Text:SetParent(SW_BarSettingsFrameV2_Tab3.backdrop)
|
|
SkinCheckbox(SW_OptChk_Rank, 18)
|
|
SkinCheckbox(SW_OptChk_Num, 18)
|
|
SkinCheckbox(SW_OptChk_Percent, 18)
|
|
SkinCheckbox(SW_Filter_None, 18)
|
|
SkinCheckbox(SW_Filter_PC, 18)
|
|
SkinCheckbox(SW_Filter_NPC, 18)
|
|
SkinCheckbox(SW_Filter_Group, 18)
|
|
SkinCheckbox(SW_Filter_EverGroup, 18)
|
|
SkinCheckbox(SW_HealOpt_Eff, 18)
|
|
SkinCheckbox(SW_HealOpt_OH, 18)
|
|
SkinCheckbox(SW_HealOpt_IF, 18)
|
|
SkinDropDown(SW_InfoTypeDropDown)
|
|
SkinDropDown(SW_ClassFilterDropDown)
|
|
SkinDropDown(SW_SchoolDropDown)
|
|
if SW_SchoolDropDown:GetWidth() < 100 then
|
|
UIDropDownMenu_SetWidth(100, SW_SchoolDropDown) -- SW_Stats is missing this in init
|
|
end
|
|
SkinButton(SW_SetInfoVarTxtFrame_Button)
|
|
SkinButton(SW_SetInfoVarFromTarget)
|
|
CreateBackdrop(SW_CS_BarC_Button)
|
|
SetAllPointsOffset(SW_CS_BarC_Button.backdrop,SW_CS_BarC_Button,2)
|
|
SetHighlight(SW_CS_BarC_Button)
|
|
CreateBackdrop(SW_CS_FontC_Button)
|
|
SetAllPointsOffset(SW_CS_FontC_Button.backdrop,SW_CS_FontC_Button,2)
|
|
SetHighlight(SW_CS_FontC_Button)
|
|
CreateBackdrop(SW_CS_OptC_Button)
|
|
SetAllPointsOffset(SW_CS_OptC_Button.backdrop,SW_CS_OptC_Button,2)
|
|
SetHighlight(SW_CS_OptC_Button)
|
|
SkinSlider(SW_BarHeightSlider)
|
|
SW_BarHeightSliderLow:ClearAllPoints()
|
|
SW_BarHeightSliderLow:SetPoint("TOPRIGHT", SW_BarHeightSlider, "TOPLEFT", -2, -2)
|
|
SW_BarHeightSliderHigh:ClearAllPoints()
|
|
SW_BarHeightSliderHigh:SetPoint("BOTTOMRIGHT", SW_BarHeightSlider, "BOTTOMLEFT", -2, 2)
|
|
SkinSlider(SW_ColCountSlider)
|
|
SkinSlider(SW_TextureSlider)
|
|
SkinSlider(SW_FontSizeSlider)
|
|
SkinButton(SW_SetFrameTxtFrame_Button)
|
|
SkinButton(SW_SetOptTxtFrame_Button)
|
|
SkinCheckbox(SW_ColorsOptUseClass)
|
|
SW_BarSettings_Visuals:SetPoint("TOPLEFT", 5, -50)
|
|
SW_BarSettings_Visuals:SetPoint("BOTTOMRIGHT", 2, 10)
|
|
SkinCheckbox(SW_PF_Inactive,18)
|
|
SkinCheckbox(SW_PF_Active,18)
|
|
SkinCheckbox(SW_PF_Current,18)
|
|
SkinCheckbox(SW_PF_VPP,18)
|
|
SkinCheckbox(SW_PF_VPR,18)
|
|
SkinCheckbox(SW_PF_MM,18)
|
|
SkinCheckbox(SW_PF_MR,18)
|
|
SkinCheckbox(SW_PF_MB,18)
|
|
SkinCheckbox(SW_PF_Ignore,18)
|
|
|
|
-- general settings
|
|
CreateBackdrop(SW_GeneralSettings, nil, nil, .8)
|
|
CreateBackdrop(SW_GeneralSettings_Title, 0)
|
|
SkinCheckbox(SW_Chk_ShowTLB,18)
|
|
SkinCheckbox(SW_Chk_ShowSyncB,18)
|
|
SkinCheckbox(SW_Chk_ShowConsoleB,18)
|
|
SkinCheckbox(SW_Chk_ShowDPS,18)
|
|
CreateBackdrop(SW_CS_Damage_Button)
|
|
SetAllPointsOffset(SW_CS_Damage_Button.backdrop, SW_CS_Damage_Button, 2)
|
|
SetHighlight(SW_CS_Damage_Button)
|
|
CreateBackdrop(SW_CS_Heal_Button)
|
|
SetAllPointsOffset(SW_CS_Heal_Button.backdrop, SW_CS_Heal_Button, 2)
|
|
SetHighlight(SW_CS_Heal_Button)
|
|
CreateBackdrop(SW_CS_TitleBar_Button)
|
|
SetAllPointsOffset(SW_CS_TitleBar_Button.backdrop, SW_CS_TitleBar_Button, 2)
|
|
SetHighlight(SW_CS_TitleBar_Button)
|
|
CreateBackdrop(SW_CS_TitleFont_Button)
|
|
SetAllPointsOffset(SW_CS_TitleFont_Button.backdrop, SW_CS_TitleFont_Button, 2)
|
|
SetHighlight(SW_CS_TitleFont_Button)
|
|
CreateBackdrop(SW_CS_Backdrops_Button)
|
|
SetAllPointsOffset(SW_CS_Backdrops_Button.backdrop, SW_CS_Backdrops_Button, 2)
|
|
SetHighlight(SW_CS_Backdrops_Button)
|
|
CreateBackdrop(SW_CS_MainWinBack_Button)
|
|
SetAllPointsOffset(SW_CS_MainWinBack_Button.backdrop, SW_CS_MainWinBack_Button, 2)
|
|
SetHighlight(SW_CS_MainWinBack_Button)
|
|
CreateBackdrop(SW_CS_ClassCAlpha_Button)
|
|
SetAllPointsOffset(SW_CS_ClassCAlpha_Button.backdrop, SW_CS_ClassCAlpha_Button, 2)
|
|
SetHighlight(SW_CS_ClassCAlpha_Button)
|
|
SkinSlider(SW_OptCountSlider)
|
|
SkinSlider(SW_GeneralSettingsIconSlider)
|
|
SkinSlider(SW_GeneralSettingsIconRadiusSlider)
|
|
|
|
-- announce
|
|
CreateBackdrop(SW_BarReportFrame, nil, nil, .8)
|
|
CreateBackdrop(SW_BarReportFrame_Title, 0)
|
|
SkinCheckbox(SW_RepTo_Say,18)
|
|
SkinCheckbox(SW_RepTo_Group,18)
|
|
SkinCheckbox(SW_RepTo_Raid,18)
|
|
SkinCheckbox(SW_RepTo_Guild,18)
|
|
SkinCheckbox(SW_RepTo_Channel,18)
|
|
SkinCheckbox(SW_RepTo_Whisper,18)
|
|
SkinCheckbox(SW_RepTo_Officer,18)
|
|
SkinCheckbox(SW_RepTo_Clipboard,18)
|
|
SkinCheckbox(SW_Chk_RepMulti,18)
|
|
SkinSlider(SW_BarReportFrameRepAmountSlider)
|
|
SkinButton(SW_BarReportFrame_SendReport)
|
|
SkinButton(SW_BarReportFrame_VarText_SetTextFromTarget)
|
|
StripTextures(SW_BarReportFrame_VarText_EditBox, "BACKGROUND")
|
|
CreateBackdrop(SW_BarReportFrame_VarText_EditBox)
|
|
|
|
-- copy
|
|
CreateBackdrop(SW_TextWindow, nil, nil, .75)
|
|
CreateBackdrop(SW_TextWindow_Title, 0)
|
|
SkinSlider(SW_TextWindowExportSlider)
|
|
StripTextures(SW_TextWindow_EditBox, "BACKGROUND")
|
|
CreateBackdrop(SW_TextWindow_EditBox)
|
|
|
|
-- sync
|
|
CreateBackdrop(SW_BarSyncFrame, nil, nil, .8)
|
|
CreateBackdrop(SW_BarSyncFrame_Title, 0)
|
|
SkinCheckbox(SW_AutoVoteYes,18)
|
|
SkinCheckbox(SW_AutoVoteNo,18)
|
|
SkinScrollbar(SW_SyncListScrollBar)
|
|
|
|
-- timeline
|
|
CreateBackdrop(SW_TimeLine, nil, nil, .8)
|
|
CreateBackdrop(SW_TimeLine_Title, 0)
|
|
SkinCheckbox(SW_Chk_TL_SafeMode,18)
|
|
SkinCheckbox(SW_Chk_TL_SingleSelect,18)
|
|
SkinCheckbox(SW_Chk_TL_AutoZone,18)
|
|
SkinCheckbox(SW_Chk_TL_AutoDelete,18)
|
|
SkinButton(SW_TL_Nuke)
|
|
SkinButton(SW_TL_ReloadUI)
|
|
SkinButton(SW_TL_Select)
|
|
SkinButton(SW_TL_Merge)
|
|
for i=1,10 do
|
|
SkinSW_RoundButton(string.format("SW_TimeLine_Item%d_Delete",i),12)
|
|
SkinSW_RoundButton(string.format("SW_TimeLine_Item%d_Rename",i),12)
|
|
end
|
|
SkinScrollbar(SW_TL_SelectorScrollBar)
|
|
|
|
-- console
|
|
CreateBackdrop(SW_FrameConsole, nil, nil, .75)
|
|
CreateBackdrop(SW_FrameConsole_Title, 0)
|
|
SW_FrameConsole_Title:SetHeight(24)
|
|
SkinArrowButton(SW_FrameConsole_Text1_MsgUp, "up", 13)
|
|
SkinArrowButton(SW_FrameConsole_Text1_MsgDown, "down", 13)
|
|
SkinArrowButton(SW_FrameConsole_Text1_MsgBottom, "down", 13)
|
|
SW_FrameConsole_Text1_MsgUp:SetPoint("BOTTOMRIGHT", -5, 45)
|
|
SW_FrameConsole_Text1_MsgDown:SetPoint("BOTTOMRIGHT", -5, 30)
|
|
SW_FrameConsole_Text1_MsgBottom:SetPoint("BOTTOMRIGHT", -5, 12)
|
|
CreateBackdrop(SW_FrameConsole_Tab1, 0)
|
|
SW_FrameConsole_Tab1:SetHeight(24)
|
|
SW_FrameConsole_Tab1_Text:SetParent(SW_FrameConsole_Tab1.backdrop)
|
|
CreateBackdrop(SW_FrameConsole_Tab2, 0)
|
|
SW_FrameConsole_Tab2:SetHeight(24)
|
|
SW_FrameConsole_Tab2_Text:SetParent(SW_FrameConsole_Tab2.backdrop)
|
|
SkinCheckbox(SW_Chk_ShowEvent,18)
|
|
SkinCheckbox(SW_Chk_ShowOrigStr,18)
|
|
SkinCheckbox(SW_Chk_ShowRegEx,18)
|
|
SkinCheckbox(SW_Chk_ShowMatch,18)
|
|
SkinCheckbox(SW_Chk_ShowSyncInfo,18)
|
|
SkinArrowButton(SW_FrameConsole_Text2_MsgUp,"up",13)
|
|
SkinArrowButton(SW_FrameConsole_Text2_MsgDown,"down",13)
|
|
SkinArrowButton(SW_FrameConsole_Text2_MsgBottom,"down",13)
|
|
SW_FrameConsole_Text2_MsgUp:SetPoint("BOTTOMRIGHT", -5, 45)
|
|
SW_FrameConsole_Text2_MsgDown:SetPoint("BOTTOMRIGHT", -5, 30)
|
|
SW_FrameConsole_Text2_MsgBottom:SetPoint("BOTTOMRIGHT", -5, 12)
|
|
end
|
|
end)
|
|
|
|
HookAddonOrVariable("WIM", function()
|
|
if C.thirdparty.wim.enable == "0" then return end
|
|
|
|
-- use pfUI link handler if available
|
|
if pfUI.chat then
|
|
_G.WIM_isLinkURL = function() return false end
|
|
_G.WIM_ConvertURLtoLinks = function(text)
|
|
return pfUI.chat:HandleLink(text)
|
|
end
|
|
end
|
|
|
|
-- replace wim class colors with pfUI ones
|
|
hooksecurefunc("WIM_InitClassProps", function()
|
|
for class in pairs(PFUI_CLASS_COLORS) do
|
|
local wimclass = _G[format("WIM_LOCALIZED_%s",class)]
|
|
local colorstr = "|c" .. PFUI_CLASS_COLORS[class].colorStr
|
|
_G.WIM_ClassColors[wimclass] = gsub(colorstr, "^|cff", "")
|
|
end
|
|
end)
|
|
|
|
-- convo menu
|
|
CreateBackdrop(WIM_Icon_ToolTip, 0, nil, tonumber(C.tooltip.alpha))
|
|
CreateBackdrop(WIM_ConversationMenu, 0, nil, .75)
|
|
for i=1, _G.WIM_MaxMenuCount do
|
|
local btn, btnClose = _G["WIM_ConversationMenuTellButton"..i], _G["WIM_ConversationMenuTellButton"..i.."Close"]
|
|
SkinCloseButton(btnClose, btn, -4, -1)
|
|
btnClose:SetWidth(13)
|
|
btnClose:SetHeight(13)
|
|
end
|
|
hooksecurefunc("WIM_Icon_DropDown_Update", function()
|
|
for i=1,_G.WIM_MaxMenuCount do
|
|
local btn = _G["WIM_ConversationMenuTellButton"..i]
|
|
if i==1 and btn:IsEnabled() == 0 then return end
|
|
if not btn:IsShown() then return end
|
|
local btn_txt = btn:GetText()
|
|
local user = btn.theUser
|
|
local userclr = _G.WIM_PlayerCache and _G.WIM_PlayerCache[user] and _G.WIM_PlayerCache[user].class and _G.WIM_UserWithClassColor(user)
|
|
if userclr and user ~= userclr then
|
|
btn_txt = gsub(btn_txt, user, format("|r%s",userclr))
|
|
btn:SetText(btn_txt)
|
|
end
|
|
end
|
|
end)
|
|
|
|
if WIM_HistoryFrame then -- history frame
|
|
CreateBackdrop(WIM_HistoryFrame, nil, nil, .8)
|
|
CreateBackdropShadow(WIM_HistoryFrame)
|
|
WIM_HistoryFrame.backdrop:SetPoint("TOPLEFT", 10, -10)
|
|
WIM_HistoryFrame.backdrop:SetPoint("BOTTOMRIGHT", -10, 10)
|
|
WIM_HistoryFrame:SetHitRectInsets(10,10,10,10)
|
|
StripTextures(WIM_HistoryFrameTitle)
|
|
|
|
SkinCloseButton(WIM_HistoryFrameTitleExitButton, WIM_HistoryFrame.backdrop, -6, -6)
|
|
|
|
SkinArrowButton(WIM_HistoryFrameMessageListScrollUp, 'up', 18)
|
|
WIM_HistoryFrameMessageListScrollUp:SetPoint("TOPLEFT", WIM_HistoryFrameMessageListScrollingMessageFrame, "TOPRIGHT", 10, -6)
|
|
SkinArrowButton(WIM_HistoryFrameMessageListScrollDown, 'down', 18)
|
|
WIM_HistoryFrameMessageListScrollDown:SetPoint("BOTTOMLEFT", WIM_HistoryFrameMessageListScrollingMessageFrame, "BOTTOMRIGHT", 10, 0)
|
|
end
|
|
|
|
if WIM_Options then -- options frame
|
|
CreateBackdrop(WIM_Options, nil, nil, .8)
|
|
CreateBackdropShadow(WIM_Options)
|
|
WIM_Options.backdrop:SetPoint("TOPLEFT", 12, -10)
|
|
WIM_Options.backdrop:SetPoint("BOTTOMRIGHT", -12, 0)
|
|
WIM_Options:SetHitRectInsets(12,12,10,0)
|
|
|
|
WIM_OptionsTitleBorder:SetTexture(nil)
|
|
WIM_OptionsTitleString:SetPoint("TOP", WIM_Options.backdrop, "TOP", 0, -4)
|
|
|
|
SkinCloseButton(WIM_OptionsExitButton, WIM_Options.backdrop, -6, -6)
|
|
WIM_OptionsHelpButton:ClearAllPoints()
|
|
WIM_OptionsHelpButton:SetPoint("RIGHT", WIM_OptionsExitButton, "LEFT", -10, 0)
|
|
WIM_OptionsHelpButton:SetHighlightTexture(nil)
|
|
|
|
SkinCheckbox(WIM_OptionsEnableWIM)
|
|
|
|
do -- display
|
|
StripTextures(WIM_OptionsDisplayCaption)
|
|
SkinCheckbox(WIM_OptionsDisplayShowShortcutBar)
|
|
SkinCheckbox(WIM_OptionsDisplayShowTimeStamps)
|
|
SkinCheckbox(WIM_OptionsDisplayShowCharacterInfo)
|
|
SkinCheckbox(WIM_OptionsDisplayShowCharacterInfoClassIcon)
|
|
SkinCheckbox(WIM_OptionsDisplayShowCharacterInfoClassColor)
|
|
SkinCheckbox(WIM_OptionsDisplayShowCharacterInfoDetails)
|
|
if WIM_OptionsDisplayShowCharacterInfoZone then SkinCheckbox(WIM_OptionsDisplayShowCharacterInfoZone) end
|
|
|
|
SkinSlider(WIM_OptionsDisplayFontSize)
|
|
SkinSlider(WIM_OptionsDisplayWindowSize)
|
|
SkinSlider(WIM_OptionsDisplayWindowAlpha)
|
|
end
|
|
do -- minimap
|
|
StripTextures(WIM_OptionsMiniMapCaption)
|
|
SkinCheckbox(WIM_OptionsMiniMapEnabled)
|
|
SkinCheckbox(WIM_OptionsMiniMapFreeMoving)
|
|
|
|
SkinSlider(WIM_OptionsMiniMapIconPosition)
|
|
end
|
|
-- alignment for WIM_OptionsTabbedFrame:
|
|
WIM_OptionsOptionTab1:SetPoint("TOPLEFT", WIM_OptionsMiniMap, "BOTTOMLEFT", 10, -4) -- move the upper bound WIM_OptionsTabbedFrame
|
|
WIM_OptionsDisplay:SetHeight(540) -- move the lower bound WIM_OptionsTabbedFrame
|
|
WIM_Options_GeneralScroll:SetPoint("BOTTOMRIGHT", WIM_OptionsTabbedFrame, "BOTTOMRIGHT", -30, 10)
|
|
-------------------------------------------------
|
|
|
|
-- wrap SkinCheckbox to fix issues with scrollframe breaking layers
|
|
local SkinScrollchildCheckbox = function(f, s)
|
|
if not f then return end
|
|
SkinCheckbox(f, s)
|
|
if f:GetParent() ~= f.backdrop and f:GetParent() ~= f then
|
|
f.backdrop:SetParent(f:GetParent())
|
|
f:SetParent(f.backdrop)
|
|
end
|
|
end
|
|
do -- general tab
|
|
SkinTab(WIM_OptionsOptionTab1)
|
|
SkinScrollbar(WIM_Options_GeneralScrollScrollBar)
|
|
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralAutoFocus)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralKeepFocus)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralKeepFocusRested)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralShowToolTips)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralPopOnSend)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralPopNew)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralPopUpdate)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralPopCombat)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralSupress)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralPlaySoundWisp)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralSortOrderAlpha)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralShowAFK)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralUseEscape)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralInterceptSlashWisp)
|
|
SkinScrollchildCheckbox(WIM_OptionsTabbedFrameGeneralBlockLowLevel)
|
|
end
|
|
do -- windows tab
|
|
SkinTab(WIM_OptionsOptionTab2)
|
|
|
|
SkinCheckbox(WIM_OptionsTabbedFrameWindowWindowCascade)
|
|
SkinButton(WIM_OptionsTabbedFrameWindowWindowAnchor)
|
|
SkinDropDown(WIM_OptionsTabbedFrameWindowCascadeDirection)
|
|
SkinSlider(WIM_OptionsTabbedFrameWindowWindowWidth)
|
|
SkinSlider(WIM_OptionsTabbedFrameWindowWindowHeight)
|
|
WIM_OptionsTabbedFrameWindowWindowHeight:SetPoint("TOPLEFT", WIM_OptionsTabbedFrameWindowWindowWidth, "BOTTOMLEFT", 0, -40)
|
|
WIM_OptionsTabbedFrameWindowWindowHeight:SetMinMaxValues(240, 600) -- fix min value. WIM.lua:643.
|
|
end
|
|
do -- filters tab
|
|
SkinTab(WIM_OptionsOptionTab3)
|
|
|
|
SkinCheckbox(WIM_OptionsTabbedFrameFilterAliasShowAsComment)
|
|
for _,v in pairs({"Alias", "Filtering"}) do
|
|
SkinCheckbox(_G["WIM_OptionsTabbedFrameFilter"..v.."Enabled"])
|
|
SkinButton(_G["WIM_OptionsTabbedFrameFilter"..v.."ColumnHeader1"])
|
|
SkinButton(_G["WIM_OptionsTabbedFrameFilter"..v.."ColumnHeader2"])
|
|
SkinScrollbar(_G["WIM_OptionsTabbedFrameFilter"..v.."PanelScrollBarScrollBar"])
|
|
SkinButton(_G["WIM_OptionsTabbedFrameFilter"..v.."PanelAdd"])
|
|
SkinButton(_G["WIM_OptionsTabbedFrameFilter"..v.."PanelRemove"])
|
|
SkinButton(_G["WIM_OptionsTabbedFrameFilter"..v.."PanelEdit"])
|
|
end
|
|
|
|
CreateBackdrop(WIM_Options_AliasWindow, nil, nil, .8)
|
|
WIM_Options_AliasWindowTitleBorder:SetTexture(nil)
|
|
CreateBackdrop(WIM_Options_AliasWindowPanel1, nil, nil)
|
|
WIM_Options_AliasWindowPanel1.backdrop:SetPoint("TOPLEFT", 0, -4)
|
|
WIM_Options_AliasWindowPanel1.backdrop:SetPoint("BOTTOMRIGHT", 0, 8)
|
|
CreateBackdrop(WIM_Options_AliasWindowPanel2, nil, nil)
|
|
WIM_Options_AliasWindowPanel2.backdrop:SetPoint("TOPLEFT", 0, -4)
|
|
WIM_Options_AliasWindowPanel2.backdrop:SetPoint("BOTTOMRIGHT", 0, 8)
|
|
SkinButton(WIM_Options_AliasWindowOK)
|
|
SkinButton(WIM_Options_AliasWindowCancel)
|
|
|
|
CreateBackdrop(WIM_Options_FilterWindow, nil, nil, .8)
|
|
WIM_Options_FilterWindowTitleBorder:SetTexture(nil)
|
|
CreateBackdrop(WIM_Options_FilterWindowPanel1, nil, nil)
|
|
WIM_Options_FilterWindowPanel1.backdrop:SetPoint("TOPLEFT", 0, -4)
|
|
WIM_Options_FilterWindowPanel1.backdrop:SetPoint("BOTTOMRIGHT", 0, 8)
|
|
SkinCheckbox(WIM_Options_FilterWindow_ActionIgnore)
|
|
SkinCheckbox(WIM_Options_FilterWindow_ActionBlock)
|
|
SkinButton(WIM_Options_FilterWindowOK)
|
|
SkinButton(WIM_Options_FilterWindowCancel)
|
|
end
|
|
do -- history tab
|
|
SkinTab(WIM_OptionsOptionTab4)
|
|
|
|
SkinCheckbox(WIM_OptionsTabbedFrameHistoryEnabled)
|
|
SkinCheckbox(WIM_OptionsTabbedFrameHistoryRecordEveryone)
|
|
SkinCheckbox(WIM_OptionsTabbedFrameHistoryRecordFriends)
|
|
SkinCheckbox(WIM_OptionsTabbedFrameHistoryRecordGuild)
|
|
SkinCheckbox(WIM_OptionsTabbedFrameHistoryShowInMessage)
|
|
SkinCheckbox(WIM_OptionsTabbedFrameHistorySetMaxToStore)
|
|
SkinCheckbox(WIM_OptionsTabbedFrameHistorySetAutoDelete)
|
|
SkinDropDown(WIM_OptionsTabbedFrameHistoryMessageCount)
|
|
SkinDropDown(WIM_OptionsTabbedFrameHistoryMaxCount)
|
|
SkinDropDown(WIM_OptionsTabbedFrameHistoryAutoDeleteTime)
|
|
SkinButton(WIM_OptionsTabbedFrameHistoryColumnHeader1)
|
|
SkinButton(WIM_OptionsTabbedFrameHistoryColumnHeader2)
|
|
SkinScrollbar(WIM_OptionsTabbedFrameHistoryPanelScrollBarScrollBar)
|
|
SkinButton(WIM_OptionsTabbedFrameHistoryPanelDeleteUser)
|
|
SkinButton(WIM_OptionsTabbedFrameHistoryPanelViewHistory)
|
|
end
|
|
end
|
|
|
|
if WIM_Help then -- help frame
|
|
CreateBackdrop(WIM_Help, nil, nil, .8)
|
|
WIM_HelpTitleBorder:SetTexture(nil)
|
|
SkinCloseButton(WIM_HelpExitButton, WIM_Help.backdrop, -6, -6)
|
|
SkinTab(WIM_HelpTab1)
|
|
SkinTab(WIM_HelpTab2)
|
|
SkinTab(WIM_HelpTab3)
|
|
SkinTab(WIM_HelpTabCredits)
|
|
SkinScrollbar(WIM_HelpScrollFrameScrollBar)
|
|
end
|
|
|
|
hooksecurefunc("WIM_WindowOnShow", function()
|
|
if this.backdrop then return end -- already skinned
|
|
|
|
local windowname = this:GetName()
|
|
CreateBackdrop(this, nil, nil, .8)
|
|
CreateBackdropShadow(this)
|
|
local from = _G[windowname.."From"]
|
|
from:ClearAllPoints()
|
|
from:SetPoint("TOP", 0, -10)
|
|
local exit = _G[windowname.."ExitButton"]
|
|
SkinCloseButton(exit, this.backdrop, -6, -6)
|
|
local history = _G[windowname.."HistoryButton"]
|
|
history:ClearAllPoints()
|
|
history:SetPoint("TOPRIGHT", exit, "TOPLEFT", -2, 2)
|
|
|
|
this.avatar = CreateFrame("Frame", nil, this)
|
|
this.avatar:SetAllPoints(this)
|
|
|
|
local classicon = _G[windowname .. "ClassIcon"]
|
|
classicon:SetTexCoord(.3, .7, .3, .7)
|
|
classicon:SetParent(this.avatar)
|
|
classicon:ClearAllPoints()
|
|
classicon:SetPoint("TOPLEFT", 10 , -10)
|
|
classicon:SetWidth(26)
|
|
classicon:SetHeight(26)
|
|
|
|
local msgframe = _G[windowname .. "ScrollingMessageFrame"]
|
|
msgframe:SetPoint("TOPLEFT", this, "TOPLEFT", 10, -45)
|
|
msgframe:SetPoint("BOTTOMRIGHT", this, "BOTTOMRIGHT", -32, 32)
|
|
msgframe:SetFont(pfUI.font_default, C.global.font_size)
|
|
|
|
local msgbox = _G[windowname .. "MsgBox"]
|
|
CreateBackdrop(msgbox)
|
|
msgbox:ClearAllPoints()
|
|
msgbox:SetPoint("TOPLEFT", msgframe, "BOTTOMLEFT", 0, -5)
|
|
msgbox:SetPoint("TOPRIGHT", msgframe, "BOTTOMRIGHT", 0, -5)
|
|
msgbox:SetTextInsets(5, 5, 5, 5)
|
|
msgbox:SetHeight(20)
|
|
|
|
for i = 1, 5 do
|
|
local btn = _G[windowname .. "ShortcutFrameButton"..i]
|
|
local icon = _G[windowname .. "ShortcutFrameButton"..i.."Icon"]
|
|
local prev_btn = _G[windowname .. "ShortcutFrameButton"..(i-1)]
|
|
StripTextures(btn, nil, "ARTWORK")
|
|
icon:SetDrawLayer("ARTWORK")
|
|
SkinButton(btn, nil, nil, nil, icon)
|
|
btn:ClearAllPoints()
|
|
if not prev_btn then
|
|
btn:SetPoint("TOP", exit, "BOTTOM", 0, -20)
|
|
else
|
|
btn:SetPoint("TOP", prev_btn, "BOTTOM", 0, -4)
|
|
end
|
|
end
|
|
local scrollup, scrolldown = _G[windowname .. "ScrollUp"], _G[windowname .. "ScrollDown"]
|
|
SkinArrowButton(scrollup, "up", 18)
|
|
SkinArrowButton(scrolldown, "down", 18)
|
|
scrolldown:ClearAllPoints()
|
|
scrolldown:SetPoint("BOTTOMRIGHT", -4, 30)
|
|
scrollup:ClearAllPoints()
|
|
scrollup:SetPoint("BOTTOMLEFT", scrolldown, "TOPLEFT", 0, 2)
|
|
|
|
StripTextures(_G[windowname .. "IgnoreConfirm"])
|
|
SkinButton(_G[windowname .. "IgnoreConfirmYes"])
|
|
SkinButton(_G[windowname .. "IgnoreConfirmNo"])
|
|
end)
|
|
end)
|
|
|
|
-- SortBags
|
|
-- Vanilla: https://github.com/shirsig/SortBags-vanilla
|
|
HookAddonOrVariable("SortBags", function()
|
|
if C.thirdparty.sortbags.enable == "0" then return end
|
|
|
|
local sort = CreateFrame("Frame", nil)
|
|
sort:RegisterEvent("PLAYER_ENTERING_WORLD")
|
|
sort:SetScript("OnEvent", function()
|
|
this:UnregisterAllEvents()
|
|
|
|
pfUI.thirdparty.RegisterBagSort("SortBags",
|
|
function()
|
|
SortBags()
|
|
end,
|
|
function()
|
|
GameTooltip:SetOwner(this, "ANCHOR_RIGHT")
|
|
GameTooltip:SetText(GetAddOnMetadata("SortBags","Title"))
|
|
GameTooltip:AddLine(GetAddOnMetadata("SortBags","Notes"),1,1,1)
|
|
GameTooltip:Show()
|
|
end,
|
|
function()
|
|
SortBankBags()
|
|
end,
|
|
function()
|
|
GameTooltip:SetOwner(this, "ANCHOR_RIGHT")
|
|
GameTooltip:SetText(GetAddOnMetadata("SortBags","Title"))
|
|
GameTooltip:AddLine(GetAddOnMetadata("SortBags","Notes"),1,1,1)
|
|
GameTooltip:Show()
|
|
end)
|
|
end)
|
|
end)
|
|
|
|
HookAddonOrVariable("FlightMap", function()
|
|
if C.thirdparty.flightmap.enable == "0" then return end
|
|
|
|
FlightMapTimesBorder:Hide()
|
|
FlightMapTimesFlash:Hide()
|
|
|
|
FlightMapTimesFrame:SetStatusBarTexture(pfUI.media["img:bar"])
|
|
FlightMapTimesFrame:SetHeight(18)
|
|
CreateBackdrop(FlightMapTimesFrame)
|
|
CreateBackdropShadow(FlightMapTimesFrame)
|
|
|
|
FlightMapTimesText:ClearAllPoints()
|
|
FlightMapTimesText:SetPoint("CENTER", FlightMapTimesFrame, "CENTER", 0, 0)
|
|
FlightMapTimesText:SetFont(pfUI.font_default, 12, "OUTLINE")
|
|
end)
|
|
|
|
HookAddonOrVariable("TheoryCraft_SetUpButton", function()
|
|
if C.thirdparty.theorycraft.enable == "0" then return end
|
|
|
|
-- set pfUI bar font
|
|
if TheoryCraft_Settings then
|
|
TheoryCraft_Settings["FontPath"] = pfUI.media[C.bars.font]
|
|
end
|
|
|
|
if not pfUI.bars then return end
|
|
|
|
-- make theorycraft aware of pfUI bars
|
|
for i=1,10 do
|
|
for j=1,12 do
|
|
TheoryCraft_SetUpButton(pfUI.bars[i][j]:GetName(), "Normal")
|
|
end
|
|
end
|
|
end)
|
|
|
|
HookAddonOrVariable("SM_GetActionSpell", function()
|
|
if C.thirdparty.supermacro.enable == "0" then return end
|
|
if not pfUI.bars then return end
|
|
|
|
-- hook events to include SuperMacro refreshs
|
|
local ButtonFullUpdate = pfUI.bars.ButtonFullUpdate
|
|
pfUI.bars.ButtonFullUpdate = function(button)
|
|
-- run the old function
|
|
ButtonFullUpdate(button)
|
|
|
|
-- update with SuperMacro textures
|
|
if not button then return end
|
|
if button.bar and button.bar > 10 then return end
|
|
local text = GetActionText(button:GetID())
|
|
|
|
if text then
|
|
if _G.SM_ACTION_SPELL and _G.SM_ACTION_SPELL["regular"] and _G.SM_ACTION_SPELL["regular"][text] then
|
|
button.icon:SetTexture(_G.SM_ACTION_SPELL["regular"][text].texture)
|
|
end
|
|
end
|
|
end
|
|
|
|
-- hook events to include SuperMacro refreshs
|
|
local ButtonEnter = pfUI.bars[1][1]:GetScript("OnEnter")
|
|
local function NewButtonEnter()
|
|
ButtonEnter()
|
|
local actionid = ActionButton_GetPagedID(this)
|
|
SM_ActionButton_SetTooltip(actionid)
|
|
end
|
|
|
|
-- reassign the new event handler
|
|
for i=1,10 do
|
|
for j=1,12 do
|
|
pfUI.bars[i][j]:SetScript("OnEvent", NewButtonEvent)
|
|
pfUI.bars[i][j]:SetScript("OnEnter", NewButtonEnter)
|
|
end
|
|
end
|
|
|
|
-- trigger the event whenever SuperMacro got an update
|
|
hooksecurefunc("SM_UpdateActionSpell", function()
|
|
for slot=1,120 do pfUI.bars.update[slot] = true end
|
|
end)
|
|
end)
|
|
|
|
-- CleverMacro
|
|
-- https://github.com/DanielAdolfsson/CleverMacro
|
|
HookAddonOrVariable("CleverMacro", function()
|
|
if C.thirdparty.clevermacro.enable == "0" then return end
|
|
|
|
-- get pfUI actionbar event handler
|
|
local events = pfUI.bars and pfUI.bars:GetScript("OnEvent")
|
|
if not events then return end
|
|
|
|
-- disable pfUI macro scanning
|
|
pfUI.bars.skip_macro = true
|
|
|
|
-- send clevermacro events to pfUI actionbars
|
|
hooksecurefunc("ActionButton_OnEvent", function(event)
|
|
events(this, event)
|
|
end)
|
|
end)
|
|
|
|
-- SuperCleveRoidMacros
|
|
HookAddonOrVariable("SuperCleveRoidMacros", function()
|
|
if C.thirdparty.supercleveroidmacros.enable == "0" then return end
|
|
if not pfUI.bars then return end
|
|
|
|
-- disable pfUI macro scanning
|
|
pfUI.bars.skip_macro = true
|
|
end)
|
|
|
|
HookAddonOrVariable("AtlasLoot", function()
|
|
if C.thirdparty.atlasloot.enable == "0" then return end
|
|
|
|
CreateBackdrop(AtlasLootTooltip)
|
|
CreateBackdropShadow(AtlasLootTooltip)
|
|
|
|
if pfUI.eqcompare then
|
|
pfUI.eqcompare.HookTooltip(AtlasLootTooltip)
|
|
AtlasLootTooltip:HookScript("OnHide", function()
|
|
ShoppingTooltip1:Hide()
|
|
ShoppingTooltip2:Hide()
|
|
end)
|
|
end
|
|
end)
|
|
|
|
HookAddonOrVariable("crafty", function()
|
|
if C.thirdparty.crafty.enable == "0" then return end
|
|
|
|
local craftyskin = CreateFrame("Frame", nil, UIParent)
|
|
craftyskin:Hide()
|
|
craftyskin:RegisterEvent("TRADE_SKILL_SHOW")
|
|
craftyskin:RegisterEvent("CRAFT_SHOW")
|
|
craftyskin.Skin = function(self, frame)
|
|
-- skip on non-crafty frames
|
|
if not frame or not frame.SearchBox or not frame.MaterialsButton or not frame.LinkButton then
|
|
return
|
|
end
|
|
|
|
StripTextures(frame)
|
|
CreateBackdrop(frame)
|
|
|
|
SkinButton(frame.MaterialsButton)
|
|
frame.MaterialsButton:SetHeight(20)
|
|
|
|
SkinButton(frame.LinkButton)
|
|
frame.LinkButton:SetHeight(20)
|
|
|
|
CreateBackdrop(frame.SearchBox, nil, true)
|
|
for _,v in ipairs({frame.SearchBox:GetRegions()}) do
|
|
if v.GetTexture then
|
|
if v:GetTexture() == "Interface\\Common\\Common-Input-Border" then
|
|
v:Hide()
|
|
elseif v:GetTexture() == "Interface\\AddOns\\crafty\\UI-Searchbox-Icon" then
|
|
v:SetPoint('LEFT', 3, -1)
|
|
end
|
|
end
|
|
end
|
|
|
|
self.skinned = true
|
|
end
|
|
|
|
craftyskin:SetScript("OnEvent", function()
|
|
if this.skinned then return end
|
|
craftyskin:Show()
|
|
end)
|
|
|
|
craftyskin:SetScript("OnUpdate", function()
|
|
-- Try to identify a crafty frame. It can't be accessed directly
|
|
-- since everything is unnamed in the addon and hidden in its local space.
|
|
|
|
if CraftFrame then
|
|
local crafts = { CraftFrame:GetChildren() }
|
|
for id, frame in pairs(crafts) do
|
|
this:Skin(frame)
|
|
end
|
|
end
|
|
|
|
if TradeSkillFrame then
|
|
local trades = { TradeSkillFrame:GetChildren() }
|
|
for id, frame in pairs(trades) do
|
|
this:Skin(frame)
|
|
end
|
|
end
|
|
|
|
this:Hide()
|
|
end)
|
|
end)
|
|
|
|
HookAddonOrVariable("BetterCharacterStats", function()
|
|
if C.thirdparty.bcs.enable == "0" then return end
|
|
StripTextures(BetterCharacterAttributesFrame)
|
|
|
|
if PlayerStatFrameLeftDropDown then
|
|
SkinDropDown(PlayerStatFrameLeftDropDown, nil, nil, nil, true)
|
|
PlayerStatFrameLeftDropDown.backdrop:SetPoint("TOPLEFT", 19, -2)
|
|
PlayerStatFrameLeftDropDown.backdrop:SetPoint("BOTTOMRIGHT", -19, 7)
|
|
end
|
|
|
|
if PlayerStatFrameRightDropDown then
|
|
SkinDropDown(PlayerStatFrameRightDropDown, nil, nil, nil, true)
|
|
PlayerStatFrameRightDropDown.backdrop:SetPoint("TOPLEFT", 19, -2)
|
|
PlayerStatFrameRightDropDown.backdrop:SetPoint("BOTTOMRIGHT", -19, 7)
|
|
end
|
|
end)
|
|
|
|
HookAddonOrVariable("MyRolePlay", function()
|
|
if C.thirdparty.myroleplay.enable == "0" then return end
|
|
|
|
if pfUI.uf.target then
|
|
-- set mrp icon to target frame
|
|
mrpButtonIconFrame:SetParent(pfUI.uf.target)
|
|
mrpButtonIconFrame:SetFrameStrata("DIALOG")
|
|
mrpButtonIconFrame:SetWidth(20)
|
|
mrpButtonIconFrame:SetHeight(20)
|
|
mrpButtonIconFrame:SetPoint("TOPRIGHT", pfUI.uf.target, "TOPRIGHT", 10, 10)
|
|
function _G.mrpMoveIcon()
|
|
mrpButtonIconFrame:SetPoint("TOPRIGHT", pfUI.uf.target, "TOPRIGHT", 10, 10)
|
|
end
|
|
end
|
|
|
|
if pfUI.uf.player then
|
|
-- set tooltip function for player frame
|
|
local oldfunc = pfUI.uf.player:GetScript("OnEnter")
|
|
pfUI.uf.player:SetScript("OnEnter", function()
|
|
oldfunc()
|
|
mrpDisplayTooltip("player", "PLAYER")
|
|
end)
|
|
end
|
|
end)
|
|
|
|
HookAddonOrVariable("DruidManaBarBackground", function()
|
|
if C.thirdparty.druidmana.enable == "0" then return end
|
|
DruidManaBar:SetParent(UIParent)
|
|
DruidManaBar.bd:Hide()
|
|
|
|
local p = ManaBarColor[0]
|
|
local pr, pg, pb = 0, 0, 0
|
|
if p then pr, pg, pb = p.r + .5, p.g +.5, p.b +.5 end
|
|
DruidManaBar:SetStatusBarColor(pr, pg, pb)
|
|
DruidManaBar:SetStatusBarTexture(pfUI.media[pfUI.uf.player.config.pbartexture])
|
|
|
|
local f = pfUI.uf.player
|
|
DruidManaBar:SetWidth((f.config.pwidth ~= "-1" and f.config.pwidth or f.config.width))
|
|
DruidManaBar:SetHeight(f.config.pheight)
|
|
DruidManaBar.text:SetFont(pfUI.font_unit, C.global.font_unit_size, "OUTLINE")
|
|
DruidManaBar.text:SetFontObject(GameFontWhite)
|
|
|
|
CreateBackdrop(DruidManaBar)
|
|
CreateBackdropShadow(DruidManaBar)
|
|
|
|
DruidManaBar:SetScript("OnMouseUp", function(button)
|
|
f:Click(button)
|
|
end)
|
|
|
|
DruidManaBar:ClearAllPoints()
|
|
DruidManaBar:SetPoint("CENTER", 0, 0)
|
|
UpdateMovable(DruidManaBar)
|
|
end)
|
|
|
|
HookAddonOrVariable("NoteIt", function()
|
|
if C.thirdparty.noteit.enable == "0" then return end
|
|
|
|
-- Main window
|
|
pfUI.api.StripTextures(NoteInputFrame, true)
|
|
CreateBackdrop(NoteInputFrame, nil, nil, .75)
|
|
CreateBackdropShadow(NoteInputFrame)
|
|
|
|
NoteInputFrame.backdrop:SetPoint("TOPLEFT", 10, -12)
|
|
NoteInputFrame.backdrop:SetPoint("BOTTOMRIGHT", -32, 30)
|
|
|
|
-- close button
|
|
pfUI.api.SkinCloseButton(NoteInputFrameCloseButton, NoteInputFrame, -37, -17)
|
|
|
|
-- Options button
|
|
pfUI.api.SkinButton(NoteInputOptionsButton)
|
|
NoteInputOptionsButton:ClearAllPoints()
|
|
NoteInputOptionsButton:SetPoint("TOPLEFT", NoteInputTextBackground, "BOTTOMLEFT", 0, -15)
|
|
NoteInputOptionsButton:SetWidth(145)
|
|
|
|
-- Delete button
|
|
pfUI.api.SkinButton(NoteInputDeleteButton)
|
|
NoteInputDeleteButton:ClearAllPoints()
|
|
NoteInputDeleteButton:SetPoint("TOPLEFT", NoteInputOptionsButton, "BOTTOMLEFT", 0, -4)
|
|
NoteInputDeleteButton:SetWidth(145)
|
|
|
|
-- Save button
|
|
pfUI.api.SkinButton(NoteInputFrameSaveButton)
|
|
NoteInputFrameSaveButton:ClearAllPoints()
|
|
NoteInputFrameSaveButton:SetPoint("TOPRIGHT", NoteInputTextBackground, "BOTTOMRIGHT", 0, -15)
|
|
NoteInputFrameSaveButton:SetWidth(145)
|
|
|
|
-- Cancel button
|
|
pfUI.api.SkinButton(NoteInputFrameExitButton)
|
|
NoteInputFrameExitButton:ClearAllPoints()
|
|
NoteInputFrameExitButton:SetPoint("TOPLEFT", NoteInputFrameSaveButton, "BOTTOMLEFT", 0, -4)
|
|
NoteInputFrameExitButton:SetWidth(145)
|
|
|
|
-- Window title
|
|
NoteInputTitleText:SetTextColor(1,1,.25,1)
|
|
|
|
-- Scrollbars
|
|
pfUI.api.SkinScrollbar(NoteInputNameChooseFrameScrollBar)
|
|
pfUI.api.SkinScrollbar(NoteInputNoteFrameScrollBar)
|
|
|
|
-- Search/Input label frame
|
|
NoteInputNameLabel:ClearAllPoints()
|
|
NoteInputNameLabel:SetPoint("TOPLEFT", NoteInputTitleText, "BOTTOMLEFT", -10, 0)
|
|
|
|
-- Search/Input input frame
|
|
pfUI.api.StripTextures(NoteInputNameEditBox)
|
|
CreateBackdrop(NoteInputNameEditBox)
|
|
NoteInputNameEditBox:SetTextInsets(5,5,5,5)
|
|
NoteInputNameEditBox:ClearAllPoints()
|
|
NoteInputNameEditBox:SetPoint("TOPLEFT", NoteInputNameLabel, "BOTTOMLEFT", 0, 0)
|
|
NoteInputNameEditBox:SetPoint("TOPRIGHT", NoteInputNameLabel, "BOTTOMRIGHT", 0, 0)
|
|
NoteInputNameEditBox:SetHeight(20)
|
|
|
|
-- Frame holding the list (i think)
|
|
pfUI.api.StripTextures(NoteInputNameChooseFrame)
|
|
CreateBackdrop(NoteInputNameChooseFrame)
|
|
NoteInputNameChooseFrame:ClearAllPoints()
|
|
NoteInputNameChooseFrame:SetPoint("TOPLEFT", NoteInputNameEditBox, "BOTTOMLEFT", 0, -10)
|
|
NoteInputNameChooseFrame:SetPoint("TOPRIGHT", NoteInputNameEditBox, "BOTTOMRIGHT", -20, 0)
|
|
NoteInputNameChooseFrame:SetHeight(100)
|
|
|
|
-- Note label frame
|
|
NoteInputNoteLabel:ClearAllPoints()
|
|
NoteInputNoteLabel:SetPoint("TOPLEFT", NoteInputNameChooseFrame, "BOTTOMLEFT", 0, 0)
|
|
NoteInputNoteLabel:SetPoint("TOPRIGHT", NoteInputNameChooseFrame, "BOTTOMRIGHT", 0, 0)
|
|
|
|
-- Note input frame
|
|
pfUI.api.StripTextures(NoteInputNoteFrame)
|
|
CreateBackdrop(NoteInputNoteFrame)
|
|
NoteInputNoteEditBox:SetTextInsets(5,5,5,5)
|
|
NoteInputNoteFrame:ClearAllPoints()
|
|
NoteInputNoteFrame:SetPoint("TOPLEFT", NoteInputNoteLabel, "BOTTOMLEFT", 0, 0)
|
|
NoteInputNoteFrame:SetPoint("TOPRIGHT", NoteInputNoteLabel, "BOTTOMRIGHT", 0, 0)
|
|
NoteInputNoteFrame:SetHeight(140)
|
|
|
|
-- Weird frames
|
|
NoteInputNameChooseBackground:Hide()
|
|
NoteInputTextBackground:Hide()
|
|
|
|
NoteInputTextBackground:ClearAllPoints()
|
|
NoteInputTextBackground:SetPoint("TOPLEFT", NoteInputNameChooseFrame, "BOTTOMLEFT", -2, -38)
|
|
NoteInputTextBackground:SetPoint("TOPRIGHT", NoteInputNameChooseFrame, "BOTTOMRIGHT", 22, -38)
|
|
end)
|
|
|
|
local EnableHealComm = function()
|
|
-- HealComm-1.0 already broadcasts this player's casts: keep libpredict
|
|
-- tracking them, but stop it sending a second copy
|
|
if AceLibrary and AceLibrary:HasInstance("HealComm-1.0") and pfUI.api.libpredict then
|
|
pfUI.api.libpredict.sender.enabled = nil
|
|
end
|
|
end
|
|
HookAddonOrVariable("HealComm", EnableHealComm)
|
|
HookAddonOrVariable("LunaUnitFrames", EnableHealComm)
|
|
HookAddonOrVariable("NotGrid", EnableHealComm)
|
|
|
|
HookAddonOrVariable("HardcoreDeath", function()
|
|
GameMenuFrame:SetHeight(GameMenuFrame:GetHeight() + 20)
|
|
end)
|
|
|
|
HookAddonOrVariable("MacroExtender", function()
|
|
-- Macro Extender moves the character dialog from frame-stata "dialog"
|
|
-- to "low" and by that moves the frame below backgrounds, quest-trackers,
|
|
-- and what not... it does this because the buttons it attempts to add, are
|
|
-- added to the wrong parent frames. (This also causes them to stay visible on
|
|
-- other pages of the paperdoll frame aswell)
|
|
--
|
|
-- Using its own global variables and settings to disable that "feature",
|
|
-- because it only attempts to add rarity borders which pfUI already does.
|
|
|
|
-- make sure strata won't get touched again
|
|
_G.PaperDollHook = function() return end
|
|
|
|
-- restore original frame strata
|
|
PaperDollFrame:SetFrameStrata("DIALOG")
|
|
|
|
-- disable macro extenders setting
|
|
MacroExtender_Options.Inventory = nil
|
|
end)
|
|
|
|
-- UnitXP SP3 compatibility
|
|
-- https://github.com/allfoxwy/UnitXP_SP3
|
|
HookAddonOrVariable("UnitXP_SP3_Addon", function()
|
|
-- skin UnitXP SP3 window and elements
|
|
StripTextures(xpsp3Frame)
|
|
CreateBackdrop(xpsp3Frame)
|
|
CreateBackdropShadow(xpsp3Frame)
|
|
|
|
StripTextures(xpsp3tooltip)
|
|
CreateBackdrop(xpsp3tooltip)
|
|
CreateBackdropShadow(xpsp3tooltip)
|
|
|
|
SkinCheckbox(xpsp3_checkButton_minimapButton)
|
|
SkinCheckbox(xpsp3_checkButton_modernNameplate)
|
|
SkinCheckbox(xpsp3_checkButton_prioritizeTargetNameplate)
|
|
SkinCheckbox(xpsp3_checkButton_prioritizeMarkedNameplate)
|
|
SkinCheckbox(xpsp3_checkButton_nameplateCombatFilter)
|
|
SkinCheckbox(xpsp3_checkButton_showInCombatNameplatesNearPlayer)
|
|
SkinCheckbox(xpsp3_checkButton_notify_flashTaskbarIcon)
|
|
SkinCheckbox(xpsp3_checkButton_notify_playSystemDefaultSound)
|
|
SkinCheckbox(xpsp3_checkButton_cameraPinHeight)
|
|
|
|
SkinButton(xpsp3_button_cameraHeight_raise)
|
|
SkinButton(xpsp3_button_cameraHeight_lower)
|
|
SkinButton(xpsp3_button_cameraPitch_up)
|
|
SkinButton(xpsp3_button_cameraPitch_down)
|
|
SkinButton(xpsp3_button_cameraHorizontalDisplacement_leftPlayer)
|
|
SkinButton(xpsp3_button_cameraHorizontalDisplacement_rightPlayer)
|
|
SkinButton(xpsp3_buttonCancel_resetCamera)
|
|
SkinButton(xpsp3_buttonCancel_close)
|
|
|
|
StripTextures(xpsp3_editBox_FPScap, "BACKGROUND")
|
|
CreateBackdrop(xpsp3_editBox_FPScap)
|
|
end)
|
|
|
|
end)
|