changeset 16:8a18dd9f2cec

Caching support...
author Aaron@Aaron-PC
date Sun, 15 Aug 2010 17:59:03 -0500
parents 38822958c28a
children 22686cb65c51
files alliance.lua core.lua horde.lua
diffstat 3 files changed, 340 insertions(+), 323 deletions(-) [+]
line wrap: on
line diff
--- a/alliance.lua	Fri Aug 13 14:39:36 2010 -0500
+++ b/alliance.lua	Sun Aug 15 17:59:03 2010 -0500
@@ -1,16 +1,3 @@
---[[--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))
-
-    RecipeProfit by -[@project-author@]-
-    
-    Rev:     @project-revision@
-    Updated: @file-date-iso@
-    
---))--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))
-    
-    http://www.wrathguides.com/
-    
---]]--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))--))
-
 RECIPEPROFIT_alliance = {
 
     [   1] = {
@@ -1158,8 +1145,8 @@
     },
         
     [ 105] = {
-        x           =  54.20,
-        y           =  33.70,
+        x           =  54.60,
+        y           =  34.10,
         itementry   =   5772,
         entry       =   3537,
         map         = 'Hillsbrad Foothills',
@@ -1169,8 +1156,8 @@
     },
         
     [ 106] = {
-        x           =  54.20,
-        y           =  33.70,
+        x           =  54.60,
+        y           =  34.10,
         itementry   =   6377,
         entry       =   3537,
         map         = 'Hillsbrad Foothills',
@@ -1180,8 +1167,8 @@
     },
         
     [ 107] = {
-        x           =  54.20,
-        y           =  33.70,
+        x           =  54.60,
+        y           =  34.10,
         itementry   =   7362,
         entry       =   3537,
         map         = 'Hillsbrad Foothills',
@@ -1191,8 +1178,8 @@
     },
         
     [ 108] = {
-        x           =  54.20,
-        y           =  33.70,
+        x           =  54.60,
+        y           =  34.10,
         itementry   =   7561,
         entry       =   3537,
         map         = 'Hillsbrad Foothills',
@@ -1301,8 +1288,8 @@
     },
         
     [ 118] = {
-        x           =  64.00,
-        y           =  22.50,
+        x           =  64.30,
+        y           =  21.70,
         itementry   =   6272,
         entry       =   4168,
         map         = 'Darnassus',
@@ -1312,8 +1299,8 @@
     },
         
     [ 119] = {
-        x           =  64.00,
-        y           =  22.50,
+        x           =  64.30,
+        y           =  21.70,
         itementry   =   6275,
         entry       =   4168,
         map         = 'Darnassus',
@@ -1323,8 +1310,8 @@
     },
         
     [ 120] = {
-        x           =  64.00,
-        y           =  22.50,
+        x           =  64.30,
+        y           =  21.70,
         itementry   =  10311,
         entry       =   4168,
         map         = 'Darnassus',
@@ -1400,8 +1387,8 @@
     },
         
     [ 127] = {
-        x           =  47.70,
-        y           =  21.90,
+        x           =  48.10,
+        y           =  21.40,
         itementry   =  21099,
         entry       =   4223,
         map         = 'Darnassus',
@@ -1411,8 +1398,8 @@
     },
         
     [ 128] = {
-        x           =  47.70,
-        y           =  21.90,
+        x           =  48.10,
+        y           =  21.40,
         itementry   =  21219,
         entry       =   4223,
         map         = 'Darnassus',
@@ -1422,8 +1409,8 @@
     },
         
     [ 129] = {
-        x           =  63.30,
-        y           =  22.70,
+        x           =  63.50,
+        y           =  22.50,
         itementry   =   7451,
         entry       =   4225,
         map         = 'Darnassus',
@@ -1433,8 +1420,8 @@
     },
         
     [ 130] = {
-        x           =  63.30,
-        y           =  22.70,
+        x           =  63.50,
+        y           =  22.50,
         itementry   =  18949,
         entry       =   4225,
         map         = 'Darnassus',
@@ -1444,8 +1431,8 @@
     },
         
     [ 131] = {
-        x           =  55.90,
-        y           =  25.60,
+        x           =  55.40,
+        y           =  24.50,
         itementry   =   5642,
         entry       =   4226,
         map         = 'Darnassus',
@@ -1455,8 +1442,8 @@
     },
         
     [ 132] = {
-        x           =  55.90,
-        y           =  25.60,
+        x           =  55.40,
+        y           =  24.50,
         itementry   =   5643,
         entry       =   4226,
         map         = 'Darnassus',
@@ -1466,8 +1453,8 @@
     },
         
     [ 133] = {
-        x           =  55.90,
-        y           =  25.60,
+        x           =  55.40,
+        y           =  24.50,
         itementry   =  13477,
         entry       =   4226,
         map         = 'Darnassus',
@@ -1477,8 +1464,8 @@
     },
         
     [ 134] = {
-        x           =  58.30,
-        y           =  15.70,
+        x           =  58.60,
+        y           =  14.50,
         itementry   =   6342,
         entry       =   4228,
         map         = 'Darnassus',
@@ -1488,8 +1475,8 @@
     },
         
     [ 135] = {
-        x           =  61.40,
-        y           =  18.90,
+        x           =  61.00,
+        y           =  17.90,
         itementry   =  11223,
         entry       =   4229,
         map         = 'Darnassus',
@@ -1499,8 +1486,8 @@
     },
         
     [ 136] = {
-        x           =  61.40,
-        y           =  18.90,
+        x           =  61.00,
+        y           =  17.90,
         itementry   =  20854,
         entry       =   4229,
         map         = 'Darnassus',
@@ -1774,8 +1761,8 @@
     },
         
     [ 161] = {
-        x           =  47.60,
-        y           =  07.50,
+        x           =  47.90,
+        y           =  06.30,
         itementry   =   6326,
         entry       =   5162,
         map         = 'Ironforge',
@@ -1785,8 +1772,8 @@
     },
         
     [ 162] = {
-        x           =  47.60,
-        y           =  07.50,
+        x           =  47.90,
+        y           =  06.30,
         itementry   =   6328,
         entry       =   5162,
         map         = 'Ironforge',
@@ -1796,8 +1783,8 @@
     },
         
     [ 163] = {
-        x           =  47.60,
-        y           =  07.50,
+        x           =  47.90,
+        y           =  06.30,
         itementry   =   6369,
         entry       =   5162,
         map         = 'Ironforge',
@@ -1807,8 +1794,8 @@
     },
         
     [ 164] = {
-        x           =  47.60,
-        y           =  07.50,
+        x           =  47.90,
+        y           =  06.30,
         itementry   =  17062,
         entry       =   5162,
         map         = 'Ironforge',
@@ -1818,8 +1805,8 @@
     },
         
     [ 165] = {
-        x           =  46.50,
-        y           =  27.20,
+        x           =  46.40,
+        y           =  27.80,
         itementry   =  20975,
         entry       =   5163,
         map         = 'Ironforge',
@@ -1829,8 +1816,8 @@
     },
         
     [ 166] = {
-        x           =  46.50,
-        y           =  27.20,
+        x           =  46.40,
+        y           =  27.80,
         itementry   =  21948,
         entry       =   5163,
         map         = 'Ironforge',
@@ -1862,8 +1849,8 @@
     },
         
     [ 169] = {
-        x           =  66.40,
-        y           =  54.70,
+        x           =  66.60,
+        y           =  54.40,
         itementry   =   5642,
         entry       =   5178,
         map         = 'Ironforge',
@@ -1873,8 +1860,8 @@
     },
         
     [ 170] = {
-        x           =  66.40,
-        y           =  54.70,
+        x           =  66.60,
+        y           =  54.40,
         itementry   =  13478,
         entry       =   5178,
         map         = 'Ironforge',
@@ -2368,8 +2355,8 @@
     },
         
     [ 215] = {
-        x           =  44.20,
-        y           =  29.70,
+        x           =  43.60,
+        y           =  29.10,
         itementry   =  10314,
         entry       =   8681,
         map         = 'Ironforge',
@@ -2379,8 +2366,8 @@
     },
         
     [ 216] = {
-        x           =  44.20,
-        y           =  29.70,
+        x           =  43.60,
+        y           =  29.10,
         itementry   =  10317,
         entry       =   8681,
         map         = 'Ironforge',
@@ -2390,8 +2377,8 @@
     },
         
     [ 217] = {
-        x           =  44.20,
-        y           =  29.70,
+        x           =  43.60,
+        y           =  29.10,
         itementry   =  10321,
         entry       =   8681,
         map         = 'Ironforge',
@@ -2401,8 +2388,8 @@
     },
         
     [ 218] = {
-        x           =  44.20,
-        y           =  29.70,
+        x           =  43.60,
+        y           =  29.10,
         itementry   =  10323,
         entry       =   8681,
         map         = 'Ironforge',
@@ -2412,8 +2399,8 @@
     },
         
     [ 219] = {
-        x           =  44.20,
-        y           =  29.70,
+        x           =  43.60,
+        y           =  29.10,
         itementry   =  10326,
         entry       =   8681,
         map         = 'Ironforge',
@@ -2588,8 +2575,8 @@
     },
         
     [ 235] = {
-        x           =  48.30,
-        y           =  40.20,
+        x           =  48.50,
+        y           =  40.60,
         itementry   =  14483,
         entry       =  12022,
         map         = 'Moonglade',
@@ -2599,8 +2586,8 @@
     },
         
     [ 236] = {
-        x           =  48.30,
-        y           =  40.20,
+        x           =  48.50,
+        y           =  40.60,
         itementry   =  16224,
         entry       =  12022,
         map         = 'Moonglade',
@@ -2610,8 +2597,8 @@
     },
         
     [ 237] = {
-        x           =  48.30,
-        y           =  40.20,
+        x           =  48.50,
+        y           =  40.60,
         itementry   =  16243,
         entry       =  12022,
         map         = 'Moonglade',
@@ -3061,8 +3048,8 @@
     },
         
     [ 278] = {
-        x           =  28.10,
-        y           =  61.20,
+        x           =  28.00,
+        y           =  61.80,
         itementry   =  22900,
         entry       =  16705,
         map         = 'The Exodar',
@@ -3072,8 +3059,8 @@
     },
         
     [ 279] = {
-        x           =  28.10,
-        y           =  61.20,
+        x           =  28.00,
+        y           =  61.80,
         itementry   =  23574,
         entry       =  16705,
         map         = 'The Exodar',
@@ -3083,8 +3070,8 @@
     },
         
     [ 280] = {
-        x           =  60.70,
-        y           =  88.30,
+        x           =  60.40,
+        y           =  89.10,
         itementry   =  23590,
         entry       =  16713,
         map         = 'The Exodar',
@@ -3094,8 +3081,8 @@
     },
         
     [ 281] = {
-        x           =  60.70,
-        y           =  88.30,
+        x           =  60.40,
+        y           =  89.10,
         itementry   =  23591,
         entry       =  16713,
         map         = 'The Exodar',
@@ -3105,8 +3092,8 @@
     },
         
     [ 282] = {
-        x           =  60.70,
-        y           =  88.30,
+        x           =  60.40,
+        y           =  89.10,
         itementry   =  23592,
         entry       =  16713,
         map         = 'The Exodar',
@@ -3116,8 +3103,8 @@
     },
         
     [ 283] = {
-        x           =  60.70,
-        y           =  88.30,
+        x           =  60.40,
+        y           =  89.10,
         itementry   =  23593,
         entry       =  16713,
         map         = 'The Exodar',
@@ -3149,8 +3136,8 @@
     },
         
     [ 286] = {
-        x           =  39.00,
-        y           =  39.70,
+        x           =  39.90,
+        y           =  39.90,
         itementry   =   6342,
         entry       =  16722,
         map         = 'The Exodar',
@@ -3160,8 +3147,8 @@
     },
         
     [ 287] = {
-        x           =  39.00,
-        y           =  39.70,
+        x           =  39.90,
+        y           =  39.90,
         itementry   =  22562,
         entry       =  16722,
         map         = 'The Exodar',
@@ -3171,8 +3158,8 @@
     },
         
     [ 288] = {
-        x           =  39.00,
-        y           =  39.70,
+        x           =  39.90,
+        y           =  39.90,
         itementry   =  22563,
         entry       =  16722,
         map         = 'The Exodar',
@@ -3182,8 +3169,8 @@
     },
         
     [ 289] = {
-        x           =  39.00,
-        y           =  39.70,
+        x           =  39.90,
+        y           =  39.90,
         itementry   =  22565,
         entry       =  16722,
         map         = 'The Exodar',
@@ -3193,8 +3180,8 @@
     },
         
     [ 290] = {
-        x           =  66.40,
-        y           =  73.90,
+        x           =  66.50,
+        y           =  74.00,
         itementry   =  25726,
         entry       =  16748,
         map         = 'The Exodar',
@@ -3270,8 +3257,8 @@
     },
         
     [ 297] = {
-        x           =  44.30,
-        y           =  26.40,
+        x           =  45.00,
+        y           =  25.60,
         itementry   =  20854,
         entry       =  17512,
         map         = 'The Exodar',
@@ -3281,8 +3268,8 @@
     },
         
     [ 298] = {
-        x           =  44.30,
-        y           =  26.40,
+        x           =  45.00,
+        y           =  25.60,
         itementry   =  20856,
         entry       =  17512,
         map         = 'The Exodar',
@@ -3292,8 +3279,8 @@
     },
         
     [ 299] = {
-        x           =  44.30,
-        y           =  26.40,
+        x           =  45.00,
+        y           =  25.60,
         itementry   =  20975,
         entry       =  17512,
         map         = 'The Exodar',
@@ -3303,8 +3290,8 @@
     },
         
     [ 300] = {
-        x           =  44.30,
-        y           =  26.40,
+        x           =  45.00,
+        y           =  25.60,
         itementry   =  21948,
         entry       =  17512,
         map         = 'The Exodar',
@@ -3381,7 +3368,7 @@
         
     [ 307] = {
         x           =  72.30,
-        y           =  31.60,
+        y           =  31.00,
         itementry   =  23811,
         entry       =  18484,
         map         = 'Shattrath City',
@@ -3392,7 +3379,7 @@
         
     [ 308] = {
         x           =  72.30,
-        y           =  31.60,
+        y           =  31.00,
         itementry   =  23815,
         entry       =  18484,
         map         = 'Shattrath City',
@@ -3403,7 +3390,7 @@
         
     [ 309] = {
         x           =  72.30,
-        y           =  31.60,
+        y           =  31.00,
         itementry   =  23816,
         entry       =  18484,
         map         = 'Shattrath City',
@@ -3567,8 +3554,8 @@
     },
         
     [ 324] = {
-        x           =  45.80,
-        y           =  21.00,
+        x           =  46.00,
+        y           =  20.10,
         itementry   =  23574,
         entry       =  19074,
         map         = 'Shattrath City',
@@ -3622,8 +3609,8 @@
     },
         
     [ 329] = {
-        x           =  42.60,
-        y           =  69.90,
+        x           =  44.60,
+        y           =  97.10,
         itementry   =   6342,
         entry       =  19234,
         map         = 'Shattrath City',
@@ -3754,7 +3741,7 @@
     },
         
     [ 341] = {
-        x           =  64.30,
+        x           =  64.90,
         y           =  69.40,
         itementry   =  23799,
         entry       =  19661,
@@ -3765,7 +3752,7 @@
     },
         
     [ 342] = {
-        x           =  64.30,
+        x           =  64.90,
         y           =  69.40,
         itementry   =  32381,
         entry       =  19661,
@@ -3776,8 +3763,8 @@
     },
         
     [ 343] = {
-        x           =  44.10,
-        y           =  68.00,
+        x           =  64.00,
+        y           =  71.30,
         itementry   =  23590,
         entry       =  19662,
         map         = 'Shattrath City',
@@ -3787,8 +3774,8 @@
     },
         
     [ 344] = {
-        x           =  44.10,
-        y           =  68.00,
+        x           =  64.00,
+        y           =  71.30,
         itementry   =  23591,
         entry       =  19662,
         map         = 'Shattrath City',
@@ -3798,8 +3785,8 @@
     },
         
     [ 345] = {
-        x           =  44.10,
-        y           =  68.00,
+        x           =  64.00,
+        y           =  71.30,
         itementry   =  23592,
         entry       =  19662,
         map         = 'Shattrath City',
@@ -3809,8 +3796,8 @@
     },
         
     [ 346] = {
-        x           =  44.10,
-        y           =  68.00,
+        x           =  64.00,
+        y           =  71.30,
         itementry   =  23593,
         entry       =  19662,
         map         = 'Shattrath City',
@@ -3820,8 +3807,8 @@
     },
         
     [ 347] = {
-        x           =  44.10,
-        y           =  68.00,
+        x           =  64.00,
+        y           =  71.30,
         itementry   =  25846,
         entry       =  19662,
         map         = 'Shattrath City',
@@ -4062,8 +4049,8 @@
     },
         
     [ 369] = {
-        x           =  30.90,
-        y           =  39.30,
+        x           =  30.60,
+        y           =  37.50,
         itementry   =  21099,
         entry       =  25052,
         map         = 'Darkshore',
@@ -4073,8 +4060,8 @@
     },
         
     [ 370] = {
-        x           =  30.90,
-        y           =  39.30,
+        x           =  30.60,
+        y           =  37.50,
         itementry   =  21219,
         entry       =  25052,
         map         = 'Darkshore',
@@ -4095,8 +4082,8 @@
     },
         
     [ 372] = {
-        x           =  38.40,
-        y           =  54.20,
+        x           =  38.20,
+        y           =  55.40,
         itementry   =  44602,
         entry       =  28715,
         map         = 'Dalaran',
@@ -4106,8 +4093,8 @@
     },
         
     [ 373] = {
-        x           =  38.40,
-        y           =  54.20,
+        x           =  38.20,
+        y           =  55.40,
         itementry   =  44714,
         entry       =  28715,
         map         = 'Dalaran',
@@ -4117,8 +4104,8 @@
     },
         
     [ 374] = {
-        x           =  38.40,
-        y           =  54.20,
+        x           =  38.20,
+        y           =  55.40,
         itementry   =  44709,
         entry       =  28715,
         map         = 'Dalaran',
--- a/core.lua	Fri Aug 13 14:39:36 2010 -0500
+++ b/core.lua	Sun Aug 15 17:59:03 2010 -0500
@@ -14,11 +14,20 @@
 local RecipeProfit = LibStub("AceAddon-3.0"):NewAddon("RecipeProfit", "AceEvent-3.0", "AceConsole-3.0")
 local GatherMate = LibStub("AceAddon-3.0"):GetAddon("GatherMate")
 local tabletest = {}
- db = {}
+local db = {}
 local safeRecipes = {}
-safer = safeRecipes
+local ids = {}
+
 RecipeProfit.db = db;
 
+-- Forward Definitions (for local functions)
+local get_faction_db, 
+      add_note, 
+      button_update, 
+      find_good_id, 
+      safe_cache_vendor,
+      get_note_title;
+
 function debugprint(val, indent)
     indent = indent or "";
     if not(type(val) == "table") then
@@ -132,6 +141,10 @@
 local defaults = {
     faction = "default",
     safebuy = "on",
+    
+    --submitting cached data not yet implemented
+    enable_cache = false,
+    location_cache = {},
 }
 
 function RecipeProfit:OnInitialize()
@@ -154,18 +167,18 @@
     GatherMate.nodeIDs["RecipeProfit"] = {}
     GatherMate.nodeTextures["RecipeProfit"] = {}
     GatherMate.nodeMinHarvest["RecipeProfit"] = {}
-    nodes = GatherMate.nodeIDs["RecipeProfit"]
+    local nodes = GatherMate.nodeIDs["RecipeProfit"]
     
     for id, note in pairs(RECIPEPROFIT_alliance) do
         safeRecipes[note.item] = true;
-        nodes[note.item.." - ("..note.vendor.." A)"] = id * 10
-        GatherMate.nodeTextures["RecipeProfit"][id * 10] = "Interface\\Icons\\INV_Scroll_05"
+        nodes[get_note_title(note, "A")] = id * 2
+        GatherMate.nodeTextures["RecipeProfit"][id * 2] = "Interface\\Icons\\INV_Scroll_05"
     end
     
     for id, note in pairs(RECIPEPROFIT_horde) do
         safeRecipes[note.item] = true;
-        nodes[note.item.." - ("..note.vendor.." H)"] = id * 10 + 1
-        GatherMate.nodeTextures["RecipeProfit"][id * 10 + 1] = "Interface\\Icons\\INV_Scroll_05"
+        nodes[get_note_title(note, "H")] = (id - 1) * 2 + 1
+        GatherMate.nodeTextures["RecipeProfit"][(id - 1) * 2 + 1] = "Interface\\Icons\\INV_Scroll_05"
     end
     
     GatherMate.reverseNodeIDs["RecipeProfit"] = GatherMate:CreateReversedTable(nodes)
@@ -200,6 +213,84 @@
     LibStub("AceConfigDialog-3.0"):SelectGroup("GatherMate", "RecipeProfit")
 end
 
+function RecipeProfit:UpdateButtons(event, ...)
+    --print("UpdateButtons", event)
+    if(not MerchantFrame:IsVisible()) then
+        --print("UpdateButtons - (Event: ", event, ") - MerchantFrame not visible.");
+        return;
+    end
+    
+    for i=1, MERCHANT_ITEMS_PER_PAGE, 1 do
+        local buttonframe = _G["MerchantItem"..i];
+        local index = (((MerchantFrame.page - 1) * MERCHANT_ITEMS_PER_PAGE) + i);
+        --print(index)
+        if index <= GetMerchantNumItems() then
+            button_update(buttonframe)
+        end
+    end
+end
+
+        
+function RecipeProfit:OnEnable()
+
+    _G["MerchantPrevPageButton"]:HookScript("OnClick", self.UpdateButtons)
+    _G["MerchantNextPageButton"]:HookScript("OnClick", self.UpdateButtons)
+    
+    self:RegisterEvent("MERCHANT_SHOW",   "UpdateButtons")
+    self:RegisterEvent("MERCHANT_UPDATE", "UpdateButtons")
+    self:RegisterEvent("BAG_UPDATE",      "UpdateButtons")
+    
+    RecipeProfit:DoMerge()
+end     
+
+function RecipeProfit:DoMerge()
+    ids = {}
+    local selectedDB = get_faction_db();
+    
+    GatherMate:ClearDB("RecipeProfit")
+    for id, note in pairs(selectedDB) do
+        x, y = find_good_id(note.x, note.y)
+        add_note(x, y, note)
+    end
+    
+    GatherMate:SendMessage("GatherMateDataImport")
+    GatherMate:GetModule("Config"):SendMessage("GatherMateConfigChanged")
+end
+
+function get_note_title(note, factionTag)
+    if(not factionTag) then
+        _, factionTag = get_faction_db();
+    end
+    
+    return note.item.." - ("..note.vendor.." ".. factionTag ..")";
+end
+
+function add_note(x, y, note)
+    GatherMate:AddNode(note.map, x / 100, y / 100, "RecipeProfit", get_note_title(note));
+end
+
+function get_faction_db()
+    local factionAlliance = db.profile.faction == "Alliance" or 
+                            db.profile.faction == "default" and UnitFactionGroup("player") == "Alliance";
+    if(factionAlliance) then
+        return RECIPEPROFIT_alliance, "A";
+    else
+        return RECIPEPROFIT_horde,    "H";
+    end
+end
+
+function safe_cache_vendor()
+    if(not profile.enable_cache) then
+        return
+    end
+    
+    if(not profile.location_cache[UnitName("NPC")]) then
+        SetMapToCurrentZone()
+        local pos = {}
+        pos.x, pos.y = GetPlayerMapPosition("player")
+        profile.location_cache[UnitName("NPC")] = pos
+    end
+end
 
 function button_update(self)
     local buttonName = _G[self:GetName().."Name"];
@@ -210,7 +301,8 @@
     
     local sName, sLink, iRarity, iLevel, iMinLevel, sType, sSubType, iStackCount = GetItemInfo(link)
     
-    if(sType == "Recipe" and safeRecipes[sName]) then
+    if(sType == "Recipe" and safeRecipes[sName]) then 
+        safe_cache_vendor();
         SetItemButtonNameFrameVertexColor(self, 0, 0, 1.0);
         SetItemButtonSlotVertexColor(self, 0, 0, 0.5);
         buttonName:SetText("* " .. sName)
@@ -226,73 +318,11 @@
     end
 end
 
-function RecipeProfit:UpdateButtons(event)
-    --print("UpdateButtons", event)
-    if(not MerchantFrame:IsVisible()) then
-        --print("UpdateButtons - (Event: ", event, ") - MerchantFrame not visible.");
-        return;
-    end
-    
-    for i=1, MERCHANT_ITEMS_PER_PAGE, 1 do
-        local buttonframe = _G["MerchantItem"..i];
-        local index = (((MerchantFrame.page - 1) * MERCHANT_ITEMS_PER_PAGE) + i);
-        --print(index)
-        if index <= GetMerchantNumItems() then
-            button_update(buttonframe)
-        --[[else
-            --print(i, index, GetMerchantNumItems())
-            local itemButton = _G["MerchantItem"..i.."ItemButton"];
-            local merchantButton = _G["MerchantItem"..i];
-            itemButton.price = nil;
-			itemButton.hasItem = nil;
-			itemButton:Hide();
-			SetItemButtonNameFrameVertexColor(merchantButton, 0.5, 0.5, 0.5);
-			SetItemButtonSlotVertexColor(merchantButton,0.4, 0.4, 0.4);
-			_G["MerchantItem"..i.."Name"]:SetText("");
-			_G["MerchantItem"..i.."MoneyFrame"]:Hide();
-			_G["MerchantItem"..i.."AltCurrencyFrame"]:Hide();
-            ]]
-        end
-    end
-end
-
-        
-function RecipeProfit:OnEnable()
-
-    _G["MerchantPrevPageButton"]:HookScript("OnClick", self.UpdateButtons)
-    _G["MerchantNextPageButton"]:HookScript("OnClick", self.UpdateButtons)
-    
-    self:RegisterEvent("MERCHANT_SHOW",   "UpdateButtons")
-    self:RegisterEvent("MERCHANT_UPDATE", "UpdateButtons")
-    self:RegisterEvent("BAG_UPDATE",      "UpdateButtons")
-    
-    RecipeProfit:DoMerge()
-end    
-
-local ids = {}
-function findGoodId(x, y)
+function find_good_id(x, y)
     if ids[x.." "..y] then
-        return findGoodId(x + .01, y)
+        return find_good_id(x + .01, y)
     end
     
     ids[x.." "..y] = true
     return x, y
-end    
-
-function RecipeProfit:DoMerge()
-    ids = {}
-    selectedDB = (db.profile.faction == "Alliance" or 
-        db.profile.faction == "default" and UnitFactionGroup("player") == "Alliance") and
-        RECIPEPROFIT_alliance or RECIPEPROFIT_horde
-    GatherMate:ClearDB("RecipeProfit")
-    for id, note in pairs(selectedDB) do
-        x, y = findGoodId(note.x, note.y)
-        GatherMate:AddNode(note.map, x / 100, y / 100, "RecipeProfit",
-            note.item.." - ("..note.vendor.." ".. 
-            ((db.profile.faction == "Alliance" or db.profile.faction == "default" and 
-            UnitFactionGroup("player") == "Alliance") and "A" or "H") ..")")
-    end
-    
-    GatherMate:SendMessage("GatherMateDataImport")
-    GatherMate:GetModule("Config"):SendMessage("GatherMateConfigChanged")
-end
+end   
\ No newline at end of file
--- a/horde.lua	Fri Aug 13 14:39:36 2010 -0500
+++ b/horde.lua	Sun Aug 15 17:59:03 2010 -0500
@@ -619,7 +619,7 @@
     },
         
     [  56] = {
-        x           =  45.80,
+        x           =  45.00,
         y           =  39.10,
         itementry   =   6342,
         entry       =   3012,
@@ -630,7 +630,7 @@
     },
         
     [  57] = {
-        x           =  45.80,
+        x           =  45.00,
         y           =  39.10,
         itementry   =   6349,
         entry       =   3012,
@@ -641,7 +641,7 @@
     },
         
     [  58] = {
-        x           =  45.80,
+        x           =  45.00,
         y           =  39.10,
         itementry   =   6377,
         entry       =   3012,
@@ -652,8 +652,8 @@
     },
         
     [  59] = {
-        x           =  50.40,
-        y           =  51.30,
+        x           =  51.20,
+        y           =  51.40,
         itementry   =   6328,
         entry       =   3027,
         map         = 'Thunder Bluff',
@@ -663,8 +663,8 @@
     },
         
     [  60] = {
-        x           =  50.40,
-        y           =  51.30,
+        x           =  51.20,
+        y           =  51.40,
         itementry   =   6330,
         entry       =   3027,
         map         = 'Thunder Bluff',
@@ -674,8 +674,8 @@
     },
         
     [  61] = {
-        x           =  50.40,
-        y           =  51.30,
+        x           =  51.20,
+        y           =  51.40,
         itementry   =  21099,
         entry       =   3027,
         map         = 'Thunder Bluff',
@@ -685,8 +685,8 @@
     },
         
     [  62] = {
-        x           =  50.40,
-        y           =  51.30,
+        x           =  51.20,
+        y           =  51.40,
         itementry   =  21219,
         entry       =   3027,
         map         = 'Thunder Bluff',
@@ -696,8 +696,8 @@
     },
         
     [  63] = {
-        x           =  56.70,
-        y           =  47.40,
+        x           =  56.00,
+        y           =  47.30,
         itementry   =   6325,
         entry       =   3029,
         map         = 'Thunder Bluff',
@@ -707,8 +707,8 @@
     },
         
     [  64] = {
-        x           =  56.70,
-        y           =  47.40,
+        x           =  56.00,
+        y           =  47.30,
         itementry   =   6330,
         entry       =   3029,
         map         = 'Thunder Bluff',
@@ -751,8 +751,8 @@
     },
         
     [  68] = {
-        x           =  70.00,
-        y           =  30.50,
+        x           =  69.80,
+        y           =  29.60,
         itementry   =   6368,
         entry       =   3333,
         map         = 'Orgrimmar',
@@ -762,8 +762,8 @@
     },
         
     [  69] = {
-        x           =  70.00,
-        y           =  30.50,
+        x           =  69.80,
+        y           =  29.60,
         itementry   =   6369,
         entry       =   3333,
         map         = 'Orgrimmar',
@@ -773,8 +773,8 @@
     },
         
     [  70] = {
-        x           =  70.00,
-        y           =  30.50,
+        x           =  69.80,
+        y           =  29.60,
         itementry   =  17062,
         entry       =   3333,
         map         = 'Orgrimmar',
@@ -861,8 +861,8 @@
     },
         
     [  78] = {
-        x           =  82.50,
-        y           =  23.90,
+        x           =  82.40,
+        y           =  23.80,
         itementry   =  12162,
         entry       =   3356,
         map         = 'Orgrimmar',
@@ -1147,8 +1147,8 @@
     },
         
     [ 104] = {
-        x           =  54.20,
-        y           =  33.70,
+        x           =  54.60,
+        y           =  34.10,
         itementry   =   5772,
         entry       =   3537,
         map         = 'Hillsbrad Foothills',
@@ -1158,8 +1158,8 @@
     },
         
     [ 105] = {
-        x           =  54.20,
-        y           =  33.70,
+        x           =  54.60,
+        y           =  34.10,
         itementry   =   6377,
         entry       =   3537,
         map         = 'Hillsbrad Foothills',
@@ -1169,8 +1169,8 @@
     },
         
     [ 106] = {
-        x           =  54.20,
-        y           =  33.70,
+        x           =  54.60,
+        y           =  34.10,
         itementry   =   7362,
         entry       =   3537,
         map         = 'Hillsbrad Foothills',
@@ -1180,8 +1180,8 @@
     },
         
     [ 107] = {
-        x           =  54.20,
-        y           =  33.70,
+        x           =  54.60,
+        y           =  34.10,
         itementry   =   7561,
         entry       =   3537,
         map         = 'Hillsbrad Foothills',
@@ -1313,7 +1313,7 @@
         
     [ 119] = {
         x           =  62.50,
-        y           =  43.40,
+        y           =  43.50,
         itementry   =   6330,
         entry       =   4553,
         map         = 'Undercity',
@@ -1324,7 +1324,7 @@
         
     [ 120] = {
         x           =  62.50,
-        y           =  43.40,
+        y           =  43.50,
         itementry   =   6368,
         entry       =   4553,
         map         = 'Undercity',
@@ -1335,7 +1335,7 @@
         
     [ 121] = {
         x           =  62.50,
-        y           =  43.40,
+        y           =  43.50,
         itementry   =  21099,
         entry       =   4553,
         map         = 'Undercity',
@@ -1346,7 +1346,7 @@
         
     [ 122] = {
         x           =  62.50,
-        y           =  43.40,
+        y           =  43.50,
         itementry   =  21219,
         entry       =   4553,
         map         = 'Undercity',
@@ -1368,7 +1368,7 @@
         
     [ 124] = {
         x           =  81.10,
-        y           =  31.60,
+        y           =  31.30,
         itementry   =   6325,
         entry       =   4574,
         map         = 'Undercity',
@@ -1379,7 +1379,7 @@
         
     [ 125] = {
         x           =  81.10,
-        y           =  31.60,
+        y           =  31.30,
         itementry   =   6328,
         entry       =   4574,
         map         = 'Undercity',
@@ -1390,7 +1390,7 @@
         
     [ 126] = {
         x           =  81.10,
-        y           =  31.60,
+        y           =  31.30,
         itementry   =   6369,
         entry       =   4574,
         map         = 'Undercity',
@@ -1401,7 +1401,7 @@
         
     [ 127] = {
         x           =  81.10,
-        y           =  31.60,
+        y           =  31.30,
         itementry   =  17062,
         entry       =   4574,
         map         = 'Undercity',
@@ -1411,7 +1411,7 @@
     },
         
     [ 128] = {
-        x           =  70.40,
+        x           =  70.50,
         y           =  30.50,
         itementry   =   5772,
         entry       =   4577,
@@ -1422,7 +1422,7 @@
     },
         
     [ 129] = {
-        x           =  70.40,
+        x           =  70.50,
         y           =  30.50,
         itementry   =   6275,
         entry       =   4577,
@@ -1433,7 +1433,7 @@
     },
         
     [ 130] = {
-        x           =  70.40,
+        x           =  70.50,
         y           =  30.50,
         itementry   =  10321,
         entry       =   4577,
@@ -1444,7 +1444,7 @@
     },
         
     [ 131] = {
-        x           =  70.40,
+        x           =  70.50,
         y           =  30.50,
         itementry   =  10323,
         entry       =   4577,
@@ -1455,7 +1455,7 @@
     },
         
     [ 132] = {
-        x           =  70.40,
+        x           =  70.50,
         y           =  30.50,
         itementry   =  10326,
         entry       =   4577,
@@ -1488,8 +1488,8 @@
     },
         
     [ 135] = {
-        x           =  52.60,
-        y           =  74.00,
+        x           =  51.90,
+        y           =  74.50,
         itementry   =   9301,
         entry       =   4610,
         map         = 'Undercity',
@@ -1499,8 +1499,8 @@
     },
         
     [ 136] = {
-        x           =  61.90,
-        y           =  61.50,
+        x           =  62.00,
+        y           =  60.90,
         itementry   =   6342,
         entry       =   4617,
         map         = 'Undercity',
@@ -1511,7 +1511,7 @@
         
     [ 137] = {
         x           =  64.30,
-        y           =  50.50,
+        y           =  50.20,
         itementry   =  20975,
         entry       =   4775,
         map         = 'Undercity',
@@ -2115,8 +2115,8 @@
     },
         
     [ 192] = {
-        x           =  40.50,
-        y           =  63.20,
+        x           =  40.40,
+        y           =  63.40,
         itementry   =  21948,
         entry       =   8363,
         map         = 'Thunder Bluff',
@@ -2346,8 +2346,8 @@
     },
         
     [ 213] = {
-        x           =  48.30,
-        y           =  40.20,
+        x           =  48.50,
+        y           =  40.60,
         itementry   =  14483,
         entry       =  12022,
         map         = 'Moonglade',
@@ -2357,8 +2357,8 @@
     },
         
     [ 214] = {
-        x           =  48.30,
-        y           =  40.20,
+        x           =  48.50,
+        y           =  40.60,
         itementry   =  16224,
         entry       =  12022,
         map         = 'Moonglade',
@@ -2368,8 +2368,8 @@
     },
         
     [ 215] = {
-        x           =  48.30,
-        y           =  40.20,
+        x           =  48.50,
+        y           =  40.60,
         itementry   =  16243,
         entry       =  12022,
         map         = 'Moonglade',
@@ -2996,7 +2996,7 @@
         
     [ 272] = {
         x           =  90.80,
-        y           =  73.40,
+        y           =  73.60,
         itementry   =  20854,
         entry       =  16624,
         map         = 'Silvermoon City',
@@ -3007,7 +3007,7 @@
         
     [ 273] = {
         x           =  90.80,
-        y           =  73.40,
+        y           =  73.60,
         itementry   =  20856,
         entry       =  16624,
         map         = 'Silvermoon City',
@@ -3018,7 +3018,7 @@
         
     [ 274] = {
         x           =  90.80,
-        y           =  73.40,
+        y           =  73.60,
         itementry   =  20975,
         entry       =  16624,
         map         = 'Silvermoon City',
@@ -3029,7 +3029,7 @@
         
     [ 275] = {
         x           =  90.80,
-        y           =  73.40,
+        y           =  73.60,
         itementry   =  21948,
         entry       =  16624,
         map         = 'Silvermoon City',
@@ -3116,8 +3116,8 @@
     },
         
     [ 283] = {
-        x           =  66.40,
-        y           =  19.80,
+        x           =  67.00,
+        y           =  19.40,
         itementry   =  22900,
         entry       =  16641,
         map         = 'Silvermoon City',
@@ -3127,8 +3127,8 @@
     },
         
     [ 284] = {
-        x           =  66.40,
-        y           =  19.80,
+        x           =  67.00,
+        y           =  19.40,
         itementry   =  23574,
         entry       =  16641,
         map         = 'Silvermoon City',
@@ -3138,8 +3138,8 @@
     },
         
     [ 285] = {
-        x           =  79.70,
-        y           =  35.40,
+        x           =  80.20,
+        y           =  36.40,
         itementry   =  23590,
         entry       =  16670,
         map         = 'Silvermoon City',
@@ -3149,8 +3149,8 @@
     },
         
     [ 286] = {
-        x           =  79.70,
-        y           =  35.40,
+        x           =  80.20,
+        y           =  36.40,
         itementry   =  23591,
         entry       =  16670,
         map         = 'Silvermoon City',
@@ -3160,8 +3160,8 @@
     },
         
     [ 287] = {
-        x           =  79.70,
-        y           =  35.40,
+        x           =  80.20,
+        y           =  36.40,
         itementry   =  23592,
         entry       =  16670,
         map         = 'Silvermoon City',
@@ -3171,8 +3171,8 @@
     },
         
     [ 288] = {
-        x           =  79.70,
-        y           =  35.40,
+        x           =  80.20,
+        y           =  36.40,
         itementry   =  23593,
         entry       =  16670,
         map         = 'Silvermoon City',
@@ -3182,8 +3182,8 @@
     },
         
     [ 289] = {
-        x           =  68.70,
-        y           =  70.20,
+        x           =  69.30,
+        y           =  70.60,
         itementry   =  21099,
         entry       =  16677,
         map         = 'Silvermoon City',
@@ -3193,8 +3193,8 @@
     },
         
     [ 290] = {
-        x           =  68.70,
-        y           =  70.20,
+        x           =  69.30,
+        y           =  70.60,
         itementry   =  21219,
         entry       =  16677,
         map         = 'Silvermoon City',
@@ -3204,8 +3204,8 @@
     },
         
     [ 291] = {
-        x           =  84.70,
-        y           =  78.10,
+        x           =  84.30,
+        y           =  79.10,
         itementry   =  25726,
         entry       =  16689,
         map         = 'Silvermoon City',
@@ -3348,7 +3348,7 @@
         
     [ 304] = {
         x           =  72.30,
-        y           =  31.60,
+        y           =  31.00,
         itementry   =  23811,
         entry       =  18484,
         map         = 'Shattrath City',
@@ -3359,7 +3359,7 @@
         
     [ 305] = {
         x           =  72.30,
-        y           =  31.60,
+        y           =  31.00,
         itementry   =  23815,
         entry       =  18484,
         map         = 'Shattrath City',
@@ -3370,7 +3370,7 @@
         
     [ 306] = {
         x           =  72.30,
-        y           =  31.60,
+        y           =  31.00,
         itementry   =  23816,
         entry       =  18484,
         map         = 'Shattrath City',
@@ -3490,8 +3490,8 @@
     },
         
     [ 317] = {
-        x           =  56.90,
-        y           =  40.50,
+        x           =  57.00,
+        y           =  40.20,
         itementry   =  21894,
         entry       =  19015,
         map         = 'Nagrand',
@@ -3501,8 +3501,8 @@
     },
         
     [ 318] = {
-        x           =  56.90,
-        y           =  40.50,
+        x           =  57.00,
+        y           =  40.20,
         itementry   =  21902,
         entry       =  19015,
         map         = 'Nagrand',
@@ -3512,8 +3512,8 @@
     },
         
     [ 319] = {
-        x           =  45.80,
-        y           =  21.00,
+        x           =  46.00,
+        y           =  20.10,
         itementry   =  23574,
         entry       =  19074,
         map         = 'Shattrath City',
@@ -3567,8 +3567,8 @@
     },
         
     [ 324] = {
-        x           =  42.60,
-        y           =  69.90,
+        x           =  44.60,
+        y           =  97.10,
         itementry   =   6342,
         entry       =  19234,
         map         = 'Shattrath City',
@@ -3677,7 +3677,7 @@
     },
         
     [ 334] = {
-        x           =  64.30,
+        x           =  64.90,
         y           =  69.40,
         itementry   =  23799,
         entry       =  19661,
@@ -3688,7 +3688,7 @@
     },
         
     [ 335] = {
-        x           =  64.30,
+        x           =  64.90,
         y           =  69.40,
         itementry   =  32381,
         entry       =  19661,
@@ -3699,8 +3699,8 @@
     },
         
     [ 336] = {
-        x           =  44.10,
-        y           =  68.00,
+        x           =  64.00,
+        y           =  71.30,
         itementry   =  23590,
         entry       =  19662,
         map         = 'Shattrath City',
@@ -3710,8 +3710,8 @@
     },
         
     [ 337] = {
-        x           =  44.10,
-        y           =  68.00,
+        x           =  64.00,
+        y           =  71.30,
         itementry   =  23591,
         entry       =  19662,
         map         = 'Shattrath City',
@@ -3721,8 +3721,8 @@
     },
         
     [ 338] = {
-        x           =  44.10,
-        y           =  68.00,
+        x           =  64.00,
+        y           =  71.30,
         itementry   =  23592,
         entry       =  19662,
         map         = 'Shattrath City',
@@ -3732,8 +3732,8 @@
     },
         
     [ 339] = {
-        x           =  44.10,
-        y           =  68.00,
+        x           =  64.00,
+        y           =  71.30,
         itementry   =  23593,
         entry       =  19662,
         map         = 'Shattrath City',
@@ -3743,8 +3743,8 @@
     },
         
     [ 340] = {
-        x           =  44.10,
-        y           =  68.00,
+        x           =  64.00,
+        y           =  71.30,
         itementry   =  25846,
         entry       =  19662,
         map         = 'Shattrath City',
@@ -3952,8 +3952,8 @@
     },
         
     [ 359] = {
-        x           =  30.90,
-        y           =  39.30,
+        x           =  30.60,
+        y           =  37.50,
         itementry   =  21099,
         entry       =  25052,
         map         = 'Darkshore',
@@ -3963,8 +3963,8 @@
     },
         
     [ 360] = {
-        x           =  30.90,
-        y           =  39.30,
+        x           =  30.60,
+        y           =  37.50,
         itementry   =  21219,
         entry       =  25052,
         map         = 'Darkshore',
@@ -4007,8 +4007,8 @@
     },
         
     [ 364] = {
-        x           =  38.40,
-        y           =  54.20,
+        x           =  38.20,
+        y           =  55.40,
         itementry   =  44602,
         entry       =  28715,
         map         = 'Dalaran',
@@ -4018,8 +4018,8 @@
     },
         
     [ 365] = {
-        x           =  38.40,
-        y           =  54.20,
+        x           =  38.20,
+        y           =  55.40,
         itementry   =  44714,
         entry       =  28715,
         map         = 'Dalaran',
@@ -4029,8 +4029,8 @@
     },
         
     [ 366] = {
-        x           =  38.40,
-        y           =  54.20,
+        x           =  38.20,
+        y           =  55.40,
         itementry   =  44709,
         entry       =  28715,
         map         = 'Dalaran',