Legendary Explorer Core Nightly
Core library for working with Mass Effect Trilogy / Legendary Edition files
Loading...
Searching...
No Matches
Codec_DXTC_RGBA.cpp File Reference
#include "Common.h"
#include "CompressonatorXCodec.h"

Macros

#define DXTC_OFFSET_ALPHA   0
 
#define DXTC_OFFSET_RGB   2
 
#define ConstructColour(r, g, b)   (((r) << 11) | ((g) << 5) | (b))
 
#define RG   5
 
#define GG   6
 
#define BG   5
 

Functions

void CompressExplicitAlphaBlock (CMP_BYTE alphaBlock[BLOCK_SIZE_4X4], CMP_DWORD compressedBlock[2])
 
void DecompressExplicitAlphaBlock (CMP_BYTE alphaBlock[BLOCK_SIZE_4X4], CMP_DWORD compressedBlock[2])
 
void CMP_API CompressAlphaBlock (CMP_BYTE alphaBlock[BLOCK_SIZE_4X4], CMP_DWORD compressedBlock[2])
 
void CMP_API DecompressAlphaBlock (CMP_BYTE alphaBlock[BLOCK_SIZE_4X4], CMP_DWORD compressedBlock[2])
 
CMP_API void CompressRGBBlock (CMP_BYTE rgbBlock[BLOCK_SIZE_4X4X4], CMP_DWORD compressedBlock[2], bool bDXT1=false, bool bDXT1UseAlpha=false, CMP_BYTE nDXT1AlphaThreshold=0)
 
CMP_API void DecompressRGBBlock (CMP_BYTE rgbBlock[BLOCK_SIZE_4X4X4], CMP_DWORD compressedBlock[2], bool bDXT1)
 
CMP_API void CompressRGBABlock (CMP_BYTE rgbaBlock[BLOCK_SIZE_4X4X4], CMP_DWORD compressedBlock[4])
 
CMP_API void DecompressRGBABlock (CMP_BYTE rgbaBlock[BLOCK_SIZE_4X4X4], CMP_DWORD compressedBlock[4])
 
CMP_API void CompressRGBABlock_ExplicitAlpha (CMP_BYTE rgbaBlock[BLOCK_SIZE_4X4X4], CMP_DWORD compressedBlock[4])
 
CMP_API void DecompressRGBABlock_ExplicitAlpha (CMP_BYTE rgbaBlock[BLOCK_SIZE_4X4X4], CMP_DWORD compressedBlock[4])
 

Macro Definition Documentation

◆ DXTC_OFFSET_ALPHA

#define DXTC_OFFSET_ALPHA   0

◆ DXTC_OFFSET_RGB

#define DXTC_OFFSET_RGB   2

◆ ConstructColour

#define ConstructColour (   r,
  g,
 
)    (((r) << 11) | ((g) << 5) | (b))

◆ RG

#define RG   5

◆ GG

#define GG   6

◆ BG

#define BG   5

Function Documentation

◆ CompressExplicitAlphaBlock()

void CompressExplicitAlphaBlock ( CMP_BYTE  alphaBlock[BLOCK_SIZE_4X4],
CMP_DWORD  compressedBlock[2] 
)

◆ DecompressExplicitAlphaBlock()

void DecompressExplicitAlphaBlock ( CMP_BYTE  alphaBlock[BLOCK_SIZE_4X4],
CMP_DWORD  compressedBlock[2] 
)

◆ CompressAlphaBlock()

void CMP_API CompressAlphaBlock ( CMP_BYTE  alphaBlock[BLOCK_SIZE_4X4],
CMP_DWORD  compressedBlock[2] 
)

◆ DecompressAlphaBlock()

void CMP_API DecompressAlphaBlock ( CMP_BYTE  alphaBlock[BLOCK_SIZE_4X4],
CMP_DWORD  compressedBlock[2] 
)

◆ CompressRGBBlock()

CMP_API void CompressRGBBlock ( CMP_BYTE  rgbBlock[BLOCK_SIZE_4X4X4],
CMP_DWORD  compressedBlock[2],
bool  bDXT1 = false,
bool  bDXT1UseAlpha = false,
CMP_BYTE  nDXT1AlphaThreshold = 0 
)

◆ DecompressRGBBlock()

CMP_API void DecompressRGBBlock ( CMP_BYTE  rgbBlock[BLOCK_SIZE_4X4X4],
CMP_DWORD  compressedBlock[2],
bool  bDXT1 
)

◆ CompressRGBABlock()

CMP_API void CompressRGBABlock ( CMP_BYTE  rgbaBlock[BLOCK_SIZE_4X4X4],
CMP_DWORD  compressedBlock[4] 
)

◆ DecompressRGBABlock()

CMP_API void DecompressRGBABlock ( CMP_BYTE  rgbaBlock[BLOCK_SIZE_4X4X4],
CMP_DWORD  compressedBlock[4] 
)

◆ CompressRGBABlock_ExplicitAlpha()

CMP_API void CompressRGBABlock_ExplicitAlpha ( CMP_BYTE  rgbaBlock[BLOCK_SIZE_4X4X4],
CMP_DWORD  compressedBlock[4] 
)

◆ DecompressRGBABlock_ExplicitAlpha()

CMP_API void DecompressRGBABlock_ExplicitAlpha ( CMP_BYTE  rgbaBlock[BLOCK_SIZE_4X4X4],
CMP_DWORD  compressedBlock[4] 
)