summaryrefslogtreecommitdiff
path: root/src/mapgen.h
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2014-11-01 13:16:23 -0400
committerkwolekr <kwolekr@minetest.net>2014-11-01 13:16:23 -0400
commit9e811a92e7846b958e4bc84aeb30bad8b51e8e1d (patch)
tree6b7b69e0364355881253395a192241932aebb952 /src/mapgen.h
parentdb25f753375a97c71609ec4e2a3f7f6983904a54 (diff)
downloadminetest-9e811a92e7846b958e4bc84aeb30bad8b51e8e1d.tar.gz
minetest-9e811a92e7846b958e4bc84aeb30bad8b51e8e1d.tar.bz2
minetest-9e811a92e7846b958e4bc84aeb30bad8b51e8e1d.zip
Split up mapgen.cpp
Diffstat (limited to 'src/mapgen.h')
-rw-r--r--src/mapgen.h185
1 files changed, 0 insertions, 185 deletions
diff --git a/src/mapgen.h b/src/mapgen.h
index b6efe8200..e29616342 100644
--- a/src/mapgen.h
+++ b/src/mapgen.h
@@ -37,30 +37,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#define MG_FLAT 0x08
#define MG_LIGHT 0x10
-/////////////////// Ore generation flags
-// Use absolute value of height to determine ore placement
-#define OREFLAG_ABSHEIGHT 0x01
-// Use 3d noise to get density of ore placement, instead of just the position
-#define OREFLAG_DENSITY 0x02 // not yet implemented
-// For claylike ore types, place ore if the number of surrounding
-// nodes isn't the specified node
-#define OREFLAG_NODEISNT 0x04 // not yet implemented
-
-/////////////////// Decoration flags
-#define DECO_PLACE_CENTER_X 1
-#define DECO_PLACE_CENTER_Y 2
-#define DECO_PLACE_CENTER_Z 4
-#define DECO_SCHEM_CIDS_UPDATED 8
-
-#define ORE_RANGE_ACTUAL 1
-#define ORE_RANGE_MIRROR 2
-
#define NUM_GEN_NOTIFY 6
extern FlagDesc flagdesc_mapgen[];
-extern FlagDesc flagdesc_ore[];
-extern FlagDesc flagdesc_deco_schematic[];
extern FlagDesc flagdesc_gennotify[];
class BiomeDefManager;
@@ -92,13 +72,6 @@ enum GenNotify {
GENNOTIFY_LARGECAVE_END
};
-enum OreType {
- ORE_SCATTER,
- ORE_SHEET,
- ORE_CLAYLIKE
-};
-
-
struct MapgenSpecificParams {
virtual void readParams(Settings *settings) = 0;
virtual void writeParams(Settings *settings) = 0;
@@ -163,163 +136,5 @@ struct MapgenFactory {
virtual ~MapgenFactory() {}
};
-class Ore {
-public:
- 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
- s16 clust_num_ores; // how many ore nodes are in a chunk
- s16 clust_size; // how large (in nodes) a chunk of ore is
- s16 height_min;
- s16 height_max;
- 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)
- Noise *noise;
-
- Ore() {
- c_ore = CONTENT_IGNORE;
- np = NULL;
- noise = NULL;
- }
-
- virtual ~Ore();
-
- void 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 {
- ~OreScatter() {}
- virtual void generate(ManualMapVoxelManipulator *vm, int seed,
- u32 blockseed, v3s16 nmin, v3s16 nmax);
-};
-
-class OreSheet : public Ore {
- ~OreSheet() {}
- virtual void generate(ManualMapVoxelManipulator *vm, int seed,
- u32 blockseed, v3s16 nmin, v3s16 nmax);
-};
-
-Ore *createOre(OreType type);
-
-
-enum DecorationType {
- DECO_SIMPLE,
- DECO_SCHEMATIC,
- DECO_LSYSTEM
-};
-
-#if 0
-struct CutoffData {
- VoxelArea a;
- Decoration *deco;
- //v3s16 p;
- //v3s16 size;
- //s16 height;
-
- CutoffData(s16 x, s16 y, s16 z, s16 h) {
- p = v3s16(x, y, z);
- height = h;
- }
-};
-#endif
-
-class Decoration {
-public:
- INodeDefManager *ndef;
-
- int mapseed;
- std::vector<content_t> c_place_on;
- s16 sidelen;
- float fill_ratio;
- NoiseParams *np;
-
- std::set<u8> biomes;
- //std::list<CutoffData> cutoffs;
- //JMutex cutoff_mutex;
-
- Decoration();
- virtual ~Decoration();
-
- void placeDeco(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax);
- void placeCutoffs(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax);
-
- virtual void generate(Mapgen *mg, PseudoRandom *pr, s16 max_y, v3s16 p) = 0;
- virtual int getHeight() = 0;
- virtual std::string getName() = 0;
-};
-
-class DecoSimple : public Decoration {
-public:
- std::vector<content_t> c_decos;
- std::vector<content_t> c_spawnby;
- s16 deco_height;
- s16 deco_height_max;
- s16 nspawnby;
-
- ~DecoSimple() {}
-
- bool canPlaceDecoration(ManualMapVoxelManipulator *vm, v3s16 p);
- virtual void generate(Mapgen *mg, PseudoRandom *pr, s16 max_y, v3s16 p);
- virtual int getHeight();
- virtual std::string getName();
-};
-
-#define MTSCHEM_FILE_SIGNATURE 0x4d54534d // 'MTSM'
-#define MTSCHEM_FILE_VER_HIGHEST_READ 3
-#define MTSCHEM_FILE_VER_HIGHEST_WRITE 3
-
-#define MTSCHEM_PROB_NEVER 0x00
-#define MTSCHEM_PROB_ALWAYS 0xFF
-
-class DecoSchematic : public Decoration {
-public:
- std::string filename;
-
- std::vector<content_t> c_nodes;
-
- u32 flags;
- Rotation rotation;
- v3s16 size;
- MapNode *schematic;
- u8 *slice_probs;
-
- DecoSchematic();
- ~DecoSchematic();
-
- void updateContentIds();
- virtual void generate(Mapgen *mg, PseudoRandom *pr, s16 max_y, v3s16 p);
- virtual int getHeight();
- virtual std::string getName();
-
- void blitToVManip(v3s16 p, ManualMapVoxelManipulator *vm,
- Rotation rot, bool force_placement);
-
- bool loadSchematicFile(NodeResolver *resolver,
- std::map<std::string, std::string> &replace_names);
- void saveSchematicFile(INodeDefManager *ndef);
-
- bool getSchematicFromMap(Map *map, v3s16 p1, v3s16 p2);
- void placeStructure(Map *map, v3s16 p, bool force_placement);
- void applyProbabilities(v3s16 p0,
- std::vector<std::pair<v3s16, u8> > *plist,
- std::vector<std::pair<s16, u8> > *splist);
-};
-
-void build_nnlist_and_update_ids(MapNode *nodes, u32 nodecount,
- std::vector<content_t> *usednodes);
-
-/*
-class DecoLSystem : public Decoration {
-public:
- virtual void generate(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax);
-};
-*/
-
-Decoration *createDecoration(DecorationType type);
-
#endif