X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=source%2Frice_gles%2Fsrc%2FRender.cpp;h=8359ee47877d39285cd7af91e9a3f49c0a5f226b;hb=327629a4e62171779835fed1f4da9a4b78a4d221;hp=d90633fb59c801634a925da6f4255449910fd26d;hpb=d07c171fa694cae985ad7045f9ce2b2f1a5699b4;p=mupen64plus-pandora.git diff --git a/source/rice_gles/src/Render.cpp b/source/rice_gles/src/Render.cpp old mode 100644 new mode 100755 index d90633f..8359ee4 --- a/source/rice_gles/src/Render.cpp +++ b/source/rice_gles/src/Render.cpp @@ -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 {