Skip to content

v3.0.0-alpha.2

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Aug 03:06
· 43 commits to main since this release

588 commits since v3.0.0-alpha.1 (2026-06-02 → 2026-08-19).

The short version: the tool stopped being a Fallout New Vegas utility and became a Bethesda one. Record reading now spans Morrowind through Starfield, the 3D viewer moved to D3D12 and grew an engine-grounded lighting and water stack, and a texture-decoding bug that had been silently corrupting roughly a fifth of all converted textures was found and fixed.

Still an alpha — see Known limitations near the bottom before relying on any output.


Highlights

Multi-game record reading

Record and subrecord decoding extended from Fallout 3 / New Vegas to Oblivion (TES4), Morrowind (TES3), Skyrim LE, Fallout 4, Fallout 76, and Starfield. Rather than hand-writing a decoder per game, tools/EsmSchemaGen generates per-game C# schemas from xEdit's wbDefinitions*.pas, so a new game is a regeneration rather than a rewrite.

Records, dialogue, and NPC/armor/weapon/quest/package displays are wired for every supported game, with localized string tables (.STRINGS, and BA2-localized for Fallout 76) resolving base names, dialogue topics, and map markers that previously rendered as mojibake.

Read-only. Unmatched subrecords and undecodable tails stay visible as raw nodes rather than being dropped, but this is explicitly not a no-data-loss editing contract — inline unused bytes are consumed without individual retention, and there is no generic schema writer yet.

3D worldspace viewer

Migrated from D3D11 to D3D12, then built out considerably:

  • Lighting & atmosphere — imagespace HDR/tonemap (IMGS/IMAD) with BrightPass bloom, 4-cascade sun shadow maps with off-screen caster replay, sky dome with sun/moon billboards, layered clouds, per-game ambient/DALC lighting, and day/night gating for placed lights.
  • Water — per-game water shaders derived from decompiled engine shaders, authored NIF water geometry, and mirrored-scene reflections for Oblivion.
  • Vegetation — SpeedTree with weather-driven wind, engine-accurate LOD0 geometry rebuild, and canopy-depth dimming.
  • Collision & movement — NIF Havok collision decoding with walk-mode ground and wall collision.
  • Animation — NIF playback (banner sway, waterfall/lava scroll), NiControllerManager idle sequences, Morrowind keyframe animation, and rigid-node baking.
  • Projection & export — orthographic/isometric/trimetric modes; tile-and-stitch raises the non-tiled PNG export cap to 16384px.

2D world map

Per-game map markers with authentic icons extracted offline from each game's own SWF — Skyrim, Fallout 4 (including faction and DLC types), Fallout 76, and Oblivion's parchment tiles. Plus terrain streaming with a viewport LRU, per-worldspace water, a searchable worldspace browser, layer export, and a FormID heatmap overlay.

DDX texture decoding — silent corruption fixed

The LZX decompressor stopped writing when its output buffer filled and still reported success. The buffer was sized from a mip-0 linear-size hint, so any texture whose real tiled extents exceeded that hint was silently truncated — roughly 4,700 of 22,616 converted textures shipped with black rectangles.

It went unnoticed because the validation harness compared golden hashes, which were stable: the corruption was deterministic, so every run reproduced the same wrong bytes. The buffer is now sized from real tiled extents, with pitch-rounding and tail-base fixes, shape-keyed heuristics removed, and a mean-absolute-error oracle plus decode diagnostics replacing hash-only validation.

Script decompilation

Papyrus (.pex) decompilation for Skyrim, Fallout 4, and Fallout 76, and ObScript extended to Oblivion via game-keyed opcode tables. A hash-pinned retail gate parses and decompiles all 7,194 scripts in the shipped MiscClient archive. Uninterpreted flag bits and references stay visible rather than being assigned guessed semantics.

Archives, VFS & repacking

  • Format-agnostic archive command group (BSA and BA2 auto-detected by magic; bsa/ba2 kept as aliases), with BA2 (BTDX) read support and LZ4 block decoding for Skyrim SE v105.
  • A layered game VFS with lock-free BSA reads, so loose files and archives resolve through one view in load order.
  • Xbox 360 repacking — console menus unpacked from final_master_xml.dat, _n/_s specular maps merged in memory, and MP3 music delivered loose because FNV cannot read MP3 from a BSA (Fallout 3 can).

DMP→ESM converter

Renamed from DMP→ESP (dmp to-esm; to-esp kept as a back-compat alias) and moved onto a plan-time pipeline — every emission decision is settled by the planner before a byte is written. Navmesh handling, cell parentage, placed-reference disposition, leveled-spawn recovery, and dialogue reconstruction all saw substantial work.

Tooling

tools/EsmSchemaGen (schema generation), tools/ShaderProbe (FNV shader package probing), headless renderer and 2D-map profiler apps with JSONL traces and camera automation, and an audio transcriber with a playlist review panel and timestamp converter.


Known limitations

This is an alpha release. Known-open items at the time of tagging:

  • Starfield — normal maps are parsed but not yet wired into the renderer; terrain UV scaling and edge creases are unresolved.
  • Fallout 76 — map markers are not yet surfaced.
  • Record editing — decode is read-only. There is no generic schema-driven writer, so no round-trip editing.
  • DMP→ESM output — converted plugins load and are playable, but memory-dump captures are inherently incomplete; output is not a substitute for a real plugin.
  • Xbox 360 repacking — the menu-delivery policy is settled for the six menus the retail PC executable cannot run, but the broader policy is still open.
  • Skyrim schema — the IsSSE v43 wrapper and write-side member selection remain unimplemented.

Verification

Full non-incremental Release build across both target frameworks and all companion apps: 0 warnings, 0 errors. Test suite: 7,980 passed, 0 failed, 177 skipped (real-asset, GPU, and shader-compilation suites are opt-in via environment gates; the shader gate runs in CI).

Downloads

Artifact Contents
BethesdaMultitool-Windows-GUI-x64.zip WinUI 3 desktop app, self-contained
BethesdaMultitool-Windows-CLI-x64.zip Command-line tool, self-contained
BethesdaMultitool-Linux-CLI-x64.tar.gz Command-line tool, self-contained
BethesdaAudioTranscriber-Windows-x64.zip Companion transcriber app

All builds are self-contained — no .NET runtime install required.

The full changelog entry, including the Changed and Removed sections, is in CHANGELOG.md.