diff ObjectiveTracker/ObjectiveTracker.lua @ 44:756e8aeb040b

- Default.lua - simplified the response to SuperTrackedQuestID changes - tag icons work again
author Nenue
date Mon, 25 Apr 2016 19:37:13 -0400
parents 03ed70f846de
children dd1ae565f559
line wrap: on
line diff
--- a/ObjectiveTracker/ObjectiveTracker.lua	Mon Apr 25 13:51:58 2016 -0400
+++ b/ObjectiveTracker/ObjectiveTracker.lua	Mon Apr 25 19:37:13 2016 -0400
@@ -18,24 +18,24 @@
 local unitLevel = UnitLevel('player')
 
 --- Performance values
---[[
-  self:RegisterEvent("QUEST_LOG_UPDATE");
-	self:RegisterEvent("TRACKED_ACHIEVEMENT_LIST_CHANGED");
-	self:RegisterEvent("QUEST_WATCH_LIST_CHANGED");
-	self:RegisterEvent("QUEST_AUTOCOMPLETE");
-	self:RegisterEvent("QUEST_ACCEPTED");
-	self:RegisterEvent("SUPER_TRACKED_QUEST_CHANGED");
-	self:RegisterEvent("SCENARIO_UPDATE");
-	self:RegisterEvent("SCENARIO_CRITERIA_UPDATE");
-	self:RegisterEvent("TRACKED_ACHIEVEMENT_UPDATE");
-	self:RegisterEvent("ZONE_CHANGED_NEW_AREA");
-	self:RegisterEvent("ZONE_CHANGED");
-	self:RegisterEvent("QUEST_POI_UPDATE");
-	self:RegisterEvent("VARIABLES_LOADED");
-	self:RegisterEvent("QUEST_TURNED_IN");
-	self:RegisterEvent("PLAYER_MONEY");
- ]]
 
+--- Done once per ui load
+local BlizzHooks = {
+  'AcceptQuest',
+  'AddQuestWatch',
+  'RemoveQuestWatch',
+  'AbandonQuest',
+  'AcknowledgeAutoAcceptQuest',
+  'AddAutoQuestPopUp',
+  'RemoveAutoQuestPopUp',
+  'AddTrackedAchievement',
+  'RemoveTrackedAchievement',
+  'SetSuperTrackedQuestID',
+  'SelectQuestLogEntry',
+}
+local enabledOnly = {
+  ['AddQuestWatch'] = true,
+}
 
 --- These are the bitfields used by Blizzard_ObjectiveTracker to determine which segments get parsed.
 --- They are replicated here so that plugins can make use of any securehook args involving this info.
@@ -298,7 +298,7 @@
   return OBJECTIVE_TRACKER_UPDATE_ALL
 end
 Event.SUPER_TRACKED_QUEST_CHANGED = function(questID)
-  return OBJECTIVE_TRACKER_UPDATE_QUEST, questID
+  --return OBJECTIVE_TRACKER_UPDATE_QUEST, questID
 end
 Event.ZONE_CHANGED = function()
   local inMicroDungeon = IsPlayerInMicroDungeon();
@@ -363,20 +363,6 @@
 end
 T.Event = Event
 
---- Done once per ui load
-local BlizzHooks = {
-  ['AcceptQuest'] = 'AcceptQuest',
-  ['AddQuestWatch'] = 'AddQuestWatch',
-  ['RemoveQuestWatch'] = 'RemoveQuestWatch',
-  ['AbandonQuest'] = 'AbandonQuest',
-  ['AcknowledgeAutoAcceptQuest'] = 'AcknowledgeAutoAcceptQuest',
-  ['AddAutoQuestPopUp'] = 'AddAutoQuestPopUp',
-  ['RemoveAutoQuestPopUp'] = 'RemoveAutoQuestPopUp',
-  ['AddTrackedAchievement'] = 'AddTrackedAchievement',
-  ['RemoveTrackedAchievement'] = 'RemoveTrackedAchievement',
-  ['SetSuperTrackedQuestID'] = 'SetSuperTrackedQuestID',
-  ['SelectQuestLogEntry'] = 'SelectQuestLogEntry',
-}
 local VeneerData
 
 T.SetWatchMoney = function(watchMoney, reason)
@@ -507,13 +493,13 @@
   VeneerData.CallLog = VeneerData.CallLog or {}
   if not T.isHooked then
     T.isHooked = true
-    for blizzFunc, veneerFunc in pairs(BlizzHooks) do
-      if T[veneerFunc] then
-        hooksecurefunc(blizzFunc, function(...) return T.OnHookedFunc(blizzFunc, ...) end)
+    for _, func in ipairs(BlizzHooks) do
+      if T[func] then
+        hooksecurefunc(func, function(...) return T.OnHookedFunc(func, ...) end)
       else
-        hooksecurefunc(blizzFunc, function(...)
-          print('|cFFFF0088securehook('..tostring(blizzFunc)..')|r args:', ...)
-          tinsert(VeneerData.CallLog, {blizzFunc, ...})
+        hooksecurefunc(func, function(...)
+          print('|cFFFF0088securehook('..tostring(func)..')|r args:', ...)
+          tinsert(VeneerData.CallLog, {func, ...})
         end)
       end
     end