mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-07 03:13:49 +00:00
Another correction for Xoffset
Fixed topgear hyperbike heavily flickering (regression) #1240 Hyper Bike has *REG.VI_WIDTH == 1152 ColorImage.width == VI.width == 576 addrOffset is multiple of ColorImage.width, so addrOffset % (*REG.VI_WIDTH) can be equal to ColorImage.width and image shifted out of screen.
This commit is contained in:
parent
1c94b4720e
commit
1f5bde610a
|
@ -847,6 +847,9 @@ void FrameBufferList::renderBuffer(u32 _address)
|
||||||
srcY0 = addrOffset / (*REG.VI_WIDTH);
|
srcY0 = addrOffset / (*REG.VI_WIDTH);
|
||||||
if ((*REG.VI_WIDTH != addrOffset * 2) && (addrOffset % (*REG.VI_WIDTH) != 0))
|
if ((*REG.VI_WIDTH != addrOffset * 2) && (addrOffset % (*REG.VI_WIDTH) != 0))
|
||||||
Xoffset = (*REG.VI_WIDTH) - addrOffset % (*REG.VI_WIDTH);
|
Xoffset = (*REG.VI_WIDTH) - addrOffset % (*REG.VI_WIDTH);
|
||||||
|
if (Xoffset == VI.width)
|
||||||
|
Xoffset = 0;
|
||||||
|
|
||||||
if (isLowerField) {
|
if (isLowerField) {
|
||||||
if (srcY0 > 0)
|
if (srcY0 > 0)
|
||||||
--srcY0;
|
--srcY0;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user