summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraap <aap@papnet.eu>2020-12-02 10:38:27 +0100
committeraap <aap@papnet.eu>2020-12-02 10:38:27 +0100
commitfba657ff0c77b343ac854a5aed16385a6c77492c (patch)
treec4a125ed77e2b44366bc693dfce2654cc80a795e
parent83bbb631d1105502fb3c5b3af90578226ba35583 (diff)
better cam lod dist fix
-rw-r--r--src/control/PathFind.cpp8
-rw-r--r--src/core/Camera.cpp14
2 files changed, 15 insertions, 7 deletions
diff --git a/src/control/PathFind.cpp b/src/control/PathFind.cpp
index ecd2d0cb..49e43c81 100644
--- a/src/control/PathFind.cpp
+++ b/src/control/PathFind.cpp
@@ -1649,10 +1649,18 @@ CPathFind::TestCoorsCloseness(CVector target, uint8 type, CVector start)
DoPathSearch(type, start, -1, target, pNodeList, &DummyResult, 32, nil, &dist, 999999.88f, -1);
else
DoPathSearch(type, start, -1, target, nil, &DummyResult2, 0, nil, &dist, 50.0f, -1);
+#ifdef FIX_BUGS
+ // dist has GenerationDistMultiplier as a factor, so our reference dist should have it too
+ if(type == PATH_CAR)
+ return dist < 160.0f*TheCamera.GenerationDistMultiplier;
+ else
+ return dist < 100.0f*TheCamera.GenerationDistMultiplier;
+#else
if(type == PATH_CAR)
return dist < 160.0f;
else
return dist < 100.0f;
+#endif
}
void
diff --git a/src/core/Camera.cpp b/src/core/Camera.cpp
index 51876c93..4baec2a4 100644
--- a/src/core/Camera.cpp
+++ b/src/core/Camera.cpp
@@ -713,14 +713,14 @@ CCamera::Process(void)
DistanceToWater = CWaterLevel::CalcDistanceToWater(GetPosition().x, GetPosition().y);
// LOD dist
- if(!CCutsceneMgr::IsRunning() || CCutsceneMgr::UseLodMultiplier())
- LODDistMultiplier = 70.0f/CDraw::GetFOV() * CDraw::GetAspectRatio()/(4.0f/3.0f);
- else
- LODDistMultiplier = 1.0f;
-#ifdef FIX_BUGS
- // from VC. to high values bug out spawns
- LODDistMultiplier = Min(LODDistMultiplier, 2.2f);
+ if(!CCutsceneMgr::IsRunning() || CCutsceneMgr::UseLodMultiplier()){
+ LODDistMultiplier = 70.0f/CDraw::GetFOV();
+#ifndef FIX_BUGS
+ // makes no sense and gone in VC
+ LODDistMultiplier *= CDraw::GetAspectRatio()/(4.0f/3.0f);
#endif
+ }else
+ LODDistMultiplier = 1.0f;
#if GTA_VERSION > GTA3_PS2_160
GenerationDistMultiplier = LODDistMultiplier;
LODDistMultiplier *= CRenderer::ms_lodDistScale;