diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mapnode.h | 15 | ||||
-rw-r--r-- | src/voxel.cpp | 4 |
2 files changed, 10 insertions, 9 deletions
diff --git a/src/mapnode.h b/src/mapnode.h index 349739be7..e67724ec1 100644 --- a/src/mapnode.h +++ b/src/mapnode.h @@ -143,14 +143,13 @@ struct MapNode { *this = n; } - - MapNode(content_t content=CONTENT_AIR, u8 a_param1=0, u8 a_param2=0) - { - param0 = content; - param1 = a_param1; - param2 = a_param2; - } - + + MapNode(content_t content = CONTENT_AIR, u8 a_param1=0, u8 a_param2=0) + : param0(content), + param1(a_param1), + param2(a_param2) + { } + // Create directly from a nodename // If name is unknown, sets CONTENT_IGNORE MapNode(INodeDefManager *ndef, const std::string &name, diff --git a/src/voxel.cpp b/src/voxel.cpp index 335ab307c..bd14acb06 100644 --- a/src/voxel.cpp +++ b/src/voxel.cpp @@ -180,7 +180,9 @@ void VoxelManipulator::addArea(const VoxelArea &area) dstream<<std::endl;*/ // Allocate and clear new data - MapNode *new_data = new MapNode[new_size]; + // FIXME: UGLY KLUDGE because MapNode default constructor is FUBAR; it + // initialises data that is going to be overwritten anyway + MapNode *new_data = (MapNode*)new char[new_size * sizeof (*new_data)]; assert(new_data); u8 *new_flags = new u8[new_size]; assert(new_flags); |