Files
moonwell-client-core/crates/benilla-lua/examples/dis.rs
T
sindoring d1961e79fc Sync upstream through b2473e60 and retain ruRU (#8)
Integrate 182 upstream commits through b2473e60 while 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 from c0630f3d in 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.
2026-10-17 21:10:31 +03:00

21 lines
660 B
Rust

//! Prints the bytecode of a chunk and its functions: `cargo run --example dis -- '<lua>'`.
fn dump(p: &benilla_lua::proto::Proto, depth: usize) {
let pad = " ".repeat(depth);
println!(
"{pad}function {} (params {}, maxstack {})",
p.key, p.nparams, p.maxstack
);
for (i, op) in p.code.iter().enumerate() {
println!("{pad} {i:3} {op:?}");
}
for q in &p.protos {
dump(q, depth + 1);
}
}
fn main() {
let src = std::env::args().nth(1).unwrap();
let mut heap = benilla_lua::heap::Heap::default();
let p = benilla_lua::compile(src.as_bytes(), b"=dis", &mut heap).unwrap();
dump(&p, 0);
}