All tools

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,292 shipped tags at once.

Previews

No screenshots yet.

Install it

Install it with Scoop on Windows or Homebrew on macOS and Linux, or take an archive below. Building it yourself (cargo build --release -p blam-cli) is only needed to change the tool.

1
Scoop (Windows)
scoop bucket add mjolnir https://github.com/devnull9090/mjolnir-core; scoop install mjolnir
2
Homebrew (macOS, Linux)
brew tap devnull9090/core https://github.com/devnull9090/mjolnir-core && brew install mjolnir
3
Point it at the game (PowerShell)
$env:HCE_PAKS = "C:\Program Files (x86)\Steam\steamapps\common\Halo Campaign Evolved\Meteorite\Content\Paks"
4
Try it
mjolnir groups

What 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,292 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

OSWindows x64, Linux x64, or macOS
GameHalo Campaign Evolved (Steam)
PathsHCE_PAKS env var, or --paks
OodleOptional — OODLE points at a DLL for ~4× faster decodes

Nothing shipped is ever modified: the game's containers are opened read-only, and an edit produces a new file.