| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
This commit condenses the above methods into a single implementation used by
V7, V5, Flat, Fractal, and Valleys mapgens and introduces MapgenBasic.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
To terminate unwanted shadows from floatlands or realms above
Also add to LuaVoxelManip calc_lighting for use in mapgen mods
Remove the 2 argument calcLighting, mapgens now use the 5
argument form to specify the volumes for propagateSunlight and
spreadLight
In mgsinglenode replace calcLighting with setLighting and
clean-up use of tabs and spaces
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
Use this macro to disallow copying of an object using the assignment
operator or copy constructor. This catches otherwise silent-but-deadly
mistakes such as "ServerMap map = env->getMap();" at compile time.
If so desired, it is still possible to copy a class, but it now requires
an explicit call to memcpy or std::copy.
|
|
|
|
|
| |
Add findLiquidSurface() function to mapgen.cpp
Update lua_api.txt
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Make gamedef optional when constructing an ObjDefManager
Add note about object ownership
|
| |
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
Add core.clear_registered_schematics() and refactor schematics somewhat
|
| |
|
|
|
|
|
|
|
| |
std::vector on Environment.cpp"
This reverts parts of commit 9749d9fee6db99da1ab861dc04ec63ef973db3e0, which breaks node resolver
list clearing
|
| |
|
|
|
|
| |
-MAP_GENERATION_LIMIT if surface not found
|
| |
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
This fixes the Mapgen V5 calcLighting segfault
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Add support for notify-on-decoration
Clean up mapgen constructors
Clean up mapgen.cpp code style somewhat
Remove trailing whitespace from some files
|
|
|
|
| |
Thanks @oleastre
|
| |
|
|
|
|
| |
Add BiomeManager, OreManager, DecorationManager, and SchematicManager
|
| |
|
|
|
|
|
| |
Split up ModApiMapgen::l_register_decoration()
Define and make use of CONTAINS() and ARRLEN() macros
|
| |
|
|
|
|
| |
This also cleans up settings a bit
|
| |
|
| |
|
|
|
|
|
| |
Remove flagmask field from set_mapgen_params table
Add small bits of needed documentation
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|