fix: defer UnitClass + guard InterfaceOptions for CoA; port Textures/*.tga to BLP (raw3)
release / release (push) Successful in 3s
release / release (push) Successful in 3s
This commit is contained in:
+4
-1
@@ -1801,8 +1801,11 @@ function PawnInterfaceOptionsFrame_OnLoad()
|
||||
-- NOTE: If you need anything from PawnCommon in the future, you should call PawnInitializeOptions first.
|
||||
|
||||
-- Register the Interface Options page.
|
||||
-- CoA/3.3.5a: InterfaceOptions_AddCategory is a retail-only global; guard it.
|
||||
PawnInterfaceOptionsFrame.name = "Pawn"
|
||||
InterfaceOptions_AddCategory(PawnInterfaceOptionsFrame)
|
||||
if InterfaceOptions_AddCategory then
|
||||
InterfaceOptions_AddCategory(PawnInterfaceOptionsFrame)
|
||||
end
|
||||
-- Update the version display.
|
||||
local Version = GetAddOnMetadata("Pawn", "Version")
|
||||
if Version then
|
||||
|
||||
+2
-1
@@ -1405,7 +1405,8 @@
|
||||
<Anchors><Anchor point="TOPLEFT"><Offset><AbsDimension x="40" y="-155" /></Offset></Anchor></Anchors>
|
||||
<Scripts>
|
||||
<OnClick>
|
||||
InterfaceOptionsFrameOkay_OnClick()
|
||||
-- CoA/3.3.5a: InterfaceOptionsFrameOkay_OnClick is retail-only; guard it.
|
||||
if InterfaceOptionsFrameOkay_OnClick then InterfaceOptionsFrameOkay_OnClick() end
|
||||
HideUIPanel(GameMenuFrame)
|
||||
PawnUIShow()
|
||||
</OnClick>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+57
-52
@@ -420,62 +420,67 @@ PawnAddPluginScale(
|
||||
if not PawnWowheadScaleProviderOptions then PawnWowheadScaleProviderOptions = { } end
|
||||
if not PawnWowheadScaleProviderOptions.LastAdded then PawnWowheadScaleProviderOptions.LastAdded = 0 end
|
||||
|
||||
local _, Class = UnitClass("player")
|
||||
if PawnWowheadScaleProviderOptions.LastAdded < 1 then
|
||||
-- Enable round one of scales based on the player's class.
|
||||
if Class == "WARRIOR" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "WarriorFury"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "WarriorTank"), true)
|
||||
elseif Class == "PALADIN" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "PaladinHoly"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "PaladinTank"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "PaladinRetribution"), true)
|
||||
elseif Class == "HUNTER" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "HunterBeastMastery"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "HunterMarksman"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "HunterSurvival"), true)
|
||||
elseif Class == "ROGUE" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "RogueAssassination"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "RogueCombat"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "RogueSubtlety"), true)
|
||||
elseif Class == "PRIEST" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "PriestDiscipline"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "PriestHoly"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "PriestShadow"), true)
|
||||
elseif Class == "DEATHKNIGHT" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DeathKnightBloodDps"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DeathKnightBloodTank"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DeathKnightFrostDps"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DeathKnightFrostTank"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DeathKnightUnholyDps"), true)
|
||||
elseif Class == "SHAMAN" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "ShamanElemental"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "ShamanEnhancement"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "ShamanRestoration"), true)
|
||||
elseif Class == "MAGE" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "MageArcane"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "MageFire"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "MageFrost"), true)
|
||||
elseif Class == "WARLOCK" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "WarlockAffliction"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "WarlockDemonology"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "WarlockDestruction"), true)
|
||||
elseif Class == "DRUID" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DruidBalance"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DruidFeralDps"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DruidFeralTank"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DruidRestoration"), true)
|
||||
-- CoA/3.3.5a: UnitClass("player") returns nil at file-load and even at VARIABLES_LOADED on this client.
|
||||
-- Defer the class-based auto-enable one frame so the unit is fully initialised.
|
||||
local _PawnWowheadLastAdded = PawnWowheadScaleProviderOptions.LastAdded
|
||||
C_Timer.After(0, function()
|
||||
local _, Class = UnitClass("player")
|
||||
if _PawnWowheadLastAdded < 1 then
|
||||
-- Enable round one of scales based on the player's class.
|
||||
if Class == "WARRIOR" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "WarriorFury"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "WarriorTank"), true)
|
||||
elseif Class == "PALADIN" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "PaladinHoly"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "PaladinTank"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "PaladinRetribution"), true)
|
||||
elseif Class == "HUNTER" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "HunterBeastMastery"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "HunterMarksman"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "HunterSurvival"), true)
|
||||
elseif Class == "ROGUE" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "RogueAssassination"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "RogueCombat"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "RogueSubtlety"), true)
|
||||
elseif Class == "PRIEST" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "PriestDiscipline"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "PriestHoly"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "PriestShadow"), true)
|
||||
elseif Class == "DEATHKNIGHT" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DeathKnightBloodDps"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DeathKnightBloodTank"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DeathKnightFrostDps"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DeathKnightFrostTank"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DeathKnightUnholyDps"), true)
|
||||
elseif Class == "SHAMAN" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "ShamanElemental"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "ShamanEnhancement"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "ShamanRestoration"), true)
|
||||
elseif Class == "MAGE" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "MageArcane"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "MageFire"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "MageFrost"), true)
|
||||
elseif Class == "WARLOCK" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "WarlockAffliction"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "WarlockDemonology"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "WarlockDestruction"), true)
|
||||
elseif Class == "DRUID" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DruidBalance"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DruidFeralDps"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DruidFeralTank"), true)
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "DruidRestoration"), true)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if PawnWowheadScaleProviderOptions.LastAdded < 2 then
|
||||
if Class == "WARRIOR" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "WarriorArms"), true)
|
||||
if _PawnWowheadLastAdded < 2 then
|
||||
if Class == "WARRIOR" then
|
||||
PawnSetScaleVisible(PawnGetProviderScaleName(ScaleProviderName, "WarriorArms"), true)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Don't reenable those scales again after the user has disabled them previously.
|
||||
PawnWowheadScaleProviderOptions.LastAdded = 2
|
||||
-- Don't reenable those scales again after the user has disabled them previously.
|
||||
PawnWowheadScaleProviderOptions.LastAdded = 2
|
||||
end)
|
||||
|
||||
-- After this function terminates there's no need for it anymore, so cause it to self-destruct to save memory.
|
||||
PawnWowheadScaleProvider_AddScales = nil
|
||||
|
||||
Reference in New Issue
Block a user