I needed some tools that were able to do some slight lifting so I can do some modding. This is a simple DDS and PNG tool set that converts DDS images to PNG images and vice versa on a large scale. It has options for duplicate detection and sorting.
- DDS → PNG conversion of DDS texture files on a large scale
- PNG → DDS conversion of PNG image files on a large scale
- Duplicate detection via a persisted result JSON file
- Optional retain structure mode to preserve original folder and file names
- Optional separate by size mode to sort textures into sub-folders by resolution
- Configurable compression level for both output formats
- Three convert modes:
Automatic,Manual, andGrouping - Interactive CLI with progress spinner powered by Spectre.Console
DDS.Tools [arguments] [options]
| Command | Description |
|---|---|
dds |
Converts DDS files into PNG files |
png |
Converts PNG files into DDS files |
| Argument | Description |
|---|---|
<SourceFolder> |
Path to the folder containing the source images |
<TargetFolder> |
Path to the folder where converted images will be written |
[ConvertMode] |
Optional. Convert mode to use. Default is Automatic |
| Option | Description |
|---|---|
-r, --retain |
Retain original folder and file names |
-b, --bysize |
Separate converted textures into sub-folders by size |
-c, --compression |
Compression level for the output images |
| Mode | Description |
|---|---|
Automatic |
Default mode, options are ignored |
Manual |
Manual mode |
Grouping |
Groups output by a defined criteria |
DDS.Tools dds "D:\DDS-Textures" "D:\PNG-Textures"DDS.Tools png "D:\PNG-Textures" "D:\DDS-Textures"DDS.Tools dds "D:\DDS-Textures" "D:\PNG-Textures" --retain --bysizeDDS.Tools png "D:\PNG-Textures" "D:\DDS-Textures" --compression BestQualityContributions are welcome! If you have an idea for a new feature, improvement, or bug fix, please follow these steps:
- Have a look at the Issues to see if your idea has already been discussed.
- If you want to work on an existing issue, please comment on the issue to let others know you're working on it.
- Fork the repository and create a new branch for your contribution.
- Make your changes and commit them with clear and descriptive messages.
- Push your changes to your forked repository and submit a pull request to the main repository.
We expect all contributors to adhere to the Code of Conduct.
This project is licensed under the MIT License - see the LICENSE file for details.
Robert Peter Meyer (BoBoBaSs84)
- GitHub: @BoBoBaSs84
- Repository: DDS.Tools