diff --git a/OpenGL.cpp b/OpenGL.cpp index 4755b872..284b543a 100644 --- a/OpenGL.cpp +++ b/OpenGL.cpp @@ -890,12 +890,12 @@ void OGLRender::drawRect(int _ulx, int _uly, int _lrx, int _lry, float *_pColor) m_rect[0].y = (float)_uly * (-2.0f * scaleY) + 1.0; m_rect[0].z = Z; m_rect[0].w = W; - m_rect[1].x = (float)(_lrx + 1) * (2.0f * scaleX) - 1.0; + m_rect[1].x = (float)_lrx * (2.0f * scaleX) - 1.0; m_rect[1].y = m_rect[0].y; m_rect[1].z = Z; m_rect[1].w = W; m_rect[2].x = m_rect[0].x; - m_rect[2].y = (float)(_lry + 1) * (-2.0f * scaleY) + 1.0; + m_rect[2].y = (float)_lry * (-2.0f * scaleY) + 1.0; m_rect[2].z = Z; m_rect[2].w = W; m_rect[3].x = m_rect[1].x; diff --git a/gDP.cpp b/gDP.cpp index 3b9176c0..64cb0da6 100644 --- a/gDP.cpp +++ b/gDP.cpp @@ -880,7 +880,8 @@ void gDPFillRectangle( s32 ulx, s32 uly, s32 lrx, s32 lry ) if (gDP.otherMode.cycleType == G_CYC_FILL) { ++lrx; ++lry; - } + } else if (lry == uly) + ++lry; if (gDP.depthImageAddress == gDP.colorImage.address) { // Game may use depth texture as auxilary color texture. Example: Mario Tennis // If color is not depth clear color, that is most likely the case