51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef MAPGEN_HEADER
-#define MAPGEN_HEADER
+#pragma once
#include "noise.h"
#include "nodedef.h"
-#include "mapnode.h"
#include "util/string.h"
#include "util/container.h"
NUM_GENNOTIFY_TYPES
};
-// TODO(hmmmm/paramat): make stone type selection dynamic
enum MgStoneType {
MGSTONE_STONE,
MGSTONE_DESERT_STONE,
MGSTONE_SANDSTONE,
+ MGSTONE_OTHER,
};
struct GenNotifyEvent {
class GenerateNotifier {
public:
- GenerateNotifier();
+ GenerateNotifier() = default;
GenerateNotifier(u32 notify_on, std::set<u32> *notify_on_deco_ids);
void setNotifyOn(u32 notify_on);
MAPGEN_FRACTAL,
MAPGEN_VALLEYS,
MAPGEN_SINGLENODE,
+ MAPGEN_CARPATHIAN,
MAPGEN_INVALID,
};
struct MapgenParams {
- MapgenParams() {}
+ MapgenParams() = default;
virtual ~MapgenParams();
MapgenType mgtype = MAPGEN_DEFAULT;
BiomeGen *biomegen = nullptr;
GenerateNotifier gennotify;
- Mapgen();
+ Mapgen() = default;
Mapgen(int mapgenid, MapgenParams *params, EmergeManager *emerge);
- virtual ~Mapgen();
+ virtual ~Mapgen() = default;
DISABLE_CLASS_COPY(Mapgen);
virtual MapgenType getType() const { return MAPGEN_INVALID; }
virtual void generateCaves(s16 max_stone_y, s16 large_cave_depth);
virtual bool generateCaverns(s16 max_stone_y);
- virtual void generateDungeons(s16 max_stone_y, MgStoneType stone_type);
- virtual MgStoneType generateBiomes();
+ virtual void generateDungeons(s16 max_stone_y,
+ MgStoneType stone_type, content_t biome_stone);
+ virtual void generateBiomes(MgStoneType *mgstone_type,
+ content_t *biome_stone, s16 biome_zero_level);
virtual void dustTopNodes();
protected:
float cavern_limit;
float cavern_taper;
float cavern_threshold;
+ int lava_depth;
};
-
-#endif