kwolekr
72809172eb
Change internal type for seeds to s32
...
This fixes value truncation (and therefore incompatibility) on platforms
with an LP32 data model, such as VAX or MS-DOS.
2016-06-04 01:51:44 -04:00
kwolekr
5c6efccd3c
Disallow external linkage for default Cavegen NoiseParams
2016-05-27 23:23:58 -04:00
kwolekr
dadff87b25
Cavegen: Move V5-style caves to CavesNoiseIntersection
2016-05-27 23:23:58 -04:00
kwolekr
1aff8822e7
Cavegen: Minor misc. fixes
...
- Convert instances of numeric literal doubles to floats
- Move dswitchint to a local variable now that being a member is unnecessary
- Improve const correctness
- Indentation fixes
2016-05-27 23:23:58 -04:00
kwolekr
199574e5ee
Fix undefined evaluation order when constructing random vectors
...
MSVC and GCC evaluate parameters in right-to-left order, whereas Clang
evaluates in left-to-right order, and of course, an optimization could
leave the order of evaluation completely indeterminate.
This commit fixes all instances of the error by explicitly assigning the
results of expressions that use PseudoRandom::next() or range() to their
respective vector components.
The right-to-left evaluation behavior is preserved since Clang is much less
commonly used to compile Minetest than GCC and MSVC combined, and would
therefore cause the least harm.
2016-05-27 23:23:58 -04:00
kwolekr
49ab3d3033
Cavegen: Re-add small caves to CavesRandomWalk
2016-05-27 23:23:58 -04:00
kwolekr
c6784440db
Cavegen: Remove CavesRandomWalk dependency on Mapgen
2016-05-27 23:23:58 -04:00
kwolekr
d7ee38fa72
Cavegen: Merge instances of repetitive surface level-finding code
2016-05-27 23:23:58 -04:00
kwolekr
0a30f2af4b
Cavegen: Remove CavesV6 dependency on Mapgen
2016-05-27 23:23:58 -04:00
kwolekr
14cd0fab48
Cavegen: Rename CaveV6 to CavesV6
...
- Add comment explaining why it exists
- Remove unused 'flooded' variable
- Rename shadowed variable
- Fix some code style
2016-05-27 23:23:58 -04:00
kwolekr
5f8153a20a
Cavegen: Merge CaveV5 and CaveV7 into CavesRandomWalk
2016-05-27 23:23:58 -04:00
paramat
a50cbcb7f6
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
fc5a4ecb0c
Cavegen: Make mgfractal use mgv5 cavegen
...
Remove CaveFractal
Add a lava depth constant to CaveV5 to make it universal
2015-11-09 05:29:42 +00:00
paramat
28d614f4a1
Fractal mapgen: Add seabed and large pseudorandom caves
2015-10-07 06:43:46 +01:00
paramat
fab13e6805
Cavegen V6: Make all caves consistent with 0.4.12 stable
...
When tunnels entirely above ground were avoided, the
missing pseudorandom calls changed the allowed caves.
Now, above ground tunnels are not placed while
still running all previous pseudorandom calls.
2015-08-03 06:39:23 +01:00
paramat
96dd21aa3e
Cavegen: Mgv6: No small caves entirely above ground
...
Mgv5/mgv7: Remove 'should make cave hole' feature
Remove ravine code
2015-07-19 02:47:11 +01:00
paramat
02c7c67e2f
Cavegen: Cleanup code. Define constant for MGV7_LAVA_DEPTH
2015-07-01 06:21:13 +01:00
paramat
6ac8b335ed
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
paramat
e5522808f8
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
1bfc5a19e6
Mgv6: Add heightmap. Do not make large caves that are entirely above ground
2015-03-02 02:13:43 +00:00
paramat
91a0d2f7ca
Mgv5: Remove blobgen. Remove crumble and wetness noises
...
Add large pseudorandom caves below -256
De-link terrain level from water_level
Cavegen: Mgv5 large cave code
2015-02-21 01:43:25 +00:00
kwolekr
1d4e68a4cd
Cavegen: Fix copy & paste error (solves #2020 )
2014-12-28 22:35:14 -05:00
kwolekr
22b22968a1
Add flags and lacunarity as new noise parameters
...
Add 'absolute value' option to noise map functions
Extend persistence modulation to 3D noise
Extend 'eased' option to noise2d_perlin* functions
Some noise.cpp formatting fixups
2014-12-07 21:59:32 -05:00
kwolekr
4f8d54e249
Rewrite generate notification mechanism
...
Add support for notify-on-decoration
Clean up mapgen constructors
Clean up mapgen.cpp code style somewhat
Remove trailing whitespace from some files
2014-12-06 13:53:35 -05:00
kwolekr
1c1155e0d5
Huge overhaul of the entire MapgenParams system
...
MapgenParams is no longer a polymorphic class, eliminating the need for messy and bug-prone reallocations.
Separation between the common and mapgen-specific parameters is now strongly defined.
Mapgen parameters objects are now properly encapsulated within the proper subsystems.
2014-02-03 22:50:14 -05:00
kwolekr
85d7b64e2c
Add map feature generation notify Lua API
2013-12-14 01:52:24 -05:00
kwolekr
665b7fe8c4
Cavegen: Fix possible out-of-bounds heightmap access
2013-12-01 08:57:35 -05:00
kwolekr
ea3c3fb481
Cavegen: Respect is_ground_content MapNode setting; fix some code formatting issues
2013-11-29 20:54:04 -05:00
kwolekr
4b906fa7ef
Mapgen V7: Huge rewrite, also tweaks to cavegen et al.
2013-07-06 02:21:54 -04:00
kwolekr
e3ccf17a0d
Cavegen: Prevent caves from occuring above ground level, and superfluous mixing of lava and water in caves
2013-07-01 21:20:03 -04:00
kwolekr
74182cc85b
Cavegen: fix division by 0 with abnormal max tunnel diameter sizes
2013-06-23 15:16:52 -04:00
kwolekr
b73a72b3ee
Enhance caves for mgv7, add ravines
2013-04-27 22:40:52 -04:00
kwolekr
767f979585
Class-ify caves & move to cavegen.cpp, fix cave regression, add caves to Mapgen V7
2013-04-21 01:06:19 -04:00