From 688e277e899f379e00204413343a8b6d1e589f7d Mon Sep 17 00:00:00 2001 From: aap Date: Sat, 26 Dec 2020 13:02:30 +0100 Subject: [PATCH] fix mblur stencil --- src/core/main.cpp | 4 ++++ src/render/MBlur.cpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/core/main.cpp b/src/core/main.cpp index f21bec34..9824fb18 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -125,6 +125,10 @@ bool gbPrintMemoryUsage; #ifdef NEW_RENDERER bool gbNewRenderer; +#endif +#ifdef FIX_BUGS +// need to clear stencil for mblur fx. no idea why it works in the original game +// also for clearing out water rects in new renderer #define CLEARMODE (rwCAMERACLEARZ | rwCAMERACLEARSTENCIL) #else #define CLEARMODE (rwCAMERACLEARZ) diff --git a/src/render/MBlur.cpp b/src/render/MBlur.cpp index 57817422..44d4f1d4 100644 --- a/src/render/MBlur.cpp +++ b/src/render/MBlur.cpp @@ -651,7 +651,7 @@ CMBlur::OverlayRenderFx(RwCamera *cam, RwRaster *frontBuf) RwD3D8SetRenderState(D3DRS_STENCILPASS, D3DSTENCILOP_REPLACE); #endif RwRenderStateSet(rwRENDERSTATESRCBLEND, (void*)rwBLENDSRCALPHA); - RwRenderStateSet(rwRENDERSTATEDESTBLEND, (void*)rwBLENDINVSRCALPHA); + RwRenderStateSet(rwRENDERSTATEDESTBLEND, (void*)rwBLENDONE); RwIm2DRenderIndexedPrimitive(rwPRIMTYPETRILIST, verts, 4, Index, 6); if(RwRasterGetDepth(RwCameraGetRaster(cam)) != 16){