aboutsummaryrefslogtreecommitdiff
path: root/src/mapgen_v5.h
AgeCommit message (Collapse)Author
2017-11-08Move files to subdirectories (#6599)Vitaliy
* Move files around
2017-08-19Code modernization: src/m* (part 2)Loic Blot
* empty function * default constructor/destructor * remove unused Map::emergeSector(a,b) * for range-based loops * migrate a dirs[7] table to direction tables * remove various old unused function
2017-08-17C++ modernize: Pragma once (#6264)Loïc Blot
* Migrate cpp headers to pragma once
2017-06-22CavesRandomWalk: Make 'lava_depth' a mapgen parameterparamat
As with 'large_cave_depth', lava depth was previously a fixed y value and therefore incompatible with the ability to shift terrain vertically. Add 'lava_depth' mapgen parameter to mgflat, mgfractal, mgv5, mgv7.
2017-06-21Mgv5/v7/fractal: Add 'large_cave_depth' parameter to replace fixed valueparamat
The value cannot be fixed because we can shift terrain vertically. This also makes these mapgens consistent with mgflat and mgvalleys which have 'large_cave_depth' parameters.
2017-06-17Cpp11 initializers 2 (#5999)Loïc Blot
* C++11 patchset 10: continue cleanup on constructors * Drop obsolete bool MainMenuData::enable_public (setting is called with cURL in server loop) * More classes cleanup * More classes cleanup + change NULL tests to boolean tests
2017-05-26Mapgen files: Update and correct copyright creditsparamat
2017-04-23Pass clang-format on various cpp/header files (#5559)Loïc Blot
2017-04-03Cavegen/Mgv5/Mgv7: Add optional giant cavernsparamat
Add to MapgenBasic for use by multiple mapgens. Add to mgv5 and mgv7, enabled by default. Similar to mgvalleys caverns but half the scale. Parameters for upper y limit, distance caverns taper to full size, and noise threshold (full cavern size). As with mgvalleys caverns are generated first and classic caves are disabled in any mapchunk containing a cavern, to avoid excessive spreading volumes of liquids. This also avoids floating blobs of liquid where a large classic cave has overgenerated out into a neighbouring previously-generated mapchunk.
2016-07-03Add MapSettingsManager and new mapgen setting script API functionskwolekr
This commit refactors the majority of the Mapgen settings system. - MapgenParams is now owned by MapSettingsManager, itself a part of ServerMap, instead of the EmergeManager. - New Script API functions added: core.get_mapgen_setting core.get_mapgen_setting_noiseparams, core.set_mapgen_setting, and core.set_mapgen_setting_noiseparams. - minetest.get/set_mapgen_params are deprecated by the above new functions. - It is now possible to view and modify any arbitrary mapgen setting from a mod, rather than the base MapgenParams structure. - MapgenSpecificParams has been removed.
2016-07-03Mapgen: Refactor mapgen creation and managementkwolekr
- Move mapgen creation logic out of EmergeManager and into Mapgen - Internally represent mapgen type as an enum value, instead of a string - Remove the need for a MapgenFactory per mapgen
2016-05-27Mapgen: Combine dungeon generation codekwolekr
2016-05-27Mapgen: Deduplicate common constructor codekwolekr
2016-05-27Mapgen: Remove calculateNoise from most mapgenskwolekr
This commit moves noise calculation to the functions where the noise is actually required, increasing the separation of concerns and level of interdependency for each mapgen method. Valleys Mapgen is left unmodified.
2016-05-27Mapgen: Combine generateBiomes, dustTopNodes, and generateCaveskwolekr
This commit condenses the above methods into a single implementation used by V7, V5, Flat, Fractal, and Valleys mapgens and introduces MapgenBasic.
2016-05-27Move biome calculation to BiomeGenkwolekr
BiomeGen defines an interface that, given a set of BiomeParams, computes biomes for a given area using the algorithm implemented by that specific BiomeGen. This abstracts away the old system where each mapgen supplied the noises required for biome generation.
2016-04-28Mapgen: Make 3D noise tunnels' width settableparamat
Correct parameter names mg_valleys to mgvalleys Remove biome NoiseParams from MapgenValleysParams Improve format of parameter code
2016-04-12Mgv5: Optimise tunnels, add biome material in entrancesparamat
Place biome top node on tunnel entrance floor Instead of doing nothing at node_max.Y + 1 use 1-down overgeneration for tunnel generation and noisemaps
2016-02-09FindSpawnPos: Let mapgens decide what spawn altitude is suitableparamat
To avoid spawn search failing in new specialised mapgens Increase spawn search range to 4000 nodes Add getSpawnLevelAtPoint() functions to EmergeManager, class Mapgen and all mapgens Remove getGroundLevelAtPoint() functions from all mapgens except mgv6 (possibly to be re-added later in the correct form to return actual ground level) Make mgvalleys flag names consistent with other mapgens Remove now unused 'vertical spawn range' setting
2015-10-09Mapgen: Use mapgen-specific names for constants in headersparamat
Update copyright years in all mapgens Add myself to copyright notices in mgv5 and mgv7
2015-06-20Mapgen objects: Enable heatmap and humidmap for all biome api mapgensparamat
2015-06-18Biome API: Add noise defined biome blendparamat
2015-06-15Biome API: Enable biome generation to lower world limitparamat
Decorations: Remove lower limit of water level for placement
2015-05-23Mgv5/v7: Fix generateBiomes biome recalculation logic Biomegen down to y = ↵paramat
-192 for mgv5 deep oceans. Improve code
2015-05-17Mapgen v5/v7: Detect sandstone, enable sandstone brick dungeonsparamat
2015-05-12Mapgen v5/6/7: Cleanup node resolver and aliasesparamat
2015-03-19Mgv5/mgv7: Sprinkle dust from full_node_max.Y if chunk above is generatedparamat
Mgv5: Add large_cave_depth constant
2015-03-12Mgv5/mgv7: Add desert temples if desert stone detected in mapchunkparamat
2015-03-07Respect game mapgen flags and save world noise paramsngosang
2015-02-26Biome API: Re-calculate biome at every surface in a mapchunk columnparamat
2015-02-21Mgv5: Remove blobgen. Remove crumble and wetness noisesparamat
Add large pseudorandom caves below -256 De-link terrain level from water_level Cavegen: Mgv5 large cave code
2015-01-18Mapgen V5: Various improvementsparamat
Caves check for biome nodes, only excavate stone under water level Unease caves noises, use MT0.3 parameters Blobgen after cavegen Biomegen: remove 'is replaceable content' bool
2015-01-11Mapgen V5: Move cave generation from base terrain loop to optional functionparamat
This fixes biome surface in tunnels
2015-01-01MgV5/6/7: Generate dungeons above water levelparamat
Use/add stone_surface_max_y to speed-optimise/guide dungeon generation MgV7: Don't let mountain terrain chop dungeons at mapchunk borders Make mountain terrain update stone_surface_max_y for caves in mountains
2014-12-29Fix some lingering code style issueskwolekr
2014-12-29Mapgen: Use getBlockSeed2() for blockseeds (much better uniformity)kwolekr
2014-12-12Mapgens: Rename m_emerge to prevent name collisionskwolekr
2014-12-07Mapgen V5: Fix use of uninitialized value in ctorkwolekr
2014-12-06Rewrite generate notification mechanismkwolekr
Add support for notify-on-decoration Clean up mapgen constructors Clean up mapgen.cpp code style somewhat Remove trailing whitespace from some files
2014-11-20Mgv5 get ground level at point function. Fast spawn player versionparamat
2014-11-12Add Generator Element Management frameworkkwolekr
Add BiomeManager, OreManager, DecorationManager, and SchematicManager
2014-11-09Tune cave noise scales to 6. Fix blobs spflag, now enabled. Update conf.exampleparamat
2014-11-08Add mgv5. New noise code, uses biome API. Eased 3d noise for terrain, caves, ↵paramat
blobs