#pragma once #include "parser/Doodad/DoodadInstance.hpp" #include "parser/Wmo/WmoInstance.hpp" #include "utility/BoundingBox.hpp" #include #include #include #include namespace parser { struct AdtChunk { bool m_holeMap[8][8]; float m_heights[9 * 9 + 8 * 8]; std::vector m_terrainVertices; std::vector m_terrainIndices; std::vector m_liquidVertices; std::vector m_liquidIndices; std::vector m_wmoInstances; std::vector m_doodadInstances; std::uint32_t m_areaId; std::uint32_t m_zoneId; float m_minZ; float m_maxZ; }; class Map; class Adt { private: std::unique_ptr m_chunks[16][16]; Map* const m_map; public: const int X; const int Y; math::BoundingBox Bounds; Adt(Map* map, int x, int y); const AdtChunk* GetChunk(int chunkX, int chunkY) const; }; } // namespace parser