Mercurial > wow > ouroloot
comparison core.lua @ 90:92e0db376858
Some initial prep for MoP API transition. (Some of this can be removed post-MoP-release, but fewer changes will need to be made the day of.)
| author | Farmbuyer of US-Kilrogg <farmbuyer@gmail.com> |
|---|---|
| date | Sun, 01 Jul 2012 17:16:42 +0000 |
| parents | 939569ded66f |
| children | 01cfbfa96dd6 |
comparison
equal
deleted
inserted
replaced
| 89:939569ded66f | 90:92e0db376858 |
|---|---|
| 108 OuroLootSV_hist = nil | 108 OuroLootSV_hist = nil |
| 109 OuroLootSV_log = {} | 109 OuroLootSV_log = {} |
| 110 | 110 |
| 111 | 111 |
| 112 ------ Constants | 112 ------ Constants |
| 113 local RAID_ROSTER_UPDATE_EVENT = | |
| 114 (select(4,GetBuildInfo()) >= 50000) and 'GROUP_ROSTER_UPDATE' or 'RAID_ROSTER_UPDATE' | |
| 113 local option_defaults = { | 115 local option_defaults = { |
| 114 ['datarev'] = 20, -- cheating, this isn't actually an option | 116 ['datarev'] = 20, -- cheating, this isn't actually an option |
| 115 ['popup_on_join'] = true, | 117 ['popup_on_join'] = true, |
| 116 ['register_slashloot'] = true, | 118 ['register_slashloot'] = true, |
| 117 ['scroll_to_bottom'] = true, | 119 ['scroll_to_bottom'] = true, |
| 375 local tostring = _G.tostring | 377 local tostring = _G.tostring |
| 376 local tonumber = _G.tonumber | 378 local tonumber = _G.tonumber |
| 377 local wipe = _G.table.wipe | 379 local wipe = _G.table.wipe |
| 378 | 380 |
| 379 local pprint, tabledump = addon.pprint, flib.tabledump | 381 local pprint, tabledump = addon.pprint, flib.tabledump |
| 380 local CopyTable, GetNumRaidMembers = _G.CopyTable, _G.GetNumRaidMembers | 382 local CopyTable = _G.CopyTable |
| 383 local GetNumRaidMembers = _G.GetNumGroupMembers or _G.GetNumRaidMembers | |
| 381 -- En masse forward decls of symbols defined inside local blocks | 384 -- En masse forward decls of symbols defined inside local blocks |
| 382 local _register_bossmod, makedate, create_new_cache, _init, _log | 385 local _register_bossmod, makedate, create_new_cache, _init, _log |
| 383 local _history_by_loot_id, _setup_unique_replace, _unavoidable_collision | 386 local _history_by_loot_id, _setup_unique_replace, _unavoidable_collision |
| 384 local _notify_about_change, _notify_about_remote | 387 local _notify_about_change, _notify_about_remote |
| 385 | 388 |
| 881 self.OnInitialize = nil -- free up ALL the things! | 884 self.OnInitialize = nil -- free up ALL the things! |
| 882 end | 885 end |
| 883 | 886 |
| 884 function addon:OnEnable() | 887 function addon:OnEnable() |
| 885 self:RegisterEvent("PLAYER_LOGOUT") | 888 self:RegisterEvent("PLAYER_LOGOUT") |
| 886 self:RegisterEvent("RAID_ROSTER_UPDATE") | 889 self:RegisterEvent(RAID_ROSTER_UPDATE_EVENT,"RAID_ROSTER_UPDATE") |
| 887 | 890 |
| 888 -- Cribbed from Talented. I like the way jerry thinks: the first string | 891 -- Cribbed from Talented. I like the way jerry thinks: the first string |
| 889 -- argument can be a format spec for the remainder of the arguments. | 892 -- argument can be a format spec for the remainder of the arguments. |
| 890 -- AceConsole:Printf isn't used because we can't specify a prefix without | 893 -- AceConsole:Printf isn't used because we can't specify a prefix without |
| 891 -- jumping through ridonkulous hoops. The part about overriding :Print | 894 -- jumping through ridonkulous hoops. The part about overriding :Print |
| 1086 _G.OuroLootSV_hist = nil | 1089 _G.OuroLootSV_hist = nil |
| 1087 _G.OuroLootSV_log = nil | 1090 _G.OuroLootSV_log = nil |
| 1088 _G.ReloadUI() | 1091 _G.ReloadUI() |
| 1089 end | 1092 end |
| 1090 function addon:PLAYER_LOGOUT() | 1093 function addon:PLAYER_LOGOUT() |
| 1091 self:UnregisterEvent("RAID_ROSTER_UPDATE") | 1094 self:UnregisterEvent(RAID_ROSTER_UPDATE_EVENT) |
| 1092 self:UnregisterEvent("PLAYER_ENTERING_WORLD") | 1095 self:UnregisterEvent("PLAYER_ENTERING_WORLD") |
| 1093 | 1096 |
| 1094 local worth_saving = #g_loot > 0 or _G.next(g_loot.raiders) | 1097 local worth_saving = #g_loot > 0 or _G.next(g_loot.raiders) |
| 1095 if not worth_saving then for text in self:registered_textgen_iter() do | 1098 if not worth_saving then for text in self:registered_textgen_iter() do |
| 1096 worth_saving = worth_saving or g_loot.printed[text] > 0 | 1099 worth_saving = worth_saving or g_loot.printed[text] > 0 |
| 1235 if event == "Activate" then | 1238 if event == "Activate" then |
| 1236 -- dispatched manually from Activate | 1239 -- dispatched manually from Activate |
| 1237 self:RegisterEvent("CHAT_MSG_LOOT") | 1240 self:RegisterEvent("CHAT_MSG_LOOT") |
| 1238 _register_bossmod(self) | 1241 _register_bossmod(self) |
| 1239 docheck = true | 1242 docheck = true |
| 1240 elseif event == "RAID_ROSTER_UPDATE" then | 1243 elseif event == RAID_ROSTER_UPDATE_EVENT then |
| 1241 -- hot code path, be careful | 1244 -- hot code path, be careful |
| 1242 | 1245 |
| 1243 -- event registration from onload, joined a raid, maybe show popup | 1246 -- event registration from onload, joined a raid, maybe show popup |
| 1244 self.dprint('flow', "RRU check:", self.popped, opts.popup_on_join) | 1247 self.dprint('flow', "RRU check:", self.popped, opts.popup_on_join) |
| 1245 if (not self.popped) and opts.popup_on_join then | 1248 if (not self.popped) and opts.popup_on_join then |
| 1704 | 1707 |
| 1705 ------ On/off | 1708 ------ On/off |
| 1706 -- Both of these need to be (effectively) idempotent. | 1709 -- Both of these need to be (effectively) idempotent. |
| 1707 function addon:Activate (opt_threshold, opt_bcast_only) | 1710 function addon:Activate (opt_threshold, opt_bcast_only) |
| 1708 self.dprint('flow', ":Activate is running") | 1711 self.dprint('flow', ":Activate is running") |
| 1709 self:RegisterEvent("RAID_ROSTER_UPDATE") | 1712 self:RegisterEvent(RAID_ROSTER_UPDATE_EVENT,"RAID_ROSTER_UPDATE") |
| 1710 self:RegisterEvent("PLAYER_ENTERING_WORLD", | 1713 self:RegisterEvent("PLAYER_ENTERING_WORLD", |
| 1711 function() self:ScheduleTimer("RAID_ROSTER_UPDATE", 5, "PLAYER_ENTERING_WORLD") end) | 1714 function() self:ScheduleTimer("RAID_ROSTER_UPDATE", 5, "PLAYER_ENTERING_WORLD") end) |
| 1712 self.popped = true | 1715 self.popped = true |
| 1713 if GetNumRaidMembers() > 0 then | 1716 if GetNumRaidMembers() > 0 then |
| 1714 self.dprint('flow', ">:Activate calling RRU") | 1717 self.dprint('flow', ">:Activate calling RRU") |
| 1746 -- Note: running '/loot off' will also avoid the popup reminder when | 1749 -- Note: running '/loot off' will also avoid the popup reminder when |
| 1747 -- joining a raid, but will not change the saved option setting. | 1750 -- joining a raid, but will not change the saved option setting. |
| 1748 function addon:Deactivate() | 1751 function addon:Deactivate() |
| 1749 self.enabled = false | 1752 self.enabled = false |
| 1750 self.rebroadcast = false | 1753 self.rebroadcast = false |
| 1751 self:UnregisterEvent("RAID_ROSTER_UPDATE") | 1754 self:UnregisterEvent(RAID_ROSTER_UPDATE_EVENT) |
| 1752 self:UnregisterEvent("PLAYER_ENTERING_WORLD") | 1755 self:UnregisterEvent("PLAYER_ENTERING_WORLD") |
| 1753 self:UnregisterEvent("CHAT_MSG_LOOT") | 1756 self:UnregisterEvent("CHAT_MSG_LOOT") |
| 1754 self:Print("Deactivated.") | 1757 self:Print("Deactivated.") |
| 1755 end | 1758 end |
| 1756 | 1759 |
