1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-02 09:03:37 +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:
Sergey Lipskiy 2016-11-20 19:22:31 +07:00
parent 1c94b4720e
commit 1f5bde610a

View File

@ -847,6 +847,9 @@ void FrameBufferList::renderBuffer(u32 _address)
srcY0 = addrOffset / (*REG.VI_WIDTH);
if ((*REG.VI_WIDTH != addrOffset * 2) && (addrOffset % (*REG.VI_WIDTH) != 0))
Xoffset = (*REG.VI_WIDTH) - addrOffset % (*REG.VI_WIDTH);
if (Xoffset == VI.width)
Xoffset = 0;
if (isLowerField) {
if (srcY0 > 0)
--srcY0;