A .NET 10.0 toolkit for Xbox 360 memory dump analysis, ESM/NIF format conversion, file carving, and game data exploration. Features a WinUI 3 GUI on Windows, a cross-platform CLI for batch processing, and a standalone Audio Transcriber for voice file transcription.
- ESM Data Browser: Explore ESM records with search, property display, and GECK-style flag decoding
- Dialogue Viewer: Browse NPC dialogue trees by speaker, quest, and topic
- World Map: Interactive heightmap visualization with cell navigation and placed object overlay
- Hex Viewer: Virtual-scrolling hex editor supporting 200MB+ files with minimap overview
- Memory Carver: File signature detection, extraction, and DDX/XMA conversion
- BSA Extractor: Extract Bethesda archive files with Xbox 360 to PC conversion
- NIF Converter: Xbox 360 to PC NIF mesh conversion (geometry expansion, endian conversion)
- DDX Converter: Batch DDX to DDS texture conversion
- Repacker: Rebuild Xbox 360 memory regions with modified assets
| Command | Description |
|---|---|
carve |
Extract files from memory dumps with type filtering |
analyze |
Full ESM semantic reconstruction with GECK-format CSV/text reports |
esm |
Convert Xbox 360 ESM to PC format (GECK compatible) |
nif |
Convert Xbox 360 NIF meshes to PC format |
bsa |
Extract BSA archives |
dialogue |
Browse and export NPC dialogue trees |
world |
Explore worldspace data, heightmaps, and placed objects |
save |
Inspect Xbox 360 Fallout NV save game files |
compare |
Compare ESM files (converted vs. PC reference) |
modules |
List loaded modules from memory dumps |
coverage |
Analyze memory region coverage |
A standalone companion app for transcribing Fallout: New Vegas voice files using Whisper speech-to-text. See the Audio Transcriber section below for details.
| Category | Formats |
|---|---|
| Game Data | ESM/ESP (Xbox 360 and PC, with full conversion), FOS (save games) |
| Models | NIF (Xbox 360 to PC conversion with geometry expansion) |
| Archives | BSA (Bethesda Softworks Archive) |
| Textures | DDX (3XDO/3XDR), DDS, PNG |
| Audio | XMA (Xbox Media Audio), WAV, LIP (lip sync) |
| Scripts | ObScript bytecode (decompilation + comparison) |
| Executables | XEX (Xbox Executable) |
| UI | XDBF (Xbox Dashboard) |
| Crash dumps | Xbox 360 minidumps with PDB-aware struct reading |
Download from Releases:
| Platform | Download |
|---|---|
| Windows GUI | FalloutXbox360Utils-Windows-GUI-x64.zip |
| Windows CLI | FalloutXbox360Utils-Windows-CLI-x64.zip |
| Linux CLI | FalloutXbox360Utils-Linux-CLI-x64.tar.gz |
| Audio Transcriber | FalloutAudioTranscriber-Windows-x64.zip |
Requires .NET 10 SDK.
# Clone with submodules
git clone --recursive https://github.com/slfx77/fallout-xbox-360-utils.git
cd fallout-xbox-360-utils
# Build all targets
dotnet build -c Release
# Run GUI (Windows only)
dotnet run --project src/FalloutXbox360Utils -f net10.0-windows10.0.19041.0
# Run CLI (cross-platform)
dotnet run --project src/FalloutXbox360Utils -f net10.0 -- --help
# Run tests
dotnet test -p:CollectCoverage=falseLaunch without arguments for the GUI, or auto-load a file:
FalloutXbox360Utils.exe
FalloutXbox360Utils.exe path/to/dump.dmpTabs: Single File (ESM browser, dialogue, world map, hex viewer) | BSA Extractor | NIF Converter | DDX Converter | Repacker | Batch Mode
# Extract files from a memory dump
FalloutXbox360Utils carve dump.dmp -o output -t ddx xma nif --convert-ddx
# Analyze ESM from a memory dump (generates GECK-format reports)
FalloutXbox360Utils analyze dump.dmp -o reports/
# Convert Xbox 360 ESM to PC format
FalloutXbox360Utils esm convert Sample/ESM/360_final/FalloutNV.esm -o FalloutNV.pc.esm
# Convert Xbox 360 NIF to PC format
FalloutXbox360Utils nif mesh.nif -o mesh_pc.nif
# Browse dialogue
FalloutXbox360Utils dialogue dump.dmp --npc CraigBoone
# Explore worldspace
FalloutXbox360Utils world dump.dmp --worldspace WastelandNV
# Inspect a save game
FalloutXbox360Utils save info savegame.fos
# Force CLI mode on Windows (otherwise defaults to GUI)
FalloutXbox360Utils --no-gui dump.dmp -o outputThe Fallout Audio Transcriber is a standalone WinUI 3 application for browsing and transcribing Fallout: New Vegas voice files. It is provided as a precompiled download in Releases.
- Loads voice audio files (XMA, WAV) from Bethesda BSA archives
- Plays back voice lines with an integrated audio player
- Transcribes speech to text using Whisper.net (OpenAI Whisper, runs locally)
- Cross-references voice files against the ESM to display speaker names, quest context, and existing subtitle text
- Saves transcription projects for incremental work across sessions
- Download and extract
FalloutAudioTranscriber-Windows-x64.zipfrom Releases - Launch
FalloutAudioTranscriber.exe - Point it at a Fallout: New Vegas
Datadirectory containing voice BSA files (e.g.,Fallout - Voices1.bsa) - The app parses all voice BSAs, cross-references with
FalloutNV.esmif present, and presents a browsable playlist
- On first use, the Whisper model (
ggml-base.en, ~148 MB) is automatically downloaded to%LocalAppData%\FalloutAudioTranscriber\models\ - Audio is resampled to 16kHz mono before transcription
- Transcriptions are saved alongside the Data directory and persist across sessions
- Voice files with existing ESM subtitles (NAM1) are shown alongside Whisper transcriptions for comparison
- Windows 10 (build 17763+) or later
- No additional dependencies required (self-contained build with Whisper runtime included)
The ESM converter handles Xbox 360 to PC format conversion for Fallout: New Vegas master files:
- Endian conversion: Record/subrecord headers and data fields (hybrid big/little-endian)
- Split INFO merging: Xbox 360's split dialogue records merged to match PC format
- Schema-driven: Field types defined in
SubrecordSchemaRegistryfor correct byte-swapping - GECK compatible: Output loads in the Garden of Eden Creation Kit
Decompiles ObScript bytecode (SCDA subrecords) back to readable script source:
- Full opcode coverage for Fallout: New Vegas
- Cross-script variable resolution via SCRO/SCRV reference chains
- FormID to EditorID resolution for human-readable output
- Semantic comparison between original SCTX source and decompiled output
Standalone CLI tools for format analysis and debugging. These are not included in precompiled releases -- build from source with dotnet run --project tools/<name>.
| Tool | Description |
|---|---|
tools/EsmAnalyzer |
ESM analysis, comparison, semantic diff, format conversion, WRLD OFST streaming analysis, worldmap visualization |
tools/NifAnalyzer |
NIF mesh structure inspection, vertex/geometry comparison, skin partition and Havok physics debugging |
tools/TextureAnalyzer |
DDX/DDS texture analysis, decompression, block map visualization, format conversion |
tools/MinidumpAnalyzer |
Xbox 360 minidump memory region analysis, module enumeration, FaceGen extraction, script analysis |
tools/BsaAnalyzer |
BSA archive inspection, file search by pattern, entry comparison, file type statistics |
tools/PdbAnalyzer |
PDB symbol analysis and function extraction |
tools/TerrainAnalyzer |
Terrain and heightmap analysis and visualization |
tools/SignatureScanner |
File signature scanning utilities |
tools/LzxVerify |
LZX compression verification |
# ESM analysis and comparison
dotnet run --project tools/EsmAnalyzer -c Release -- stats FalloutNV.esm
dotnet run --project tools/EsmAnalyzer -c Release -- semdiff converted.esm pc_reference.esm -t NPC_
# Memory dump script analysis
dotnet run --project tools/MinidumpAnalyzer -- scripts dump.dmp
# NIF structure analysis
dotnet run --project tools/NifAnalyzer -- info mesh.nif
# Texture analysis
dotnet run --project tools/TextureAnalyzer -- info texture.ddx
# BSA file search
dotnet run --project tools/BsaAnalyzer -- find archive.bsa "*.nif"src/FalloutXbox360Utils/
├── App/ # WinUI 3 GUI (Windows only)
│ ├── Controls/ # WorldMapControl
│ ├── Helpers/ # Tree builders, display helpers
│ ├── Models/ # Session state, view models
│ └── Tabs/ # SingleFile, BSA, NIF, DDX, Repack, Batch
├── CLI/ # Cross-platform CLI commands
├── Core/ # Format libraries
│ ├── Carving/ # File signature detection and extraction
│ ├── Formats/
│ │ ├── Bsa/ # BSA archive extraction
│ │ ├── Ddx/ # DDX texture parsing
│ │ ├── Esm/ # ESM parsing, conversion, export, runtime readers
│ │ ├── Nif/ # NIF mesh parsing and conversion
│ │ └── SaveGame/ # Xbox 360 save game (FOS/STFS) parsing
│ ├── Minidump/ # Xbox 360 minidump parsing
│ └── Utils/ # Binary utilities
└── Repack/ # Memory region repacking
src/FalloutAudioTranscriber/ # Whisper-based voice file transcriber (WinUI 3)
src/DDXConv/ # DDX conversion library (submodule)
tools/
├── EsmAnalyzer/ # ESM comparison, semantic diff, conversion
├── NifAnalyzer/ # NIF structure inspection and comparison
├── TextureAnalyzer/ # DDX/DDS texture analysis
├── MinidumpAnalyzer/ # Runtime memory analysis, script extraction
├── BsaAnalyzer/ # BSA archive inspection
├── PdbAnalyzer/ # PDB symbol analysis
├── TerrainAnalyzer/ # Terrain/heightmap analysis
├── SignatureScanner/ # File signature scanning
├── LzxVerify/ # LZX compression verification
└── Shared/ # Shared CLI strings library
Some features require external tools. The GUI shows a notification on startup if any are missing.
XMA to WAV conversion requires FFmpeg on PATH or at C:\ffmpeg\bin\. Without it, XMA files are extracted but not converted to WAV.
- Xbox 360 ESM Format - ESM binary format and hybrid endianness
- ESM Conversion Transforms - Conversion field mappings
- DDX Format - DDX texture format documentation
- PDB Runtime Structures - Gamebryo runtime struct layouts
- Script Bytecode Format - ObScript SCDA bytecode format
- RTTI to ESM Coverage - C++ RTTI class to ESM record type mapping
MIT License - See LICENSE for details.
| Component | License | Usage |
|---|---|---|
| DDXConv | MIT | DDX to DDS texture conversion (forked, built-in) |
| NifSkope nif.xml | BSD-3-Clause | NIF format schema (embedded) |
| Xenia | BSD-3-Clause | Xbox 360 texture tiling code (in DDXConv) |
- Veldrid - GPU rendering abstraction (MIT)
- Spectre.Console - CLI output formatting (MIT)
- System.CommandLine - CLI argument parsing (MIT)
- Magick.NET - Image processing (Apache-2.0)
- SixLabors.ImageSharp - Image processing (Apache-2.0)
- BCnEncoder.Net - Block compression encoding (MIT)
- Whisper.net - Speech-to-text transcription (MIT)
- NAudio - Audio playback and resampling (MIT)
- xunit - Unit testing (Apache-2.0)
- microsoft/microsoft-pdb - PDB format and cvdump tool (MIT)
- wbenny/pdbex - PDB struct layout extraction (MIT)
- 0dinD/ghidra - VMX128 PowerPC SLEIGH definitions for Ghidra
- xEdit / TES5Edit - ESM format documentation
- AlexxEG/BSA_Browser - BSA format reference
- fo76utils/NifSkope - NIF format documentation (BSD-3-Clause)
- GamesPastOrg/DDXConv - DDX texture conversion (MIT, Copyright 2026 Kran)