IceHUD

IceHUD

9M Downloads

TBC Classic Support

karai17 opened this issue ยท 11 comments

commented

Trying the latest release of IceHUD on the TBC Beta, IceHUD throws a number of errors and does not work. If you don't have access to the beta, I can post some error logs.

commented

I sure do love moving targets.

Yes, logs would be helpful. I don't know whether I have access to TBC or not...is it on the Classic PTR?

commented

If you'd like to hit me up on Discord (Karai17#3209) I could screen share and make local changes to the code

commented

I appreciate that. I will let you know if I need it. I've applied for TBC-Classic access through WoWInterface.

commented

You need to apply to the Beta, I gained access after a few days. There are 37 first-wave errors, many of which are the same:

Message: ...\IceHUD\libs\LibDogTag-Unit-3.0\Categories\Auras.lua:424: bad argument #2 to 'format' (string expected, got nil)
Time: Wed Apr 21 16:46:18 2021
Count: 1
Stack: ...\IceHUD\libs\LibDogTag-Unit-3.0\Categories\Auras.lua:424: bad argument #2 to 'format' (string expected, got nil)
[string "=[C]"]: in function `format'
[string "@Interface\AddOns\IceHUD\libs\LibDogTag-Unit-3.0\Categories\Auras.lua"]:424: in function `v'
[string "@Interface\AddOns\IceHUD\libs\LibDogTag-Unit-3.0\Cleanup.lua"]:42: in main chunk

Locals: (*temporary) = "HasAura(aura=%q, unit=unit) or HasAura(aura=%q, unit=unit) or HasAura(aura=%q, unit=unit)"
(*temporary) = "Stealth"
(*temporary) = nil
(*temporary) = "Prowl"
(*temporary) = "string expected, got nil"
Message: ...\IceHUD\libs\LibRangeCheck-2.0\LibRangeCheck-2.0.lua:1078: Attempt to register unknown event "PLAYER_TALENT_UPDATE"
Time: Wed Apr 21 16:46:18 2021
Count: 1
Stack: ...\IceHUD\libs\LibRangeCheck-2.0\LibRangeCheck-2.0.lua:1078: Attempt to register unknown event "PLAYER_TALENT_UPDATE"
[string "=[C]"]: in function `RegisterEvent'
[string "@Interface\AddOns\IceHUD\libs\LibRangeCheck-2.0\LibRangeCheck-2.0.lua"]:1078: in function `activate'
[string "@Interface\AddOns\IceHUD\libs\LibRangeCheck-2.0\LibRangeCheck-2.0.lua"]:1123: in main chunk

Locals: (*temporary) = <unnamed> {
 0 = <userdata>
}
(*temporary) = "PLAYER_TALENT_UPDATE"
Message: ...dOns\IceHUD\libs\LibDualSpec-1.0\LibDualSpec-1.0.lua:77: attempt to call global 'GetNumSpecializationsForClassID' (a nil value)
Time: Wed Apr 21 16:46:18 2021
Count: 1
Stack: ...dOns\IceHUD\libs\LibDualSpec-1.0\LibDualSpec-1.0.lua:77: attempt to call global 'GetNumSpecializationsForClassID' (a nil value)
[string "@Interface\AddOns\IceHUD\libs\LibDualSpec-1.0\LibDualSpec-1.0.lua"]:77: in main chunk

