comparison core.lua @ 92:01cfbfa96dd6

Last bits of cleanup and testing.
author Farmbuyer of US-Kilrogg <farmbuyer@gmail.com>
date Tue, 17 Jul 2012 03:24:36 +0000
parents 92e0db376858
children ea20a28327b5
comparison
equal deleted inserted replaced
91:2ef80188a547 92:01cfbfa96dd6
325 -- Class color support. Do the expensive string.format calls up front, and 325 -- Class color support. Do the expensive string.format calls up front, and
326 -- the cheap all-string-all-at-once single-op concatenation as needed. 326 -- the cheap all-string-all-at-once single-op concatenation as needed.
327 do 327 do
328 local cc = {} 328 local cc = {}
329 local function extract (color_info) 329 local function extract (color_info)
330 local r = _G.math.floor(255*color_info.r+0.5) 330 local hex = ("|cff%.2x%.2x%.2x"):format(255*color_info.r,
331 local g = _G.math.floor(255*color_info.g+0.5) 331 255*color_info.g, 255*color_info.b)
332 local b = _G.math.floor(255*color_info.b+0.5) 332 return { r=color_info.r, g=color_info.g, b=color_info.b, a=1, hex=hex }
333 local hex = ("|cff%.2x%.2x%.2x"):format(r,g,b)
334 return { r=r, g=g, b=b, a=1, hex=hex }
335 end 333 end
336 local function fill_out_class_colors() 334 local function fill_out_class_colors()
337 for class,color in pairs(CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS) do 335 for class,color in pairs(CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS) do
338 cc[class] = extract(color) 336 cc[class] = extract(color)
339 end 337 end
1939 else 1937 else
1940 self.dprint('comm', "ours is older, (possibly) yammering") 1938 self.dprint('comm', "ours is older, (possibly) yammering")
1941 if newer_warning then 1939 if newer_warning then
1942 local pop = addon.format_hypertext ([[click here]], ITEM_QUALITY_UNCOMMON, 1940 local pop = addon.format_hypertext ([[click here]], ITEM_QUALITY_UNCOMMON,
1943 function() 1941 function()
1944 -- Sadly, this is not generated by the packager, so hardcode it for now. 1942 -- Sadly, this is not generated by the packager, so hardcode it
1945 -- The 'data' field is handled differently for onshow than for other callbacks. 1943 -- for now. The 'data' field is handled differently for onshow
1946 StaticPopup_Show("OUROL_URL", --[[text_arg1=]]nil, --[[text_arg2=]]nil, 1944 -- than for other callbacks.
1945 StaticPopup_Show("OUROL_URL",
1946 --[[text_arg1=]]nil, --[[text_arg2=]]nil,
1947 --[[data=]][[http://www.curse.com/addons/wow/ouroloot]]) 1947 --[[data=]][[http://www.curse.com/addons/wow/ouroloot]])
1948 end) 1948 end)
1949 local ping = addon.format_hypertext ([[click here]], ITEM_QUALITY_UNCOMMON, 'DoPing') 1949 local ping = addon.format_hypertext ([[click here]], ITEM_QUALITY_UNCOMMON, 'DoPing')
1950 self:Print(newer_warning, tostring(pop), tostring(ping)) 1950 self:Print(newer_warning, tostring(pop), tostring(ping))
1951 newer_warning = nil 1951 newer_warning = nil
2489 >g_loot and history already has the replacement value 2489 >g_loot and history already has the replacement value
2490 B: winner was generated remotely 2490 B: winner was generated remotely
2491 >need to scan and replace 2491 >need to scan and replace
2492 Detecting A is strictly an optimization. We should be able to do 2492 Detecting A is strictly an optimization. We should be able to do
2493 this code safely in all cases. Important to note: a local winner 2493 this code safely in all cases. Important to note: a local winner
2494 will always be at index 1, but a winner at index 1 does not necessarily 2494 will always be at index 1, but a winner at index 1 does not
2495 mean it was locally generated (e.g., if the local itemfilter drops 2495 necessarily mean it was locally generated (e.g., if the local
2496 it but a remote player does an improv). Just do the general case 2496 itemfilter drops it but a remote player does an improv). Just
2497 until/unless this becomes a problem. 2497 do the general case until/unless this becomes a problem.
2498 ]] 2498 ]]
2499 --XXX this branch still needs to be tested with live data
2500 local cache = g_uniques:SEARCH(exist) 2499 local cache = g_uniques:SEARCH(exist)
2501 local looti,hi,ui = cache.loot, cache.history, cache.history_may 2500 local looti,hi,ui = cache.loot, cache.history, cache.history_may
2502 2501
2503 -- Active loot 2502 -- Active loot
2504 if looti and g_loot[looti].unique == exist then 2503 if looti and g_loot[looti].unique == exist then
2654 local s = self:check_saved_table(); if not s then return end 2653 local s = self:check_saved_table(); if not s then return end
2655 if (not num) or (num > #s) then 2654 if (not num) or (num > #s) then
2656 return self:Print("Saved text number must be 1 - "..#s) 2655 return self:Print("Saved text number must be 1 - "..#s)
2657 end 2656 end
2658 local save = s[num] 2657 local save = s[num]
2659 self:Print("Overwriting current loot data with saved text #%d '%s'", num, save.name) 2658 self:Print("Overwriting current loot data with saved text #%d '%s'",num,save.name)
2660 self:Clear(--[[verbose_p=]]false) 2659 self:Clear(--[[verbose_p=]]false)
2661 -- Clear will already have displayed the window, and re-selected the first 2660 -- Clear will already have displayed the window, and re-selected the first
2662 -- tab. Set these up for when the text tabs are clicked. 2661 -- tab. Set these up for when the text tabs are clicked.
2663 for text in self:registered_textgen_iter() do 2662 for text in self:registered_textgen_iter() do
2664 g_loot[text] = save[text] 2663 g_loot[text] = save[text]