aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/lua_api.txt5
-rw-r--r--src/client/content_mapblock.cpp22
2 files changed, 19 insertions, 8 deletions
diff --git a/doc/lua_api.txt b/doc/lua_api.txt
index 0b12913d5..b06e08548 100644
--- a/doc/lua_api.txt
+++ b/doc/lua_api.txt
@@ -6569,8 +6569,9 @@ Used by `minetest.register_node`.
-- Supported for drawtypes "plantlike", "signlike", "torchlike",
-- "firelike", "mesh".
-- For plantlike and firelike, the image will start at the bottom of the
- -- node, for the other drawtypes the image will be centered on the node.
- -- Note that positioning for "torchlike" may still change.
+ -- node. For torchlike, the image will start at the surface to which the
+ -- node "attaches". For the other drawtypes the image will be centered
+ -- on the node.
tiles = {tile definition 1, def2, def3, def4, def5, def6},
-- Textures of node; +Y, -Y, +X, -X, +Z, -Z
diff --git a/src/client/content_mapblock.cpp b/src/client/content_mapblock.cpp
index 4a0df6171..5be0caf19 100644
--- a/src/client/content_mapblock.cpp
+++ b/src/client/content_mapblock.cpp
@@ -860,17 +860,27 @@ void MapblockMeshGenerator::drawTorchlikeNode()
for (v3f &vertex : vertices) {
switch (wall) {
case DWM_YP:
- vertex.rotateXZBy(-45); break;
+ vertex.Y += -size + BS/2;
+ vertex.rotateXZBy(-45);
+ break;
case DWM_YN:
- vertex.rotateXZBy( 45); break;
+ vertex.Y += size - BS/2;
+ vertex.rotateXZBy(45);
+ break;
case DWM_XP:
- vertex.rotateXZBy( 0); break;
+ vertex.X += -size + BS/2;
+ break;
case DWM_XN:
- vertex.rotateXZBy(180); break;
+ vertex.X += -size + BS/2;
+ vertex.rotateXZBy(180);
+ break;
case DWM_ZP:
- vertex.rotateXZBy( 90); break;
+ vertex.X += -size + BS/2;
+ vertex.rotateXZBy(90);
+ break;
case DWM_ZN:
- vertex.rotateXZBy(-90); break;
+ vertex.X += -size + BS/2;
+ vertex.rotateXZBy(-90);
}
}
drawQuad(vertices);