forked from Mirrorlandia_minetest/minetest
Fix unnecessary block loading (#4847)
This commit makes the game load blocks only if they are not in the memory.
This commit is contained in:
parent
78bf7c46e5
commit
6d4e7f223a
@ -508,13 +508,15 @@ EmergeAction EmergeThread::getBlockOrStartGen(
|
|||||||
|
|
||||||
// 1). Attempt to fetch block from memory
|
// 1). Attempt to fetch block from memory
|
||||||
*block = m_map->getBlockNoCreateNoEx(pos);
|
*block = m_map->getBlockNoCreateNoEx(pos);
|
||||||
if (*block && !(*block)->isDummy() && (*block)->isGenerated())
|
if (*block && !(*block)->isDummy()) {
|
||||||
return EMERGE_FROM_MEMORY;
|
if ((*block)->isGenerated())
|
||||||
|
return EMERGE_FROM_MEMORY;
|
||||||
// 2). Attempt to load block from disk
|
} else {
|
||||||
*block = m_map->loadBlock(pos);
|
// 2). Attempt to load block from disk if it was not in the memory
|
||||||
if (*block && (*block)->isGenerated())
|
*block = m_map->loadBlock(pos);
|
||||||
return EMERGE_FROM_DISK;
|
if (*block && (*block)->isGenerated())
|
||||||
|
return EMERGE_FROM_DISK;
|
||||||
|
}
|
||||||
|
|
||||||
// 3). Attempt to start generation
|
// 3). Attempt to start generation
|
||||||
if (allow_gen && m_map->initBlockMake(pos, bmdata))
|
if (allow_gen && m_map->initBlockMake(pos, bmdata))
|
||||||
|
Loading…
Reference in New Issue
Block a user