diff --git a/IIfA/CharBagSpaceTooltip.lua b/IIfA/CharBagSpaceTooltip.lua
index 757b142..6773267 100644
--- a/IIfA/CharBagSpaceTooltip.lua
+++ b/IIfA/CharBagSpaceTooltip.lua
@@ -99,13 +99,13 @@ function CharBagFrame:FillCharAndBank()
spaceMax = spaceMax + bankMax + self.totSpaceMax
-- housing chests
- local bInHouse, ctr, tempUsed
+ local bInHouse, ctr, tempUsed, bFoundData
local cName
local iChestCount = 0
- bInOwnedHouse = IsOwnerOfCurrentHouse()
+ local bInOwnedHouse = IsOwnerOfCurrentHouse()
for ctr = BAG_HOUSE_BANK_ONE,BAG_HOUSE_BANK_TEN do
- tControl = self.houseChestControls[ctr]
+ local tControl = self.houseChestControls[ctr]
if IsCollectibleUnlocked(GetCollectibleForHouseBankBag(ctr)) then
if bInOwnedHouse then
tempUsed = GetNumBagUsedSlots(ctr)
@@ -138,7 +138,7 @@ function CharBagFrame:FillCharAndBank()
end
end
- local iFrameHeight
+ local iFrameHeight, tControl
local iDivCount = 2
if iChestCount > 0 then
@@ -170,7 +170,7 @@ function CharBagFrame:RepaintSpaceUsed()
local assets = self.parent.assets
for i=1, GetNumCharacters() do
local _, _, _, _, _, _, charId, _ = GetCharacterInfo(i)
- tControl = GetControl("IIFA_GUI_Bag_Grid_Row_" .. i)
+ local tControl = GetControl("IIFA_GUI_Bag_Grid_Row_" .. i)
if charId ~= currId then
if assets[charId] ~= nil then
if assets[charId].spaceUsed ~= nil then
diff --git a/IIfA/IIfA.lua b/IIfA/IIfA.lua
index 37d62b4..ac05e64 100644
--- a/IIfA/IIfA.lua
+++ b/IIfA/IIfA.lua
@@ -281,6 +281,14 @@ function IIfA_onLoad(eventCode, addOnName)
IIfA:RebuildHouseMenuDropdowns()
+ local function setIfNil(value, defaultValue)
+ if nil ~= value then return end
+ value = defaultValue
+ end
+ local function setNil(value)
+ if nil ~= value then value = nil end
+ end
+
-- nuke non-global positioning settings
local ObjSettings = IIfA:GetSettings()
local function nukePositioning()
@@ -303,9 +311,21 @@ function IIfA_onLoad(eventCode, addOnName)
end
nukePositioning()
- if IIfA.settings.in2ToggleGuildBankDataCollection ~= nil then
- IIfA.settings.in2ToggleGuildBankDataCollection = nil
+ local function considerWorldData()
+ -- keep EU and US items apart
+ local worldName = GetWorldName():gsub(" Megaserver", "")
+ IIfA.data[worldName] = IIfA.data[worldName] or {}
+ if IIfA.data[worldName].DBv3 == nil then
+ IIfA.data[worldName].DBv3 = IIfA.data.DBv3
+ end
+ IIfA.data.DBv3 = nil
+ IIfA.database = IIfA.data[worldName].DBv3
end
+
+
+
+ setNil(IIfA.settings.in2ToggleGuildBankDataCollection ~= nil)
+
if IIfA.data.in2ToggleGuildBankDataCollection ~= nil then
IIfA.data.bCollectGuildBankData = IIfA.data.in2ToggleGuildBankDataCollection
IIfA.data.in2ToggleGuildBankDataCollection = nil
@@ -340,13 +360,8 @@ function IIfA_onLoad(eventCode, addOnName)
end
end
- if IIfA.data.showStyleInfo == nil then
- IIfA.data.showStyleInfo = true
- end
- if ObjSettings.showStyleInfo == nil then
- ObjSettings.showStyleInfo = IIfA.data.showStyleInfo
- end
-
+ setIfNil(IIfA.data.showStyleInfo, true)
+ setIfNil(ObjSettings.showStyleInfo, IIfA.data.showStyleInfo)
-- 2-9-17 AM - convert saved data names into proper language for this session
local lang = GetCVar("language.2")
@@ -416,83 +431,10 @@ function IIfA_onLoad(eventCode, addOnName)
IIfA:SetupBackpack() -- setup the inventory frame
IIfA:CreateTooltips() -- setup the tooltip frames
- if (IIfA.data.bConvertedGlyphs == nil or IIfA.data.bConvertedLocType == nil) and IIfA.data.DBv3 == nil then
- -- glyphs are currently stored by itemid, remove them so it can store them properly by item link
- for itemLink, DBItem in pairs(IIfA.data.DBv2) do
- if IIfA.data.bConvertedGlyphs == nil then
- if DBItem.attributes.itemName:lower():find("glyph") ~= nil and itemLink:find("|") == nil then
- IIfA.data.DBv2[itemLink] = nil
- end
- end
- for locationName, locData in pairs(DBItem) do
- if locData.locationType ~= nil then
- locData.bagID = locData.locationType
- locData.locationType = nil
- end
- end
- end
- IIfA.data.bConvertedGlyphs = true
- IIfA.data.bConvertedLocType = true
- end
- if IIfA.data.bConvertedMotifs == nil and IIfA.data.DBv2 ~= nil then -- 9-12-16 AM - added whole if to convert motifs to item ids
- for itemLink, DBItem in pairs(IIfA.data.DBv2) do
- if itemLink:find("|") ~= nil then -- not a numeric itemid, it's a link
- local itemType = GetItemLinkItemType(itemLink)
- if itemType == ITEMTYPE_RACIAL_STYLE_MOTIF then -- 9-12-16 AM - added because motifs now appear to have level info in them
- itemKey = IIfA:GetItemID(itemLink)
- if IIfA.data.DBv2[itemKey] == nil then
- IIfA.data.DBv2[itemKey] = DBItem
- IIfA.data.DBv2[itemLink] = nil
- IIfA.data.DBv2[itemKey].itemLink = itemLink
- else
- for attrib, data in pairs(DBItem) do
- if data.itemCount ~= nil then
- if IIfA.data.DBv2[itemKey][attrib].itemCount ~= nil then
- IIfA.data.DBv2[itemKey][attrib].itemCount = IIfA.data.DBv2[itemKey][attrib].itemCount + data.itemCount
- else
- IIfA.data.DBv2[itemKey][attrib] = data
- end
- end
- end
- IIfA.data.DBv2[itemKey].attributes.itemLink = itemLink
- IIfA.data.DBv2[itemLink] = nil
- end
- end
- end
- end
- IIfA.data.bConvertedMotifs = true
- end
-
- if IIfA.data.DBv2 ~= nil then
- dbv3 = {}
- for itemLink, DBItem in pairs(IIfA.data.DBv2) do
- dbv3[itemLink] = {}
- dbv3[itemLink].locations = {}
- dbv3[itemLink].itemQuality = DBItem.attributes.itemQuality
- dbv3[itemLink].itemName = DBItem.attributes.itemName
- dbv3[itemLink].filterType = DBItem.attributes.filterType
- if DBItem.attributes.itemLink ~= nil then
- dbv3[itemLink].itemLink = DBItem.attributes.itemLink
- end
+ -- manavortex, Feb. 22 2018: drop dbv2 support
+ if nil ~= IIfA.data.DBv2 then IIfA.data.DBv2 = nil end
- for locname, locdata in pairs(DBItem) do
- if locname ~= "attributes" then
- dbv3[itemLink].locations[locname] = locdata
- end
- end
- end
- IIfA.data.DBv3 = dbv3
- IIfA.data.DBv2 = nil
- end
-
- -- keep EU and US items apart
- local worldName = GetWorldName():gsub(" Megaserver", "")
- IIfA.data[worldName] = IIfA.data[worldName] or {}
- if IIfA.data[worldName].DBv3 == nil then
- IIfA.data[worldName].DBv3 = IIfA.data.DBv3
- end
- IIfA.data.DBv3 = nil
- IIfA.database = IIfA.data[worldName].DBv3
+ considerWorldData()
IIfA:ActionLayerInventoryUpdate()
@@ -503,8 +445,8 @@ function IIfA_onLoad(eventCode, addOnName)
IIfA:RegisterForEvents()
IIfA:RegisterForSceneChanges() -- register for callbacks on scene statechanges using user preferences or defaults
- IIfA.ignoredCharEquipment = IIfA.ignoredCharEquipment or {}
- IIfA.ignoredCharInventories = IIfA.ignoredCharInventories or {}
+ IIfA.ignoredCharEquipment = IIfA.ignoredCharEquipment or {}
+ IIfA.ignoredCharInventories = IIfA.ignoredCharInventories or {}
IIfA.trackedBags[BAG_WORN] = not IIfA:IsCharacterEquipIgnored()
IIfA.trackedBags[BAG_BACKPACK] = not IIfA:IsCharacterInventoryIgnored()
diff --git a/IIfA/IIfABackpack.lua b/IIfA/IIfABackpack.lua
index 907a209..aa374d6 100644
--- a/IIfA/IIfABackpack.lua
+++ b/IIfA/IIfABackpack.lua
@@ -1,6 +1,7 @@
local IIfA = IIfA
local LMP = LibStub("LibMediaProvider-1.0")
+local _
IIfA.ScrollSortUp = true
IIfA.ActiveFilter = 0
@@ -409,6 +410,7 @@ end
local function fillLine(curLine, curItem)
+ local color
if curItem == nil then
curLine.itemLink = ""
curLine.icon:SetTexture(nil)
@@ -481,7 +483,7 @@ end
function IIfA:SetItemCountPosition()
for i=1, IIFA_GUI_ListHolder.maxLines do
- line = IIFA_GUI_ListHolder.lines[i]
+ local line = IIFA_GUI_ListHolder.lines[i]
line.text:ClearAnchors()
line.qty:ClearAnchors()
if IIfA:GetSettings().showItemCountOnRight then
@@ -590,8 +592,8 @@ function IIfA:GetAccountInventoryList()
-- banks are same as toons, same order as player normally sees them
if IIfA.data.bCollectGuildBankData then
for i = 1, GetNumGuilds() do
- id = GetGuildId(i)
- guildName = GetGuildName(id)
+ local id = GetGuildId(i)
+ local guildName = GetGuildName(id)
-- on the off chance that this doesn't exist already, create it
if IIfA.data.guildBanks == nil then
@@ -619,6 +621,7 @@ function IIfA:QueryAccountInventory(itemLink)
itemLink = string.gsub(itemLink, '|H0', '|H1')
end
+
local queryItem = {
link = itemLink,
locations = {},
@@ -628,7 +631,7 @@ function IIfA:QueryAccountInventory(itemLink)
local AlreadySavedLoc = false
local newLocation = {}
- itemType = GetItemLinkItemType(itemLink)
+ local itemType = GetItemLinkItemType(itemLink)
if CanItemLinkBeVirtual(itemLink) or
itemType == ITEMTYPE_LOCKPICK or
itemType == ITEMTYPE_RECIPE or
@@ -705,7 +708,7 @@ function IIfA:SetupBackpack()
IIFA_GUI_Header_Dropdown.comboBox = comboBox
end
- function OnItemSelect(_, choiceText, choice)
+ local function OnItemSelect(_, choiceText, choice)
-- d("OnItemSelect", choiceText, choice)
IIfA:SetInventoryListFilter(choiceText)
PlaySound(SOUNDS.POSITIVE_CLICK)
@@ -751,7 +754,7 @@ function IIfA:SetupBackpack()
comboBox:SetSortsItems(false)
for i = 1, #validChoices do
- entry = comboBox:CreateItemEntry(validChoices[i], OnItemSelect)
+ local entry = comboBox:CreateItemEntry(validChoices[i], OnItemSelect)
comboBox:AddItem(entry)
if qualityDict[validChoices[i]] == IIfA:GetInventoryListFilterQuality() then
comboBox:SetSelectedItem(validChoices[i])
diff --git a/IIfA/IIfADataCollection.lua b/IIfA/IIfADataCollection.lua
index 14283ca..6fe8306 100644
--- a/IIfA/IIfADataCollection.lua
+++ b/IIfA/IIfADataCollection.lua
@@ -1,5 +1,6 @@
local IIfA = IIfA
local EMPTY_STRING = ""
+local _
local task = IIfA.task or LibStub("LibAsync"):Create("IIfA_DataCollection")
IIfA.task = task
@@ -12,7 +13,7 @@ local function grabBagContent(bagId, override)
local bagItems = GetBagSize(bagId)
IIfA:DebugOut("grabBagContent(<<1>>, <<2>>", bagId, override)
for slotId=0, bagItems, 1 do
- dbItem, itemKey = IIfA:EvalBagItem(bagId, slotId, false, nil, nil, nil, nil, override)
+ local dbItem, itemKey = IIfA:EvalBagItem(bagId, slotId, false, nil, nil, nil, nil, override)
end
end
@@ -150,7 +151,7 @@ function IIfA:ScanBank()
grabBagContent(BAG_SUBSCRIBER_BANK)
end):Then(function()
IIfA:ClearLocationData(GetString(IIFA_BAG_CRAFTBAG))
- slotId = GetNextVirtualBagSlotId(slotId)
+ local slotId = GetNextVirtualBagSlotId(slotId)
while slotId ~= nil do
IIfA:EvalBagItem(BAG_VIRTUAL, slotId)
slotId = GetNextVirtualBagSlotId(slotId)
@@ -477,12 +478,12 @@ function IIfA:EvalBagItem(bagId, slotId, fromXfer, itemCount, itemLink, itemName
if nil == itemKey then return end
- itemFilterType = GetItemFilterTypeInfo(bagId, slotId) or 0
- DBitem = DBv3[itemKey]
- location = locationID or getLocation(locationID, bagId) or EMPTY_STRING
+ local itemFilterType = GetItemFilterTypeInfo(bagId, slotId) or 0
+ local DBitem = DBv3[itemKey]
+ local location = locationID or getLocation(location, bagId) or EMPTY_STRING
if(DBitem) then
- DBitemlocation = DBitem.locations[location]
+ local DBitemlocation = DBitem.locations[location]
if DBitemlocation then
DBitemlocation.itemCount = DBitemlocation.itemCount + itemCount
DBitemlocation.bagSlot = DBitemlocation.bagSlot or slotId
@@ -600,7 +601,7 @@ function IIfA:CollectAll(bagId, tracked) -- the args aren't used, but by making
end
end
else -- it's bag virtual
- slotId = GetNextVirtualBagSlotId(nil)
+ local slotId = GetNextVirtualBagSlotId(nil)
while slotId ~= nil do
IIfA:EvalBagItem(bagId, slotId)
slotId = GetNextVirtualBagSlotId(slotId)
diff --git a/IIfA/IIfAMenu.lua b/IIfA/IIfAMenu.lua
index a9be14e..d00d681 100644
--- a/IIfA/IIfAMenu.lua
+++ b/IIfA/IIfAMenu.lua
@@ -4,6 +4,8 @@ IIfA = IIfA
local LAM = LibStub("LibAddonMenu-2.0")
local LMP = LibStub("LibMediaProvider-1.0")
+local id, guildName, deleteHouse, restoreHouse, name
+
local function getCharacterInventories()
local accountInventories = {}
diff --git a/IIfA/IIfA_xml_adapter.lua b/IIfA/IIfA_xml_adapter.lua
index bb53224..e76d28a 100644
--- a/IIfA/IIfA_xml_adapter.lua
+++ b/IIfA/IIfA_xml_adapter.lua
@@ -40,7 +40,7 @@ end
--]]
function IIfA:GuiDock(bDock)
- sceneName = IIfA:GetCurrentSceneName()
+ local sceneName = IIfA:GetCurrentSceneName()
-- docking not allowed when hud is active (it has no clue what it's docking to)
if bDock and sceneName == "hud" then
return
@@ -227,7 +227,7 @@ function IIfA:GuiOnFilterButton(control, mouseButton, filterGroup, filterTypes,
IIfA.filterGroup = filterGroup
IIfA.filterTypes = filterTypes
- function SetSubSubFilters(_, subFiltName, choice)
+ local function SetSubSubFilters(_, subFiltName, choice)
IIfA.filterTypes = choice.subFiltTypes
IIfA:RefreshInventoryScroll()
end
@@ -242,7 +242,7 @@ function IIfA:GuiOnFilterButton(control, mouseButton, filterGroup, filterTypes,
end
comboBox:ClearItems()
comboBox:SetSortsItems(false)
- entry = comboBox:CreateItemEntry("All", SetSubSubFilters)
+ local entry = comboBox:CreateItemEntry("All", SetSubSubFilters)
entry.subFiltTypes = IIfA.filterTypes
comboBox:AddItem(entry)
if IIfA.filterGroup == "Body" or --:find("Body") ~= nil or
@@ -414,6 +414,8 @@ function IIfA:GuiReloadDimensions(settings, sceneName)
end
function IIfA:GuiResizeLines()
+ local lines
+
if not IIFA_GUI_ListHolder.lines then
lines = IIfA:CreateInventoryScroll()
end