aboutsummaryrefslogtreecommitdiff
path: root/src/mapgen
AgeCommit message (Collapse)Author
2018-04-26Biome-defined dungeon nodes: Use faster biome calculationparamat
2018-04-25Dungeons: Mostly fix missing stair nodesParamat
2018-04-24Mgvalleys: Code cleanupParamat
Split some long lines. Edit comments. Remove unnecessary comments and unnecessary commented-out code. Use std::fmax/fmin instead of MYMAX/MYMIN. Remove scope-limiting braces. Consistently define literals as floats, except in noise parameters. Cleanup literals in noise parameters. Remove unnecessary 'near_cavern' line. Reduce max spawn y to be consistent with other mapgens.
2018-04-21Mgvalleys: Use shared tunnel / cavern code instead of internalParamat
Caverns first appeared in mgvalleys and were later added to other mapgens as shared code. Now this shared code can replace mgvalley's internal cavern code. Also use shared tunnel code instead of internal code. Changes to mapgen that will affect existing worlds (mgvalleys is not stable): Single lava and water sources not added in tunnels. Previous caverns are unchanged but an equal number of new ones are added at a distance from the previous. From y = -256 to 192 nodes below, where the caverns taper at their upper limit, they will have a slightly different shape as the taper is now linear.
2018-04-21Cave liquids: Use a more precise point for calculating biomeParamat
Use the centre point of the route being carved for a more precise match between cave liquids and biome.
2018-04-20Node resolver: Make error on fallback optional, disable for mapgen aliasesParamat
2018-04-17Cavegen: Fix variable typo that broke mgvalleys large cave distribution (#7249)Paramat
Fix elusive 5 year old bug that caused mgvalleys large caves to be flat and limited to mapchunk borders. Error was fixed 2 years ago in 'CavesV6' but not in 'CavesRandomWalk'.
2018-04-07Biome API / dungeons: Add biome-defined dungeon nodesParamat
Add new biome fields 'node_dungeon', 'node_dungeon_alt', 'node_dungeon_stair'. If 'node_dungeon' is not defined dungeons fall back to classic behaviour. Remove messy and imprecise dungeon material code from 'generateBiomes()'. Code deciding dungeon materials is now in 'generateDungeons()' and uses the biome at mapchunk centre for more precision. Remove hardcoded 'MG_STONE' types as long intended.
2018-04-06Mgcarpathian: Fix spawn level calculation (#7212)Paramat
2018-04-05Mgcarpathian: Remove insignificant 'base' noise variation (#7209)Paramat
Was only +-1 node over a scale of thousands of nodes. Replace with 'base_level' parameter value.
2018-04-05Biome API / cavegen: Add definable cave liquid for a biome (#7192)Paramat
Add 'node_cave_liquid' as a new field in biome registration. If field is absent cave liquids fall back to classic behaviour.
2018-04-03Fix various clang-tidy reported performance-type-promotion-in-math-fnLoïc Blot
2018-04-02Fix many issues reported by clang-tidy (#7189)Loïc Blot
* Fix many issues reported by clang-tidy We have many issues in code related to some performance to float <-> double. Clang-tidy reported it in performance-type-promotion-in-math-fn I fixed many of them. It's not ready for a promote to blocking Also fix some value which should be const-ref
2018-03-29Mgcarpathian: Mapgen loop optimisations. fabs() -> std::fabs()Paramat
* Mgcarpathian: ZYX -> ZXY mapgen loop optimisation. * 'pow(n, 3)' to 'n * n * n' type optimisations. * fabs() -> std::fabs().
2018-03-26Mapgen: Remove unused mgv7 code and some unused biometypesParamat
2018-03-16Biomes: Fix vertical biome blendparamat
2018-03-11Biome API: Add 'get_biome_name(biome_id)' APIparamat
Change name of default biome to a more suitable lowercase 'default'.
2018-03-09VoxelArea: add_{x,y,z,p} must be staticLoic Blot
Fix some documentations issues Use getNodeNoCheck(v3s16, ...) in some cases instead of getNodeNoCheck(x, y, z, ...)
2018-03-09Biomes: Add 'min_pos'/'max_pos' xyz biome limitsparamat
'y_min' and 'y_max' are still accepted for compatibility.
2018-03-03Generate Notifier: Clear events once after all 'on generated' functionsparamat
2018-03-03MapgenValleys: Fixed submarine valleys shapeGael-de-Sailly
2018-02-27Place schematic (on vmanip): Enable use of 'place center' flagsparamat
For 'place schematic' and 'place schematic on vmanip' APIs. Fix 'place center' code to properly centre schematics. Fix some comments.
2018-02-26SAO limits: Allow SAOs to exist outside the set 'mapgen limit'paramat
2018-02-20Vertical biome blend: Tune blend patternsparamat
2018-02-20Dungeons: Add Y limits in all mapgensparamat
Preserve the upper limit used in mgvalleys.
2018-02-13Dungeons: Avoid generation in multiple liquid nodes and 'airlike'paramat
Previously only 'mapgen water source' and 'mapgen river water source' were checked for. Games can use multiple liquid nodes defined for biomes, many of which will not be aliased to those 2 mapgen aliases, causing floating dungeons to generate in some liquids. Now we check for liquid drawtype instead, so can remove liquid nodes from dungeonparams. Also check for 'airlike' drawtype instead of 'CONTENT_AIR' to avoid generation in 'airlike' nodes in some rare situations. This will also be needed for when we add definable biome air nodes.
2018-02-10Node definition manager refactor (#7016)Dániel Juhász
* Rename IWritableNodeDefManager to NodeDefManager * Make INodeDefManager functions const * Use "const *NodeDefManager" instead of "*INodeDefManager" * Remove unused INodeDefManager class * Merge NodeDefManager and CNodeDefManager * Document NodeDefManager
2018-01-16Biomes: Add 'get heat', 'get humidity', 'get biome data' APIsparamat
'get biome data' returns biome id, heat and humidity. Clean up nearby lines in lua_api.txt.
2018-01-15Mapgen folder: Update and improve copyright information of filesparamat
2018-01-05Biomes: Add vertical biome blend (#6853)Paramat
Add 'vertical blend' parameter to biome registration that defines how many nodes above the biome's 'y max' limit the blend will extend.
2018-01-03Mgv7 floatlands: Add exponent parameterparamat
Allows more control over shape of floatland mountain terrain. Terrain shape is unchanged.
2017-12-10Use std::vector instead of dynamic C-Array (#6744)adrido
2017-11-19Stratum ore: Add option for a constant thickness stratumparamat
Add a 'stratum thickness' integer parameter, as an alternative to providing a 2nd noise parameter for thickness variation.
2017-11-17Biome dust node: Only place on 'walkable' cubic non-liquid drawtypesparamat
No longer decide placement on 'buildable_to' parameter. Dust nodes only look acceptable placed on cubic nodes. Modders may not want to make their plantlike decorations 'buildable_to'.
2017-11-08Move files to subdirectories (#6599)Vitaliy
* Move files around