aboutsummaryrefslogtreecommitdiff
path: root/src/map.cpp
AgeCommit message (Collapse)Author
2016-12-07Liquids: Update flow on block loadMillersMan
When loading a block add liquid-nodes that might flow away or spread to neighbours to the transforming_liquid queue.
2016-12-07Liquids: Preserve flow state if 'ignore' is a neighbourMillersMan
Prevent waterfalls from falling down or streams from flowing away when the source node is in an unloaded block - Nodes near a CONTENT_IGNORE node will be interpreted as if the ignored node is a liquid node that just supports the current state of the nodes in question.
2016-12-07Map::isValidPosition: Return false instead of throwing exceptionMillersMan
2016-10-27CleanupDániel Juhász
2016-10-27Use node lighting for liquid spreadingDániel Juhász
This commit modifies the liquid transforming procedure to light and unlight nodes instead of whole map blocks.
2016-10-27Improved lightingDániel Juhász
This commit rewrites the procedure that is responsible for light updating. this commit -provides iterative solutions for unlighting and light spreading -introduces a new priority queue-like container for the iteration -creates per-node MapBlock caching to reduce retrieving MapBlocks from the map -calculates with map block positions and in-block relative node coordinates -skips light updating if it is not necessary since the node's new light will be the same as its old light was
2016-07-03Add MapSettingsManager and new mapgen setting script API functionskwolekr
This commit refactors the majority of the Mapgen settings system. - MapgenParams is now owned by MapSettingsManager, itself a part of ServerMap, instead of the EmergeManager. - New Script API functions added: core.get_mapgen_setting core.get_mapgen_setting_noiseparams, core.set_mapgen_setting, and core.set_mapgen_setting_noiseparams. - minetest.get/set_mapgen_params are deprecated by the above new functions. - It is now possible to view and modify any arbitrary mapgen setting from a mod, rather than the base MapgenParams structure. - MapgenSpecificParams has been removed.
2016-06-11Make node timers more efficientEkdohibs
2016-05-22Implement a PostgreSQL backendLoic Blot
2016-05-17DB::loadBlock copy removal & DB backend cleanupLoic Blot
* Remove the copy from db::loadBlock by using a pointer to the destination * cleanup db backend, the child backend doesn't have to set their functions as virtual
2016-03-30Remove expensive copy of ContentFeaturesgregorycu
2016-01-20Liquid flow: Prevent water spreading on ignoreparamat
2016-01-07Liquids: Flow into and destroy 'floodable' nodesparamat
Add new node property 'floodable', default false Define "air" as floodable = true in C++ and lua
2015-10-14Rename macros with two leading underscoresShadowNinja
These names are reserved for the compiler/library implementations.
2015-10-14Use warningstream for log messages with WARNINGShadowNinja
Remove DTIME macro and its uses, too
2015-10-04Add emerge completion callback mechanismkwolekr
Major refactor of emerge.cpp and Map::init/finishBlockMake
2015-10-04Define and use limit constants for Irrlicht fixed-width typeskwolekr
2015-09-23Add /emergeblocks command and core.emerge_area() Lua APIkwolekr
2015-08-13Fix segfault caused by a8e238ed06ee8285ed4459e9deda3117419837f6Perttu Ahola
2015-08-13Add count based unload limit for mapblocksest31
2015-08-02Add map limit config optionrubenwardy
2015-05-17Record MapBlock modification reasons as flags instead of stringskwolekr
This improves performance of MapBlock::raiseModified by a factor of 6. Also, clean up mapblock.h a bit and inline small functions.
2015-05-08Ensure that Map::findNodesWithMetadata() reports nodes strictly within the ↵kwolekr
node-granular area
2015-05-05Add core.find_nodes_with_meta() script APIkwolekr
2015-04-01Move globals from main.cpp to more sane locationsCraig Robbins
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-03-07Respect game mapgen flags and save world noise paramsngosang
2015-03-07For usages of assert() that are meant to persist in Release builds (when ↵Craig Robbins
NDEBUG is defined), replace those usages with persistent alternatives
2015-03-06Don't start a server for map migrationShadowNinja
2015-03-06Clean up database API and save the local map on an intervalShadowNinja
2015-03-04ABMHandler and player_collisions use sequential read/write. Switch from ↵Loic Blot
std::list to std::vector * Also remove dead code Map::unloadUnusedData which is dead since a long time
2015-02-18Fix unused (and so, broken) enable_rollback_recording. This option must be ↵Loic Blot
reloaded at server loop but loaded when server starts, for data consistency (not a hot load variable) ok @ShadowNinja
2015-02-17Replace std::list by std::vector into ClientMap::updateDrawList, ↵Loic Blot
Map::timerUpdate and ServerMap::save(). This will speedup the loop reading into those functions
2015-02-17Replace std::list by std::vector into timerUpdate callsLoic Blot
2015-02-17Replace std::list by std::vector into ServerMap::listAllLoadableBlocks ↵Loic Blot
ServerMap::listAllLoadedBlocks and their database backends. This adds a speedup on database migration and /clearobjects command
2015-01-27Fix missing map_meta.txt error when creating new worldskwolekr
A missing map_meta.txt should be treated simply as if there were a blank file.
2015-01-18Fix all warnings and remove -Wno-unused-but-set cflagkwolekr
2015-01-18Water fixesgregorycu
Change must_reflow to a deque Add overload for MapBlock::raiseModified that takes a const char*. This is a speed improvement. Comment out unused variable Optimisations to block offset calculations
2015-01-18Create empty default constructor for MapNodeCraig Robbins
2015-01-15Add ability to delete MapBlocks from mapkwolekr
Also add a Lua API and chatcommand for this
2015-01-15Change UniqueQueue to use a queue and a set.unknown
2015-01-14Fix use of uninitialized dataCraig Robbins
2015-01-12Attempt to fix occasional issue of uninitialized MapBlock datakwolekr
2015-01-05Shorten ManualMapVoxelManipulator to MMVManipkwolekr
2014-12-29Fix -Wtype-limits warnings and remove disabling of -Wtype-limitsCraig Robbins
2014-12-29LuaVoxelManip: Remove blank allocatorkwolekr
2014-12-27LuaVoxelManip: Add option to allocate blank datakwolekr
2014-12-23Make limiting of the reflow liquids queue size optionalCraig Robbins
If liquid_queue_purge_time == 0 then disable the queue size limiting and make this the default setting Additionally, liquid_loop_max now defaults to 100000
2014-12-18Do not allow the m_transforming_liquid queue to increase until all RAM is ↵Craig Robbins
consumed
2014-12-12Use std::string::empty() instead of size() where applicableAnton
2014-11-14Remove most exceptions from getNode() (and variants)Craig Robbins