b96e1ce8b2
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.
72 lines
3.1 KiB
Markdown
72 lines
3.1 KiB
Markdown
CoA VanillaGuide
|
|
================
|
|
|
|
This is the CoA Guild 'Exiles' fork of [VanillaGuide][upstream] by
|
|
mrmr (rsheep@gmail.com), imported from the 1.04.2 release archive
|
|
dated 2015-03-29. Upstream is unmaintained since 2015.
|
|
|
|
[upstream]: https://github.com/rsheep/VanillaGuide
|
|
|
|
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,
|
|
`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.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.
|