146 lines
3.3 KiB
Lua
146 lines
3.3 KiB
Lua
local AddonName, Private = ...
|
|
WeakAuras = {}
|
|
WeakAuras.L = {}
|
|
Private.frames = {}
|
|
|
|
WeakAuras.normalWidth = 1.3
|
|
WeakAuras.halfWidth = WeakAuras.normalWidth / 2
|
|
WeakAuras.doubleWidth = WeakAuras.normalWidth * 2
|
|
|
|
local versionStringFromToc = GetAddOnMetadata("WeakAuras", "Version")
|
|
local versionString = "4.1.5"
|
|
local buildTime = "20240701180000"
|
|
local isAwesomeEnabled = C_NamePlate and C_NamePlate.GetNamePlateForUnit or false
|
|
|
|
WeakAuras.versionString = versionStringFromToc
|
|
WeakAuras.buildTime = buildTime
|
|
WeakAuras.newFeatureString = "|TInterface\\OptionsFrame\\UI-OptionsFrame-NewFeatureIcon:0|t"
|
|
WeakAuras.BuildInfo = select(4, GetBuildInfo())
|
|
|
|
function WeakAuras.isAwesomeEnabled()
|
|
return isAwesomeEnabled
|
|
end
|
|
|
|
function WeakAuras.IsClassic()
|
|
return false
|
|
end
|
|
|
|
function WeakAuras.IsCorrectVersion()
|
|
return true
|
|
end
|
|
|
|
WeakAuras.prettyPrint = function(...)
|
|
print("|cff9900ffWeakAuras:|r ", ...)
|
|
end
|
|
|
|
-- Force enable WeakAurasCompanion and Archive because some addon managers interfere with it
|
|
EnableAddOn("WeakAurasCompanion")
|
|
EnableAddOn("WeakAurasArchive")
|
|
|
|
local libsAreOk = true
|
|
do
|
|
local StandAloneLibs = {
|
|
"Archivist",
|
|
"LibStub"
|
|
}
|
|
local LibStubLibs = {
|
|
"CallbackHandler-1.0",
|
|
"AceConfig-3.0",
|
|
"AceConsole-3.0",
|
|
"AceGUI-3.0",
|
|
"AceEvent-3.0",
|
|
"AceGUISharedMediaWidgets-1.0",
|
|
"AceTimer-3.0",
|
|
"AceSerializer-3.0",
|
|
"AceComm-3.0",
|
|
"LibSharedMedia-3.0",
|
|
"LibDataBroker-1.1",
|
|
"LibCompress",
|
|
"SpellRange-1.0",
|
|
"LibCustomGlow-1.0",
|
|
"LibDBIcon-1.0",
|
|
"LibGetFrame-1.0",
|
|
"LibSerialize",
|
|
}
|
|
for _, lib in ipairs(StandAloneLibs) do
|
|
if not lib then
|
|
libsAreOk = false
|
|
WeakAuras.prettyPrint("Missing library:", lib)
|
|
end
|
|
end
|
|
if LibStub then
|
|
for _, lib in ipairs(LibStubLibs) do
|
|
if not LibStub:GetLibrary(lib, true) then
|
|
libsAreOk = false
|
|
WeakAuras.prettyPrint("Missing library:", lib)
|
|
end
|
|
end
|
|
else
|
|
libsAreOk = false
|
|
end
|
|
end
|
|
|
|
function WeakAuras.IsLibsOK()
|
|
return libsAreOk
|
|
end
|
|
|
|
if versionString ~= versionStringFromToc and versionStringFromToc ~= "Dev" then
|
|
WeakAuras.prettyPrint("You need to restart your game client to complete the WeakAuras update!")
|
|
end
|
|
|
|
if not WeakAuras.IsLibsOK() then
|
|
WeakAuras.prettyPrint("WeakAuras is missing necessary libraries. Please reinstall a proper package.")
|
|
end
|
|
|
|
-- These function stubs are defined here to reduce the number of errors that occur if WeakAuras.lua fails to compile
|
|
function WeakAuras.RegisterRegionType()
|
|
end
|
|
|
|
function WeakAuras.RegisterRegionOptions()
|
|
end
|
|
|
|
function Private.StartProfileSystem()
|
|
end
|
|
|
|
function Private.StartProfileAura()
|
|
end
|
|
|
|
function Private.StopProfileSystem()
|
|
end
|
|
|
|
function Private.StopProfileAura()
|
|
end
|
|
|
|
function Private.StartProfileUID()
|
|
end
|
|
|
|
function Private.StopProfileUID()
|
|
end
|
|
|
|
Private.ExecEnv = {}
|
|
|
|
-- If WeakAuras shuts down due to being installed on the wrong target, keep the bindings from erroring
|
|
function WeakAuras.StartProfile()
|
|
end
|
|
|
|
function WeakAuras.StopProfile()
|
|
end
|
|
|
|
function WeakAuras.PrintProfile()
|
|
end
|
|
|
|
function WeakAuras.CountWagoUpdates()
|
|
-- XXX this is to work around the Companion app trying to use our stuff!
|
|
return 0
|
|
end
|
|
|
|
function WeakAuras.Mixin(object, ...)
|
|
for i = 1, select("#", ...) do
|
|
local mixin = select(i, ...)
|
|
for k, v in pairs(mixin) do
|
|
object[k] = v
|
|
end
|
|
end
|
|
return object
|
|
end
|