Commit Graph

719 Commits

Author SHA1 Message Date
thetaepsilon-gamedev
97522b6a24 item_transport.lua: update return statements in go_next() to include multimode parameter 2017-12-19 18:38:02 +00:00
thetaepsilon-gamedev
755dd26208 item_transport.lua: move tube limit checking before can_go() callback in go_next() 2017-12-19 18:17:22 +00:00
thetaepsilon-gamedev
56362cdd2a item_transport.lua: factor out tube overload code into separate function 2017-12-18 23:07:40 +00:00
thetaepsilon-gamedev
28a3ba44d1 item_transport.lua: initial support in item luaentity for multiple outputs and trajectories from go_next() 2017-12-18 22:38:24 +00:00
thetaepsilon-gamedev
d659cb38b3 item_transport.lua: read extra multimode parameter from go_next callback 2017-12-18 22:07:53 +00:00
Vanessa Ezekowitz
8fa259c93f remove regular pipe inventory image 2017-11-11 00:22:52 -05:00
Vanessa Ezekowitz
8db1f02bca add craft recipe for straight-only pipe 2017-11-11 00:22:52 -05:00
thetaepsilon-gamedev
59d9e0b97d pressure logic: detect vertical orientation for horizontal rotating flowables 2017-11-04 22:27:47 +00:00
Vanessa Ezekowitz
ee0c276900 added straight-only pipe
(for situations where one might want to run
several closely-spaced parallel pipelines)

Also fixed a bug where a pipe "entry panel" would
report full of water if a pipe next to it (but not
connecting) was also full of water

Only tested under "classic" flowing logic mode.
2017-11-03 23:02:36 -04:00
Vanessa Ezekowitz
e46e2f8c45 clean-up "loaded"/"empty" images
re-UV-map the pipes that use them
2017-11-03 22:46:53 -04:00
Vanessa Ezekowitz
67b777885b Fix bad rotation of highpoly "pipe 5"
(X/Z corner with -Y junction)
2017-11-03 22:14:07 -04:00
Vanessa Ezekowitz
a2f9be258e fix bad UV mapping on high poly entry panel 2017-10-28 11:26:17 -04:00
Vanessa Ezekowitz
d71e371d17 flip pump models around (light faced the wrong way) 2017-10-28 11:05:36 -04:00
Vanessa Ezekowitz
c2bd682388 add models and textures for pressure gauge
to be implemented later
2017-10-27 20:35:37 -04:00
Vanessa Ezekowitz
82524cb448 fix bad n-gon splitting in valve handle
(high-poly model only)
2017-10-27 19:39:47 -04:00
Vanessa Ezekowitz
8ffef8e43c treat unknown node obstructing chest lid as solid
fixes #207
2017-10-27 14:49:25 -04:00
Vanessa Ezekowitz
7b167224f4 Redrew all of the not-low-poly pipe-related models
to higher quality.  Way more polys than before, but
without a measurable drop in FPS.

Also tweaked the textures for the pump and flow
sensor, and tweaked the low-poly models for them,
so that low-poly models use a different part of
the texture for the "light" on the side (allows
the higher-poly models to just put a glow there
and use a raised dome for the actual light).

