diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-06-07 03:19:05 +0200 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-06-07 03:19:05 +0200 |
commit | b11c0a6721cd884d78b38b63797dfdb933004e03 (patch) | |
tree | 629c49cda2995fafef2bf345abf31b39bd21ff69 /src/serverenvironment.cpp | |
parent | 827b9f8d7054158b058679999d77c1345162a293 (diff) | |
parent | edc7df54801ab3bf30f96ac5aad6ce11a102f6b9 (diff) | |
download | dragonfireclient-b11c0a6721cd884d78b38b63797dfdb933004e03.tar.xz |
Merge branch 'master' of https://github.com/minetest/minetest
Diffstat (limited to 'src/serverenvironment.cpp')
-rw-r--r-- | src/serverenvironment.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/serverenvironment.cpp b/src/serverenvironment.cpp index 2855f04b8..9da5f98bd 100644 --- a/src/serverenvironment.cpp +++ b/src/serverenvironment.cpp @@ -258,23 +258,23 @@ void LBMManager::applyLBMs(ServerEnvironment *env, MapBlock *block, u32 stamp) v3s16 pos; MapNode n; content_t c; - lbm_lookup_map::const_iterator it = getLBMsIntroducedAfter(stamp); + bool pos_valid; // dummy, we know it's valid + auto it = getLBMsIntroducedAfter(stamp); for (; it != m_lbm_lookup.end(); ++it) { // Cache previous version to speedup lookup which has a very high performance // penalty on each call - content_t previous_c{}; - std::vector<LoadingBlockModifierDef *> *lbm_list = nullptr; + content_t previous_c = CONTENT_IGNORE; + const std::vector<LoadingBlockModifierDef *> *lbm_list = nullptr; for (pos.X = 0; pos.X < MAP_BLOCKSIZE; pos.X++) for (pos.Y = 0; pos.Y < MAP_BLOCKSIZE; pos.Y++) for (pos.Z = 0; pos.Z < MAP_BLOCKSIZE; pos.Z++) { - n = block->getNodeNoEx(pos); + n = block->getNodeNoCheck(pos, &pos_valid); c = n.getContent(); // If content_t are not matching perform an LBM lookup if (previous_c != c) { - lbm_list = (std::vector<LoadingBlockModifierDef *> *) - it->second.lookup(c); + lbm_list = it->second.lookup(c); previous_c = c; } |