From: paramat Date: Thu, 28 Sep 2017 17:23:08 +0000 (+0100) Subject: Beds: Strip colour bits from param2 in 'get look yaw' X-Git-Tag: 5.0.0~171 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=809e5933c4bf1dd8bd8e72604948a1ca6a9cd2a3;p=oweals%2Fminetest_game.git Beds: Strip colour bits from param2 in 'get look yaw' Based on code by github user 'hdak1945git'. Fixes a crash when 'colorfacedir' param2 is used for beds. --- diff --git a/mods/beds/functions.lua b/mods/beds/functions.lua index 78df9a18..099f41fe 100644 --- a/mods/beds/functions.lua +++ b/mods/beds/functions.lua @@ -9,15 +9,18 @@ end -- Helper functions local function get_look_yaw(pos) - local n = minetest.get_node(pos) - if n.param2 == 1 then - return pi / 2, n.param2 - elseif n.param2 == 3 then - return -pi / 2, n.param2 - elseif n.param2 == 0 then - return pi, n.param2 + local rotation = minetest.get_node(pos).param2 + if rotation > 3 then + rotation = rotation % 4 -- Mask colorfacedir values + end + if rotation == 1 then + return pi / 2, rotation + elseif rotation == 3 then + return -pi / 2, rotation + elseif rotation == 0 then + return pi, rotation else - return 0, n.param2 + return 0, rotation end end