summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorDuane Robertson <duane@duanerobertson.com>2016-01-31 02:59:15 -0600
committerparamat <mat.gregory@virginmedia.com>2016-01-31 22:31:25 +0000
commit80c7612e76ca83fa69a6e709213026478edfe5ab (patch)
treece468c12f95982fe1fd62a5896ba379a687baf62 /.gitlab-ci.yml
parent83583aa2d5f795ede066ab7f8e28162633d3786a (diff)
downloadminetest-80c7612e76ca83fa69a6e709213026478edfe5ab.tar.gz
minetest-80c7612e76ca83fa69a6e709213026478edfe5ab.tar.bz2
minetest-80c7612e76ca83fa69a6e709213026478edfe5ab.zip
Mgvalleys: use standard caves
Replace simple caves with V5 caves, adding unpredictable water and lava settings and massive caves based on subterrain. Remove fast terrain mode and accompanying settings. Remove superfluous temperature/humidity settings. Remove lava/water height setting. Fix errors in humidity handling and remove humidity_break_point setting. Move cave noises to generateCaves. Fix minor formatting/naming issues and use MYMAX/MYMIN/myround.
Diffstat (limited to '.gitlab-ci.yml')
0 files changed, 0 insertions, 0 deletions
ass="hl com">This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef DUNGEONGEN_HEADER #define DUNGEONGEN_HEADER #include "voxel.h" #include "noise.h" #include "mapgen.h" #define VMANIP_FLAG_DUNGEON_INSIDE VOXELFLAG_CHECKED1 #define VMANIP_FLAG_DUNGEON_PRESERVE VOXELFLAG_CHECKED2 #define VMANIP_FLAG_DUNGEON_UNTOUCHABLE (\ VMANIP_FLAG_DUNGEON_INSIDE|VMANIP_FLAG_DUNGEON_PRESERVE) class MMVManip; class INodeDefManager; v3s16 rand_ortho_dir(PseudoRandom &random, bool diagonal_dirs); v3s16 turn_xz(v3s16 olddir, int t); v3s16 random_turn(PseudoRandom &random, v3s16 olddir); int dir_to_facedir(v3s16 d); struct DungeonParams { s32 seed; content_t c_water; content_t c_river_water; content_t c_wall; content_t c_alt_wall; content_t c_stair; bool diagonal_dirs; v3s16 holesize; v3s16 roomsize; u16 rooms_min; u16 rooms_max; s16 y_min; s16 y_max; GenNotifyType notifytype; NoiseParams np_density; NoiseParams np_alt_wall; }; class DungeonGen { public: MMVManip *vm; INodeDefManager *ndef; GenerateNotifier *gennotify; u32 blockseed; PseudoRandom random; v3s16 csize; content_t c_torch; DungeonParams dp; // RoomWalker v3s16 m_pos; v3s16 m_dir; DungeonGen(INodeDefManager *ndef, GenerateNotifier *gennotify, DungeonParams *dparams); void generate(MMVManip *vm, u32 bseed, v3s16 full_node_min, v3s16 full_node_max); void makeDungeon(v3s16 start_padding); void makeRoom(v3s16 roomsize, v3s16 roomplace); void makeCorridor(v3s16 doorplace, v3s16 doordir, v3s16 &result_place, v3s16 &result_dir); void makeDoor(v3s16 doorplace, v3s16 doordir); void makeFill(v3s16 place, v3s16 size, u8 avoid_flags, MapNode n, u8 or_flags); void makeHole(v3s16 place); bool findPlaceForDoor(v3s16 &result_place, v3s16 &result_dir); bool findPlaceForRoomDoor(v3s16 roomsize, v3s16 &result_doorplace, v3s16 &result_doordir, v3s16 &result_roomplace); inline void randomizeDir() { m_dir = rand_ortho_dir(random, dp.diagonal_dirs); } }; extern NoiseParams nparams_dungeon_density; extern NoiseParams nparams_dungeon_alt_wall; #endif