diff options
author | paramat <mat.gregory@virginmedia.com> | 2015-01-21 13:24:11 +0000 |
---|---|---|
committer | paramat <mat.gregory@virginmedia.com> | 2015-02-21 01:43:25 +0000 |
commit | 38e62805527b774e478617d9781bde72ce2bdcb9 (patch) | |
tree | e1e79a813f15ab167fb47470a8f58d00e7b865a6 /src/cavegen.h | |
parent | 109f0ffeab1e38a74cfc7ec4787548ed8a6230b5 (diff) | |
download | minetest-38e62805527b774e478617d9781bde72ce2bdcb9.tar.gz minetest-38e62805527b774e478617d9781bde72ce2bdcb9.tar.bz2 minetest-38e62805527b774e478617d9781bde72ce2bdcb9.zip |
Mgv5: Remove blobgen. Remove crumble and wetness noises
Add large pseudorandom caves below -256
De-link terrain level from water_level
Cavegen: Mgv5 large cave code
Diffstat (limited to 'src/cavegen.h')
-rw-r--r-- | src/cavegen.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/cavegen.h b/src/cavegen.h index 7371df6fa..0b57bf4dc 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; |