summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFire_Head <Fire-Head@users.noreply.github.com>2020-08-08 17:15:51 +0200
committerGitHub <noreply@github.com>2020-08-08 17:15:51 +0200
commitdbaeaa45cfdec782031a668be4ffbed81e864ade (patch)
treea3ae59a6ef757dcc9a3772fcb4c7600c551e03c4 /src
parentRevert "little emergecy fix for shadows with librw" (diff)
parentUpdate Ped.cpp (diff)
downloadre3-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 'src')
-rw-r--r--src/core/config.h3
-rw-r--r--src/peds/Ped.cpp13
-rw-r--r--src/peds/Ped.h2
-rw-r--r--src/render/Shadows.cpp25
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;