A utility for combining split DDS (DirectDraw Surface) texture files, specifically designed for handling CryEngine texture formats.
DDS-Unsplitter combines split DDS texture files back into their original form. It's particularly useful for working with CryEngine textures where a single texture might be split into multiple files (a header file and several mipmap files), including DDS cubemaps.
For DDNA files with the gloss channel in the alpha layer, the unsplitter will take the texture and
create 2 separate textures: one with the normal map and a second with the gloss details. The gloss
texture will have _gloss
appended to the file name, prior to the extension. For example, if you
convert the file gloss_ddna.dds
, you will end up with a gloss_ddna.dds
file with the normal data.
- Combines split DDS files into a single file
- Handles both standard DDS and DXT10 formats
- Preserves CryEngine-specific formatting
- Option for safe file handling (prevents overwriting originals)
- Properly handles DDS cubemaps and signed distance fields (SDF) files
- Converts DDNA (split normal and gloss textures) into a pair of files
- Go to the Releases page
- Download the latest release's executable
- Place it wherever you want to use it (no installation required).
- Add the executable to your system PATH for easy access.
- Clone the repository
- Open the solution in Visual Studio
- Build the solution
- Find the executable in the bin directory
Basic usage:
DDS-Unsplitter.exe <filename> [options]
filename
: The base name of the split DDS files to combine. Can be:- Full path:
C:\textures\file.dds
- Relative path:
.\file.dds
- Just filename:
file.dds
(will use current directory) - Extension is optional
- Full path:
-s, --safe
: Prevents overwriting original files by adding '.combined' before the extension
# Basic usage
DDS-Unsplitter.exe texture.dds
# Use safe mode
DDS-Unsplitter.exe texture.dds --safe
# Without extension
DDS-Unsplitter.exe texture -s
# With full path
DDS-Unsplitter.exe C:\game\textures\texture.dds
- Split files should be in the same directory
- Files should be numbered sequentially (.0, .1, .2, etc.)
- By default, it will overwrite the .dds file with the combined version
- If a file has already been combined, it will be skipped
The utility handles several DDS format variants:
- Standard DDS files
- DXT10 format files
- ATI2/BC5 normal maps
Interested in contributing? Please read our Contributing Guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to the DDS file format documentation from Microsoft
- Thanks to the CryEngine community for format information