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 = "5.19.0" local buildTime = "20250127040000" 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.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", "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 not libsAreOk then WeakAuras.prettyPrint("WeakAuras is missing necessary libraries. Please reinstall a proper package.") 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 Private.RegisterRegionType(_, _, _ ,_) end function Private.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