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 autopicks 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).
--cpukeeps everything on the processor. - Options for the curious:
--comparescores a solve against the map's shipped lightmaps,--batchtrades a little fidelity for speed,--texel-elementsstops patches from getting finer than the page can show,--element-edgesdraws the patches over each page, and--verbosereports where the time and the light went. mjolnir megalo write --vehicle-label-pooland--require-labelwrite 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 collisionnow 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.