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
kwolekr
0974337804
Mapgen: Use getBlockSeed2() for blockseeds (much better uniformity)
2014-12-29 21:44:52 -05:00
kwolekr
b67f37f27e
Redefine NodeResolver interface and replace with callback mechanism
2014-12-27 02:12:21 -05:00
kwolekr
cf8213ea82
Add minetest.clear_registered_decorations() and clear_registered_ores()
2014-12-12 14:08:04 -05:00
kwolekr
60feb4ad25
Add minetest.clear_registered_biomes() api
2014-12-06 18:08:23 -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
1cb6ea6346
Refactor decoration-related code
...
Split up ModApiMapgen::l_register_decoration()
Define and make use of CONTAINS() and ARRLEN() macros
2014-10-29 01:56:37 -04:00
kwolekr
d274cbfce6
Add NodeResolver and clean up node name -> content ID resolution system
2014-10-26 23:55:45 -04:00
ShadowNinja
6bc4cad0ed
Split settings into seperate source and header files
...
This also cleans up settings a bit
2014-09-21 14:39:35 -04:00
proller
4977b736e3
Fix warnings
2014-04-19 02:24:45 +04:00
proller
0279f32db7
Remove liquid_finite and weather
2014-04-18 21:56:48 +04:00
kwolekr
c163859057
Schematic: Add force_placement parameter to minetest.place_structure API
2014-02-15 19:46:57 -05: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
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
21c96249fa
Schematic: Read slice probability table from schematic descriptors
2014-01-19 02:44:45 -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
83cc882335
EmergeManager: Fix Lua mapgen override param handling
2013-12-08 01:31:06 -05:00
kwolekr
20e3d550fa
Decoration: Add schematic Y-slice probability support
2013-12-01 01:24:59 -05:00
kwolekr
cca4f09ba1
Decoration: Stop DecoSimple::resolveNodeNames from complaining about no node name if decolist is used
...
Fix warning message for spawnby nodes
Prevent type-punning warning caused by casting enum to int
2013-11-17 02:22:24 -05:00
Kahrl
4e1f50035e
Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu
2013-08-14 21:03:33 +02:00
PilzAdam
d718b0b34e
Dont write directly to files but rather write and copy a tmp file
2013-08-13 22:05:45 +02:00
Kahrl
c8930850e3
Remove farmesh
2013-08-13 09:25:13 +02:00
kwolekr
c06caa14c3
Decoration: Fix schematic probability mess with new MTS file version
2013-08-11 15:34:49 -04:00
PilzAdam
45589fae58
Add replacements to schematics
2013-08-03 03:22:14 +02:00
PilzAdam
0b77588e87
Allow multiple 'wherein' nodes in oredef
2013-08-02 00:55:16 +02:00
proller
06cdce1e12
Weather backward compatibility
2013-08-02 00:51:36 +04:00
kwolekr
ce955f37ba
Decoration: Handle facedir and wallmounted param2types with schematic rotation
2013-07-08 15:19:48 -04:00
kwolekr
55ecde665d
Decoration: Remove usage of multi-character constants
2013-07-06 15:03:54 -04:00
kwolekr
18d7bc7fa1
Mapgen V7: Huge rewrite, also tweaks to cavegen et al.
2013-07-06 02:21:54 -04:00
kwolekr
dd6d1afd8e
Decoration: Add schematic rotation support
2013-07-01 18:04:51 -04:00
proller
848c3fe51a
Optimize liquid queue on generate map for liquid_finite
2013-06-30 01:29:21 +04:00
kwolekr
9126823c7e
Make generated water a shade darker to match up with older versions
2013-06-28 22:22:44 -04:00
kwolekr
2e292b67a0
Add Lua on_mapgen_init callback, and minetest.set_mapgen_params API
2013-06-27 22:35:35 -04:00
kwolekr
309c5f3641
Decoration: Add support for zero probability, fix breakage from last commit
2013-06-22 20:49:01 -04:00
kwolekr
4d77781ce7
A handful of minor fixes to various things
2013-06-22 17:27:48 -04:00
kwolekr
c1b829077a
Decoration: Add Schematic decoration type
2013-06-22 01:11:52 -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
0b20768a24
Decoration, Ore: Resolve node names on Mapgen init
2013-06-17 18:51:29 -04:00
kwolekr
56093b6614
Decoration: Change divlen to sidelen
2013-06-17 18:23:31 -04:00
kwolekr
0a8519a26f
Add initial Decoration support, many misc. improvements & modifications
2013-06-17 03:21:36 -04:00
kwolekr
93474c4218
Remove no virtual dtor warnings, make MapgenParams contain actual NoiseParams
2013-05-19 12:22:20 -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
8ec3fc35c6
Add Mapgen V7, reorganize biomes
2013-04-07 00:50:21 -04:00
kwolekr
8d4b768297
Add Ore generation flags, implement ore absolute height
2013-03-31 20:02:03 -04:00
kwolekr
26cad481d0
Vary ore sheet y position by noise
2013-03-24 22:35:23 -04:00
kwolekr
8d13967aa3
Ensure ore can fit in OreSheet::generate()
2013-03-24 20:19:59 -04:00
kwolekr
57cbb8bfd8
Add Ore infrastructure and l_register_ore()
2013-03-24 13:23:33 -04:00
kwolekr
939397dd6e
Add jungle grass to jungles
2013-03-17 23:08:11 -04:00
kwolekr
6823ce99a7
Re-add jungles, apple trees
2013-03-16 17:06:11 -04:00
kwolekr
1f1ad9fd23
Optimize Mapgen::updateLighting(), add setLighting()
2013-03-15 23:04:50 -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
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
Sfan5
6d0ea26c2d
Update Copyright Years
2013-02-24 20:15:24 +01:00
PilzAdam
497ff1ecd6
Change Minetest-c55 to Minetest
2013-02-24 18:49:03 +01:00
RealBadAngel
f0d70d4e86
Add seed parameter for default and L-system trees
2013-02-24 02:26:25 +01:00
Ilya Zhuravlev
86b33c4922
Fix compile error (MSVC2010).
2013-02-07 16:17:55 +04:00
kwolekr
97260d09a8
Add flag string settings, flat map option
2013-02-06 16:52:48 -05:00
kwolekr
91e88196c7
Make mapgen factory setup more elegant, add mapgen_v6.h
2013-01-23 16:16:49 -05:00
kwolekr
b87cd8c58b
Use a string identifier for a mapgen instead of version
2013-01-21 21:41:37 +02:00
kwolekr
278d93a3ee
Removed Mapgen V7 for now
2013-01-21 21:41:37 +02:00
kwolekr
631a835e07
Finish and clean up mapgen configuration
2013-01-21 21:41:37 +02:00
kwolekr
cde3d38766
Clean up EmergeManager, do initial work on Mapgen configuration
2013-01-21 21:41:37 +02:00
kwolekr
d5029958b9
Readded and optimized mapgen V6
2013-01-21 21:41:37 +02:00
kwolekr
96898c1794
Add initial Lua biomedef support, fixed biome selection
2013-01-21 21:41:37 +02:00
kwolekr
11afcbff69
The new mapgen, noise functions, et al.
2013-01-21 21:41:33 +02:00
RealBadAngel
b40e599866
L-System treegen
2012-12-30 13:42:19 +04:00
Ilya Zhuravlev
bbd990f2cc
Fix trees growing into any type of node
2012-11-23 00:36:52 +04:00
PilzAdam
b701f8a878
Replace pow() with multiplikation to improve speed
2012-11-02 16:24:57 +01:00
Perttu Ahola
c0bd96d9b3
Attempt to fix flying gravel and dirt
2012-09-01 13:41:15 +03:00
Sergey Gilfanov
0f7728f84d
Smooth transition to the desert biome.
2012-09-01 13:22:07 +03:00
darkrose
1b19020bf4
Remove trenches from map generator (cyisfor) (glitches: read below)
...
This causes glitches in very high cliffs by not making mud "flow" down from
them. Those are quite rare currently because of the lame height differences
generated.
2012-07-21 02:32:04 +03:00
Perttu Ahola
037b259197
Switch the license to be LGPLv2/later, with small parts still remaining as GPLv2/later, by agreement of major contributors
2012-06-05 18:54:07 +03:00
Perttu Ahola
dca28b9e12
Tune mapgen
2012-04-07 19:57:26 +03:00
Perttu Ahola
2e60593c5b
Tune desert beaches
2012-04-07 17:59:24 +03:00
Perttu Ahola
454b07455a
Add deserts to map generator
2012-04-07 15:36:51 +03:00
Perttu Ahola
a4dc6f2c76
Tune mapgen a bit
2012-04-07 14:08:49 +03:00
Perttu Ahola
5bf06efb2a
Tune cave generation
2012-04-02 08:51:05 +03:00
Perttu Ahola
5196e309b8
Improve caves more
2012-04-02 02:49:21 +03:00
Perttu Ahola
bee1adc651
Some completely crapshit coding to make caves more varied
2012-04-01 20:54:36 +03:00
Perttu Ahola
75821c6889
Generate beaches
2012-03-29 03:44:37 +03:00
Perttu Ahola
d376148ca1
Generate blobs of dirt and gravel in stone
2012-03-29 02:23:59 +03:00
Perttu Ahola
9a1df7bf38
Add blockseed to on_generated
2012-03-28 22:01:21 +03:00
Perttu Ahola
49c2ca0216
Make mapgen use mapgen_* node aliases rather than the LEGN macro
2012-03-28 01:26:15 +03:00
Perttu Ahola
4c876ac62e
Tune caves
2012-03-27 19:09:08 +03:00
Perttu Ahola
66bf7b0b01
Fix deep ground cave generation a bit
2012-03-27 19:09:08 +03:00
Perttu Ahola
17d51a1609
Fix mapgen block_is_underground heuristic
2012-03-27 19:09:07 +03:00
Perttu Ahola
0a59605e05
Tune mapgen
2012-03-27 19:09:07 +03:00
Perttu Ahola
4f01db256f
Re-implement and re-tune mapgen v2
2012-03-27 19:05:59 +03:00
Perttu Ahola
9a4ef87859
Remove no-op mapgen::add_random_objects
2012-03-27 19:01:52 +03:00
Perttu Ahola
a57f4c23d8
Fix inexistent_top_provides_sunlight heuristic in make_block and remove clitch-causing optimization
2012-03-27 19:01:52 +03:00
Perttu Ahola
8cb7badd63
Do post-mapgen lighting using the VoxelManipulator-based functions (causes glitches currently)
2012-03-27 19:01:51 +03:00
Perttu Ahola
0f3c2f6541
voxalgo::clearLightAndCollectSources
2012-03-27 19:01:51 +03:00
Perttu Ahola
e15dca2a9f
Fix tree generation density for different mapgen chunk sizes
2012-03-27 18:52:36 +03:00