mirror of
https://github.com/GTAmodding/re3.git
synced 2024-11-25 10:23:44 +00:00
Merge pull request #1251 from Sergeanur/HigherDrawDist
Make cars and peds to not despawn when you look away
This commit is contained in:
commit
232b5a04ba
3 changed files with 12 additions and 2 deletions
|
@ -731,6 +731,7 @@ CCarCtrl::PossiblyRemoveVehicle(CVehicle* pVehicle)
|
|||
}
|
||||
float distanceToPlayer = (pVehicle->GetPosition() - vecPlayerPos).Magnitude2D();
|
||||
float threshold = 50.0f;
|
||||
#ifndef EXTENDED_OFFSCREEN_DESPAWN_RANGE
|
||||
if (pVehicle->GetIsOnScreen() ||
|
||||
TheCamera.Cams[TheCamera.ActiveCam].LookingLeft ||
|
||||
TheCamera.Cams[TheCamera.ActiveCam].LookingRight ||
|
||||
|
@ -741,7 +742,9 @@ CCarCtrl::PossiblyRemoveVehicle(CVehicle* pVehicle)
|
|||
pVehicle->GetModelIndex() == MI_FIRETRUCK ||
|
||||
pVehicle->bIsLawEnforcer ||
|
||||
pVehicle->bIsCarParkVehicle
|
||||
){
|
||||
)
|
||||
#endif
|
||||
{
|
||||
threshold = 130.0f * TheCamera.GenerationDistMultiplier;
|
||||
}
|
||||
if (pVehicle->bExtendedRange)
|
||||
|
|
|
@ -265,6 +265,9 @@ enum Config {
|
|||
|
||||
#define NO_MOVIES // add option to disable intro videos
|
||||
|
||||
#define EXTENDED_OFFSCREEN_DESPAWN_RANGE // Use onscreen despawn range for offscreen peds and vehicles to avoid them despawning in the distance when you look
|
||||
// away
|
||||
|
||||
#if defined(__LP64__) || defined(_WIN64)
|
||||
#define FIX_BUGS_64 // Must have fixes to be able to run 64 bit build
|
||||
#endif
|
||||
|
@ -450,6 +453,7 @@ enum Config {
|
|||
#undef PS2_ALPHA_TEST
|
||||
#undef NO_ISLAND_LOADING
|
||||
#undef PS2_AUDIO_CHANNELS
|
||||
#undef EXTENDED_OFFSCREEN_DESPAWN_RANGE
|
||||
#define PC_PARTICLE
|
||||
#define VC_PED_PORTS // To not process collisions always. But should be tested if that's really beneficial
|
||||
#define VC_RAIN_NERF // Reduces number of rain particles
|
||||
|
|
|
@ -1126,13 +1126,16 @@ CPopulation::ManagePopulation(void)
|
|||
bool pedIsFarAway = false;
|
||||
if (PedCreationDistMultiplier() * (PED_REMOVE_DIST_SPECIAL * TheCamera.GenerationDistMultiplier) < dist
|
||||
|| (!ped->bCullExtraFarAway && PedCreationDistMultiplier() * PED_REMOVE_DIST * TheCamera.GenerationDistMultiplier < dist)
|
||||
#ifndef EXTENDED_OFFSCREEN_DESPAWN_RANGE
|
||||
|| (PedCreationDistMultiplier() * (MIN_CREATION_DIST + CREATION_RANGE) * OFFSCREEN_CREATION_MULT < dist
|
||||
&& !ped->GetIsOnScreen()
|
||||
&& TheCamera.Cams[TheCamera.ActiveCam].Mode != CCam::MODE_SNIPER
|
||||
&& TheCamera.Cams[TheCamera.ActiveCam].Mode != CCam::MODE_SNIPER_RUNABOUT
|
||||
&& !TheCamera.Cams[TheCamera.ActiveCam].LookingLeft
|
||||
&& !TheCamera.Cams[TheCamera.ActiveCam].LookingRight
|
||||
&& !TheCamera.Cams[TheCamera.ActiveCam].LookingBehind))
|
||||
&& !TheCamera.Cams[TheCamera.ActiveCam].LookingBehind)
|
||||
#endif
|
||||
)
|
||||
pedIsFarAway = true;
|
||||
|
||||
if (!pedIsFarAway)
|
||||
|
|
Loading…
Reference in a new issue