Move the high-value retail RE artifacts from refs/ (per-developer
download cache, gitignored) into committed paths so subagents +
post-compaction sessions inherit them without round-tripping:
- docs/research/named-retail/acclient_2013_pseudo_c.txt (62 MB,
Binary Ninja named pseudo-C, 99.6% function-name recovery —
18,366 named functions out of 18,598 public symbols)
- docs/research/named-retail/acclient.h (1.7 MB / 70,719 lines,
IDA-decompiled retail struct definitions verbatim — Attribute,
SecondaryAttribute, AttributeCache, Attribute2ndTable, SkillFormula,
Enchantment, CEnchantmentRegistry with _mult_list/_add_list/_vitae,
CSpellBook, MotionState, RawMotionState, MoveToStatePack, CACQualities,
CPhysicsObj — every retail object-model layout we'd otherwise have
to guess at)
- docs/research/named-retail/acclient.c (46 MB, secondary named
decomp — IDA full-binary export with mixed FUN_/named functions
plus named struct fields the chunked Ghidra output lacks)
- docs/research/data/spells.csv (3,956 spells × 35 cols including
Family for buff stacking — issue #6 unblocked)
actestclient-master vendored at references/actestclient/ (extracted
from refs/actestclient-master-2019-01-10.zip; contains the canonical
machine-readable wire-schema messages.xml). Covered by existing
references/ gitignore — per-developer reference, not committed.
Repo precedent for committing decompiled retail content was set at
commit 4d36756 (18 MB Ghidra chunks). This adds ~110 MB more of the
same qualitative content. Ripgrep handles it in <1s.
Foundation for the named-retail workflow change in CLAUDE.md (next
commit). Plan at C:/Users/erikn/.claude/plans/ticklish-conjuring-cake.md
Phase A.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
29 lines
1.3 KiB
Markdown
29 lines
1.3 KiB
Markdown
# Game-data tables
|
||
|
||
Reference data tables loaded by acdream at runtime or used as research
|
||
input. Tracked in git so subagents + post-compaction sessions inherit
|
||
them without round-tripping through `refs/`.
|
||
|
||
## Contents
|
||
|
||
| File | Loader | Notes |
|
||
|------|--------|-------|
|
||
| `spells.csv` | `src/AcDream.Core/Spells/SpellTable.cs` (load via `SpellTable.LoadFromCsv` at `GameWindow.OnLoad`). Copied to `bin/<config>/net10.0/data/spells.csv` via `<None Update>` in `AcDream.App.csproj`. | 3,956 retail spells × 35 columns. Key fields: `Spell ID`, `Name`, `School`, `Family` (buff stacking bucket — issue #6 needs this), `IconId [Hex]`, `Mana`, `Duration`, `IsDebuff`, `IsFellowship`, `Description`. |
|
||
|
||
## Format note — `spells.csv`
|
||
|
||
RFC 4180 with header row. The `Description` column is quoted with embedded
|
||
commas; everything else is plain. See `SpellTable` parser for the canonical
|
||
column ordering.
|
||
|
||
## Provenance
|
||
|
||
`spells.csv` came from a server-side database export of the retail
|
||
spell table (likely a community-shared dump from circa 2017-2019 with
|
||
~99% field coverage). Spell IDs match the wire opcodes used by ACE.
|
||
The `Family` column is the AC retail spell-family enum used for buff
|
||
stacking.
|
||
|
||
If the file ever needs updating from a fresher source, replace
|
||
`spells.csv` in this directory; the `<None Update PreserveNewest>`
|
||
copy will sync it to bin output on next build.
|