diff options
Diffstat (limited to 'src/common/Collision/Maps/TileAssembler.h')
-rw-r--r-- | src/common/Collision/Maps/TileAssembler.h | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/common/Collision/Maps/TileAssembler.h b/src/common/Collision/Maps/TileAssembler.h index 35aa90ef9f2..d7b48924d43 100644 --- a/src/common/Collision/Maps/TileAssembler.h +++ b/src/common/Collision/Maps/TileAssembler.h @@ -21,6 +21,7 @@ #include <G3D/Vector3.h> #include <G3D/Matrix3.h> +#include <deque> #include <map> #include <set> @@ -54,20 +55,26 @@ namespace VMAP struct TileSpawn { + TileSpawn() : Id(0), Flags(0) { } + TileSpawn(uint32 id, uint32 flags) : Id(id), Flags(flags) { } + uint32 Id; uint32 Flags; - }; - typedef std::map<uint32, ModelSpawn> UniqueEntryMap; - typedef std::multimap<uint32, TileSpawn> TileMap; + bool operator<(TileSpawn const& right) const { return Id < right.Id; } + }; struct TC_COMMON_API MapSpawns { - UniqueEntryMap UniqueEntries; - TileMap TileEntries; + MapSpawns() { } + + uint32 MapId; + std::map<uint32, ModelSpawn> UniqueEntries; + std::map<uint32 /*packedTileId*/, std::set<TileSpawn>> TileEntries; + std::map<uint32 /*packedTileId*/, std::set<TileSpawn>> ParentTileEntries; }; - typedef std::map<uint32, MapSpawns*> MapData; + typedef std::deque<MapSpawns> MapData; //=============================================== struct TC_COMMON_API GroupModel_Raw @@ -101,7 +108,6 @@ namespace VMAP private: std::string iDestDir; std::string iSrcDir; - G3D::Table<std::string, unsigned int > iUniqueNameIds; MapData mapData; std::set<std::string> spawnedModelFiles; |