BigWigsMods / Transcriptor

Logging utility for boss encounters.
9 stars 10 forks source link

Log more data for UPDATE_UI_WIDGET events (fixes #21) #24

Closed elvador closed 4 years ago

elvador commented 4 years ago

Currently we're only logging very basic data for widgets:

[UPDATE_UI_WIDGET] widgetID:2396, widgetType:2, widgetSetID:1

With these changes, we'll log most of the data that's available, including all updates:

<61.18 02:17:50> [UPDATE_UI_WIDGET] widgetID:2396, widgetType:2, widgetSetID:1, barMin:0, colorTint:0, textureKit:Red, barMax:100, shownState:1, widgetSizeSetting:0, barValueTextType:1, widgetScale:0, outAnimType:0, inAnimType:0, text:Halkias' Anima, widgetTag:, orderIndex:0, layoutDirection:0, barValue:1, frameTextureKit:UI-Frame-Bar, hasTimer:table, overrideBarText:Halkias' Anima, overrideBarTextShownType:0, partitionValues:table, tooltip:Defeating Shards of Halkias will unleash their Anima, freeing the Goliath., -- [1]
<62.18 02:17:51> [UPDATE_UI_WIDGET] widgetID:2396, barValue:2, -- [2]
<63.17 02:17:52> [UPDATE_UI_WIDGET] widgetID:2396, barValue:3, -- [3]

When the widget gets first created, it adds "all" the data, most of which might never be needed. I don't think it's an issue however, as usually only a few widgets are created on an encounter.

Static widgets (like icons) can be added to the blacklist to reduce this spam even further.

elvador commented 4 years ago

One thing I forgot to mention, it also creates a WIDGET table, which has everything neatly formatted:

["WIDGET"] = {
    [2396] = {
        ["barMin"] = 0,
        ["colorTint"] = 0,
        ["widgetScale"] = 0,
        ["barMax"] = 100,
        ["shownState"] = 1,
        ["widgetSizeSetting"] = 0,
        ["tooltip"] = "Defeating Shards of Halkias will unleash their Anima, freeing the Goliath.",
        ["widgetTag"] = "",
        ["overrideBarTextShownType"] = 0,
        ["overrideBarText"] = "Halkias' Anima",
        ["text"] = "Halkias' Anima",
        ["textureKit"] = "Red",
        ["frameTextureKit"] = "UI-Frame-Bar",
        ["layoutDirection"] = 0,
        ["barValueTextType"] = 1,
        ["barValue"] = 33,
        ["hasTimer"] = "false",
        ["outAnimType"] = 0,
        ["orderIndex"] = 0,
        ["partitionValues"] = "table",
        ["inAnimType"] = 0,
    },
},

So essentially we're getting: