From 1ec5547a9c634ddaaedd8a201baecc77cf93b345 Mon Sep 17 00:00:00 2001 From: pogokeen Date: Thu, 18 Jul 2019 01:33:32 +0000 Subject: [PATCH] Fix edge case where mirrors & TROR could interact and render over skyboxes in the classic software renderer git-svn-id: https://svn.eduke32.com/eduke32@7803 1a8010ca-5511-0410-912e-c29ae57300e0 --- source/duke3d/src/game.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/duke3d/src/game.cpp b/source/duke3d/src/game.cpp index 71fbc903b..acd519e4e 100644 --- a/source/duke3d/src/game.cpp +++ b/source/duke3d/src/game.cpp @@ -669,7 +669,8 @@ void G_HandleMirror(int32_t x, int32_t y, int32_t z, fix16_t a, fix16_t q16horiz yax_preparedrawrooms(); didmirror = renderDrawRoomsQ16(tposx,tposy,z,tang,q16horiz,g_mirrorSector[i]+MAXSECTORS); //POGO: if didmirror == 0, we may simply wish to abort instead of rendering with yax_drawrooms (which may require cleaning yax state) - yax_drawrooms(G_DoSpriteAnimations, g_mirrorSector[i], didmirror, smoothratio); + if (videoGetRenderMode() != REND_CLASSIC || didmirror) + yax_drawrooms(G_DoSpriteAnimations, g_mirrorSector[i], didmirror, smoothratio); } #ifdef USE_OPENGL else