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
Vanessa Ezekowitz
04db73aa6c
Merge pull request #206 from Hawk777/more-tube-parameters
...
Enhance params to can_remove and remove_item
2017-10-16 10:24:51 -04:00
Christopher Head
15bb7b129c
Enhance params to can_remove and remove_item
...
By passing the list name and the slot index, these functions now receive
all data related to removal of an item from an inventory: the side on
which the removal is taking place, as well as which stack is being
pulled from. This means it’s no longer necessary to choose between
implementing `on_metadata_inventory_take` (which tells you which item
stack was pulled from but not from which side of the node) or
`remove_item` (which tells you which side the filter is on but not which
item stack it wants to take).
2017-10-15 22:59:20 -07:00
thetaepsilon-gamedev
30bedbfecc
new flow logic: abms.lua: hoist simple flowable neighbour calculation into if-block in preparation for directional flowables support
2017-10-15 18:18:48 +01:00
thetaepsilon-gamedev
edbb3aace9
todo: new flow logic: spigot/fountainheads to place flowing water on turn-off; make decorative gratings do something useful
2017-10-15 15:32:07 +01:00
thetaepsilon-gamedev
fa4817136c
changelog.txt: add entry for node breaker work
2017-10-14 21:48:44 +01:00
Vanessa Ezekowitz
2e0891cf1b
revise nodebreaker front/business end textures
2017-10-14 16:11:05 -04:00
thetaepsilon-gamedev
cd9102cef1
wielder.lua: add LBM to refund mese picks for pre-transition node breakers
2017-10-14 20:00:46 +01:00
thetaepsilon-gamedev
eefcbc1e86
wielder.lua: can_tool_dig_node(): try falling back to hand if inserted tool can't break node
2017-10-14 19:29:33 +01:00
thetaepsilon-gamedev
47ba123113
wielder.lua: change node breaker recipe to use gear items
2017-10-14 19:17:03 +01:00
thetaepsilon-gamedev
4915b2564f
wielder.lua: properly implement can_tool_dig_node()
2017-10-14 19:04:51 +01:00
thetaepsilon-gamedev
f8cb55a60e
wielder.lua: set default ghost tool for node breaker to the hand, add stub implementation of can_tool_dig_node() to check if set tool can dig node
2017-10-14 18:51:57 +01:00
Vanessa Ezekowitz
366dd24e5b
add a proper gear image
2017-10-14 12:48:43 -04:00
thetaepsilon-gamedev
a81834558a
crafts.lua: add gear item for node breaker crafting
2017-10-14 17:13:45 +01:00
thetaepsilon-gamedev
b0de9d9958
clean up node breaker textures to remove spikes
2017-10-13 22:39:14 +01:00
Vanessa Ezekowitz
a028aef9c9
Merge pull request #204 from thetaepsilon-gamedev/master
...
More pressure_logic work
2017-10-09 06:38:54 -04:00
thetaepsilon-gamedev
467907602b
changelog.txt: back entries for pressure_logic work
2017-10-08 19:22:07 +01:00
thetaepsilon-gamedev
085ee7b497
todo: remove new flow logic item about node variant switching
2017-10-08 19:13:52 +01:00
thetaepsilon-gamedev
72f793e2b3
new flow logic: abm_register.lua: add extra safeguarding for conditional activation of new flow logic
2017-10-08 19:11:58 +01:00
thetaepsilon-gamedev
084174123d
default_settings.lua: remove old default for new_flow_logic left over from transition to pipeworks.toggles.pressure_logic
2017-10-08 18:21:17 +01:00
thetaepsilon-gamedev
d5e3f1cf68
new flow logic: implement post-transition hook with mesecons support, add mesecons transition rules for flow sensor
2017-10-08 17:38:28 +01:00
thetaepsilon-gamedev
ce0983d239
devices.lua: adjust flow sensor threshold to more closely model classic mode
2017-10-08 16:41:00 +01:00
thetaepsilon-gamedev
c2553928f2
new flow logic: flowable_node_registry_install.lua: add set size checking guard
2017-10-08 16:20:30 +01:00
thetaepsilon-gamedev
eaf6c33bae
new flow logic: abms.lua: implement node transitions
2017-10-08 16:19:51 +01:00
thetaepsilon-gamedev
32a24730f1
new flow logic: change simple transition set logic to take list of key-value pairs, add set registration for flow sensor pipe
2017-10-08 15:07:12 +01:00