From ce059eedf56bc3e708d997109f3c6c3a4037a3dd Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Sun, 3 Feb 2013 21:46:31 +0100 Subject: [PATCH] Disable non-through RotateUV, according to Raven02 it seems it's not needed although I have my doubts :) --- GPU/GLES/TransformPipeline.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/GPU/GLES/TransformPipeline.cpp b/GPU/GLES/TransformPipeline.cpp index 534455fd24..ee2bc3a47a 100644 --- a/GPU/GLES/TransformPipeline.cpp +++ b/GPU/GLES/TransformPipeline.cpp @@ -347,7 +347,9 @@ static void SwapUVs(TransformedVertex &a, TransformedVertex &b) { // to to or // 1 0 0 1 1 2 3 0 -// Used by Star Soldier and Ys vs Sora. + +// See comment below where this was called before. +/* static void RotateUV(TransformedVertex v[4]) { float x1 = v[2].x; float x2 = v[0].x; @@ -356,7 +358,7 @@ static void RotateUV(TransformedVertex v[4]) { if ((x1 < x2 && y1 < y2) || (x1 > x2 && y1 > y2)) SwapUVs(v[1], v[3]); -} +}*/ static void RotateUVThrough(TransformedVertex v[4]) { float x1 = v[2].x; @@ -635,8 +637,11 @@ void TransformDrawEngine::SoftwareTransformAndDraw( // That's the four corners. Now process UV rotation. if (throughmode) RotateUVThrough(trans); - else - RotateUV(trans); + // Apparently, non-through RotateUV just breaks things. + // If we find a game where it helps, we'll just have to figure out how they differ. + // Possibly, it has something to do with flipped viewport Y axis, which a few games use. + // else + // RotateUV(trans); // bottom right trans[4] = trans[0];