summaryrefslogtreecommitdiff
path: root/src/map.cpp
diff options
context:
space:
mode:
authorMillersMan <millersman@users.noreply.github.com>2016-11-27 21:51:40 +0100
committerparamat <mat.gregory@virginmedia.com>2016-12-07 04:06:00 +0000
commit9714cdcf4ba51b44cca72e133ec5ef2a3c9f50f6 (patch)
treec3b4e4d0c6d60924f06d44a0395730f872763633 /src/map.cpp
parentcc36f5e99ae46cf2fd370dde8311f139169a4c43 (diff)
downloadminetest-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.cpp11
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