chore: flatten Altoholic-Addon/ wrapper + add standard .gitignore/.gitattributes

Each DataStore_* / Altoholic_* addon now lives at the repo root, matching
the Exiles fork-layout convention (one folder per addon, no wrapper dir).
This commit is contained in:
2026-05-25 10:59:24 +02:00
parent 7789489aec
commit bbe2492a5b
387 changed files with 2 additions and 0 deletions
@@ -0,0 +1,13 @@
------------------------------------------------------------------------
r10 | Thaoky | 2010-07-06 17:11:45 +0000 (Tue, 06 Jul 2010) | 1 line
Changed paths:
M /trunk/DataStore_Currencies.lua
Code cleanup. Event handlers reorganized.
------------------------------------------------------------------------
r9 | thaoky | 2009-12-10 17:09:39 +0000 (Thu, 10 Dec 2009) | 1 line
Changed paths:
M /trunk/DataStore_Currencies.lua
Fixed invalid earlier commit of DataStore_Currencies.lua
------------------------------------------------------------------------
@@ -0,0 +1,197 @@
--[[ *** DataStore_Currencies ***
Written by : Thaoky, EU-Marécages de Zangar
July 6th, 2009
--]]
if not DataStore then return end
local addonName = "DataStore_Currencies"
_G[addonName] = LibStub("AceAddon-3.0"):NewAddon(addonName, "AceConsole-3.0", "AceEvent-3.0", "AceTimer-3.0")
local addon = _G[addonName]
local THIS_ACCOUNT = "Default"
-- Func Call Spam Protection
local FCSP_timer_OnCurrencyDisplayUpdate
local AddonDB_Defaults = {
global = {
Characters = {
['*'] = { -- ["Account.Realm.Name"]
lastUpdate = nil,
Currencies = {},
}
}
}
}
-- *** Utility functions ***
local headersState = {}
local headerCount
local function SaveHeaders()
headerCount = 0 -- use a counter to avoid being bound to header names, which might not be unique.
for i = GetCurrencyListSize(), 1, -1 do -- 1st pass, expand all categories
local _, isHeader, isExpanded = GetCurrencyListInfo(i)
if isHeader then
headerCount = headerCount + 1
if not isExpanded then
ExpandCurrencyList(i, 1)
headersState[headerCount] = true
end
end
end
end
local function RestoreHeaders()
headerCount = 0
for i = GetCurrencyListSize(), 1, -1 do
local _, isHeader = GetCurrencyListInfo(i)
if isHeader then
headerCount = headerCount + 1
if headersState[headerCount] then
ExpandCurrencyList(i, 0) -- collapses the header
end
end
end
wipe(headersState)
end
-- *** Scanning functions ***
local function ScanCurrencies()
SaveHeaders()
local currencies = addon.ThisCharacter.Currencies
wipe(currencies)
for i = 1, GetCurrencyListSize() do
local name, isHeader, _, _, _, count, _, _, itemID = GetCurrencyListInfo(i);
name = name or ""
if isHeader then
currencies[i] = "0|" .. name
else
currencies[i] = "1|" .. name .. "|" .. (count or 0) .. "|" .. (itemID or 0)
end
end
RestoreHeaders()
addon.ThisCharacter.lastUpdate = time()
end
-- *** Event Handlers ***
local function OnCurrencyDisplayUpdate()
FCSP_timer_UNIT_INVENTORY_CHANGED = nil
ScanCurrencies()
end
local function FCSP_timer_OnCurrencyDisplayUpdate()
-- this function limits calls to "ScanCurrencies" to max 1 every second
if FCSP_timer_UNIT_INVENTORY_CHANGED then return end
FCSP_timer_UNIT_INVENTORY_CHANGED = addon:ScheduleTimer(OnCurrencyDisplayUpdate, 1)
end
-- ** Mixins **
local function _GetNumCurrencies(character)
return #character.Currencies
end
local function _GetCurrencyInfo(character, index)
local currency = character.Currencies[index]
local isHeader, name, count, itemID = strsplit("|", currency)
isHeader = (isHeader == "0" and true or nil)
return isHeader, name, tonumber(count), tonumber(itemID)
end
local function _GetCurrencyInfoByName(character, token)
local name, count, itemID
for i = 1, #character.Currencies do
_, name, count, itemID = strsplit("|", character.Currencies[i])
if name == token then -- if it's the token we're looking for, return
return tonumber(count), tonumber(itemID)
end
end
end
local currencyIDs = {
-- source : http://www.wowhead.com/?items=10
-- epic
[29434] = true, -- badge of justice
[45624] = true, -- emblem of conquest
[40752] = true, -- emblem of heroism
[47241] = true, -- emblem of triumph
[40753] = true, -- emblem of valor
[49426] = true, -- emblem of frost (3.3)
-- blue
[43228] = true, -- stone keeper's shard
-- green
[20560] = true, -- alterac mark of honor
[20559] = true, -- arathi basin mark of honor
[43016] = true, -- dalaran cooking award
[41596] = true, -- dalaran jewelcrafting token
[29024] = true, -- eots mark of honor
[47395] = true, -- isle of conquest mark of honor
[42425] = true, -- strand of the ancients mark of honor
[20558] = true, -- warsong gulch mark of honor
[43589] = true, -- wintergrasp mark of honor
-- white
[43307] = true, -- arena points
[44990] = true, -- champion's seal
[43308] = true, -- honor points
[37836] = true, -- venture coin
}
local function _GetCurrencyItemCount(character, searchedID)
if currencyIDs[searchedID] then
local isHeader, currencyCount, itemID
for i = 1, #character.Currencies do
isHeader, _, currencyCount, itemID = strsplit("|", character.Currencies[i])
if isHeader == "1" then
if tonumber(itemID) == searchedID then
return tonumber(currencyCount)
end
end
end
end
return 0
end
local PublicMethods = {
GetNumCurrencies = _GetNumCurrencies,
GetCurrencyInfo = _GetCurrencyInfo,
GetCurrencyInfoByName = _GetCurrencyInfoByName,
GetCurrencyItemCount = _GetCurrencyItemCount,
}
function addon:OnInitialize()
addon.db = LibStub("AceDB-3.0"):New(addonName .. "DB", AddonDB_Defaults)
DataStore:RegisterModule(addonName, addon, PublicMethods)
DataStore:SetCharacterBasedMethod("GetNumCurrencies")
DataStore:SetCharacterBasedMethod("GetCurrencyInfo")
DataStore:SetCharacterBasedMethod("GetCurrencyInfoByName")
DataStore:SetCharacterBasedMethod("GetCurrencyItemCount")
end
function addon:OnEnable()
-- addon:RegisterEvent("CURRENCY_DISPLAY_UPDATE", OnCurrencyDisplayUpdate)
addon:RegisterEvent("CURRENCY_DISPLAY_UPDATE", FCSP_timer_OnCurrencyDisplayUpdate)
end
function addon:OnDisable()
addon:UnregisterEvent("CURRENCY_DISPLAY_UPDATE")
end
@@ -0,0 +1,16 @@
## Interface: 30300
## Title: DataStore_Currencies
## Notes: Stores information about character currencies
## Author: Thaoky (EU-Marécages de Zangar)
## Version: 3.3.001
## Dependencies: DataStore
## OptionalDeps: Ace3
## SavedVariables: DataStore_CurrenciesDB
## X-Category: Interface Enhancements
## X-Embeds: Ace3
## X-Curse-Packaged-Version: r10
## X-Curse-Project-Name: DataStore_Currencies
## X-Curse-Project-ID: datastore_currencies
## X-Curse-Repository-ID: wow/datastore_currencies/mainline
DataStore_Currencies.lua
+2
View File
@@ -0,0 +1,2 @@
All Rights Reserved unless otherwise explicitly stated.