From: Perttu Ahola Date: Thu, 21 Jul 2011 22:37:05 +0000 (+0300) Subject: Fixed new map generator causing a crash when generating at map limit X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=fe855e004f424fec1f7f3f2e7e06be2f70f4952e;p=zefram%2Fminetest%2Fminetest_engine.git Fixed new map generator causing a crash when generating at map limit --- diff --git a/src/map.cpp b/src/map.cpp index 9ff0fa6d..2a3e9f76 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -2012,7 +2012,15 @@ void ServerMap::initBlockMake(mapgen::BlockMakeData *data, v3s16 blockpos) { /*dstream<<"initBlockMake(): ("<no_op = true; + return; + } + data->no_op = false; data->seed = m_seed; data->blockpos = blockpos; @@ -2063,6 +2071,7 @@ void ServerMap::initBlockMake(mapgen::BlockMakeData *data, v3s16 blockpos) neighboring blocks */ + // The area that contains this block and it's neighbors v3s16 bigarea_blocks_min = blockpos - v3s16(1,1,1); v3s16 bigarea_blocks_max = blockpos + v3s16(1,1,1); @@ -2087,7 +2096,7 @@ MapBlock* ServerMap::finishBlockMake(mapgen::BlockMakeData *data, if(data->no_op) { - dstream<<"finishBlockMake(): no-op"<getNode(p); - if(n.d == CONTENT_IGNORE) + bool erroneus_content = false; + for(s16 z0=0; z0getNode(p); + if(n.d == CONTENT_IGNORE) + { + dstream<<"CONTENT_IGNORE at " + <<"("<setNode(v3s16(x0,y0,z0), n); + for(s16 y0=0; y0setNode(v3s16(x0,y0,z0), n); + } } } #endif diff --git a/src/mapgen.cpp b/src/mapgen.cpp index 4a2a39ae..acff3b96 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -1303,7 +1303,7 @@ void make_block(BlockMakeData *data) { if(data->no_op) { - dstream<<"makeBlock: no-op"<