Reading of textures
A little while ago I already wrote about the fact that I was working on my own texture loaders for the ModelConverterX tool. I have now finished the first versions of the loaders I find most important for the tool. I say first, as I am sure some bugs will be surfacing when they are used by more users. So I have now made loaders for the DDS, BMP and R8 format.
The DDS format is common in FSX and I can now read DXT1, DXT3 and DXT5 variants. Figuring out what their difference on the binary level are was very interesting to understand how the compression of those files work by the way. I think I should make a little Wiki or blog article about the things I learned, as that would help a lot of other users as well in understanding which format to choose in which case.
For the BMP format I can read the normal 8, 24 and 32 bit BMP files, but also the ones with DXT compression that were used in previous version of Flight Simulator. I am sure there are some other compressions that are sometimes used for FS as well, but I did not yet encounter these in my own collection of test models.
Finally there is the R8 format. If you still remember these textures you are around for a while, as it is the format used by FS5. Basically it is a RAW file with indices into the FS5 colour palette. A wide range of extensions was used for these textures, not only R8, but also PAT, 0AF, 1AF, ..., or any other extension the designer could think of. I can now read those textures in ModelConverterX and display them in the preview for old API macros that still use them. Maybe it would be a good idea to convert these old textures to a more modern format when you export to FSX MDL again.
So that is an update on my texture reading progress, I am now looking forward to tackle some of the other wishes still on my wishlist for the next version.