aboutsummaryrefslogtreecommitdiff
path: root/src/mapgen.cpp
AgeCommit message (Collapse)Author
2016-05-27Dungeongen: Remove dependency on Mapgenkwolekr
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: Move V5-style caves to CavesNoiseIntersectionkwolekr
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-03-30Mapgen: Don't spread light of nodes outside the desired areakwolekr
This fixes #3935, a regression from 0338c2e. An 'optimization' was performed where an index for the VoxelManip being operated on was mistakenly used for bounds checking within the incorrect VoxelArea, namely, the area wherein light should be spread.
2016-03-29Mapgen: Spread both night and day light banks in spreadLightkwolekr
2015-12-07Mapgen: Add propagate_shadow bool to calcLightingparamat
To terminate unwanted shadows from floatlands or realms above Also add to LuaVoxelManip calc_lighting for use in mapgen mods Remove the 2 argument calcLighting, mapgens now use the 5 argument form to specify the volumes for propagateSunlight and spreadLight In mgsinglenode replace calcLighting with setLighting and clean-up use of tabs and spaces
2015-11-21Mapgen: Add global 'decorations' flagparamat
Flag is set by default in MapgenParams The global 'trees' flag remains but is now undocumented and unset by default in MapgenParams Add mgv6_spflag 'trees' set by default in defaultsettings.cpp to affect new worlds only This is automatically backwards compatible for existing worlds
2015-10-23Decoration API: Add flag for placement on liquid surfaceparamat
Add findLiquidSurface() function to mapgen.cpp Update lua_api.txt
2015-10-04Add emerge completion callback mechanismkwolekr
Major refactor of emerge.cpp and Map::init/finishBlockMake
2015-10-04Define and use limit constants for Irrlicht fixed-width typeskwolekr
2015-09-19Various style cleanups + unused code removalest31
-> Don't pass pointer to whole IGameDef to NodeMetadata constructors and deserializers, but only to IItemDefManager, which is needed -> Remove the unused content_mapnode_get_new_name() method -> Fix style for MapBlock::deSerialize and MapBlock::deSerialize_pre22, improving accuracy of error messages a bit -> Fix style at other serialisation methods too -> Improve accuracy of some comments
2015-08-16Remove unused functions.onkrot
2015-08-02Add map limit config optionrubenwardy
2015-06-20Mapgen objects: Enable heatmap and humidmap for all biome api mapgensparamat
2015-06-18Biome API: Add noise defined biome blendparamat
2015-05-18Split ObjDef/ObjDefManager out to objdef.cppkwolekr
2015-05-03ObjDefManager: Set replacement object's handle info after calling set()kwolekr
Make gamedef optional when constructing an ObjDefManager Add note about object ownership
2015-04-02Fix MSVC error caused by ed10005SmallJoker
2015-04-01Move globals from main.cpp to more sane locationsCraig Robbins
Move debug streams to log.cpp|h Move GUI-related globals to clientlauncher Move g_settings and g_settings_path to settings.cpp|h Move g_menuclouds to clouds.cpp|h Move g_profiler to profiler.cpp|h
2015-03-31GenElementManager: Pass opaque handles to Lua and rename to ObjDefManagerkwolekr
Add core.clear_registered_schematics() and refactor schematics somewhat
2015-03-22Add support for the PCG32 PRNG algo (and associated script APIs)kwolekr
2015-03-20Revert "Fix issue #2441: crash on respawn, since a conversion std::list to ↵kwolekr
std::vector on Environment.cpp" This reverts parts of commit 9749d9fee6db99da1ab861dc04ec63ef973db3e0, which breaks node resolver list clearing
2015-03-08Heightmaps: Fix uninitialised values in mgv5/mgv6. findGroundLevel: Return ↵paramat
-MAP_GENERATION_LIMIT if surface not found
2015-03-07Respect game mapgen flags and save world noise paramsngosang
2015-03-06Fix mapgen using unitialised height map valuesCraig Robbins
2015-03-05Fix issue #2441: crash on respawn, since a conversion std::list to ↵Loic Blot
std::vector on Environment.cpp * Also change some std::list to std::vector for ClientMap::renderMap * Remove disabled code in ClientMap::renderMap, disabled since a long time
2015-01-18Fix all warnings and remove -Wno-unused-but-set cflagkwolekr
2015-01-12Prevent transform of noise3d result in getBlockSeed2kwolekr
2015-01-05Optionally specify propagateSunlight area in calcLightingkwolekr
This fixes the Mapgen V5 calcLighting segfault
2015-01-04Add minetest.generate_ores() and minetest.generate_decorations()kwolekr
2015-01-04Lighting: Fix nearly all issueskwolekr
The cause of a single light source seemingly being lit without spread was due to its creation in the +Y mapblock boundary layer during map generation, which was ignored as the overtop. This overtop explicitly needs to be omitted during sunlight propagation, however. To accomplish this, Mapgen::calcLighting() was split into separate functions taking separate parameters. Additionally, do not diminish light too early during spread. This fixes the output inconsistency between Map::updateLighting and Mapgen::calcLighting.
2014-12-29Mapgen: Use getBlockSeed2() for blockseeds (much better uniformity)kwolekr
2014-12-27Redefine NodeResolver interface and replace with callback mechanismkwolekr
2014-12-12Add minetest.clear_registered_decorations() and clear_registered_ores()kwolekr
2014-12-06Add minetest.clear_registered_biomes() apikwolekr
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-14Fix warnings and other misc. minor changeskwolekr
2014-11-12Add Generator Element Management frameworkkwolekr
Add BiomeManager, OreManager, DecorationManager, and SchematicManager
2014-11-01Split up mapgen.cppkwolekr
2014-10-29Refactor decoration-related codekwolekr
Split up ModApiMapgen::l_register_decoration() Define and make use of CONTAINS() and ARRLEN() macros
2014-10-26Add NodeResolver and clean up node name -> content ID resolution systemkwolekr
2014-09-21Split settings into seperate source and header filesShadowNinja
This also cleans up settings a bit