Slight simplification and optimization of RemoteClient.

master
Lars 2020-11-02 09:27:15 -08:00 committed by lhofhansl
parent aa4d3cb148
commit 39213bd00a
1 changed files with 7 additions and 13 deletions

View File

@ -298,20 +298,14 @@ void RemoteClient::GetNextBlocks (
*/
MapBlock *block = env->getMap().getBlockNoCreateNoEx(p);
bool surely_not_found_on_disk = false;
bool block_is_invalid = false;
bool block_not_found = false;
if (block) {
// Reset usage timer, this block will be of use in the future.
block->resetUsageTimer();
// Block is dummy if data doesn't exist.
// It means it has been not found from disk and not generated
if (block->isDummy()) {
surely_not_found_on_disk = true;
}
if (!block->isGenerated())
block_is_invalid = true;
// Check whether the block exists (with data)
if (block->isDummy() || !block->isGenerated())
block_not_found = true;
/*
If block is not close, don't send it unless it is near
@ -325,7 +319,7 @@ void RemoteClient::GetNextBlocks (
continue;
}
if (m_occ_cull && !block_is_invalid &&
if (m_occ_cull && !block_not_found &&
env->getMap().isBlockOccluded(block, cam_pos_nodes)) {
continue;
}
@ -335,7 +329,7 @@ void RemoteClient::GetNextBlocks (
If block has been marked to not exist on disk (dummy) or is
not generated and generating new ones is not wanted, skip block.
*/
if (!generate && (surely_not_found_on_disk || block_is_invalid)) {
if (!generate && block_not_found) {
// get next one.
continue;
}
@ -343,7 +337,7 @@ void RemoteClient::GetNextBlocks (
/*
Add inexistent block to emerge queue.
*/
if (block == NULL || surely_not_found_on_disk || block_is_invalid) {
if (block == NULL || block_not_found) {
if (emerge->enqueueBlockEmerge(peer_id, p, generate)) {
if (nearest_emerged_d == -1)
nearest_emerged_d = d;