aboutsummaryrefslogtreecommitdiff
path: root/signs_road/compatibility.lua
diff options
context:
space:
mode:
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,
+})
+
+