1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-07-22 17:18:39 +00:00

Noise: Create a deep copy of NoiseParams

This commit is contained in:
kwolekr 2014-12-10 00:37:09 -05:00
parent 88c28414f4
commit fb2bc956b1
9 changed files with 91 additions and 91 deletions

View file

@ -40,6 +40,8 @@ class ManualMapVoxelManipulator;
// nodes isn't the specified node
#define OREFLAG_NODEISNT 0x04 // not yet implemented
#define OREFLAG_USE_NOISE 0x08
#define ORE_RANGE_ACTUAL 1
#define ORE_RANGE_MIRROR 2
@ -54,6 +56,8 @@ extern FlagDesc flagdesc_ore[];
class Ore : public GenElement {
public:
static const bool NEEDS_NOISE = false;
content_t c_ore; // the node to place
std::vector<content_t> c_wherein; // the nodes to be placed in
u32 clust_scarcity; // ore cluster has a 1-in-clust_scarcity chance of appearing at a node
@ -64,25 +68,26 @@ public:
u8 ore_param2; // to set node-specific attributes
u32 flags; // attributes for this ore
float nthresh; // threshhold for noise at which an ore is placed
NoiseParams *np; // noise for distribution of clusters (NULL for uniform scattering)
NoiseParams np; // noise for distribution of clusters (NULL for uniform scattering)
Noise *noise;
Ore();
virtual ~Ore();
size_t placeOre(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax);
virtual void generate(ManualMapVoxelManipulator *vm, int seed,
u32 blockseed, v3s16 nmin, v3s16 nmax) = 0;
};
class OreScatter : public Ore {
virtual ~OreScatter() {}
public:
static const bool NEEDS_NOISE = false;
virtual void generate(ManualMapVoxelManipulator *vm, int seed,
u32 blockseed, v3s16 nmin, v3s16 nmax);
};
class OreSheet : public Ore {
virtual ~OreSheet() {}
public:
static const bool NEEDS_NOISE = true;
virtual void generate(ManualMapVoxelManipulator *vm, int seed,
u32 blockseed, v3s16 nmin, v3s16 nmax);
};