Quantcast

Moved override function to common space

Alar of Daggerspine [07-05-15 - 22:17]
Moved override function to common space

Signed-off-by: Alar of Daggerspine <alar@aspide.it>
Filename
GarrisonCommander.lua
Init.lua
diff --git a/GarrisonCommander.lua b/GarrisonCommander.lua
index 7f3e58d..b148f58 100644
--- a/GarrisonCommander.lua
+++ b/GarrisonCommander.lua
@@ -24,8 +24,8 @@ local minHeight
 local addon=addon --#self
 ns.bigscreen=true
 -- Blizzard functions override support
-local orig={} --#originals
-local over={} --#overridden
+local orig=orig --#originals
+local over=over --#overridden
 local backdrop = {
 		--bgFile="Interface\\TutorialFrame\\TutorialFrameBackground",
 		bgFile="Interface\\DialogFrame\\UI-DialogBox-Background-Dark",
@@ -1643,14 +1643,13 @@ function addon:SetUp(...)
 	bt:SetText(L["Garrison Comander Quick Mission Completion"])
 	bt:SetPoint("CENTER",0,-50)
 	addon:ActivateButton(bt,"MissionComplete",L["Complete all missions without confirmation"])
-
-
+	bt.missionType=LE_FOLLOWER_TYPE_GARRISON_6_0
 	return self:StartUp()
 	--collectgarbage("step",10)
 --/Interface/FriendsFrame/UI-Toast-FriendOnlineIcon
 end
-function addon:MissionComplete()
-	return self:GetModule("MissionCompletion"):MissionComplete()
+function addon:MissionComplete(...)
+	return self:GetModule("MissionCompletion"):MissionComplete(...)
 end
 function addon:AddMenu()
 	local menu,size=self:CreateOptionsLayer(MP and 'CKMP' or nil,'BIGSCREEN','IGM','IGP','NOFILL','MSORT','MAXRES','USEFUL')
@@ -2099,7 +2098,10 @@ function addon:RenderFollowerButton(frame,followerID,missionID,b,t)
 		frame.PortraitFrame.LevelBorder:SetWidth(58);
 		showItemLevel = false;
 	end
-	GarrisonMissionFrame_SetFollowerPortrait(frame.PortraitFrame, info, false);
+	local rc,message= pcall(GarrisonMissionFrame_SetFollowerPortrait,frame.PortraitFrame, info, false);
+--@debug@
+	if not rc then print(message) end
+--@end-debug@
 	-- Counters icon
 	if (frame.Name and frame.Threats) then
 		if (missionID and not GMFMissions.showInProgress) then
@@ -2371,19 +2373,6 @@ end
 addon.SetUp=addon.ExperimentalSetUp
 --]]

-
--- Blizzard functions override
-local function override(blizfunc,...)
-	local overrider=blizfunc
-	if select('#',...) > 0 then
-		blizfunc=strjoin('.',blizfunc,...)
-		overrider=strjoin('_',overrider,...)
-	end
-	assert(type(over[overrider])=="function",overrider)
-	if (orig[overrider]) then return end
-	local code="local orig,over,overrider=... orig[overrider]=_G."..blizfunc.." _G."..blizfunc.."=over[overrider]"
-	assert(loadstring(code, "Executing " ..code))(orig,over,overrider)
-end
 function over.StolenGarrisonMissionPageFollowerFrame_OnEnter(self)
 	if not self.info then
 		return;
@@ -2457,11 +2446,7 @@ function over.GarrisonMissionFrame_SetFollowerPortrait(portraitFrame, followerIn
 end

 function over.GarrisonMissionPage_Close(self)
-	if ns.toc < 60200 then
-		GarrisonMissionPage_ClearParty()
-	else
-		GMF:ClearParty()
-	end
+	GMF:ClearParty()
 	GarrisonMissionFrame.MissionTab.MissionPage:Hide();
 	GarrisonMissionFrame.followerCounters = nil;
 	GarrisonMissionFrame.MissionTab.MissionPage.missionInfo = nil;
@@ -3028,10 +3013,6 @@ override("GarrisonMissionPageFollowerFrame_OnEnter")
 override("GarrisonMissionList_SetTab")
 override("GarrisonMissionButton_OnClick")
 override("GarrisonMissionFrame","SelectTab")
-if (ns.toc < 60200) then
-	override("GarrisonMissionFrame_SelectTab")
-end
-
 GMF.MissionTab.MissionPage.CloseButton:SetScript("OnClick",over.GarrisonMissionPage_Close)
 for i=1,#GMFMissionListButtons do
 	local b=GMFMissionListButtons[i]
diff --git a/Init.lua b/Init.lua
index a72bd99..52141e3 100644
--- a/Init.lua
+++ b/Init.lua
@@ -39,7 +39,8 @@ if not ns.GMF then
 end
 if not ns.GMF then error("GarrisonCommander is being loaded before Blizzard_GarrisonUI is available") end
 ns.GMFMissions=_G.GarrisonMissionFrameMissions
-ns.GSF=_G.GarrisonShipFrame
+ns.GSF=_G.GarrisonShipyardFrame
+ns.GSFMissions=_G.GarrisonShipyardFrame.MissionTab.MissionList
 _G.GARRISON_FOLLOWER_MAX_ITEM_LEVEL = _G.GARRISON_FOLLOWER_MAX_ITEM_LEVEL or 675
 do
 	--@debug@
@@ -61,7 +62,7 @@ do
 			return {}
 		end
 	end
-	function ns.copy(t)
+	function ns.tCopy(t)
 		local c = ns.new()
 		for k, v in pairs(t) do
 			c[k] = v
@@ -105,6 +106,23 @@ function ns.type(value)
 	else return type(value)
 	end
 end
+ns.orig={}
+ns.over={}
+local orig=ns.orig
+local over=ns.over
+-- Blizzard functions override
+function ns.override(blizfunc,...)
+	local overrider=blizfunc
+	if select('#',...) > 0 then
+		blizfunc=strjoin('.',blizfunc,...)
+		overrider=strjoin('_',overrider,...)
+	end
+	assert(type(over[overrider])=="function",overrider)
+	if (orig[overrider]) then return end
+	local code="local orig,over,overrider=... orig[overrider]=_G."..blizfunc.." _G."..blizfunc.."=over[overrider]"
+	assert(loadstring(code, "Executing " ..code))(orig,over,overrider)
+end
+
 local stacklevel=0
 local frames
 function ns.holdEvents()