static int CheckDXT1TexelFullTransparency(byte[] imgData, int sourcePosition, int sourceLineLength, byte[] destination, int destPosition, AlphaSettings alphaSetting, double alphaRef)
{
int uColourKey = 0;
int position = sourcePosition;
// Alpha stuff
for (int i = 1; i <= 4; i++)
{
for (int j = 0; j < 4; j++)
{
RGBColour colour = ReadColourFromTexel(imgData, position, alphaSetting == AlphaSettings.Premultiply);
if (colour.a < alphaRef)
uColourKey++;
position += 4;
}
position = sourcePosition + sourceLineLength * i;
}
if (uColourKey == 16)
{
// Entire texel is transparent
for (int i = 0; i < 8; i++)
destination[destPosition + i] = byte.MaxValue;
return -1;
}
return uColourKey > 0 ? 3 : 4;
}