summaryrefslogblamecommitdiffstats
path: root/src/render/MBlur.h
blob: 3dc5308269cf4c09d33fa2e0293a5e7b3ebbcb11 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12

            

           







                        

  

            
       

                                        
                                   
                           
                               
 

                                   
       

                                                    
                                                                         
                                                                                                                                                                                          

                                                                                                                                      
                                                  
                                     
        


                                                                                    
  
#pragma once

enum FxType
{
	FXTYPE_WATER1,
	FXTYPE_WATER2,
	FXTYPE_BLOOD1,
	FXTYPE_BLOOD2,
	FXTYPE_HEATHAZE,
	FXTYPE_SPLASH1,
	FXTYPE_SPLASH2,
	FXTYPE_SPLASH3
};

class CMBlur
{
public:
	static RwRaster *pFrontBuffer;
	static bool ms_bJustInitialised;
	static bool ms_bScaledBlur;
	static bool BlurOn;
	static float Drunkness;

	static int32 pBufVertCount;

public:
	static RwBool MotionBlurOpen(RwCamera *cam);
	static RwBool MotionBlurClose(void);
	static void CreateImmediateModeData(RwCamera *cam, RwRect *rect);
	static void CreateImmediateModeData(RwCamera *cam, RwRect *rect, RwIm2DVertex *verts, RwRGBA color, float u1Off, float v1Off, float u2Off, float v2Off, float z, int fullTexture);
	static void MotionBlurRender(RwCamera *cam, uint32 red, uint32 green, uint32 blue, uint32 blur, int32 type, uint32 bluralpha);
	static void OverlayRender(RwCamera *cam, RwRaster *raster, RwRGBA color, int32 type, int32 bluralpha);
	static void SetDrunkBlur(float drunkness);
	static void ClearDrunkBlur();
	
	static bool PosInside(RwRect *rect, float x1, float y1, float x2, float y2);
	static bool AddRenderFx(RwCamera *cam, RwRect *rect, float z, FxType type);
	static void OverlayRenderFx(RwCamera *cam, RwRaster *frontBuf);
};