From 157926ddc6f759041beee93025b1b53e66fcfe06 Mon Sep 17 00:00:00 2001 From: aap Date: Tue, 21 May 2019 09:38:51 +0200 Subject: finished CSprite(2d) --- src/render/Sprite.h | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) (limited to 'src/render/Sprite.h') diff --git a/src/render/Sprite.h b/src/render/Sprite.h index 53d36de3..7bc5c35e 100644 --- a/src/render/Sprite.h +++ b/src/render/Sprite.h @@ -1,32 +1,16 @@ #pragma once -class CSprite2d -{ - RwTexture *m_pTexture; - - static RwIm2DVertex *maVertices; //[4]; -public: - static float &RecipNearClip; - - void SetRenderState(void); - - static void SetVertices(const CRect &r, const CRGBA &c0, const CRGBA &c1, const CRGBA &c2, const CRGBA &c3, uint32 far); - static void SetVertices(const CRect &r, const CRGBA &c0, const CRGBA &c1, const CRGBA &c2, const CRGBA &c3, - float u0, float v0, float u1, float v1, float u3, float v3, float u2, float v2); - static void DrawRect(const CRect &r, const CRGBA &c0, const CRGBA &c1, const CRGBA &c2, const CRGBA &c3); - static void DrawRect(const CRect &r, const CRGBA &col); - static void DrawRectXLU(const CRect &r, const CRGBA &c0, const CRGBA &c1, const CRGBA &c2, const CRGBA &c3); -}; - class CSprite { static float &m_f2DNearScreenZ; static float &m_f2DFarScreenZ; + static float &m_fRecipNearClipPlane; static int32 &m_bFlushSpriteBufferSwitchZTest; public: static float CalcHorizonCoors(void); static bool CalcScreenCoors(const RwV3d &in, RwV3d *out, float *outw, float *outh, bool farclip); static void InitSpriteBuffer(void); + static void InitSpriteBuffer2D(void); static void FlushSpriteBuffer(void); static void RenderOneXLUSprite(float x, float y, float z, float w, float h, uint8 r, uint8 g, uint8 b, int16 intens, float recipz, uint8 a); static void RenderBufferedOneXLUSprite(float x, float y, float z, float w, float h, uint8 r, uint8 g, uint8 b, int16 intens, float recipz, uint8 a); @@ -34,4 +18,10 @@ public: static void RenderBufferedOneXLUSprite_Rotate_Aspect(float x, float y, float z, float w, float h, uint8 r, uint8 g, uint8 b, int16 intens, float recipz, float roll, uint8 a); // cx/y is the direction in which the colour changes static void RenderBufferedOneXLUSprite_Rotate_2Colours(float x, float y, float z, float w, float h, uint8 r1, uint8 g1, uint8 b1, uint8 r2, uint8 g2, uint8 b2, float cx, float cy, float recipz, float rotation, uint8 a); + static void Set6Vertices2D(RwIm2DVertex *verts, const CRect &r, const CRGBA &c0, const CRGBA &c1, const CRGBA &c2, const CRGBA &c3); + static void Set6Vertices2D(RwIm2DVertex *verts, 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); + static void RenderBufferedOneXLUSprite2D(float x, float y, float w, float h, const RwRGBA &colour, int16 intens, uint8 alpha); + static void RenderBufferedOneXLUSprite2D_Rotate_Dimension(float x, float y, float w, float h, const RwRGBA &colour, int16 intens, float rotation, uint8 alpha); + }; -- cgit v1.2.3