From 3ffb84dc8ff2a2637d2ac0fb43f9cfeeb9d1a034 Mon Sep 17 00:00:00 2001 From: ackis Date: Mon, 16 Feb 2009 18:59:46 +0000 Subject: [PATCH] Reorganize the options and add some mini map/map options, create internal tables for zone IDs, and fix a minor bug with cooking. --- ARLConfig.lua | 129 +++++++++++++++++++++++++++++++-------------- ARLFrame.lua | 49 +++++++++++------ AckisRecipeList.lua | 5 +- Locals/ARLLocals-enUS.lua | 8 ++- RecipeDB/ARL-Cook.lua | 4 +- 5 files changed, 133 insertions(+), 62 deletions(-) diff --git a/ARLConfig.lua b/ARLConfig.lua index a218e9e..a505e28 100644 --- a/ARLConfig.lua +++ b/ARLConfig.lua @@ -1011,7 +1011,7 @@ local function fullOptions() resetguiwindow = { order = 15, type = "execute", - name = L["Reset Window"], + name = L["Reset Window Position"], desc = L["RESET_WINDOW_DESC"], func = function(info) addon:ResetGUI() end, }, @@ -1020,15 +1020,15 @@ local function fullOptions() type = "description", name = "\n", }, - header2 = { + header1a = { order = 20, type = "header", - name = L["Display Settings"], + name = L["Main Filter Settings"], }, - display_desc = { + mainfilter_desc = { order = 21, type = "description", - name = L["DISPLAY_SETTINGS_DESC"] .. "\n", + name = L["MAINFILTER_SETTINGS_DESC"] .. "\n", }, includefiltered = { order = 22, @@ -1039,7 +1039,7 @@ local function fullOptions() set = function() addon.db.profile.includefiltered = not addon.db.profile.includefiltered end, }, includeexcluded = { - order = 22, + order = 23, type = "toggle", name = L["Include Excluded"], desc = L["EXCLUDECOUNT_DESC"], @@ -1047,7 +1047,7 @@ local function fullOptions() set = function() addon.db.profile.includeexcluded = not addon.db.profile.includeexcluded end, }, ignoreexclusionlist = { - order = 23, + order = 24, type = "toggle", name = L["Display Exclusions"], desc = L["DISPLAY_EXCLUSION_DESC"], @@ -1055,25 +1055,22 @@ local function fullOptions() set = function() addon.db.profile.ignoreexclusionlist = not addon.db.profile.ignoreexclusionlist end, }, spacer1a = { - order = 24, + order = 30, type = "description", name = "\n", }, - closegui = { - order = 25, - type = "toggle", - name = L["Close GUI"], - desc = L["CLOSEGUI_DESC"], - get = function() return addon.db.profile.closeguionskillclose end, - set = function() addon.db.profile.closeguionskillclose = not addon.db.profile.closeguionskillclose end, + header2 = { + order = 31, + type = "header", + name = L["Display Settings"], }, - spacer1b = { - order = 28, + display_desc = { + order = 32, type = "description", - name = "\n", + name = L["DISPLAY_SETTINGS_DESC"] .. "\n", }, scanbuttonlocation = { - order = 29, + order = 33, type = "select", name = L["Scan Button Position"], desc = L["SCANBUTTONPOSITION_DESC"], @@ -1082,7 +1079,7 @@ local function fullOptions() values = function() return {TR = L["Top Right"], TL = L["Top Left"], BR = L["Bottom Right"], BL = L["Bottom Left"]} end, }, uiscale = { - order = 30, + order = 34, type = "range", name = L["UI Scale"], desc = L["UI_SCALE_DESC"], @@ -1096,8 +1093,55 @@ local function fullOptions() if (addon.Frame) then addon.Frame:SetScale(v) end end, }, + closegui = { + order = 35, + type = "toggle", + name = L["Close GUI"], + desc = L["CLOSEGUI_DESC"], + get = function() return addon.db.profile.closeguionskillclose end, + set = function() addon.db.profile.closeguionskillclose = not addon.db.profile.closeguionskillclose end, + }, + spacer2 = { + order = 39, + type = "description", + name = "\n", + }, + header3 = { + order = 40, + type = "header", + name = L["Sorting Settings"], + }, + sort_desc = { + order = 41, + type = "description", + name = L["SORTING_SETTINGS_DESC"] .. "\n", + }, + sorting = { + order = 45, + type = "select", + name = L["Sorting"], + desc = L["SORTING_DESC"], + get = function() return addon.db.profile.sorting end, + set = function(info,name) addon.db.profile.sorting = name end, + values = function() return {Name = L["Name"], Skill = L["Skill"], Acquisition = L["Acquisition"], Location = L["Location"]} end, + }, + spacer3 = { + order = 50, + type = "description", + name = "\n", + }, + header4 = { + order = 51, + type = "header", + name = L["Tooltip Settings"], + }, + tt_desc = { + order = 52, + type = "description", + name = L["TOOLTIP_SETTINGS_DESC"] .. "\n", + }, tooltipscale = { - order = 31, + order = 53, type = "range", name = L["Tooltip Scale"], desc = L["TOOLTIP_SCALE_DESC"], @@ -1113,7 +1157,7 @@ local function fullOptions() end, }, acquiretooltiplocation = { - order = 33, + order = 54, type = "select", name = L["Tooltip (Acquire) Position"], desc = L["ACQUIRETOOLTIPPOSITION_DESC"], @@ -1122,7 +1166,7 @@ local function fullOptions() values = function() return {Right = L["Right"], Left = L["Left"], Top = L["Top"], Bottom = L["Bottom"], Off = L["Off"], Mouse = L["Mouse"]} end, }, spelltooltiplocation = { - order = 34, + order = 55, type = "select", name = L["Tooltip (Recipe) Position"], desc = L["SPELLTOOLTIPPOSITION_DESC"], @@ -1130,29 +1174,36 @@ local function fullOptions() set = function(info,name) addon.db.profile.spelltooltiplocation = name end, values = function() return {Right = L["Right"], Left = L["Left"], Top = L["Top"], Bottom = L["Bottom"], Off = L["Off"]} end, }, - spacer2 = { - order = 39, + spacer4 = { + order = 60, type = "description", name = "\n", }, - header3 = { - order = 40, + header5 = { + order = 61, type = "header", - name = L["Sorting Settings"], + name = L["Map Settings"], }, - longdesc = { - order = 41, + map_desc = { + order = 62, type = "description", - name = L["SORTING_SETTINGS_DESC"] .. "\n", + name = L["MAP_SETTINGS_DESC"] .. "\n", }, - sorting = { - order = 45, - type = "select", - name = L["Sorting"], - desc = L["SORTING_DESC"], - get = function() return addon.db.profile.sorting end, - set = function(info,name) addon.db.profile.sorting = name end, - values = function() return {Name = L["Name"], Skill = L["Skill"], Acquisition = L["Acquisition"], Location = L["Location"]} end, + worldmap = { + order = 63, + type = "toggle", + name = L["World Map"], + desc = L["WORLDMAP_DESC"], + get = function() return addon.db.profile.worldmap end, + set = function() addon.db.profile.worldmap = not addon.db.profile.worldmap end, + }, + minimap = { + order = 64, + type = "toggle", + name = L["Mini Map"], + desc = L["MINIMAP_DESC"], + get = function() return addon.db.profile.minimap end, + set = function() addon.db.profile.minimap = not addon.db.profile.minimap end, }, }, }, diff --git a/ARLFrame.lua b/ARLFrame.lua index 77b1f21..7c5311d 100644 --- a/ARLFrame.lua +++ b/ARLFrame.lua @@ -282,33 +282,42 @@ end do - local function LoadZones(c, ...) + local function LoadZones(c,y, ...) + -- Fill up the list for normal lookup for i=1,select('#', ...),1 do c[i] = select(i,...) end + -- Reverse lookup to make work easier later on + for i in pairs(c) do + y[c[i]] = i + end end local C1 = {} local C2 = {} local C3 = {} local C4 = {} + local c1 = {} + local c2 = {} + local c3 = {} + local c4 = {} - LoadZones(C1,GetMapZones(1)) - LoadZones(C2,GetMapZones(2)) - LoadZones(C3,GetMapZones(3)) - LoadZones(C4,GetMapZones(4)) + LoadZones(C1,c1,GetMapZones(1)) + LoadZones(C2,c1,GetMapZones(2)) + LoadZones(C3,c1,GetMapZones(3)) + LoadZones(C4,c1,GetMapZones(4)) -- Description: -- Expected result: -- Input: -- Output: - --/script AckisRecipeList:SetupMiniMap() - function addon:SetupMiniMap() + --/script AckisRecipeList:SetupMap() + function addon:SetupMap() addon:Print("Setting up mini-map icons.") - local minimaplist = {} + local maplist = {} -- Scan through all recipes to display, and add the vendors to a list to get their acquire info for i = 1, #sortedRecipeIndex do @@ -319,7 +328,7 @@ do for k, v in pairs(recipeDB[recipeIndex]["Acquire"]) do -- Vendor if (v["Type"] == 2) then - minimaplist[v["ID"]] = true + maplist[v["ID"]] = true end end end @@ -345,14 +354,22 @@ do ARLMiniMap:Show() ARLMiniMap.icon:Show() - for k, j in pairs(minimaplist) do - --@debug@ - addon:Print("Adding vendor ID: " .. k .. " to the mini-map at coords " .. vendorDB[k]["Coordx"] .. "," .. vendorDB[k]["Coordy"].. ".") - --@end-debug@ - -- continent continent 0 is the world of Azeroth, 1 is Kalimdor, 2 is Eastern Continent, 3 is Outland, 4 is northrend - -- zone http://www.wowwiki.com/LocalizedMapZones + for k, j in pairs(maplist) do + + if (addon.db.profile.worldmap == true) then + --@debug@ + addon:Print("Adding vendor ID: " .. k .. " to the world map at coords " .. vendorDB[k]["Coordx"] .. "," .. vendorDB[k]["Coordy"].. ".") + --@end-debug@ + Astrolabe:PlaceIconOnWorldMap(WorldMapFrame,ARLWorldMap,4,3,vendorDB[k]["Coordx"]/100,vendorDB[k]["Coordy"]/100) + end + + if (addon.db.profile.minimap == true) then + --@debug@ + addon:Print("Adding vendor ID: " .. k .. " to the mini-map at coords " .. vendorDB[k]["Coordx"] .. "," .. vendorDB[k]["Coordy"].. ".") + --@end-debug@ + Astrolabe:PlaceIconOnMinimap(ARLMiniMap,4,3,vendorDB[k]["Coordx"]/100, vendorDB[k]["Coordy"]/100) + end - -- Cords are stored from 0 to 100 in database if (vendorDB[k]["Location"] == "Dalaran") then Astrolabe:PlaceIconOnMinimap(ARLMiniMap,4,3,vendorDB[k]["Coordx"]/100, vendorDB[k]["Coordy"]/100) Astrolabe:PlaceIconOnWorldMap(WorldMapFrame,ARLWorldMap,4,3,vendorDB[k]["Coordx"]/100,vendorDB[k]["Coordy"]/100) diff --git a/AckisRecipeList.lua b/AckisRecipeList.lua index b387d2b..acd46af 100644 --- a/AckisRecipeList.lua +++ b/AckisRecipeList.lua @@ -161,12 +161,11 @@ function addon:OnInitialize() includeexcluded = false, closeguionskillclose = false, ignoreexclusionlist = false, - --scanbuttonlocation = L["Top Right"], - --spelltooltiplocation = L["Right"], - --acquiretooltiplocation = L["Mouse"], scanbuttonlocation = "Top Right", spelltooltiplocation = "Right", acquiretooltiplocation = "Mouse", + minimap = true, + worldmap = true, -- Recipe Exclusion exclusionlist = {}, diff --git a/Locals/ARLLocals-enUS.lua b/Locals/ARLLocals-enUS.lua index cabae02..28eda9d 100644 --- a/Locals/ARLLocals-enUS.lua +++ b/Locals/ARLLocals-enUS.lua @@ -39,8 +39,11 @@ L["About"] = true L["Main Options"] = true L["General Settings"] = true L["Display Settings"] = true +L["Main Filter Settings"] = true L["Sorting Settings"] = true L["Profile Options"] = true +L["Tooltip Settings"] = true +L["Map Settings"] = true L["ARL Documentation"] = true L["Documentation"] = true @@ -54,6 +57,7 @@ L["View Exclusion List"] = true L["Scan Button Position"] = true L["SCANBUTTONPOSITION_DESC"] = "Allows you to customize where the scan button is placed on the tradeskill frame." L["VIEW_EXCLUSION_LIST_DESC"] = "Prints out a list of all recipes on the exclusion list." +L["MAINFILTER_SETTINGS_DESC"] = "Allows you to specify how ARL handles different filters." L["DISPLAY_SETTINGS_DESC"] = "Allows you to customize how the GUI behaves." L["SORTING_SETTINGS_DESC"] = "Allows you to customize the way displayed recipes are sorted." L["ARL_DOC_DESC"] = "Documentation for Ackis Recipe List" @@ -85,7 +89,7 @@ L["Close GUI"] = "Close with Tradeskill UI" L["CLOSEGUI_DESC"] = "Close the ARL window when the crafting window is closed." L["Display Exclusions"] = true L["DISPLAY_EXCLUSION_DESC"] = "Display recipes that are in the exclusion list." -L["Reset Window"] = true +L["Reset Window Position"] = true L["RESET_WINDOW_DESC"] = "Resets the ARL GUI to default position." L["UI Scale"] = true L["UI_SCALE_DESC"] = "Changes the scale of the UI. Ranges from .5 to 1.5 (1 is default)" @@ -99,6 +103,8 @@ L["Sorting"] = true L["Sort"] = true L["Display"] = true L["SORTING_DESC"] = "Change the way in which displayed recipes are sorted." +L["TOOLTIP_SETTINGS_DESC"] = "Allows you to specify how the tooltips for ARL behave. The acquire tooltip lists the different information on how to acquire the recipe, whereas the spell tooltip lists the recipe information itself." +L["MAP_SETTINGS_DESC"] = "Allows you to change how ARL integrates into the world map and into the mini-map." L["Version"] = "Version: " L["Right"] = true L["Left"] = true diff --git a/RecipeDB/ARL-Cook.lua b/RecipeDB/ARL-Cook.lua index e28fef1..724a65c 100644 --- a/RecipeDB/ARL-Cook.lua +++ b/RecipeDB/ARL-Cook.lua @@ -308,13 +308,11 @@ function addon:InitCooking(RecipeDB) self:addTradeFlags(RecipeDB,8607,1,2,4,21,22,23,24,25,26,27,28,29,30,36,40) self:addTradeAcquire(RecipeDB,8607,2,1465,2,3556) - --[===[@non-debug@ -- Thistle Tea -- 9513 recipecount = recipecount + 1 self:addTradeSkill(RecipeDB,9513,60,7676,2,2550) self:addTradeFlags(RecipeDB,9513,1,2,4,8,28,36,41) self:addTradeAcquire(RecipeDB,9513,4,2359,4,2359,4,2478,4,2478,2,6779) - --@end-non-debug@]===] -- Goldthorn Tea -- 13028 recipecount = recipecount + 1 @@ -1007,7 +1005,7 @@ function addon:InitCooking(RecipeDB) self:addTradeAcquire(RecipeDB,3413,2,3955,2,12033) -- Master Cooking -- 33359 - 300 cooking - --recipecount = recipecount + 1 + recipecount = recipecount + 1 self:addTradeSkill(RecipeDB,33359,300,27736,1,2550) self:addTradeFlags(RecipeDB,33359,1,2,4,21,22,23,24,25,26,27,28,29,30) self:addTradeAcquire(RecipeDB,33359,2,18988,2,18987,2,18993) -- 1.7.9.5