]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/terrain.cpp
Properly round negative z coordinates for Terrain
[r2c2.git] / source / libr2c2 / terrain.cpp
index c89d0f8cf20621df2e5befa06f4d57b404c7c1c3..ccfd912a2fd65e5e1048aa5c14b759fe7382bc3c 100644 (file)
@@ -38,6 +38,8 @@ Terrain *Terrain::clone(Layout *to_layout) const
 void Terrain::set_position(const Vector &p)
 {
        position = p;
+       float eg = type.get_elevation_granularity();
+       position.z = round(position.z/eg)*eg;
        signal_moved.emit();
 }
 
@@ -63,7 +65,7 @@ void Terrain::set_size(unsigned w, unsigned h)
 
        delete shape;
        float ts = type.get_tile_size();
-       Vector dim(width*ts, height*ts, ts);
+       Vector dim(width*ts, height*ts, ts/10.0f);
        shape = new Geometry::TransformedShape<float, 3>(
                Geometry::Box<float>(dim),
                Transform::translation(dim/2.0f));