Skip to content

Commit

Permalink
Tww.banks (#474)
Browse files Browse the repository at this point in the history
* Warband banks implemented for live.
  • Loading branch information
Cidan authored Jul 23, 2024
1 parent 59ee40c commit 86d2161
Show file tree
Hide file tree
Showing 17 changed files with 332 additions and 111 deletions.
2 changes: 1 addition & 1 deletion BetterBags.toc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
## X-License: MIT
## X-Curse-Project-ID: 942432
## X-Wago-ID: aNDmy96o
## OptionalDeps: LibStub, Masque, CallbackHandler-1.0, Ace3, LibSharedMedia-3.0, _DebugLog, ConsolePort, Pawn, WagoAnalytics, GW2_UI, ElvUI
## OptionalDeps: LibStub, Masque, CallbackHandler-1.0, Ace3, LibSharedMedia-3.0, _DebugLog, ConsolePort, Pawn, WagoAnalytics, GW2_UI, ElvUI, DevTool

libs\LibStub\LibStub.lua
libs\CallbackHandler-1.0\CallbackHandler-1.0.xml
Expand Down
25 changes: 25 additions & 0 deletions annotations.lua
Original file line number Diff line number Diff line change
Expand Up @@ -265,8 +265,17 @@ function ScrollBoxDragBehavior:SetReorderable(reorderable) end

---@class C_Bank
---@field CloseBankFrame fun()
---@field FetchNumPurchasedBankTabs fun(bankType: BankType): number
---@field FetchPurchasedBankTabData fun(bankType: BankType): BankTabData[]
---@field HasMaxBankTabs fun(bankType: BankType): boolean
C_Bank = {}

---@class BankTabData
---@field ID number
---@field bankType BankType
---@field name string
---@field icon number

---@class Frame
---@field scrollable boolean
local frameProto = {}
Expand Down Expand Up @@ -351,6 +360,22 @@ _G.COSTS_LABEL = "Cost:"
_G.UNIT_NAME_FONT = ""
_G.DAMAGE_TEXT_FONT = ""

Enum.BagIndex.AccountBankTab_1 = 13
Enum.BagIndex.AccountBankTab_2 = 14
Enum.BagIndex.AccountBankTab_3 = 15
Enum.BagIndex.AccountBankTab_4 = 16
Enum.BagIndex.AccountBankTab_5 = 17

---@enum BankType
Enum.BankType = {
Account = 2,
}

---@class AccountBankPanel
AccountBankPanel = {}

ACCOUNT_BANK_PANEL_TITLE = ""

---@class AceConfig.OptionsTable
---@field values? table<any, any>
---[Documentation](http://www.wowace.com/addons/ace3/pages/ace-config-3-0-options-tables/)
Expand Down
14 changes: 14 additions & 0 deletions core/classic/constants.lua
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ local const = addon:GetModule('Constants')

_G.NUM_TOTAL_BAG_FRAMES = 5

-- BankTab is an enum for the different bank tabs.
---@enum BankTab
const.BANK_TAB = {
BANK = Enum.BagIndex.Bank,
REAGENT = Enum.BagIndex.Reagentbank,
ACCOUNT_BANK_1 = 99,
ACCOUNT_BANK_2 = 99,
ACCOUNT_BANK_3 = 99,
ACCOUNT_BANK_4 = 99,
ACCOUNT_BANK_5 = 99,
}

-- BANK_BAGS contains all the bags that are part of the bank, including
-- the main bank view.
-- The Enum.BagIndex values for bank bags is broken in Classic, so we have to subtract 1.
Expand Down Expand Up @@ -66,6 +78,8 @@ const.BACKPACK_ONLY_BAGS = {
[Enum.BagIndex.Bag_4] = Enum.BagIndex.Bag_4,
}

const.ACCOUNT_BANK_BAGS = {}

const.BACKPACK_ONLY_BAGS_LIST = {
Enum.BagIndex.Bag_1,
Enum.BagIndex.Bag_2,
Expand Down
41 changes: 30 additions & 11 deletions core/constants.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,18 @@ const.BAG_KIND = {
UNDEFINED = -1,
BACKPACK = 0,
BANK = 1,
REAGENT_BANK = 2,
}

-- BankTab is an enum for the different bank tabs.
---@enum BankTab
const.BANK_TAB = {
BANK = Enum.BagIndex.Bank,
REAGENT = Enum.BagIndex.Reagentbank,
ACCOUNT_BANK_1 = Enum.BagIndex.AccountBankTab_1,
ACCOUNT_BANK_2 = Enum.BagIndex.AccountBankTab_2,
ACCOUNT_BANK_3 = Enum.BagIndex.AccountBankTab_3,
ACCOUNT_BANK_4 = Enum.BagIndex.AccountBankTab_4,
ACCOUNT_BANK_5 = Enum.BagIndex.AccountBankTab_5,
}

-- BANK_BAGS contains all the bags that are part of the bank, including
Expand Down Expand Up @@ -62,6 +73,17 @@ const.REAGENTBANK_BAGS = {
[Enum.BagIndex.Reagentbank] = Enum.BagIndex.Reagentbank,
}


if addon.isRetail then
const.ACCOUNT_BANK_BAGS = {
[Enum.BagIndex.AccountBankTab_1] = Enum.BagIndex.AccountBankTab_1,
[Enum.BagIndex.AccountBankTab_2] = Enum.BagIndex.AccountBankTab_2,
[Enum.BagIndex.AccountBankTab_3] = Enum.BagIndex.AccountBankTab_3,
[Enum.BagIndex.AccountBankTab_4] = Enum.BagIndex.AccountBankTab_4,
[Enum.BagIndex.AccountBankTab_5] = Enum.BagIndex.AccountBankTab_5,
}
end

-- BACKPACK_BAGS contains all the bags that are part of the backpack, including
-- the main backpack bag.
const.BACKPACK_BAGS = {
Expand Down Expand Up @@ -385,7 +407,7 @@ const.DATABASE_DEFAULTS = {
unmergeAtShop = true,
dontMergePartial = false,
dontMergeTransmog = false,
}
},
},
itemLevel = {
[const.BAG_KIND.BACKPACK] = {
Expand All @@ -395,16 +417,12 @@ const.DATABASE_DEFAULTS = {
[const.BAG_KIND.BANK] = {
enabled = true,
color = true
}
},
},
positions = {
[const.BAG_KIND.BACKPACK] = {},
[const.BAG_KIND.BANK] = {},
},
compaction = {
[const.BAG_KIND.BACKPACK] = const.GRID_COMPACT_STYLE.SIMPLE,
[const.BAG_KIND.BANK] = const.GRID_COMPACT_STYLE.SIMPLE,
},
sectionSort = {
[const.BAG_KIND.BACKPACK] = {
[const.BAG_VIEW.ONE_BAG] = const.SECTION_SORT_TYPE.ALPHABETICALLY,
Expand Down Expand Up @@ -438,6 +456,7 @@ const.DATABASE_DEFAULTS = {
[const.BAG_KIND.BACKPACK] = {},
---@type table<string, number>
[const.BAG_KIND.BANK] = {},
---@type table<string, number>
},
size = {
---@type SizeInfo[]
Expand All @@ -457,7 +476,7 @@ const.DATABASE_DEFAULTS = {
width = 700,
height = 500,
opacity = 89,
}
},
},
[const.BAG_VIEW.SECTION_GRID] = {
[const.BAG_KIND.BACKPACK] = {
Expand All @@ -475,7 +494,7 @@ const.DATABASE_DEFAULTS = {
width = 700,
height = 500,
opacity = 89,
}
},
},
[const.BAG_VIEW.LIST] = {
[const.BAG_KIND.BACKPACK] = {
Expand All @@ -493,7 +512,7 @@ const.DATABASE_DEFAULTS = {
width = 700,
height = 500,
opacity = 89,
}
},
},
[const.BAG_VIEW.SECTION_ALL_BAGS] = {
[const.BAG_KIND.BACKPACK] = {
Expand All @@ -511,7 +530,7 @@ const.DATABASE_DEFAULTS = {
width = 700,
height = 500,
opacity = 89,
}
},
},
},
views = {
Expand Down
14 changes: 14 additions & 0 deletions core/era/constants.lua
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ local const = addon:GetModule('Constants')

_G.NUM_TOTAL_BAG_FRAMES = 5

-- BankTab is an enum for the different bank tabs.
---@enum BankTab
const.BANK_TAB = {
BANK = Enum.BagIndex.Bank,
REAGENT = Enum.BagIndex.Reagentbank,
ACCOUNT_BANK_1 = 99,
ACCOUNT_BANK_2 = 99,
ACCOUNT_BANK_3 = 99,
ACCOUNT_BANK_4 = 99,
ACCOUNT_BANK_5 = 99,
}

-- BANK_BAGS contains all the bags that are part of the bank, including
-- the main bank view.
-- The Enum.BagIndex values for bank bags is broken in Classic, so we have to subtract 1.
Expand Down Expand Up @@ -55,6 +67,8 @@ const.BACKPACK_BAGS = {
[Enum.BagIndex.Keyring] = Enum.BagIndex.Keyring,
}

const.ACCOUNT_BANK_BAGS = {}

-- BACKPACK_ONLY_BAGS contains all the bags that are part of the backpack, excluding
-- the main backpack bag.
const.BACKPACK_ONLY_BAGS = {
Expand Down
2 changes: 2 additions & 0 deletions core/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,8 @@ function addon:GetBagFromBagID(bagid)
return addon.Bags.Bank
elseif const.REAGENTBANK_BAGS[bagid] then
return addon.Bags.Bank
elseif const.ACCOUNT_BANK_BAGS[bagid] then
return addon.Bags.Bank
else
error("invalid bagid")
end
Expand Down
Loading

0 comments on commit 86d2161

Please sign in to comment.