]> git.lizzy.rs Git - minetest.git/commitdiff
Fix scaled world-aligned textures being aligned inconsistently for non-normal drawtypes
authorWuzzy <wuzzy2@mail.ru>
Thu, 19 Aug 2021 18:14:04 +0000 (18:14 +0000)
committerGitHub <noreply@github.com>
Thu, 19 Aug 2021 18:14:04 +0000 (20:14 +0200)
src/client/mapblock_mesh.cpp

index 402217066c6023d2067074458353b0b4d59d04ea..03522eca9326db57e6a91f5c3f512b3ec2a5eb6c 100644 (file)
@@ -407,20 +407,20 @@ static void getNodeTextureCoords(v3f base, const v3f &scale, const v3s16 &dir, f
        if (dir.X > 0 || dir.Y != 0 || dir.Z < 0)
                base -= scale;
        if (dir == v3s16(0,0,1)) {
-               *u = -base.X - 1;
-               *v = -base.Y - 1;
+               *u = -base.X;
+               *v = -base.Y;
        } else if (dir == v3s16(0,0,-1)) {
                *u = base.X + 1;
-               *v = -base.Y - 2;
+               *v = -base.Y - 1;
        } else if (dir == v3s16(1,0,0)) {
                *u = base.Z + 1;
-               *v = -base.Y - 2;
-       } else if (dir == v3s16(-1,0,0)) {
-               *u = -base.Z - 1;
                *v = -base.Y - 1;
+       } else if (dir == v3s16(-1,0,0)) {
+               *u = -base.Z;
+               *v = -base.Y;
        } else if (dir == v3s16(0,1,0)) {
                *u = base.X + 1;
-               *v = -base.Z - 2;
+               *v = -base.Z - 1;
        } else if (dir == v3s16(0,-1,0)) {
                *u = base.X + 1;
                *v = base.Z + 1;