X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fterrain.cpp;h=502a8c7e5a24e4b1eeba8da56ad26628245e3456;hb=ab0e6fa3442459d0a299ef90618ab6886d075057;hp=072a6e5a26b322066e2818873dd6b8b026332b25;hpb=3553ca7e70942fe3f5a534a4e27a6ae2dc82e0fe;p=r2c2.git diff --git a/source/libr2c2/terrain.cpp b/source/libr2c2/terrain.cpp index 072a6e5..502a8c7 100644 --- a/source/libr2c2/terrain.cpp +++ b/source/libr2c2/terrain.cpp @@ -189,7 +189,12 @@ Terrain::Tile::Tile(): void Terrain::Tile::set_node_elevation(unsigned i, float e) { nodes[i].elevation = e; - secondary_axis = ((nodes[1].elevation+nodes[2].elevation) < (nodes[0].elevation+nodes[3].elevation)); + update_axis(); +} + +void Terrain::Tile::update_axis() +{ + secondary_axis = (abs(nodes[1].elevation-nodes[2].elevation) < abs(nodes[0].elevation-nodes[3].elevation)); } void Terrain::Tile::save(list &st) const @@ -262,6 +267,7 @@ void Terrain::Loader::tile() Tile &t = obj.tiles[next_tile]; Tile::Loader ldr(obj, t); load_sub_with(ldr); + t.update_axis(); unsigned x = next_tile%obj.width; unsigned y = next_tile/obj.width; ++next_tile;