summaryrefslogtreecommitdiff
path: root/src/map.cpp
Commit message (Collapse)AuthorAge
* Liquids: Update flow on block loadMillersMan2016-12-07
| | | | | 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-07
| | | | | | | 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-07
|
* CleanupDániel Juhász2016-10-27
|
* Use node lighting for liquid spreadingDániel Juhász2016-10-27
| | | | This commit modifies the liquid transforming procedure to light and unlight nodes instead of whole map blocks.
* Improved lightingDániel Juhász2016-10-27
| | | | | | | | | | | | | | 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-03
| | | | | | | | | | | | | | | 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-11
|
* Implement a PostgreSQL backendLoic Blot2016-05-22
|
* DB::loadBlock copy removal & DB backend cleanupLoic Blot2016-05-17
| | | | | * 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-30
|
* Liquid flow: Prevent water spreading on ignoreparamat2016-01-20
|
* Liquids: Flow into and destroy 'floodable' nodesparamat2016-01-07
| | | | | Add new node property 'floodable', default false Define "air" as floodable = true in C++ and lua
* Rename macros with two leading underscoresShadowNinja2015-10-14
| | | | These names are reserved for the compiler/library implementations.
* Use warningstream for log messages with WARNINGShadowNinja2015-10-14
| | | | Remove DTIME macro and its uses, too
* Add emerge completion callback mechanismkwolekr2015-10-04
| | | | Major refactor of emerge.cpp and Map::init/finishBlockMake
* Define and use limit constants for Irrlicht fixed-width typeskwolekr2015-10-04
|
* Add /emergeblocks command and core.emerge_area() Lua APIkwolekr2015-09-23
|
* Fix segfault caused by a8e238ed06ee8285ed4459e9deda3117419837f6Perttu Ahola2015-08-13
|
* Add count based unload limit for mapblocksest312015-08-13
|
* Add map limit config optionrubenwardy2015-08-02
|
* Record MapBlock modification reasons as flags instead of stringskwolekr2015-05-17
| | | | | 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-08
| | | | node-granular area
* Add core.find_nodes_with_meta() script APIkwolekr2015-05-05
|
* Move globals from main.cpp to more sane locationsCraig Robbins2015-04-01
| | | | | | | | | | | | 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-07
|
* 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
* Don't start a server for map migrationShadowNinja2015-03-06
|
* Clean up database API and save the local map on an intervalShadowNinja2015-03-06
|
* ABMHandler and player_collisions use sequential read/write. Switch from ↵Loic Blot2015-03-04
| | | | | | 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-18
| | | | | | 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-17
| | | | | | 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-17
|
* Replace std::list by std::vector into ServerMap::listAllLoadableBlocks ↵Loic Blot2015-02-17
| | | | | | 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-27
| | | | 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-18
|
* Water fixesgregorycu2015-01-18
| | | | | | | 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-18
|
* Add ability to delete MapBlocks from mapkwolekr2015-01-15
| | | | Also add a Lua API and chatcommand for this
* Change UniqueQueue to use a queue and a set.unknown2015-01-15
|
* Fix use of uninitialized dataCraig Robbins2015-01-14
|
* Attempt to fix occasional issue of uninitialized MapBlock datakwolekr2015-01-12
|
* Shorten ManualMapVoxelManipulator to MMVManipkwolekr2015-01-05
|
* Fix -Wtype-limits warnings and remove disabling of -Wtype-limitsCraig Robbins2014-12-29
|
* LuaVoxelManip: Remove blank allocatorkwolekr2014-12-29
|
* LuaVoxelManip: Add option to allocate blank datakwolekr2014-12-27
|
* Make limiting of the reflow liquids queue size optionalCraig Robbins2014-12-23
| | | | | 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-18
| | | | consumed
* Use std::string::empty() instead of size() where applicableAnton2014-12-12
|
* Remove most exceptions from getNode() (and variants)Craig Robbins2014-11-14
|