- a player build ships beside the dev one — dev chords and probe surfaces go dark, and a gate enforces what a player can still reach, by medium not by module - the binary carries its own shaders and its shipped UI, finds the WoW folder by itself, and keeps its local state in one benilla-config folder - the glue screens get a capture shutter, and the engine stops depending on the protocol crate Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
27 lines
1.1 KiB
Rust
27 lines
1.1 KiB
Rust
//! Throwaway: print the interrupt-flag columns for named spell ids, so a claim about what
|
|
//! cancels a spell locally can be checked against the real shipped Spell.dbc.
|
|
fn main() -> anyhow::Result<()> {
|
|
let data = benilla_formats::wow_data().expect("no WoW install found (set $WOW_DATA)");
|
|
let mut chain = benilla_formats::open_chain(&data)?;
|
|
let catalog = benilla_formats::load_spell_catalog(&mut chain)?;
|
|
for arg in std::env::args().skip(1) {
|
|
let id: u32 = arg.parse()?;
|
|
let Some(d) = catalog.get(id) else {
|
|
println!("{id}: no row");
|
|
continue;
|
|
};
|
|
println!(
|
|
"{id} {:?}\n InterruptFlags={:#x} (movement bit 0x1 = {})\n AuraInterruptFlags={:#x} ChannelInterruptFlags={:#x}\n Attributes={:#x} AttributesEx={:#x} AttributesEx2={:#x}",
|
|
d.name,
|
|
d.interrupt_flags,
|
|
d.interrupt_flags & 0x1 != 0,
|
|
d.aura_interrupt_flags,
|
|
d.channel_interrupt_flags,
|
|
d.attributes,
|
|
d.attributes_ex,
|
|
d.attributes_ex2,
|
|
);
|
|
}
|
|
Ok(())
|
|
}
|