summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthetaepsilon-gamedev <thetaepsilon-gamedev@noreply.users.github.com>2017-11-04 22:27:47 +0000
committerthetaepsilon-gamedev <thetaepsilon-gamedev@noreply.users.github.com>2017-11-04 22:27:47 +0000
commit59d9e0b97d159477762822d4cd88610cdc32b795 (patch)
treee9830a678b30a79e1a494d5cfd0cde5e8e68ec7b
parentee0c276900dd6c15fac3ed21247f31982c206053 (diff)
downloadpipeworks-59d9e0b97d159477762822d4cd88610cdc32b795.tar
pipeworks-59d9e0b97d159477762822d4cd88610cdc32b795.tar.gz
pipeworks-59d9e0b97d159477762822d4cd88610cdc32b795.tar.bz2
pipeworks-59d9e0b97d159477762822d4cd88610cdc32b795.tar.xz
pipeworks-59d9e0b97d159477762822d4cd88610cdc32b795.zip
pressure logic: detect vertical orientation for horizontal rotating flowables
-rw-r--r--pressure_logic/flowable_node_registry_install.lua10
1 files changed, 8 insertions, 2 deletions
diff --git a/pressure_logic/flowable_node_registry_install.lua b/pressure_logic/flowable_node_registry_install.lua
index 5cf1941..0ad00a6 100644
--- a/pressure_logic/flowable_node_registry_install.lua
+++ b/pressure_logic/flowable_node_registry_install.lua
@@ -67,8 +67,8 @@ register.directional_vertical_fixed = function(nodename, topside)
end
-- register a node as a directional flowable whose accepting sides depends upon param2 rotation.
--- used for entry panels, valves, flow sensors and spigots,
--- whose facing axis is always upwards and can only rotate horizontally.
+-- used for entry panels, valves, flow sensors and spigots.
+-- this is mostly for legacy reasons and SHOULD NOT BE USED IN NEW CODE.
register.directional_horizonal_rotate = function(nodename, doubleended)
local rotations = {
{x= 0,y= 0,z= 1},
@@ -79,6 +79,12 @@ register.directional_horizonal_rotate = function(nodename, doubleended)
local getends = function(node)
--local dname = "horizontal rotate getends() "
local param2 = node.param2
+ -- the pipeworks nodes use a fixed value for vertical facing nodes
+ -- if that is detected, just return that directly.
+ if param2 == 17 then
+ return {{x=0,y=1,z=0}, {x=0,y=-1,z=0}}
+ end
+
-- the sole end of the spigot points in the direction the rotation bits suggest
-- also note to self: lua arrays start at one...
local mainend = (param2 % 4) + 1