Commit Graph

58 Commits

Author SHA1 Message Date
kwolekr 8e08e92eb4 Cherry-pick most commits since 15c0376
Commits not directly related to network changes were cherry-picked
on a best-effort basis, as some cause difficult merge conflicts.

Commits skipped over:
0d1eedcccc
aa474e4501
82482ecd9d
b214cde5b4
2066655aae
7e088fdfe3
40bf1d7b5f
1b2f64473e
7e56637ed0
64ff966bae
51057a56f5
009149a073
cf4045ff0f
e357577cb2
49f84b76bc
b019221c30
7880ff74b6
146f77fdb7
a704c04f00

Commits with conflicts:
038d3a31df
e9eda2b0d0
708337dfc2 ~~ modified client.cpp manually; shadow changes to packethandlers/client.cpp
36e8ba9ce2 ~~ modified main.cpp manually; add ALLOW_ZWRITE_ON_TRANSPARENT set
3b6480c5b0 ~~ modified server.cpp manually; change wrapDegrees -> modulo360f
5a5854ea9d
c09d026f05
3c91ad8fc2
2015-03-07 16:25:50 -05:00
kwolekr 32352e90da Revert all commits up to (including) a704c04f 2015-03-07 16:16:25 -05:00
Craig Robbins daa1c30b35 Fix mapgen using unitialised height map values 2015-03-06 01:42:55 +10:00
Craig Robbins 9e67579315 Fix memory leak in MapgenV6 2015-03-05 15:17:37 +10:00
paramat 773aa8c57b Mgv6: Add heightmap. Do not make large caves that are entirely above ground 2015-03-02 02:13:43 +00:00
kwolekr 38bd9e93a2 Fix all warnings and remove -Wno-unused-but-set cflag 2015-01-18 23:29:19 -05:00
kwolekr 4a57ef12a1 Mapgen V6: Re-enable liquid flowing 2015-01-07 19:27:09 -05:00
kwolekr 7233a1228e Lighting: Fix nearly all issues
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.
2015-01-04 02:42:31 -05:00
paramat 7452d5399b MgV5/6/7: Generate dungeons above water level
Use/add stone_surface_max_y to speed-optimise/guide dungeon generation
MgV7: Don't let mountain terrain chop dungeons at mapchunk borders
Make mountain terrain update stone_surface_max_y for caves in mountains
2015-01-01 15:44:26 -05:00
kwolekr f12118c38b Fix some lingering code style issues 2014-12-29 22:04:47 -05:00
kwolekr 00fc0babe0 Mapgens: Rename m_emerge to prevent name collisions 2014-12-12 02:38:39 -05:00
kwolekr fb80a7c111 Clean up Noise macros 2014-12-11 02:53:10 -05:00
kwolekr 16baed0467 Noise: Automatically transform noise maps if needed 2014-12-10 23:35:37 -05:00
kwolekr fb2bc956b1 Noise: Create a deep copy of NoiseParams 2014-12-10 00:37:09 -05:00
kwolekr 2fd3d52020 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 5062b99cb0 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 8d3a68f343 Fix warnings and other misc. minor changes 2014-11-14 03:07:12 -05:00
kwolekr 7616537bc0 Add Generator Element Management framework
Add BiomeManager, OreManager, DecorationManager, and SchematicManager
2014-11-12 23:02:41 -05:00
kwolekr 9e811a92e7 Split up mapgen.cpp 2014-11-01 13:16:23 -04:00
kwolekr 6b4307791a mapgen: Resolve nodes in ctor rather than makeChunk 2014-10-30 02:29:37 -04:00
kwolekr 83bafbe08b Make flag strings clear specified flag with 'no' prefix
Remove flagmask field from set_mapgen_params table
Add small bits of needed documentation
2014-02-08 17:50:59 -05:00
kwolekr 7f743178db Remove blank default values for emergequeue_limit_* settings
Add checks for invalid user input for important settings
Rename Settings::tryGet* to Settings::get*NoEx for consistency
2014-02-05 00:17:53 -05:00
kwolekr c6c5edd73a Revert "Fix settings to honor numeric conversion errors"
This reverts commit 3f376a092e.
2014-02-05 00:05:58 -05:00
sapier 3f376a092e Fix settings to honor numeric conversion errors
Rename try* non exceptioning functions to *NoEx
2014-02-04 22:14:13 -05:00
kwolekr 5a34f40d80 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 a358c040f2 Mapgen V6: Add flag to stop mud flow 2014-01-12 18:21:28 -05:00
kwolekr c3708b456e Add map feature generation notify Lua API 2013-12-14 01:52:24 -05:00
kwolekr bbae8eb751 Dungeongen: Create dungeon gen tuneables; add desert temples for Mapgen V6 2013-12-07 22:45:26 -05:00
kwolekr b38afc9311 Mapgen V6: Respect water_level setting 2013-11-21 00:43:27 -05:00
kwolekr 2e292b67a0 Add Lua on_mapgen_init callback, and minetest.set_mapgen_params API 2013-06-27 22:35:35 -04:00
kwolekr f18b4872ea Decoration: Place decorations in mgv6, check if air or cignore before placement 2013-06-17 21:59:57 -04:00
kwolekr 0a8519a26f Add initial Decoration support, many misc. improvements & modifications 2013-06-17 03:21:36 -04:00
kwolekr d00e8bd31a Fix nearly all warnings 2013-05-19 21:26:56 -04:00
kwolekr 93474c4218 Remove no virtual dtor warnings, make MapgenParams contain actual NoiseParams 2013-05-19 12:22:20 -04:00
kwolekr 8767c78169 Enhance caves for mgv7, add ravines 2013-04-27 22:40:52 -04:00
kwolekr 03868ff8e1 Class-ify caves & move to cavegen.cpp, fix cave regression, add caves to Mapgen V7 2013-04-21 01:06:19 -04:00
kwolekr 7c0e707cf1 Add param2 field for ores, some minor fixes and misc. code cleanup 2013-04-07 21:21:54 -04:00
kwolekr 96e2931c5c Fix black tree leaves, reduce above-ground cave shadows 2013-04-07 02:26:46 -04:00
kwolekr c517215bcf Fix MapgenV6::generateCaves possible division by 0 and misc. cosmetic fixes 2013-03-30 21:24:37 -04:00
kwolekr 57cbb8bfd8 Add Ore infrastructure and l_register_ore() 2013-03-24 13:23:33 -04:00
proller f70378f7f5 Mapgen indev: float islands, larger far biomes 2013-03-24 03:40:15 +04:00
kwolekr 939397dd6e Add jungle grass to jungles 2013-03-17 23:08:11 -04:00
kwolekr 67228160ae Some minor cleanups from the last commit 2013-03-16 22:34:12 -04:00
proller 165498cecf initial mapgen indev version with farscale feature and huge caves 2013-03-16 21:48:32 -04:00
kwolekr 6823ce99a7 Re-add jungles, apple trees 2013-03-16 17:06:11 -04:00
kwolekr d10223254a Clean up Mapgen 2013-03-11 21:32:52 -04:00
Ilya Zhuravlev 6a1670dbc3 Migrate to STL containers/algorithms. 2013-03-11 19:08:39 -04:00
kwolekr 650e932ddf Re-add dungeons in new dungeongen.cpp 2013-03-10 00:42:51 -05:00
kwolekr 67c59645ec Misc. cleanup and minor fixes 2013-02-25 23:08:33 -05:00
kwolekr b9d8e59bbf Add emerge.cpp, initial EmergeThread changes
- Neatly placed all emerge related code into a new file, emerge.cpp
- Greatly cleaned up the code in EmergeThread::Thread()
- Reworked Emerge queue.  Now an actual std::queue of v3s16 block positions
- Removed the completely unnecessary map of peer ids requesting blocks
2013-02-25 22:56:18 -05:00