mjolnir CLI
Inspect and patch tag data from the command line.
The same tag engine the editor runs on, driven from a shell. It reads an installed game read-only, prints fields with their resolved values, and patches one by name — as a dry run until you ask for a file. It is also how the format's claims are checked, over all 12,290 shipped tags at once.
Previews
No screenshots yet.
Build it
No binary is published yet — build it from the repository. The result lands at target/release/mjolnir.
git clone https://github.com/devnull9090/mjolnir-corecd mjolnir-core; cargo build --release -p blam-cli$env:HCE_PAKS = "C:\Program Files (x86)\Steam\steamapps\common\Halo Campaign Evolved\Meteorite\Content\Paks".\target\release\mjolnir.exe groupsWhat it does
Find your way around
mjolnir groups summarises all 101 tag groups with counts; mjolnir list and mjolnir values take you from a group to one tag's fields, with enums, bitfields, references and colours resolved to names.
Set a field by path
The same dotted path the editor shows on hover. Every set reports which bytes moved, re-parses the result and reads the value back out — and writes nothing until you pass --out.
Check the whole install
validate, roundtrip and recode run over all 12,290 tags: structural invariants, byte-identical rewrites, and a decode/re-encode of every field. None of them writes anything.
Poke the running game
mjolnir poke locates a tag's payload in the live process and writes a field into it, confirming the bytes afterwards. Gone at the next launch, and never on disk.
Export the schema
mjolnir defs dumps the whole definition corpus as JSON — field names, types and offsets. Schema only: extracted tag values are game content and stay on your machine.
What you need
Nothing shipped is ever modified: the game's containers are opened read-only, and an edit produces a new file.