Commit Graph

737 Commits

Author SHA1 Message Date
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
thetaepsilon-gamedev
e98e4e268b new flow logic: flowable node registry: add initial support for transition triggers 2017-10-08 14:27:40 +01:00
thetaepsilon-gamedev
7e09da50c2 todo: update new flow logic items for cleanup handler work 2017-10-08 11:41:42 +01:00
thetaepsilon-gamedev
6a25e56336 new flow logic: algorithmic and value tuning for non-finite mode 2017-10-08 11:32:08 +01:00
thetaepsilon-gamedev
f94c93bb59 new flow logic: abms.lua: implement non-finite mode cleanupfn invocation in run_output() 2017-10-07 22:35:08 +01:00
thetaepsilon-gamedev
d4346919bc new flow logic: abms.lua: pass initial pressure to run_output() to allow falling-level event detection 2017-10-07 22:29:17 +01:00
thetaepsilon-gamedev
9ab197af2f new flow logic: abms.lua: implement non-finite mode behaviour for neighbour output helper 2017-10-07 22:21:54 +01:00
thetaepsilon-gamedev
07e769d1b9 new flow logic: abms.lua: pass finite mod flag to output handler callbacks in flowlogic.run_output() 2017-10-07 22:07:30 +01:00
thetaepsilon-gamedev
bd32b4fca2 new flow logic: abms.lua: pass finite mode flag to run_output() 2017-10-07 22:03:53 +01:00