Files
florian.berthold 330a6cf067 README-CoA: add first-tester install + BugSack instructions
Walk testers through cloning into a folder named VanillaGuide (the
.toc filename, not the repo name) under Interface/AddOns/, and ask
them to install BugSack + !BugGrabber so any Lua errors come back as
copy-pasteable stacks instead of vibes.
2026-05-12 23:41:59 +02:00

4.2 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.

Installing (first testers, please read)

WoW loads addons by folder name, and the folder name has to match the .toc inside it. Our repo is called coa-vanillaguide but the .toc is VanillaGuide.toc, so clone into a folder named VanillaGuide under your Ascension client's Interface/AddOns/ directory:

cd <your-ascension-client>/Interface/AddOns
git clone https://git.sub-net.at/Exiles/coa-vanillaguide.git VanillaGuide

Then enable VanillaGuide in the in-game AddOns list, log in, and open the guide with /vguide.

Before you test, please also install BugSack + !BugGrabber. This is a code-only port — we haven't loaded it in-game yet, and any Lua error you hit is the fastest way for us to ship a second porting pass. Paste BugSack stacks into the Exiles Discord or open a ticket on https://git.sub-net.at/Exiles/coa-vanillaguide/issues.

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, GetAddOnInfo signature, possibly map-zone coords) once we drive it through /vguide.
  • MetaMapBWP integration. MetaMap doesn't exist on 3.3.5. The hooks in Settings.lua and Frame_SettingsFrame.lua are gated behind IsAddOnLoaded("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-shadow arg = {...} inside Di and Dv.
  • GuideTable.luagetn(opentext)#opentext.
  • README.md — upstream Donations / volunteer-pitch section removed.
  • README-CoA.md — this file.

Everything else is the unmodified 1.04.2 import.