Tool to convert New Vegas Xbox 360 .ddx textures to standard .dds files usable in the PC game https://www.nexusmods.com/newvegas/mods/94801
Find a file
slfx77 071ab4b7a0 Clean up formatting, fix xmldoc escaping, and suppress test warnings
Reformat alignment in tiling bit-manipulation, use static JsonSerializerOptions,
fix xmldoc less-than escaping in TextureUtilities, suppress CA1707 in tests,
and simplify named argument usage.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 22:43:32 -05:00
DDXConv Clean up formatting, fix xmldoc escaping, and suppress test warnings 2026-03-18 22:43:32 -05:00
DDXConv.Tests Clean up formatting, fix xmldoc escaping, and suppress test warnings 2026-03-18 22:43:32 -05:00
.gitignore DXT5 and BC5 (some ui + normal maps) 2025-11-27 17:12:07 -08:00
DDXConv.sln Fix 3 LZX decompression bugs, remove XCompression dependency 2026-02-10 22:38:44 -06:00
DDXConv.sln.DotSettings.user finalize for release 2025-11-29 20:54:22 -08:00
LICENSE Add MIT License to the project 2026-01-15 02:34:47 -08:00
README.MD Fix DDX mip extraction and add regressions 2026-03-10 11:18:12 -05:00

DDXConv

Tool to convert New Vegas Xbox 360 .ddx textures to standard .dds files usable in the PC game


Current status (numbers from July 2010 proto): Converts most textures correctly (22148 out of 26123). Generally, if you want a texture out of the game, you can probably get it with this tool. Everything I have wanted has been supported.

Known Issues:

  • Some textures appear to have issues with their mipmaps, I have made an effort to extract them properly, but an option to regenerate mips is included (-g or --regen-mips) so you can reliably get good data.
  • 13 3XDO files fail to convert for one reason or another. This seems to be related to them having a low resolution in at least one axis (8px or lower)

Pull requests and issues are welcome to address these issues or any other bugs you may find.


Usage

You are expected to extract ddx files from bsa archives yourself. Support will not be added for this.

Single File: DDXConv <input_file> [output_file] [options]
      Batch: DDXConv <input_directory> <output_directory> [options]

Standard Options:
  --pc-friendly, -pc   Produce PC-ready normal maps (batch conversion only!)
  --regen-mips, -g     Regenerate mip levels from top level

Memory Dump Options (for textures carved from memory dumps):
  --memory, -m         Use memory texture parser (handles memory dump layouts)
  --atlas, -a          Save full untiled atlas as separate DDS file

GUI Integration Options:
  --progress, -p       Output machine-parseable progress (batch mode only)
                       Format: [PROGRESS] STATUS <path> [error]

Developer Options:
  --raw, -r            Save raw combined decompressed data as binary file
  --save-mips          Save extracted mip levels from atlas
  --save-mip-images    Save converted DDS mip chain as PNG files
  --no-untile-atlas    Do not untile/unswizzle the atlas (leave tiled)
  --no-untile          Do not untile/unswizzle ANY data (for debugging)
  --no-swap            Do not perform endian swap on data
  --verbose, -v        Enable verbose output

Requires XNA Framework Redistributable and .NET 10.0 Runtime (x86) to run.


Credits

Untiling code based on xenia
Decompression handled via XCompression (thanks MrPinball64 for the pointer!)
Special thanks to everyone in the TriangleCity Discord for their accompaniment while I worked on this.
Thanks to slfx77 for their work cleaning up some of my code and fixing 3XDR conversion


Other Tools for New Vegas Prototypes