aboutsummaryrefslogtreecommitdiff
path: root/src/common/Collision/Maps/TileAssembler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/Collision/Maps/TileAssembler.h')
-rw-r--r--src/common/Collision/Maps/TileAssembler.h20
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;