diff options
author | Piotr Dziwinski <piotrdz@gmail.com> | 2013-11-03 13:04:57 +0100 |
---|---|---|
committer | Piotr Dziwinski <piotrdz@gmail.com> | 2013-11-03 13:04:57 +0100 |
commit | f1c5cd5f82d33d5db5033ea28e1d24a13b2e28a2 (patch) | |
tree | b9e7e75a2138875ffed59772a2a1c7cf82b7aaa4 /src/graphics/engine/terrain.cpp | |
parent | ec38c14ee8293b2dc7436e0c06b0c294652c84cc (diff) | |
parent | d8e50e4eeb2dde3e0d228e2bead29d73494f8874 (diff) | |
download | colobot-f1c5cd5f82d33d5db5033ea28e1d24a13b2e28a2.tar.gz colobot-f1c5cd5f82d33d5db5033ea28e1d24a13b2e28a2.tar.bz2 colobot-f1c5cd5f82d33d5db5033ea28e1d24a13b2e28a2.zip |
Colobot Gold 0.1.1-alpha
Diffstat (limited to 'src/graphics/engine/terrain.cpp')
-rw-r--r-- | src/graphics/engine/terrain.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/graphics/engine/terrain.cpp b/src/graphics/engine/terrain.cpp index 4fe3057..4b5384e 100644 --- a/src/graphics/engine/terrain.cpp +++ b/src/graphics/engine/terrain.cpp @@ -90,7 +90,7 @@ bool CTerrain::Generate(int mosaicCount, int brickCountPow2, float brickSize, std::vector<int>(dim).swap(m_textures); dim = m_mosaicCount*m_mosaicCount; - std::vector<int>(dim).swap(m_objRanks); + std::vector<int>(dim, -1).swap(m_objRanks); return true; } @@ -258,6 +258,23 @@ TerrainRes CTerrain::GetResource(const Math::Vector &p) void CTerrain::FlushRelief() { m_relief.clear(); + m_resources.clear(); + m_textures.clear(); + + for (int objRank : m_objRanks) + { + if (objRank == -1) + continue; + + int baseObjRank = m_engine->GetObjectBaseRank(objRank); + + if (baseObjRank != -1) + m_engine->DeleteBaseObject(baseObjRank); + + m_engine->DeleteObject(objRank); + } + + m_objRanks.clear(); } /** |