From 2ad86001370cf944130c004e6bfdad8800c37a3e Mon Sep 17 00:00:00 2001 From: Daniel Vernon Date: Sat, 21 Mar 2026 09:29:36 +0000 Subject: [PATCH] feat: add EllesmereUIDamageMeter standalone addon MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Blizzard C_DamageMeter API-powered damage meter with full EUI integration. Core features: - Class-colored bars with multiple icon styles (Fabled, Modern, Arcade, etc.) - Per-player spell drill-down with spell icons and percentages - Encounter/session selector with Current, Overall, and per-boss views - Combined DPS/Damage and HPS/Healing display modes - Scroll support for 40+ player raids - Test mode with realistic data for all meter types EUI integration: - Lite addon lifecycle (OnEnable, NewDB, RegisterEvent) - MakeBorder pixel-perfect borders - Global font system via ResolveFontPath - SetElementVisibility for flight/pet battle hiding - Unlock mode registration with resize support - Options page with live preview via RegisterModule/Widgets Polish: - Report to Chat (right-click bar → Party/Raid/Say/Guild) - Bar hover highlight and local player indicator - Group total in header timer display - /euidm slash command (toggle, test, reset, report) - Empty state message when no combat data - Stale cache cleanup on reset and zone change Original implementation by Trenchy. --- .../EllesmereUIDamageMeter.toc | 16 + EllesmereUIDamageMeter/bars.lua | 272 +++++++ EllesmereUIDamageMeter/core.lua | 444 +++++++++++ EllesmereUIDamageMeter/media/fabled.tga | Bin 0 -> 518296 bytes EllesmereUIDamageMeter/options.lua | 453 ++++++++++++ EllesmereUIDamageMeter/testdata.lua | 130 ++++ EllesmereUIDamageMeter/update.lua | 698 ++++++++++++++++++ EllesmereUIDamageMeter/window.lua | 513 +++++++++++++ 8 files changed, 2526 insertions(+) create mode 100644 EllesmereUIDamageMeter/EllesmereUIDamageMeter.toc create mode 100644 EllesmereUIDamageMeter/bars.lua create mode 100644 EllesmereUIDamageMeter/core.lua create mode 100644 EllesmereUIDamageMeter/media/fabled.tga create mode 100644 EllesmereUIDamageMeter/options.lua create mode 100644 EllesmereUIDamageMeter/testdata.lua create mode 100644 EllesmereUIDamageMeter/update.lua create mode 100644 EllesmereUIDamageMeter/window.lua diff --git a/EllesmereUIDamageMeter/EllesmereUIDamageMeter.toc b/EllesmereUIDamageMeter/EllesmereUIDamageMeter.toc new file mode 100644 index 00000000..1043b99e --- /dev/null +++ b/EllesmereUIDamageMeter/EllesmereUIDamageMeter.toc @@ -0,0 +1,16 @@ +## Interface: 120000, 120001 +## Title: |cff0cd39cEllesmere|r|cffffffffUI|r Damage Meter +## Notes: Damage meter powered by Blizzard's C_DamageMeter API +## Author: Trenchy +## Version: 0.1 +## IconTexture: Interface\Icons\INV_Misc_Map_01 +## Dependencies: EllesmereUI +## OptionalDeps: LibSharedMedia-3.0 +## SavedVariables: EllesmereUIDamageMeterDB + +core.lua +bars.lua +window.lua +update.lua +testdata.lua +options.lua diff --git a/EllesmereUIDamageMeter/bars.lua b/EllesmereUIDamageMeter/bars.lua new file mode 100644 index 00000000..44586801 --- /dev/null +++ b/EllesmereUIDamageMeter/bars.lua @@ -0,0 +1,272 @@ +local addon = EllesmereUIDamageMeter +local S = addon.S +if not S then return end + +local floor = math.floor + +local MakeBorder = EllesmereUI.MakeBorder + +local GetClassColor = S.GetClassColor + +function S.CreateBar(parent) + local bar = {} + + bar.frame = CreateFrame("Frame", nil, parent) + + bar.background = bar.frame:CreateTexture(nil, "BACKGROUND") + bar.background:SetAllPoints() + bar.background:SetTexture(S.DEFAULT_TEX) + bar.background:SetVertexColor(0.15, 0.15, 0.15, 0.35) + + bar.statusbar = CreateFrame("StatusBar", nil, bar.frame) + bar.statusbar:SetAllPoints() + bar.statusbar:SetStatusBarTexture(S.DEFAULT_TEX) + bar.statusbar:SetMinMaxValues(0, 1) + bar.statusbar:SetValue(0) + bar.statusbar.smoothing = Enum.StatusBarInterpolation and Enum.StatusBarInterpolation.ExponentialEaseOut or nil + + bar.classIcon = bar.statusbar:CreateTexture(nil, "OVERLAY") + bar.classIcon:SetTexture(S.CLASS_ICONS) + bar.classIcon:SetSize(16, 16) + bar.classIcon:SetPoint("LEFT", 1, 0) + bar.classIcon:Hide() + + bar.pctText = bar.statusbar:CreateFontString(nil, "OVERLAY") + bar.pctText:SetPoint("RIGHT", -4, 0) + bar.pctText:SetJustifyH("RIGHT") + bar.pctText:SetWordWrap(false) + bar.pctText:SetShadowOffset(1, -1) + bar.pctText:Hide() + + bar.rightText = bar.statusbar:CreateFontString(nil, "OVERLAY") + bar.rightText:SetPoint("RIGHT", -4, 0) + bar.rightText:SetJustifyH("RIGHT") + bar.rightText:SetWordWrap(false) + bar.rightText:SetShadowOffset(1, -1) + + bar.leftText = bar.statusbar:CreateFontString(nil, "OVERLAY") + bar.leftText:SetPoint("LEFT", 4, 0) + bar.leftText:SetPoint("RIGHT", bar.rightText, "LEFT", -4, 0) + bar.leftText:SetJustifyH("LEFT") + bar.leftText:SetWordWrap(false) + bar.leftText:SetShadowOffset(1, -1) + + bar.border = MakeBorder(bar.frame, 0, 0, 0, 1) + bar.border._frame:SetFrameLevel(bar.statusbar:GetFrameLevel() + 2) + bar.border._frame:Hide() + + bar.textFrame = CreateFrame("Frame", nil, bar.frame) + bar.textFrame:SetAllPoints() + bar.textFrame:SetFrameLevel(bar.border._frame:GetFrameLevel() + 1) + + bar.leftText:SetParent(bar.textFrame) + bar.rightText:SetParent(bar.textFrame) + bar.pctText:SetParent(bar.textFrame) + + bar.highlight = bar.statusbar:CreateTexture(nil, "ARTWORK") + bar.highlight:SetAllPoints() + bar.highlight:SetColorTexture(1, 1, 1, 0.1) + bar.highlight:Hide() + + bar.selfIndicator = bar.frame:CreateTexture(nil, "ARTWORK") + bar.selfIndicator:SetPoint("TOPLEFT", bar.frame, "TOPLEFT", 0, 0) + bar.selfIndicator:SetPoint("BOTTOMLEFT", bar.frame, "BOTTOMLEFT", 0, 0) + bar.selfIndicator:SetWidth(2) + bar.selfIndicator:SetColorTexture(1, 1, 1, 0.6) + bar.selfIndicator:Hide() + + bar.frame:EnableMouse(true) + bar.frame:Hide() + return bar +end + +function S.ApplyBarIconLayout(bar, db) + local iconSize = max(8, (db.barHeight or 18) - 2) + bar.classIcon:SetSize(iconSize, iconSize) + bar.leftText:ClearAllPoints() + if db.showClassIcon then + bar.leftText:SetPoint("LEFT", bar.classIcon, "RIGHT", 2, 0) + else + bar.leftText:SetPoint("LEFT", 4, 0) + end + bar.leftText:SetPoint("RIGHT", bar.rightText, "LEFT", -4, 0) +end + +function S.ApplyBarBorder(bar, db) + if db.barBorderEnabled then + bar.border._frame:Show() + else + bar.border._frame:Hide() + end +end + +function S.ComputeNumVisible(win) + local db = S.GetWinDB(win.index) + local barHt = max(1, db.barHeight or 18) + + if not win.window then return 1 end + local availH = win.window:GetHeight() - S.HEADER_HEIGHT + + if not availH or availH < 1 then return 1 end + local spacing = max(0, db.barSpacing or 1) + return max(1, floor(availH / (barHt + spacing))) +end + +function S.ResizeStandalone(win) + if not win or not win.window or not win.frame then return end + + local db = S.GetWinDB(win.index) + local w, h = db.standaloneWidth, db.standaloneHeight + win.window:SetSize(w, h) + + if win.window.mover then + win.window.mover:SetSize(w, h) + end + + local barHt = max(1, db.barHeight or 18) + for i = 1, S.MAX_BARS do + if win.bars[i] then win.bars[i].frame:SetHeight(barHt) end + end +end + +function S.EnterDrillDown(win, guid, name, classFilename) + win.drillSource = { guid = guid, name = name, class = classFilename } + win.scrollOffset = 0 + S.RefreshWindow(win) +end + +function S.ExitDrillDown(win) + if not win.drillSource then return end + win.drillSource = nil + win.scrollOffset = 0 + S.RefreshWindow(win) +end + +function S.GetDrillSpellCount(win) + local ds = win.drillSource + if not ds then return 0 end + + if S.testMode then + local tdata = S.GetTestData(win) + for _, td in ipairs(tdata) do + if td.name == ds.name then return td.spells and #td.spells or 0 end + end + return 0 + end + + local meterType = S.ResolveMeterType(S.MODE_ORDER[win.modeIndex]) + local sourceData = ds.guid and S.GetSessionSource(win, meterType, ds.guid) + return (sourceData and sourceData.combatSpells) and #sourceData.combatSpells or 0 +end + +function S.SetupBarInteraction(bar, win) + bar.frame:SetScript("OnEnter", function(self) + if EllesmereUI._unlockActive then return end + bar.highlight:Show() + if win.drillSource then + if self.drillSpellID then + GameTooltip_SetDefaultAnchor(GameTooltip, self) + GameTooltip:SetSpellByID(self.drillSpellID) + GameTooltip:Show() + end + return + end + + local unitShown = false + local guid = self.sourceGUID + if guid then + local unit = S.FindUnitByGUID(guid) + if unit then + GameTooltip_SetDefaultAnchor(GameTooltip, self) + GameTooltip:SetUnit(unit) + unitShown = true + end + end + if not unitShown then + GameTooltip_SetDefaultAnchor(GameTooltip, self) + if self.sourceName then + local cls = self.sourceClass + if not cls then cls = guid and S.classCache[guid] end + if not cls and self.testIndex then + local td = S.GetTestData(win)[self.testIndex] + if td then cls = td.class end + end + local cr, cg, cb = GetClassColor(cls) + GameTooltip:AddLine(self.sourceName, cr, cg, cb) + end + end + GameTooltip:AddLine("Click for spell breakdown", 0.7, 0.7, 0.7) + GameTooltip:Show() + end) + + bar.frame:SetScript("OnLeave", function() + bar.highlight:Hide() + GameTooltip_Hide() + end) + + bar.frame:SetScript("OnMouseUp", function(self, button) + if win.drillSource then + if button == "RightButton" then + S.ExitDrillDown(win) + end + return + end + + if button == "LeftButton" then + GameTooltip:Hide() + if S.testMode and self.testIndex then + local td = S.GetTestData(win)[self.testIndex] + if td then + S.EnterDrillDown(win, nil, td.name, td.class) + end + return + end + if self.sourceGUID and self.sourceName then + local class = S.classCache[self.sourceGUID] + S.EnterDrillDown(win, self.sourceGUID, self.sourceName, class) + end + elseif button == "RightButton" then + GameTooltip:Hide() + local addon = EllesmereUIDamageMeter + if addon and addon.ReportMeter then + MenuUtil.CreateContextMenu(self, function(_, rootDescription) + rootDescription:CreateTitle("Report Meter") + local channels = { {"Party", "PARTY"}, {"Raid", "RAID"}, {"Say", "SAY"}, {"Guild", "GUILD"} } + for _, ch in ipairs(channels) do + rootDescription:CreateButton(ch[1], function() + addon:ReportMeter(ch[2]) + end) + end + end) + end + end + end) +end + +function S.ApplySessionHighlight(win, db) + if win.sessionId then + win.header.sessText:SetTextColor(1, 0.3, 0.3) + else + win.header.sessText:SetTextColor(db.headerFontColor.r, db.headerFontColor.g, db.headerFontColor.b) + end +end + +function S.ResetDrillBar(bar, db) + bar._isDrill = nil + bar._drillHasIcon = nil + bar.pctText:Hide() + bar.rightText:ClearAllPoints() + bar.rightText:SetPoint("RIGHT", -4, 0) + local style = db.classIconStyle or 'fabled' + if style == 'fabled' or not style then + bar.classIcon:SetTexture(S.CLASS_ICONS) + end + S.ApplyBarIconLayout(bar, db) +end + +function S.ResetWindowState(win) + win.scrollOffset = 0 + win.drillSource = nil + win.sessionId = nil + win.sessionType = Enum.DamageMeterSessionType.Current +end diff --git a/EllesmereUIDamageMeter/core.lua b/EllesmereUIDamageMeter/core.lua new file mode 100644 index 00000000..21eec723 --- /dev/null +++ b/EllesmereUIDamageMeter/core.lua @@ -0,0 +1,444 @@ +local addon = EllesmereUI.Lite.NewAddon('EllesmereUIDamageMeter') + +if not C_DamageMeter or not Enum.DamageMeterType then return end + +addon.S = {} +local S = addon.S + +local LSM = LibStub('LibSharedMedia-3.0') + +function S.GetClassColor(classFilename) + if not classFilename then return 1, 1, 1 end + local cc = EllesmereUI.GetClassColor(classFilename) + if cc then return cc.r, cc.g, cc.b end + return 1, 1, 1 +end +local GetClassColor = S.GetClassColor + +function S.ResolveFontPath(fontNameOrNil) + if fontNameOrNil and fontNameOrNil ~= '' then + local path = LSM:Fetch('font', fontNameOrNil) + if path then return path end + end + return EllesmereUI.GetFontPath and EllesmereUI.GetFontPath() or LSM:Fetch('font', 'Expressway') +end + +function S.ApplyFont(fs, fontPath, size, flags) + if not fs then return end + local f = flags or '' + local shadow = false + if f == 'SHADOWOUTLINE' then + f = 'OUTLINE' + shadow = true + end + fs:SetFont(fontPath, size, f) + if shadow then + fs:SetShadowColor(0, 0, 0, 1) + fs:SetShadowOffset(1, -1) + else + fs:SetShadowColor(0, 0, 0, 0) + fs:SetShadowOffset(0, 0) + end +end + +S.MAX_BARS = 40 +S.PANEL_INSET = 2 +S.HEADER_HEIGHT = 22 +S.FLAT_TEX = 'Interface\\Buttons\\WHITE8x8' +S.DEFAULT_TEX = LSM:Fetch('statusbar', 'ElvUI Blank') or S.FLAT_TEX +-- Use of Fabled class icons with permission from Jiberish, 2026-03-10 +S.CLASS_ICONS = 'Interface\\AddOns\\EllesmereUIDamageMeter\\media\\fabled' + +S.texTextures = { ['none'] = S.FLAT_TEX } +S.texNames = { ['none'] = 'Flat' } +S.texOrder = { 'none' } +if EllesmereUI and EllesmereUI.AppendSharedMediaTextures then + EllesmereUI.AppendSharedMediaTextures(S.texNames, S.texOrder, nil, S.texTextures) +end + +S.texDropdownValues = {} +for _, key in ipairs(S.texOrder) do + if key ~= '---' then + S.texDropdownValues[key] = S.texNames[key] or key + end +end +S.texDropdownValues._menuOpts = { + itemHeight = 28, + background = function(key) + return S.texTextures[key] + end, +} + +S.texDropdownOrder = {} +for _, key in ipairs(S.texOrder) do + S.texDropdownOrder[#S.texDropdownOrder + 1] = key +end + +S.COMBINED_DAMAGE = "CombinedDamage" +S.COMBINED_HEALING = "CombinedHealing" + +S.COMBINED_DATA_TYPE = { + [S.COMBINED_DAMAGE] = Enum.DamageMeterType.DamageDone, + [S.COMBINED_HEALING] = Enum.DamageMeterType.HealingDone, +} + +S.MODE_ORDER = { + Enum.DamageMeterType.DamageDone, + Enum.DamageMeterType.Dps, + S.COMBINED_DAMAGE, + Enum.DamageMeterType.HealingDone, + Enum.DamageMeterType.Hps, + S.COMBINED_HEALING, + Enum.DamageMeterType.Absorbs, + Enum.DamageMeterType.Interrupts, + Enum.DamageMeterType.Dispels, + Enum.DamageMeterType.DamageTaken, + Enum.DamageMeterType.AvoidableDamageTaken, +} +if Enum.DamageMeterType.Deaths then S.MODE_ORDER[#S.MODE_ORDER + 1] = Enum.DamageMeterType.Deaths end +if Enum.DamageMeterType.EnemyDamageTaken then S.MODE_ORDER[#S.MODE_ORDER + 1] = Enum.DamageMeterType.EnemyDamageTaken end + +function S.ResolveMeterType(modeEntry) + return S.COMBINED_DATA_TYPE[modeEntry] or modeEntry +end + +S.MODE_LABELS = { + [Enum.DamageMeterType.DamageDone] = "Damage", + [Enum.DamageMeterType.Dps] = "DPS", + [S.COMBINED_DAMAGE] = "DPS/Damage", + [Enum.DamageMeterType.HealingDone] = "Healing", + [Enum.DamageMeterType.Hps] = "HPS", + [S.COMBINED_HEALING] = "HPS/Healing", + [Enum.DamageMeterType.Absorbs] = "Absorbs", + [Enum.DamageMeterType.Interrupts] = "Interrupts", + [Enum.DamageMeterType.Dispels] = "Dispels", + [Enum.DamageMeterType.DamageTaken] = "Damage Taken", + [Enum.DamageMeterType.AvoidableDamageTaken] = "Avoidable Damage Taken", +} +if Enum.DamageMeterType.Deaths then S.MODE_LABELS[Enum.DamageMeterType.Deaths] = "Deaths" end +if Enum.DamageMeterType.EnemyDamageTaken then S.MODE_LABELS[Enum.DamageMeterType.EnemyDamageTaken] = "Enemy Damage Taken" end + +S.MODE_SHORT = { + [Enum.DamageMeterType.DamageDone] = "Damage", + [Enum.DamageMeterType.Dps] = "DPS", + [S.COMBINED_DAMAGE] = "DPS/Dmg", + [Enum.DamageMeterType.HealingDone] = "Healing", + [Enum.DamageMeterType.Hps] = "HPS", + [S.COMBINED_HEALING] = "HPS/Heal", + [Enum.DamageMeterType.Absorbs] = "Absorbs", + [Enum.DamageMeterType.Interrupts] = "Interrupts", + [Enum.DamageMeterType.Dispels] = "Dispels", + [Enum.DamageMeterType.DamageTaken] = "Dmg Taken", + [Enum.DamageMeterType.AvoidableDamageTaken] = "Avoidable", +} +if Enum.DamageMeterType.Deaths then S.MODE_SHORT[Enum.DamageMeterType.Deaths] = "Deaths" end +if Enum.DamageMeterType.EnemyDamageTaken then S.MODE_SHORT[Enum.DamageMeterType.EnemyDamageTaken] = "Enemy Dmg" end + +S.CLASS_ICON_COORDS = { + WARRIOR = { 0, 0, 0, 0.125, 0.125, 0, 0.125, 0.125 }, + MAGE = { 0.125, 0, 0.125, 0.125, 0.25, 0, 0.25, 0.125 }, + ROGUE = { 0.25, 0, 0.25, 0.125, 0.375, 0, 0.375, 0.125 }, + DRUID = { 0.375, 0, 0.375, 0.125, 0.5, 0, 0.5, 0.125 }, + EVOKER = { 0.5, 0, 0.5, 0.125, 0.625, 0, 0.625, 0.125 }, + HUNTER = { 0, 0.125, 0, 0.25, 0.125, 0.125, 0.125, 0.25 }, + SHAMAN = { 0.125, 0.125, 0.125, 0.25, 0.25, 0.125, 0.25, 0.25 }, + PRIEST = { 0.25, 0.125, 0.25, 0.25, 0.375, 0.125, 0.375, 0.25 }, + WARLOCK = { 0.375, 0.125, 0.375, 0.25, 0.5, 0.125, 0.5, 0.25 }, + PALADIN = { 0, 0.25, 0, 0.375, 0.125, 0.25, 0.125, 0.375 }, + DEATHKNIGHT = { 0.125, 0.25, 0.125, 0.375, 0.25, 0.25, 0.25, 0.375 }, + MONK = { 0.25, 0.25, 0.25, 0.375, 0.375, 0.25, 0.375, 0.375 }, + DEMONHUNTER = { 0.375, 0.25, 0.375, 0.375, 0.5, 0.25, 0.5, 0.375 }, +} + +S.CLASS_FULL_COORDS = { + WARRIOR = { 0, 0.125, 0, 0.125 }, + MAGE = { 0.125, 0.25, 0, 0.125 }, + ROGUE = { 0.25, 0.375, 0, 0.125 }, + DRUID = { 0.375, 0.5, 0, 0.125 }, + EVOKER = { 0.5, 0.625, 0, 0.125 }, + HUNTER = { 0, 0.125, 0.125, 0.25 }, + SHAMAN = { 0.125, 0.25, 0.125, 0.25 }, + PRIEST = { 0.25, 0.375, 0.125, 0.25 }, + WARLOCK = { 0.375, 0.5, 0.125, 0.25 }, + PALADIN = { 0, 0.125, 0.25, 0.375 }, + DEATHKNIGHT = { 0.125, 0.25, 0.25, 0.375 }, + MONK = { 0.25, 0.375, 0.25, 0.375 }, + DEMONHUNTER = { 0.375, 0.5, 0.25, 0.375 }, +} + +S.CLASS_FULL_BASE = 'Interface\\AddOns\\EllesmereUI\\media\\icons\\class-full\\' + +function S.ResolveClassIcon(style, classFilename) + if not classFilename or style == 'none' then return nil, nil end + if not style or style == 'fabled' then + local coords = S.CLASS_ICON_COORDS[classFilename] + return S.CLASS_ICONS, coords + end + local coords = S.CLASS_FULL_COORDS[classFilename] + return S.CLASS_FULL_BASE .. style .. '.tga', coords +end + +function S.ApplyClassIcon(icon, style, classFilename) + local tex, coords = S.ResolveClassIcon(style, classFilename) + if not tex or not coords then + icon:Hide() + return + end + icon:SetTexture(tex) + if style == 'fabled' or not style then + icon:SetTexCoord(unpack(coords)) + else + icon:SetTexCoord(coords[1], coords[2], coords[3], coords[4]) + end + icon:Show() +end + +S.SESSION_LABELS = { + [Enum.DamageMeterSessionType.Current] = "Current", + [Enum.DamageMeterSessionType.Overall] = "Overall", +} + +StaticPopupDialogs['EUIDM_RESET'] = { + text = "Reset all damage meter data?", + button1 = ACCEPT, + button2 = CANCEL, + OnAccept = function() + C_DamageMeter.ResetAllCombatSessions() + addon:RefreshMeter() + end, + timeout = 0, + whileDead = true, + hideOnEscape = true, +} + +S.windows = {} +S.testMode = false +S.meterHidden = false +S.meterFadedOut = false +S.flightTicker = nil +S.flightFadeTimer = nil + +S.nameCache = {} +S.classCache = {} +S.specNameCache = {} +S.specCollisions = {} +S.spellCache = {} +S.winDBCache = {} +S.sessionLabelCache = {} + +local strsplit = strsplit +local IsInGroup = IsInGroup +local IsInRaid = IsInRaid +local GetNumGroupMembers = GetNumGroupMembers +local UnitGUID = UnitGUID +local floor = math.floor + +function S.ScanRoster() + local pg = UnitGUID('player') + if pg then + S.nameCache[pg] = UnitName('player') + S.classCache[pg] = select(2, UnitClass('player')) + end + if IsInRaid() then + for i = 1, GetNumGroupMembers() do + local unit = 'raid' .. i + local guid = UnitGUID(unit) + if guid then + S.nameCache[guid] = UnitName(unit) + S.classCache[guid] = select(2, UnitClass(unit)) + end + end + elseif IsInGroup() then + for i = 1, GetNumGroupMembers() - 1 do + local unit = 'party' .. i + local guid = UnitGUID(unit) + if guid then + S.nameCache[guid] = UnitName(unit) + S.classCache[guid] = select(2, UnitClass(unit)) + end + end + end +end + +function S.IsSecret(val) + return val ~= nil and issecretvalue and issecretvalue(val) +end + +function S.FindUnitByGUID(guid) + if UnitGUID('player') == guid then return 'player' end + for i = 1, 40 do + local unit = 'raid' .. i + if UnitGUID(unit) == guid then return unit end + end + for i = 1, 4 do + local unit = 'party' .. i + if UnitGUID(unit) == guid then return unit end + end +end + +function S.RoundIfPlain(val) + if val and not S.IsSecret(val) then + return floor(val + 0.5) + end + return val +end + +-- Strip decimals from sub-1K abbreviated strings (e.g. "209.385" -> "209") +function S.TruncateDecimals(text) + if type(text) ~= 'string' or S.IsSecret(text) then return text end + if text:match('%a') then return text end + return (strsplit('.', text)) +end + +function S.FormatValueText(fontString, val) + if not val then + fontString:SetText('0') + return + end + fontString:SetText(S.TruncateDecimals(AbbreviateNumbers(S.RoundIfPlain(val)))) +end + +function S.FormatCombinedText(fontString, total, perSec) + if not total and not perSec then + fontString:SetText('0') + return + end + local ok = pcall(function() + local p = S.TruncateDecimals(perSec and AbbreviateNumbers(S.RoundIfPlain(perSec)) or '0') + local t = S.TruncateDecimals(total and AbbreviateNumbers(S.RoundIfPlain(total)) or '0') + fontString:SetText(p .. ' (' .. t .. ')') + end) + if not ok then + if total then + fontString:SetText(S.TruncateDecimals(AbbreviateNumbers(S.RoundIfPlain(total)))) + else + fontString:SetText('0') + end + end +end + +function S.FontFlags(outline) + return (outline and outline ~= "NONE") and outline or "" +end + +function S.GetWinDB(winIndex) + local mainDB = addon.db.profile + if winIndex == 1 then return mainDB end + local proxy = S.winDBCache[winIndex] + if not proxy then + proxy = setmetatable({}, { __index = function(_, k) + local ew = addon.db.profile.extraWindows and addon.db.profile.extraWindows[winIndex] + if ew then + local v = ew[k] + if v ~= nil then return v end + end + return addon.db.profile[k] + end }) + S.winDBCache[winIndex] = proxy + end + return proxy +end + +local cachedClassR, cachedClassG, cachedClassB, cachedClassName + +local function CacheClassColor(classFilename) + if classFilename == cachedClassName then return end + cachedClassName = classFilename + cachedClassR, cachedClassG, cachedClassB = GetClassColor(classFilename) +end + +function S.ClassOrColor(db, flagKey, colorKey, classFilename) + if db[flagKey] then + CacheClassColor(classFilename) + if cachedClassR then return cachedClassR, cachedClassG, cachedClassB, db[colorKey].a end + end + local c = db[colorKey] + return c.r, c.g, c.b, c.a +end + +function S.StyleBarTexts(bar, fontPath, size, flags) + S.ApplyFont(bar.leftText, fontPath, size, flags) + S.ApplyFont(bar.rightText, fontPath, size, flags) + S.ApplyFont(bar.pctText, fontPath, size, flags) +end + +function S.NewWindowState(index, savedModeIndex) + return { + index = index, + frame = nil, + header = nil, + window = nil, + bars = {}, + modeIndex = savedModeIndex or 1, + sessionType = Enum.DamageMeterSessionType.Current, + sessionId = nil, + embedded = false, + scrollOffset = 0, + drillSource = nil, + } +end + +function S.GetSession(win, meterType) + if win.sessionId and C_DamageMeter.GetCombatSessionFromID then + return C_DamageMeter.GetCombatSessionFromID(win.sessionId, meterType) + end + return C_DamageMeter.GetCombatSessionFromType(win.sessionType, meterType) +end + +function S.GetSessionSource(win, meterType, guid) + if win.sessionId and C_DamageMeter.GetCombatSessionSourceFromID then + return C_DamageMeter.GetCombatSessionSourceFromID(win.sessionId, meterType, guid) + end + return C_DamageMeter.GetCombatSessionSourceFromType(win.sessionType, meterType, guid) +end + +function S.GetSessionLabel(win) + if win.sessionId then + local cached = S.sessionLabelCache[win.sessionId] + if cached then return cached end + if C_DamageMeter.GetAvailableCombatSessions then + local sessions = C_DamageMeter.GetAvailableCombatSessions() + if sessions then + for i, sess in ipairs(sessions) do + local sid = sess.sessionId or sess.combatSessionId or sess.id or sess.sessionID + if sid == win.sessionId then + local label = sess.name or 'Encounter' + if label == 'Encounter' then label = 'Encounter ' .. i end + S.sessionLabelCache[win.sessionId] = label + return label + end + end + end + end + return 'Encounter' + end + return S.SESSION_LABELS[win.sessionType] or '?' +end + +local defaults = { + profile = { + enabled = true, barHeight = 18, barSpacing = 1, + barFont = 'Expressway', barFontSize = 11, barFontOutline = 'OUTLINE', + barTexture = 'none', barBGTexture = 'none', + barColor = { r = 0.3, g = 0.3, b = 0.8, a = 1 }, + barBGColor = { r = 0.15, g = 0.15, b = 0.15, a = 0.35 }, + barClassColor = true, barBGClassColor = false, + textColor = { r = 1, g = 1, b = 1 }, textClassColor = false, + valueColor = { r = 1, g = 1, b = 1 }, valueClassColor = false, + rankColor = { r = 0.7, g = 0.7, b = 0.7 }, rankClassColor = false, + showRank = false, showClassIcon = true, classIconStyle = 'fabled', + showBackdrop = true, backdropColor = { r = 0.1, g = 0.1, b = 0.1, a = 0.8 }, + showHeaderBackdrop = true, showHeaderBorder = true, + headerBGColor = { r = 0.15, g = 0.15, b = 0.15, a = 0.8 }, + headerFont = 'Expressway', headerFontSize = 11, headerFontOutline = 'OUTLINE', + headerFontColor = { r = 1, g = 1, b = 1 }, headerMouseover = false, + showTimer = true, barBorderEnabled = false, + standaloneWidth = 220, standaloneHeight = 180, + modeIndex = 1, hideInFlight = false, hideInPetBattle = false, + autoResetOnComplete = false, + } +} +addon.defaults = defaults +addon.db = EllesmereUI.Lite.NewDB('EllesmereUIDamageMeterDB', defaults) + +EllesmereUIDamageMeter = addon diff --git a/EllesmereUIDamageMeter/media/fabled.tga b/EllesmereUIDamageMeter/media/fabled.tga new file mode 100644 index 0000000000000000000000000000000000000000..40d34f026557492e1210eb28cbf6c34708bc635e GIT binary patch literal 518296 zcmeFacX*Ul_lCPC2_cO@dT)e42sNRm5Fqr>dkww!-rEF1C`stONbem5Q4tgr5fl^^ z1r<;c1f_&t%yXW#-;BcY9iHWJ!MXd|JGgf;BcY9iHWJ!MXd|JGgf;BcY9iHWJ!MXd|JG zgf;BcY9iHWJ!MXd|JGgf;BcY9iHWJ!MXd|JGgf;BcY9iHWJ!M zXd|JGgf&}81O8M?d{AgrB+ph8 zQODY#>?hq({Ee$W!W`)a^>V`-=*{E%mRKH@j>KEIiPYC%xg>(Bc2kv_Zr z036f~wD9{7Xz|SpaMoT|+u;13ytvQM)Ko-Nul!p4#ZzHp}Qal=0sG?_Y9nRib zQDy$~)0f#>;L{IrEegNFE}$_Y*u_2hpq$-QRHZHF7@^-(rhY+wl4Utpckz3Gd=K&+ zw1}^b-c8$JSch&H+pQla^&X5VeTQOdzhRi%X9y6LZdS8Ap4qPnN7&)UsQ2wm^u7NM z#^Wo@z%Lm3;$&Xbk=9U)X#R7(Psy`s39%ghYC#~sr9f|vXx`q8BWA5WGbvJzGyj!Z z6oBIIw#chGz!VIJ%dq2HKRhv zs34c3$@}FM6u;qj&HM!(b&330ZZbJ0C>O^><*`Yw1@H^L3#+8%Mr&&8p z>@^6P!^dOZ=t=r=#^BLNA2bT)fg>?}z(^jC#LOY1kU4BT=JGLfM^A>Cw+-vq9c^ni zKtg00l=lrod_?IJe2pZHb_W{M8u=PcD`;kGwW&>*A@9SD%Rr{e^n~Nak|_OoXSB^J(@dtY~wZUSot5 zO?}9(KRd#&rH8gRzcJ0*=Z=CYoqah2KH&s_bt!sEg<)R{twYLP0g zCaGXGT7{~yDvYahgqp6Rcv~6O+f+qWUm<67CW$*&4K4MT*tkrW;T?PEDUvm2GGv+< zY#53e0t(YqO^cy0%gxSH`wzpk0mJpBRP zj#DVQxe~Z0{Aj-@EMTcTyAWyN%4tJl1k~WD!{f?Aleu!QKaWDmq-RAp#i8M?EIo;8 zUz>*HpC%&d@)#t3KN1PwkIim+fA1}{q{O3YF856!6i?Ab& z;jp$iNE5xjyfLfvRsHEMl(%4_cB#pcqtWTeBNtA#E7d*+hH|0}{^2h~e5xl~#!h*> z6DONzn0M2wp~ae_#mwz_EoSdVnF@Un>e?7#o=xsV__b&^OCISzu~p|>PCV#|*N793 zAAI*(mWgL!Pow{9;^`HJ?6IuxA)Ije`pC6tEyDmf;VKnXU2nOojwq@+qnPT(%QP7! zuF88U!s*x9zOq8m+6wKn6`D>}h##hqI6|S)V1=me3jVDW?5olWBh+P8QH^&@Ql=&H z?82nVqS%1qS`_qa*#UD#PQ=_%lSrrGT%v|xrc6I2(~nbcDBNZK$@H7rf4H84(*};f zbP{X&;E^y78I5`4red)<6O;M;MwJs$&N~DN#bdtU>-cGzREX1Ly;|Uf$d6m1=A9`} zOUa9D{|@`M)}n9TQ4Ih4G)De?j!W7l#Ge^Wg1LbU zO59@kOI#>iym_8JYL53oHOuoia`2VPqL33YHsP^q(J#}Tu*19^y zn69K^>TME{3uEo8>G0oM3u?KaOw(2WHcgkyJ6IsU?Cth(V(!MzoS?T09m;dqCbt&$ zc;}Tpr|S{_kAVJ{?qb0AcQJ@lHuMyy>`u(kliDRZs;ep7r}?Kr&W+G){JOkpck?j* z_A3m!cpLR6tj{YR*al%mn53OQA&1B}Ko#!knfpIek$? zwd2(74sSKWGJU(;c2`~OuE~2U!l_x#p|rZwdzr#RC|u__ou_c{zCz9=g^?dAbl%2k zJwd^-I;U}@`r090MQA@r)bCcIXiAw%T21AQo5lrpgr2@KXY~};v)98qd#AlId(DHn zCJ*J>JZubR3?GXbBgSFo$njXjnY?JmY@{`6fpR_}s1{c02EiTmmb`68&Yu-(z83-x z)kbTqMU|h17_%)WppjV~Ar3~Yn&*wuUv$xrXadS4EJW+S*Pzee?_$WSPci(}IShIE z89cXFr&KDoTmMn+oY(#Ybv9@5J+(9dZrdv$^utt?z0ghDMx`GHpxjs85&A(R6kcD7 zGTfI|6mXo+^U#bE>@QHugHZN#7d@-Xf8Gh^a%VbXX8F%M!Yo(aWQNPkuKZOWRQqNS zXZ1)8=#=Yb4dB$<^C{~V!h3rH)O@}|P9Rl3f8O}DOm3SmzZ_f-<`w4r{3zfPz;QqR z;IXInEuAUM{pb?4<1Jr#90R&uypKWO|D|VlKhAKE<9cQf)HBDGtNe~Yr-rECV;(Z^ zyugHO4>9Zq+Q6m1F!0JfwBLFPW#alG%$>8FqEIX0z!@ESsD+kQ61DT%s9Yt~i>Zj(oZ-oq8Ju zCZA&wyDBP3d8k`W%nHAXJ-krZeM4c{cM6j~RT#}Npyu;iy+U_hZ+_!bEH_r1Z0e!h>S54 zF>CB3UQR;x)O4)OT7W^Fx}yS>YL$?vN6FC@BiG0u;bgZk#EElehnnvR@7;_UaQ+L` zd?s~ zo3jJHqP@6kFxpW&Uvi{-TK-HY%+bR-vzI)5wueqfp@koDn;4x)fsrBd_Lxz`w!k?yKZpZ<>cAM+i-%8b=G7NpFr( z9Md_nI977(mp69 z%SDcFIKH+Vf6vQn9KTah{lSsTv%TctSvzucpb>ZB=*pp$mcKShH&Z3b`C{s6hXo2h z(NJM=N7hG7+iwd z|Fl}<3%^4(QS;BK5Nnjz5o0t92b>%Ky#S49k`15DMZJf!Q1^a1QuxTwcN^sCflly^6(O8iu;R&ZOTuJI`|`SJSyZ5|Rr3 zuV$Go=26IDKYVG1Ux%Co-umk)x?iF3?7-*RlklJ!Riep_<1GhimRD$^5A6;BE=Pf4 zT*Z7&0D<&bMVCd=ohVD=PB;rRJ^vIv>C+Co%=L=e%`En5C)Z-c>DYw}+Bl1H?HU;B z(Hyar`eN~ohgkXyn074}Be^p6JO4X+e)==IfA}4`9=U+7@0>%&Egzyn{6MO@=A!Cm zYuOw;t8=eh8Y*UJLw&ve4R72UgSDYHMpuiWw$kgL1RrUrr7i0p4K;~Dki_B)-u^@3 z839O9c%ck^`8pcwUyz%7%0~J0+-M?VczUf9)A2ElLJ$o#$dm<7(;#iUykE@hykX4k zkuGvj6;bVx>CRs!d7j*778~S>D#j;<*NvL77fpWu7O)n>X7IJ1}Vm^mi4hrX(GmvAR zg=}8Rts7RX#?Y?4QPwjEiIHVa>PhCx5NBhqKc9HMHK$=(S3)tIsy`32 z8fZ^#peA}bIqrKH-W8j25@Sw%nS<1)*=YM{6S_S*f}T&0q4CvaG*9|i^L$f{b%>r) zJvH0waiMjQi2GrnHcMG2XNXz4%1SAwDd#dwGXp7qO+(F_6Hw!~vGCc=Oa#3qTGod& zN^kvM92n{G;9u~oX-Np8PqxxaX1bWDszB>B$9~Zj_7%TK)21s|#AY+(e#i2Zq~dKQ zULMI{!00@$U9{Y6o_~H2qm}%5)MWm zI!57Ecz>P~ZEYwm_yW@!@S~+xp>;O_3B!n~$O6`lD#QXfL9p(->mlvg_9(Nq?YfL61SX z=8TR#;bCsy9aHq;+X17Rwu9L8z=qAyyG|<7lIx*;JT)y73XLngPAKFjWFnc65u2v{ znk6ISSl!~YNx0Kkdh-=+!?)y9^`z~^aPd23SZf=2sNV25O`}E6<(N$iA4{ul&(TI- zimiHRJM9lIHJD>Kyh#Bc(>R!YOyi+^OcRVFCpnVaBB0hiv-Uny+9s<85Vh0L=G!#|+Ka|xbGRh*p8 zX;WOia7a*2^W>S1wD=GS%_f#82XX&qj~K7LMOl5d)fdfo4hL8bo&j1hcshd_qb5-D zPSz{!ylFF#O+#NWYYrC9nTN&mvauvy15w|7J5x(6t6zl)28>9pxwP~=#;w`O@3W&keai!oCm;PFog%+u?$Kp^?%cqIKY3e~R+hWmyJ#=FT5_=E3%3P&3TV7^cb z7;8LOD^FHwjQ}SxeDOR(-mZgUTVhdUV>x(kt;BdONb8qBg_HPd`^Opyhe*FO^UwwcHKR>`Y!eBIY^2jUqG5qp9 zKK>qtFe@>LLzZ+2$p{W4lGx*$dwK56Kv6Cn);RE_DOU*dZuTrPpfzGE_RK34-VXjw zb(yliCLX`VJ68Ss$9S@uEoEDpRgvKQ(FKGufsX7v$Y{~ za%HiXOFFzAbUMh>U3Kj*%dvcf=mlxma9BkU>vyw@~SXE9vx_!rym_?%F&SUQ2qJJ?KwIN9%g+Z z6T?+`sf)?u6|Ou|ki%3d8|aoNBFSjRVtk7bRmeq+J@a z#!S&TNEaS3PGltK@-;xd5I5HUjL{Q}wSV$-WN~F*Fl#O`kb`CO7h=VtC0Mm|Io7OL z3G><&tKhbF`AV!=z5;8Oaqym1iZYF~ z-fx4)v-MhD_vQ>V{bMOw{q+`_-(CgR&E>_^7U^Zx$!<}oAN9dq_Z_hm=s9_!KIFyZ zwG4M*CDMgQt}U<8AMDhkKm_bf z$`dSTK)47hqK-Gqb6P`_=R?$7->1|ocU3kWl7)V7Ssjhir`o($6&e(=Uv@*l{+f&+ z)A^X|bI5K%2-*0bpwQVSot1D>dr^^~xEoE!dHL<9c^mFN!FIx;(FL0B4t!ta2<-Jo zA4t_OUmXJCsTR!FA7k;YhsdHn7ht6Sl1otJVk&jIz+xg{G2WscMiCez{s%B5_0XNL z@Df<;!cPwS^1O5;$%}5fAC3L@aPO8#Odg!qwBuCNYd#896M7&jtR(`S>Y;dW8#I}< z13f}wqn*y|I#MHS5|v*> zwbrh@zbS)eokK8WB3d)2R&or3^Kb!Z=)0Y7}4lvEJfFOsL0)_>=e<5ZBnHIq< z$g~*2rez!}I9742)Yn5ytF^{(Rn4_dai_z<_i&jb_)Cop#@C{l0zl>o#q7AkF2>e2 z(3xLBH6i}P7~VeSGllT3L`IZatLKjcSM84CH?&TwLu5?WS-RITHSgCFVz_qRwa-Au zeWq1DSb32-7fZ6|W5wd7SWQl>TfGJw*00CrjhnD#(`Ibhyct`0xpngvq;KPa(^k1> z{YGqFw;mf-uf;kt<-opum@#3B#g{01LQmWxd+~#@%uO={X80Vf5|}OTZ_@+?rQk$uf=G! z$0wQ?!L-+{_G=@APnOqQmM>pYc!tV94?&r)x}xN{_8c8h_F{KbyFLPS$TRJ0@YU+v zGo$9M35LA*aR{n1!d>ONz9_{!Q2jOHYn?j>F__98euw=-8Q`JpWTvHwO5J#pvATydhjC{5vT zH-^+$dHYG;TYo*l29E6CpP}#v+Kz{5Rb|J(TOl&0Jcoz&%!MO69r&0Y-@PDl9%25? zN0{^5Bg`U4GJY{wVt$h)nBi+&p)VAwIpWPUW+6ruz6|qf ziK^B5j*Lht8*?&XC3Ey!Aumb7b9NG@3y1;Yab| z)$}2SOtfZ+pPRBnQM*DI-l!GU4Q5oib05s?P*8|;q=(X0^JHLy=IEt8l)BJDq*4M> z3l`lJD0woX?r(Z1I;$ix2Z^~G1sSci=5s8fx;PY5T|X8N#E3bJqty!+vSF48A%A7S zRk$L65rra`f)hhiEa2s0K72W!wwhxtLQHQVJ;byD?xCiQ2sLd+m}wirO}h|b+K=L< zLmY4O_y8hJNBGP|d|@U~R13JOCUSg}E>rLGGF@Egcx1UJDx7$zSaYGU{TBl*tB96) zM9bVC6l%>RR*I|323A;-b&aK17}vdDzGLzlD-nVf$@fb

