summaryrefslogtreecommitdiffstats
path: root/src/Generating/Caves.cpp
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2014-05-08 20:16:35 +0200
committerMattes D <github@xoft.cz>2014-05-08 20:16:35 +0200
commitc4ea25e136026004526a63516cbed498e2b6fabe (patch)
tree41545a10b134ea1fc6e58913fc71c4695cdc8297 /src/Generating/Caves.cpp
parentMerge pull request #989 from Howaner/Anvil (diff)
downloadcuberite-c4ea25e136026004526a63516cbed498e2b6fabe.tar
cuberite-c4ea25e136026004526a63516cbed498e2b6fabe.tar.gz
cuberite-c4ea25e136026004526a63516cbed498e2b6fabe.tar.bz2
cuberite-c4ea25e136026004526a63516cbed498e2b6fabe.tar.lz
cuberite-c4ea25e136026004526a63516cbed498e2b6fabe.tar.xz
cuberite-c4ea25e136026004526a63516cbed498e2b6fabe.tar.zst
cuberite-c4ea25e136026004526a63516cbed498e2b6fabe.zip
Diffstat (limited to '')
-rw-r--r--src/Generating/Caves.cpp10
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;