summaryrefslogtreecommitdiff
path: root/src/mg_schematic.cpp
Commit message (Collapse)AuthorAge
* Mapgen files: Update and correct copyright creditsparamat2017-05-26
|
* Light calculation: New bulk node lighting codeDániel Juhász2017-03-11
| | | | | | | | | | | This commit introduces a new bulk node lighting algorithm to minimize lighting bugs during l-system tree generation, schematic placement and non-mapgen-object lua voxelmanip light calculation. If the block above the changed area is not loaded, it gets loaded to avoid lighting bugs. Light is updated as soon as write_to_map is called on a voxel manipulator, therefore update_map does nothing.
* Environment & IGameDef code refactoring (#4985)Ner'zhul2017-01-09
| | | | | | | | | | | | | | | | | | | | | * Environment code refactoring * Cleanup includes & class declarations in client & server environment to improve build speed * ServerEnvironment::m_gamedef is now a pointer to Server instead of IGameDef, permitting to cleanup many casts. * Cleanup IGameDef * Move ITextureSource* IGameDef::getTextureSource() to Client only. * Also move ITextureSource *IGameDef::tsrc() helper * drop getShaderSource, getSceneManager, getSoundManager & getCamera abstract call * drop unused emerge() call * cleanup server unused functions (mentionned before) * Drop one unused parameter from ContentFeatures::updateTextures * move checkLocalPrivilege to Client * Remove some unnecessary casts * create_formspec_menu: remove IWritableTextureSource pointer, as client already knows it * Fix some comments * Change required IGameDef to Server/Client pointers * Previous change that game.cpp sometimes calls functions with Client + InventoryManager + IGameDef in same functions but it's the same objects * Remove duplicate Client pointer in GUIFormSpecMenu::GUIFormSpecMenu * drop ClientMap::sectorWasDrawn which is unused
* Replace various std::map with UNORDERED_MAP + various cleanupsLoic Blot2016-10-05
| | | | | | | | | | | | This is part 2 for 5f084cd98d7b3326b51320455364337539710efd Other improvements: * Use the defined ItemGroupList when used * make Client::checkPrivilege const * inline some trivial functions * Add ActiveObjectMap typedef * Add SettingsEntries typedef
* mg_schematic: fix leak in lua API, and small cleanupest312016-03-30
| | | | | | | | | | | | | | | * Fix leak like behaviour if you load multiple schematics in a loop. * Cleanup check in for, fixing theoretical out of bounds read if Schematic::deserializeFromMts reduced the number of elements in m_nodenames. A != check may need an overflow of the counter before it hits, if origsize is larger than m_nodenames.size(). * Fix function name passed to errorstream: it was wrong. Also use __FUNCTION__ instead of manually using the method name at other places in the function. * Don't shadow the name member in the loop.
* Schematics: Add core.place_schematic_on_vmanip APIkwolekr2015-11-05
| | | | | Fix memory leak in minetest.place_schematic Slightly refactor Schematic code
* Mapnode: Replace rotateAlongYAxis with improved versionparamat2015-10-02
| | | | | | Get facedir by using lowest 5 bits of param2 and limiting to 23 More robust, frees up higher param2 bits for other uses Change lookup table and table index to u8
* Mapnode: Add rotateAlongYAxisFull supporting 24 facedirsparamat2015-09-22
|
* Schematics: Fix probability values for .mts version 1kwolekr2015-05-15
|
* Schematics: Add per-node force placement optionkwolekr2015-05-09
|
* Tests: Add schematic unittestskwolekr2015-05-08
| | | | | Improve schematic file-saving interface Add ability to create temporary test files
* Schematics: Add indent-with-space option for schematic Lua table serializationkwolekr2015-05-07
|
* NodeResolver: Remove NodeResolveMethodkwolekr2015-05-07
| | | | This simplifies NodeResolver logic and makes some interfaces cleaner.
* Fix build since: "Remove referenced schematics from Decorations on clear"est312015-04-17
| | | | | | Fixes build, which has been broken for all platforms (except BSD?) since grandparent 406d9ba87b9f6e57b86c6282bf157e3341aa195c. Thanks to @SmallJoker for pointing out a solution.
* Schematics: Remove referenced schematics from Decorations on clearkwolekr2015-04-17
|
* Fix build for < C++11 since last commitest312015-04-17
| | | | | Build broke since last commit 479f38973e13680d6a39d9c2a7f29fd330b67d41 for compilers not supporting C++11. Pre C++11, the constructor of std::ifstream only allows C like strings.
* 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.
* Schematics: Reorganize (de)serialization and add Lua serialization APIkwolekr2015-04-13
|
* GenElementManager: Pass opaque handles to Lua and rename to ObjDefManagerkwolekr2015-03-31
| | | | Add core.clear_registered_schematics() and refactor schematics somewhat
* Schematics: Error if unable to open filekwolekr2015-03-23
|
* For usages of assert() that are meant to persist in Release builds (when ↵Craig Robbins2015-03-07
| | | | NDEBUG is defined), replace those usages with persistent alternatives
* Shorten ManualMapVoxelManipulator to MMVManipkwolekr2015-01-05
|
* Set fallback content if resolving content vector requires everythingkwolekr2014-12-27
|
* Redefine NodeResolver interface and replace with callback mechanismkwolekr2014-12-27
|
* Add minetest.clear_registered_decorations() and clear_registered_ores()kwolekr2014-12-12
|
* Fix compiler warning (signed vs. unsigned)Craig Robbins2014-12-08
|
* Schematics: Fix minetest.place_schematic() when defined by a Lua tablekwolekr2014-12-06
|
* Add Generator Element Management frameworkkwolekr2014-11-12
| | | | Add BiomeManager, OreManager, DecorationManager, and SchematicManager
* Split up mapgen.cppkwolekr2014-11-01