diff options
author | Mattes D <github@xoft.cz> | 2014-05-08 20:16:35 +0200 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-05-09 18:32:03 +0200 |
commit | fb58ef55beddc73500029ae6c0fe08400de550d2 (patch) | |
tree | 8e36e0eba345faa98c499ac63f7bdeae5c02d9da /src/Generating/Caves.cpp | |
parent | Initialise m_HasTeleported in both constructors (diff) | |
download | cuberite-fb58ef55beddc73500029ae6c0fe08400de550d2.tar cuberite-fb58ef55beddc73500029ae6c0fe08400de550d2.tar.gz cuberite-fb58ef55beddc73500029ae6c0fe08400de550d2.tar.bz2 cuberite-fb58ef55beddc73500029ae6c0fe08400de550d2.tar.lz cuberite-fb58ef55beddc73500029ae6c0fe08400de550d2.tar.xz cuberite-fb58ef55beddc73500029ae6c0fe08400de550d2.tar.zst cuberite-fb58ef55beddc73500029ae6c0fe08400de550d2.zip |
Diffstat (limited to 'src/Generating/Caves.cpp')
-rw-r--r-- | src/Generating/Caves.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Generating/Caves.cpp b/src/Generating/Caves.cpp index 5cad11d2a..6df22a14a 100644 --- a/src/Generating/Caves.cpp +++ b/src/Generating/Caves.cpp @@ -239,9 +239,15 @@ void cCaveTunnel::Randomize(cNoise & a_Noise) bool cCaveTunnel::RefineDefPoints(const cCaveDefPoints & a_Src, cCaveDefPoints & a_Dst) { + if (a_Src.size() < 2) + { + // There are no midpoints, nothing to smooth + return true; + } + // Smoothing: for each line segment, add points on its 1/4 lengths bool res = false; - int Num = a_Src.size() - 2; // this many intermediary points + size_t Num = a_Src.size() - 2; // this many intermediary points a_Dst.clear(); a_Dst.reserve(Num * 2 + 2); cCaveDefPoints::const_iterator itr = a_Src.begin() + 1; @@ -251,7 +257,7 @@ bool cCaveTunnel::RefineDefPoints(const cCaveDefPoints & a_Src, cCaveDefPoints & int PrevY = Source.m_BlockY; int PrevZ = Source.m_BlockZ; int PrevR = Source.m_Radius; - for (int i = 0; i <= Num; ++i, ++itr) + for (size_t i = 0; i <= Num; ++i, ++itr) { int dx = itr->m_BlockX - PrevX; int dy = itr->m_BlockY - PrevY; |