1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-02 09:03:37 +00:00

Fix gDPLoadTLUT when count > 256

Fixed crash in Vigilante 8: 2nd Offense Menu #1479
This commit is contained in:
Sergey Lipskiy 2017-11-01 17:45:24 +07:00
parent dcf8784dca
commit 184debbd43

View File

@ -636,15 +636,16 @@ void gDPLoadTLUT( u32 tile, u32 uls, u32 ult, u32 lrs, u32 lrt )
count = 16;
int i = 0;
u32 destIdx = 0;
while (i < count) {
for (u16 j = 0; (j < 16) && (i < count); ++j, ++i) {
*dest = swapword(*(u16*)(RDRAM + (address ^ 2)));
dest[destIdx&0x3FF] = swapword(*(u16*)(RDRAM + (address ^ 2)));
address += 2;
dest += 4;
destIdx += 4;
}
gDP.paletteCRC16[pal] = CRC_CalculatePalette(0xFFFFFFFF, &TMEM[256 + (pal << 4)], 16);
++pal;
pal = (pal + 1) & 0x0F;
}
gDP.paletteCRC256 = CRC_Calculate(0xFFFFFFFF, gDP.paletteCRC16, 64);