This commit is contained in:
GabsPuNs
2026-05-14 21:52:21 -04:00
parent 1b2f5c6fe8
commit f8a2d644f5
291 changed files with 7363 additions and 18368 deletions

View File

@@ -203,7 +203,7 @@ void Chunk::rebuild()
int r = 1;
int lists = levelRenderer->getGlobalIndexForChunk(this->x,this->y,this->z,level) * 3;
int lists = levelRenderer->getGlobalIndexForChunk(this->x,this->y,this->z,level) * 2;
lists += levelRenderer->chunkLists;
PIXEndNamedEvent();
@@ -227,7 +227,7 @@ void Chunk::rebuild()
if( sourceChunk == nullptr )
{
// Level chunk not loaded yet - treat as empty
for (int currentLayer = 0; currentLayer < 3; currentLayer++)
for (int currentLayer = 0; currentLayer < 2; currentLayer++)
{
levelRenderer->setGlobalChunkFlag(this->x, this->y, this->z, level, LevelRenderer::CHUNK_FLAG_EMPTY0, currentLayer);
RenderManager.CBuffClear(lists + currentLayer);
@@ -404,7 +404,7 @@ void Chunk::rebuild()
if( empty )
{
// 4J - added - clear any renderer data associated with this
for (int currentLayer = 0; currentLayer < 3; currentLayer++)
for (int currentLayer = 0; currentLayer < 2; currentLayer++)
{
levelRenderer->setGlobalChunkFlag(this->x, this->y, this->z, level, LevelRenderer::CHUNK_FLAG_EMPTY0, currentLayer);
RenderManager.CBuffClear(lists + currentLayer);
@@ -446,7 +446,7 @@ void Chunk::rebuild()
bounds.boundingBox[4] = SIZE+g;
bounds.boundingBox[5] = XZSIZE+g;
}
for (int currentLayer = 0; currentLayer < 3; currentLayer++)
for (int currentLayer = 0; currentLayer < 2; currentLayer++)
{
bool renderNextLayer = false;
bool rendered = false;
@@ -561,20 +561,12 @@ void Chunk::rebuild()
levelRenderer->setGlobalChunkFlag(this->x, this->y, this->z, level, LevelRenderer::CHUNK_FLAG_EMPTY0, currentLayer);
RenderManager.CBuffClear(lists + currentLayer);
}
if((currentLayer==0)&&(!renderNextLayer))
{
levelRenderer->setGlobalChunkFlag(this->x, this->y, this->z, level, LevelRenderer::CHUNK_FLAG_EMPTY1 | LevelRenderer::CHUNK_FLAG_NOTSKYLIT);
levelRenderer->setGlobalChunkFlag(this->x, this->y, this->z, level, LevelRenderer::CHUNK_FLAG_EMPTY1);
RenderManager.CBuffClear(lists + 1);
RenderManager.CBuffClear(lists + 2);
break;
}
// TODO CHECK THIS. With == 2 the game was cleaning the layer 2 when it shouldn't have
if((currentLayer==1)&&(!renderNextLayer))
{
levelRenderer->setGlobalChunkFlag(this->x, this->y, this->z, level, LevelRenderer::CHUNK_FLAG_NOTSKYLIT);
RenderManager.CBuffClear(lists + 2);
}
}
// 4J MGH - added this to take the bound from the value calc'd in the tesselator
@@ -700,8 +692,7 @@ void Chunk::rebuild()
#endif
// 4J - These removed items are now also removed from globalRenderableTileEntities
/*
// @Patoke: this is now unused in favour of the new render layer
if( LevelChunk::touchedSky )
{
levelRenderer->clearGlobalChunkFlag(x, y, z, level, LevelRenderer::CHUNK_FLAG_NOTSKYLIT);
@@ -710,7 +701,6 @@ void Chunk::rebuild()
{
levelRenderer->setGlobalChunkFlag(x, y, z, level, LevelRenderer::CHUNK_FLAG_NOTSKYLIT);
}
*/
levelRenderer->setGlobalChunkFlag(x, y, z, level, LevelRenderer::CHUNK_FLAG_COMPILED);
PIXEndNamedEvent();
@@ -775,7 +765,7 @@ void Chunk::rebuild_SPU()
Region region(level, x0 - r, y0 - r, z0 - r, x1 + r, y1 + r, z1 + r, r);
TileRenderer tileRenderer(&region);
int lists = levelRenderer->getGlobalIndexForChunk(this->x,this->y,this->z,level) * 3;
int lists = levelRenderer->getGlobalIndexForChunk(this->x,this->y,this->z,level) * 2;
lists += levelRenderer->chunkLists;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -800,7 +790,7 @@ void Chunk::rebuild_SPU()
bounds.boundingBox[5] = SIZE+g;
}
for (int currentLayer = 0; currentLayer < 3; currentLayer++)
for (int currentLayer = 0; currentLayer < 2; currentLayer++)
{
bool rendered = false;
@@ -1066,11 +1056,11 @@ void Chunk::reset()
// printf("\t\t [dec] refcount %d at %d, %d, %d\n",refCount,x,y,z);
if( refCount == 0 )
{
int lists = levelRenderer->getGlobalIndexForChunk(x, y, z, level) * 3;
int lists = levelRenderer->getGlobalIndexForChunk(x, y, z, level) * 2;
if(lists >= 0)
{
lists += levelRenderer->chunkLists;
for (int i = 0; i < 3; i++)
for (int i = 0; i < 2; i++)
{
// 4J - added - clear any renderer data associated with this unused list
RenderManager.CBuffClear(lists + i);