GLES1RICE: Update from upstream
authorptitSeb <sebastien.chev@gmail.com>
Mon, 3 Mar 2014 13:57:48 +0000 (14:57 +0100)
committerptitSeb <sebastien.chev@gmail.com>
Mon, 3 Mar 2014 13:57:48 +0000 (14:57 +0100)
source/rice_gles/src/Render.cpp [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index d90633f..8359ee4
@@ -202,6 +202,20 @@ void CRender::SetWorldView(const Matrix & mat, bool bPush, bool bReplace)
         {
             // Load projection matrix
             gRSP.modelviewMtxs[gRSP.modelViewMtxTop] = mat;
+
+            // Hack needed to show heart in OOT & MM
+            // It renders at Z cordinate = 0.0f that gets clipped away
+            // So we translate them a bit along Z to make them stick
+            if( options.enableHackForGames == HACK_FOR_ZELDA || options.enableHackForGames == HACK_FOR_ZELDA_MM) 
+            {
+                if(gRSP.modelviewMtxs[gRSP.modelViewMtxTop]._43 == 0.0f
+                    && gRSP.modelviewMtxs[gRSP.modelViewMtxTop]._42 != 0.0f
+                    && gRSP.modelviewMtxs[gRSP.modelViewMtxTop]._42 <= 94.5f
+                    && gRSP.modelviewMtxs[gRSP.modelViewMtxTop]._42 >= -94.5f)
+                {
+                    gRSP.modelviewMtxs[gRSP.modelViewMtxTop]._43 -= 10.1f;
+                }
+            }
         }
         else            // Multiply projection matrix
         {