MCPcopy Create free account
hub / github.com/codestation/qcma / GetType

Function GetType

common/dds.cpp:225–262  ·  view source on GitHub ↗

Get supported type. We currently support 10 different types.

Source from the content-addressed store, hash-verified

223
224// Get supported type. We currently support 10 different types.
225static DDSType GetType( const DDSHeader & header )
226{
227 if( header.pf.flags & DDPF_RGB ) {
228 if( header.pf.flags & DDPF_ALPHAPIXELS ) {
229 switch( header.pf.bitcount ) {
230 case 16:
231 return (header.pf.amask == 0x8000) ? DDS_A1R5G5B5 : DDS_A4R4G4B4;
232 case 32:
233 return DDS_A8R8G8B8;
234 }
235 } else {
236 switch( header.pf.bitcount ) {
237 case 16:
238 return DDS_R5G6B5;
239 case 24:
240 return DDS_R8G8B8;
241 }
242 }
243 } else if( header.pf.flags & DDPF_FOURCC ) {
244 switch( header.pf.fourcc ) {
245 case FOURCC_DXT1:
246 return DDS_DXT1;
247 case FOURCC_DXT2:
248 return DDS_DXT2;
249 case FOURCC_DXT3:
250 return DDS_DXT3;
251 case FOURCC_DXT4:
252 return DDS_DXT4;
253 case FOURCC_DXT5:
254 return DDS_DXT5;
255 case FOURCC_RXGB:
256 return DDS_RXGB;
257 case FOURCC_ATI2:
258 return DDS_ATI2;
259 }
260 }
261 return DDS_UNKNOWN;
262}
263
264static bool HasAlpha( const DDSHeader & header )
265{

Callers 4

IsSupportedFunction · 0.85
LoadTextureFunction · 0.85
FaceOffsetFunction · 0.85
LoadCubeMapFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected