kwolekr
c5968049bb
Mapgen V7: Remove now-unused ridge heightmap
2016-05-27 23:23:58 -04:00
kwolekr
548d99bb45
Cavegen: Move V5-style caves to CavesNoiseIntersection
2016-05-27 23:23:58 -04:00
kwolekr
9b5c492be5
Fix MgStoneType and BiomeType enum names
2016-05-27 23:23:58 -04:00
kwolekr
87bc39dca7
Mapgen: Combine generateBiomes, dustTopNodes, and generateCaves
...
This commit condenses the above methods into a single implementation used by
V7, V5, Flat, Fractal, and Valleys mapgens and introduces MapgenBasic.
2016-05-27 23:23:58 -04:00
kwolekr
76f4856479
Move biome calculation to BiomeGen
...
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-05-27 23:23:58 -04:00
paramat
8b1f8e99cf
Mapgen: Make 3D noise tunnels' width settable
...
Correct parameter names mg_valleys to mgvalleys
Remove biome NoiseParams from MapgenValleysParams
Improve format of parameter code
2016-04-28 23:36:19 -04:00
paramat
fed5dd3b5d
Mgv7: Combine mountain terrain generation with base terrain generation
...
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-20 06:51:20 +01:00
paramat
4fdf66bbf4
Mgv7, mgflat, mgfractal: Tunnel generation code optimisation
2016-04-12 06:58:04 +01:00
paramat
465bb6f5d1
Mapgen: Optimise cave noises and tunnel excavation
...
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-04-08 03:14:36 +01:00
paramat
630f453da4
Mgv7: Decrease cliff steepness
2016-03-30 01:53:14 +01:00
paramat
493a298c0c
Mgv7/flat/fractal: Stop tunnel-floor biome nodes being placed everywhere
...
A bool for 'in or under tunnel' was missing
1-node-deep stone ledges were being
replaced with biome surface material
2016-03-21 17:42:13 +00:00
paramat
f1aea6b4ff
Mgv7: Limit pseudorandom caves to surface mapchunk or below
...
To avoid bright caves at mapchunk borders when generating mapchunks upwards
2016-03-19 17:56:35 +00:00
paramat
bb2ee54d3b
Mapgen: Fix light in tunnels at mapchunk borders
...
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-03-14 08:45:01 +00:00
paramat
4adbd69a37
FindSpawnPos: Let mapgens decide what spawn altitude is suitable
...
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-09 07:14:45 +00:00
paramat
0a8af88147
Mgv5/v7/flat/fractal: Move tunnel noise calculation into generateCaves
...
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-02-02 06:37:01 +00:00
paramat
b4cbcaea26
Mgv7/flat/fractal: Place biome top node on tunnel entrance floor
2016-01-14 04:43:50 +00:00
paramat
8fc8cb819b
Mapgen: Various fixes and improvements
...
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
2016-01-11 01:32:20 +00:00
paramat
e51ea66bd0
Mgv5/v7/flat/fractal: More large pseudorandom caves
...
Mgv7/flat/fractal: Reduce tunnel noise spreads to 96
2015-12-02 02:19:52 +00:00
paramat
d7bbe81726
Mapgen: Add global 'decorations' flag
...
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-11-21 00:10:08 +00:00
paramat
7504cdcfbf
Mapgen: Use mapgen-specific names for constants in headers
...
Update copyright years in all mapgens
Add myself to copyright notices in mgv5 and mgv7
2015-10-09 05:51:47 +01:00
kwolekr
f0cd5da687
Define and use limit constants for Irrlicht fixed-width types
2015-10-04 04:00:16 -04:00
paramat
fe994946b7
Mgv5/6/7: Re-add #include profiler.h as commented-out option
2015-09-19 02:27:21 +01:00
rubenwardy
ec796b8e81
Add map limit config option
2015-08-02 14:27:04 +02:00
paramat
d569c91f48
Mgv7: Use density noise + density gradient for mountain terrain
...
Tune and optimise noise parameters
2015-07-21 23:16:14 +01:00
Loic Blot
fa7fe510d9
Remove profiler.h include where it's not needed. Remove some unreachable and very old code
2015-07-21 08:10:43 +02:00
paramat
ba15c98e4d
Mgv7: Auto-set lowest mountain generation level
...
Lowest level of base terrain determines mountain generation in mapchunk
Change some positional function arguments from int to s16
2015-07-08 00:49:04 +01:00
paramat
d786a272c0
Mgv7: Lower base of mountain generation to -112 and define constant
2015-07-04 20:21:19 +01:00
paramat
36163d9653
Mgv5/mgv7 caves: Remove sand found in underground tunnels
...
Add missing check for max_stone_y to mgv5 cavegen
Tunnels now carve through sand below water_level
2015-06-27 03:36:40 +01:00
paramat
622918d8a8
Mgv7: Edit noise parameters. Fewer octaves, larger spreads.
2015-06-21 04:34:19 +01:00
paramat
70da8a940b
Mapgen objects: Enable heatmap and humidmap for all biome api mapgens
2015-06-20 04:16:17 +01:00
paramat
e45ecad3ab
Biome API: Add noise defined biome blend
2015-06-18 07:05:22 +01:00
paramat
38482d2656
Biome API: Enable biome generation to lower world limit
...
Decorations: Remove lower limit of water level for placement
2015-06-15 02:07:38 +01:00
paramat
74d8b341bc
Mgv5/mgv7: Trigger biome recalculation at underwater surfaces
2015-06-03 06:37:10 +01:00
paramat
774e5d17c4
Biome API, mgv7: Increase heat/humidity spreads. Improve mgv7 noise parameters
2015-05-24 04:33:09 +01:00
paramat
3dba6d1f90
Mgv5/v7: Fix generateBiomes biome recalculation logic Biomegen down to y = -192 for mgv5 deep oceans. Improve code
2015-05-23 02:18:30 +01:00
paramat
c0edb8e313
Mapgen v5/v7: Detect sandstone, enable sandstone brick dungeons
2015-05-17 06:07:39 +01:00
paramat
02805af36e
Mapgen v5/6/7: Cleanup node resolver and aliases
2015-05-12 04:40:53 +01:00
paramat
ad789be45b
Mgv5/v7: Add check for water for deciding biome node stability
2015-04-16 04:01:58 +01:00
paramat
392ac41c99
Cavegen: Remove now unnecessary checks for water, lava, ice
...
Remove large cave checks for air
Mgv5/mgv7:Add is_ground_content checks to 3d noise tunnels
More large caves
Shorten lines
2015-04-07 04:43:24 +01:00
Craig Robbins
9527984dbc
Move globals from main.cpp to more sane locations
...
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-04-01 23:04:25 +10:00
kwolekr
ed10005d38
GenElementManager: Pass opaque handles to Lua and rename to ObjDefManager
...
Add core.clear_registered_schematics() and refactor schematics somewhat
2015-03-31 01:11:51 -04:00
paramat
d6638b4300
Mgv7: 1 up , 1 down overgeneration for chunk border continuity
...
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-22 19:30:08 +00:00
paramat
d03c2999da
Mgv5/mgv7: Sprinkle dust from full_node_max.Y if chunk above is generated
...
Mgv5: Add large_cave_depth constant
2015-03-19 10:18:42 +00:00
paramat
6ce0985f47
Mgv5/mgv7: Add desert temples if desert stone detected in mapchunk
2015-03-12 02:33:16 +00:00
paramat
d463000595
Heightmaps: Fix uninitialised values in mgv5/mgv6. findGroundLevel: Return -MAP_GENERATION_LIMIT if surface not found
2015-03-08 03:54:03 +00:00
ngosang
f6e4c5d9cf
Respect game mapgen flags and save world noise params
2015-03-07 15:53:39 -05:00
Craig Robbins
ced6d20295
For usages of assert() that are meant to persist in Release builds (when NDEBUG is defined), replace those usages with persistent alternatives
2015-03-07 22:41:47 +10:00
Craig Robbins
daa1c30b35
Fix mapgen using unitialised height map values
2015-03-06 01:42:55 +10:00
paramat
eb7482fd73
Cavegen, mgv5: Cleanup code
...
Conf.example: Update mgv5 mapgen params
Mgv7: Lava caves only below -256
2015-03-04 23:53:58 +00:00
paramat
14f7df980b
Biome API: Re-calculate biome at every surface in a mapchunk column
2015-02-26 03:35:25 +00:00