summaryrefslogtreecommitdiff
path: root/src/mg_decoration.h
Commit message (Collapse)AuthorAge
* Biome API: Add decoration flags for underground decorationsparamat2017-10-29
| | | | | | | | | | | | | Add "all_floors" and "all_ceilings" flags for simple and schematic decorations. Decorations are placed on all floor and/or ceiling surfaces. Decorations are placed before dungeon generation so placement in dungeons is not possible. Add 'getSurfaces()' function to mapgen.cpp that returns 2 arrays of y coordinates for all floor and ceiling surfaces in a specified node column. Move 'getHeight()' checks into DecoSimple and DecoSchematic. Delete 'getHeight()' functions.
* Simple decorations: Make 'place_offset_y' usable with simple decorationsparamat2017-10-10
| | | | | | Necessary for placing the base cube of 'plantlike_rooted' drawtype in the seabed instead of on it. Useful for placing decorations sunk into, or buried in, the ground.
* Simple decorations: Add 'param2_max' parameter for random param2paramat2017-10-09
| | | | | | | If 'param2_max' is not used, parameter 'param2' works as before for compatibility. If 'param2_max' is used, 'param2' and 'param2_max' become the lower and upper bounds of a per-decoration random param2.
* Biome API: Revert biomes, decos, ores being relative to water levelparamat2017-09-17
| | | | | | | Feature is unnecessary and would greatly complicate future development, it would also make 'get biome at pos' extremely complex. Mgv7: Revert option to repeat surface biomes in floatlands, which depended on the above.
* Schematic decorations: Add 'place_offset_y' placement parameterparamat2017-09-10
| | | | | | | | | For precise control of schematic vertical position relative to the 'place_on' node. Avoids workarounds that add empty nodes to a schematic and therefore reduce performance. Also remove long-unused decoration cutoff code.
* Modernize various files (src/m*) (#6267)Loïc Blot2017-08-18
| | | | | | | | | | | | * Modernize various files (src/m*) * range-based for loops * code style * C++ headers instead of C headers * Default operators * empty function Thanks to clang-tidy
* C++ modernize: Pragma once (#6264)Loïc Blot2017-08-17
| | | | * Migrate cpp headers to pragma once
* Biomes/decorations/ores: Make relative to 'water_level' settingparamat2017-07-11
| | | | | | | | Add 'biome_zero_level' argument to 'generateBiomes()', 'deco_zero_level' argument to 'placeAllDecos()' and 'ore_zero_level' to 'placeAllOres()' to allow mapgens to vertically shift the registered biomes, decorations and ores per-mapchunk. Will also allow many realm possibilities in future mapgens.
* Cpp11 patchset 11: continue working on constructor style migration (#6004)Loïc Blot2017-06-18
|
* C++11 patchset 2: remove util/cpp11.h and util/cpp11_container.h (#5821)Loïc Blot2017-06-04
|
* Mapgen files: Update and correct copyright creditsparamat2017-05-26
|
* Simple deco: Allow setting param2 value on placementAuke Kok2016-12-07
| | | | | | | | | | | | | Schematics can already be placed with a param2 value, but not simple 1-node plant decorations of the simple type. This adds a `param2` field to the simple deco type that is checked to be between 0 and 255, and put to the placed node at mapgen. This can be used to put a degrotate value in, or e.g. a fill value for leveltype nodes, or a place_param2 value at mapgen placement, or vary the shape of meshoptions plantlike drawtype.
* Decorations: Generalise 'spawn by' to be used by all decoration typesparamat2016-09-14
| | | | In lua_api.txt, make clear that 'place on' and 'spawn by' can be lists.
* Permit usage of std::unordered_map & std::unorderered_set on c++11 compilers ↵Ner'zhul2016-08-10
| | | | | | | | | (#4430) This fallback to std::map & std::set for older compilers Use UNORDERED_SET as an example in decoration and ore biome sets Use UNORDERED_MAP as an example in nameidmapping
* Convert usages of PseudoRandom to PcgRandom for ore and deco placementkwolekr2015-11-09
| | | | In addition to being a better random, this fixes #3228
* Decoration API: Add flag for placement on liquid surfaceparamat2015-10-23
| | | | | Add findLiquidSurface() function to mapgen.cpp Update lua_api.txt
* Clean up threadingShadowNinja2015-08-23
| | | | | | | | | | | | | | | | | | | | * Rename everything. * Strip J prefix. * Change UpperCamelCase functions to lowerCamelCase. * Remove global (!) semaphore count mutex on OSX. * Remove semaphore count getter (unused, unsafe, depended on internal API functions on Windows, and used a hack on OSX). * Add `Atomic<type>`. * Make `Thread` handle thread names. * Add support for C++11 multi-threading. * Combine pthread and win32 sources. * Remove `ThreadStarted` (unused, unneeded). * Move some includes from the headers to the sources. * Move all of `Event` into its header (allows inlining with no new includes). * Make `Event` use `Semaphore` (except on Windows). * Move some porting functions into `Thread`. * Integrate logging with `Thread`. * Add threading test.
* Split ObjDef/ObjDefManager out to objdef.cppkwolekr2015-05-18
|
* Schematics: Remove referenced schematics from Decorations on clearkwolekr2015-04-17
|
* Schematics: Refactor NodeResolver and add NodeResolveMethodkwolekr2015-04-16
| | | | | | | | | 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.
* ObjDefManager, Mapgen SAPI: Huge refactoringkwolekr2015-03-31
| | | | | | | - 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
* GenElementManager: Pass opaque handles to Lua and rename to ObjDefManagerkwolekr2015-03-31
| | | | Add core.clear_registered_schematics() and refactor schematics somewhat
* mg_decoration: Raise highest allowed deco top to max edge of voxelmanipparamat2015-03-15
| | | | Remove max_y from functions, simplify code
* Biome API: Enable decorations placed on waterparamat2015-03-06
| | | | Add schematic decoration force placement flag
* Shorten ManualMapVoxelManipulator to MMVManipkwolekr2015-01-05
|
* Add minetest.generate_ores() and minetest.generate_decorations()kwolekr2015-01-04
|
* Replace instances of height_min/height_max with y_min/y_max to remove ambiguitykwolekr2014-12-30
|
* Decoration: Add height_min and height_max parameterskwolekr2014-12-28
| | | | | Also set default height_min/height_max to -31000 and 31000, respectively, for ore and biomes
* Redefine NodeResolver interface and replace with callback mechanismkwolekr2014-12-27
|
* Add minetest.clear_registered_decorations() and clear_registered_ores()kwolekr2014-12-12
|
* Remove get_noiseparams function. read_noiseparams should be used from now onkwolekr2014-12-10
|
* Fix struct vs. class in forward declarationsKahrl2014-12-08
|
* Rewrite generate notification mechanismkwolekr2014-12-06
| | | | | | | Add support for notify-on-decoration Clean up mapgen constructors Clean up mapgen.cpp code style somewhat Remove trailing whitespace from some files
* Add Generator Element Management frameworkkwolekr2014-11-12
| | | | Add BiomeManager, OreManager, DecorationManager, and SchematicManager
* Split up mapgen.cppkwolekr2014-11-01