--------------- -- Variables -- --------------- Perl_Config_Config = {}; Perl_Config_Global_ArcaneBar_Config = {}; Perl_Config_Global_CombatDisplay_Config = {}; Perl_Config_Global_Config_Config = {}; Perl_Config_Global_Party_Config = {}; Perl_Config_Global_Party_Pet_Config = {}; Perl_Config_Global_Player_Config = {}; Perl_Config_Global_Player_Buff_Config = {}; Perl_Config_Global_Player_Pet_Config = {}; Perl_Config_Global_Raid_Config = {}; Perl_Config_Global_Target_Config = {}; Perl_Config_Global_Target_Target_Config = {}; -- Default Saved Variables (also set in Perl_Config_GetVars) local texture = 0; -- no texture is set by default local showminimapbutton = 1; -- minimap button is on by default local minimapbuttonpos = 270; -- default minimap button position local transparentbackground = 0; -- use solid black background as default PCUF_CASTPARTYSUPPORT = 1; -- CastParty support is enabled by default (global variable so i don't go insane) PCUF_COLORHEALTH = 0; -- progressively colored health bars are off by default -- Empty variables used for localization PERL_LOCALIZED_DRUID = nil; PERL_LOCALIZED_HUNTER = nil; PERL_LOCALIZED_MAGE = nil; PERL_LOCALIZED_PALADIN = nil; PERL_LOCALIZED_PRIEST = nil; PERL_LOCALIZED_ROGUE = nil; PERL_LOCALIZED_SHAMAN = nil; PERL_LOCALIZED_WARLOCK = nil; PERL_LOCALIZED_WARRIOR = nil; PERL_LOCALIZED_CIVILIAN = nil; PERL_LOCALIZED_CREATURE = nil; PERL_LOCALIZED_NOTSPECIFIED = nil; ---------------------- -- Loading Function -- ---------------------- function Perl_Config_OnLoad() -- Events this:RegisterEvent("ADDON_LOADED"); this:RegisterEvent("PLAYER_ENTERING_WORLD"); this:RegisterEvent("VARIABLES_LOADED"); Perl_Config_Set_Localization(); -- Slash Commands SlashCmdList["PERL_CONFIG"] = Perl_Config_SlashHandler; SLASH_PERL_CONFIG1 = "/perl"; if (DEFAULT_CHAT_FRAME) then DEFAULT_CHAT_FRAME:AddMessage("|cffffff00Perl Classic: Config loaded successfully."); end end ------------------- -- Event Handler -- ------------------- function Perl_Config_OnEvent(event) if (event == "ADDON_LOADED") then if (arg1 == "Perl_Config") then Perl_Config_myAddOns_Support(); end return; elseif (event=="PLAYER_ENTERING_WORLD") then Perl_Config_Set_Texture(); Perl_Config_Button_UpdatePosition(); Perl_Config_ShowHide_MiniMap_Button(); Perl_Config_Set_Background(); elseif (event == "VARIABLES_LOADED") then Perl_Config_Initialize(); return; else return; end end ------------------- -- Slash Handler -- ------------------- function Perl_Config_SlashHandler(msg) Perl_Config_Toggle(); end ------------------------------- -- Loading Settings Function -- ------------------------------- function Perl_Config_Initialize() -- Check if a previous exists, if not, enable by default. if (type(Perl_Config_Config[UnitName("player")]) == "table") then Perl_Config_GetVars(); else Perl_Config_UpdateVars(); end end --------------------------- -- Localization Function -- --------------------------- function Perl_Config_Set_Localization() -- English is set no matter what in order to not break the mod for untranslated clients like in version 0.25 --if (GetLocale() == "enUS") then PERL_LOCALIZED_DRUID = "Druid"; PERL_LOCALIZED_HUNTER = "Hunter"; PERL_LOCALIZED_MAGE = "Mage"; PERL_LOCALIZED_PALADIN = "Paladin"; PERL_LOCALIZED_PRIEST = "Priest"; PERL_LOCALIZED_ROGUE = "Rogue"; PERL_LOCALIZED_SHAMAN = "Shaman"; PERL_LOCALIZED_WARLOCK = "Warlock"; PERL_LOCALIZED_WARRIOR = "Warrior"; PERL_LOCALIZED_CIVILIAN = "Civilian"; PERL_LOCALIZED_CREATURE = "Creature"; PERL_LOCALIZED_NOTSPECIFIED = "Not specified"; --end if (GetLocale() == "deDE") then PERL_LOCALIZED_DRUID = "Druide"; PERL_LOCALIZED_HUNTER = "J\195\164ger"; PERL_LOCALIZED_MAGE = "Magier"; PERL_LOCALIZED_PALADIN = "Paladin"; PERL_LOCALIZED_PRIEST = "Priester"; PERL_LOCALIZED_ROGUE = "Schurke"; PERL_LOCALIZED_SHAMAN = "Schamane"; PERL_LOCALIZED_WARLOCK = "Hexenmeister"; PERL_LOCALIZED_WARRIOR = "Krieger"; PERL_LOCALIZED_CIVILIAN = "Zivilist"; PERL_LOCALIZED_CREATURE = "Kreatur"; PERL_LOCALIZED_NOTSPECIFIED = "Nicht spezifiziert"; end if (GetLocale() == "frFR") then PERL_LOCALIZED_DRUID = "Druide"; PERL_LOCALIZED_HUNTER = "Chasseur"; PERL_LOCALIZED_MAGE = "Mage"; PERL_LOCALIZED_PALADIN = "Paladin"; PERL_LOCALIZED_PRIEST = "Pr\195\170tre"; PERL_LOCALIZED_ROGUE = "Voleur"; PERL_LOCALIZED_SHAMAN = "Chaman"; PERL_LOCALIZED_WARLOCK = "D\195\169moniste"; PERL_LOCALIZED_WARRIOR = "Guerrier"; PERL_LOCALIZED_CIVILIAN = "Civil"; PERL_LOCALIZED_CREATURE = "Cr\195\169ature"; PERL_LOCALIZED_NOTSPECIFIED = "Non indiqu\195\169"; end if (GetLocale() == "koKR") then PERL_LOCALIZED_DRUID = "드루이드"; PERL_LOCALIZED_HUNTER = "사냥꾼"; PERL_LOCALIZED_MAGE = "마법사"; PERL_LOCALIZED_PALADIN = "성기사"; PERL_LOCALIZED_PRIEST = "사제"; PERL_LOCALIZED_ROGUE = "도적"; PERL_LOCALIZED_SHAMAN = "주술사"; PERL_LOCALIZED_WARLOCK = "흑마법사"; PERL_LOCALIZED_WARRIOR = "전사"; PERL_LOCALIZED_CIVILIAN = "민간인"; PERL_LOCALIZED_CREATURE = "동물"; PERL_LOCALIZED_NOTSPECIFIED = "무엇인가"; end if (GetLocale() == "zhCN") then PERL_LOCALIZED_DRUID = "德鲁伊"; PERL_LOCALIZED_HUNTER = "猎人"; PERL_LOCALIZED_MAGE = "法师"; PERL_LOCALIZED_PALADIN = "圣骑士"; PERL_LOCALIZED_PRIEST = "牧师"; PERL_LOCALIZED_ROGUE = "盗贼"; PERL_LOCALIZED_SHAMAN = "萨满祭司"; PERL_LOCALIZED_WARLOCK = "术士"; PERL_LOCALIZED_WARRIOR = "战士"; PERL_LOCALIZED_CIVILIAN = "平民"; PERL_LOCALIZED_CREATURE = "生物"; PERL_LOCALIZED_NOTSPECIFIED = "非特定的"; end if (GetLocale() == "zhTW") then PERL_LOCALIZED_DRUID = "德魯伊"; PERL_LOCALIZED_HUNTER = "獵人"; PERL_LOCALIZED_MAGE = "法師"; PERL_LOCALIZED_PALADIN = "聖騎士"; PERL_LOCALIZED_PRIEST = "牧師"; PERL_LOCALIZED_ROGUE = "盜賊"; PERL_LOCALIZED_SHAMAN = "薩滿"; PERL_LOCALIZED_WARLOCK = "術士"; PERL_LOCALIZED_WARRIOR = "戰士"; PERL_LOCALIZED_CIVILIAN = "平民"; PERL_LOCALIZED_CREATURE = "生物"; PERL_LOCALIZED_NOTSPECIFIED = "非特定的"; end end -------------------------- -- Update/GUI Functions -- -------------------------- function Perl_Config_Set_Texture(newvalue) if (newvalue ~= nil) then texture = newvalue; Perl_Config_UpdateVars(); end local texturename; if (texture ~= 0) then texturename = "Interface\\AddOns\\Perl_Config\\Perl_StatusBar"..texture..".tga"; else texturename = "Interface\\TargetingFrame\\UI-StatusBar"; end if (Perl_ArcaneBar_Frame_Loaded_Frame) then Perl_ArcaneBarTex:SetTexture(texturename); end if (Perl_CombatDisplay_Frame) then Perl_CombatDisplay_HealthBarTex:SetTexture(texturename); Perl_CombatDisplay_ManaBarTex:SetTexture(texturename); Perl_CombatDisplay_DruidBarTex:SetTexture(texturename); Perl_CombatDisplay_CPBarTex:SetTexture(texturename); Perl_CombatDisplay_PetHealthBarTex:SetTexture(texturename); Perl_CombatDisplay_PetManaBarTex:SetTexture(texturename); Perl_CombatDisplay_Target_HealthBarTex:SetTexture(texturename); Perl_CombatDisplay_Target_ManaBarTex:SetTexture(texturename); end if (Perl_Party_Frame) then Perl_Party_MemberFrame1_StatsFrame_HealthBar_HealthBarTex:SetTexture(texturename); Perl_Party_MemberFrame1_StatsFrame_ManaBar_ManaBarTex:SetTexture(texturename); Perl_Party_MemberFrame1_StatsFrame_PetHealthBar_PetHealthBarTex:SetTexture(texturename); Perl_Party_MemberFrame2_StatsFrame_HealthBar_HealthBarTex:SetTexture(texturename); Perl_Party_MemberFrame2_StatsFrame_ManaBar_ManaBarTex:SetTexture(texturename); Perl_Party_MemberFrame2_StatsFrame_PetHealthBar_PetHealthBarTex:SetTexture(texturename); Perl_Party_MemberFrame3_StatsFrame_HealthBar_HealthBarTex:SetTexture(texturename); Perl_Party_MemberFrame3_StatsFrame_ManaBar_ManaBarTex:SetTexture(texturename); Perl_Party_MemberFrame3_StatsFrame_PetHealthBar_PetHealthBarTex:SetTexture(texturename); Perl_Party_MemberFrame4_StatsFrame_HealthBar_HealthBarTex:SetTexture(texturename); Perl_Party_MemberFrame4_StatsFrame_ManaBar_ManaBarTex:SetTexture(texturename); Perl_Party_MemberFrame4_StatsFrame_PetHealthBar_PetHealthBarTex:SetTexture(texturename); end if (Perl_Party_Pet_Script_Frame) then Perl_Party_Pet1_StatsFrame_HealthBar_HealthBarTex:SetTexture(texturename); Perl_Party_Pet1_StatsFrame_ManaBar_ManaBarTex:SetTexture(texturename); Perl_Party_Pet2_StatsFrame_HealthBar_HealthBarTex:SetTexture(texturename); Perl_Party_Pet2_StatsFrame_ManaBar_ManaBarTex:SetTexture(texturename); Perl_Party_Pet3_StatsFrame_HealthBar_HealthBarTex:SetTexture(texturename); Perl_Party_Pet3_StatsFrame_ManaBar_ManaBarTex:SetTexture(texturename); Perl_Party_Pet4_StatsFrame_HealthBar_HealthBarTex:SetTexture(texturename); Perl_Party_Pet4_StatsFrame_ManaBar_ManaBarTex:SetTexture(texturename); end if (Perl_Player_Frame) then Perl_Player_HealthBarTex:SetTexture(texturename); Perl_Player_ManaBarTex:SetTexture(texturename); Perl_Player_DruidBarTex:SetTexture(texturename); Perl_Player_XPBarTex:SetTexture(texturename); end if (Perl_Player_Pet_Frame) then Perl_Player_Pet_HealthBarTex:SetTexture(texturename); Perl_Player_Pet_ManaBarTex:SetTexture(texturename); Perl_Player_Pet_XPBarTex:SetTexture(texturename); end if (Perl_Raid_Frame) then for num=1,40 do getglobal("Perl_Raid"..num.."_StatsFrame_HealthBar_HealthBarTex"):SetTexture(texturename); getglobal("Perl_Raid"..num.."_StatsFrame_ManaBar_ManaBarTex"):SetTexture(texturename); end end if (Perl_Target_Frame) then Perl_Target_HealthBarTex:SetTexture(texturename); Perl_Target_ManaBarTex:SetTexture(texturename); Perl_Target_NameFrame_CPMeterTex:SetTexture(texturename); end if (Perl_Target_Target_Script_Frame) then Perl_Target_Target_HealthBarTex:SetTexture(texturename); Perl_Target_Target_ManaBarTex:SetTexture(texturename); Perl_Target_Target_Target_HealthBarTex:SetTexture(texturename); Perl_Target_Target_Target_ManaBarTex:SetTexture(texturename); end end function Perl_Config_Set_Background(newvalue) if (newvalue ~= nil) then transparentbackground = newvalue; Perl_Config_UpdateVars(); end if (transparentbackground == 1) then if (Perl_CombatDisplay_Frame) then Perl_CombatDisplay_ManaFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_CombatDisplay_Target_ManaFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_CombatDisplay_Initialize_Frame_Color(); end if (Perl_Party_Frame) then for partynum=1,4 do getglobal("Perl_Party_MemberFrame"..partynum.."_NameFrame"):SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); getglobal("Perl_Party_MemberFrame"..partynum.."_LevelFrame"):SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); getglobal("Perl_Party_MemberFrame"..partynum.."_PortraitFrame"):SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); getglobal("Perl_Party_MemberFrame"..partynum.."_StatsFrame"):SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); end Perl_Party_Initialize_Frame_Color(1); end if (Perl_Party_Pet_Script_Frame) then for partynum=1,4 do getglobal("Perl_Party_Pet"..partynum.."_NameFrame"):SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); getglobal("Perl_Party_Pet"..partynum.."_PortraitFrame"):SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); getglobal("Perl_Party_Pet"..partynum.."_StatsFrame"):SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); end Perl_Party_Pet_Initialize_Frame_Color(1); end if (Perl_Player_Frame) then Perl_Player_NameFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_LevelFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_PortraitFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_RaidGroupNumberFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_StatsFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_Initialize_Frame_Color(); end if (Perl_Player_Pet_Frame) then Perl_Player_Pet_LevelFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_Pet_NameFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_Pet_PortraitFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_Pet_StatsFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_Pet_Initialize_Frame_Color(); end if (Perl_Raid_Frame) then for num=1,40 do getglobal("Perl_Raid"..num.."_NameFrame"):SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); getglobal("Perl_Raid"..num.."_StatsFrame"):SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); end Perl_Raid_Initialize_Frame_Color(); end if (Perl_Target_Frame) then Perl_Target_CivilianFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_ClassNameFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_CPFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_LevelFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_NameFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_PortraitFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_RareEliteFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_StatsFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_Initialize_Frame_Color(); end if (Perl_Target_Target_Script_Frame) then Perl_Target_Target_NameFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_Target_StatsFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_Target_Target_NameFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_Target_Target_StatsFrame:SetBackdrop({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_Target_Initialize_Frame_Color(); end else if (Perl_CombatDisplay_Frame) then Perl_CombatDisplay_ManaFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_CombatDisplay_Target_ManaFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_CombatDisplay_Initialize_Frame_Color(); end if (Perl_Party_Frame) then for partynum=1,4 do getglobal("Perl_Party_MemberFrame"..partynum.."_NameFrame"):SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); getglobal("Perl_Party_MemberFrame"..partynum.."_LevelFrame"):SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); getglobal("Perl_Party_MemberFrame"..partynum.."_PortraitFrame"):SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); getglobal("Perl_Party_MemberFrame"..partynum.."_StatsFrame"):SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); end Perl_Party_Initialize_Frame_Color(1); end if (Perl_Party_Pet_Script_Frame) then for partynum=1,4 do getglobal("Perl_Party_Pet"..partynum.."_NameFrame"):SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); getglobal("Perl_Party_Pet"..partynum.."_PortraitFrame"):SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); getglobal("Perl_Party_Pet"..partynum.."_StatsFrame"):SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); end Perl_Party_Pet_Initialize_Frame_Color(1); end if (Perl_Player_Frame) then Perl_Player_NameFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_LevelFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_PortraitFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_RaidGroupNumberFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_StatsFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_Initialize_Frame_Color(); end if (Perl_Player_Pet_Frame) then Perl_Player_Pet_LevelFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_Pet_NameFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_Pet_PortraitFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_Pet_StatsFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Player_Pet_Initialize_Frame_Color(); end if (Perl_Raid_Frame) then for num=1,40 do getglobal("Perl_Raid"..num.."_NameFrame"):SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); getglobal("Perl_Raid"..num.."_StatsFrame"):SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); end Perl_Raid_Initialize_Frame_Color(); end if (Perl_Target_Frame) then Perl_Target_CivilianFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_White", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_ClassNameFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_CPFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_LevelFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_NameFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_PortraitFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_RareEliteFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_StatsFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_Initialize_Frame_Color(); end if (Perl_Target_Target_Script_Frame) then Perl_Target_Target_NameFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_Target_StatsFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_Target_Target_NameFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_Target_Target_StatsFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Perl_Config\\Perl_Black", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, tileSize = 16, edgeSize = 16, insets = { left = 5, right = 5, top = 5, bottom = 5 }}); Perl_Target_Target_Initialize_Frame_Color(); end end end function Perl_Config_Set_Transparency(newvalue) if (Perl_ArcaneBar_Frame_Loaded_Frame) then Perl_ArcaneBar_Set_Transparency(newvalue); end if (Perl_CombatDisplay_Frame) then Perl_CombatDisplay_Set_Transparency(newvalue); end if (Perl_Party_Frame) then Perl_Party_Set_Transparency(newvalue); end if (Perl_Party_Pet_Script_Frame) then Perl_Party_Pet_Set_Transparency(newvalue); end if (Perl_Player_Frame) then Perl_Player_Set_Transparency(newvalue); end if (Perl_Player_Pet_Frame) then Perl_Player_Pet_Set_Transparency(newvalue); end if (Perl_Raid_Frame) then Perl_Raid_Set_Transparency(newvalue); end if (Perl_Target_Frame) then Perl_Target_Set_Transparency(newvalue); end if (Perl_Target_Target_Script_Frame) then Perl_Target_Target_Set_Transparency(newvalue); end end function Perl_Config_Set_MiniMap_Button(newvalue) showminimapbutton = newvalue; Perl_Config_UpdateVars(); Perl_Config_ShowHide_MiniMap_Button(); end function Perl_Config_Set_MiniMap_Position(newvalue) minimapbuttonpos = newvalue; Perl_Config_UpdateVars(); Perl_Config_Button_UpdatePosition(); end function Perl_Config_Set_CastParty_Support(newvalue) PCUF_CASTPARTYSUPPORT = newvalue; Perl_Config_UpdateVars(); end function Perl_Config_Set_Color_Health(newvalue) PCUF_COLORHEALTH = newvalue; Perl_Config_UpdateVars(); end ----------------------------------- -- Reset Frame Position Function -- ----------------------------------- function Perl_Config_Frame_Reset_Positions() -- Due to a terrible API, CombatDisplay resetting will not be a feature unless someone can unravel the mystery of screen resolution and scaling coordinates -- if (Perl_CombatDisplay_Frame) then -- Perl_CombatDisplay_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", 626, -574); -- Perl_CombatDisplay_Target_Frame:SetPoint("BOTTOMLEFT", Perl_CombatDisplay_Frame, "TOPLEFT", 0, 5); -- end if (Perl_Party_Frame) then Perl_Party_Frame:SetUserPlaced(1); -- All the SetUserPlaced allows us to save the new location set by these functions even if the user has not moved the frames on their own yet. Perl_Party_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", -8, -187); end if (Perl_Party_Pet_Script_Frame) then Perl_Party_Pet_Allign(); end if (Perl_Player_Frame) then Perl_Player_Frame:SetUserPlaced(1); Perl_Player_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", -3, -43); end if (Perl_Player_Pet_Frame) then Perl_Player_Pet_Frame:SetUserPlaced(1); Perl_Player_Pet_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", 27, -112); end if (Perl_Raid_Frame) then for num=1,8 do getglobal("Perl_Raid_Grp"..num):SetUserPlaced(1); getglobal("Perl_Raid_Grp"..num):SetPoint("TOPLEFT", UIParent, "TOPLEFT", 500, -200); end end if (Perl_Target_Frame) then Perl_Target_Frame:SetUserPlaced(1); Perl_Target_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", 263, -43); end if (Perl_Target_Target_Script_Frame) then Perl_Target_Target_Frame:SetUserPlaced(1); Perl_Target_Target_Target_Frame:SetUserPlaced(1); Perl_Target_Target_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", 501, -43); Perl_Target_Target_Target_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", 607, -43); end end ------------------------------------- -- Global Saved Variable Functions -- ------------------------------------- function Perl_Config_Global_Save_Settings() if (Perl_ArcaneBar_Frame_Loaded_Frame) then local vartable = Perl_ArcaneBar_GetVars(); Perl_Config_Global_ArcaneBar_Config["Global Settings"] = { ["Enabled"] = vartable["enabled"], ["HideOriginal"] = vartable["hideoriginal"], ["ShowTimer"] = vartable["showtimer"], ["Transparency"] = vartable["transparency"], }; end if (Perl_CombatDisplay_Frame) then local vartable = Perl_CombatDisplay_GetVars(); Perl_Config_Global_CombatDisplay_Config["Global Settings"] = { ["State"] = vartable["state"], ["Locked"] = vartable["locked"], ["HealthPersist"] = vartable["healthpersist"], ["ManaPersist"] = vartable["manapersist"], ["Scale"] = vartable["scale"], ["Transparency"] = vartable["transparency"], ["ShowTarget"] = vartable["showtarget"], ["MobHealthSupport"] = vartable["mobhealthsupport"], ["XPositionCD"] = floor(Perl_CombatDisplay_Frame:GetLeft() + 0.5), ["YPositionCD"] = floor(Perl_CombatDisplay_Frame:GetTop() - (UIParent:GetTop() / Perl_CombatDisplay_Frame:GetScale()) + 0.5), ["XPositionCDT"] = floor(Perl_CombatDisplay_Target_Frame:GetLeft() + 0.5), ["YPositionCDT"] = floor(Perl_CombatDisplay_Target_Frame:GetTop() - (UIParent:GetTop() / Perl_CombatDisplay_Target_Frame:GetScale()) + 0.5), ["ShowDruidBar"] = vartable["showdruidbar"], ["ShowPetBars"] = vartable["showpetbars"], }; end if (Perl_Config_Frame) then local vartable = Perl_Config_GetVars(); Perl_Config_Global_Config_Config["Global Settings"] = { ["Texture"] = vartable["texture"], ["ShowMiniMapButton"] = vartable["showminimapbutton"], ["MiniMapButtonPos"] = vartable["minimapbuttonpos"], ["TransparentBackground"] = vartable["transparentbackground"], ["PCUF_CastPartySupport"] = vartable["PCUF_CastPartySupport"], ["PCUF_ColorHealth"] = vartable["PCUF_ColorHealth"], }; end if (Perl_Party_Frame) then local vartable = Perl_Party_GetVars(); Perl_Config_Global_Party_Config["Global Settings"] = { ["Locked"] = vartable["locked"], ["CompactMode"] = vartable["compactmode"], ["PartyHidden"] = vartable["partyhidden"], ["PartySpacing"] = vartable["partyspacing"], ["Scale"] = vartable["scale"], ["ShowPets"] = vartable["showpets"], ["HealerMode"] = vartable["healermode"], ["Transparency"] = vartable["transparency"], ["BuffLocation"] = vartable["bufflocation"], ["DebuffLocation"] = vartable["debufflocation"], ["VerticalAlign"] = vartable["verticalalign"], ["XPosition"] = floor(Perl_Party_Frame:GetLeft() + 0.5), ["YPosition"] = floor(Perl_Party_Frame:GetTop() - (UIParent:GetTop() / Perl_Party_Frame:GetScale()) + 0.5), ["CompactPercent"] = vartable["compactpercent"], ["ShowPortrait"] = vartable["showportrait"], ["ShowFKeys"] = vartable["showfkeys"], ["DisplayCastableBuffs"] = vartable["displaycastablebuffs"], ["ThreeDPortrait"] = vartable["threedportrait"], ["BuffSize"] = vartable["buffsize"], ["DebuffSize"] = vartable["debuffsize"], }; end if (Perl_Party_Pet_Script_Frame) then local vartable = Perl_Party_Pet_GetVars(); Perl_Config_Global_Party_Pet_Config["Global Settings"] = { ["Locked"] = vartable["locked"], ["ShowPortrait"] = vartable["showportrait"], ["ThreeDPortrait"] = vartable["threedportrait"], ["Scale"] = vartable["scale"], ["Transparency"] = vartable["transparency"], ["Buffs"] = vartable["numpetbuffsshown"], ["Debuffs"] = vartable["numpetdebuffsshown"], ["BuffSize"] = vartable["buffsize"], ["DebuffSize"] = vartable["debuffsize"], ["BuffLocation"] = vartable["bufflocation"], ["DebuffLocation"] = vartable["debufflocation"], ["HiddenInRaids"] = vartable["hiddeninraids"], ["XPosition1"] = floor(Perl_Party_Pet1:GetLeft() + 0.5), ["YPosition1"] = floor(Perl_Party_Pet1:GetTop() - (UIParent:GetTop() / Perl_Party_Pet1:GetScale()) + 0.5), ["XPosition2"] = floor(Perl_Party_Pet2:GetLeft() + 0.5), ["YPosition2"] = floor(Perl_Party_Pet2:GetTop() - (UIParent:GetTop() / Perl_Party_Pet2:GetScale()) + 0.5), ["XPosition3"] = floor(Perl_Party_Pet3:GetLeft() + 0.5), ["YPosition3"] = floor(Perl_Party_Pet3:GetTop() - (UIParent:GetTop() / Perl_Party_Pet3:GetScale()) + 0.5), ["XPosition4"] = floor(Perl_Party_Pet4:GetLeft() + 0.5), ["YPosition4"] = floor(Perl_Party_Pet4:GetTop() - (UIParent:GetTop() / Perl_Party_Pet4:GetScale()) + 0.5), }; end if (Perl_Player_Frame) then local vartable = Perl_Player_GetVars(); Perl_Config_Global_Player_Config["Global Settings"] = { ["Locked"] = vartable["locked"], ["XPBarState"] = vartable["xpbarstate"], ["CompactMode"] = vartable["compactmode"], ["ShowRaidGroup"] = vartable["showraidgroup"], ["Scale"] = vartable["scale"], ["HealerMode"] = vartable["healermode"], ["Transparency"] = vartable["transparency"], ["XPosition"] = floor(Perl_Player_Frame:GetLeft() + 0.5), ["YPosition"] = floor(Perl_Player_Frame:GetTop() - (UIParent:GetTop() / Perl_Player_Frame:GetScale()) + 0.5), ["ShowPortrait"] = vartable["showportrait"], ["CompactPercent"] = vartable["compactpercent"], ["ThreeDPortrait"] = vartable["threedportrait"], ["PortraitCombatText"] = vartable["portraitcombattext"], ["ShowDruidBar"] = vartable["showdruidbar"], }; end if (Perl_Player_Buff_Script_Frame) then local vartable = Perl_Player_Buff_GetVars(); Perl_Config_Global_Player_Buff_Config["Global Settings"] = { ["BuffAlerts"] = vartable["buffalerts"], ["ShowBuffs"] = vartable["showbuffs"], ["Scale"] = vartable["scale"], }; end if (Perl_Player_Pet_Frame) then local vartable = Perl_Player_Pet_GetVars(); Perl_Config_Global_Player_Pet_Config["Global Settings"] = { ["Locked"] = vartable["locked"], ["ShowXP"] = vartable["showxp"], ["Scale"] = vartable["scale"], ["Buffs"] = vartable["numpetbuffsshown"], ["Debuffs"] = vartable["numpetdebuffsshown"], ["Transparency"] = vartable["transparency"], ["BuffLocation"] = vartable["bufflocation"], ["DebuffLocation"] = vartable["debufflocation"], ["XPosition"] = floor(Perl_Player_Pet_Frame:GetLeft() + 0.5), ["YPosition"] = floor(Perl_Player_Pet_Frame:GetTop() - (UIParent:GetTop() / Perl_Player_Pet_Frame:GetScale()) + 0.5), ["BuffSize"] = vartable["buffsize"], ["DebuffSize"] = vartable["debuffsize"], ["ShowPortrait"] = vartable["showportrait"], ["ThreeDPortrait"] = vartable["threedportrait"], }; end if (Perl_Raid_Frame) then local vartable = Perl_Raid_GetVars(); Perl_Config_Global_Raid_Config["Global Settings"] = { ["Locked"] = locked, ["ShowGroup1"] = vartable["showgroup1"], ["ShowGroup2"] = vartable["showgroup2"], ["ShowGroup3"] = vartable["showgroup3"], ["ShowGroup4"] = vartable["showgroup4"], ["ShowGroup5"] = vartable["showgroup5"], ["ShowGroup6"] = vartable["showgroup6"], ["ShowGroup7"] = vartable["showgroup7"], ["ShowGroup8"] = vartable["showgroup8"], ["ShowPercents"] = vartable["showpercents"], ["SortRaidByClass"] = vartable["sortraidbyclass"], ["Transparency"] = vartable["transparency"], ["Scale"] = vartable["scale"], ["XPosition1"] = floor(Perl_Raid_Grp1:GetLeft() + 0.5), ["YPosition1"] = floor(Perl_Raid_Grp1:GetTop() - (UIParent:GetTop() / Perl_Raid_Grp1:GetScale()) + 0.5), ["XPosition2"] = floor(Perl_Raid_Grp2:GetLeft() + 0.5), ["YPosition2"] = floor(Perl_Raid_Grp2:GetTop() - (UIParent:GetTop() / Perl_Raid_Grp2:GetScale()) + 0.5), ["XPosition3"] = floor(Perl_Raid_Grp3:GetLeft() + 0.5), ["YPosition3"] = floor(Perl_Raid_Grp3:GetTop() - (UIParent:GetTop() / Perl_Raid_Grp3:GetScale()) + 0.5), ["XPosition4"] = floor(Perl_Raid_Grp4:GetLeft() + 0.5), ["YPosition4"] = floor(Perl_Raid_Grp4:GetTop() - (UIParent:GetTop() / Perl_Raid_Grp4:GetScale()) + 0.5), ["XPosition5"] = floor(Perl_Raid_Grp5:GetLeft() + 0.5), ["YPosition5"] = floor(Perl_Raid_Grp5:GetTop() - (UIParent:GetTop() / Perl_Raid_Grp5:GetScale()) + 0.5), ["XPosition6"] = floor(Perl_Raid_Grp6:GetLeft() + 0.5), ["YPosition6"] = floor(Perl_Raid_Grp6:GetTop() - (UIParent:GetTop() / Perl_Raid_Grp6:GetScale()) + 0.5), ["XPosition7"] = floor(Perl_Raid_Grp7:GetLeft() + 0.5), ["YPosition7"] = floor(Perl_Raid_Grp7:GetTop() - (UIParent:GetTop() / Perl_Raid_Grp7:GetScale()) + 0.5), ["XPosition8"] = floor(Perl_Raid_Grp8:GetLeft() + 0.5), ["YPosition8"] = floor(Perl_Raid_Grp8:GetTop() - (UIParent:GetTop() / Perl_Raid_Grp8:GetScale()) + 0.5), ["ShowHeaders"] = vartable["showheaders"], ["ShowMissingHealth"] = vartable["showmissinghealth"], ["VerticalAlign"] = vartable["verticalalign"], }; end if (Perl_Target_Frame) then local vartable = Perl_Target_GetVars(); Perl_Config_Global_Target_Config["Global Settings"] = { ["Locked"] = vartable["locked"], ["ComboPoints"] = vartable["showcp"], ["ClassIcon"] = vartable["showclassicon"], ["ClassFrame"] = vartable["showclassframe"], ["PvPIcon"] = vartable["showpvpicon"], ["Buffs"] = vartable["numbuffsshown"], ["Debuffs"] = vartable["numdebuffsshown"], ["MobHealthSupport"] = vartable["mobhealthsupport"], ["Scale"] = vartable["scale"], ["ShowPvPRank"] = vartable["showpvprank"], ["Transparency"] = vartable["transparency"], ["BuffDebuffScale"] = vartable["buffdebuffscale"], ["XPosition"] = floor(Perl_Target_Frame:GetLeft() + 0.5), ["YPosition"] = floor(Perl_Target_Frame:GetTop() - (UIParent:GetTop() / Perl_Target_Frame:GetScale()) + 0.5), ["ShowPortrait"] = vartable["showportrait"], ["ThreeDPortrait"] = vartable["threedportrait"], ["PortraitCombatText"] = vartable["portraitcombattext"], ["ShowRareEliteFrame"] = vartable["showrareeliteframe"], ["NameFrameComboPoints"] = vartable["nameframecombopoints"], ["ComboFrameDebuffs"] = vartable["comboframedebuffs"], ["FrameStyle"] = vartable["framestyle"], ["CompactMode"] = vartable["compactmode"], ["CompactPercent"] = vartable["compactpercent"], ["HideBuffBackground"] = vartable["hidebuffbackground"], }; end if (Perl_Target_Target_Script_Frame) then local vartable = Perl_Target_Target_GetVars(); Perl_Config_Global_Target_Target_Config["Global Settings"] = { ["Locked"] = vartable["locked"], ["MobHealthSupport"] = vartable["mobhealthsupport"], ["Scale"] = vartable["scale"], ["ToTSupport"] = vartable["totsupport"], ["ToToTSupport"] = vartable["tototsupport"], ["Transparency"] = vartable["transparency"], ["XPositionToT"] = floor(Perl_Target_Target_Frame:GetLeft() + 0.5), ["YPositionToT"] = floor(Perl_Target_Target_Frame:GetTop() - (UIParent:GetTop() / Perl_Target_Target_Frame:GetScale()) + 0.5), ["XPositionToToT"] = floor(Perl_Target_Target_Target_Frame:GetLeft() + 0.5), ["YPositionToToT"] = floor(Perl_Target_Target_Target_Frame:GetTop() - (UIParent:GetTop() / Perl_Target_Target_Target_Frame:GetScale()) + 0.5), ["AlertSound"] = vartable["alertsound"], ["AlertMode"] = vartable["alertmode"], ["AlertSize"] = vartable["alertsize"], }; end end function Perl_Config_Global_Load_Settings() -- Load all global settings from last save and then do window positions in this mod since we aren't saving the positions in each individual mod (and to keep all position changes in one file instead of six). if (Perl_ArcaneBar_Frame_Loaded_Frame) then Perl_ArcaneBar_UpdateVars(Perl_Config_Global_ArcaneBar_Config); end if (Perl_CombatDisplay_Frame) then Perl_CombatDisplay_UpdateVars(Perl_Config_Global_CombatDisplay_Config); if (Perl_Config_Global_CombatDisplay_Config["Global Settings"] ~= nil) then if ((Perl_Config_Global_CombatDisplay_Config["Global Settings"]["XPositionCD"] ~= nil) and (Perl_Config_Global_CombatDisplay_Config["Global Settings"]["YPositionCD"] ~= nil) and (Perl_Config_Global_CombatDisplay_Config["Global Settings"]["XPositionCDT"] ~= nil) and (Perl_Config_Global_CombatDisplay_Config["Global Settings"]["YPositionCDT"] ~= nil)) then Perl_CombatDisplay_Frame:SetUserPlaced(1); Perl_CombatDisplay_Target_Frame:SetUserPlaced(1); Perl_CombatDisplay_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_CombatDisplay_Config["Global Settings"]["XPositionCD"], Perl_Config_Global_CombatDisplay_Config["Global Settings"]["YPositionCD"]); Perl_CombatDisplay_Target_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_CombatDisplay_Config["Global Settings"]["XPositionCDT"], Perl_Config_Global_CombatDisplay_Config["Global Settings"]["YPositionCDT"]); end end end if (Perl_Config_Frame) then Perl_Config_UpdateVars(Perl_Config_Global_Config_Config); end if (Perl_Party_Frame) then Perl_Party_UpdateVars(Perl_Config_Global_Party_Config); if (Perl_Config_Global_Party_Config["Global Settings"] ~= nil) then if ((Perl_Config_Global_Party_Config["Global Settings"]["XPosition"] ~= nil) and (Perl_Config_Global_Party_Config["Global Settings"]["YPosition"] ~= nil)) then Perl_Party_Frame:SetUserPlaced(1); Perl_Party_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Party_Config["Global Settings"]["XPosition"], Perl_Config_Global_Party_Config["Global Settings"]["YPosition"]); end end end if (Perl_Party_Pet_Script_Frame) then Perl_Party_Pet_UpdateVars(Perl_Config_Global_Party_Pet_Config); if (Perl_Config_Global_Party_Pet_Config["Global Settings"] ~= nil) then if ((Perl_Config_Global_Party_Pet_Config["Global Settings"]["XPosition1"] ~= nil) and (Perl_Config_Global_Party_Pet_Config["Global Settings"]["YPosition1"] ~= nil)) then Perl_Party_Pet1:SetUserPlaced(1); Perl_Party_Pet2:SetUserPlaced(1); Perl_Party_Pet3:SetUserPlaced(1); Perl_Party_Pet4:SetUserPlaced(1); Perl_Party_Pet1:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Party_Pet_Config["Global Settings"]["XPosition1"], Perl_Config_Global_Party_Pet_Config["Global Settings"]["YPosition1"]); Perl_Party_Pet2:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Party_Pet_Config["Global Settings"]["XPosition2"], Perl_Config_Global_Party_Pet_Config["Global Settings"]["YPosition2"]); Perl_Party_Pet3:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Party_Pet_Config["Global Settings"]["XPosition3"], Perl_Config_Global_Party_Pet_Config["Global Settings"]["YPosition3"]); Perl_Party_Pet4:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Party_Pet_Config["Global Settings"]["XPosition4"], Perl_Config_Global_Party_Pet_Config["Global Settings"]["YPosition4"]); end end end if (Perl_Player_Frame) then Perl_Player_UpdateVars(Perl_Config_Global_Player_Config); if (Perl_Config_Global_Player_Config["Global Settings"] ~= nil) then if ((Perl_Config_Global_Player_Config["Global Settings"]["XPosition"] ~= nil) and (Perl_Config_Global_Player_Config["Global Settings"]["YPosition"] ~= nil)) then Perl_Player_Frame:SetUserPlaced(1); Perl_Player_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Player_Config["Global Settings"]["XPosition"], Perl_Config_Global_Player_Config["Global Settings"]["YPosition"]); end end end if (Perl_Player_Buff_Script_Frame) then Perl_Player_Buff_UpdateVars(Perl_Config_Global_Player_Buff_Config); end if (Perl_Player_Pet_Frame) then Perl_Player_Pet_UpdateVars(Perl_Config_Global_Player_Pet_Config); if (Perl_Config_Global_Player_Pet_Config["Global Settings"] ~= nil) then if ((Perl_Config_Global_Player_Pet_Config["Global Settings"]["XPosition"] ~= nil) and (Perl_Config_Global_Player_Pet_Config["Global Settings"]["YPosition"] ~= nil)) then Perl_Player_Pet_Frame:SetUserPlaced(1); Perl_Player_Pet_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Player_Pet_Config["Global Settings"]["XPosition"], Perl_Config_Global_Player_Pet_Config["Global Settings"]["YPosition"]); end end end if (Perl_Raid_Frame) then Perl_Raid_UpdateVars(Perl_Config_Global_Raid_Config); if (Perl_Config_Global_Raid_Config["Global Settings"] ~= nil) then if ((Perl_Config_Global_Raid_Config["Global Settings"]["XPosition1"] ~= nil) and (Perl_Config_Global_Raid_Config["Global Settings"]["YPosition1"] ~= nil)) then Perl_Raid_Grp1:SetUserPlaced(1); Perl_Raid_Grp2:SetUserPlaced(1); Perl_Raid_Grp3:SetUserPlaced(1); Perl_Raid_Grp4:SetUserPlaced(1); Perl_Raid_Grp5:SetUserPlaced(1); Perl_Raid_Grp6:SetUserPlaced(1); Perl_Raid_Grp7:SetUserPlaced(1); Perl_Raid_Grp8:SetUserPlaced(1); Perl_Raid_Grp1:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Raid_Config["Global Settings"]["XPosition1"], Perl_Config_Global_Raid_Config["Global Settings"]["YPosition1"]); Perl_Raid_Grp2:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Raid_Config["Global Settings"]["XPosition2"], Perl_Config_Global_Raid_Config["Global Settings"]["YPosition2"]); Perl_Raid_Grp3:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Raid_Config["Global Settings"]["XPosition3"], Perl_Config_Global_Raid_Config["Global Settings"]["YPosition3"]); Perl_Raid_Grp4:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Raid_Config["Global Settings"]["XPosition4"], Perl_Config_Global_Raid_Config["Global Settings"]["YPosition4"]); Perl_Raid_Grp5:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Raid_Config["Global Settings"]["XPosition5"], Perl_Config_Global_Raid_Config["Global Settings"]["YPosition5"]); Perl_Raid_Grp6:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Raid_Config["Global Settings"]["XPosition6"], Perl_Config_Global_Raid_Config["Global Settings"]["YPosition6"]); Perl_Raid_Grp7:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Raid_Config["Global Settings"]["XPosition7"], Perl_Config_Global_Raid_Config["Global Settings"]["YPosition7"]); Perl_Raid_Grp8:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Raid_Config["Global Settings"]["XPosition8"], Perl_Config_Global_Raid_Config["Global Settings"]["YPosition8"]); end end end if (Perl_Target_Frame) then Perl_Target_UpdateVars(Perl_Config_Global_Target_Config); if (Perl_Config_Global_Target_Config["Global Settings"] ~= nil) then if ((Perl_Config_Global_Target_Config["Global Settings"]["XPosition"] ~= nil) and (Perl_Config_Global_Target_Config["Global Settings"]["YPosition"] ~= nil)) then Perl_Target_Frame:SetUserPlaced(1); Perl_Target_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Target_Config["Global Settings"]["XPosition"], Perl_Config_Global_Target_Config["Global Settings"]["YPosition"]); end end end if (Perl_Target_Target_Script_Frame) then Perl_Target_Target_UpdateVars(Perl_Config_Global_Target_Target_Config); if (Perl_Config_Global_Target_Target_Config["Global Settings"] ~= nil) then if ((Perl_Config_Global_Target_Target_Config["Global Settings"]["XPositionToT"] ~= nil) and (Perl_Config_Global_Target_Target_Config["Global Settings"]["YPositionToT"] ~= nil) and (Perl_Config_Global_Target_Target_Config["Global Settings"]["XPositionToToT"] ~= nil) and (Perl_Config_Global_Target_Target_Config["Global Settings"]["YPositionToToT"] ~= nil)) then Perl_Target_Target_Frame:SetUserPlaced(1); Perl_Target_Target_Target_Frame:SetUserPlaced(1); Perl_Target_Target_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Target_Target_Config["Global Settings"]["XPositionToT"], Perl_Config_Global_Target_Target_Config["Global Settings"]["YPositionToT"]); Perl_Target_Target_Target_Frame:SetPoint("TOPLEFT", UIParent, "TOPLEFT", Perl_Config_Global_Target_Target_Config["Global Settings"]["XPositionToToT"], Perl_Config_Global_Target_Target_Config["Global Settings"]["YPositionToToT"]); end end end end ------------------------------ -- Saved Variable Functions -- ------------------------------ function Perl_Config_GetVars() texture = Perl_Config_Config[UnitName("player")]["Texture"]; showminimapbutton = Perl_Config_Config[UnitName("player")]["ShowMiniMapButton"]; minimapbuttonpos = Perl_Config_Config[UnitName("player")]["MiniMapButtonPos"]; transparentbackground = Perl_Config_Config[UnitName("player")]["TransparentBackground"]; PCUF_CASTPARTYSUPPORT = Perl_Config_Config[UnitName("player")]["PCUF_CastPartySupport"]; PCUF_COLORHEALTH = Perl_Config_Config[UnitName("player")]["PCUF_ColorHealth"]; if (texture == nil) then texture = 0; end if (showminimapbutton == nil) then showminimapbutton = 1; end if (minimapbuttonpos == nil) then minimapbuttonpos = 270; end if (transparentbackground == nil) then transparentbackground = 0; end if (PCUF_CASTPARTYSUPPORT == nil) then PCUF_CASTPARTYSUPPORT = 1; end if (PCUF_COLORHEALTH == nil) then PCUF_COLORHEALTH = 0; end local vars = { ["texture"] = texture, ["showminimapbutton"] = showminimapbutton, ["minimapbuttonpos"] = minimapbuttonpos, ["transparentbackground"] = transparentbackground, ["PCUF_CastPartySupport"] = PCUF_CASTPARTYSUPPORT, ["PCUF_ColorHealth"] = PCUF_COLORHEALTH, } return vars; end function Perl_Config_UpdateVars(vartable) if (vartable ~= nil) then -- Sanity checks in case you use a load from an old version if (vartable["Global Settings"] ~= nil) then if (vartable["Global Settings"]["Texture"] ~= nil) then texture = vartable["Global Settings"]["Texture"]; else texture = nil; end if (vartable["Global Settings"]["ShowMiniMapButton"] ~= nil) then showminimapbutton = vartable["Global Settings"]["ShowMiniMapButton"]; else showminimapbutton = nil; end if (vartable["Global Settings"]["MiniMapButtonPos"] ~= nil) then minimapbuttonpos = vartable["Global Settings"]["MiniMapButtonPos"]; else minimapbuttonpos = nil; end if (vartable["Global Settings"]["TransparentBackground"] ~= nil) then transparentbackground = vartable["Global Settings"]["TransparentBackground"]; else transparentbackground = nil; end if (vartable["Global Settings"]["PCUF_CastPartySupport"] ~= nil) then PCUF_CASTPARTYSUPPORT = vartable["Global Settings"]["PCUF_CastPartySupport"]; else PCUF_CASTPARTYSUPPORT = nil; end if (vartable["Global Settings"]["PCUF_ColorHealth"] ~= nil) then PCUF_COLORHEALTH = vartable["Global Settings"]["PCUF_ColorHealth"]; else PCUF_COLORHEALTH = nil; end end -- Set the new values if any new values were found, same defaults as above if (texture == nil) then texture = 0; end if (showminimapbutton == nil) then showminimapbutton = 1; end if (minimapbuttonpos == nil) then minimapbuttonpos = 270; end if (transparentbackground == nil) then transparentbackground = 0; end if (PCUF_CASTPARTYSUPPORT == nil) then PCUF_CASTPARTYSUPPORT = 1; end if (PCUF_COLORHEALTH == nil) then PCUF_COLORHEALTH = 0; end -- Call any code we need to activate them Perl_Config_Set_Texture(texture); Perl_Config_Set_MiniMap_Button(showminimapbutton); Perl_Config_Set_MiniMap_Position(minimapbuttonpos); Perl_Config_Set_Background(); end Perl_Config_Config[UnitName("player")] = { ["Texture"] = texture, ["ShowMiniMapButton"] = showminimapbutton, ["MiniMapButtonPos"] = minimapbuttonpos, ["TransparentBackground"] = transparentbackground, ["PCUF_CastPartySupport"] = PCUF_CASTPARTYSUPPORT, ["PCUF_ColorHealth"] = PCUF_COLORHEALTH, }; end ------------------------- -- The Toggle Function -- ------------------------- function Perl_Config_Toggle() if (Perl_Config_Frame:IsVisible()) then Perl_Config_Frame:Hide(); Perl_Config_Hide_All(); else Perl_Config_Frame:Show(); Perl_Config_Hide_All(); end end function Perl_Config_Hide_All() Perl_Config_All_Frame:Hide(); Perl_Config_ArcaneBar_Frame:Hide(); Perl_Config_CombatDisplay_Frame:Hide(); Perl_Config_NotInstalled_Frame:Hide(); Perl_Config_Party_Frame:Hide(); Perl_Config_Party_Pet_Frame:Hide(); Perl_Config_Player_Frame:Hide(); Perl_Config_Player_Buff_Frame:Hide(); Perl_Config_Player_Pet_Frame:Hide(); Perl_Config_Raid_Frame:Hide(); Perl_Config_Target_Frame:Hide(); Perl_Config_Target_Target_Frame:Hide(); end function Perl_Config_ShowHide_MiniMap_Button() if (showminimapbutton == 0) then Perl_Config_ButtonFrame:Hide(); else Perl_Config_ButtonFrame:Show(); end end --------------------------- -- The Minimap Functions -- --------------------------- function Perl_Config_Button_OnClick() Perl_Config_Toggle(); end function Perl_Config_Button_UpdatePosition() Perl_Config_ButtonFrame:SetPoint( "TOPLEFT", "Minimap", "TOPLEFT", 55 - (75 * cos(minimapbuttonpos)), (75 * sin(minimapbuttonpos)) - 55 ); end ---------------------- -- myAddOns Support -- ---------------------- function Perl_Config_myAddOns_Support() -- Register the addon in myAddOns if (myAddOnsFrame_Register) then local Perl_Config_myAddOns_Details = { name = "Perl_Config", version = "Version 0.58", releaseDate = "April 15, 2006", author = "Global", email = "global@g-ball.com", website = "http://www.curse-gaming.com/mod.php?addid=2257", category = MYADDONS_CATEGORY_OTHERS, optionsframe = "Perl_Config_Frame", }; Perl_Config_myAddOns_Help = {}; Perl_Config_myAddOns_Help[1] = "/perl"; myAddOnsFrame_Register(Perl_Config_myAddOns_Details, Perl_Config_myAddOns_Help); end end