diff options
author | Fire_Head <Fire-Head@users.noreply.github.com> | 2020-08-08 17:15:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-08 17:15:51 +0200 |
commit | dbaeaa45cfdec782031a668be4ffbed81e864ade (patch) | |
tree | a3ae59a6ef757dcc9a3772fcb4c7600c551e03c4 /src | |
parent | Revert "little emergecy fix for shadows with librw" (diff) | |
parent | Update Ped.cpp (diff) | |
download | re3-dbaeaa45cfdec782031a668be4ffbed81e864ade.tar re3-dbaeaa45cfdec782031a668be4ffbed81e864ade.tar.gz re3-dbaeaa45cfdec782031a668be4ffbed81e864ade.tar.bz2 re3-dbaeaa45cfdec782031a668be4ffbed81e864ade.tar.lz re3-dbaeaa45cfdec782031a668be4ffbed81e864ade.tar.xz re3-dbaeaa45cfdec782031a668be4ffbed81e864ade.tar.zst re3-dbaeaa45cfdec782031a668be4ffbed81e864ade.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/config.h | 3 | ||||
-rw-r--r-- | src/peds/Ped.cpp | 13 | ||||
-rw-r--r-- | src/peds/Ped.h | 2 | ||||
-rw-r--r-- | src/render/Shadows.cpp | 25 |
4 files changed, 24 insertions, 19 deletions
diff --git a/src/core/config.h b/src/core/config.h index fa00bf67..469f9017 100644 --- a/src/core/config.h +++ b/src/core/config.h @@ -232,6 +232,9 @@ enum Config { // #define PC_WATER #define WATER_CHEATS +//#define USE_CUTSCENE_SHADOW_FOR_PED +#define DISABLE_CUTSCENE_SHADOWS + // Pad #if !defined(RW_GL3) && defined(_WIN32) #define XINPUT diff --git a/src/peds/Ped.cpp b/src/peds/Ped.cpp index 4e1c3c6d..4c8a29cc 100644 --- a/src/peds/Ped.cpp +++ b/src/peds/Ped.cpp @@ -147,7 +147,7 @@ void CPed::operator delete(void *p, int handle) { CPools::GetPedPool()->Delete(( // --MIAMI: Done CPed::~CPed(void) { -#if 1 +#ifdef USE_CUTSCENE_SHADOW_FOR_PED if ( m_pRTShadow ) delete m_pRTShadow; #endif CWorld::Remove(this); @@ -207,8 +207,8 @@ CPed::FlagToDestroyWhenNextProcessed(void) CPed::CPed(uint32 pedType) : m_pedIK(this) { -#if 1 - m_pRTShadow = NULL; +#ifdef USE_CUTSCENE_SHADOW_FOR_PED + m_pRTShadow = nil; #endif m_type = ENTITY_TYPE_PED; bPedPhysics = true; @@ -2788,14 +2788,11 @@ CPed::SetModelIndex(uint32 mi) // This is a mistake by R*, velocity is CVector, whereas m_vecAnimMoveDelta is CVector2D. (*RPANIMBLENDCLUMPDATA(m_rwObject))->velocity = (CVector*) &m_vecAnimMoveDelta; -#ifdef PED_SKIN if(modelInfo->GetHitColModel() == nil) modelInfo->CreateHitColModelSkinned(GetClump()); - if (IsClumpSkinned(GetClump())) // condition isn't there in VC - UpdateRpHAnim(); -#endif -#if 1 + UpdateRpHAnim(); +#ifdef USE_CUTSCENE_SHADOW_FOR_PED if (!m_pRTShadow) { m_pRTShadow = new CCutsceneShadow; diff --git a/src/peds/Ped.h b/src/peds/Ped.h index 979eb29c..6b0cc5fb 100644 --- a/src/peds/Ped.h +++ b/src/peds/Ped.h @@ -363,7 +363,7 @@ class CVehicle; class CPed : public CPhysical { public: -#if 1 +#ifdef USE_CUTSCENE_SHADOW_FOR_PED class CCutsceneShadow *m_pRTShadow; #endif // 0x128 diff --git a/src/render/Shadows.cpp b/src/render/Shadows.cpp index 9b864d27..5bb6a734 100644 --- a/src/render/Shadows.cpp +++ b/src/render/Shadows.cpp @@ -236,9 +236,9 @@ CShadows::StoreStaticShadow(uint32 nID, uint8 ShadowType, RwTexture *pTexture, C float fDistToCamSqr = (*pPosn - TheCamera.GetPosition()).MagnitudeSqr2D(); - if ( SQR(fDrawDistance) > fDistToCamSqr || fDistToCamSqr == 0.0f ) + if ( SQR(fDrawDistance) > fDistToCamSqr || fDrawDistance == 0.0f ) { - if ( fDistToCamSqr != 0.0f ) + if ( fDrawDistance != 0.0f ) { float fDistToCam = Sqrt(fDistToCamSqr); @@ -277,8 +277,10 @@ CShadows::StoreStaticShadow(uint32 nID, uint8 ShadowType, RwTexture *pTexture, C aStaticShadows[nSlot].m_fScale = fScale; aStaticShadows[nSlot].m_bTemp = bTempShadow; aStaticShadows[nSlot].m_nTimeCreated = CTimer::GetTimeInMilliseconds(); + + return true; } - else if ( Abs(pPosn->x - aStaticShadows[nSlot].m_vecPosn.x) < 0.05f + else if ( Abs(pPosn->x - aStaticShadows[nSlot].m_vecPosn.x) < 0.05f && Abs(pPosn->y - aStaticShadows[nSlot].m_vecPosn.y) < 0.05f && Abs(pPosn->z - aStaticShadows[nSlot].m_vecPosn.z) < 2.0f @@ -299,7 +301,7 @@ CShadows::StoreStaticShadow(uint32 nID, uint8 ShadowType, RwTexture *pTexture, C aStaticShadows[nSlot].m_bTemp = bTempShadow; aStaticShadows[nSlot].m_nTimeCreated = CTimer::GetTimeInMilliseconds(); - return false; + return true; } else { @@ -585,7 +587,7 @@ CShadows::StoreShadowForVehicle(CVehicle *pCar, VEH_SHD_TYPE type) CarPos.x -= pCar->GetForward().x * (((fVehicleHeight/2) - pCar->GetColModel()->boundingBox.max.y)*size); CarPos.y -= pCar->GetForward().y * (((fVehicleHeight/2) - pCar->GetColModel()->boundingBox.max.y)*size); - RwTexture *tex; + RwTexture *tex = gpShadowCarTex; switch ( type ) { case VEH_SHD_TYPE_BIKE: @@ -625,8 +627,8 @@ CShadows::StoreShadowForVehicle(CVehicle *pCar, VEH_SHD_TYPE type) float frontx = pCar->GetForward().x; float fronty = pCar->GetForward().y; - float sidex = pCar->GetRight().x; - float sidey = pCar->GetRight().y; + float sidex = pCar->GetRight().x; + float sidey = pCar->GetRight().y; switch ( type ) { @@ -769,7 +771,7 @@ CShadows::StoreCarLightShadow(CAutomobile *pCar, int32 nID, RwTexture *pTexture, } -#if 1 +#ifdef USE_CUTSCENE_SHADOW_FOR_PED void StoreShadowForCutscenePedObject(CPed *pObject, float fDisplacementX, float fDisplacementY, float fFrontX, float fFrontY, float fSideX, float fSideY) @@ -853,7 +855,7 @@ CShadows::StoreShadowForPed(CPed *pPed, float fDisplacementX, float fDisplacemen { if ( CTimeCycle::GetShadowStrength() != 0 ) { - #if 1 +#ifdef USE_CUTSCENE_SHADOW_FOR_PED CCutsceneShadow *pShadow = pPed->m_pRTShadow; if (pShadow) @@ -864,7 +866,7 @@ CShadows::StoreShadowForPed(CPed *pPed, float fDisplacementX, float fDisplacemen } return; - #endif +#endif StoreShadowForPedObject(pPed, fDisplacementX, fDisplacementY, @@ -920,6 +922,9 @@ void CShadows::StoreShadowForCutscenePedObject(CCutsceneObject *pObject, float fDisplacementX, float fDisplacementY, float fFrontX, float fFrontY, float fSideX, float fSideY) { +#ifdef DISABLE_CUTSCENE_SHADOWS + return; +#endif ASSERT(pObject != nil); CCutsceneShadow *shadow = pObject->m_pShadow; |