X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fmapsector.h;h=dac4ee8d634992d55d933b63e7d587e4b2863bcd;hb=58e6d25e033c76dc91aaac18fdeda92ac23fe0e1;hp=44f45d8f03ec98fd971307ef44d2510f2392955a;hpb=af05e4b2defde537f3b953a7dae0ef44fae225aa;p=oweals%2Fminetest.git diff --git a/src/mapsector.h b/src/mapsector.h index 44f45d8f0..dac4ee8d6 100644 --- a/src/mapsector.h +++ b/src/mapsector.h @@ -1,36 +1,34 @@ /* -Minetest-c55 -Copyright (C) 2010 celeron55, Perttu Ahola +Minetest +Copyright (C) 2013 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. +GNU Lesser General Public License for more details. -You should have received a copy of the GNU General Public License along +You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -/* -(c) 2010 Perttu Ahola -*/ - #ifndef MAPSECTOR_HEADER #define MAPSECTOR_HEADER -#include -#include "common_irrlicht.h" -#include "exceptions.h" +#include "irrlichttypes.h" +#include "irr_v2d.h" #include +#include +#include class MapBlock; class Map; +class IGameDef; /* This is an Y-wise stack of MapBlocks. @@ -43,7 +41,7 @@ class MapSector { public: - MapSector(Map *parent, v2s16 pos); + MapSector(Map *parent, v2s16 pos, IGameDef *gamedef); virtual ~MapSector(); virtual u32 getId() const = 0; @@ -63,7 +61,7 @@ public: void deleteBlock(MapBlock *block); - void getBlocks(core::list &dest); + void getBlocks(std::list &dest); // Always false at the moment, because sector contains no metadata. bool differs_from_disk; @@ -71,12 +69,14 @@ public: 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 MapBlock *m_block_cache; @@ -92,7 +92,7 @@ protected: class ServerMapSector : public MapSector { public: - ServerMapSector(Map *parent, v2s16 pos); + ServerMapSector(Map *parent, v2s16 pos, IGameDef *gamedef); ~ServerMapSector(); u32 getId() const @@ -111,7 +111,8 @@ public: std::istream &is, Map *parent, v2s16 p2d, - core::map & sectors + std::map & sectors, + IGameDef *gamedef ); private: @@ -121,7 +122,7 @@ private: class ClientMapSector : public MapSector { public: - ClientMapSector(Map *parent, v2s16 pos); + ClientMapSector(Map *parent, v2s16 pos, IGameDef *gamedef); ~ClientMapSector(); u32 getId() const