994f9f9610
`reference/` held benilla's own copies of the reference's tables, some derived by its own scripts from older inputs: the fire-site table kept one event id where a site fires two, and credited glue-screen sites to in-game events. Now `reference/` is benilla-re's tables at the commit `reference/PIN` names, byte for byte: bindings, events, glue events, messages, event arguments, verb events, the glue surface, the Lua globals, chat types and groups, and CVars. `scripts/sync-reference.py` copies them, and its `--check` runs in the gates and in CI. Four generators and nine old files go, and every reader moves to the new columns. New tests hold the chat type, chat group and CVar tables to the copies; the CVar rows already filed are listed as known. Fixes #245 Fixes #960 Part of #244 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
1.1 KiB
1.1 KiB
benilla
A from-scratch World of Warcraft 1.12.1 client in Rust and Bevy. The reference client is the spec: benilla is a faithful, modern implementation of it, not a place to get creative.
Read, in this order:
docs/METHOD.md— the rules and how we work. Binding for every session.docs/MAP.md— what is built right now, generated from the code. Orient here before touching anything.docs/CONTRIBUTING.md— what gets in and how a change is judged.
What the real client does comes from benilla-re, the
reverse engineering of 1.12.1, before you build: clone it beside this repo and grep it, or look an
address up at https://samwhosung.github.io/benilla-re/?0x5e6853. docs/CONTRIBUTING.md, "The
reference", says how to read it and what to do when it has a gap.
The rest of the root is code and data: crates/ the workspace, reference/ benilla-re's
tables vendored at a pinned commit, which the tests check against, scripts/ the gates and
instruments, third_party/ vendored code.
@docs/METHOD.md