Add support for games that use DDS textures#1929
Add support for games that use DDS textures#1929colinator27 merged 6 commits intoUnderminersTeam:masterfrom
Conversation
(cherry picked from commit de9476c)
|
Download the artifacts for this pull request here: GUI:
CLI: |
colinator27
left a comment
There was a problem hiding this comment.
Small nitpicks, but looks good on the whole. Ideally before merging completely, we should investigate the feasibility of encoding the BCN format (assuming ImageMagick doesn't fully support it?).
|
There is another file extension that was never mentioned before. (e.g. |
|
@sonic3XE Could you send a game that uses it, or tell which custom option and OS creates such format, so it can be tested? |
|
@luizzeroxis |
|
GPU-compressed textures are referred as #1932 including DDS, ASTC, and GNF. |
|
The artifacts for this have been deleted... Is there any way to get them? @luizzeroxis |
|
@sigmagamma I updated it to the newest version, it should be downloadable now. |
|
Thanks @luizzeroxis ! it worked! |
colinator27
left a comment
There was a problem hiding this comment.
I haven't fully tested the latest DDS support myself, but I did at least do a regression test. This should be fine to merge for now, but future PR work can be:
- DDS/BCN encoding (is it possible to do without losing data?)
- Other GPU-compressed texture format support? (At minimum, maybe just treating the textures as raw data and unviewable...)

Description
Fix #1907
Some games use the official GM-GPUTextureCompression extension to use GPU compressed textures. One of the formats supported is BCN compression, which uses the DDS format, at least on Windows. This PR aims to allow games using that to be modded.
Caveats
Although you can load it, there's no support for saving these textures in their original format, so it just saves in PNG format and gives a warning to the user. This works, but obviously will have a performance impact. This compression format is lossy anyway.
Notes
There's other formats supported by this extension, and in other operating systems, hopefully this can be addressed in future PRs.