From da0f1e5497c7dece9ff5092adfb5881b0dd2e10c Mon Sep 17 00:00:00 2001 From: ShadowNinja Date: Wed, 19 Nov 2014 16:17:54 -0500 Subject: [PATCH] Fix wallmounted mesh rotations --- src/content_mapblock.cpp | 4 ++-- src/nodedef.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content_mapblock.cpp b/src/content_mapblock.cpp index 9f0d8aa5f..2584c0779 100644 --- a/src/content_mapblock.cpp +++ b/src/content_mapblock.cpp @@ -1731,9 +1731,9 @@ void mapblock_mesh_generate_special(MeshMakeData *data, } else if (f.param_type_2 == CPT2_WALLMOUNTED) { //convert wallmounted to 6dfacedir. //when cache enabled, it is already converted - facedir = n.getWallMounted(nodedef); + facedir = n.getWallMounted(nodedef); if (!enable_mesh_cache) { - static const u8 wm_to_6d[6] = {20, 0, 16, 12, 8, 4}; + static const u8 wm_to_6d[6] = {20, 0, 16+1, 12+3, 8, 4+2}; facedir = wm_to_6d[facedir]; } } diff --git a/src/nodedef.cpp b/src/nodedef.cpp index 7dbaaee9c..51e71a052 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -879,7 +879,7 @@ void CNodeDefManager::updateTextures(IGameDef *gamedef) meshmanip->recalculateNormals(f->mesh_ptr[j], true, false); } } else if (enable_mesh_cache && f->mesh_ptr[0] && (f->param_type_2 == CPT2_WALLMOUNTED)) { - static const u8 wm_to_6d[6] = {20, 0, 16, 12, 8, 4}; + static const u8 wm_to_6d[6] = {20, 0, 16+1, 12+3, 8, 4+2}; for (u16 j = 1; j < 6; j++) { f->mesh_ptr[j] = cloneMesh(f->mesh_ptr[0]); rotateMeshBy6dFacedir(f->mesh_ptr[j], wm_to_6d[j]);