aboutsummaryrefslogtreecommitdiff
path: root/src/map.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Liquids: Update flow on block loadMillersMan2016-12-071-2/+9
| | | | | When loading a block add liquid-nodes that might flow away or spread to neighbours to the transforming_liquid queue.
* Liquids: Preserve flow state if 'ignore' is a neighbourMillersMan2016-12-071-4/+15
| | | | | | | 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.
* Map::isValidPosition: Return false instead of throwing exceptionMillersMan2016-12-071-1/+1
|
* CleanupDániel Juhász2016-10-271-8/+4
|
* Use node lighting for liquid spreadingDániel Juhász2016-10-271-5/+18
| | | | This commit modifies the liquid transforming procedure to light and unlight nodes instead of whole map blocks.
* Improved lightingDániel Juhász2016-10-271-426/+15
| | | | | | | | | | | | | | 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
* Add MapSettingsManager and new mapgen setting script API functionskwolekr2016-07-031-74/+26
| | | | | | | | | | | | | | | 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.
* Make node timers more efficientEkdohibs2016-06-111-3/+6
|
* Implement a PostgreSQL backendLoic Blot2016-05-221-0/+7
|
* DB::loadBlock copy removal & DB backend cleanupLoic Blot2016-05-171-2/+1
| | | | | * 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
* Remove expensive copy of ContentFeaturesgregorycu2016-03-301-4/+4
|
* Liquid flow: Prevent water spreading on ignoreparamat2016-01-201-2/+5
|
* Liquids: Flow into and destroy 'floodable' nodesparamat2016-01-071-32/+38
| | | | | Add new node property 'floodable', default false Define "air" as floodable = true in C++ and lua
* Rename macros with two leading underscoresShadowNinja2015-10-141-18/+18
| | | | These names are reserved for the compiler/library implementations.
* Use warningstream for log messages with WARNINGShadowNinja2015-10-141-20/+20
| | | | Remove DTIME macro and its uses, too
* Add emerge completion callback mechanismkwolekr2015-10-041-191/+76
| | | | Major refactor of emerge.cpp and Map::init/finishBlockMake
* Define and use limit constants for Irrlicht fixed-width typeskwolekr2015-10-041-1/+1
|
* Add /emergeblocks command and core.emerge_area() Lua APIkwolekr2015-09-231-8/+3
|
* Fix segfault caused by a8e238ed06ee8285ed4459e9deda3117419837f6Perttu Ahola2015-08-131-2/+2
|
* Add count based unload limit for mapblocksest312015-08-131-31/+107
|
* Add map limit config optionrubenwardy2015-08-021-10/+7
|
* Record MapBlock modification reasons as flags instead of stringskwolekr2015-05-171-3/+3
| | | | | This improves performance of MapBlock::raiseModified by a factor of 6. Also, clean up mapblock.h a bit and inline small functions.
* Ensure that Map::findNodesWithMetadata() reports nodes strictly within the ↵kwolekr2015-05-081-2/+9
| | | | node-granular area
* Add core.find_nodes_with_meta() script APIkwolekr2015-05-051-0/+34
|
* Move globals from main.cpp to more sane locationsCraig Robbins2015-04-011-1/+0
| | | | | | | | | | | | 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
* Respect game mapgen flags and save world noise paramsngosang2015-03-071-28/+20
|
* For usages of assert() that are meant to persist in Release builds (when ↵Craig Robbins2015-03-071-10/+9
| | | | NDEBUG is defined), replace those usages with persistent alternatives
* Don't start a server for map migrationShadowNinja2015-03-061-18/+23
|
* Clean up database API and save the local map on an intervalShadowNinja2015-03-061-45/+31
|
* ABMHandler and player_collisions use sequential read/write. Switch from ↵Loic Blot2015-03-041-62/+4
| | | | | | std::list to std::vector * Also remove dead code Map::unloadUnusedData which is dead since a long time
* Fix unused (and so, broken) enable_rollback_recording. This option must be ↵Loic Blot2015-02-181-2/+2
| | | | | | reloaded at server loop but loaded when server starts, for data consistency (not a hot load variable) ok @ShadowNinja
* Replace std::list by std::vector into ClientMap::updateDrawList, ↵Loic Blot2015-02-171-35/+23
| | | | | | Map::timerUpdate and ServerMap::save(). This will speedup the loop reading into those functions
* Replace std::list by std::vector into timerUpdate callsLoic Blot2015-02-171-4/+3
|
* Replace std::list by std::vector into ServerMap::listAllLoadableBlocks ↵Loic Blot2015-02-171-2/+2
| | | | | | ServerMap::listAllLoadedBlocks and their database backends. This adds a speedup on database migration and /clearobjects command
* Fix missing map_meta.txt error when creating new worldskwolekr2015-01-271-10/+12
| | | | A missing map_meta.txt should be treated simply as if there were a blank file.
* Fix all warnings and remove -Wno-unused-but-set cflagkwolekr2015-01-181-3/+1
|
* Water fixesgregorycu2015-01-181-22/+19
| | | | | | | 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
* Create empty default constructor for MapNodeCraig Robbins2015-01-181-3/+12
|
* Add ability to delete MapBlocks from mapkwolekr2015-01-151-0/+17
| | | | Also add a Lua API and chatcommand for this
* Change UniqueQueue to use a queue and a set.unknown2015-01-151-4/+8
|
* Fix use of uninitialized dataCraig Robbins2015-01-141-2/+1
|
* Attempt to fix occasional issue of uninitialized MapBlock datakwolekr2015-01-121-1/+1
|
* Shorten ManualMapVoxelManipulator to MMVManipkwolekr2015-01-051-9/+8
|
* Fix -Wtype-limits warnings and remove disabling of -Wtype-limitsCraig Robbins2014-12-291-1/+5
|
* LuaVoxelManip: Remove blank allocatorkwolekr2014-12-291-23/+0
|
* LuaVoxelManip: Add option to allocate blank datakwolekr2014-12-271-1/+24
|
* Make limiting of the reflow liquids queue size optionalCraig Robbins2014-12-231-18/+15
| | | | | 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
* Do not allow the m_transforming_liquid queue to increase until all RAM is ↵Craig Robbins2014-12-181-2/+77
| | | | consumed
* Use std::string::empty() instead of size() where applicableAnton2014-12-121-4/+4
|
* Remove most exceptions from getNode() (and variants)Craig Robbins2014-11-141-209/+191
|