Open griddark opened 1 year ago
I am no longer developing or maintaining World of Warcraft addons. I haven't played in years, and don't have the time or interest to continue working on addons for a game I don't play anymore. If you are an addon author interested in continuing one of my addons, please see https://phanx.net/addons/. If you are an addon user, sorry, but there won't be any more fixes or updates from me.
I guess we need to fix it ourselfs.
You just have to swap line 192 of the addon.lua in the OpieMasque folder with button.OverlayIcon = button:CreateTexture(nil, "ARTWORK", nil, 1)
You just have to swap line 192 of the addon.lua in the OpieMasque folder with button.OverlayIcon = button:CreateTexture(nil, "ARTWORK", nil, 1) With the updated version of Opie I'm seeing this error
2x Interface/AddOns/OPieMasque/Addon.lua:13: OPie not found [string "=[C]"]: in function `assert' [string "@Interface/AddOns/OPieMasque/Addon.lua"]:13: in main chunk
Locals: (temporary) = nil (temporary) = "OPie not found"
You just have to swap line 192 of the addon.lua in the OpieMasque folder with button.OverlayIcon = button:CreateTexture(nil, "ARTWORK", nil, 1) With the updated version of Opie I'm seeing this error
2x Interface/AddOns/OPieMasque/Addon.lua:13: OPie not found [string "=[C]"]: in function `assert' [string "@Interface/AddOns/OPieMasque/Addon.lua"]:13: in main chunk
Locals: (temporary) = nil (temporary) = "OPie not found"
same problem here
I've got a fix for this, unfortunately I'm unable to push a pull request. But I've emailed the author about it so maybe we can get this updated.
Patch file listed below.
Replace line 13
Old: assert(OneRingLib and OneRingLib.ext and OneRingLib.ext.OPieUI, "OPie not found")
New: assert(OPie and OPie.UI and OPie.UI.RegisterIndicatorConstructor, "OPie not found")
Replace line 192 (Thanks to @ETSeki above):
Old: button.OverlayIcon = button:CreateTexture(nil, "ARTWORK", 1)
New: button.OverlayIcon = button:CreateTexture(nil, "ARTWORK", nil, 1)
Replace Line 228:
Old: OneRingLib.ext.OPieUI:SetIndicatorConstructor(CreateIndicator)
New: OPie.UI:RegisterIndicatorConstructor("OpieMasque", {CreateIndicator=CreateIndicator, name="OpieMasque", apiLevel=1})
At Line 77, add this new function:
After the function function prototype:SetOverlayIcon(texture, w, h, ...) -- not entirely sure what this is for
Make sure you add this new function after the end
line of that function that starts with the function line above, and not after the function line itself
Add
function prototype:SetOverlayIconVertexColor(...) -- not sure what this is for, copied code from Mirage.lua in OPie
self.overIcon:SetVertexColor(...)
end
With those 4 changes it should all work again :)
TLDR: OPie made some changes for Dragonflight, and in doing so renamed OneRingLib
to OPie
for the library table, and also pulled the ext
table out and merged it just into the OPie
table as UI
. That's the change on Line 13.
The other change is that in the older version of OPie, calling SetIndicatorConstructor
was deprecated and it looks like with the DF update they removed it, so it needed to be changed to use RegisterIndicatorConstructor instead. I'm not 100% sure this is perfect, but it doesn't pop up any errors anymore and it shows up in Masque, and, for all I can tell, works :)
I'll tag all the users so you get an email about this and can fix it yourself locally if you so desire.
@tucomel @griddark @DavidRosseljong
Awesome! Thank you for fixing it. It's working for me.
Unfortunately, even after making the above changes to the Addon.lua file, it still remains unskinned. I'm wondering if perhaps the latest patch caused any issues?
Still working for me.
Try to re-download the addon and apply the fix from Corazu again.
You're right it does work!
The issue was that OPieMasque was not selected under the Appearance settings, probably due to changes in OPie itself.
I've got a fix for this, unfortunately I'm unable to push a pull request. But I've emailed the author about it so maybe we can get this updated.
Patch file listed below.
Replace line 13 Old:
assert(OneRingLib and OneRingLib.ext and OneRingLib.ext.OPieUI, "OPie not found")
New:assert(OPie and OPie.UI and OPie.UI.RegisterIndicatorConstructor, "OPie not found")
Replace line 192 (Thanks to @ETSeki above): Old:
button.OverlayIcon = button:CreateTexture(nil, "ARTWORK", 1)
New:button.OverlayIcon = button:CreateTexture(nil, "ARTWORK", nil, 1)
Replace Line 228: Old:
OneRingLib.ext.OPieUI:SetIndicatorConstructor(CreateIndicator)
New:OPie.UI:RegisterIndicatorConstructor("OpieMasque", {CreateIndicator=CreateIndicator, name="OpieMasque", apiLevel=1})
At Line 77, add this new function: After the function
function prototype:SetOverlayIcon(texture, w, h, ...) -- not entirely sure what this is for
Add
function prototype:SetOverlayIconVertexColor(...) -- not sure what this is for, copied code from Mirage.lua in OPie self.overIcon:SetVertexColor(...) end
With those 3 changes it should all work again :)
TLDR: OPie made some changes for Dragonflight, and in doing so renamed
OneRingLib
toOPie
for the library table, and also pulled theext
table out and merged it just into theOPie
table asUI
. That's the change on Line 13.The other change is that in the older version of OPie, calling
SetIndicatorConstructor
was deprecated and it looks like with the DF update they removed it, so it needed to be changed to use RegisterIndicatorConstructor instead. I'm not 100% sure this is perfect, but it doesn't pop up any errors anymore and it shows up in Masque, and, for all I can tell, works :)I'll tag all the users so you get an email about this and can fix it yourself locally if you so desire.
@tucomel @griddark @DavidRosseljong
Thanks for the excellent compilation of fixes to makes this addon work again!
Just two things: on line 77, the function needs to end with an end
keyword I believe. And you mean the five changes, not three, right?
Thanks for the excellent compilation of fixes to makes this addon work again!
Just two things: on line 77, the function needs to end with an
end
keyword I believe. And you mean the five changes, not three, right?
Well it was 4, but originally it was 3 because I forgot I had already applied the Line 192 change and edited it in afterwards since I thought it should be a comprehensive list. But then didn't update the number. I'll do that now for sanity sake.
As for line 77, the function I added does end with an end, the function I referenced I only put the signature line in. As a software dev myself (although not a LUA expert) I realize I might take for granted those instructions "should be obvious" when to a non-coder that might be unclear. Let me update those instructions.
Thanks for the excellent compilation of fixes to makes this addon work again! Just two things: on line 77, the function needs to end with an
end
keyword I believe. And you mean the five changes, not three, right?Well it was 4, but originally it was 3 because I forgot I had already applied the Line 192 change and edited it in afterwards since I thought it should be a comprehensive list. But then didn't update the number. I'll do that now for sanity sake.
As for line 77, the function I added does end with an end, the function I referenced I only put the signature line in. As a software dev myself (although not a LUA expert) I realize I might take for granted those instructions "should be obvious" when to a non-coder that might be unclear. Let me update those instructions.
It's much clearer now, thank you so much 🎉
Until the addon.lua file on GitHub is finally updated, here's a pre-modified version. It is a shame that Github won't allow fixes to be submitted directly.
You'll need to remove the .txt extension and then drop it in the OpieMasque folder, overwriting the existing file. (Backing it up is highly recommended).
First of all, huge thanks to everyone fixing this, now that i have my pretty rounded Opie buttons back, my OCD has been soothed 😄
I've found one minor issue which occurs only for my Mage so far, who has a nested ring within a nested ring for Portals and Teleports displaying as a Jump Slice (it's nested in my general porting and hearthstone ring). As soon as i mouse over the nested ring which contains the Mage Port ring, this happens:
1x OPieSliceButton1:CreateTexture(): Couldn't find inherited node "1"
string "=[C]": in function
CreateTexture' [string "@Interface/AddOns/OPieMasque/Addon.lua"]:192: in function
CreateIndicator' [string "@Interface/AddOns/OPie/OPieUI.lua"]:152: in function <Interface/AddOns/OPie/OPieUI.lua:148> [string "@Interface/AddOns/OPie/OPieUI.lua"]:502: in function <Interface/AddOns/OPie/OPieUI.lua:491>[string "@Interface/AddOns/OPieMasque/Addon.lua"]:228: in main chunk
Locals: (*temporary) = "OPieSliceButton1:CreateTexture(): Couldn't find inherited node "1""