Commit Graph

726 Commits

Author SHA1 Message Date
Vanessa Ezekowitz
cb5530c6c8 fix some broken models
two had bad poly coordinates, caused rendering errors in-game
one other model was flipped
fixes #212
2018-02-13 13:42:24 -05:00
thetaepsilon-gamedev
cb692d2188
Merge pull request #209 from h-v-smacker/luatube_pin_report
Explicitly report the color of incoming port for items coming through tubes
2017-12-25 19:48:21 +00:00
thetaepsilon-gamedev
91bd0c7e98 teleport_tube.lua: add checks for hash collisions in positions table 2017-12-22 17:57:00 +00:00
thetaepsilon-gamedev
57fc8c67f8 teleport_tube.lua: fix 32-bit clamping issues on some systems for %d in string.format
Some servers running ubuntu in particular were reporting issues with teleport tubes not working.
On investigation, all tube entries were colliding as string.format("%d", ...)
was returning either -2^31 or 2^31-1 depending on system bit width,
causing hash entries to be overwritten.
This is possibly related to the use of C sprintf within lua.
Fix this by using %g instead to interpret as double without int conversion,
with a large enough number of digits such that all possible 2^48 values from
minetest.hash_node_position() can be correctly serialised.
2017-12-22 17:18:31 +00:00
thetaepsilon-gamedev
a2e183c6f3 item_transport.lua: split out determination of next position in go_next() into separate function 2017-12-19 23:15:44 +00:00
thetaepsilon-gamedev
fb91ba53f1 item_transport.lua: read cycle direction at start of go_next() in preparation for refactoring 2017-12-19 22:53:18 +00:00
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
h-v-smacker
83c3030494 Explicitly report the color of incoming port for items in tubes 2017-11-30 11:48:51 +03: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