]> git.lizzy.rs Git - minetest.git/blobdiff - src/mapsector.cpp
Annotate light spread functions with comments
[minetest.git] / src / mapsector.cpp
index 9ce3c8eb321666204a3a288fe1e9701c2eccd132..3eefa5410796ac5da4a805e98525116735c99b32 100644 (file)
@@ -23,11 +23,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "serialization.h"
 
 MapSector::MapSector(Map *parent, v2s16 pos, IGameDef *gamedef):
-               differs_from_disk(false),
                m_parent(parent),
                m_pos(pos),
-               m_gamedef(gamedef),
-               m_block_cache(NULL)
+               m_gamedef(gamedef)
 {
 }
 
@@ -39,13 +37,11 @@ MapSector::~MapSector()
 void MapSector::deleteBlocks()
 {
        // Clear cache
-       m_block_cache = NULL;
+       m_block_cache = nullptr;
 
        // Delete all
-       for(std::map<s16, MapBlock*>::iterator i = m_blocks.begin();
-               i != m_blocks.end(); ++i)
-       {
-               delete i->second;
+       for (auto &block : m_blocks) {
+               delete block.second;
        }
 
        // Clear container
@@ -56,20 +52,13 @@ MapBlock * MapSector::getBlockBuffered(s16 y)
 {
        MapBlock *block;
 
-       if(m_block_cache != NULL && y == m_block_cache_y){
+       if (m_block_cache && y == m_block_cache_y) {
                return m_block_cache;
        }
 
        // If block doesn't exist, return NULL
-       std::map<s16, MapBlock*>::iterator n = m_blocks.find(y);
-       if(n == m_blocks.end())
-       {
-               block = NULL;
-       }
-       // If block exists, return it
-       else{
-               block = n->second;
-       }
+       std::unordered_map<s16, MapBlock*>::const_iterator n = m_blocks.find(y);
+       block = (n != m_blocks.end() ? n->second : nullptr);
 
        // Cache the last result
        m_block_cache_y = y;
@@ -108,7 +97,7 @@ void MapSector::insertBlock(MapBlock *block)
        s16 block_y = block->getPos().Y;
 
        MapBlock *block2 = getBlockBuffered(block_y);
-       if(block2 != NULL){
+       if (block2) {
                throw AlreadyExistsException("Block already exists");
        }
 
@@ -124,7 +113,7 @@ void MapSector::deleteBlock(MapBlock *block)
        s16 block_y = block->getPos().Y;
 
        // Clear from cache
-       m_block_cache = NULL;
+       m_block_cache = nullptr;
 
        // Remove from container
        m_blocks.erase(block_y);
@@ -135,128 +124,7 @@ void MapSector::deleteBlock(MapBlock *block)
 
 void MapSector::getBlocks(MapBlockVect &dest)
 {
-       for(std::map<s16, MapBlock*>::iterator bi = m_blocks.begin();
-               bi != m_blocks.end(); ++bi)
-       {
-               dest.push_back(bi->second);
-       }
-}
-
-bool MapSector::empty()
-{
-       return m_blocks.empty();
-}
-
-/*
-       ServerMapSector
-*/
-
-ServerMapSector::ServerMapSector(Map *parent, v2s16 pos, IGameDef *gamedef):
-               MapSector(parent, pos, gamedef)
-{
-}
-
-ServerMapSector::~ServerMapSector()
-{
-}
-
-void ServerMapSector::serialize(std::ostream &os, u8 version)
-{
-       if(!ser_ver_supported(version))
-               throw VersionMismatchException("ERROR: MapSector format not supported");
-
-       /*
-               [0] u8 serialization version
-               + heightmap data
-       */
-
-       // Server has both of these, no need to support not having them.
-       //assert(m_objects != NULL);
-
-       // Write version
-       os.write((char*)&version, 1);
-
-       /*
-               Add stuff here, if needed
-       */
-
-}
-
-ServerMapSector* ServerMapSector::deSerialize(
-               std::istream &is,
-               Map *parent,
-               v2s16 p2d,
-               std::map<v2s16, MapSector*> & sectors,
-               IGameDef *gamedef
-       )
-{
-       /*
-               [0] u8 serialization version
-               + heightmap data
-       */
-
-       /*
-               Read stuff
-       */
-
-       // Read version
-       u8 version = SER_FMT_VER_INVALID;
-       is.read((char*)&version, 1);
-
-       if(!ser_ver_supported(version))
-               throw VersionMismatchException("ERROR: MapSector format not supported");
-
-       /*
-               Add necessary reading stuff here
-       */
-
-       /*
-               Get or create sector
-       */
-
-       ServerMapSector *sector = NULL;
-
-       std::map<v2s16, MapSector*>::iterator n = sectors.find(p2d);
-
-       if(n != sectors.end())
-       {
-               dstream<<"WARNING: deSerializing existent sectors not supported "
-                               "at the moment, because code hasn't been tested."
-                               <<std::endl;
-
-               MapSector *sector = n->second;
-               assert(sector->getId() == MAPSECTOR_SERVER);
-               return (ServerMapSector*)sector;
+       for (auto &block : m_blocks) {
+               dest.push_back(block.second);
        }
-       else
-       {
-               sector = new ServerMapSector(parent, p2d, gamedef);
-               sectors[p2d] = sector;
-       }
-
-       /*
-               Set stuff in sector
-       */
-
-       // Nothing here
-
-       return sector;
-}
-
-#ifndef SERVER
-/*
-       ClientMapSector
-*/
-
-ClientMapSector::ClientMapSector(Map *parent, v2s16 pos, IGameDef *gamedef):
-               MapSector(parent, pos, gamedef)
-{
-}
-
-ClientMapSector::~ClientMapSector()
-{
 }
-
-#endif // !SERVER
-
-//END