From: kwolekr Date: Mon, 8 Jul 2013 22:50:29 +0000 (-0400) Subject: Fix wallmounted rotations along Y axis for 90 and 270 degree cases X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=fca4610f11748814b41b068e14a875b4cdeb6bd4;p=zefram%2Fminetest%2Fminetest_engine.git Fix wallmounted rotations along Y axis for 90 and 270 degree cases --- diff --git a/src/mapnode.cpp b/src/mapnode.cpp index 388818c4..f9323118 100644 --- a/src/mapnode.cpp +++ b/src/mapnode.cpp @@ -31,6 +31,7 @@ with this program; if not, write to the Free Software Foundation, Inc., static const Rotation wallmounted_to_rot[] = { ROTATE_0, ROTATE_180, ROTATE_90, ROTATE_270 }; + static const u8 rot_to_wallmounted[] = { 2, 4, 3, 5 }; @@ -154,7 +155,7 @@ void MapNode::rotateAlongYAxis(INodeDefManager *nodemgr, Rotation rot) { Rotation oldrot = wallmounted_to_rot[wmountface - 2]; param2 &= ~7; - param2 |= rot_to_wallmounted[(oldrot + rot) & 3]; + param2 |= rot_to_wallmounted[(oldrot - rot) & 3]; } }