Skip to content

MJOLNIR CLI cli-v0.4.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 19:42
· 16 commits to main since this release
Immutable release. Only release title and notes can be modified.
9e36e0e

Classic map lightmaps re-solved on your GPU, at any resolution

Re-solve a classic Halo CE map's lightmaps with its original radiosity, at several times the shipped resolution and on your GPU, plus per-game-type vehicles.

This release brings the lighting behind the re-lit classic maps: the CLI now
solves a classic map's lightmaps itself, the way the original level tools
did, at a resolution of your choosing. It also carries the converted maps'
per-game-type vehicles and scenery that stops bullets.

Added

  • mjolnir level lightmaps <staging> <scene.gltf> <out> solves a
    classic map's lightmaps with Halo CE's own radiosity: the sky's sun and
    fill, the light that glowing surfaces give off, and the light bouncing
    between surfaces. It writes pages at a multiple of the shipped pages' size
    (--scale auto picks the largest that stays within budget, up to 2048 a
    side), drawing the sun and fill at every texel so shadow edges stay crisp.
    Two companion pages per lightmap page record where the sun reaches and the
    light without the sun, for the converted maps' Unreal lighting.
  • It runs on your GPU. The rays go through the graphics card's ray
    tracing hardware where it has some (Vulkan), otherwise through a compute
    shader (Vulkan, DirectX 12 or Metal), and the solve falls back to the CPU
    when there is no usable graphics card. On an RTX 5090 Blood Gulch solves
    in 9 seconds and Gephyrophobia in about 2 minutes (under 5 on 32 CPU
    threads). --cpu keeps everything on the processor.
  • Options for the curious: --compare scores a solve against the
    map's shipped lightmaps, --batch trades a little fidelity for speed,
    --texel-elements stops patches from getting finer than the page can
    show, --element-edges draws the patches over each page, and --verbose
    reports where the time and the light went.
  • mjolnir megalo write --vehicle-label-pool and --require-label
    write game types that place each team's vehicles the way Halo CE's game
    variants did, so a converted map no longer spawns every game type's
    vehicles at once.

Changed

  • Scenery blocks bullets. mjolnir level collision now builds a placed
    object's collision into the level's collision tree, so projectiles hit
    Covenant shields and similar scenery that players and vehicles already
    collided with.

Full changelog · All releases


Install

Windows

scoop bucket add mjolnir https://github.com/devnull9090/mjolnir-core
scoop install mjolnir

macOS and Linux (Homebrew)

brew tap devnull9090/core https://github.com/devnull9090/mjolnir-core
brew install mjolnir

Debian, Ubuntu — sudo dpkg -i mjolnir_0.4.0_amd64.deb
Fedora, RHEL, CentOS, openSUSE — sudo rpm -i mjolnir-0.4.0-1.x86_64.rpm

Or take an archive below, unpack it anywhere, and put that folder on
your PATH. The Linux binary is statically linked, so it runs on any
distribution without installing anything alongside it.

Downloads

File SHA-256
mjolnir-0.4.0-windows-x64.zip 1ad1337e303e3d8b5e19ff53c99ae544e8e4aa290e9f0bc11424a22ae59da83a
mjolnir-0.4.0-linux-x64.tar.gz 79241cd6a03e3f24e7ffa534b6ce81affaebe3bd341ddcd069998ca9cbd0bf34
mjolnir-0.4.0-macos-universal.tar.gz c3814058661e08d5c7adf500cb38d2dc222acc7551451bed004bb4ba8103c79c

The macOS build is a universal binary — the same file runs on Intel
and on Apple Silicon. .deb and .rpm checksums are in the
checksums file attached below.

Verify your download

(Get-FileHash .\mjolnir-*.zip -Algorithm SHA256).Hash
shasum -a 256 mjolnir-*.tar.gz

Compare the output with the checksum above. They must match exactly.