From ad9e3d3bee0b670fcb3fba84660d6389b165e589 Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Thu, 13 Jun 2013 16:57:48 +0700 Subject: [PATCH] Correct texture buffer shift in loadblock mode. --- FrameBuffer.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/FrameBuffer.cpp b/FrameBuffer.cpp index 996b209d..0ea95b93 100644 --- a/FrameBuffer.cpp +++ b/FrameBuffer.cpp @@ -511,8 +511,10 @@ void FrameBuffer_ActivateBufferTexture( s16 t, FrameBuffer *buffer ) } else { - buffer->texture->offsetS = 0.0f; - buffer->texture->offsetT = (float)buffer->height - (gDP.textureImage.address - buffer->startAddress) / (buffer->width << buffer->size >> 1); + u32 shift = gDP.textureImage.address - buffer->startAddress; + u32 factor = buffer->width << buffer->size >> 1; + buffer->texture->offsetS = (float)(shift % factor); + buffer->texture->offsetT = (float)(buffer->height - shift/factor); } // FrameBuffer_RenderBuffer(buffer->startAddress);