aboutsummaryrefslogtreecommitdiff
path: root/src/mapgen_valleys.cpp
AgeCommit message (Collapse)Author
2016-07-21Mgvalleys / cavegen: Place riverbed nodes under river waterparamat
When a CavesNoiseIntersection tunnel intersects a river place biome 'riverbed' nodes in tunnel entrance instead of biome 'top' nodes.
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-06-24Mgflat/fractal/v7/valleys: Denser 3D noise tunnelsparamat
Reduce spread from 96 to primes 61 and 67 (either side of 64) Prime spreads help to keep 3D noise periodic features unaligned 'cave width' 0.2 to preserve tunnel width Reduce octaves to 3 to improve network structure
2016-06-05Mapgen: Optimize biomemap creation by combining with generateBiomeskwolekr
2016-06-05Biome API: Add per-biome riverbed material and depthparamat
Mgvalleys: Remove riverbed sand placement from base terrain generation Riverbed material placement moved to MapgenBasic::generateBiomes() Document fields and add note that the biome API is still unstable
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-27Cavegen: Re-add small caves to CavesRandomWalkkwolekr
2016-05-27Cavegen: Remove CavesRandomWalk dependency on Mapgenkwolekr
2016-05-27Cavegen: Merge CaveV5 and CaveV7 into CavesRandomWalkkwolekr
2016-05-27Fix MgStoneType and BiomeType enum nameskwolekr
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-12Mgvalleys: Don't let cavegen place biome nodes everywhereparamat
Fix use of 'air_above' bool so that biome nodes are only placed in tunnel floors Minor code improvements 'Continue' when massive cave air is placed
2016-04-08Mapgen: Optimise cave noises and tunnel excavationparamat
Instead of doing nothing at node_max.Y + 1 use 1-down overgeneration for tunnel generation and noisemaps Move some old unused code in mgv7 to end of file
2016-03-14Mapgen: Fix light in tunnels at mapchunk bordersparamat
Don't excavate the overgenerated stone at node_max.Y + 1, this creates a 'roof' over the tunnel, preventing light in tunnels at mapchunk borders when generating mapchunks upwards.
2016-03-04Mgvalleys: Correct spawn problemsDuane Robertson
Increase maximum spawn altitude to reduce spawn issues.
2016-02-27Mgvalleys: Add Dry RiverbedsDuane Robertson
Lower water table where base humidity is low. Alter heat and humidity to compensate for river humidity and altitude chill. Correct misuse of surface_max_y in generateTerrain. Remove sand trails in the water at river mouths. Remove river water below water_level. Correct heat/humidity calculations where noises are less than zero. Correct heightmap errors as much as possible. Make humidity calculations more readable.
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
2016-02-02Mgvalleys: fix riverbeds below sea levelDuane Robertson
Stop riverbeds from forming plateaus under sea. Minor corrections to random lava/water placement.
2016-01-31Mgvalleys: use standard cavesDuane Robertson
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.
2016-01-18Correct overflowing rivers in Valleys mapgen.Duane Robertson
2016-01-16Prevent spawning in rivers with valleys mapgen. Remove unecessary whitespace.Duane Robertson
2016-01-14Add Valleys mapgen.Duane Robertson