summaryrefslogtreecommitdiff
path: root/src/map.cpp
diff options
context:
space:
mode:
authorsapier <Sapier at GMX dot net>2014-06-09 13:29:22 +0200
committersapier <Sapier at GMX dot net>2014-06-23 00:13:41 +0200
commit8ad83767cfccc2d1a42bdc4af087ec013d7554a0 (patch)
tree5bda363c676485fb85252aac785a4456e191147e /src/map.cpp
parentd5de0cbf71d65ce586b3ab2469f2061ccc4b506a (diff)
downloadminetest-8ad83767cfccc2d1a42bdc4af087ec013d7554a0.tar.gz
minetest-8ad83767cfccc2d1a42bdc4af087ec013d7554a0.tar.bz2
minetest-8ad83767cfccc2d1a42bdc4af087ec013d7554a0.zip
Remove emerge and speedup addArea by using memcopy instead of one by one assignment
Diffstat (limited to 'src/map.cpp')
-rw-r--r--src/map.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/map.cpp b/src/map.cpp
index 994da2758..814eea4c7 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -3551,12 +3551,12 @@ void MapVoxelManipulator::emerge(VoxelArea a, s32 caller_id)
flags |= VMANIP_BLOCK_DATA_INEXIST;
VoxelArea a(p*MAP_BLOCKSIZE, (p+1)*MAP_BLOCKSIZE-v3s16(1,1,1));
- // Fill with VOXELFLAG_INEXISTENT
+ // Fill with VOXELFLAG_NO_DATA
for(s32 z=a.MinEdge.Z; z<=a.MaxEdge.Z; z++)
for(s32 y=a.MinEdge.Y; y<=a.MaxEdge.Y; y++)
{
s32 i = m_area.index(a.MinEdge.X,y,z);
- memset(&m_flags[i], VOXELFLAG_INEXISTENT, MAP_BLOCKSIZE);
+ memset(&m_flags[i], VOXELFLAG_NO_DATA, MAP_BLOCKSIZE);
}
}
/*else if (block->getNode(0, 0, 0).getContent() == CONTENT_IGNORE)
@@ -3601,7 +3601,7 @@ void MapVoxelManipulator::blitBack
v3s16 p(x,y,z);
u8 f = m_flags[m_area.index(p)];
- if(f & (VOXELFLAG_NOT_LOADED|VOXELFLAG_INEXISTENT))
+ if(f & (VOXELFLAG_NO_DATA))
continue;
MapNode &n = m_data[m_area.index(p)];
@@ -3655,7 +3655,7 @@ ManualMapVoxelManipulator::~ManualMapVoxelManipulator()
void ManualMapVoxelManipulator::emerge(VoxelArea a, s32 caller_id)
{
// Just create the area so that it can be pointed to
- VoxelManipulator::emerge(a, caller_id);
+ VoxelManipulator::addArea(a);
}
void ManualMapVoxelManipulator::initialEmerge(v3s16 blockpos_min,
@@ -3726,12 +3726,12 @@ void ManualMapVoxelManipulator::initialEmerge(v3s16 blockpos_min,
Mark area inexistent
*/
VoxelArea a(p*MAP_BLOCKSIZE, (p+1)*MAP_BLOCKSIZE-v3s16(1,1,1));
- // Fill with VOXELFLAG_INEXISTENT
+ // Fill with VOXELFLAG_NO_DATA
for(s32 z=a.MinEdge.Z; z<=a.MaxEdge.Z; z++)
for(s32 y=a.MinEdge.Y; y<=a.MaxEdge.Y; y++)
{
s32 i = m_area.index(a.MinEdge.X,y,z);
- memset(&m_flags[i], VOXELFLAG_INEXISTENT, MAP_BLOCKSIZE);
+ memset(&m_flags[i], VOXELFLAG_NO_DATA, MAP_BLOCKSIZE);
}
}
}