Also fixed a Z-fighting issue with the grating on
the bottom of the pump (both versions)
2017-10-27 00:30:26 -04:00
Vanessa Ezekowitz
8817918a53 add low-poly mode
to enable, set pipeworks_enable_lowpoly = true in minetest.conf
2017-10-26 04:11:30 -04:00
Vanessa Ezekowitz
dfc09f3acc fix smooth shading on valve and flow sensor 2017-10-25 20:47:12 -04:00
thetaepsilon-gamedev
75978a0207 refactor pressure logic toggle to act as option enum 2017-10-20 22:46:51 +01:00
thetaepsilon-gamedev
538e33c537 init.lua: update pressure logic mode warning 2017-10-20 21:34:08 +01:00
thetaepsilon-gamedev
86fa342d85 default_settings.lua: line wrap length fixes for pressure logic toggle documentation 2017-10-19 21:51:55 +01:00
thetaepsilon-gamedev
d4b32d5fa3 default_settings.lua: document pressure logic settings 2017-10-19 21:41:04 +01:00
thetaepsilon-gamedev
4d1c8d5529 changelog: add entry for pressure logic directionality work 2017-10-19 13:46:30 +01:00
thetaepsilon-gamedev
bd172a3ca1 todo: remove item for directionality code 2017-10-19 13:43:11 +01:00
thetaepsilon-gamedev
b7714df954 devices.lua: convert spigot to single-ended horizontally rotating flowable 2017-10-19 13:41:37 +01:00
thetaepsilon-gamedev
b2b29a1737 pressure logic: rewrite callbacks for horizontal rotation flowables to support singular and double-ended devices 2017-10-19 13:35:31 +01:00
thetaepsilon-gamedev
9df0ec7edb devices.lua: convert entry panel and valve to horizontal rotation flowable class 2017-10-19 13:05:16 +01:00
thetaepsilon-gamedev
fd4bd8eadc devices.lua: make flow sensor use the horizontally rotating flowable class 2017-10-19 12:30:28 +01:00
thetaepsilon-gamedev
0913098a9d pressure logic: add horizontally-rotating directional flowable helper 2017-10-19 12:28:33 +01:00
thetaepsilon-gamedev
efcec7bdce pressure logic: abms.lua: fix invocation bug for directionality callback accidentally passing origin data to neighbour's directionfn 2017-10-19 12:13:44 +01:00
thetaepsilon-gamedev
3a85152e4d devices.lua: make fountainheads directional using fixed vertical helper 2017-10-18 21:44:36 +01:00
thetaepsilon-gamedev
7f7dfb79d5 pressure logic/flowable node registry: move pump directionality code to dedicated fixed vertical helper 2017-10-18 21:20:19 +01:00
thetaepsilon-gamedev
7b141fb0ea todo: rename file for new flow logic in line with aacd5ec 2017-10-18 12:07:16 +01:00
thetaepsilon-gamedev
38a893ec82 todo: update item for pressure logic directionality code 2017-10-18 12:06:00 +01:00
thetaepsilon-gamedev
0a97abcaf6 pressure logic/abms.lua: implement testing of flow direction testing in get_neighbour_positions() 2017-10-18 11:57:31 +01:00
thetaepsilon-gamedev
653aaffa3e pressure logic/abms.lua: rename local variables and retain node data in connection check for-loop 2017-10-18 11:32:16 +01:00
thetaepsilon-gamedev
084bbc6c0b pressure logic: abms.lua: get_neighbour_positions: move calculation of absolute world position to neighbour probing for-loop
This allows the raw offset to be visible inside that for-loop, which will be needed for calling the directionfn for directional neighbours to determine if they can flow in the given direction.
2017-10-18 09:32:33 +01:00
thetaepsilon-gamedev
a69c5e24a9 devices.lua: implement directionfn for pump registration 2017-10-17 23:42:05 +01:00
thetaepsilon-gamedev
0a4d15d26e pressure logic: flowable node registry: add directionfn to directional flowable entries 2017-10-17 23:14:26 +01:00
thetaepsilon-gamedev
909b321f3c pressure logic: abms.lua: refactor balance_pressure() to move responsiblity for checking neighbour flow classes to get_neighbour_positions 2017-10-17 22:20:13 +01:00
thetaepsilon-gamedev
d68d3d5852 pressure logic: abms.lua: move neighbour candidates calculation to separate function 2017-10-17 22:01:29 +01:00
thetaepsilon-gamedev
a7c171940e todo: add item for supporting other fluid types 2017-10-17 14:53:32 +01:00
thetaepsilon-gamedev
aacd5ec829 rename new_flow_logic subdirectory to a less ambiguous name
The "new flow logic" name was supposed to indicate that it was a continuation of the old branch by the same name, but it is beginning to become clear that it's not "new" any more and it might lead to confusion with "classic mode" flow logic while that still co-exists.
Explicitly name the subdirectory "pressure logic" to give a better idea of what goes in it, init.lua edited accordingly.
2017-10-17 14:20:55 +01:00
thetaepsilon-gamedev
7bacbdf015 todo: new flow logic: mark directionality code WIP 2017-10-16 23:44:17 +01:00
thetaepsilon-gamedev
0dd1dbc901 new flow logic: abms.lua: directional flow logic trace log points for local debugging 2017-10-16 23:41:03 +01:00
thetaepsilon-gamedev
c55374cdfa devices.lua: convert pump to use new directional flow class 2017-10-16 23:39:30 +01:00
thetaepsilon-gamedev
fd978204dd new flow logic: abms.lua: use directional callback function for direcional nodes to obtain neighbour list 2017-10-16 23:27:04 +01:00
thetaepsilon-gamedev
e41167813b new flow logic: flowable node registry: add directional flow type class 2017-10-16 23:18:00 +01:00
thetaepsilon-gamedev
0e74978a73 new flow logic: abm_register.lua: give core ABM a label 2017-10-16 21:01:09 +01:00