forked from Mirrorlandia_minetest/minetest
Mgv6: Fix uninitialised heightmap used by cavegen
This commit is contained in:
parent
b2b6bbf3e8
commit
29e46d6b29
@ -56,7 +56,6 @@ MapgenV6::MapgenV6(int mapgenid, MapgenParams *params, EmergeManager *emerge)
|
|||||||
this->ystride = csize.X; //////fix this
|
this->ystride = csize.X; //////fix this
|
||||||
|
|
||||||
this->heightmap = new s16[csize.X * csize.Z];
|
this->heightmap = new s16[csize.X * csize.Z];
|
||||||
memset(this->heightmap, 0, csize.X * csize.Z * sizeof(*this->heightmap));
|
|
||||||
|
|
||||||
MapgenV6Params *sp = (MapgenV6Params *)params->sparams;
|
MapgenV6Params *sp = (MapgenV6Params *)params->sparams;
|
||||||
this->spflags = sp->spflags;
|
this->spflags = sp->spflags;
|
||||||
@ -480,6 +479,9 @@ void MapgenV6::makeChunk(BlockMakeData *data)
|
|||||||
|
|
||||||
generateExperimental();
|
generateExperimental();
|
||||||
|
|
||||||
|
// Create initial heightmap to limit caves
|
||||||
|
updateHeightmap(node_min, node_max);
|
||||||
|
|
||||||
const s16 max_spread_amount = MAP_BLOCKSIZE;
|
const s16 max_spread_amount = MAP_BLOCKSIZE;
|
||||||
// Limit dirt flow area by 1 because mud is flown into neighbors.
|
// Limit dirt flow area by 1 because mud is flown into neighbors.
|
||||||
s16 mudflow_minpos = -max_spread_amount + 1;
|
s16 mudflow_minpos = -max_spread_amount + 1;
|
||||||
@ -504,7 +506,7 @@ void MapgenV6::makeChunk(BlockMakeData *data)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create heightmap after mudflow
|
// Update heightmap after mudflow
|
||||||
updateHeightmap(node_min, node_max);
|
updateHeightmap(node_min, node_max);
|
||||||
|
|
||||||
// Add dungeons
|
// Add dungeons
|
||||||
|
Loading…
Reference in New Issue
Block a user