aboutsummaryrefslogtreecommitdiff
path: root/src/emerge.h
AgeCommit message (Collapse)Author
2022-05-09Add more Prometheus metrics (#12274)sfan5
2021-10-12Remove a few unused functions reported by callcatcher (#11658)SmallJoker
2021-07-31Fix /emergeblocks crashing in debug builds (#11461)Wuzzy
The reason for the bug was an u16 overflow, thus failing the assert. This only happened in Debug build but not in Release builds.
2021-05-30Add core.compare_block_status function (#11247)SmallJoker
Makes it possible to check the status of the mapblock in a future-extensible way.
2021-03-23Fix broken `BiomeGen` abstraction (#11107)sfan5
2020-11-26Avoid generating the same chunk more than once with multiple emerge threads.Lars
2020-05-05Fix remaining issues with mapgen scriptapisfan5
2020-05-05Give the Mapgen on each EmergeThread its own Biome/Ore/Deco/SchemManager copysfan5
2019-03-31EmergeManager::initMapgens use FATAL_ERROR if and drop boolean returnLoïc Blot
We never handle the boolean return, also init twice is a coding error, not a runtime error
2018-02-10Node definition manager refactor (#7016)Dániel Juhász
* Rename IWritableNodeDefManager to NodeDefManager * Make INodeDefManager functions const * Use "const *NodeDefManager" instead of "*INodeDefManager" * Remove unused INodeDefManager class * Merge NodeDefManager and CNodeDefManager * Document NodeDefManager
2017-11-08Move files to subdirectories (#6599)Vitaliy
* Move files around
2017-09-27Add session_t typedef + remove unused functions (#6470)Loïc Blot
* Add session_t typedef + remove unused functions u16 peer_id is used everywhere, to be more consistent and permit some evolutions on this type in the future (i'm working on a PoC), uniformize u16 peer_id to SessionId peer_id
2017-08-20Modernize source code: last part (#6285)Loïc Blot
* Modernize source code: last par * Use empty when needed * Use emplace_back instead of push_back when needed * For range-based loops * Initializers fixes * constructors, destructors default * c++ C stl includes
2017-08-17Modernize src/c* src/d* and src/e* files (#6263)Loïc Blot
* Modernize src/c* src/d* and src/e* files * default operator * redundant init * delete default constructors on CraftDefinition childs (never used) * fix some missing init values * const ref fix reported by clang-tidy * ranged-based for loops * simple conditions & returns * empty stl function instead of size * emplace_back stl function instead of push_back + construct temp obj * auto for some iterators * code style fixes * c++ stl headers instead of C stl headers (stdio.h -> cstdio)
2017-08-17C++ modernize: Pragma once (#6264)Loïc Blot
* Migrate cpp headers to pragma once
2017-06-16C++11 patchset 9: move hardcoded init parameters to class definitions (part ↵Loïc Blot
1) (#5984) * C++11 patchset 9: move hardcoded init parameters to class definitions C++11 introduced the possibility to define the default values directly in class definitions, do it on current code Also remove some unused attributes * CollisionInfo::bouncy * collisionMoveResult::collides_xy * collisionMoveResult::standing_on_unloaded * Clouds::speed * More constructor cleanups + some variables removal * remove only write guiFormSpecMenu::m_old_tooltip * move header included inside defintions in genericobject.h * remove some unused since years exception classes * remove unused & empty debug_stacks_init * remove unused & empty content_nodemeta_serialize_legacy * remove forgotten useless bool (bouncy) in collision.cpp code
2017-06-10C++11 patchset 6: forbid object copy using assigment/copy function deleters ↵Loïc Blot
(#5945) C++11 implement function deleting, it's generally used to prevent some object copy In script API use this function removal on ScriptApiBase instead of ScriptApiClient/Server/MainMenu, this affect all ScriptApis Move DISABLE_CLASS_COPY with constructor, the deleted function permit to replace function in its original place
2017-06-06Use C++11 mutexes only (remove compat code) (#5922)Loïc Blot
* Fix event LINT & remove default constructor/destructors * remove compat code & modernize autolock header
2017-06-04C++11 patchset 2: remove util/cpp11.h and util/cpp11_container.h (#5821)Loïc Blot
2017-01-09Environment & IGameDef code refactoring (#4985)Ner'zhul
* 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
2016-10-05Replace various std::map with UNORDERED_MAP + various cleanupsLoic Blot
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
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-07-03Mapgen: Refactor mapgen creation and managementkwolekr
- Move mapgen creation logic out of EmergeManager and into Mapgen - Internally represent mapgen type as an enum value, instead of a string - Remove the need for a MapgenFactory per mapgen
2016-02-09FindSpawnPos: Let mapgens decide what spawn altitude is suitableparamat
To avoid spawn search failing in new specialised mapgens Increase spawn search range to 4000 nodes Add getSpawnLevelAtPoint() functions to EmergeManager, class Mapgen and all mapgens Remove getGroundLevelAtPoint() functions from all mapgens except mgv6 (possibly to be re-added later in the correct form to return actual ground level) Make mgvalleys flag names consistent with other mapgens Remove now unused 'vertical spawn range' setting
2016-01-19EmergeManager: Do not queue duplicate block requestskwolekr
2015-10-27Add DISABLE_CLASS_COPY macro (and use it)kwolekr
Use this macro to disallow copying of an object using the assignment operator or copy constructor. This catches otherwise silent-but-deadly mistakes such as "ServerMap map = env->getMap();" at compile time. If so desired, it is still possible to copy a class, but it now requires an explicit call to memcpy or std::copy.
2015-10-04Allow setting chunksize in core.set_mapgen_paramskwolekr
2015-10-04Hide mapgens from main menu not intended for end userskwolekr
2015-10-04Add emerge completion callback mechanismkwolekr
Major refactor of emerge.cpp and Map::init/finishBlockMake
2015-09-23Add /emergeblocks command and core.emerge_area() Lua APIkwolekr
2015-08-23Clean up threadingShadowNinja
* 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.
2015-03-07Respect game mapgen flags and save world noise paramsngosang
2015-01-05Shorten ManualMapVoxelManipulator to MMVManipkwolekr
2014-12-29Mapgen: Use getBlockSeed2() for blockseeds (much better uniformity)kwolekr
2014-12-29Add core.get_mapgen_names() to Main Menu API (and use it)kwolekr
Also rewrite mapgen registration for static initialization
2014-12-29Expose mapgen parameters on scripting initkwolekr
Add minetest.get_mapgen_params() Deprecate minetest.register_on_mapgen_init()
2014-12-06Rewrite generate notification mechanismkwolekr
Add support for notify-on-decoration Clean up mapgen constructors Clean up mapgen.cpp code style somewhat Remove trailing whitespace from some files
2014-11-14Fix warnings and other misc. minor changeskwolekr
2014-11-12Add Generator Element Management frameworkkwolekr
Add BiomeManager, OreManager, DecorationManager, and SchematicManager
2014-11-01Split up mapgen.cppkwolekr
2014-02-15Add minetest.set_noiseparam_defaults() Lua APIkwolekr
2014-02-09ServerEnvironment: Remove direct dependency on EmergeManagerkwolekr
2014-02-03Huge overhaul of the entire MapgenParams systemkwolekr
MapgenParams is no longer a polymorphic class, eliminating the need for messy and bug-prone reallocations. Separation between the common and mapgen-specific parameters is now strongly defined. Mapgen parameters objects are now properly encapsulated within the proper subsystems.
2014-01-26Fix use of previously deallocated EmergeManagerkwolekr
2013-12-15Replace SimpleThread by JThread now implementing same featuressapier
2013-12-14Add map feature generation notify Lua APIkwolekr
2013-12-08EmergeManager: Fix Lua mapgen override param handlingkwolekr
2013-08-15Add virtual destructor to IBackgroundBlockEmerger to silence warningKahrl
2013-08-14Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenuKahrl
2013-06-27Add Lua on_mapgen_init callback, and minetest.set_mapgen_params APIkwolekr