mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-07-21 14:35:46 +00:00
astc_decoder: Fix LDR CEM1 endpoint calculation
Per the spec, L1 is clamped to the value 0xff if it is greater than 0xff. An oversight caused us to take the maximum of L1 and 0xff, rather than the minimum. Huge thanks to wwylele for finding this. Co-Authored-By: Weiyi Wang <wwylele@gmail.com>
This commit is contained in:
parent
a91f7f6957
commit
13b046aae1
2 changed files with 2 additions and 2 deletions
|
@ -1217,7 +1217,7 @@ static void ComputeEndpoints(Pixel& ep1, Pixel& ep2, const u32*& colorValues,
|
|||
case 1: {
|
||||
READ_UINT_VALUES(2)
|
||||
u32 L0 = (v[0] >> 2) | (v[1] & 0xC0);
|
||||
u32 L1 = std::max(L0 + (v[1] & 0x3F), 0xFFU);
|
||||
u32 L1 = std::min(L0 + (v[1] & 0x3F), 0xFFU);
|
||||
ep1 = Pixel(0xFF, L0, L0, L0);
|
||||
ep2 = Pixel(0xFF, L1, L1, L1);
|
||||
} break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue