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:
parent
1035a0d432
commit
8fbd1d030b
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user