merge attempt

This commit is contained in:
Nikolay Korolev 2020-12-19 03:21:04 +03:00
commit 8d1996833b
68 changed files with 2149 additions and 316 deletions

View file

@ -24,11 +24,16 @@
#include "Occlusion.h"
#include "Renderer.h"
#include "custompipes.h"
#include "Debug.h"
//--MIAMI: file done
bool gbShowPedRoadGroups;
bool gbShowCarRoadGroups;
bool gbShowCollisionPolys;
bool gbShowCollisionLines;
bool gbShowCullZoneDebugStuff;
bool gbDisableZoneCull; // not original
bool gbBigWhiteDebugLightSwitchedOn;
bool gbDontRenderBuildings;
@ -37,6 +42,25 @@ bool gbDontRenderPeds;
bool gbDontRenderObjects;
bool gbDontRenderVehicles;
int32 EntitiesRendered;
int32 EntitiesNotRendered;
int32 RenderedBigBuildings;
int32 RenderedBuildings;
int32 RenderedCars;
int32 RenderedPeds;
int32 RenderedObjects;
int32 RenderedDummies;
int32 TestedBigBuildings;
int32 TestedBuildings;
int32 TestedCars;
int32 TestedPeds;
int32 TestedObjects;
int32 TestedDummies;
// unused
int16 TestCloseThings;
int16 TestBigThings;
struct EntityInfo
{
CEntity *ent;
@ -61,6 +85,10 @@ CVehicle *CRenderer::m_pFirstPersonVehicle;
bool CRenderer::m_loadingPriority;
float CRenderer::ms_lodDistScale = 1.2f;
// unused
BlockedRange CRenderer::aBlockedRanges[16];
BlockedRange* CRenderer::pFullBlockedRanges;
BlockedRange* CRenderer::pEmptyBlockedRanges;
void
CRenderer::Init(void)
@ -901,6 +929,14 @@ CRenderer::RenderCollisionLines(void)
}
}
// unused
void
CRenderer::RenderBlockBuildingLines(void)
{
for(BlockedRange *br = pFullBlockedRanges; br; br = br->next)
printf("Blocked: %f %f\n", br->a, br->b);
}
enum Visbility
{
VIS_INVISIBLE,
@ -1222,7 +1258,21 @@ CRenderer::ConstructRenderList(void)
ms_nNoOfInVisibleEntities = 0;
}
ms_vecCameraPosition = TheCamera.GetPosition();
// TODO: blocked ranges, but unused
// unused
pFullBlockedRanges = nil;
pEmptyBlockedRanges = aBlockedRanges;
for(int i = 0; i < 16; i++){
aBlockedRanges[i].prev = &aBlockedRanges[i-1];
aBlockedRanges[i].next = &aBlockedRanges[i+1];
}
aBlockedRanges[0].prev = nil;
aBlockedRanges[15].next = nil;
// unused
TestCloseThings = 0;
TestBigThings = 0;
ScanWorld();
}
@ -1258,6 +1308,24 @@ CRenderer::ScanWorld(void)
RwMatrix *cammatrix;
RwV2d poly[3];
#ifndef MASTER
// missing in game but has to be done somewhere
EntitiesRendered = 0;
EntitiesNotRendered = 0;
RenderedBigBuildings = 0;
RenderedBuildings = 0;
RenderedCars = 0;
RenderedPeds = 0;
RenderedObjects = 0;
RenderedDummies = 0;
TestedBigBuildings = 0;
TestedBuildings = 0;
TestedCars = 0;
TestedPeds = 0;
TestedObjects = 0;
TestedDummies = 0;
#endif
memset(vectors, 0, sizeof(vectors));
vectors[CORNER_FAR_TOPLEFT].x = -vw.x * f;
vectors[CORNER_FAR_TOPLEFT].y = vw.y * f;
@ -1377,6 +1445,19 @@ CRenderer::ScanWorld(void)
ScanBigBuildingList(CWorld::GetBigBuildingList(LEVEL_GENERIC));
}
}
#ifndef MASTER
if(gbShowCullZoneDebugStuff){
sprintf(gString, "Rejected: %d/%d.", EntitiesNotRendered, EntitiesNotRendered + EntitiesRendered);
CDebug::PrintAt(gString, 10, 10);
sprintf(gString, "Tested:BBuild:%d Build:%d Peds:%d Cars:%d Obj:%d Dummies:%d",
TestedBigBuildings, TestedBuildings, TestedPeds, TestedCars, TestedObjects, TestedDummies);
CDebug::PrintAt(gString, 10, 11);
sprintf(gString, "Rendered:BBuild:%d Build:%d Peds:%d Cars:%d Obj:%d Dummies:%d",
RenderedBigBuildings, RenderedBuildings, RenderedPeds, RenderedCars, RenderedObjects, RenderedDummies);
CDebug::PrintAt(gString, 10, 12);
}
#endif
}
void