diff options
author | MillersMan <millersman@users.noreply.github.com> | 2016-11-27 21:51:40 +0100 |
---|---|---|
committer | paramat <mat.gregory@virginmedia.com> | 2016-12-07 04:06:00 +0000 |
commit | 9714cdcf4ba51b44cca72e133ec5ef2a3c9f50f6 (patch) | |
tree | c3b4e4d0c6d60924f06d44a0395730f872763633 /src/map.cpp | |
parent | cc36f5e99ae46cf2fd370dde8311f139169a4c43 (diff) | |
download | minetest-9714cdcf4ba51b44cca72e133ec5ef2a3c9f50f6.tar.gz minetest-9714cdcf4ba51b44cca72e133ec5ef2a3c9f50f6.tar.bz2 minetest-9714cdcf4ba51b44cca72e133ec5ef2a3c9f50f6.zip |
Liquids: Update flow on block load
When loading a block add liquid-nodes that might flow away or spread to
neighbours to the transforming_liquid queue.
Diffstat (limited to 'src/map.cpp')
-rw-r--r-- | src/map.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/map.cpp b/src/map.cpp index 28d650276..7bb8c4a13 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -35,6 +35,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "util/mathconstants.h" #include "rollback_interface.h" #include "environment.h" +#include "reflowscan.h" #include "emerge.h" #include "mapgen_v6.h" #include "mg_biome.h" @@ -2905,8 +2906,11 @@ void ServerMap::loadBlock(std::string sectordir, std::string blockfile, block->deSerialize(is, version, true); // If it's a new block, insert it to the map - if(created_new) + if (created_new) { sector->insertBlock(block); + ReflowScan scanner(this, m_emerge->ndef); + scanner.scan(block, &m_transforming_liquid); + } /* Save blocks loaded in old format in new format @@ -2972,8 +2976,11 @@ void ServerMap::loadBlock(std::string *blob, v3s16 p3d, MapSector *sector, bool block->deSerialize(is, version, true); // If it's a new block, insert it to the map - if(created_new) + if (created_new) { sector->insertBlock(block); + ReflowScan scanner(this, m_emerge->ndef); + scanner.scan(block, &m_transforming_liquid); + } /* Save blocks loaded in old format in new format |