Locals: MAJOR = "LibDualSpec-1.0"
MINOR = 20
lib = <table> {
 registry = <table> {
 }
 options = <table> {
 }
 upgrades = <table> {
 }
 currentSpec = 0
 eventFrame = <unnamed> {
 }
 mixin = <table> {
 }
}
minor = nil
registry = <table> {
}
options = <table> {
}
mixin = <table> {
}
upgrades = <table> {
}
AceDB3 = <table> {
 db_registry = <table> {
 }
 frame = <unnamed> {
 }
 New = <function> defined @Interface\AddOns\IceHUD\libs\AceDB-3.0\AceDB-3.0.lua:709
}
AceDBOptions3 = <table> {
 optionTables = <table> {
 }
 handlers = <table> {
 }
 GetOptionsTable = <function> defined @Interface\AddOns\IceHUD\libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:442
}
AceConfigRegistry3 = <table> {
 RegisterOptionsTable = <function> defined @Interface\AddOns\IceHUD\libs\AceConfig-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:315
 validated = <table> {
 }
 tables = <table> {
 }
 callbacks = <table> {
 }
 RegisterCallback = <function> defined @Interface\AddOns\Bagnon\common\Wildpants\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:90
 GetOptionsTable = <function> defined @Interface\AddOns\IceHUD\libs\AceConfig-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:360
 UnregisterCallback = <function> defined @Interface\AddOns\Bagnon\common\Wildpants\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:153
 IterateOptionsTables = <function> defined @Interface\AddOns\IceHUD\libs\AceConfig-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:346
 NotifyChange = <function> defined @Interface\AddOns\IceHUD\libs\AceConfig-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:289
 ValidateOptionsTable = <function> defined @Interface\AddOns\IceHUD\libs\AceConfig-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:276
 UnregisterAllCallbacks = <function> defined @Interface\AddOns\Bagnon\common\Wildpants\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:174
}
_ = "Warrior"
_ = "WARRIOR"
classId = 1
(*temporary) = nil
(*temporary) = 1
(*temporary) = "attempt to call global 'GetNumSpecializationsForClassID' (a nil value)"
Message: Interface\AddOns\IceHUD\IceHUD.lua:327: CreateFrame(): Couldn't find inherited node "UIPanelButtonTemplate2"
Time: Wed Apr 21 16:46:18 2021
Count: 1
Stack: Interface\AddOns\IceHUD\IceHUD.lua:327: CreateFrame(): Couldn't find inherited node "UIPanelButtonTemplate2"
[string "=[C]"]: in function `CreateFrame'
[string "@Interface\AddOns\IceHUD\IceHUD.lua"]:327: in main chunk

Locals: (*temporary) = "BUTTON"
(*temporary) = "IceHUDOpenConfigButton"
(*temporary) = IceHUDConfigPanel {
 0 = <userdata>
 name = "IceHUD"
}
(*temporary) = "UIPanelButtonTemplate2"

The following error is in many places:

Message: Interface\AddOns\IceHUD\IceElement.lua:50: attempt to call method 'Register' (a nil value)
Time: Wed Apr 21 16:46:18 2021
Count: 1
Stack: Interface\AddOns\IceHUD\IceElement.lua:50: attempt to call method 'Register' (a nil value)
[string "@Interface\AddOns\IceHUD\IceElement.lua"]:50: in function `init'
[string "@Interface\AddOns\IceHUD\IceBarElement.lua"]:27: in function `init'
[string "@Interface\AddOns\IceHUD\IceUnitBar.lua"]:30: in function `init'
[string "@Interface\AddOns\IceHUD\modules\PlayerHealth.lua"]:16: in function `init'
[string "@Interface\AddOns\IceHUD\IceCore.lua"]:12: in function `new'
[string "@Interface\AddOns\IceHUD\modules\PlayerHealth.lua"]:1524: in main chunk

