kwolekr
2b99d904f6
Schematics: Add per-node force placement option
2015-05-09 18:44:00 -04:00
kwolekr
2dba29ebf2
Tests: Add schematic unittests
...
Improve schematic file-saving interface
Add ability to create temporary test files
2015-05-08 00:55:42 -04:00
kwolekr
b246812455
Schematics: Add indent-with-space option for schematic Lua table serialization
2015-05-07 02:54:35 -04:00
kwolekr
656575b59d
NodeResolver: Remove NodeResolveMethod
...
This simplifies NodeResolver logic and makes some interfaces cleaner.
2015-05-07 02:36:01 -04:00
kwolekr
46a2c1f167
Ore: Add biomes parameter
2015-04-20 20:25:33 -04:00
paramat
a615da6b12
Biome API: Add biome-specific river water
2015-04-19 06:09:57 +01:00
kwolekr
e0889c6c03
Schematics: Fix core.schematic_create()
2015-04-17 18:39:37 -04:00
kwolekr
3576f4fab7
Switch to check_v3s16 in l_mapgen.cpp and l_vmanip.cpp for type safety
2015-04-17 01:03:13 -04:00
kwolekr
821d0025da
Biomes: Remove referenced biomes from Decorations on clear
2015-04-16 23:38:05 -04:00
kwolekr
479f38973e
Schematics: Refactor NodeResolver and add NodeResolveMethod
...
NodeResolver name lists now belong to the NodeResolver object instead of
the associated NodeDefManager. In addition to minimizing unnecessary
abstraction and overhead, this move permits NodeResolvers to look up nodes
that they had previously set pending for resolution. So far, this
functionality has been used in the case of schematics for
serialization/deserialization.
2015-04-16 16:27:05 -04:00
kwolekr
b2a89c04b2
Schematics: Reorganize (de)serialization and add Lua serialization API
2015-04-13 03:10:52 -04:00
kwolekr
0df736173e
Schematics: Prepend mod path to relative schematic filepaths
2015-04-08 00:28:56 -04: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
337e79c656
ObjDefManager, Mapgen SAPI: Huge refactoring
...
- General code cleanup
- Unified object creation and loading
- Specifying objects in APIs is now orthogonal (i.e. anything can take an ID,
name string, or the raw table definition (and automatically registers if present
2015-03-31 23:27:58 -04: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
d1681872bf
lua_api/l_mapgen: generate_ores/decorations: make p1, p2 optional
2015-03-24 18:07:29 +00:00
kwolekr
732d7b9a7c
Add core.register_schematic() and cache schematics on use
2015-03-23 22:23:38 -04:00
kwolekr
26153bab7d
Revert "Fix issue #2441 : crash on respawn, since a conversion std::list to std::vector on Environment.cpp"
...
This reverts parts of commit 9749d9fee6db99da1ab861dc04ec63ef973db3e0, which breaks node resolver
list clearing
2015-03-20 18:41:26 -04:00
paramat
b2b6bbf3e8
lua_api/l_mapgen: Fix overlapping areas of minetest.generate_ores/decorations
2015-03-11 03:36:39 +00:00
Loic Blot
9749d9fee6
Fix issue #2441 : crash on respawn, since a conversion std::list to std::vector on Environment.cpp
...
* Also change some std::list to std::vector for ClientMap::renderMap
* Remove disabled code in ClientMap::renderMap, disabled since a long time
2015-03-05 15:36:20 +01:00
paramat
14f7df980b
Biome API: Re-calculate biome at every surface in a mapchunk column
2015-02-26 03:35:25 +00:00
kwolekr
2d849b0a19
Shorten ManualMapVoxelManipulator to MMVManip
2015-01-05 02:42:27 -05:00
kwolekr
bdcf03ae36
Add minetest.generate_ores() and minetest.generate_decorations()
2015-01-04 22:38:48 -05:00
kwolekr
8eb9cebdd0
Add warning about using deprecated fields in Mapgen API and update docs
2015-01-04 03:24:40 -05:00
kwolekr
9b0d77a549
Replace instances of height_min/height_max with y_min/y_max to remove ambiguity
2014-12-30 01:48:20 -05:00
kwolekr
b589353d89
Decoration: Fix default parameter values
2014-12-30 00:52:40 -05:00
kwolekr
5e2753c712
Expose mapgen parameters on scripting init
...
Add minetest.get_mapgen_params()
Deprecate minetest.register_on_mapgen_init()
2014-12-29 12:59:59 -05:00
kwolekr
863379a4c6
Decoration: Add height_min and height_max parameters
...
Also set default height_min/height_max to -31000 and 31000,
respectively, for ore and biomes
2014-12-28 22:37:27 -05:00
paramat
570c2042b1
Biome API: Add shore top and shore filler nodes, underwater node, water top node. Add water top depth and shore height parameters. Remove water dust node
2014-12-28 21:37:43 -05:00
kwolekr
61dfa912f5
Ore: Add Vein ore type
2014-12-28 21:17:12 -05:00
kwolekr
900fa26965
Ore: Add Blob ore type
2014-12-28 03:11:00 -05:00
kwolekr
08d259cf41
Set fallback content if resolving content vector requires everything
2014-12-27 22:20:04 -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
dcc48976ce
Move get_schematic and read_schematic to l_mapgen.cpp
2014-12-10 01:49:57 -05:00
kwolekr
cfba55ba0a
Remove get_noiseparams function. read_noiseparams should be used from now on
2014-12-10 00:56:44 -05:00
kwolekr
fb2bc956b1
Noise: Create a deep copy of NoiseParams
2014-12-10 00:37:09 -05:00
kwolekr
d50878d608
Rename and repurpose minetest.set_noiseparam_defaults to set_noiseparams
2014-12-09 23:44:04 -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
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
paramat
0a5373d400
Add definable node_stone to biome API, mgv5, mgv7. Reduce and correct depth of mgv7 biomes. l_mapgen.cpp: add '#include mapgen_v5.h' because '#include mapgen_v7' is there. Improve underwater grass hack
2014-12-03 19:45:29 -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
db25f75337
Fix erroneous lua_pop parameter
2014-10-30 16:23:48 -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
bc28ca0636
Prevent invalid memory access under failure conditions
2014-10-28 00:18:53 -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
ShadowNinja
2f170a63c6
Simplify and optimize schematic replacements
2014-09-11 22:25:06 -04:00
ShadowNinja
c4359ff65c
Use "core" namespace internally
2014-05-08 13:02:04 -04:00
Sfan5
118e2ae865
Fix all warnings reported by clang
2014-04-15 21:34:53 +02:00
kwolekr
28d6326bd4
Update set_mapgen_params and set_gen_notify Lua API to use new flag format
2014-03-08 11:35:04 -05:00
Sfan5
d9d06ad920
Fix g_settings not being included
2014-02-16 08:25:53 +01:00
kwolekr
c163859057
Schematic: Add force_placement parameter to minetest.place_structure API
2014-02-15 19:46:57 -05:00
kwolekr
3570f3e396
Add minetest.set_noiseparam_defaults() Lua API
2014-02-15 19:13:14 -05:00
kwolekr
2a01050a0c
Add capability to read table flag fields from Lua API
2014-02-09 12:44:31 -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
c3708b456e
Add map feature generation notify Lua API
2013-12-14 01:52:24 -05:00
kwolekr
3cc45fd8ad
Fix leak and possible segfault in minetest.set_mapgen_params
2013-12-08 01:37:41 -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
kwolekr
c0398224ef
Fix some warnings and other minor details
2013-09-16 23:52:42 -04:00
Kahrl
4e1f50035e
Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu
2013-08-14 21:03:33 +02:00