struct Head { char8_t ResMagic[4]; // "GR01" char8_t ResClass[4]; // "IM04" uint32_t PropOffset; uint32_t PropLength; uint32_t DataOffset; uint32_t DataLength; uint64_t RawDateTime; // (FILETIME) char8_t RawFileExt[8]; // ".dds", ".png", ".tga" } // @Head.PropOffset class Prop { // eCImageResource2 with Width(int), Height(int), SkipMips(long), // and PixelFormat(bTPropertyContainer) uint8_t Buffer[Head.PropLength]; } // @Head.DataOffset class Data { uint8_t Surface[Head.DataLength]; // "DDS " + DDSURFACEDESC2 // Xbox 360: "X360T", header, big-endian texel (tiled format) }