diff options
author | aap <aap@papnet.eu> | 2020-05-12 16:27:26 +0200 |
---|---|---|
committer | aap <aap@papnet.eu> | 2020-05-12 16:27:39 +0200 |
commit | 40829b52422cfcd031961fabf60ad99b3ae69ccc (patch) | |
tree | 73cb776ada029a62cdc026e35f3fdbcc9c738e8f /src/render/Sprite2d.cpp | |
parent | fix garages (diff) | |
download | re3-40829b52422cfcd031961fabf60ad99b3ae69ccc.tar re3-40829b52422cfcd031961fabf60ad99b3ae69ccc.tar.gz re3-40829b52422cfcd031961fabf60ad99b3ae69ccc.tar.bz2 re3-40829b52422cfcd031961fabf60ad99b3ae69ccc.tar.lz re3-40829b52422cfcd031961fabf60ad99b3ae69ccc.tar.xz re3-40829b52422cfcd031961fabf60ad99b3ae69ccc.tar.zst re3-40829b52422cfcd031961fabf60ad99b3ae69ccc.zip |
Diffstat (limited to 'src/render/Sprite2d.cpp')
-rw-r--r-- | src/render/Sprite2d.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/render/Sprite2d.cpp b/src/render/Sprite2d.cpp index 52b85018..189c9797 100644 --- a/src/render/Sprite2d.cpp +++ b/src/render/Sprite2d.cpp @@ -151,7 +151,6 @@ CSprite2d::Draw(float x1, float y1, float x2, float y2, float x3, float y3, floa RwIm2DRenderPrimitive(rwPRIMTYPETRIFAN, CSprite2d::maVertices, 4); } - // Arguments: // 2---3 // | | @@ -461,6 +460,22 @@ CSprite2d::DrawRectXLU(const CRect &r, const CRGBA &c0, const CRGBA &c1, const C RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, (void*)TRUE); } +void +CSprite2d::DrawAnyRect(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, + const CRGBA &c0, const CRGBA &c1, const CRGBA &c2, const CRGBA &c3) +{ + SetVertices(x1, y1, x2, y2, x3, y3, x4, y4, c0, c1, c2, c3); + RwRenderStateSet(rwRENDERSTATETEXTURERASTER, nil); + RwRenderStateSet(rwRENDERSTATESHADEMODE, (void*)rwSHADEMODEGOURAUD); + RwRenderStateSet(rwRENDERSTATEZTESTENABLE, (void*)FALSE); + RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, (void*)FALSE); + RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, (void*)(c0.alpha != 255 || c1.alpha != 255 || c2.alpha != 255 || c3.alpha != 255)); + RwIm2DRenderPrimitive(rwPRIMTYPETRIFAN, CSprite2d::maVertices, 4); + RwRenderStateSet(rwRENDERSTATEZTESTENABLE, (void*)TRUE); + RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, (void*)TRUE); + RwRenderStateSet(rwRENDERSTATESHADEMODE, (void*)rwSHADEMODEGOURAUD); +} + void CSprite2d::Draw2DPolygon(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, const CRGBA &color) { SetVertices(x1, y1, x2, y2, x3, y3, x4, y4, color, color, color, color); |