Changelogs

This commit is contained in:
Tercio Jose
2024-03-13 13:47:15 -03:00
parent f9d2e81564
commit b6280c1a0b
8 changed files with 86 additions and 142 deletions
+1
View File
@@ -63,3 +63,4 @@ images/patreon_stuff.png
images/plater_darktheme_skin.png
images/Tutorial/DetailsMainWindow.png
Details.cpp
images/DETAILS_NEWS.png
+13 -115
View File
@@ -18,8 +18,8 @@
local addonName, Details222 = ...
local version, build, date, tocversion = GetBuildInfo()
Details.build_counter = 12330
Details.alpha_build_counter = 12330 --if this is higher than the regular counter, use it instead
Details.build_counter = 12550
Details.alpha_build_counter = 12550 --if this is higher than the regular counter, use it instead
Details.dont_open_news = true
Details.game_version = version
Details.userversion = version .. " " .. Details.build_counter
@@ -180,14 +180,17 @@ do
local Loc = _G.LibStub("AceLocale-3.0"):GetLocale("Details")
--change logs
--[=[
12329
"Frame for 'Ask to Erase Data' can now be moved.",
"Small bug fixes and continued development on End of Mythic+ Panel.",
--]=]
local news = {
{"v10.2.5.12550.156", "March 13th, 2024"},
"Added a combat selection option into the breakdown window, providing convenience when browsing damage or healing data in that window.",
"Added a report button to the breakdown window, allowing you to report spell damage, targets, and phases directly from that window.",
"Added combat comparison (Compare tab), allowing you to compare yourself between different combats. This is especially useful for training dummies.",
"Added the option to show or hide the Augmentation Evoker extra bar.",
"Added bar texture option 'Skyline Compact' and alert sounds 'Details Truck' and 'Details Bass Drop'.",
"The menu for combat selection has received a visual update.",
"Breakdown options received text settings, these settings also change the text in the display selection (right click at window title bar).",
"Applied a visual patch for windows other than the main ones, making them with rounded corners.",
{"v10.2.5.12329.155", "February 18th, 2024"},
"Frame for 'Ask to Erase Data' can now be moved.",
"Small bug fixes and continued development on End of Mythic+ Panel.",
@@ -452,112 +455,6 @@ do
"Fixed an issue where the Frags display was showinig death of friendly objects like Efflorescense.",
"Fixed an issue where item damage was showing 'Unknown Item' on cold logins.",
"Fixed defenses gauge (miss, dodge, parry) not showing in the spell details on the breakdown window.",
{"v10.1.0.10985.151", "May 4th, 2023"},
"The Breakdown Window has been completely rebuilt from the ground up and now includes support for several new features.",
"A significant portion of the back-end code has been revamped, resulting in improved performance and stability.",
"Combatlog now supports options, check them at the Combat Log section in the options panel.",
"Big plugin updates with improvements to Cast Log and new features for Advanced Death Log.",
"Added Real-time dps bar for arena streamers.",
"Flamanis:",
"Changed Pet Ownership detection to be hopefully more robust for future patches.",
"Added option to merge Atonement, Contrition, Ancient Teachings, and Awakened Faeline with their Crits, in the Combat Log section.",
"Added DemonHunter and Evoker Defensive cooldowns.",
"Readded option to have M+ Overall Segment only contain Bosses.",
"Fixed issue with swapping to/from Tiny Threat and other plugins using bookmarks.",
"Fixed position persistency for Statusbar elements.",
"Fixed alpha channel persistency for certain color options.",
"Fixed stack overflow related to changing option tabs or profiles too many times.",
"Fixed the highlight image of a bar icon not swapping to the new icon upon scrolling.",
"Fixed issues related to the new Left Text Offset position.",
"Fixed the wrong options being unusable with Aligned Text Columns enabled.",
{"v10.0.5.10661.147", "Mar 1st, 2023"},
"Major fixes and updates on the Event Tracker feature (for streamers).",
"When trying to import a profile with a name that already exists, it'll rename it and import (Flamanis).",
"Ignoring Fodder to the Flame npcs (Flamanis).",
"Mythic plus overall segments now have the list of player deaths.",
{"v10.0.2.10333.147", "Feb 08th, 2023"},
"Fixed load errors on Wrath.",
"Fixed enemy cast time in the death tooltip sometimes showing off time.",
"Allow negative offsets on Aligned Text Columns (Flamanis).",
"Fixed Shaman and Warrior spec detection (Flamanis).",
"More Demon hunter abilities added to be merged (Flamanis).",
"Added duck polymorph to Mage CCs (Flamanis).",
"Fixed offline player showing as party members in the /keys panel and players from other realms not caching (Flamanis).",
"Fixed an issue with some options not updating when the window is selected at the bottom right corner of the options panel (Flamanis).",
"Fixed some issues with the breakdown window for 'Damage Taken' (Flamanis).",
"Fixed an issue where sometimes the 'Always Show Me' wouldn't show if the total bar is enabled (Ricodyn).",
{"v10.0.2.10333.147", "Jan 04th, 2023"},
"Enemy Cast (non-interrupted) now is shown in the death log.",
"Damage Done by Blessing of Winter and Summer now counts torward the paladin.",
"Tooltips for Mythic Dungeon segments in the segments menu, now brings more information about the combat.",
"List of Potions updated (Jooooo)",
"Priest Spirit of Redemption now shows in the Death Log breakdown.",
"/keystone doesn't show the player realm anymore",
"When importing a profile, the confirmation box (asking a name for the new profile) got a check box to opt-out of importing Code.",
"Major fixes for Guild Sync and Statistics window: /details stats",
"Raid Check (plugin): Added M+ Score and fixed the flask usage.",
"Streamer (plugin): Fixed the plugin window hidding after login.",
"Fixed Evoker and several other cooldowns which wasn't showing in the cooldown usage display.",
"Fixed a small freeze that was happening when hovering over the segments menu.",
"Fixed some slash commands not working for deDE localization.",
"Fixed Rogue Akaari's Soul not getting detected properly during combat (Flamanis).",
"Fixed the sorting columns on /keystone panel which key stone level wasn't sorting correctly (Benjamin H.).",
"Fix for Fire Elemental on Wrath (Flamanis).",
"Fixed Evoker bug where empowered abilities wasn't showing in overall data (Flamanis).",
"Fixed an error when Details! attempted to use Ghost Frame in Wrath, but Ghost frame doesn't exists on that expansion (Flamanis).",
"Fixed spec detection for some specs on retail (Flamanis).",
"Fixed ToC for Compare2, how it also works on Wrath (Flamanis).",
"Fixed an issue with buff and debuff uptime sometimes not closing properly after the combat.",
{"v10.0.2.10333.147", "Nov 18th, 2022"},
"Added two checkboxes for Merge Pet and Player spell on the Breakdown window.",
"Added uptime for Hunter's Pet Frenzy Buff, it now show in the 'Auras' tab in the Breakdown Window.",
"/played is showing something new!",
"Options panel now closes by pressing Escape (Flamanis).",
{"v10.0.2.10277.146", "Nov 18th, 2022"},
"REMINDER: '/details coach' to get damage/healing/deaths in real time as the 21st person (coach) for the next raid tier in dragonflight.",
"New Compare tab: recreated from scratch, this new Compare has no player limitation, pets merged, bigger lines.",
"New <Plugin: Cast Log> show a time line of spells used by players in the group, Raid Leader: show all attack and defense cooldowns used by the raid (download it now on wago or curseforge).",
"Wago: Details! Standalone version is now hosted on addons.wago.io and WowUp.com.",
"",
"Added a little damage chart for your spells in the Player Breakdown Window.",
"Details! will count class play time, everyone using Details! from day 1 in Dragonflight should have an accurate play time in the class.",
"Visual updates on default skin.",
"All panels from options to plugins received visual updates.",
"Profiles won't export Auto Hide automations to stop issues with players not knowing why the window is hidding.",
"Details! should decrease the amount of chat spam errors and instead show them in the bug report window like al the other addons.",
"Player Details! Breakdown window: player selection now uses the same font as the regular window.",
"Death log tooltip revamp for more clarity to see the ability name and the damage done.",
"Dragonflight Trinkets damage will show the trinket name after the spell name.",
"'/details scroll' feature: spell name and spell id can now be copied, the frame got a scale bar.",
"Added option: 'Use Dynamic Overall Damage', if enabled swap to Dynamic Overall Damage when combat start while showing Overall Damage.",
"Fixed for most of the user having the problem of the encounter time not showing.",
"Fixed most of the issues with the melee spell name being called 'Word of Recall'.",
"Details! Damage Meter, Deatails! Framework, LibOpenRaid has been successfully updated to Dragonflight.",
"New class Evoker are now fully supported by Details!.",
"",
"Fixed an issue where warlocks was entering in combat from a debug doing damage (Flamanis).",
"Fixed 'Auto of Range' problem in Wrath of the Lich King (Flamanis).",
"Fixed a bug with custom displays when showing players outside the player group (Flamanis).",
"Fixed an issue where specs wheren't sent on Wrath (Flamanis).",
"Fixed Buff Uptime Tooltip where the buff had zero uptime (Flamanis)",
"Fixed shield damage preventing rare error when the absorption was zero (Flamanis).",
"Fixed chat embed system built in Details! from the Skins section (Flamanis).",
"Fixed an issue where damage in battlegrounds was not being sync with battleground score board in Wrath (Flamanis).",
"",
"New Slash Commands:",
"/playedclass: show how much time you have played this class on this expansion.",
"/dumpt <anything>: show the value of any table, global, spellId, etc.",
"/details auras: show a panel with your current auras, spell ids and spell payload.",
"/details perf: show performance issues when you get a warning about freezes due to UpdateAddOnMemoryUsage().",
"/details npcid: get the npc id of your target (a box is shown with the number ready to be copied).",
}
local newsString = "|cFFF1F1F1"
@@ -1272,6 +1169,7 @@ do
SharedMedia:Register("sound", "Details Warning", [[Interface\Addons\Details\sounds\Details Warning 100.ogg]])
SharedMedia:Register("sound", "Details Truck", [[Interface\Addons\Details\sounds\Details Truck.ogg]])
SharedMedia:Register("sound", "Details Bass Drop", [[Interface\Addons\Details\sounds\bassdrop2.mp3]])
--dump table contents over chat panel
function Details.VarDump(t)
+44 -4
View File
@@ -14,6 +14,8 @@ do
--'another player' is a terms used to refer to the other players being compared to the main player
--the scrollboxes for the main player being compared are created in the compare frame, the scrollboxes for the other players are created in the compareplayerframe
--search ~start to go to the start of the main code
local weakTable = {__mode = "v"}
---@class compare : frame
@@ -50,6 +52,7 @@ do
---@field mainPlayer actor
---@field mainSpellTable spelltable
---@field mainTargetTable comparetargettable
---@field combatTimeLabel df_label
---@class comparespelltable : spelltable
---@field spellId number?
@@ -1126,6 +1129,8 @@ do
comparePlugin.mainSpellTable = mainPlayerSpellTable
comparePlugin.mainTargetTable = mainPlayerTargetTable
comparePlugin.combatTimeLabel.text = detailsFramework:CreateAtlasString(Details:GetTextureAtlas("small-clock"), 10, 10) .. " " .. detailsFramework:IntegerToTimer(combat:GetCombatTime())
--depending on what data the user wants to compare, the data captue is different
--perform a search on the same combat when comparing the main player with other players using the same specialization.
--perform a seach on the next segments when comparing the main player against itself.
@@ -1138,6 +1143,8 @@ do
local maxCompares = compareTwo.db.max_compares
--~start
if (compareTwo.db.compare_type == CONST_COMPARETYPE_SEGMENT) then
--get the segmentId from the combat
local segmentId = combat:GetSegmentSlotId()
@@ -1176,7 +1183,11 @@ do
for _, actorObject in actorContainer:ListActors() do
if (actorObject:IsPlayer() and actorObject:IsGroupPlayer() and actorObject.spec == playerActorObject.spec and actorObject.serial ~= playerActorObject.serial) then
---@type compareactortable
local actorCompareTable = {actor = actorObject, total = actorObject.total, combat = combat}
local actorCompareTable = {
actor = actorObject,
total = actorObject.total,
combat = combat
}
actorObjectsToCompare[#actorObjectsToCompare + 1] = setmetatable(actorCompareTable, weakTable)
--stop the loop the the max amount of compares is reached
@@ -1185,10 +1196,10 @@ do
end
end
end
comparePlugin.mainPlayerName.text = playerActorObject:GetDisplayName()
end
comparePlugin.mainPlayerName.text = playerActorObject:GetDisplayName()
table.sort(actorObjectsToCompare, sortByTotalKey)
end
---hold the spell data for all other players which will be compared with the main player
---@type comparespelltable[]
@@ -1227,6 +1238,8 @@ do
--store the another player actorobject and name
comparisonFrame.playerObject = playerObject
comparisonFrame.combatTimeLabel.text = detailsFramework:CreateAtlasString(Details:GetTextureAtlas("small-clock"), 10, 10) .. " " .. detailsFramework:IntegerToTimer(combatObject:GetCombatTime())
--depending on the compare mode, the "player name" will be the segment name or the player name
if (compareTwo.db.compare_type == CONST_COMPARETYPE_SPEC) then
comparisonFrame.titleLabel.text = detailsFramework:RemoveRealmName(playerObject:Name())
@@ -1613,7 +1626,7 @@ do
end
end
--main player spells scroll
--main player spells scroll ~playerscroll
---@type comparescrollbox
local mainSpellsFrameScroll = detailsFramework:CreateScrollBox(comparePlugin, "$parentComparisonMainPlayerSpellsScroll", mainPlayerRefreshSpellScroll, {}, comparisonFrameSettings.mainScrollWidth, comparisonFrameSettings.spellScrollHeight, comparisonFrameSettings.spellLineAmount, comparisonFrameSettings.spellLineHeight)
mainSpellsFrameScroll:SetPoint("topleft", comparePlugin, "topleft", 5, -30)
@@ -1659,6 +1672,20 @@ do
comparePlugin.mainPlayerName:SetPoint("topleft", mainSpellsFrameScroll, "topleft", 2, comparisonFrameSettings.playerNameYOffset)
comparePlugin.mainPlayerName.fontsize = comparisonFrameSettings.playerNameSize
--gradient below the spellsScroll using the atlas "BossBanner-BgBanner-Top"
local gradientBottom = detailsFramework:CreateTexture(comparePlugin, "BossBanner-BgBanner-Top", 1, 20, "border")
gradientBottom:SetPoint("topleft", mainSpellsFrameScroll, "bottomleft", -12, 6)
gradientBottom:SetPoint("topright", mainSpellsFrameScroll, "bottomright", 12, 6)
comparePlugin.bottomGradient = gradientBottom
--combat time shown below the spellscroll ~time
---@type df_label
comparePlugin.combatTimeLabel = detailsFramework:CreateLabel(comparePlugin, "")
comparePlugin.combatTimeLabel:SetPoint("top", mainSpellsFrameScroll, "bottom", 0, -1)
comparePlugin.combatTimeLabel.fontsize = comparisonFrameSettings.playerNameSize - 1
comparePlugin.combatTimeLabel:SetAlpha(0.834)
--create the framework for the comparing players
local settings = {
--comparison frame
@@ -1900,6 +1927,19 @@ do
newComparisonFrame.spellsScroll = spellsScroll
--gradient below the spellsScroll using the atlas "BossBanner-BgBanner-Top"
local gradientBottom = detailsFramework:CreateTexture(newComparisonFrame, "BossBanner-BgBanner-Top", 1, 20, "border")
gradientBottom:SetPoint("topleft", spellsScroll, "bottomleft", -12, 6)
gradientBottom:SetPoint("topright", spellsScroll, "bottomright", 12, 6)
newComparisonFrame.bottomGradient = gradientBottom
--combat time shown below the spellscroll ~time
---@type df_label
newComparisonFrame.combatTimeLabel = detailsFramework:CreateLabel(newComparisonFrame, "")
newComparisonFrame.combatTimeLabel:SetPoint("top", spellsScroll, "bottom", 0, -1)
newComparisonFrame.combatTimeLabel.fontsize = comparisonFrameSettings.playerNameSize - 1
newComparisonFrame.combatTimeLabel:SetAlpha(0.834)
--targets scroll
---@type comparescrollbox
local targetsScroll = detailsFramework:CreateScrollBox(newComparisonFrame, "$parentComparisonPlayerTargetsScroll", comparisonPlayerRefreshTargetScroll, {}, comparisonFrameSettings.comparisonScrollWidth, comparisonFrameSettings.targetScrollHeight, comparisonFrameSettings.targetScrollLineAmount, comparisonFrameSettings.targetScrollLineHeight)
+12 -5
View File
@@ -43,7 +43,9 @@ do
end
local buildOptionsPanel = function()
local optionsFrame = encounterDetails:CreatePluginOptionsFrame("EncounterDetailsOptionsWindow", "Encounter Breakdown Options")
local pluginIcon = "Interface\\AddOns\\Details_EncounterDetails\\images\\icon"
local pluginIconCoords = {0.15, 0.85, 0.15, 0.85}
local optionsFrame = encounterDetails:CreatePluginOptionsFrame("EncounterDetailsOptionsWindow", "Encounter Breakdown Options", 3, pluginIcon, pluginIconCoords)
-- 1 = only when inside a raid map
-- 2 = only when in raid group
-- 3 = only after a boss encounter
@@ -131,7 +133,13 @@ do
}
detailsFramework:BuildMenu(optionsFrame, menu, 15, -75, 260)
local options_text_template = detailsFramework:GetTemplate("font", "OPTIONS_FONT_TEMPLATE")
local options_dropdown_template = detailsFramework:GetTemplate("dropdown", "OPTIONS_DROPDOWN_TEMPLATE")
local options_switch_template = detailsFramework:GetTemplate("switch", "OPTIONS_CHECKBOX_TEMPLATE")
local options_slider_template = detailsFramework:GetTemplate("slider", "OPTIONS_SLIDER_TEMPLATE")
local options_button_template = detailsFramework:GetTemplate("button", "OPTIONS_BUTTON_TEMPLATE")
detailsFramework:BuildMenu(optionsFrame, menu, 15, -75, 260, false, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
end
encounterDetails.OpenOptionsPanel = function()
@@ -463,15 +471,14 @@ do
end
--segment selection
C_Timer.After(1, function()
C_Timer.After(5, function()
local buildSegmentosMenu = function(self)
local segmentList = Details:GetCombatSegments()
local resultTable = {}
for index, combate in ipairs(segmentList) do
if (combate.is_boss and combate.is_boss.index) then
--local l, r, t, b, icon = Details:GetBossIcon(combate.is_boss.mapid, combate.is_boss.index)
local bossIcon = Details:GetBossEncounterTexture(combate.is_boss.name)
local bossIcon = Details:GetBossEncounterTexture(combate.is_boss.id or combate.is_boss.encounter or combate.is_boss.name)
resultTable[#resultTable+1] = {value = index, label = "#" .. index .. " " .. combate.is_boss.name, icon = bossIcon, iconsize = {32, 20}, texcoord = {0, 1, 0, 0.9}, onclick = encounterDetails.OpenAndRefresh}
end
end
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

+14 -16
View File
@@ -17,6 +17,9 @@ local DF = DetailsFramework
local UnitGroupRolesAssigned = DF.UnitGroupRolesAssigned
local version = "95"
---@type detailsframework
local detailsFramework = DetailsFramework
--build the list of buffs to track
local flaskList = LIB_OPEN_RAID_FLASK_BUFF
local runeIds = DF.RuneIDs
@@ -188,27 +191,19 @@ local CreatePluginFrames = function()
end
end
local raidCheckFrame = CreateFrame("frame", nil, UIParent, "BackdropTemplate")
local raidCheckFrame = CreateFrame("frame", "RaidCheckDetailsPlugin", UIParent, "BackdropTemplate")
raidCheckFrame:SetPoint("bottom", DetailsRaidCheck.ToolbarButton, "top", 0, 10)
raidCheckFrame:SetClampedToScreen(true)
raidCheckFrame:SetFrameStrata("TOOLTIP")
raidCheckFrame.background = raidCheckFrame:CreateTexture("DetailsAllAttributesFrameBackground111", "background")
raidCheckFrame.background:SetDrawLayer("background", 2)
raidCheckFrame.background:SetPoint("topleft", raidCheckFrame, "topleft", 4, -4)
raidCheckFrame.background:SetPoint("bottomright", raidCheckFrame, "bottomright", -4, 4)
detailsFramework:AddRoundedCornersToFrame(raidCheckFrame, Details.PlayerBreakdown.RoundedCornerPreset)
raidCheckFrame.wallpaper = raidCheckFrame:CreateTexture("DetailsAllAttributesFrameWallPaper111", "background")
raidCheckFrame.wallpaper:SetDrawLayer("background", 4)
raidCheckFrame.wallpaper:SetPoint("topleft", raidCheckFrame, "topleft", 4, -4)
raidCheckFrame.wallpaper:SetPoint("bottomright", raidCheckFrame, "bottomright", -4, 4)
raidCheckFrame:SetBackdrop(Details.menu_backdrop_config.menus_backdrop)
raidCheckFrame:SetBackdropColor(unpack(Details.menu_backdrop_config.menus_backdropcolor))
raidCheckFrame:SetBackdropBorderColor(unpack(Details.menu_backdrop_config.menus_bordercolor))
C_Timer.After(10, function()
Details:RegisterFrameToColor(raidCheckFrame)
end)
local reportString1 = raidCheckFrame:CreateFontString(nil, "overlay", "GameFontNormal")
reportString1:SetPoint("bottomleft", raidCheckFrame, "bottomleft", 10, 8)
reportString1:SetPoint("bottomleft", raidCheckFrame, "bottomleft", 10, 5)
reportString1:SetText("|TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:12:12:0:1:512:512:8:70:225:307|t Report No Food/Flask |TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:12:12:0:1:512:512:8:70:328:409|t Report No Pre-Pot |TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:12:12:0:1:512:512:8:70:126:204|t Report No Rune | |cFFFFFFFFShift+Click: Options|r")
DetailsRaidCheck:SetFontSize(reportString1, 10)
@@ -230,6 +225,7 @@ local CreatePluginFrames = function()
}
local headerOptions = {
padding = 2,
backdrop_color = {.2, .2, .2, 0.834}
}
DetailsRaidCheck.Header = DF:CreateHeader(raidCheckFrame, headerTable, headerOptions)
@@ -425,7 +421,7 @@ local CreatePluginFrames = function()
line.TalentsRow:ClearIcons()
if (playerTable.Talents) then
if (playerTable.Talents and type(playerTable.Talents) == "table") then
for i = 1, #playerTable.Talents do
local talent = playerTable.Talents[i]
local talentID, name, texture, selected, available = GetTalentInfoByID(talent)
@@ -493,6 +489,8 @@ local CreatePluginFrames = function()
mainScroll:SetPoint("bottomright", raidCheckFrame, "bottomright", -10, 20)
mainScroll:Refresh()
mainScroll:SetBackdrop(nil)
--create lines
for i = 1, scrollLinesAmount do
mainScroll:CreateLine(scrollCreateLine)
@@ -959,7 +957,7 @@ local CreatePluginFrames = function()
end
local buildOptionsPanel = function()
local optionsFrame = DetailsRaidCheck:CreatePluginOptionsFrame("DetailsRaidCheckOptionsWindow", "Details! Raid Check Options", 1)
local optionsFrame = DetailsRaidCheck:CreatePluginOptionsFrame("DetailsRaidCheckOptionsWindow", "Details! Raid Check Options")
local optionsTable = {
{type = "label", get = function() return "General Settings:" end, text_template = DF:GetTemplate("font", "ORANGE_FONT_TEMPLATE")},
{
@@ -1,4 +1,4 @@
## Interface: 11500
## Interface: 11501
## Title: Details!: Tiny Threat (plugin)
## Notes: Threat meter plugin, show threat for group members in the window. Select it from the Plugin menu in the Orange Cogwheel.
## RequiredDeps: Details
Binary file not shown.