1
0
Fork 0
mirror of https://git.rip/DMCA_FUCKER/re3.git synced 2024-07-01 11:03:47 +00:00

fixed to renderer

This commit is contained in:
aap 2020-07-21 11:12:15 +02:00
parent 0fba76a565
commit 34b162d2c9

View file

@ -317,7 +317,11 @@ enum Visbility
VIS_STREAMME VIS_STREAMME
}; };
#ifdef FIX_BUGS
#define LOD_DISTANCE (300.0f*TheCamera.LODDistMultiplier)
#else
#define LOD_DISTANCE 300.0f #define LOD_DISTANCE 300.0f
#endif
#define FADE_DISTANCE 20.0f #define FADE_DISTANCE 20.0f
#define STREAM_DISTANCE 30.0f #define STREAM_DISTANCE 30.0f
@ -419,6 +423,8 @@ CRenderer::SetupEntityVisibility(CEntity *ent)
// whose draw dist is > LOD_DISTANCE-FADE_DISTANCE, i.e. 280 // whose draw dist is > LOD_DISTANCE-FADE_DISTANCE, i.e. 280
// because decreasing dist here makes the object visible above LOD_DISTANCE // because decreasing dist here makes the object visible above LOD_DISTANCE
// before fading normally once below LOD_DISTANCE. // before fading normally once below LOD_DISTANCE.
// aha! this must be a workaround for the fact that we're not taking
// the LOD multiplier into account here anywhere
if(LOD_DISTANCE < dist && dist < mi->GetLargestLodDistance() + FADE_DISTANCE) if(LOD_DISTANCE < dist && dist < mi->GetLargestLodDistance() + FADE_DISTANCE)
dist += mi->GetLargestLodDistance() - LOD_DISTANCE; dist += mi->GetLargestLodDistance() - LOD_DISTANCE;
#endif #endif
@ -751,14 +757,7 @@ CRenderer::ScanWorld(void)
}else }else
#endif #endif
{ {
if(f <= LOD_DISTANCE){ if(f > LOD_DISTANCE){
poly[0].x = CWorld::GetSectorX(vectors[CORNER_CAM].x);
poly[0].y = CWorld::GetSectorY(vectors[CORNER_CAM].y);
poly[1].x = CWorld::GetSectorX(vectors[CORNER_FAR_TOPLEFT].x);
poly[1].y = CWorld::GetSectorY(vectors[CORNER_FAR_TOPLEFT].y);
poly[2].x = CWorld::GetSectorX(vectors[CORNER_FAR_TOPRIGHT].x);
poly[2].y = CWorld::GetSectorY(vectors[CORNER_FAR_TOPRIGHT].y);
}else{
// priority // priority
poly[0].x = CWorld::GetSectorX(vectors[CORNER_CAM].x); poly[0].x = CWorld::GetSectorX(vectors[CORNER_CAM].x);
poly[0].y = CWorld::GetSectorY(vectors[CORNER_CAM].y); poly[0].y = CWorld::GetSectorY(vectors[CORNER_CAM].y);
@ -775,8 +774,16 @@ CRenderer::ScanWorld(void)
poly[1].y = CWorld::GetSectorY(vectors[CORNER_LOD_LEFT].y); poly[1].y = CWorld::GetSectorY(vectors[CORNER_LOD_LEFT].y);
poly[2].x = CWorld::GetSectorX(vectors[CORNER_LOD_RIGHT].x); poly[2].x = CWorld::GetSectorX(vectors[CORNER_LOD_RIGHT].x);
poly[2].y = CWorld::GetSectorY(vectors[CORNER_LOD_RIGHT].y); poly[2].y = CWorld::GetSectorY(vectors[CORNER_LOD_RIGHT].y);
}
ScanSectorPoly(poly, 3, ScanSectorList); ScanSectorPoly(poly, 3, ScanSectorList);
}else{
poly[0].x = CWorld::GetSectorX(vectors[CORNER_CAM].x);
poly[0].y = CWorld::GetSectorY(vectors[CORNER_CAM].y);
poly[1].x = CWorld::GetSectorX(vectors[CORNER_FAR_TOPLEFT].x);
poly[1].y = CWorld::GetSectorY(vectors[CORNER_FAR_TOPLEFT].y);
poly[2].x = CWorld::GetSectorX(vectors[CORNER_FAR_TOPRIGHT].x);
poly[2].y = CWorld::GetSectorY(vectors[CORNER_FAR_TOPRIGHT].y);
ScanSectorPoly(poly, 3, ScanSectorList);
}
ScanBigBuildingList(CWorld::GetBigBuildingList(CGame::currLevel)); ScanBigBuildingList(CWorld::GetBigBuildingList(CGame::currLevel));
ScanBigBuildingList(CWorld::GetBigBuildingList(LEVEL_GENERIC)); ScanBigBuildingList(CWorld::GetBigBuildingList(LEVEL_GENERIC));