aboutsummaryrefslogtreecommitdiff
path: root/src/mapgen_v7.cpp
AgeCommit message (Collapse)Author
2016-04-20Mgv7: Combine mountain terrain generation with base terrain generationparamat
Previous mountain terrain generation was by necessity placing stone in air, this was removing air from any overgenerated structures such as tunnels, dungeons and large caves Moving it into the base terrain generation loop ensures that only 'ignore' is replaced generateRidgeTerrain: only return if node_max.Y < water_level - 16 Previously, if water level was set a few nodes above a mapchunk border the river channel was only partially excavated
2016-04-12Mgv7, mgflat, mgfractal: Tunnel generation code optimisationparamat
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-30Mgv7: Decrease cliff steepnessparamat
2016-03-21Mgv7/flat/fractal: Stop tunnel-floor biome nodes being placed everywhereparamat
A bool for 'in or under tunnel' was missing 1-node-deep stone ledges were being replaced with biome surface material
2016-03-19Mgv7: Limit pseudorandom caves to surface mapchunk or belowparamat
To avoid bright caves at mapchunk borders when generating mapchunks upwards
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-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-02Mgv5/v7/flat/fractal: Move tunnel noise calculation into generateCavesparamat
Tunnel 3D noises are only calculated when solid terrain is present in mapchunk, avoiding large amounts of unnecessary calculations Change 'int' to 's16' in calculateNoise Change 'i' to 'vi' for voxelmanip indexes for consistency Keep 'u32 index3d' local to a smaller part of tunnel code Mgv7: Don't call CaveV7 if no solid terrain in mapchunk Give 'open' bool a more descriptive name
2016-01-14Mgv7/flat/fractal: Place biome top node on tunnel entrance floorparamat
2016-01-11Mapgen: Various fixes and improvementsparamat
Lua_api.txt: Document 'minetest.registered_biomes' Minimal: Remove 'mapgen_air' alias Cavegen: Add fallback node for 'mapgen_ice' Dungeongen: Add fallback node for 'mapgen_river_water_source' Mgv5: Remove unnecessary '#include util/directiontables.h' Add missing 'this->'s in makeChunk() Mgv6: Edit empty line formatting Remove leading spaces in makeChunk() Add missing spaces after 'for' and 'if' Mgv7: Edit empty line formatting
2015-12-02Mgv5/v7/flat/fractal: More large pseudorandom cavesparamat
Mgv7/flat/fractal: Reduce tunnel noise spreads to 96
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-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-10-04Define and use limit constants for Irrlicht fixed-width typeskwolekr
2015-09-19Mgv5/6/7: Re-add #include profiler.h as commented-out optionparamat
2015-08-02Add map limit config optionrubenwardy
2015-07-21Mgv7: Use density noise + density gradient for mountain terrainparamat
Tune and optimise noise parameters
2015-07-21Remove profiler.h include where it's not needed. Remove some unreachable and ↵Loic Blot
very old code
2015-07-08Mgv7: Auto-set lowest mountain generation levelparamat
Lowest level of base terrain determines mountain generation in mapchunk Change some positional function arguments from int to s16
2015-07-04Mgv7: Lower base of mountain generation to -112 and define constantparamat
2015-06-27Mgv5/mgv7 caves: Remove sand found in underground tunnelsparamat
Add missing check for max_stone_y to mgv5 cavegen Tunnels now carve through sand below water_level
2015-06-21Mgv7: Edit noise parameters. Fewer octaves, larger spreads.paramat
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-06-03Mgv5/mgv7: Trigger biome recalculation at underwater surfacesparamat
2015-05-24Biome API, mgv7: Increase heat/humidity spreads. Improve mgv7 noise parametersparamat
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-04-16Mgv5/v7: Add check for water for deciding biome node stabilityparamat
2015-04-07Cavegen: Remove now unnecessary checks for water, lava, iceparamat
Remove large cave checks for air Mgv5/mgv7:Add is_ground_content checks to 3d noise tunnels More large caves Shorten lines
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-22Mgv7: 1 up , 1 down overgeneration for chunk border continuityparamat
Fixes biome layer at y = 47 when base/alt terrain exceeds it Also fixes missing dust glitch at y = 47 Mgv5/mgv7:Cleanup code
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-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-07For usages of assert() that are meant to persist in Release builds (when ↵Craig Robbins
NDEBUG is defined), replace those usages with persistent alternatives
2015-03-06Fix mapgen using unitialised height map valuesCraig Robbins
2015-03-04Cavegen, mgv5: Cleanup codeparamat
Conf.example: Update mgv5 mapgen params Mgv7: Lava caves only below -256
2015-02-26Biome API: Re-calculate biome at every surface in a mapchunk columnparamat
2015-02-05Mgv7 mountains: Remove divide by zero code that creates vast wallsparamat
Conf.example: Add mgv7 cave1, cave2 noiseparams Mgv7: Make skipping of mountain code relative to y=0 not water level Mountain noise offset now -0.6 to compensate Tune chance of large caves
2015-01-22Mgv7 generateRidgeTerrain: Make river generation relative to water levelparamat
Remove widthn and make nridge zero underwater
2015-01-22Mgv7: Speed optimise calculateNoise and generateRidgeTerrainparamat
Remove unnecessary range limiting of persistmap Skip calculation of filler, mountain, ridge, heat and humidity perlinmaps in underground mapchunks Skip generateRidgeTerrain in underground mapchunks
2015-01-22Mgv7 generateRidgeTerrain: Enable rangelim of widthn to remove abysses, ↵paramat
calculate widthn later in function Reduce width to 0.2 Carve river channels in deeper waters
2015-01-17Mgv7: Replace small pseudorandom caves with 3D noise tunnels. Fewer large cavesparamat
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.