ee7770baed
release / release (push) Successful in 4s
- AltoholicFrame 832x447 -> 832x555; AuctionFrame art bottom row re-anchored down + middle filler textures cover the gap; tab containers grown to match. - Every scrolling tab shows more rows: 18px tabs VisibleLines 14->20, 41px tabs 7/8->10; added matching $parentEntryN frames + extended scrollframes. - Verified VisibleLines <= max entry per tab (no nil-row crash); luac + xmllint clean. - Flagged for visual check: art seam at filler, decorative scrollbar track length.
92 lines
8.7 KiB
Markdown
92 lines
8.7 KiB
Markdown
# wow-Altoholic-dev
|
||
Altoholic: modified development for WotLK
|
||
|
||
## CoA fork (Exiles)
|
||
|
||
Ported for the Ascension CoA (Vol'jin) 3.3.5a client by the Exiles guild. Released as `*-coa.N` tags via Gitea Actions; see `Exiles/coa-altoholic`.
|
||
|
||
- **3.3.002b-coa.12** — Bigger main window (real size, not scale): `AltoholicFrame` 447→555px tall; AuctionFrame background art re-anchored with a middle filler; every scrolling tab shows more rows (18px tabs 14→20, 41px tabs 7/8→10) with matching `$parentEntryN` frames + grown scrollframes. Visual polish (art seam, scrollbar track length) may need a tweak after testing.
|
||
- **3.3.002b-coa.11** — Hotfix: Skills tab crash — `$parentSkill1` ButtonText global-name collision left `Skill1NormalText` nil; made it self-contained.
|
||
- **3.3.002b-coa.10** — Three CoA data-coverage features:
|
||
- **Reputation** is now data-driven: shows every faction a character actually has (grouped by in-game category), so CoA's custom factions (and future ones) appear automatically. The old hardcoded faction tree is kept only as an icon lookup.
|
||
- **Class icons** for CoA custom classes (12–32) now render from a bundled CoA atlas (`Altoholic/images/coa-classes.blp`, texcoords from the CoA Details fork) instead of falling back to the Warrior glue icon.
|
||
- **Skills** tab shows ALL known professions (dynamic list, not 2 fixed slots) incl. Woodcutting/Woodworking, and fixes "no profession data" — `DataStore_Skills` now scans on login (`PLAYER_ENTERING_WORLD`/`SKILL_LINES_CHANGED`) instead of only on death/ghost-release.
|
||
- **3.3.002b-coa.9** — Reverted the 1.4 default scale (it only zoomed, didn't show more content; scale stays user-opt-in at 1.0 default, applied on open). Hardened `Options:Get/Set` against a nil `options` table (`TabOptions.lua:442` crash). Guild Members: guard `Level_OnClick` against cleared/stale row IDs (clicking AiL crashed). **New:** Personal + Realm bank tracking ported from coa-bagnon (detects CoA `BANK_PERMISSIONS_PAYLOAD`, personal=per-char, realm=per-realm; surfaced in Search + BagUsage tooltip). **New:** Woodcutting + Woodworking columns on the Skills tab (CoA custom professions). NOTE: Skills "all professions" redesign, profession data population, character icons, and reputation factions are still in progress.
|
||
- **3.3.002b-coa.8** — Title bar reads just `Altoholic <version>` (from the live `.toc`), dropping the "by Thaoky (Edited by Telkar-RG 1.04a)" string. Window now opens at the AtlasLoot-ish default scale (`UIScale` 1.4, ≈ 1105×640); scale is applied on every open (upstream only applied it after visiting Options), with a one-time bump for profiles still on the old 1.0 default.
|
||
- **3.3.002b-coa.7** — Skills tab: `GetColor()` now nil-safe and the per-skill rank fields (`skillRank1/2`, `cooking`, `firstaid`, `fishing`, `riding`) default to `0` — they're nil for chars `DataStore_Characters` hasn't scanned, which crashed the Skills summary (`floor(rank/…)` arithmetic and the `>= 300` riding check).
|
||
- **3.3.002b-coa.6** — Final straggler: guarded `AccountSharing.lua` realm/name line (name getter was the last `format` arg, so a no-value collapsed it to a format error). Concludes the frame sweep.
|
||
- **3.3.002b-coa.5** — Refactor + completeness pass:
|
||
- Extracted the duplicated character header/row blocks into `Altoholic:AddCharacterTooltipHeader()` and `Altoholic:SetCharacterRowNameLevel()` — the nil-guards now live in one place instead of being copy-pasted across frames.
|
||
- Fixed crash sites the per-frame sweep had missed: `Skills.lua` (row + skill-rank tooltip), `Keys.lua` (×3 `format` with possibly-nil name), and the latent `ShowClassIcons` sort (`Altoholic.lua` — getters bypass their own `or 0` via the DataStore wrapper).
|
||
- Restored login scanning: `OnPlayerAlive` in `Altoholic.lua` + `DataStore_Inventory` was gated to ghost-only (commit fdcb25a), so inventory/iLvl never populated on login. Now scans once per session (still skips resurrect/Feign-Death rescans). Removed dated DEBUG leftovers.
|
||
- **3.3.002b-coa.4** — Rebranded to the Exiles fork (title `Altoholic (Exiles)`; Thaoky/Telkar-RG still credited as Author). Hardened **all** Altoholic frames against partial alt records: DataStore char-based getters return *no value* for any module that hasn't scanned a char, and the frames assumed full data everywhere. Guarded every `format`/concat/arithmetic/`pairs` site across AccountSummary, Activity, BagUsage, Quests, Reputations, TabCharacters, `DrawCharacterTooltip`, and the recipe tooltip. No DataStore contract change.
|
||
- **3.3.002b-coa.3** — More partial-record guards in `DataStore_Characters` (own alts seen via guild comm but never fully scanned):
|
||
- `GetXPRate` — guard nil/zero `XPMax` (crashed AccountSummary; also fixes div-by-zero at max level).
|
||
- `GetRestXPRate` — guard nil/zero `XPMax` and nil `lastLogoutTimestamp` (`nil ~= 0` was true and crashed).
|
||
- **3.3.002b-coa.2** — Defensive guards for CoA data shapes (custom classes, records seeded from guild comm before a full scan, ungeared chars). Fixes login/UI crashes:
|
||
- `DataStore_Inventory` — `GetAverageItemLevel` returns `0` instead of `nil` (crashed the Altoholic char sort and AccountSummary iLvl format); guarded the login AIL broadcast and the `0/0` average for ungeared chars.
|
||
- `DataStore_Pets` — `GetNumPets` returns `0` for an unscanned companion table instead of `assert`-crashing TabCharacters.
|
||
- `DataStore_Characters` — `GetColoredCharacterName` tolerates a `nil` name (records known only via guild comm).
|
||
- `Altoholic/Characters.lua` — `GetLineType` returns `nil` for a stale/out-of-range line id (caller already handles it) instead of indexing a nil row.
|
||
- **3.3.002b-coa.1** — Initial CoA packaging (Altoholic + Altoholic_Achievements + 16 DataStore modules).
|
||
|
||
Added "Keys" Tab for better overview of owned keys and some attunement quests.
|
||
## Changes
|
||
- [Edited Version 1.04a](https://github.com/telkar-rg/wow-Altoholic-dev/releases/tag/t1.04a)
|
||
- Some game lag issues addressed by adjusting how some Scan functions were called by triggering Game Events
|
||
|
||
- [Edited Version 1.03a](https://github.com/telkar-rg/wow-Altoholic-dev/releases/tag/t1.03a)
|
||
- Added source information to recipes and pets
|
||
|
||
- [Edited Version 1.02](https://github.com/telkar-rg/wow-Altoholic-dev/releases/tag/t1.02)
|
||
- Small fix for "Known Pets" display (thanks to "[UsernameUsername](https://www.rising-gods.de/forum/63-programmiererecke/830273-addon-altoholic-haustier-info.html)")
|
||
|
||
- [Edited Version 1.01](https://github.com/telkar-rg/wow-Altoholic-dev/releases/tag/t1.01)
|
||
- Items that start Quests now show if the player has already completed them (only affects items of quality above common)
|
||
|
||

|
||
|
||
- [Edited Version 1.0](https://github.com/telkar-rg/wow-Altoholic-dev/releases/tag/t1.0)
|
||
- Added "Keys" tab: will show various relevant keys or attunement quests per character in order to enter instances or allow for quicker entry.
|
||
- Items in "Currencies" tab are now sorted by item id
|
||
- Added button to "DataStore" options to ignore Addon-Communication from the Rising-Gods starter guilds
|
||
- Fixed various "Source tooltip" entries (specifically for Ulduar)
|
||
- Fixed various links between recipes and crafting spells
|
||
- The "Hearthstone" will no longer be counted per character (as everyone has it)
|
||
- Removed deDE mistranslation of "Mail"
|
||
- Characters in the horizontzal tab are now sorted by average item level
|
||
|
||

|
||
|
||
- [Original 3.3.5 version](https://github.com/telkar-rg/wow-Altoholic-dev/releases/tag/r90)
|
||
|
||
## Pretty Pictures
|
||
|
||
<details>
|
||
<summary>Key item, that requires a questline</summary>
|
||
|
||

|
||

|
||
</details>
|
||
|
||
<details>
|
||
<summary>Key, that is a questline</summary>
|
||
|
||

|
||

|
||
</details>
|
||
|
||
<details>
|
||
<summary>Key, that requires reputation</summary>
|
||
|
||

|
||

|
||
</details>
|
||
|
||
<details>
|
||
<summary>Optional Key, for quick instance entry</summary>
|
||
|
||

|
||

|
||
</details>
|