aboutsummaryrefslogtreecommitdiff
path: root/src/mapgen_valleys.cpp
Commit message (Collapse)AuthorAge
* Biome API: Revert biomes, decos, ores being relative to water levelparamat2017-09-17
| | | | | | | Feature is unnecessary and would greatly complicate future development, it would also make 'get biome at pos' extremely complex. Mgv7: Revert option to repeat surface biomes in floatlands, which depended on the above.
* Use member initialization list instead of the constructor's body (#6371)Dharkael2017-09-03
| | | | * Use member initialization list instead of the constructor's body
* Code modernization: src/m* (part 3)Loic Blot2017-08-19
| | | | | | | | * empty function * default constructor/destructor * for range-based loops * use emplace_back instead of push_back * remove some unused headers in some cpp variable
* Modernize various files (src/m*) (#6267)Loïc Blot2017-08-18
| | | | | | | | | | | | * Modernize various files (src/m*) * range-based for loops * code style * C++ headers instead of C headers * Default operators * empty function Thanks to clang-tidy
* Dungeons: Use biome 'node_stone' if normal stone types not detectedparamat2017-07-30
| | | | | | | Construct dungeons from the node defined as biome 'node_stone' if 'mapgen_stone', 'mapgen_desert_stone' and 'mapgen_sandstone' are not detected. Feature long-intended by kwolekr/hmmmm and present in code as a TODO.
* VoxelManip cleanups (const ref, const move) + function removal (#6169)Loïc Blot2017-07-26
| | | | | | | | | | * VoxelManip cleanups (const ref, const move) permitting to improve a little bit performance * VoxelArea: precalculate extent (performance enhancement) This permits to reduce extend high cost to zero and drop many v3s16 object creation/removal to calculate extent It rebalance the client thread update to updateFastFaceRow instead of MapBlockMesh generation This will also benefits to mapgen
* Biomes/decorations/ores: Make relative to 'water_level' settingparamat2017-07-11
| | | | | | | | Add 'biome_zero_level' argument to 'generateBiomes()', 'deco_zero_level' argument to 'placeAllDecos()' and 'ore_zero_level' to 'placeAllOres()' to allow mapgens to vertically shift the registered biomes, decorations and ores per-mapchunk. Will also allow many realm possibilities in future mapgens.
* Mapgen: Remove unnecessary 'this->' from constructors (#6069)Paramat2017-06-30
|
* Mgvalleys: Use existing 'lava_max_height' value in CavesRandomWalkparamat2017-06-24
| | | | | Now that lava depth in large caves is variable we can use the already present 'lava_max_height' value to set the lava depth in them.
* Cpp11 initializers 2 (#5999)Loïc Blot2017-06-17
| | | | | | | | | | * 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
* Mapgen files: Update and correct copyright creditsparamat2017-05-26
|
* Mapgen: Remove '#include treegen.h' from non-mgv6 mapgensparamat2017-04-05
| | | | Only mgv6 uses the tree functions from treegen.cpp.
* MapgenBasic: Add lava source as commonly used content (#5512)Paramat2017-04-04
| | | | Future mapgens are likely to use this for magma and volcanos. Remove the getting of lava source content id in mgvalleys.
* Map generation limit: Make per-worldparamat2017-03-27
| | | | | | | | | | | The setting limits map generation but affects nothing else. Add 'mapgen_limit' to global mapgen parameters. Move 'blockpos_over_mapgen_limit()' to the only place it is called from: map.cpp. Allow teleportation to any part of the world even if over the set mapgen limit. Simplify the reading of this limit in mgvalleys. Remove the 'map_generation_limit' setting.
* Mgvalleys: Fix missing decorations and incorrect function orderparamat2017-02-01
| | | | | | | | | | | | Fix missing decorations at horizontal chunk borders by adding 'updateHeightmap()' after terrain generation. Swap order of 'calculateNoise' and 'calcBiomeNoise' because 'calculateNoise' modifies the heat and humidity maps created in 'calcBiomeNoise'. Remove confusing comment, code block is not just for mods and seems essential for correct mapgen behaviour.
* Cavegen: Wider tunnels in mgflat, mgfractal, mgvalleysparamat2016-12-14
| | | | | | | As mgv7 is now the default mapgen i re-checked its tunnel width on request, discovered they needed to be wider, and have made this change. This commit widens the identical 3D noise tunnels in the other mapgens in exactly the same way.
* Mgvalleys / cavegen: Place riverbed nodes under river waterparamat2016-07-21
| | | | | When a CavesNoiseIntersection tunnel intersects a river place biome 'riverbed' nodes in tunnel entrance instead of biome 'top' nodes.
* Add MapSettingsManager and new mapgen setting script API functionskwolekr2016-07-03
| | | | | | | | | | | | | | | 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.
* Mgflat/fractal/v7/valleys: Denser 3D noise tunnelsparamat2016-06-24
| | | | | | | 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
* Mapgen: Optimize biomemap creation by combining with generateBiomeskwolekr2016-06-05
|
* Biome API: Add per-biome riverbed material and depthparamat2016-06-05
| | | | | | 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
* Mapgen: Combine dungeon generation codekwolekr2016-05-27
|
* Mapgen: Deduplicate common constructor codekwolekr2016-05-27
|
* Mapgen: Remove calculateNoise from most mapgenskwolekr2016-05-27
| | | | | | 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.
* Cavegen: Re-add small caves to CavesRandomWalkkwolekr2016-05-27
|
* Cavegen: Remove CavesRandomWalk dependency on Mapgenkwolekr2016-05-27
|
* Cavegen: Merge CaveV5 and CaveV7 into CavesRandomWalkkwolekr2016-05-27
|
* Fix MgStoneType and BiomeType enum nameskwolekr2016-05-27
|
* Mapgen: Combine generateBiomes, dustTopNodes, and generateCaveskwolekr2016-05-27
| | | | | This commit condenses the above methods into a single implementation used by V7, V5, Flat, Fractal, and Valleys mapgens and introduces MapgenBasic.
* Move biome calculation to BiomeGenkwolekr2016-05-27
| | | | | | | 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.
* Mapgen: Make 3D noise tunnels' width settableparamat2016-04-28
| | | | | | Correct parameter names mg_valleys to mgvalleys Remove biome NoiseParams from MapgenValleysParams Improve format of parameter code
* Mgvalleys: Don't let cavegen place biome nodes everywhereparamat2016-04-12
| | | | | | | 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
* Mapgen: Optimise cave noises and tunnel excavationparamat2016-04-08
| | | | | | 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
* Mapgen: Fix light in tunnels at mapchunk bordersparamat2016-03-14
| | | | | | 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.
* Mgvalleys: Correct spawn problemsDuane Robertson2016-03-04
| | | | Increase maximum spawn altitude to reduce spawn issues.
* Mgvalleys: Add Dry RiverbedsDuane Robertson2016-02-27
| | | | | | | | | | | | 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.
* FindSpawnPos: Let mapgens decide what spawn altitude is suitableparamat2016-02-09
| | | | | | | | | | | | 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
* Mgvalleys: fix riverbeds below sea levelDuane Robertson2016-02-02
| | | | | Stop riverbeds from forming plateaus under sea. Minor corrections to random lava/water placement.
* Mgvalleys: use standard cavesDuane Robertson2016-01-31
| | | | | | | | | | 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.
* Correct overflowing rivers in Valleys mapgen.Duane Robertson2016-01-18
|
* Prevent spawning in rivers with valleys mapgen. Remove unecessary whitespace.Duane Robertson2016-01-16
|
* Add Valleys mapgen.Duane Robertson2016-01-14