d1961e79fc
Integrate 182 upstream commits throughb2473e60while retaining MoonWell packaging, branding and the community ruRU pack. Upstream replaces the C Lua/mlua host with benilla-lua/benilla-mlua and the native glue screens with stock GlueXML. The update also includes the new locale/DBC/name rules, cache and interaction handling, rendering, quest log and chat behavior, including the latest quest completion and timed-quest failure fixes. Fork adaptations use the new APIs: stock Wow.ini locales remain intact, while the ruRU overlay reads column zero and retains its ruRU authentication tag and Lua identity. Russian names keep their twelve-letter policy and Unicode roster matching; fonts, spell costs, race/class labels and translated options retain real-pack regression coverage. Windows regression fixes keep the locale-default test valid under instrumented window overrides and the shader assertion independent of checkout line endings. The original C Lua 5.1 host, rebuilt fromc0630f3din an isolated directory, reproduces the complete Windows cos-sweep answer byte for byte; cos now uses platform-specific goldens. Validation on Windows: scripts/gates.sh passed all automatic gates, including real-data and no-install workspace tests, reference tables, documentation, message catalog, render-pass lint, player clippy/tests and engine boots with and without data. MoonWell player clippy also passed with -D warnings. The committed tree exactly matches the full green stamp; five vendored Kira files retain the tested checkout's line endings, with normalized contents unchanged. All three actual ruRU pack regressions passed in both builds. Fifteen test archives were restored read-only from the published client and SHA-256 checked. Each real-data/player rung skipped 31 tests because the optional addon corpus is absent (24 general, 7 Quiver). Live smoke was not run: no declared probe account; no player-account login or character creation was performed. Linux/macOS changes were not locally built.
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