1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-04 10:03:36 +00:00

Fix memory corruption in Banjo-Tooie

This commit is contained in:
Francisco Zurita 2017-08-12 01:48:53 -04:00 committed by Sergey Lipskiy
parent 1035a0d432
commit 8fbd1d030b

View File

@ -626,10 +626,14 @@ void gDPLoadTLUT( u32 tile, u32 uls, u32 ult, u32 lrs, u32 lrt )
DebugMsg(DEBUG_NORMAL | DEBUG_ERROR, "gDPLoadTLUT wrong tile tmem addr: tile[%d].tmem=%04x;\n", tile, gDP.tiles[tile].tmem);
return;
}
const u16 count = (u16)((gDP.tiles[tile].lrs - gDP.tiles[tile].uls + 1) * (gDP.tiles[tile].lrt - gDP.tiles[tile].ult + 1));
u16 count = (u16)((gDP.tiles[tile].lrs - gDP.tiles[tile].uls + 1) * (gDP.tiles[tile].lrt - gDP.tiles[tile].ult + 1));
u32 address = gDP.textureImage.address + gDP.tiles[tile].ult * gDP.textureImage.bpl + (gDP.tiles[tile].uls << gDP.textureImage.size >> 1);
u16 pal = (u16)((gDP.tiles[tile].tmem - 256) >> 4);
u16 *dest = (u16*)&TMEM[gDP.tiles[tile].tmem];
// Workaround for possible game/emulator bug (see bug #1250)
if (pal != 0)
count = 16;
int i = 0;
while (i < count) {