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