From c3708b456e90bccf19e7c82c54a93c8cb7c8896c Mon Sep 17 00:00:00 2001 From: kwolekr Date: Sat, 14 Dec 2013 01:52:06 -0500 Subject: Add map feature generation notify Lua API --- src/mapgen.h | 55 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 37 insertions(+), 18 deletions(-) (limited to 'src/mapgen.h') diff --git a/src/mapgen.h b/src/mapgen.h index 47a7204bc..feec60e19 100644 --- a/src/mapgen.h +++ b/src/mapgen.h @@ -53,9 +53,16 @@ with this program; if not, write to the Free Software Foundation, Inc., #define DECO_PLACE_CENTER_Y 2 #define DECO_PLACE_CENTER_Z 4 +#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; class Biome; @@ -67,6 +74,32 @@ struct BlockMakeData; class VoxelArea; class Map; + +enum MapgenObject { + MGOBJ_VMANIP, + MGOBJ_HEIGHTMAP, + MGOBJ_BIOMEMAP, + MGOBJ_HEATMAP, + MGOBJ_HUMIDMAP, + MGOBJ_GENNOTIFY +}; + +enum GenNotify { + GENNOTIFY_DUNGEON, + GENNOTIFY_TEMPLE, + GENNOTIFY_CAVE_BEGIN, + GENNOTIFY_CAVE_END, + GENNOTIFY_LARGECAVE_BEGIN, + GENNOTIFY_LARGECAVE_END +}; + +enum OreType { + ORE_SCATTER, + ORE_SHEET, + ORE_CLAYLIKE +}; + + struct MapgenParams { std::string mg_name; int chunksize; @@ -100,8 +133,11 @@ public: u8 *biomemap; v3s16 csize; + u32 gennotify; + std::vector *gen_notifications[NUM_GEN_NOTIFY]; + Mapgen(); - virtual ~Mapgen() {} + virtual ~Mapgen(); s16 findGroundLevelFull(v2s16 p2d); s16 findGroundLevel(v2s16 p2d, s16 ymin, s16 ymax); @@ -123,23 +159,6 @@ struct MapgenFactory { virtual ~MapgenFactory() {} }; -enum MapgenObject { - MGOBJ_VMANIP, - MGOBJ_HEIGHTMAP, - MGOBJ_BIOMEMAP, - MGOBJ_HEATMAP, - MGOBJ_HUMIDMAP -}; - -enum OreType { - ORE_SCATTER, - ORE_SHEET, - ORE_CLAYLIKE -}; - -#define ORE_RANGE_ACTUAL 1 -#define ORE_RANGE_MIRROR 2 - class Ore { public: std::string ore_name; -- cgit v1.2.3