there is a number of references on the subject but issue in my case i was scratching head for hours, meanwhile dm thing was compressed whole time lol. i eventually gave up trying and i might have borked this up, trying to account for what data i found,but hopefuilly easily fixedand maybe prove useful :- (just header& partial mips i kinda lost the plot halfway through)
check for a Github project named DDS-READER or something like this, it gives some useful info on some of the more common dds formats,
if u ever finish this please send me a copy or post here
cheers and good luck mate
//--------------------------------------
//--- 010 Editor v6.0.1 Binary Template
//
// File:
// Author:
// Revision:
// Purpose:
//--------------------------------------
//HEADER
typedef struct { // bmfh
CHAR fType[4];
uint32 size;//124
ubyte flags[4];
uint32 height;
uint32 width;
uint32 sizeorpitch;
uint32 depth;
uint32 mipmapcount;
uint32 alphabitdepth;
uint32 reserved[10];
} DDSHEADER;
//PIXELFORMAT
typedef struct { //
uint32 size;//??
ubyte flags[4];
uint32 fourcc;
uint32 rgbbitcount;
uint32 rbitmask;
uint32 gbitmask;
uint32 bbitmask;
uint32 alphabitmask;
} PIXELFORMAT;
//caps
typedef struct { //
uint32 caps1;//??
uint32 caps2;
uint32 caps3;
uint32 caps4;
uint32 texturestage;
} CAPS;
struct DDSorig
{
DDSHEADER header;
PIXELFORMAT pixelformat;
CAPS ddscaps;
};
//cal uint32 tag22;
LittleEndian();
DDSorig ddsfile;