| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Fix some reference counters (memleak)
Map::dispatchEvent: Allocation safety using references
|
|
|
| |
Finish getNode cleanup
|
|
|
|
|
|
| |
I removed the MapNode constructor which takes a nodename and gives the node's id or CONTENT_IGNORE
The code which used this constructor (two places) now handles the situation of not registered nodes correctly:
* minetest.set_node and similar functions make minetest crash when a not registered node is passed
* reverting a node with rollback aborts if the node is not registered
|
|
|
|
|
|
|
| |
Includes newer style changes and fixes by est31
Improve the block position de-serialization
Add type NodeMetadataMap
|
|
|
|
|
|
|
|
|
| |
* Rename IWritableNodeDefManager to NodeDefManager
* Make INodeDefManager functions const
* Use "const *NodeDefManager" instead of "*INodeDefManager"
* Remove unused INodeDefManager class
* Merge NodeDefManager and CNodeDefManager
* Document NodeDefManager
|
|
|
|
| |
* Private node metadata that isn't sent to the client
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Some performance optimizations
This is globally removing some memory useless copy
* use a const ref return on std::string Settings::get to prevent data copy on getters which doesn't need to copy it
* pass some stack created strings to static const as they are not modified anywhere
* Camera: return nametags per const ref instead of a list pointer, we only need to read it
* INodeDefManager: getAll should be a result ref writer instead of a return copy
* INodeDefManager: getAlias should return a const std::string ref
* Minimap: unroll a Scolor creation in blitMinimapPixersToImageRadar to prvent many variable construct/destruct which are unneeded (we rewrite the content in the loop)
* CNodeDefManager::updateAliases: prevent a idef getall copy
* Profiler: constness
* rollback_interface: create real_name later, and use const ref
* MapBlockMesh updateFastFaceRow: unroll TileSpec next_tile, which has a cost of 1.8% CPU due to variable allocation/destruction,
* MapBlockMesh updateFastFaceRow: copy next_tile to tile only if it's a different tilespec
* MapBlockMesh updateFastFaceRow: use memcpy to copy next_lights to lights to do it in a single cpu operation
|
|
|
|
| |
Instead of redefining them everywhere.
|
|
|
|
|
|
|
|
|
|
| |
-> Don't pass pointer to whole IGameDef to NodeMetadata constructors
and deserializers, but only to IItemDefManager, which is needed
-> Remove the unused content_mapnode_get_new_name() method
-> Fix style for MapBlock::deSerialize and MapBlock::deSerialize_pre22,
improving accuracy of error messages a bit
-> Fix style at other serialisation methods too
-> Improve accuracy of some comments
|
| |
|
|
|
|
|
| |
This improves performance of MapBlock::raiseModified by a factor of 6.
Also, clean up mapblock.h a bit and inline small functions.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|