X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fcavegen.h;h=27626753a751ec028976face4ae1bd28883452c2;hb=17ba584fe254eeaee3489cc20e03810a59f3ef9b;hp=7371df6fa54a5e928896e474d222cc95fb2fda13;hpb=2d849b0a19af03913e564e2b6dbc36eecdd5ae0c;p=dragonfireclient.git diff --git a/src/cavegen.h b/src/cavegen.h index 7371df6fa..27626753a 100644 --- a/src/cavegen.h +++ b/src/cavegen.h @@ -22,9 +22,55 @@ with this program; if not, write to the Free Software Foundation, Inc., #define VMANIP_FLAG_CAVE VOXELFLAG_CHECKED1 +class MapgenV5; class MapgenV6; class MapgenV7; +class CaveV5 { +public: + MapgenV5 *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; + + CaveV5() {} + CaveV5(MapgenV5 *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, bool is_ravine); +}; + class CaveV6 { public: MapgenV6 *mg; @@ -83,7 +129,6 @@ class CaveV7 { int dswitchint; int part_max_length_rs; - bool large_cave; bool large_cave_is_flat; bool flooded; @@ -109,7 +154,7 @@ class CaveV7 { int water_level; CaveV7() {} - CaveV7(MapgenV7 *mg, PseudoRandom *ps, bool large_cave); + CaveV7(MapgenV7 *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, bool is_ravine);