diff options
Diffstat (limited to 'src/cavegen.h')
-rw-r--r-- | src/cavegen.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/cavegen.h b/src/cavegen.h index b9662587b..22ee5804d 100644 --- a/src/cavegen.h +++ b/src/cavegen.h @@ -22,10 +22,12 @@ with this program; if not, write to the Free Software Foundation, Inc., #define VMANIP_FLAG_CAVE VOXELFLAG_CHECKED1 #define MGV7_LAVA_DEPTH -256 +#define MGFRACTAL_LAVA_DEPTH -256 class MapgenV5; class MapgenV6; class MapgenV7; +class MapgenFractal; class CaveV5 { public: @@ -161,4 +163,49 @@ public: void carveRoute(v3f vec, float f, bool randomize_xz); }; +class CaveFractal { +public: + MapgenFractal *mg; + MMVManip *vm; + INodeDefManager *ndef; + + NoiseParams *np_caveliquids; + + s16 min_tunnel_diameter; + s16 max_tunnel_diameter; + u16 tunnel_routepoints; + int dswitchint; + int part_max_length_rs; + + bool large_cave_is_flat; + bool flooded; + + s16 max_stone_y; + v3s16 node_min; + v3s16 node_max; + + v3f orp; // starting point, relative to caved space + v3s16 of; // absolute coordinates of caved space + v3s16 ar; // allowed route area + s16 rs; // tunnel radius size + v3f main_direction; + + s16 route_y_min; + s16 route_y_max; + + PseudoRandom *ps; + + content_t c_water_source; + content_t c_lava_source; + content_t c_ice; + + int water_level; + + CaveFractal() {} + CaveFractal(MapgenFractal *mg, PseudoRandom *ps); + void makeCave(v3s16 nmin, v3s16 nmax, int max_stone_height); + void makeTunnel(bool dirswitch); + void carveRoute(v3f vec, float f, bool randomize_xz); +}; + #endif |