>=a2=Pc}PnfDh4>>cL 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≧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 literal 0 HcmV?d00001 diff --git a/EllesmereUIDamageMeter/options.lua b/EllesmereUIDamageMeter/options.lua new file mode 100644 index 00000000..5b355291 --- /dev/null +++ b/EllesmereUIDamageMeter/options.lua @@ -0,0 +1,453 @@ +if EllesmereUI and EllesmereUI.ADDON_ROSTER then + local found = false + for _, info in ipairs(EllesmereUI.ADDON_ROSTER) do + if info.folder == 'EllesmereUIDamageMeter' then found = true; break end + end + if not found then + local insertIdx = #EllesmereUI.ADDON_ROSTER + 1 + for i, info in ipairs(EllesmereUI.ADDON_ROSTER) do + if info.folder == 'EllesmereUIPartyMode' or info.comingSoon then + insertIdx = i; break + end + end + table.insert(EllesmereUI.ADDON_ROSTER, insertIdx, { + folder = 'EllesmereUIDamageMeter', + display = 'Damage Meter', + search_name = 'EllesmereUI Damage Meter', + icon_on = 'Interface\\Icons\\INV_Misc_Map_01', + icon_off = 'Interface\\Icons\\INV_Misc_Map_01', + }) + end +end + +local function InitOptions() + if not EllesmereUI or not EllesmereUI.RegisterModule then return end + local addon = EllesmereUIDamageMeter + if not addon or not addon.db then return end + + local function DB() return addon.db.profile end + + local S = addon.S + local CLASS_FULL_SPRITE_BASE = S.CLASS_FULL_BASE + local CLASS_FULL_COORDS = S.CLASS_FULL_COORDS + local FLAT_TEX = S.FLAT_TEX + local texTextures = S.texTextures + local texDropdownValues = S.texDropdownValues + local texDropdownOrder = S.texDropdownOrder + + local classIconValues = { + ['fabled'] = 'Fabled (TUI)', + ['modern'] = 'Modern', ['arcade'] = 'Arcade', ['glyph'] = 'Glyph', + ['legend'] = 'Legend', ['midnight'] = 'Midnight', ['pixel'] = 'Pixel', ['runic'] = 'Runic', + ['none'] = 'None', + } + local classIconOrder = { 'fabled', 'modern', 'arcade', 'glyph', 'legend', 'midnight', 'pixel', 'runic', 'none' } + + local previewData = { + { name = 'Trenchy', class = 'DEATHKNIGHT', pct = 0.85 }, + { name = 'Healbro', class = 'PRIEST', pct = 0.62 }, + { name = 'Stabsworth', class = 'ROGUE', pct = 0.45 }, + } + + local previewFrame + + local function UpdatePreview() + if not previewFrame or not previewFrame.Update then return end + previewFrame:Update() + end + + local function Refresh() + if addon.UpdateMeterLayout then addon:UpdateMeterLayout() end + if addon.RefreshMeter then addon:RefreshMeter() end + UpdatePreview() + end + + local function BuildPreview(parent, yOffset) + local pf = CreateFrame('Frame', nil, parent) + local previewW = 240 + local previewH = 120 + pf:SetSize(previewW, previewH) + pf:SetPoint('TOP', parent, 'TOP', 0, yOffset - 6) + + local previewScale = UIParent:GetEffectiveScale() / parent:GetEffectiveScale() + pf:SetScale(previewScale) + + -- Background + local bg = pf:CreateTexture(nil, 'BACKGROUND') + bg:SetAllPoints() + bg:SetColorTexture(0.1, 0.1, 0.1, 0.8) + + -- Header + local header = CreateFrame('Frame', nil, pf) + header:SetPoint('TOPLEFT', pf, 'TOPLEFT', 0, 0) + header:SetPoint('TOPRIGHT', pf, 'TOPRIGHT', 0, 0) + header:SetHeight(22) + local headerBg = header:CreateTexture(nil, 'BACKGROUND') + headerBg:SetAllPoints() + headerBg:SetColorTexture(0.15, 0.15, 0.15, 0.8) + local headerText = header:CreateFontString(nil, 'OVERLAY') + headerText:SetPoint('LEFT', 4, 0) + headerText:SetFont(EllesmereUI.EXPRESSWAY or 'Fonts\\FRIZQT__.TTF', 12, 'OUTLINE') + headerText:SetText('Damage') + headerText:SetShadowOffset(1, -1) + + local bars = {} + local LSM = LibStub('LibSharedMedia-3.0') + for i, data in ipairs(previewData) do + local bar = CreateFrame('Frame', nil, pf, 'BackdropTemplate') + bar.statusbar = CreateFrame('StatusBar', nil, bar) + bar.statusbar:SetAllPoints() + bar.statusbar:SetMinMaxValues(0, 1) + bar.statusbar:SetValue(data.pct) + bar.bg = bar:CreateTexture(nil, 'BACKGROUND') + bar.bg:SetAllPoints() + bar.icon = bar.statusbar:CreateTexture(nil, 'OVERLAY') + bar.icon:SetPoint('LEFT', 1, 0) + bar.leftText = bar.statusbar:CreateFontString(nil, 'OVERLAY') + bar.leftText:SetJustifyH('LEFT') + bar.leftText:SetShadowOffset(1, -1) + bar.rightText = bar.statusbar:CreateFontString(nil, 'OVERLAY') + bar.rightText:SetPoint('RIGHT', -4, 0) + bar.rightText:SetJustifyH('RIGHT') + bar.rightText:SetShadowOffset(1, -1) + bar.data = data + bars[i] = bar + end + pf._bars = bars + pf._header = header + pf._headerBg = headerBg + pf._headerText = headerText + pf._bg = bg + + function pf:Update() + local db = DB() + if not db then return end + + local barH = db.barHeight or 18 + local spacing = db.barSpacing or 1 + local fFont = EllesmereUI.EXPRESSWAY or 'Fonts\\FRIZQT__.TTF' + if db.barFont then + local fetched = LSM:Fetch('font', db.barFont) + if fetched then fFont = fetched end + end + local fSize = db.barFontSize or 11 + local fFlags = (db.barFontOutline and db.barFontOutline ~= 'NONE') and db.barFontOutline or '' + + local resolveTex = EllesmereUI.ResolveTexturePath + local fgTex = resolveTex and resolveTex(texTextures, db.barTexture, FLAT_TEX) or FLAT_TEX + local bgTex = resolveTex and resolveTex(texTextures, db.barBGTexture, FLAT_TEX) or FLAT_TEX + + if db.showHeaderBackdrop then + local hc = db.headerBGColor + self._headerBg:SetColorTexture(hc.r, hc.g, hc.b, hc.a) + self._headerBg:Show() + else + self._headerBg:Hide() + end + + if db.showBackdrop then + local bc = db.backdropColor + self._bg:SetColorTexture(bc.r, bc.g, bc.b, bc.a) + self._bg:Show() + else + self._bg:Hide() + end + + local iconStyle = db.classIconStyle or 'fabled' + local iconSize = math.max(8, barH - 2) + local showIcons = db.showClassIcon + + for i, bar in ipairs(self._bars) do + local data = bar.data + bar:SetHeight(barH) + bar:ClearAllPoints() + if i == 1 then + bar:SetPoint('TOPLEFT', self._header, 'BOTTOMLEFT', 0, 0) + bar:SetPoint('TOPRIGHT', self._header, 'BOTTOMRIGHT', 0, 0) + else + bar:SetPoint('TOPLEFT', self._bars[i-1], 'BOTTOMLEFT', 0, -spacing) + bar:SetPoint('TOPRIGHT', self._bars[i-1], 'BOTTOMRIGHT', 0, -spacing) + end + bar:Show() + + bar.statusbar:SetStatusBarTexture(fgTex) + bar.statusbar:SetValue(data.pct) + bar.bg:SetTexture(bgTex) + + local cc = EllesmereUI.GetClassColor(data.class) + if db.barClassColor and cc then + bar.statusbar:SetStatusBarColor(cc.r, cc.g, cc.b) + else + local c = db.barColor + bar.statusbar:SetStatusBarColor(c.r, c.g, c.b, c.a) + end + + if db.barBGClassColor and cc then + bar.bg:SetVertexColor(cc.r, cc.g, cc.b, db.barBGColor.a) + else + local c = db.barBGColor + bar.bg:SetVertexColor(c.r, c.g, c.b, c.a) + end + + bar.icon:SetSize(iconSize, iconSize) + if showIcons and iconStyle ~= 'none' then + if iconStyle == 'fabled' then + local S = addon.S + bar.icon:SetTexture(S and S.CLASS_ICONS or '') + local coords = S and S.CLASS_ICON_COORDS and S.CLASS_ICON_COORDS[data.class] + if coords then + bar.icon:SetTexCoord(unpack(coords)) + end + else + bar.icon:SetTexture(CLASS_FULL_SPRITE_BASE .. iconStyle .. '.tga') + local coords = CLASS_FULL_COORDS[data.class] + if coords then + bar.icon:SetTexCoord(coords[1], coords[2], coords[3], coords[4]) + end + end + bar.icon:Show() + else + bar.icon:Hide() + end + + bar.leftText:SetFont(fFont, fSize, fFlags) + bar.rightText:SetFont(fFont, fSize, fFlags) + bar.leftText:ClearAllPoints() + if showIcons and iconStyle ~= 'none' then + bar.leftText:SetPoint('LEFT', bar.icon, 'RIGHT', 2, 0) + else + bar.leftText:SetPoint('LEFT', 4, 0) + end + bar.leftText:SetPoint('RIGHT', bar.rightText, 'LEFT', -4, 0) + + bar.leftText:SetText(data.name) + bar.rightText:SetText(math.floor(data.pct * 100000)) + + if db.textClassColor and cc then + bar.leftText:SetTextColor(cc.r, cc.g, cc.b) + else + local c = db.textColor + bar.leftText:SetTextColor(c.r, c.g, c.b) + end + if db.valueClassColor and cc then + bar.rightText:SetTextColor(cc.r, cc.g, cc.b) + else + local c = db.valueColor + bar.rightText:SetTextColor(c.r, c.g, c.b) + end + end + + local totalH = 22 + (#self._bars * barH) + ((#self._bars - 1) * spacing) + self:SetHeight(totalH) + end + + previewFrame = pf + pf:Update() + + return (previewH + 16) / previewScale + end + + local function BuildGeneralPage(_, parent, yOffset) + local W = EllesmereUI.Widgets + local wrapper = CreateFrame('Frame', nil, parent) + wrapper:SetAllPoints() + + local h = 0 + + local previewH = BuildPreview(wrapper, yOffset - h) + h = h + previewH + 10 + + local _, rh + _, rh = W:SectionHeader(wrapper, 'General', yOffset - h); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'toggle', text = 'Enable', + getValue = function() return DB().enabled end, + setValue = function(v) DB().enabled = v; Refresh() end }, + { type = 'toggle', text = 'Test Mode', + getValue = function() return addon._meterTestMode end, + setValue = function(v) addon:SetMeterTestMode(v) end } + ); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'toggle', text = 'Show Timer', + getValue = function() return DB().showTimer end, + setValue = function(v) DB().showTimer = v; Refresh() end }, + { type = 'toggle', text = 'Show Rank', + getValue = function() return DB().showRank end, + setValue = function(v) DB().showRank = v; Refresh() end } + ); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'toggle', text = 'Show Class Icon', + getValue = function() return DB().showClassIcon end, + setValue = function(v) DB().showClassIcon = v; Refresh() end }, + { type = 'dropdown', text = 'Icon Style', values = classIconValues, order = classIconOrder, + getValue = function() return DB().classIconStyle or 'fabled' end, + setValue = function(v) DB().classIconStyle = v; Refresh() end, + disabled = function() return not DB().showClassIcon end } + ); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'toggle', text = 'Show Backdrop', + getValue = function() return DB().showBackdrop end, + setValue = function(v) DB().showBackdrop = v; Refresh() end }, + { type = 'toggle', text = 'Bar Border', + getValue = function() return DB().barBorderEnabled end, + setValue = function(v) DB().barBorderEnabled = v; Refresh() end } + ); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'toggle', text = 'Header Backdrop', + getValue = function() return DB().showHeaderBackdrop end, + setValue = function(v) DB().showHeaderBackdrop = v; Refresh() end }, + { type = 'toggle', text = 'Header Border', + getValue = function() return DB().showHeaderBorder end, + setValue = function(v) DB().showHeaderBorder = v; Refresh() end } + ); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'toggle', text = 'Header Mouseover', + getValue = function() return DB().headerMouseover end, + setValue = function(v) DB().headerMouseover = v; Refresh() end }, + { type = 'toggle', text = 'Hide in Flight', + getValue = function() return DB().hideInFlight end, + setValue = function(v) DB().hideInFlight = v; if addon.UpdateFlightTicker then addon:UpdateFlightTicker() end end } + ); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'toggle', text = 'Hide in Pet Battle', + getValue = function() return DB().hideInPetBattle end, + setValue = function(v) DB().hideInPetBattle = v end }, + { type = 'toggle', text = 'Auto-Reset on Instance', + getValue = function() return DB().autoResetOnComplete end, + setValue = function(v) DB().autoResetOnComplete = v end } + ); h = h + rh + + _, rh = W:SectionHeader(wrapper, 'Size', yOffset - h); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'slider', text = 'Width', min = 120, max = 500, step = 1, + getValue = function() return DB().standaloneWidth end, + setValue = function(v) DB().standaloneWidth = v; if addon.ResizeMeterWindow then addon:ResizeMeterWindow(1) end; Refresh() end }, + { type = 'slider', text = 'Height', min = 80, max = 500, step = 1, + getValue = function() return DB().standaloneHeight end, + setValue = function(v) DB().standaloneHeight = v; if addon.ResizeMeterWindow then addon:ResizeMeterWindow(1) end; Refresh() end } + ); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'slider', text = 'Bar Height', min = 8, max = 40, step = 1, + getValue = function() return DB().barHeight end, + setValue = function(v) DB().barHeight = v; Refresh() end }, + { type = 'slider', text = 'Bar Spacing', min = 0, max = 10, step = 1, + getValue = function() return DB().barSpacing end, + setValue = function(v) DB().barSpacing = v; Refresh() end } + ); h = h + rh + + _, rh = W:SectionHeader(wrapper, 'Textures', yOffset - h); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'dropdown', text = 'Bar Texture', values = texDropdownValues, order = texDropdownOrder, + getValue = function() return DB().barTexture or 'none' end, + setValue = function(v) DB().barTexture = v; Refresh() end }, + { type = 'dropdown', text = 'Bar BG Texture', values = texDropdownValues, order = texDropdownOrder, + getValue = function() return DB().barBGTexture or 'none' end, + setValue = function(v) DB().barBGTexture = v; Refresh() end } + ); h = h + rh + + _, rh = W:SectionHeader(wrapper, 'Font', yOffset - h); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'slider', text = 'Bar Font Size', min = 6, max = 24, step = 1, + getValue = function() return DB().barFontSize end, + setValue = function(v) DB().barFontSize = v; Refresh() end }, + { type = 'slider', text = 'Header Font Size', min = 6, max = 24, step = 1, + getValue = function() return DB().headerFontSize end, + setValue = function(v) DB().headerFontSize = v; Refresh() end } + ); h = h + rh + + _, rh = W:SectionHeader(wrapper, 'Colors', yOffset - h); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'toggle', text = 'Class Color Bars', + getValue = function() return DB().barClassColor end, + setValue = function(v) DB().barClassColor = v; Refresh() end }, + { type = 'multiSwatch', text = 'Bar Color', swatches = { + { tooltip = 'Bar Color', + getValue = function() local c = DB().barColor; return c.r, c.g, c.b, c.a end, + setValue = function(r, g, b, a) local c = DB().barColor; c.r, c.g, c.b, c.a = r, g, b, a; Refresh() end, + hasAlpha = true }, + }, disabled = function() return DB().barClassColor end } + ); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'toggle', text = 'Class Color Text', + getValue = function() return DB().textClassColor end, + setValue = function(v) DB().textClassColor = v; Refresh() end }, + { type = 'multiSwatch', text = 'Text Color', swatches = { + { tooltip = 'Text Color', + getValue = function() local c = DB().textColor; return c.r, c.g, c.b end, + setValue = function(r, g, b) local c = DB().textColor; c.r, c.g, c.b = r, g, b; Refresh() end }, + }, disabled = function() return DB().textClassColor end } + ); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'toggle', text = 'Class Color Values', + getValue = function() return DB().valueClassColor end, + setValue = function(v) DB().valueClassColor = v; Refresh() end }, + { type = 'multiSwatch', text = 'Value Color', swatches = { + { tooltip = 'Value Color', + getValue = function() local c = DB().valueColor; return c.r, c.g, c.b end, + setValue = function(r, g, b) local c = DB().valueColor; c.r, c.g, c.b = r, g, b; Refresh() end }, + }, disabled = function() return DB().valueClassColor end } + ); h = h + rh + + _, rh = W:DualRow(wrapper, yOffset - h, + { type = 'toggle', text = 'Class Color BG', + getValue = function() return DB().barBGClassColor end, + setValue = function(v) DB().barBGClassColor = v; Refresh() end }, + { type = 'multiSwatch', text = 'BG Color', swatches = { + { tooltip = 'Background Color', + getValue = function() local c = DB().barBGColor; return c.r, c.g, c.b, c.a end, + setValue = function(r, g, b, a) local c = DB().barBGColor; c.r, c.g, c.b, c.a = r, g, b, a; Refresh() end, + hasAlpha = true }, + }, disabled = function() return DB().barBGClassColor end } + ); h = h + rh + + return h + end + + EllesmereUI:RegisterModule('EllesmereUIDamageMeter', { + title = 'Damage Meter', + description = 'Damage meter', + pages = { 'General' }, + buildPage = function(pageName, parent, yOffset) + if pageName == 'General' then + return BuildGeneralPage(pageName, parent, yOffset) + end + end, + onPageCacheRestore = function() + UpdatePreview() + end, + onReset = function() + if addon.db and addon.db.ResetProfile then + addon.db:ResetProfile() + end + wipe(S.winDBCache) + Refresh() + end, + }) + + EllesmereUI:RegisterOnShow(UpdatePreview) +end + +if IsLoggedIn() then + InitOptions() +else + local initFrame = CreateFrame('Frame') + initFrame:RegisterEvent('PLAYER_LOGIN') + initFrame:SetScript('OnEvent', function(self) + self:UnregisterEvent('PLAYER_LOGIN') + InitOptions() + end) +end diff --git a/EllesmereUIDamageMeter/testdata.lua b/EllesmereUIDamageMeter/testdata.lua new file mode 100644 index 00000000..d9144e85 --- /dev/null +++ b/EllesmereUIDamageMeter/testdata.lua @@ -0,0 +1,130 @@ +local addon = EllesmereUIDamageMeter +local S = addon and addon.S +if not S then return end + +local TEST_DAMAGE = { + { name = "Deathknight", value = 980000, class = "DEATHKNIGHT", + spells = {{49020, 340000}, {49143, 280000}, {49184, 195000}, {196770, 110000}, {6603, 55000}} }, + { name = "Demonhunter", value = 920000, class = "DEMONHUNTER", + spells = {{198013, 310000}, {188499, 260000}, {162794, 200000}, {258920, 100000}, {6603, 50000}} }, + { name = "Warrior", value = 860000, class = "WARRIOR", + spells = {{12294, 290000}, {163201, 240000}, {7384, 180000}, {262115, 100000}, {6603, 50000}} }, + { name = "Mage", value = 800000, class = "MAGE", + spells = {{11366, 280000}, {108853, 220000}, {133, 170000}, {12654, 90000}, {257541, 40000}} }, + { name = "Hunter", value = 740000, class = "HUNTER", + spells = {{19434, 260000}, {257044, 200000}, {185358, 150000}, {75, 90000}, {53351, 40000}} }, + { name = "Rogue", value = 680000, class = "ROGUE", + spells = {{196819, 240000}, {1752, 190000}, {315341, 140000}, {13877, 75000}, {6603, 35000}} }, + { name = "Warlock", value = 620000, class = "WARLOCK", + spells = {{116858, 220000}, {29722, 170000}, {348, 120000}, {5740, 70000}, {17962, 40000}} }, + { name = "Evoker", value = 560000, class = "EVOKER", + spells = {{357208, 200000}, {356995, 160000}, {361469, 110000}, {357211, 60000}, {362969, 30000}} }, + { name = "Shaman", value = 500000, class = "SHAMAN", + spells = {{188196, 180000}, {51505, 140000}, {188443, 100000}, {188389, 55000}, {8042, 25000}} }, + { name = "Paladin", value = 440000, class = "PALADIN", + spells = {{85256, 160000}, {184575, 120000}, {255937, 90000}, {26573, 45000}, {6603, 25000}} }, + { name = "Monk", value = 380000, class = "MONK", + spells = {{107428, 140000}, {100784, 105000}, {113656, 80000}, {100780, 35000}, {101546, 20000}} }, + { name = "Druid", value = 320000, class = "DRUID", + spells = {{78674, 120000}, {194153, 90000}, {190984, 60000}, {93402, 35000}, {8921, 15000}} }, + { name = "Priest", value = 260000, class = "PRIEST", + spells = {{8092, 100000}, {32379, 70000}, {34914, 45000}, {589, 30000}, {15407, 15000}} }, + { name = "Deathknight2", value = 210000, class = "DEATHKNIGHT", + spells = {{49020, 80000}, {49143, 60000}, {49184, 40000}, {6603, 30000}} }, + { name = "Mage2", value = 170000, class = "MAGE", + spells = {{11366, 65000}, {133, 50000}, {108853, 35000}, {12654, 20000}} }, + { name = "Hunter2", value = 135000, class = "HUNTER", + spells = {{19434, 55000}, {257044, 40000}, {185358, 25000}, {75, 15000}} }, + { name = "Warrior2", value = 105000, class = "WARRIOR", + spells = {{12294, 45000}, {163201, 30000}, {7384, 20000}, {6603, 10000}} }, + { name = "Rogue2", value = 80000, class = "ROGUE", + spells = {{196819, 35000}, {1752, 25000}, {6603, 20000}} }, + { name = "Shaman2", value = 58000, class = "SHAMAN", + spells = {{188196, 25000}, {51505, 18000}, {188389, 15000}} }, + { name = "Paladin2", value = 40000, class = "PALADIN", + spells = {{85256, 18000}, {184575, 12000}, {6603, 10000}} }, +} + +local TEST_HEALING = { + { name = "Priest", value = 1250000, class = "PRIEST", + spells = {{2061, 420000}, {34861, 310000}, {596, 240000}, {139, 180000}, {47788, 100000}} }, + { name = "Druid", value = 1100000, class = "DRUID", + spells = {{774, 380000}, {48438, 290000}, {8936, 210000}, {33763, 140000}, {145205, 80000}} }, + { name = "Paladin", value = 980000, class = "PALADIN", + spells = {{19750, 340000}, {82326, 260000}, {20473, 190000}, {85222, 120000}, {53563, 70000}} }, + { name = "Shaman", value = 870000, class = "SHAMAN", + spells = {{77472, 300000}, {1064, 230000}, {61295, 170000}, {73920, 110000}, {5394, 60000}} }, + { name = "Monk", value = 760000, class = "MONK", + spells = {{115175, 260000}, {191837, 200000}, {116670, 150000}, {124682, 100000}, {115310, 50000}} }, + { name = "Evoker", value = 650000, class = "EVOKER", + spells = {{355916, 230000}, {364343, 170000}, {361469, 120000}, {382614, 80000}, {355913, 50000}} }, + { name = "Priest2", value = 540000, class = "PRIEST", + spells = {{2061, 200000}, {34861, 150000}, {596, 100000}, {139, 90000}} }, + { name = "Druid2", value = 430000, class = "DRUID", + spells = {{774, 160000}, {48438, 120000}, {8936, 90000}, {33763, 60000}} }, + { name = "Paladin2", value = 320000, class = "PALADIN", + spells = {{19750, 130000}, {82326, 100000}, {20473, 90000}} }, + { name = "Shaman2", value = 210000, class = "SHAMAN", + spells = {{77472, 90000}, {1064, 60000}, {61295, 60000}} }, +} + +local TEST_INTERRUPTS = { + { name = "Rogue", value = 8, class = "ROGUE", spells = {{1766, 8}} }, + { name = "Shaman", value = 7, class = "SHAMAN", spells = {{57994, 7}} }, + { name = "Deathknight", value = 6, class = "DEATHKNIGHT", spells = {{47528, 6}} }, + { name = "Mage", value = 5, class = "MAGE", spells = {{2139, 5}} }, + { name = "Demonhunter", value = 5, class = "DEMONHUNTER", spells = {{183752, 5}} }, + { name = "Warrior", value = 4, class = "WARRIOR", spells = {{6552, 4}} }, + { name = "Hunter", value = 3, class = "HUNTER", spells = {{147362, 3}} }, + { name = "Monk", value = 3, class = "MONK", spells = {{116705, 3}} }, + { name = "Paladin", value = 2, class = "PALADIN", spells = {{96231, 2}} }, + { name = "Warlock", value = 2, class = "WARLOCK", spells = {{119910, 2}} }, + { name = "Evoker", value = 1, class = "EVOKER", spells = {{351338, 1}} }, + { name = "Druid", value = 1, class = "DRUID", spells = {{106839, 1}} }, + { name = "Priest", value = 0, class = "PRIEST", spells = {} }, +} + +local TEST_DISPELS = { + { name = "Priest", value = 12, class = "PRIEST", spells = {{527, 8}, {32375, 4}} }, + { name = "Paladin", value = 9, class = "PALADIN", spells = {{4987, 9}} }, + { name = "Shaman", value = 7, class = "SHAMAN", spells = {{51886, 7}} }, + { name = "Druid", value = 6, class = "DRUID", spells = {{2782, 6}} }, + { name = "Monk", value = 5, class = "MONK", spells = {{115450, 5}} }, + { name = "Evoker", value = 4, class = "EVOKER", spells = {{365585, 4}} }, + { name = "Mage", value = 3, class = "MAGE", spells = {{475, 3}} }, + { name = "Warlock", value = 2, class = "WARLOCK", spells = {{89808, 2}} }, + { name = "Hunter", value = 1, class = "HUNTER", spells = {{19801, 1}} }, +} + +local TEST_DEATHS = { + { name = "Rogue", value = 4, class = "ROGUE", spells = {} }, + { name = "Mage", value = 3, class = "MAGE", spells = {} }, + { name = "Hunter", value = 3, class = "HUNTER", spells = {} }, + { name = "Warlock", value = 2, class = "WARLOCK", spells = {} }, + { name = "Priest", value = 2, class = "PRIEST", spells = {} }, + { name = "Demonhunter", value = 1, class = "DEMONHUNTER", spells = {} }, + { name = "Warrior", value = 1, class = "WARRIOR", spells = {} }, + { name = "Evoker", value = 1, class = "EVOKER", spells = {} }, + { name = "Deathknight", value = 0, class = "DEATHKNIGHT", spells = {} }, + { name = "Paladin", value = 0, class = "PALADIN", spells = {} }, + { name = "Shaman", value = 0, class = "SHAMAN", spells = {} }, + { name = "Monk", value = 0, class = "MONK", spells = {} }, + { name = "Druid", value = 0, class = "DRUID", spells = {} }, +} + +function S.GetTestData(win) + local modeEntry = S.MODE_ORDER[win.modeIndex] + if modeEntry == Enum.DamageMeterType.HealingDone + or modeEntry == Enum.DamageMeterType.Hps + or modeEntry == S.COMBINED_HEALING + or modeEntry == Enum.DamageMeterType.Absorbs then + return TEST_HEALING + elseif modeEntry == Enum.DamageMeterType.Interrupts then + return TEST_INTERRUPTS + elseif modeEntry == Enum.DamageMeterType.Dispels then + return TEST_DISPELS + elseif Enum.DamageMeterType.Deaths and modeEntry == Enum.DamageMeterType.Deaths then + return TEST_DEATHS + end + return TEST_DAMAGE +end diff --git a/EllesmereUIDamageMeter/update.lua b/EllesmereUIDamageMeter/update.lua new file mode 100644 index 00000000..578c4b19 --- /dev/null +++ b/EllesmereUIDamageMeter/update.lua @@ -0,0 +1,698 @@ +local addon = EllesmereUIDamageMeter +local S = addon and addon.S +if not S then return end +local LSM = LibStub('LibSharedMedia-3.0') + +local floor = math.floor +local wipe = wipe +local format = format + +local BACKDROP_FILL = { bgFile = 'Interface\\Buttons\\WHITE8x8' } + +local GetClassColor = S.GetClassColor + +function S.RefreshWindow(win) + if not win or not win.frame or not win.header then return end + if win.emptyText then win.emptyText:Hide() end + + local db = S.GetWinDB(win.index) + + if win.drillSource then + local ds = win.drillSource + local modeEntry = S.MODE_ORDER[win.modeIndex] + local modeLabel = S.MODE_SHORT[modeEntry] or S.MODE_LABELS[modeEntry] or "?" + local sessLabel = S.GetSessionLabel(win) + + local cr, cg, cb = GetClassColor(ds.class) + local nameHex = cr and format("%02x%02x%02x", cr * 255, cg * 255, cb * 255) or "ffffff" + win.header.modeText:SetText(format("|cff%s%s|r \226\128\148 %s", nameHex, ds.name, modeLabel)) + win.header.sessText:SetText(" (" .. sessLabel .. ")") + S.ApplySessionHighlight(win, db) + win.header.timer:Hide() + + local spells + if S.testMode then + local tdata = S.GetTestData(win) + for _, td in ipairs(tdata) do + if td.name == ds.name then spells = td.spells; break end + end + else + local meterType = S.ResolveMeterType(modeEntry) + local sourceData = ds.guid and S.GetSessionSource(win, meterType, ds.guid) + spells = sourceData and sourceData.combatSpells + end + + if not spells or #spells == 0 then + for i = 1, S.MAX_BARS do + if win.bars[i] then win.bars[i].frame:Hide() end + end + return + end + + local numVisible = S.ComputeNumVisible(win) + local total = #spells + win.scrollOffset = max(0, min(win.scrollOffset, max(0, total - numVisible))) + + local topVal, totalAmt = 0, 0 + for si = 1, total do + local s = spells[si] + local amt = s.totalAmount or s[2] or 0 + if not S.IsSecret(amt) then + if amt > topVal then topVal = amt end + totalAmt = totalAmt + amt + end + end + if topVal == 0 then topVal = 1 end + if totalAmt == 0 then totalAmt = 1 end + + local fgR, fgG, fgB = S.ClassOrColor(db, 'barClassColor', 'barColor', ds.class) + local bgR, bgG, bgB, bgA = S.ClassOrColor(db, 'barBGClassColor', 'barBGColor', ds.class) + local tR, tG, tB = S.ClassOrColor(db, 'textClassColor', 'textColor', ds.class) + local vR, vG, vB = S.ClassOrColor(db, 'valueClassColor', 'valueColor', ds.class) + + for i = 1, S.MAX_BARS do + local bar = win.bars[i] + if not bar then break end + local spIdx = win.scrollOffset + i + local s = spells[spIdx] + + if i > numVisible or not s then + bar.frame:Hide() + bar.frame.drillSpellID = nil + else + bar.frame:Show() + local rawSpellID = s.spellID or (type(s[1]) == "number" and s[1]) or nil + local spellID = (rawSpellID and not S.IsSecret(rawSpellID)) and rawSpellID or nil + local spellName = (type(s[1]) == "string" and s[1]) or nil + local amt = s.totalAmount or s[2] or 0 + + local iconID + if spellID then + local cached = S.spellCache[spellID] + if cached then + spellName = cached.name or spellName + iconID = cached.icon + else + local ok, name = pcall(C_Spell.GetSpellName, spellID) + if ok and name then spellName = name end + local ok2, tex = pcall(C_Spell.GetSpellTexture, spellID) + if ok2 and tex then iconID = tex end + S.spellCache[spellID] = { name = spellName, icon = iconID } + end + end + if not spellName then spellName = "?" end + + bar.frame.drillSpellID = spellID + bar.frame.sourceGUID = nil + bar.frame.testIndex = nil + + if iconID then + bar.classIcon:SetTexture(iconID) + bar.classIcon:SetTexCoord(0.08, 0.92, 0.08, 0.92) + bar.classIcon:Show() + else + bar.classIcon:Hide() + end + + if not bar._isDrill then + bar._isDrill = true + bar.rightText:ClearAllPoints() + bar.rightText:SetPoint("RIGHT", -64, 0) + bar.pctText:Show() + bar.leftText:ClearAllPoints() + if iconID then + bar.leftText:SetPoint("LEFT", bar.classIcon, "RIGHT", 2, 0) + else + bar.leftText:SetPoint("LEFT", 4, 0) + end + bar.leftText:SetPoint("RIGHT", bar.rightText, "LEFT", -4, 0) + elseif iconID then + if bar._drillHasIcon ~= spellID then + bar.leftText:ClearAllPoints() + bar.leftText:SetPoint("LEFT", bar.classIcon, "RIGHT", 2, 0) + bar.leftText:SetPoint("RIGHT", bar.rightText, "LEFT", -4, 0) + end + else + if bar._drillHasIcon then + bar.leftText:ClearAllPoints() + bar.leftText:SetPoint("LEFT", 4, 0) + bar.leftText:SetPoint("RIGHT", bar.rightText, "LEFT", -4, 0) + end + end + bar._drillHasIcon = iconID and spellID or nil + + bar.statusbar:SetStatusBarColor(fgR, fgG, fgB) + bar.statusbar:SetMinMaxValues(0, topVal) + bar.background:SetVertexColor(bgR, bgG, bgB, bgA) + bar.leftText:SetText(spellName) + bar.leftText:SetTextColor(tR, tG, tB) + + if S.IsSecret(amt) then + bar.statusbar:SetValue(0) + bar.rightText:SetText('?') + bar.pctText:SetText('') + else + bar.statusbar:SetValue(amt) + bar.rightText:SetText(S.TruncateDecimals(AbbreviateNumbers(S.RoundIfPlain(amt)))) + bar.pctText:SetText(totalAmt > 0 and format('%.1f%%', (amt / totalAmt) * 100) or '') + end + bar.rightText:SetTextColor(vR, vG, vB) + bar.pctText:SetTextColor(vR * 0.7, vG * 0.7, vB * 0.7) + end + end + return + end + + if S.testMode then + win.header.modeText:SetText("|cffff6600[Test Mode]|r") + win.header.sessText:SetText("") + win.header.timer:Hide() + local tdata = S.GetTestData(win) + local numVisible = S.ComputeNumVisible(win) + local maxVal = tdata[1] and tdata[1].value or 1 + local total = #tdata + win.scrollOffset = max(0, min(win.scrollOffset, max(0, total - numVisible))) + for i = 1, S.MAX_BARS do + local bar = win.bars[i] + if not bar then break end + local srcIdx = win.scrollOffset + i + local td = tdata[srcIdx] + if i > numVisible or not td then + bar.frame:Hide() + else + bar.frame:Show() + local fgR, fgG, fgB = S.ClassOrColor(db, 'barClassColor', 'barColor', td.class) + bar.statusbar:SetStatusBarColor(fgR, fgG, fgB) + bar.statusbar:SetMinMaxValues(0, maxVal) + bar.statusbar:SetValue(td.value) + local bgR, bgG, bgB, bgA = S.ClassOrColor(db, 'barBGClassColor', 'barBGColor', td.class) + bar.background:SetVertexColor(bgR, bgG, bgB, bgA) + local tR, tG, tB = S.ClassOrColor(db, 'textClassColor', 'textColor', td.class) + if db.showRank then + local rr, rg, rb = S.ClassOrColor(db, 'rankClassColor', 'rankColor', td.class) + bar.leftText:SetText(format("|cff%02x%02x%02x%d.|r %s", + rr * 255, rg * 255, rb * 255, srcIdx, td.name)) + else + bar.leftText:SetText(td.name) + end + bar.leftText:SetTextColor(tR, tG, tB) + local modeEntry = S.MODE_ORDER[win.modeIndex] + if modeEntry == S.COMBINED_DAMAGE or modeEntry == S.COMBINED_HEALING then + S.FormatCombinedText(bar.rightText, td.value, td.value / 20) + else + S.FormatValueText(bar.rightText, td.value) + end + local vR, vG, vB = S.ClassOrColor(db, 'valueClassColor', 'valueColor', td.class) + bar.rightText:SetTextColor(vR, vG, vB) + if bar._isDrill then S.ResetDrillBar(bar, db) end + if bar.selfIndicator then bar.selfIndicator:Hide() end + if db.showClassIcon then + S.ApplyClassIcon(bar.classIcon, db.classIconStyle, td.class) + else + bar.classIcon:Hide() + end + bar.frame.sourceGUID = nil + bar.frame.sourceClass = td.class + bar.frame.sourceName = td.name + bar.frame.testIndex = srcIdx + bar.frame.drillSpellID = nil + end + end + return + end + + local modeEntry = S.MODE_ORDER[win.modeIndex] + local meterType = S.ResolveMeterType(modeEntry) + local modeLabel = S.MODE_SHORT[modeEntry] or S.MODE_LABELS[modeEntry] or "?" + local sessLabel = S.GetSessionLabel(win) + + win.header.modeText:SetText(modeLabel) + win.header.sessText:SetText(" \226\128\148 " .. sessLabel) + S.ApplySessionHighlight(win, db) + + local session = S.GetSession(win, meterType) + + if win.sessionType then + local dur = C_DamageMeter.GetSessionDurationSeconds(win.sessionType) + if dur and not S.IsSecret(dur) then + local timerStr = format('%d:%02d', floor(dur / 60), floor(dur % 60)) + if session and session.totalAmount and not S.IsSecret(session.totalAmount) and session.totalAmount > 0 then + timerStr = timerStr .. ' \194\183 ' .. S.TruncateDecimals(AbbreviateNumbers(S.RoundIfPlain(session.totalAmount))) + end + win.header.timer:SetText(timerStr) + else + win.header.timer:SetText('') + end + else + win.header.timer:SetText('') + end + + local sources = session and session.combatSources + local usePerSec = (modeEntry == Enum.DamageMeterType.Dps or modeEntry == Enum.DamageMeterType.Hps) + local useCombined = (modeEntry == S.COMBINED_DAMAGE or modeEntry == S.COMBINED_HEALING) + local numVisible = S.ComputeNumVisible(win) + local total = sources and #sources or 0 + win.scrollOffset = max(0, min(win.scrollOffset, max(0, total - numVisible))) + + for i = 1, S.MAX_BARS do + local bar = win.bars[i] + if not bar then break end + + if i > numVisible then + bar.frame:Hide() + else + local srcIdx = win.scrollOffset + i + local src = sources and sources[srcIdx] + if src then + bar.frame:Show() + + local guid = (not S.IsSecret(src.sourceGUID)) and src.sourceGUID or nil + bar.frame.sourceGUID = guid + bar.frame.testIndex = nil + bar.frame.drillSpellID = nil + + local classFilename = src.classFilename + if not classFilename and guid then classFilename = S.classCache[guid] end + if guid and classFilename then S.classCache[guid] = classFilename end + bar.frame.sourceClass = classFilename + + local fgR, fgG, fgB = S.ClassOrColor(db, 'barClassColor', 'barColor', classFilename) + bar.statusbar:SetStatusBarColor(fgR, fgG, fgB) + bar.statusbar:SetMinMaxValues(0, session.maxAmount or 1) + bar.statusbar:SetValue(src.totalAmount or 0) + + local bgR, bgG, bgB, bgA = S.ClassOrColor(db, 'barBGClassColor', 'barBGColor', classFilename) + bar.background:SetVertexColor(bgR, bgG, bgB, bgA) + + local isLocal = src.isLocalPlayer + local specIcon = src.specIconID + local plainName + if isLocal then + local pg = UnitGUID('player') + plainName = (pg and S.nameCache[pg]) or UnitName('player') or '?' + elseif guid and S.nameCache[guid] then + plainName = S.nameCache[guid] + elseif specIcon and not S.specCollisions[specIcon] and S.specNameCache[specIcon] then + plainName = S.specNameCache[specIcon] + elseif not S.IsSecret(src.name) and src.name and src.name ~= '' then + plainName = (strsplit('-', src.name)) + end + if plainName and specIcon then + local existing = S.specNameCache[specIcon] + if existing and existing ~= plainName then + S.specCollisions[specIcon] = true + end + S.specNameCache[specIcon] = plainName + end + bar.frame.sourceName = plainName or '?' + + local tR, tG, tB = S.ClassOrColor(db, 'textClassColor', 'textColor', classFilename) + if plainName then + if db.showRank then + local rr, rg, rb = S.ClassOrColor(db, 'rankClassColor', 'rankColor', classFilename) + bar.leftText:SetText(format('|cff%02x%02x%02x%d.|r %s', + rr * 255, rg * 255, rb * 255, srcIdx, plainName)) + else + bar.leftText:SetText(plainName) + end + elseif S.IsSecret(src.name) then + if db.showRank then + bar.leftText:SetFormattedText('%d. %s', srcIdx, src.name) + else + bar.leftText:SetFormattedText('%s', src.name) + end + else + bar.leftText:SetText('?') + end + bar.leftText:SetTextColor(tR, tG, tB) + + if useCombined then + S.FormatCombinedText(bar.rightText, src.totalAmount, src.amountPerSecond) + else + local rawValue = usePerSec and src.amountPerSecond or src.totalAmount + S.FormatValueText(bar.rightText, rawValue) + end + local vR, vG, vB = S.ClassOrColor(db, 'valueClassColor', 'valueColor', classFilename) + bar.rightText:SetTextColor(vR, vG, vB) + if bar._isDrill then S.ResetDrillBar(bar, db) end + + if db.showClassIcon then + S.ApplyClassIcon(bar.classIcon, db.classIconStyle, classFilename) + else + bar.classIcon:Hide() + end + + if isLocal and bar.selfIndicator then + bar.selfIndicator:Show() + elseif bar.selfIndicator then + bar.selfIndicator:Hide() + end + else + bar.frame:Hide() + bar.frame.sourceGUID = nil + bar.frame.sourceName = nil + end + end + end + + if win.emptyText then + if total == 0 then + win.emptyText:Show() + else + win.emptyText:Hide() + end + end +end + +function addon:RefreshMeter() + for _, win in pairs(S.windows) do + S.RefreshWindow(win) + end +end + +function addon:SetMeterTestMode(enabled) + S.testMode = enabled + addon._meterTestMode = enabled + addon:RefreshMeter() +end + +local SetVis = EllesmereUI.SetElementVisibility + +local function FadeMeterOut() + for _, win in pairs(S.windows) do + if win.window then SetVis(win.window, false) end + end + S.meterFadedOut = true +end + +local function FadeMeterIn() + for _, win in pairs(S.windows) do + if win.window then SetVis(win.window, true) end + local wdb = S.GetWinDB(win.index) + if wdb and wdb.headerMouseover then + if win.header then win.header:SetAlpha(0) end + if win.headerBorder then win.headerBorder:SetAlpha(0) end + end + end + S.meterFadedOut = false +end + +local function CancelFlightFade() + if S.flightFadeTimer then + S.flightFadeTimer:Cancel() + S.flightFadeTimer = nil + end +end + +function addon:UpdateMeterVisibility() + local db = addon.db.profile + local petBattle = db.hideInPetBattle and C_PetBattles and C_PetBattles.IsInBattle() + local inFlight = not petBattle and db.hideInFlight and IsFlying() + local shouldHide = petBattle or inFlight + + if shouldHide == S.meterHidden then return end + S.meterHidden = shouldHide + CancelFlightFade() + + if shouldHide then + if inFlight then + S.flightFadeTimer = C_Timer.NewTimer(0.5, FadeMeterOut) + return + end + for _, win in pairs(S.windows) do + if win.window then SetVis(win.window, false) end + end + else + for _, win in pairs(S.windows) do + if win.window then SetVis(win.window, true) end + local wdb = S.GetWinDB(win.index) + if wdb and wdb.headerMouseover then + if win.header then win.header:SetAlpha(0) end + if win.headerBorder then win.headerBorder:SetAlpha(0) end + end + end + S.meterFadedOut = false + end +end + +function addon:UpdateFlightTicker() + local db = addon.db.profile + if db.hideInFlight and not S.flightTicker then + S.flightTicker = C_Timer.NewTicker(1.5, function() addon:UpdateMeterVisibility() end) + elseif not db.hideInFlight and S.flightTicker then + S.flightTicker:Cancel() + S.flightTicker = nil + addon:UpdateMeterVisibility() + end +end + +local function UpdateTimers() + for _, win in pairs(S.windows) do + if win.header and win.header.timer and win.sessionType and win.header.timer:IsShown() then + local dur = C_DamageMeter.GetSessionDurationSeconds(win.sessionType) + if dur and not S.IsSecret(dur) then + win.header.timer:SetText(format('%d:%02d', floor(dur / 60), floor(dur % 60))) + end + end + end +end + +function addon:ResizeMeterWindow(index) + S.ResizeStandalone(S.windows[index]) +end + +function addon:UpdateMeterLayout() + if not next(S.windows) then return end + + for _, win in pairs(S.windows) do + local db = S.GetWinDB(win.index) + local fontPath = S.ResolveFontPath(db.barFont) + local flags = S.FontFlags(db.barFontOutline) + + local resolveTex = EllesmereUI and EllesmereUI.ResolveTexturePath + local fgTex = resolveTex and resolveTex(S.texTextures, db.barTexture, S.DEFAULT_TEX) or S.DEFAULT_TEX + local bgTex = resolveTex and resolveTex(S.texTextures, db.barBGTexture, S.DEFAULT_TEX) or S.DEFAULT_TEX + + S.ApplyHeaderStyle(win, db) + S.RespaceBarAnchors(win, db) + for i = 1, S.MAX_BARS do + local bar = win.bars[i] + if bar then + S.StyleBarTexts(bar, fontPath, db.barFontSize, flags) + bar.statusbar:SetStatusBarTexture(fgTex) + bar.background:SetTexture(bgTex) + S.ApplyBarIconLayout(bar, db) + S.ApplyBarBorder(bar, db) + end + end + + if win.frame then + if db.showBackdrop then + win.frame:SetBackdrop(BACKDROP_FILL) + local bc = db.backdropColor + if bc then + win.frame:SetBackdropColor(bc.r, bc.g, bc.b, bc.a) + else + win.frame:SetBackdropColor(0.1, 0.1, 0.1, 0.8) + end + else + win.frame:SetBackdrop(nil) + end + end + + if win.headerBorder then + if db.showHeaderBorder then + win.headerBorder:Show() + else + win.headerBorder:Hide() + end + end + + if win.header and win.header.bg then + if db.showHeaderBackdrop then + win.header.bg:Show() + else + win.header.bg:Hide() + end + end + + if win.header then + S.SetupHeaderMouseover(win) + if db.headerMouseover then + win.header:SetAlpha(0) + if win.headerBorder then win.headerBorder:SetAlpha(0) end + else + win.header:SetAlpha(1) + if win.headerBorder then win.headerBorder:SetAlpha(1) end + end + end + + S.ResizeStandalone(win) + end + + addon:RefreshMeter() +end + +function addon:InitDamageMeter() + if not addon.db or not addon.db.profile.enabled then return end + + SetCVar('damageMeterEnabled', 0) + + C_Timer.After(0, function() + local db = addon.db.profile + + local win1 = S.NewWindowState(1, db.modeIndex) + S.windows[1] = win1 + S.CreateMeterFrame(win1) + + if not win1.frame then return end + + local function OnTDMEvent(_, event) + if event == 'PET_BATTLE_OPENING_START' or event == 'PET_BATTLE_CLOSE' then + addon:UpdateMeterVisibility() + return + elseif event == 'PLAYER_REGEN_DISABLED' then + for _, w in pairs(S.windows) do + S.ExitDrillDown(w) + end + return + elseif event == 'PLAYER_REGEN_ENABLED' then + S.ScanRoster() + addon:RefreshMeter() + return + elseif event == 'GROUP_ROSTER_UPDATE' then + S.ScanRoster() + return + elseif event == 'PLAYER_ENTERING_WORLD' then + wipe(S.nameCache) + wipe(S.classCache) + wipe(S.specNameCache) + wipe(S.specCollisions) + wipe(S.sessionLabelCache) + S.ScanRoster() + for _, w in pairs(S.windows) do + S.ResetWindowState(w) + end + if addon.db.profile.autoResetOnComplete then + local _, instanceType = IsInInstance() + if instanceType == 'party' or instanceType == 'raid' or instanceType == 'scenario' then + C_DamageMeter.ResetAllCombatSessions() + end + end + addon:RefreshMeter() + elseif event == 'DAMAGE_METER_RESET' then + wipe(S.sessionLabelCache) + wipe(S.nameCache) + wipe(S.classCache) + wipe(S.specNameCache) + wipe(S.specCollisions) + for _, w in pairs(S.windows) do + S.ResetWindowState(w) + end + addon:RefreshMeter() + else + wipe(S.sessionLabelCache) + addon:RefreshMeter() + end + end + + S.ScanRoster() + addon:RegisterEvent('DAMAGE_METER_COMBAT_SESSION_UPDATED', OnTDMEvent) + addon:RegisterEvent('DAMAGE_METER_CURRENT_SESSION_UPDATED', OnTDMEvent) + addon:RegisterEvent('DAMAGE_METER_RESET', OnTDMEvent) + addon:RegisterEvent('PLAYER_ENTERING_WORLD', OnTDMEvent) + addon:RegisterEvent('PLAYER_REGEN_DISABLED', OnTDMEvent) + addon:RegisterEvent('PLAYER_REGEN_ENABLED', OnTDMEvent) + addon:RegisterEvent('GROUP_ROSTER_UPDATE', OnTDMEvent) + addon:RegisterEvent('PET_BATTLE_OPENING_START', OnTDMEvent) + addon:RegisterEvent('PET_BATTLE_CLOSE', OnTDMEvent) + if not S.timerTicker then + S.timerTicker = C_Timer.NewTicker(0.5, UpdateTimers) + end + + addon:UpdateFlightTicker() + addon:RefreshMeter() + end) +end + +function addon:OnEnable() + self:InitDamageMeter() +end + +function addon:ReportMeter(channel, count, winIndex) + count = count or 5 + winIndex = winIndex or 1 + local win = S.windows[winIndex] + if not win then return end + + local modeEntry = S.MODE_ORDER[win.modeIndex] + local meterType = S.ResolveMeterType(modeEntry) + local modeLabel = S.MODE_LABELS[modeEntry] or "?" + local sessLabel = S.GetSessionLabel(win) + local session = S.GetSession(win, meterType) + local sources = session and session.combatSources + + if not sources or #sources == 0 then + print("|cff0cd39cEUI DM:|r No data to report.") + return + end + + if not channel then + if IsInRaid() then + channel = 'RAID' + elseif IsInGroup() then + channel = 'PARTY' + else + channel = 'SAY' + end + end + + local usePerSec = (modeEntry == Enum.DamageMeterType.Dps or modeEntry == Enum.DamageMeterType.Hps) + SendChatMessage(format("EUI DM: %s — %s", modeLabel, sessLabel), channel) + for i = 1, min(count, #sources) do + local src = sources[i] + local name = '?' + local guid = (not S.IsSecret(src.sourceGUID)) and src.sourceGUID or nil + if src.isLocalPlayer then + name = UnitName('player') or '?' + elseif guid and S.nameCache[guid] then + name = S.nameCache[guid] + elseif not S.IsSecret(src.name) and src.name then + name = (strsplit('-', src.name)) + end + local val = usePerSec and src.amountPerSecond or src.totalAmount + local valStr = val and S.TruncateDecimals(AbbreviateNumbers(S.RoundIfPlain(val))) or '0' + SendChatMessage(format(" %d. %s — %s", i, name, valStr), channel) + end +end + +SLASH_EUIDM1 = '/euidm' +SlashCmdList['EUIDM'] = function(msg) + local cmd = strtrim(msg):lower() + if cmd == 'toggle' then + for _, win in pairs(S.windows) do + if win.window then + if win.window:IsShown() then + win.window:Hide() + else + win.window:Show() + end + end + end + elseif cmd == 'test' then + addon:SetMeterTestMode(not S.testMode) + elseif cmd == 'reset' then + C_DamageMeter.ResetAllCombatSessions() + addon:RefreshMeter() + elseif cmd:match('^report') then + local channel = cmd:match('^report%s+(%a+)') + if channel then channel = channel:upper() end + addon:ReportMeter(channel) + else + print("|cff0cd39cEUI DM|r commands:") + print(" /euidm toggle — show/hide") + print(" /euidm test — toggle test mode") + print(" /euidm reset — reset sessions") + print(" /euidm report [channel] — report top 5") + end +end diff --git a/EllesmereUIDamageMeter/window.lua b/EllesmereUIDamageMeter/window.lua new file mode 100644 index 00000000..e5fbd4dc --- /dev/null +++ b/EllesmereUIDamageMeter/window.lua @@ -0,0 +1,513 @@ +local addon = EllesmereUIDamageMeter +local S = addon.S +if not S then return end +local LSM = LibStub('LibSharedMedia-3.0') + +local floor = math.floor + +local BACKDROP_FILL = { bgFile = 'Interface\\Buttons\\WHITE8x8' } +local MakeBorder = EllesmereUI.MakeBorder + +local function FadeIn(frame, duration, fromAlpha, toAlpha) + if UIFrameFadeIn then + UIFrameFadeIn(frame, duration, fromAlpha, toAlpha) + else + frame:SetAlpha(toAlpha) + end +end + +local function FadeOut(frame, duration, fromAlpha, toAlpha) + if UIFrameFadeOut then + UIFrameFadeOut(frame, duration, fromAlpha, toAlpha) + else + frame:SetAlpha(toAlpha) + end +end + +local function BuildMenuDescription(rootDescription, items) + for _, item in ipairs(items) do + if item.isSeparator then + rootDescription:CreateDivider() + elseif item.hasArrow and item.menuList then + local sub = rootDescription:CreateButton(item.text) + BuildMenuDescription(sub, item.menuList) + else + rootDescription:CreateButton(item.text, item.func) + end + end +end + +local function OpenMenuAnchored(menuItems, header) + MenuUtil.CreateContextMenu(header, function(_, rootDescription) + BuildMenuDescription(rootDescription, menuItems) + end) +end + +function S.SetupScrollWheel(win) + win.frame:EnableMouseWheel(true) + win.frame:SetScript('OnMouseWheel', function(_, delta) + local total + if win.drillSource then + total = S.GetDrillSpellCount(win) + elseif S.testMode then + total = #S.GetTestData(win) + else + local meterType = S.ResolveMeterType(S.MODE_ORDER[win.modeIndex]) + local session = S.GetSession(win, meterType) + total = (session and session.combatSources and #session.combatSources) or 0 + end + local numVis = S.ComputeNumVisible(win) + local maxOff = max(0, total - numVis) + win.scrollOffset = max(0, min(maxOff, win.scrollOffset - delta)) + S.RefreshWindow(win) + end) +end + +function S.FadeHeaderIn(win) + local db = S.GetWinDB(win.index) + if not db.headerMouseover then return end + if win.header then FadeIn(win.header, 0.2, win.header:GetAlpha(), 1) end + if win.headerBorder then FadeIn(win.headerBorder, 0.2, win.headerBorder:GetAlpha(), 1) end +end + +function S.FadeHeaderOut(win) + local db = S.GetWinDB(win.index) + if not db.headerMouseover then return end + if win.header then FadeOut(win.header, 0.2, win.header:GetAlpha(), 0) end + if win.headerBorder then FadeOut(win.headerBorder, 0.2, win.headerBorder:GetAlpha(), 0) end +end + +function S.SetupHeaderMouseover(win) + if win._headerMouseoverHooked then return end + win._headerMouseoverHooked = true + + local function OnEnter() S.FadeHeaderIn(win) end + local function OnLeave() S.FadeHeaderOut(win) end + + if win.header then + win.header:HookScript('OnEnter', OnEnter) + win.header:HookScript('OnLeave', OnLeave) + for _, child in pairs({ win.header.modeArea, win.header.sessArea, win.header.reset }) do + if child then + child:HookScript('OnEnter', OnEnter) + child:HookScript('OnLeave', OnLeave) + end + end + end +end + +function S.ApplyHeaderStyle(win, db) + local header = win.header + if not header then return end + + local fontPath = S.ResolveFontPath(db.headerFont) + local flags = S.FontFlags(db.headerFontOutline) + + local hc = db.headerBGColor + if db.showHeaderBackdrop then + header.bg:SetVertexColor(hc.r, hc.g, hc.b, hc.a) + else + header.bg:SetVertexColor(0, 0, 0, 0) + end + + local tc = db.headerFontColor + S.ApplyFont(header.modeText, fontPath, db.headerFontSize + 1, flags) + header.modeText:SetTextColor(tc.r, tc.g, tc.b) + + S.ApplyFont(header.sessText, fontPath, db.headerFontSize + 1, flags) + header.sessText:SetTextColor(tc.r, tc.g, tc.b) + + S.ApplyFont(header.timer, fontPath, db.headerFontSize, flags) + header.timer:SetTextColor(tc.r, tc.g, tc.b, 0.7) + header.timer:ClearAllPoints() + if db.showTimer then + header.timer:SetPoint('RIGHT', header.reset, 'LEFT', -4, 0) + header.timer:Show() + else + header.timer:Hide() + end +end + +function S.MakeModeEntry(win, mtype) + local idx + for i, mt in ipairs(S.MODE_ORDER) do + if mt == mtype then idx = i; break end + end + if not idx then return nil end + + local label = S.MODE_LABELS[mtype] or '?' + return { + text = (idx == win.modeIndex) and ('|cffffd100' .. label .. '|r') or label, + notCheckable = true, + func = function() + win.modeIndex = idx + win.drillSource = nil + win.scrollOffset = 0 + local wdb = S.GetWinDB(win.index) + wdb.modeIndex = idx + S.RefreshWindow(win) + end, + } +end + +function S.BuildModeMenu(win) + local dmg = { + S.MakeModeEntry(win, Enum.DamageMeterType.DamageDone), + S.MakeModeEntry(win, Enum.DamageMeterType.Dps), + S.MakeModeEntry(win, S.COMBINED_DAMAGE), + S.MakeModeEntry(win, Enum.DamageMeterType.DamageTaken), + S.MakeModeEntry(win, Enum.DamageMeterType.AvoidableDamageTaken), + } + if Enum.DamageMeterType.EnemyDamageTaken then + dmg[#dmg + 1] = S.MakeModeEntry(win, Enum.DamageMeterType.EnemyDamageTaken) + end + + local heal = { + S.MakeModeEntry(win, Enum.DamageMeterType.HealingDone), + S.MakeModeEntry(win, Enum.DamageMeterType.Hps), + S.MakeModeEntry(win, S.COMBINED_HEALING), + S.MakeModeEntry(win, Enum.DamageMeterType.Absorbs), + } + + local actions = { + S.MakeModeEntry(win, Enum.DamageMeterType.Interrupts), + S.MakeModeEntry(win, Enum.DamageMeterType.Dispels), + } + if Enum.DamageMeterType.Deaths then + actions[#actions + 1] = S.MakeModeEntry(win, Enum.DamageMeterType.Deaths) + end + + return { + { text = 'Damage', notCheckable = true, hasArrow = true, menuList = dmg }, + { text = 'Healing', notCheckable = true, hasArrow = true, menuList = heal }, + { text = 'Actions', notCheckable = true, hasArrow = true, menuList = actions }, + } +end + +function S.BuildSessionMenu(win) + local menu = {} + + -- Encounter sessions (oldest at top, newest at bottom) + if C_DamageMeter.GetAvailableCombatSessions then + local sessions = C_DamageMeter.GetAvailableCombatSessions() + if sessions and #sessions > 0 then + for _, sess in ipairs(sessions) do + local sid = sess.sessionId or sess.combatSessionId or sess.id or sess.sessionID + local label = sess.name or 'Encounter' + local dur = sess.durationSeconds or sess.duration + if dur and not S.IsSecret(dur) then + label = label .. format(' [%d:%02d]', floor(dur / 60), floor(dur % 60)) + end + menu[#menu + 1] = { + text = (win.sessionId == sid) and ('|cffffd100' .. label .. '|r') or label, + notCheckable = true, + func = function() + win.sessionId = sid + win.sessionType = nil + win.scrollOffset = 0 + win.drillSource = nil + S.RefreshWindow(win) + end, + } + end + menu[#menu + 1] = { isSeparator = true } + end + end + + -- Current / Overall + menu[#menu + 1] = { + text = (win.sessionId == nil and win.sessionType == Enum.DamageMeterSessionType.Current) + and '|cffffd100Current Segment|r' or 'Current Segment', + notCheckable = true, + func = function() + win.sessionId = nil + win.sessionType = Enum.DamageMeterSessionType.Current + win.scrollOffset = 0 + win.drillSource = nil + S.RefreshWindow(win) + end, + } + + menu[#menu + 1] = { + text = (win.sessionId == nil and win.sessionType == Enum.DamageMeterSessionType.Overall) + and '|cffffd100Overall|r' or 'Overall', + notCheckable = true, + func = function() + win.sessionId = nil + win.sessionType = Enum.DamageMeterSessionType.Overall + win.scrollOffset = 0 + win.drillSource = nil + S.RefreshWindow(win) + end, + } + + return menu +end + +function S.ToggleSession(win) + win.sessionId = nil + if win.sessionType == Enum.DamageMeterSessionType.Current then + win.sessionType = Enum.DamageMeterSessionType.Overall + else + win.sessionType = Enum.DamageMeterSessionType.Current + end + win.scrollOffset = 0 + win.drillSource = nil + S.RefreshWindow(win) +end + +function S.SetupHeaderContent(win, db) + local header = win.header + + header.bg = header:CreateTexture(nil, 'BACKGROUND') + header.bg:SetAllPoints() + header.bg:SetTexture(S.DEFAULT_TEX) + + header.modeText = header:CreateFontString(nil, 'OVERLAY') + header.modeText:SetPoint('LEFT', 4, 0) + header.modeText:SetShadowOffset(1, -1) + + header.sessText = header:CreateFontString(nil, 'OVERLAY') + header.sessText:SetPoint('LEFT', header.modeText, 'RIGHT', 0, 0) + header.sessText:SetShadowOffset(1, -1) + + header.reset = CreateFrame('Button', nil, header) + header.reset:SetSize(16, 16) + header.reset:SetPoint('RIGHT', -4, 0) + header.reset.text = header.reset:CreateFontString(nil, 'OVERLAY') + header.reset.text:SetAllPoints() + header.reset.text:SetFont(STANDARD_TEXT_FONT, 14, 'OUTLINE') + header.reset.text:SetText('x') + header.reset.text:SetTextColor(0.8, 0.2, 0.2) + header.reset:SetScript('OnClick', function(_, btn) + if btn == 'LeftButton' then + StaticPopup_Show('EUIDM_RESET') + end + end) + header.reset:HookScript('OnEnter', function(self) + GameTooltip_SetDefaultAnchor(GameTooltip, self) + GameTooltip:AddLine('Reset Meter', 1, 0.3, 0.3) + GameTooltip:AddLine('Clears all session data.', 0.7, 0.7, 0.7) + GameTooltip:Show() + end) + header.reset:HookScript('OnLeave', GameTooltip_Hide) + + header.timer = header:CreateFontString(nil, 'OVERLAY') + header.timer:SetShadowOffset(1, -1) + + S.ApplyHeaderStyle(win, db) + + header.modeArea = CreateFrame('Frame', nil, header) + header.modeArea:SetPoint('TOPLEFT', header.modeText, 'TOPLEFT', 0, 0) + header.modeArea:SetPoint('BOTTOMRIGHT', header.modeText, 'BOTTOMRIGHT', 0, 0) + header.modeArea:EnableMouse(true) + header.modeArea:SetScript('OnMouseUp', function(_, button) + if button == 'LeftButton' then + if win.drillSource then + S.ExitDrillDown(win) + else + OpenMenuAnchored(S.BuildModeMenu(win), header) + end + elseif button == 'RightButton' then + S.ToggleSession(win) + end + end) + header.modeArea:SetScript('OnEnter', function(self) + GameTooltip_SetDefaultAnchor(GameTooltip, self) + if win.drillSource then + GameTooltip:AddLine('|cffffd100Left-click:|r return to overview', 0.7, 0.7, 0.7) + else + GameTooltip:AddLine('|cffffd100Left-click:|r choose display mode', 0.7, 0.7, 0.7) + end + GameTooltip:AddLine('|cffffd100Right-click:|r toggle Current / Overall', 0.7, 0.7, 0.7) + GameTooltip:Show() + end) + header.modeArea:SetScript('OnLeave', GameTooltip_Hide) + + header.sessArea = CreateFrame('Frame', nil, header) + header.sessArea:SetPoint('TOPLEFT', header.sessText, 'TOPLEFT', 0, 0) + header.sessArea:SetPoint('BOTTOMRIGHT', header.sessText, 'BOTTOMRIGHT', 0, 0) + header.sessArea:EnableMouse(true) + header.sessArea:SetScript('OnMouseUp', function(_, button) + if button == 'LeftButton' then + OpenMenuAnchored(S.BuildSessionMenu(win), header) + elseif button == 'RightButton' then + S.ToggleSession(win) + end + end) + header.sessArea:SetScript('OnEnter', function(self) + GameTooltip_SetDefaultAnchor(GameTooltip, self) + GameTooltip:AddLine('|cffffd100Left-click:|r choose encounter', 0.7, 0.7, 0.7) + GameTooltip:AddLine('|cffffd100Right-click:|r toggle Current / Overall', 0.7, 0.7, 0.7) + GameTooltip:Show() + end) + header.sessArea:SetScript('OnLeave', GameTooltip_Hide) +end + +function S.SetupWindowContent(win, db, parent) + local winName = 'EUIDMMeter' .. (win.index or 1) + local hdrName = 'EUIDMMeterHeader' .. (win.index or 1) + + win.header = CreateFrame('Frame', hdrName, parent) + win.header:SetPoint('TOPLEFT', win.window, 'TOPLEFT', 0, 0) + win.header:SetPoint('TOPRIGHT', win.window, 'TOPRIGHT', 0, 0) + win.header:SetHeight(S.HEADER_HEIGHT) + win.header:SetFrameLevel(win.window:GetFrameLevel() + 1) + + win.headerBorderObj = MakeBorder(win.header, 0, 0, 0, 1) + win.headerBorder = win.headerBorderObj._frame + if not db.showHeaderBorder then + win.headerBorder:Hide() + end + win.header:EnableMouse(true) + + S.SetupHeaderContent(win, db) + + win.frame = CreateFrame('Frame', nil, parent, 'BackdropTemplate') + win.frame:SetFrameStrata('MEDIUM') + win.frame:SetClipsChildren(true) + win.frame:SetPoint('TOPLEFT', win.window, 'TOPLEFT', 0, -S.HEADER_HEIGHT) + win.frame:SetPoint('BOTTOMRIGHT', win.window, 'BOTTOMRIGHT', 0, 0) + + win.emptyText = win.frame:CreateFontString(nil, 'OVERLAY') + win.emptyText:SetPoint('CENTER', win.frame, 'CENTER', 0, 0) + local emptyFont = S.ResolveFontPath(db.barFont) + S.ApplyFont(win.emptyText, emptyFont, db.barFontSize, S.FontFlags(db.barFontOutline)) + win.emptyText:SetTextColor(0.5, 0.5, 0.5, 0.6) + win.emptyText:SetText('No data') + win.emptyText:Hide() + + win.frameBorderObj = MakeBorder(win.frame, 0, 0, 0, 1) + if db.showBackdrop then + win.frame:SetBackdrop(BACKDROP_FILL) + local bc = db.backdropColor + if bc then + win.frame:SetBackdropColor(bc.r, bc.g, bc.b, bc.a) + else + win.frame:SetBackdropColor(0.1, 0.1, 0.1, 0.8) + end + end + + if not db.showHeaderBackdrop and win.header.bg then + win.header.bg:Hide() + end + + local fontPath = S.ResolveFontPath(db.barFont) + local flags = S.FontFlags(db.barFontOutline) + + for j = 1, S.MAX_BARS do + local bar = S.CreateBar(win.frame) + S.StyleBarTexts(bar, fontPath, db.barFontSize, flags) + S.ApplyBarIconLayout(bar, db) + S.ApplyBarBorder(bar, db) + + local sp = max(0, db.barSpacing or 1) + local borderAdj = (db.barBorderEnabled and sp == 0) and 1 or 0 + if j == 1 then + bar.frame:SetPoint('TOPLEFT', win.frame, 'TOPLEFT', 0, 0) + bar.frame:SetPoint('TOPRIGHT', win.frame, 'TOPRIGHT', 0, 0) + else + bar.frame:SetPoint('TOPLEFT', win.bars[j-1].frame, 'BOTTOMLEFT', 0, -sp + borderAdj) + bar.frame:SetPoint('TOPRIGHT', win.bars[j-1].frame, 'BOTTOMRIGHT', 0, -sp + borderAdj) + end + win.bars[j] = bar + S.SetupBarInteraction(bar, win) + end + + S.SetupScrollWheel(win) + + S.SetupHeaderMouseover(win) + if db.headerMouseover then + win.header:SetAlpha(0) + if win.headerBorder then win.headerBorder:SetAlpha(0) end + end +end + +function S.CreateMeterFrame(win) + local db = S.GetWinDB(win.index) + + local w, h = db.standaloneWidth, db.standaloneHeight + + local window = CreateFrame('Frame', 'EUIDMMeter' .. (win.index or 1), UIParent, 'BackdropTemplate') + window:SetSize(w, h) + window:SetMovable(true) + window:EnableMouse(true) + window:RegisterForDrag('LeftButton') + window:SetScript('OnDragStart', window.StartMoving) + window:SetScript('OnDragStop', function(self) + self:StopMovingOrSizing() + self:SetUserPlaced(false) + local point, _, relPoint, x, y = self:GetPoint(1) + addon.db.profile.position = { point = point, relPoint = relPoint, x = x, y = y } + end) + window:SetClampedToScreen(true) + window:SetFrameStrata('BACKGROUND') + window:SetFrameLevel(300) + + local pos = addon.db.profile.position + if pos then + window:SetPoint(pos.point or 'CENTER', UIParent, pos.relPoint or 'CENTER', pos.x or 0, pos.y or 0) + else + window:SetPoint('CENTER', UIParent, 'CENTER', 0, 0) + end + + win.window = window + + S.SetupWindowContent(win, db, window) + S.ResizeStandalone(win) + + if EllesmereUI and EllesmereUI.RegisterUnlockElements and EllesmereUI.MakeUnlockElement then + local MK = EllesmereUI.MakeUnlockElement + EllesmereUI:RegisterUnlockElements({ + MK({ + key = 'EUIDM_Window', + label = 'Damage Meter', + group = 'Damage Meter', + order = 500, + getFrame = function() return window end, + getSize = function() return window:GetSize() end, + setWidth = function(_, w) + addon.db.profile.standaloneWidth = math.max(math.floor(w + 0.5), 120) + addon:ResizeMeterWindow(1) + end, + setHeight = function(_, h) + addon.db.profile.standaloneHeight = math.max(math.floor(h + 0.5), 80) + addon:ResizeMeterWindow(1) + end, + savePos = function(_, point, relPoint, x, y) + addon.db.profile.position = { point = point, relPoint = relPoint, x = x, y = y } + end, + loadPos = function() + return addon.db.profile.position + end, + clearPos = function() + addon.db.profile.position = nil + end, + applyPos = function() + local p = addon.db.profile.position + if p then + window:ClearAllPoints() + window:SetPoint(p.point or 'CENTER', UIParent, p.relPoint or 'CENTER', p.x or 0, p.y or 0) + end + end, + }), + }) + end +end + +function S.RespaceBarAnchors(win, db) + local sp = max(0, db.barSpacing or 1) + local borderAdj = (db.barBorderEnabled and sp == 0) and 1 or 0 + for i = 1, S.MAX_BARS do + local bar = win.bars[i] + if not bar then break end + bar.frame:ClearAllPoints() + if i == 1 then + bar.frame:SetPoint('TOPLEFT', win.frame, 'TOPLEFT', 0, 0) + bar.frame:SetPoint('TOPRIGHT', win.frame, 'TOPRIGHT', 0, 0) + else + bar.frame:SetPoint('TOPLEFT', win.bars[i-1].frame, 'BOTTOMLEFT', 0, -sp + borderAdj) + bar.frame:SetPoint('TOPRIGHT', win.bars[i-1].frame, 'BOTTOMRIGHT', 0, -sp + borderAdj) + end + end +end