summaryrefslogtreecommitdiff
path: root/src/mapgen_v7.cpp
Commit message (Collapse)AuthorAge
* Mgv7: Combine mountain terrain generation with base terrain generationparamat2016-04-20
| | | | | | | | | | | | 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
* Mgv7, mgflat, mgfractal: Tunnel generation code optimisationparamat2016-04-12
|
* 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
* Mgv7: Decrease cliff steepnessparamat2016-03-30
|
* Mgv7/flat/fractal: Stop tunnel-floor biome nodes being placed everywhereparamat2016-03-21
| | | | | | A bool for 'in or under tunnel' was missing 1-node-deep stone ledges were being replaced with biome surface material
* Mgv7: Limit pseudorandom caves to surface mapchunk or belowparamat2016-03-19
| | | | To avoid bright caves at mapchunk borders when generating mapchunks upwards
* 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.
* 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
* Mgv5/v7/flat/fractal: Move tunnel noise calculation into generateCavesparamat2016-02-02
| | | | | | | | | | 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
* Mgv7/flat/fractal: Place biome top node on tunnel entrance floorparamat2016-01-14
|
* Mapgen: Various fixes and improvementsparamat2016-01-11
| | | | | | | | | | | | | 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
* Mgv5/v7/flat/fractal: More large pseudorandom cavesparamat2015-12-02
| | | | Mgv7/flat/fractal: Reduce tunnel noise spreads to 96
* Mapgen: Add global 'decorations' flagparamat2015-11-21
| | | | | | | | | | 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
* Mapgen: Use mapgen-specific names for constants in headersparamat2015-10-09
| | | | | Update copyright years in all mapgens Add myself to copyright notices in mgv5 and mgv7
* Define and use limit constants for Irrlicht fixed-width typeskwolekr2015-10-04
|
* Mgv5/6/7: Re-add #include profiler.h as commented-out optionparamat2015-09-19
|
* Add map limit config optionrubenwardy2015-08-02
|
* Mgv7: Use density noise + density gradient for mountain terrainparamat2015-07-21
| | | | Tune and optimise noise parameters
* Remove profiler.h include where it's not needed. Remove some unreachable and ↵Loic Blot2015-07-21
| | | | very old code
* Mgv7: Auto-set lowest mountain generation levelparamat2015-07-08
| | | | | Lowest level of base terrain determines mountain generation in mapchunk Change some positional function arguments from int to s16
* Mgv7: Lower base of mountain generation to -112 and define constantparamat2015-07-04
|
* Mgv5/mgv7 caves: Remove sand found in underground tunnelsparamat2015-06-27
| | | | | Add missing check for max_stone_y to mgv5 cavegen Tunnels now carve through sand below water_level
* Mgv7: Edit noise parameters. Fewer octaves, larger spreads.paramat2015-06-21
|
* Mapgen objects: Enable heatmap and humidmap for all biome api mapgensparamat2015-06-20
|
* Biome API: Add noise defined biome blendparamat2015-06-18
|
* Biome API: Enable biome generation to lower world limitparamat2015-06-15
| | | | Decorations: Remove lower limit of water level for placement
* Mgv5/mgv7: Trigger biome recalculation at underwater surfacesparamat2015-06-03
|
* Biome API, mgv7: Increase heat/humidity spreads. Improve mgv7 noise parametersparamat2015-05-24
|
* Mgv5/v7: Fix generateBiomes biome recalculation logic Biomegen down to y = ↵paramat2015-05-23
| | | | -192 for mgv5 deep oceans. Improve code
* Mapgen v5/v7: Detect sandstone, enable sandstone brick dungeonsparamat2015-05-17
|
* Mapgen v5/6/7: Cleanup node resolver and aliasesparamat2015-05-12
|
* Mgv5/v7: Add check for water for deciding biome node stabilityparamat2015-04-16
|
* Cavegen: Remove now unnecessary checks for water, lava, iceparamat2015-04-07
| | | | | | | Remove large cave checks for air Mgv5/mgv7:Add is_ground_content checks to 3d noise tunnels More large caves Shorten lines
* Move globals from main.cpp to more sane locationsCraig Robbins2015-04-01
| | | | | | | | | | | | 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
* GenElementManager: Pass opaque handles to Lua and rename to ObjDefManagerkwolekr2015-03-31
| | | | Add core.clear_registered_schematics() and refactor schematics somewhat
* Mgv7: 1 up , 1 down overgeneration for chunk border continuityparamat2015-03-22
| | | | | | Fixes biome layer at y = 47 when base/alt terrain exceeds it Also fixes missing dust glitch at y = 47 Mgv5/mgv7:Cleanup code
* Mgv5/mgv7: Sprinkle dust from full_node_max.Y if chunk above is generatedparamat2015-03-19
| | | | Mgv5: Add large_cave_depth constant
* Mgv5/mgv7: Add desert temples if desert stone detected in mapchunkparamat2015-03-12
|
* Heightmaps: Fix uninitialised values in mgv5/mgv6. findGroundLevel: Return ↵paramat2015-03-08
| | | | -MAP_GENERATION_LIMIT if surface not found
* Respect game mapgen flags and save world noise paramsngosang2015-03-07
|
* For usages of assert() that are meant to persist in Release builds (when ↵Craig Robbins2015-03-07
| | | | NDEBUG is defined), replace those usages with persistent alternatives
* Fix mapgen using unitialised height map valuesCraig Robbins2015-03-06
|
* Cavegen, mgv5: Cleanup codeparamat2015-03-04
| | | | | Conf.example: Update mgv5 mapgen params Mgv7: Lava caves only below -256
* Biome API: Re-calculate biome at every surface in a mapchunk columnparamat2015-02-26
|
* Mgv7 mountains: Remove divide by zero code that creates vast wallsparamat2015-02-05
| | | | | | | 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
* Mgv7 generateRidgeTerrain: Make river generation relative to water levelparamat2015-01-22
| | | | Remove widthn and make nridge zero underwater
* Mgv7: Speed optimise calculateNoise and generateRidgeTerrainparamat2015-01-22
| | | | | | Remove unnecessary range limiting of persistmap Skip calculation of filler, mountain, ridge, heat and humidity perlinmaps in underground mapchunks Skip generateRidgeTerrain in underground mapchunks
* Mgv7 generateRidgeTerrain: Enable rangelim of widthn to remove abysses, ↵paramat2015-01-22
| | | | | | | calculate widthn later in function Reduce width to 0.2 Carve river channels in deeper waters
* Mgv7: Replace small pseudorandom caves with 3D noise tunnels. Fewer large cavesparamat2015-01-17
|
* Lighting: Fix nearly all issueskwolekr2015-01-04
| | | | | | | | | | | 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.