summaryrefslogtreecommitdiffstats
path: root/src/Generating/Ravines.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-09 18:32:03 +0200
commitfb58ef55beddc73500029ae6c0fe08400de550d2 (patch)
tree8e36e0eba345faa98c499ac63f7bdeae5c02d9da /src/Generating/Ravines.cpp
parentInitialise m_HasTeleported in both constructors (diff)
downloadcuberite-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 '')
-rw-r--r--src/Generating/Ravines.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Generating/Ravines.cpp b/src/Generating/Ravines.cpp
index 267dcbbf9..a036cf25f 100644
--- a/src/Generating/Ravines.cpp
+++ b/src/Generating/Ravines.cpp
@@ -306,8 +306,14 @@ void cStructGenRavines::cRavine::GenerateBaseDefPoints(int a_BlockX, int a_Block
void cStructGenRavines::cRavine::RefineDefPoints(const cRavDefPoints & a_Src, cRavDefPoints & a_Dst)
{
+ if (a_Src.size() < 2)
+ {
+ // No midpoints, nothing to refine
+ return;
+ }
+
// Smoothing: for each line segment, add points on its 1/4 lengths
- 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);
cRavDefPoints::const_iterator itr = a_Src.begin() + 1;
@@ -318,7 +324,7 @@ void cStructGenRavines::cRavine::RefineDefPoints(const cRavDefPoints & a_Src, cR
int PrevR = Source.m_Radius;
int PrevT = Source.m_Top;
int PrevB = Source.m_Bottom;
- for (int i = 0; i <= Num; ++i, ++itr)
+ for (size_t i = 0; i <= Num; ++i, ++itr)
{
int dx = itr->m_BlockX - PrevX;
int dz = itr->m_BlockZ - PrevZ;