Treegen: Improve use of signed vs. unsigned integers
authorparamat <mat.gregory@virginmedia.com>
Sun, 10 Jul 2016 15:03:53 +0000 (16:03 +0100)
committerparamat <mat.gregory@virginmedia.com>
Tue, 12 Jul 2016 19:22:26 +0000 (20:22 +0100)
To fix GCC 6.1.1 compilation warning:
'assuming signed overflow does not occur when assuming
that (X - c) > X is always false'

src/treegen.cpp

index 36d387c577cb330761d559d6339971fdf9745676..f37bf0e869b49c7c41ac379f41682df6803e8c60 100644 (file)
@@ -770,9 +770,9 @@ void make_pine_tree(MMVManip &vmanip, v3s16 p0, INodeDefManager *ndef, s32 seed)
        MapNode snownode(c_snow);
 
        PseudoRandom pr(seed);
-       s16 trunk_h = pr.range(9, 13);
+       u16 trunk_h = pr.range(9, 13);
        v3s16 p1 = p0;
-       for (s16 ii = 0; ii < trunk_h; ii++) {
+       for (u16 ii = 0; ii < trunk_h; ii++) {
                if (vmanip.m_area.contains(p1)) {
                        u32 vi = vmanip.m_area.index(p1);
                        vmanip.m_data[vi] = treenode;
@@ -790,7 +790,7 @@ void make_pine_tree(MMVManip &vmanip, v3s16 p0, INodeDefManager *ndef, s32 seed)
                leaves_d[i] = 0;
 
        // Upper branches
-       s16 dev = 3;
+       u16 dev = 3;
        for (s16 yy = -1; yy <= 1; yy++) {
                for (s16 zz = -dev; zz <= dev; zz++) {
                        u32 i = leaves_a.index(v3s16(-dev, yy, zz));