summaryrefslogtreecommitdiffstats
path: root/src/render/Shadows.h
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2021-07-17 23:03:57 +0200
committerSergeanur <s.anureev@yandex.ua>2021-07-17 23:03:57 +0200
commitc937bdbfea8f522d14d7a41f24372bddf5bdafcc (patch)
treeeb8f97f6cf9fac31d7ab90388af232d51cc9c137 /src/render/Shadows.h
parentMerge pull request #1219 from withmorten/miami-ini (diff)
downloadre3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.tar
re3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.tar.gz
re3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.tar.bz2
re3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.tar.lz
re3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.tar.xz
re3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.tar.zst
re3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.zip
Diffstat (limited to 'src/render/Shadows.h')
-rw-r--r--src/render/Shadows.h210
1 files changed, 0 insertions, 210 deletions
diff --git a/src/render/Shadows.h b/src/render/Shadows.h
deleted file mode 100644
index 937ff4eb..00000000
--- a/src/render/Shadows.h
+++ /dev/null
@@ -1,210 +0,0 @@
-#pragma once
-
-#define MAX_STOREDSHADOWS 48
-#define MAX_POLYBUNCHES 380
-#define MAX_STATICSHADOWS 48
-#define MAX_PERMAMENTSHADOWS 48
-
-
-
-class CEntity;
-class CPtrList;
-class CAutomobile;
-class CVehicle;
-class CPed;
-class CCutsceneShadow;
-class CCutsceneObject;
-
-enum eShadowType
-{
- SHADOWTYPE_NONE = 0,
- SHADOWTYPE_DARK,
- SHADOWTYPE_ADDITIVE,
- SHADOWTYPE_INVCOLOR
-};
-
-enum eShadowTextureType
-{
- SHADOWTEX_NONE = 0,
- SHADOWTEX_CAR,
- SHADOWTEX_PED,
- SHADOWTEX_EXPLOSION,
- SHADOWTEX_HELI,
- SHADOWTEX_HEADLIGHTS,
- SHADOWTEX_BLOOD
-};
-
-enum VEH_SHD_TYPE
-{
- VEH_SHD_TYPE_CAR = 0,
- VEH_SHD_TYPE_BIKE,
- VEH_SHD_TYPE_HELI,
- VEH_SHD_TYPE_SEAPLANE,
- VEH_SHD_TYPE_RCPLANE,
-};
-
-
-class CStoredShadow
-{
-public:
- CVector m_vecPos;
- CVector2D m_vecFront;
- CVector2D m_vecSide;
- float m_fZDistance;
- float m_fScale;
- RwTexture *m_pTexture;
- CCutsceneShadow *m_pCutsceneShadow;
- int16 m_nIntensity;
- uint8 m_ShadowType;
- uint8 m_nRed;
- uint8 m_nGreen;
- uint8 m_nBlue;
- struct
- {
- uint8 bDrawOnWater : 1;
- uint8 bRendered : 1;
- uint8 bDrawOnBuildings : 1;
- } m_nFlags;
-
-
- CStoredShadow()
- { }
-};
-
-VALIDATE_SIZE(CStoredShadow, 0x30);
-
-class CPolyBunch
-{
-public:
- CVector m_aVerts[7];
- CPolyBunch *m_pNext;
- int16 m_nNumVerts;
- uint8 m_aU[7];
- uint8 m_aV[7];
-
- CPolyBunch()
- { }
-};
-
-VALIDATE_SIZE(CPolyBunch, 0x6C);
-
-class CStaticShadow
-{
-public:
- uint32 m_nId;
- CPolyBunch *m_pPolyBunch;
- uint32 m_nTimeCreated;
- CVector m_vecPosn;
- CVector2D m_vecFront;
- CVector2D m_vecSide;
- float m_fZDistance;
- float m_fScale;
- RwTexture *m_pTexture;
- int16 m_nIntensity; // unsigned ?
- uint8 m_nType;
- uint8 m_nRed;
- uint8 m_nGreen;
- uint8 m_nBlue;
- bool m_bJustCreated;
- bool m_bRendered;
- bool m_bTemp;
-
-
- CStaticShadow()
- { }
-
- void Free();
-};
-
-VALIDATE_SIZE(CStaticShadow, 0x40);
-
-class CPermanentShadow
-{
-public:
- CVector m_vecPos;
- CVector2D m_vecFront;
- CVector2D m_vecSide;
- float m_fZDistance;
- float m_fScale;
- uint32 m_nTimeCreated;
- uint32 m_nLifeTime;
- RwTexture *m_pTexture;
- int16 m_nIntensity;
- uint8 m_nType; // eShadowType
- uint8 m_nRed;
- uint8 m_nGreen;
- uint8 m_nBlue;
-
- CPermanentShadow()
- { }
-};
-
-VALIDATE_SIZE(CPermanentShadow, 0x38);
-
-class CShadows
-{
-public:
- static int16 ShadowsStoredToBeRendered;
- static CStoredShadow asShadowsStored [MAX_STOREDSHADOWS];
- static CPolyBunch aPolyBunches [MAX_POLYBUNCHES];
- static CStaticShadow aStaticShadows [MAX_STATICSHADOWS];
- static CPolyBunch *pEmptyBunchList;
- static CPermanentShadow aPermanentShadows[MAX_PERMAMENTSHADOWS];
-
- static void Init (void);
- static void Shutdown (void);
- static void AddPermanentShadow ( uint8 ShadowType, RwTexture *pTexture, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, uint32 nTime, float fScale);
-
- static bool StoreStaticShadow (uint32 nID, uint8 ShadowType, RwTexture *pTexture, Const CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, float fScale, float fDrawDistance, bool bTempShadow, float fUpDistance);
- static void StoreShadowToBeRendered ( uint8 ShadowType, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue);
- static void StoreShadowToBeRendered ( uint8 ShadowType, RwTexture *pTexture, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, bool bDrawOnWater, float fScale, CCutsceneShadow *pShadow, bool bDrawOnBuildings);
- static void StoreShadowForVehicle (CVehicle *pCar, VEH_SHD_TYPE type);
- static void StoreCarLightShadow (CVehicle *pCar, int32 nID, RwTexture *pTexture, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, uint8 nRed, uint8 nGreen, uint8 nBlue, float fMaxViewAngle);
- static void StoreShadowForPed (CPed *pPed, float fDisplacementX, float fDisplacementY, float fFrontX, float fFrontY, float fSideX, float fSideY);
- static void StoreShadowForPedObject (CEntity *pPedObject, float fDisplacementX, float fDisplacementY, float fFrontX, float fFrontY, float fSideX, float fSideY);
- static void StoreShadowForCutscenePedObject(CCutsceneObject *pObject, float fDisplacementX, float fDisplacementY, float fFrontX, float fFrontY, float fSideX, float fSideY);
- static void StoreShadowForTree (CEntity *pTree);
- static void StoreShadowForPole (CEntity *pPole, float fOffsetX, float fOffsetY, float fOffsetZ, float fPoleHeight, float fPoleWidth, uint32 nID);
- static void SetRenderModeForShadowType (uint8 ShadowType);
- static void RenderStoredShadows (void);
- static void RenderStaticShadows (void);
-
- static void GeneratePolysForStaticShadow (int16 nStaticShadowID);
- static void CastShadowSectorList (CPtrList &PtrList, float fStartX, float fStartY, float fEndX, float fEndY,
- CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, float fScale, CPolyBunch **ppPolyBunch);
-
- static void CastPlayerShadowSectorList (CPtrList &PtrList, float fStartX, float fStartY, float fEndX, float fEndY,
- CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, float fScale, CPolyBunch **ppPolyBunch);
-
- static void CastCutsceneShadowSectorList (CPtrList &PtrList, float fStartX, float fStartY, float fEndX, float fEndY,
- CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, float fScale, CPolyBunch **ppPolyBunch, CCutsceneShadow *pShadow);
-
- static void CastShadowEntityXY (CEntity *pEntity, float fStartX, float fStartY, float fEndX, float fEndY,
- CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, float fScale, CPolyBunch **ppPolyBunch);
-
- static void CastShadowEntityXYZ (CEntity *pEntity, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, float fScale, CPolyBunch **ppPolyBunch, CCutsceneShadow *pShadow);
-
- static void UpdateStaticShadows (void);
- static void UpdatePermanentShadows (void);
- static void CalcPedShadowValues (CVector vecLightDir, float *pfFrontX, float *pfFrontY, float *pfSideX, float *pfSideY, float *pfDisplacementX, float *pfDisplacementY);
- static void RenderExtraPlayerShadows (void);
- static void TidyUpShadows (void);
- static void RenderIndicatorShadow (uint32 nID, uint8 ShadowType, RwTexture *pTexture, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity);
-};
-
-extern RwTexture *gpShadowCarTex;
-extern RwTexture *gpShadowPedTex;
-extern RwTexture *gpShadowHeliTex;
-extern RwTexture *gpShadowBikeTex;
-extern RwTexture *gpShadowBaronTex;
-extern RwTexture *gpShadowExplosionTex;
-extern RwTexture *gpShadowHeadLightsTex;
-extern RwTexture *gpOutline1Tex;
-extern RwTexture *gpOutline2Tex;
-extern RwTexture *gpOutline3Tex;
-extern RwTexture *gpBloodPoolTex;
-extern RwTexture *gpReflectionTex;
-extern RwTexture *gpWalkDontTex;
-extern RwTexture *gpCrackedGlassTex;
-extern RwTexture *gpPostShadowTex;
-extern RwTexture *gpGoalTex;