GuideTable.lua:88 used the Lua 5.0 global getn() to size the color- substitution table opentext. In Lua 5.1 (WoW 3.3.5) the bare getn is gone and table.getn is deprecated, so this would have crashed with 'attempt to call global getn (a nil value)' before any guide could render. Replaced with the # length operator. Also record the fix and the upstream README cleanup under 'Files we touched' in README-CoA.md.
3.1 KiB
CoA VanillaGuide
This is the CoA Guild 'Exiles' fork of VanillaGuide by mrmr (rsheep@gmail.com), imported from the 1.04.2 release archive dated 2015-03-29. Upstream is unmaintained since 2015.
The original addon targets Vanilla 1.12.1 (Interface: 11200). This
fork ports it to the Ascension 3.3.5 / Voljin client
(Interface: 30300) so it can be loaded alongside the rest of the
CoA addon set.
What we patched
1. Interface bump. VanillaGuide.toc now declares
Interface: 30300 and adds a -coa1 suffix on the version line, matching
the convention of the other coa-* forks (see e.g. coa-bartender).
2. Lua 5.0 → 5.1 vararg fix. WoW 1.12 ships Lua 5.0, which exposes
varargs as an implicit arg table. WoW 3.3.5 ships Lua 5.1, where
that table is gone — varargs are {...} or select(). The two debug
print helpers in Core.lua (Di, Dv) used the 5.0 form and would
have thrown attempt to index global 'arg' (a nil value) on every
debug call. Local-shadow arg = {...} keeps the rest of each function
unchanged.
3. Lua 5.0 getn → length operator. GuideTable.lua used the
Lua 5.0 global getn(opentext) to size a colour-substitution table.
That global is gone in Lua 5.1 (table.getn was deprecated and the
bare getn removed entirely). Replaced with #opentext. Would have
crashed on the very first guide load with
attempt to call global 'getn' (a nil value).
What is still TODO
- In-game smoke test. The addon has not yet been loaded against
the Ascension client. Expect further small breakage (frame APIs,
GetAddOnInfosignature, possibly map-zone coords) once we drive it through/vguide. - MetaMapBWP integration. MetaMap doesn't exist on 3.3.5. The
hooks in
Settings.luaandFrame_SettingsFrame.luaare gated behindIsAddOnLoaded("MetaMap")so they're effectively dead, but we'll want to retarget them at pfQuest (already in the CoA addon set) for waypoints and quest markers. - Dynamic-level-scaling content. Ascension scales every starting zone to the player, so all six vanilla starting zones are viable end-to-end. Joana's faction-locked H/A split still applies (quest givers are still faction-restricted), but the early-game chain doesn't have to funnel through the "correct" 1-12 zone first. We keep the H/A split and lean into the picker to show all three per-faction starting zones up front.
- CoA-custom content slot. No CoA-specific zones or events are
wired in yet. Once the port is verified, we add a separate
GuideTables/CoA/directory for guild content (Heroes of Ascension events, mutated-class side notes, etc.) so upstream patches can still merge cleanly into the Joana / Brian Kopps trees.
Files we touched
VanillaGuide.toc— Interface bump, CoA metadata.Core.lua— local-shadowarg = {...}insideDiandDv.GuideTable.lua—getn(opentext)→#opentext.README.md— upstream Donations / volunteer-pitch section removed.README-CoA.md— this file.
Everything else is the unmodified 1.04.2 import.