Locals: self = <table> {
 TimeLeft = <function> defined @Interface\AddOns\Details\Libs\AceTimer-3.0\AceTimer-3.0.lua:172
 scalingEnabled = false
 CancelAllTimers = <function> defined @Interface\AddOns\Details\Libs\AceTimer-3.0\AceTimer-3.0.lua:160
 elementName = "PlayerHealth"
 UnregisterMessage = <function> defined @Interface\AddOns\Bagnon\common\Wildpants\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:153
 alpha = 1
 ScheduleTimer = <function> defined @Interface\AddOns\Details\Libs\AceTimer-3.0\AceTimer-3.0.lua:94
 ScheduleRepeatingTimer = <function> defined @Interface\AddOns\Details\Libs\AceTimer-3.0\AceTimer-3.0.lua:129
 CancelTimer = <function> defined @Interface\AddOns\Details\Libs\AceTimer-3.0\AceTimer-3.0.lua:147
 UnregisterAllMessages = <function> defined @Interface\AddOns\Bagnon\common\Wildpants\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:174
 UnregisterAllEvents = <function> defined @Interface\AddOns\Bagnon\common\Wildpants\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:174
 RegisterMessage = <function> defined @Interface\AddOns\Bagnon\common\Wildpants\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:90
 SendMessage = <function> defined @Interface\AddOns\Bagnon\common\Wildpants\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:59
 UnregisterEvent = <function> defined @Interface\AddOns\Bagnon\common\Wildpants\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:153
 RegisterEvent = <function> defined @Interface\AddOns\Bagnon\common\Wildpants\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:90
}
name = "PlayerHealth"
skipRegister = nil
(*temporary) = nil
(*temporary) = <table> {
 WowClassic = false
 SetDefaultModuleLibraries = <function> defined @Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:367
 Enable = <function> defined @Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:294
 RegisterChatCommand = <function> defined @Interface\AddOns\IceHUD\libs\AceConsole-3.0\AceConsole-3.0.lua:85
 EnableModule = <function> defined @Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:332
 modules = <table> {
 }
 GetModule = <function> defined @Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:210
 IterateEmbeds = <function> defined @Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:442
 CurrTagVersion = 3
 defaultModuleLibraries = <table> {
 }
 UnregisterChatCommand = <function> defined @Interface\AddOns\IceHUD\libs\AceConsole-3.0\AceConsole-3.0.lua:111
 Printf = <function> defined @Interface\AddOns\IceHUD\libs\AceConsole-3.0\AceConsole-3.0.lua:69
 WowVer = 20501
 SetDefaultModulePrototype = <function> defined @Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:409
 debugging = false
 name = "IceHUD"
 IsEnabled = <function> defined @Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:451
 orderedModules = <table> {
 }
 DisableModule = <function> defined @Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:350
 GetArgs = <function> defined @Interface\AddOns\IceHUD\libs\AceConsole-3.0\AceConsole-3.0.lua:144
 Print = <function> defined @Interface\AddOns\IceHUD\libs\AceConsole-3.0\AceConsole-3.0.lua:54
 NotifyOptionsChange = <function> defined @Interface\AddOns\IceHUD\IceHUD.lua:255
 IsModule = <function> defined @Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.
Message: Interface\AddOns\IceHUD\IceHUD.lua:197: attempt to call method 'SetDebugging' (a nil value)
Time: Wed Apr 21 16:46:18 2021
Count: 1
Stack: Interface\AddOns\IceHUD\IceHUD.lua:197: attempt to call method 'SetDebugging' (a nil value)
[string "@Interface\AddOns\IceHUD\IceHUD.lua"]:197: in function <Interface\AddOns\IceHUD\IceHUD.lua:196>
[string "=[C]"]: ?
[string "@Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua"]:70: in function <...ce\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:65>
[string "@Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua"]:498: in function `InitializeAddon'
[string "@Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua"]:623: in function <...ce\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:615>

Locals: <none>
Message: Interface\AddOns\IceHUD\IceHUD.lua:263: attempt to index field 'IceCore' (a nil value)
Time: Wed Apr 21 16:46:20 2021
Count: 1
Stack: Interface\AddOns\IceHUD\IceHUD.lua:263: attempt to index field 'IceCore' (a nil value)
[string "@Interface\AddOns\IceHUD\IceHUD.lua"]:263: in function <Interface\AddOns\IceHUD\IceHUD.lua:261>
[string "=[C]"]: ?
[string "@Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua"]:70: in function <...ce\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:65>
[string "@Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua"]:527: in function `EnableAddon'
[string "@Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua"]:630: in function <...ce\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:615>

Locals: <none>
commented

Message: ...\IceHUD\libs\LibDogTag-Unit-3.0\Categories\Auras.lua:424: bad argument #2 to 'format' (string expected, got nil)

This is a LibDogTag-Unit-3.0 issue which can be logged here: https://github.com/parnic/LibDogTag-Unit-3.0. This is already trying to handle the Shadowmeld ability having a different ID in Classic, but it looks like it has yet another ID in TBC, which is just lovely.

Message: ...\IceHUD\libs\LibRangeCheck-2.0\LibRangeCheck-2.0.lua:1078: Attempt to register unknown event "PLAYER_TALENT_UPDATE"
Message: ...dOns\IceHUD\libs\LibDualSpec-1.0\LibDualSpec-1.0.lua:77: attempt to call global 'GetNumSpecializationsForClassID' (a nil value)

These are LibRangeCheck and LibDualSpec issues, respectively. Hopefully those authors will update for TBC-Classic. ๐Ÿคž

Message: Interface\AddOns\IceHUD\IceHUD.lua:327: CreateFrame(): Couldn't find inherited node "UIPanelButtonTemplate2"

This is definitely an IceHUD issue. It looks like WOW_PROJECT_ID was changed from WOW_PROJECT_CLASSIC to WOW_PROJECT_BURNING_CRUSADE_CLASSIC which addons will have to be updated for. Unfortunately IceHUD has a lot of handling for WOW_PROJECT_CLASSIC, so it's going to be a bit of a whack-a-mole problem.

I will probably need access to TBC-Classic to fix these.

commented

Any news on TBC support?

commented

Still waiting on my beta key. I'd welcome contributions to help fix it. :)

The LibDogTag errors should already be fixed.

commented

Just installed IceHUD 1.13.4 on the beta client and I am still getting one LibDogTag and LibRangeCheck error each. On top of those are 34 other errors, almost exclusively that "Register" error in the above posts~

Message: ...\IceHUD\libs\LibDogTag-Unit-3.0\Categories\Auras.lua:424: bad argument #2 to 'format' (string expected, got nil)
Time: Wed May  5 08:38:24 2021
Count: 1
Stack: ...\IceHUD\libs\LibDogTag-Unit-3.0\Categories\Auras.lua:424: bad argument #2 to 'format' (string expected, got nil)
[string "=[C]"]: in function `format'
[string "@Interface\AddOns\IceHUD\libs\LibDogTag-Unit-3.0\Categories\Auras.lua"]:424: in function `v'
[string "@Interface\AddOns\IceHUD\libs\LibDogTag-Unit-3.0\Cleanup.lua"]:42: in main chunk

Locals: (*temporary) = "HasAura(aura=%q, unit=unit) or HasAura(aura=%q, unit=unit) or HasAura(aura=%q, unit=unit)"
(*temporary) = "Stealth"
(*temporary) = nil
(*temporary) = "Prowl"
(*temporary) = "string expected, got nil"
Message: ...\IceHUD\libs\LibRangeCheck-2.0\LibRangeCheck-2.0.lua:1076: Attempt to register unknown event "PLAYER_TALENT_UPDATE"
Time: Wed May  5 08:38:24 2021
Count: 1
Stack: ...\IceHUD\libs\LibRangeCheck-2.0\LibRangeCheck-2.0.lua:1076: Attempt to register unknown event "PLAYER_TALENT_UPDATE"
[string "=[C]"]: in function `RegisterEvent'
[string "@Interface\AddOns\IceHUD\libs\LibRangeCheck-2.0\LibRangeCheck-2.0.lua"]:1076: in function `activate'
[string "@Interface\AddOns\IceHUD\libs\LibRangeCheck-2.0\LibRangeCheck-2.0.lua"]:1121: in main chunk

Locals: (*temporary) = <unnamed> {
 0 = <userdata>
}
(*temporary) = "PLAYER_TALENT_UPDATE"
commented

IceHUD.lua:328:

blizOptionsPanel.button = CreateFrame("BUTTON", "IceHUDOpenConfigButton", blizOptionsPanel, (IceHUD.WowVer >= 50000 or IceHUD.WowClassic or IceHUD.WowClassicBC) and "UIPanelButtonTemplate" or "UIPanelButtonTemplate2")

the above line fixed all of the IceHUD errors, leaving only the aforementioned two + the following LibAce issue:

Message: ...\common\Wildpants\libs\AceEvent-3.0\AceEvent-3.0.lua:33: Attempt to register unknown event "PARTY_MEMBERS_CHANGED"
Time: Wed May  5 08:56:07 2021
Count: 1
Stack: ...\common\Wildpants\libs\AceEvent-3.0\AceEvent-3.0.lua:33: Attempt to register unknown event "PARTY_MEMBERS_CHANGED"
[string "=[C]"]: in function `RegisterEvent'
[string "@Interface\AddOns\Bagnon\common\Wildpants\libs\AceEvent-3.0\AceEvent-3.0.lua"]:33: in function `OnUsed'
[string "@Interface\AddOns\Bagnon\common\Wildpants\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua"]:142: in function `RegisterEvent'
[string "@Interface\AddOns\IceHUD\modules\PlayerHealth.lua"]:87: in function `Enable'
[string "@Interface\AddOns\IceHUD\IceCore.lua"]:201: in function `Enable'
[string "@Interface\AddOns\IceHUD\IceHUD.lua"]:270: in function <Interface\AddOns\IceHUD\IceHUD.lua:262>
[string "=[C]"]: ?
[string "@Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua"]:70: in function <...ce\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:65>
[string "@Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua"]:527: in function `EnableAddon'
[string "@Interface\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua"]:630: in function <...ce\AddOns\Details\Libs\AceAddon-3.0\AceAddon-3.0.lua:615>

Locals: <none>

That being said, there are many places in the code where IceHUD.WowClassic needs to be updated to IceHUD.WowClassic or IceHUD.WowClassicBC and i am not familiar enough with the codebase to have intuition on which ones should be updated and which ones should not~

commented

FYI: TBC is now in open beta on the PTR~

commented

First round of compatibility changes is in the latest alpha (1.13.5-alpha1). I have only tested it very lightly, and then only with a Rogue. Please open new issues for specific problems going forward as I'm certain there are many.

LibRangeCheck, LibDogTag, etc. is outside the purview of this mod.