aboutsummaryrefslogtreecommitdiff
path: root/signs_road/compatibility.lua
diff options
context:
space:
mode:
authorPierre-Yves Rollo <dev@pyrollo.com>2017-08-26 14:12:38 +0200
committerPierre-Yves Rollo <dev@pyrollo.com>2017-08-26 14:12:38 +0200
commitc179f44ba481c73158fa72d658cbd9fed046dcdd (patch)
tree48513ec25683841fad77f51a48ce91f0f47deaf9 /signs_road/compatibility.lua
parentd59c475162da02695a85ebd92a44e53129aa8be3 (diff)
downloaddisplay_modpack-c179f44ba481c73158fa72d658cbd9fed046dcdd.tar.gz
display_modpack-c179f44ba481c73158fa72d658cbd9fed046dcdd.tar.bz2
display_modpack-c179f44ba481c73158fa72d658cbd9fed046dcdd.zip
Release 2017-08-26
Diffstat (limited to 'signs_road/compatibility.lua')
-rw-r--r--signs_road/compatibility.lua58
1 files changed, 58 insertions, 0 deletions
diff --git a/signs_road/compatibility.lua b/signs_road/compatibility.lua
new file mode 100644
index 0000000..4ef25ba
--- /dev/null
+++ b/signs_road/compatibility.lua
@@ -0,0 +1,58 @@
+--[[
+ signs mod for Minetest - Various signs with text displayed on
+ (c) Pierre-Yves Rollo
+
+ This file is part of signs.
+
+ signs is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ signs is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with signs. If not, see <http://www.gnu.org/licenses/>.
+--]]
+
+-- Wallmounted to facedir conversion
+local wallmounted_to_facedir = {
+ [0]=1, -- Should not happend with signs
+ [1]=1, -- Should not happend with signs
+ [2]=1,
+ [3]=3,
+ [4]=0,
+ [5]=2
+}
+
+-- Nodes conversions
+local convert_nodes = {
+ ['signs_road:blue_street'] = 'signs_road:blue_street_sign',
+ ['signs_road:green_street'] = 'signs_road:green_street_sign',
+ ['signs_road:black_right'] = 'signs_road:black_right_sign',
+ ['signs_road:black_left'] = 'signs_road:black_left_sign',
+ ['signs_road:green_right'] = 'signs_road:green_right_sign',
+ ['signs_road:green_left'] = 'signs_road:green_left_sign'
+}
+
+local function compatibility_check(pos, node)
+ -- Old wallmounted modes to new facedir nodes conversion
+ node.name = convert_nodes[node.name]
+ if node.name then
+ node.param2 = wallmounted_to_facedir[node.param2]
+ display_lib.on_destruct(pos)
+ minetest.swap_node(pos, node)
+ display_lib.on_construct(pos)
+ end
+end
+
+minetest.register_lbm({ name = "signs_road:conpatibility_1",
+ nodenames = {'signs_road:blue_street', 'signs_road:green_street', 'signs_road:black_right',
+ 'signs_road:black_left', 'signs_road:green_right', 'signs_road:green_left'},
+ action = compatibility_check,
+})
+
+