X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fmapsector.h;h=4c1ce86a3ac6077412f58ed7546e42a478539873;hb=8658c8d9b5f30dc952eed29a19d619de9210474c;hp=88fc76b571974a1e6cce5d6d1ef7da2861da15ea;hpb=22e186b4aa88b585e71500c4e9a03bf69b0b6191;p=minetest.git diff --git a/src/mapsector.h b/src/mapsector.h index 88fc76b57..4c1ce86a3 100644 --- a/src/mapsector.h +++ b/src/mapsector.h @@ -20,12 +20,13 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifndef MAPSECTOR_HEADER #define MAPSECTOR_HEADER -#include -#include "irrlichttypes_bloated.h" -#include "exceptions.h" +#include "irrlichttypes.h" +#include "irr_v2d.h" +#include "mapblock.h" #include +#include +#include -class MapBlock; class Map; class IGameDef; @@ -39,7 +40,7 @@ class IGameDef; class MapSector { public: - + MapSector(Map *parent, v2s16 pos, IGameDef *gamedef); virtual ~MapSector(); @@ -57,30 +58,32 @@ class MapSector MapBlock * createBlankBlock(s16 y); void insertBlock(MapBlock *block); - + void deleteBlock(MapBlock *block); - - void getBlocks(core::list &dest); - + + void getBlocks(MapBlockVect &dest); + + bool empty(); + // Always false at the moment, because sector contains no metadata. bool differs_from_disk; protected: - + // The pile of MapBlocks - core::map m_blocks; + std::map m_blocks; Map *m_parent; // Position on parent (in MapBlock widths) v2s16 m_pos; IGameDef *m_gamedef; - + // Last-used block is cached here for quicker access. - // Be sure to set this to NULL when the cached block is deleted + // Be sure to set this to NULL when the cached block is deleted MapBlock *m_block_cache; s16 m_block_cache_y; - + /* Private methods */ @@ -93,7 +96,7 @@ class ServerMapSector : public MapSector public: ServerMapSector(Map *parent, v2s16 pos, IGameDef *gamedef); ~ServerMapSector(); - + u32 getId() const { return MAPSECTOR_SERVER; @@ -105,15 +108,15 @@ class ServerMapSector : public MapSector */ void serialize(std::ostream &os, u8 version); - + static ServerMapSector* deSerialize( std::istream &is, Map *parent, v2s16 p2d, - core::map & sectors, + std::map & sectors, IGameDef *gamedef ); - + private: }; @@ -123,7 +126,7 @@ class ClientMapSector : public MapSector public: ClientMapSector(Map *parent, v2s16 pos, IGameDef *gamedef); ~ClientMapSector(); - + u32 getId() const { return MAPSECTOR_CLIENT; @@ -132,6 +135,6 @@ class ClientMapSector : public MapSector private: }; #endif - + #endif