From 704782c95b8a4194a9383da55d93f37fd0f7278f Mon Sep 17 00:00:00 2001 From: Kahrl Date: Mon, 19 Mar 2012 01:08:04 +0100 Subject: WIP node metadata, node timers --- src/map.cpp | 50 +++----------------------------------------------- 1 file changed, 3 insertions(+), 47 deletions(-) (limited to 'src/map.cpp') diff --git a/src/map.cpp b/src/map.cpp index c49c29074..c981567ae 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -1015,21 +1015,6 @@ void Map::addNodeAndUpdate(v3s16 p, MapNode n, setNode(p, n); - /* - Add intial metadata - */ - - std::string metadata_name = nodemgr->get(n).metadata_name; - if(metadata_name != ""){ - NodeMetadata *meta = NodeMetadata::create(metadata_name, m_gamedef); - if(!meta){ - errorstream<<"Failed to create node metadata \"" - <m_node_metadata->get(p_rel); + NodeMetadata *meta = block->m_node_metadata.get(p_rel); return meta; } @@ -1873,7 +1858,7 @@ void Map::setNodeMetadata(v3s16 p, NodeMetadata *meta) <m_node_metadata->set(p_rel, meta); + block->m_node_metadata.set(p_rel, meta); } void Map::removeNodeMetadata(v3s16 p) @@ -1887,36 +1872,7 @@ void Map::removeNodeMetadata(v3s16 p) <m_node_metadata->remove(p_rel); -} - -void Map::nodeMetadataStep(float dtime, - core::map &changed_blocks) -{ - /* - NOTE: - Currently there is no way to ensure that all the necessary - blocks are loaded when this is run. (They might get unloaded) - NOTE: ^- Actually, that might not be so. In a quick test it - reloaded a block with a furnace when I walked back to it from - a distance. - */ - core::map::Iterator si; - si = m_sectors.getIterator(); - for(; si.atEnd() == false; si++) - { - MapSector *sector = si.getNode()->getValue(); - core::list< MapBlock * > sectorblocks; - sector->getBlocks(sectorblocks); - core::list< MapBlock * >::Iterator i; - for(i=sectorblocks.begin(); i!=sectorblocks.end(); i++) - { - MapBlock *block = *i; - bool changed = block->m_node_metadata->step(dtime); - if(changed) - changed_blocks[block->getPos()] = block; - } - } + block->m_node_metadata.remove(p_rel); } /* -- cgit v1.2.3