Skip to content

Commit

Permalink
Refactor EmergeParams owner
Browse files Browse the repository at this point in the history
  • Loading branch information
sfan5 committed Jun 23, 2023
1 parent 32ff832 commit 20b10b5
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 10 deletions.
9 changes: 6 additions & 3 deletions src/mapgen/mapgen.cpp
Expand Up @@ -131,9 +131,15 @@ Mapgen::Mapgen(int mapgenid, MapgenParams *params, EmergeParams *emerge) :
*/
seed = (s32)params->seed;

m_emerge = emerge;
ndef = emerge->ndef;
}

Mapgen::~Mapgen()
{
delete m_emerge; // this is our responsibility
}


MapgenType Mapgen::getMapgenType(const std::string &mgname)
{
Expand Down Expand Up @@ -566,7 +572,6 @@ void Mapgen::spreadLight(const v3s16 &nmin, const v3s16 &nmax)
MapgenBasic::MapgenBasic(int mapgenid, MapgenParams *params, EmergeParams *emerge)
: Mapgen(mapgenid, params, emerge)
{
this->m_emerge = emerge;
this->m_bmgr = emerge->biomemgr;

//// Here, 'stride' refers to the number of elements needed to skip to index
Expand Down Expand Up @@ -620,8 +625,6 @@ MapgenBasic::MapgenBasic(int mapgenid, MapgenParams *params, EmergeParams *emerg
MapgenBasic::~MapgenBasic()
{
delete []heightmap;

delete m_emerge; // destroying EmergeParams is our responsibility
}


Expand Down
6 changes: 4 additions & 2 deletions src/mapgen/mapgen.h
Expand Up @@ -163,6 +163,9 @@ class Mapgen {
int id = -1;

MMVManip *vm = nullptr;
// Note that this contains various things the mapgens *can* use, so biomegen
// might be NULL while m_emerge->biomegen is not.
EmergeParams *m_emerge = nullptr;
const NodeDefManager *ndef = nullptr;

u32 blockseed;
Expand All @@ -175,7 +178,7 @@ class Mapgen {

Mapgen() = default;
Mapgen(int mapgenid, MapgenParams *params, EmergeParams *emerge);
virtual ~Mapgen() = default;
virtual ~Mapgen();
DISABLE_CLASS_COPY(Mapgen);

virtual MapgenType getType() const { return MAPGEN_INVALID; }
Expand Down Expand Up @@ -289,7 +292,6 @@ class MapgenBasic : public Mapgen {
virtual void generateDungeons(s16 max_stone_y);

protected:
EmergeParams *m_emerge;
BiomeManager *m_bmgr;

Noise *noise_filler_depth;
Expand Down
2 changes: 0 additions & 2 deletions src/mapgen/mapgen_singlenode.cpp
Expand Up @@ -32,8 +32,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
MapgenSinglenode::MapgenSinglenode(MapgenParams *params, EmergeParams *emerge)
: Mapgen(MAPGEN_SINGLENODE, params, emerge)
{
const NodeDefManager *ndef = emerge->ndef;

c_node = ndef->getId("mapgen_singlenode");
if (c_node == CONTENT_IGNORE)
c_node = CONTENT_AIR;
Expand Down
3 changes: 0 additions & 3 deletions src/mapgen/mapgen_v6.cpp
Expand Up @@ -57,7 +57,6 @@ FlagDesc flagdesc_mapgen_v6[] = {
MapgenV6::MapgenV6(MapgenV6Params *params, EmergeParams *emerge)
: Mapgen(MAPGEN_V6, params, emerge)
{
m_emerge = emerge;
ystride = csize.X;

heightmap = new s16[csize.X * csize.Z];
Expand Down Expand Up @@ -160,8 +159,6 @@ MapgenV6::~MapgenV6()
delete noise_humidity;

delete[] heightmap;

delete m_emerge; // our responsibility
}


Expand Down

0 comments on commit 20b10b5

Please sign in to comment.