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

Correct frame buffer height calculation.

Fixed Mario Tennis (E).
The RDP frame buffer height is 256, VI buffer height is 221.
The actual height of the picture is 221, so with frame buffer height 256
viewport settings becomes wrong and the picture moves atop.
This commit is contained in:
Sergey Lipskiy 2014-10-03 13:28:11 +07:00
parent 3b97ca2d7c
commit d8a93a3aa3

View File

@ -263,9 +263,10 @@ void gDPSetColorImage( u32 format, u32 size, u32 width, u32 address )
u32 height = 1;
if (width == VI.width)
height = VI.height;
else if (width == gDP.scissor.lrx && width == gSP.viewport.width)
else if (width == gDP.scissor.lrx && width == gSP.viewport.width) {
height = max(gDP.scissor.lry, gSP.viewport.height);
else if (width == gDP.scissor.lrx)
height = min(height, VI.height);
} else if (width == gDP.scissor.lrx)
height = gDP.scissor.lry;
else
height = gSP.viewport.height;