Commit Graph

54 Commits

Author SHA1 Message Date
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
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
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
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
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
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
thetaepsilon-gamedev
453a114cd0 new flow logic: flowable_node_registry_install.lua: add cleanupfn argument to register.output() 2017-10-07 21:55:49 +01:00
thetaepsilon-gamedev
187e755aa5 new flow logic: abms.lua: don't unpack outputdef variables in flowlogic.run(), leave to flowlogic.run_output() 2017-10-07 21:44:33 +01:00
thetaepsilon-gamedev
91d057fcab new flow logic: tear out old abm registration code 2017-10-07 19:42:49 +01:00
thetaepsilon-gamedev
9c770532e6 new flow logic: abms.lua: refactor run_input to run as part of master run() ABM 2017-10-07 19:19:09 +01:00
thetaepsilon-gamedev
be1a6d53aa new flow logic: flowable_node_registry_install.lua: factor out register.intake_simple into generic registration and helper wrapper 2017-10-07 18:07:55 +01:00
thetaepsilon-gamedev
65b3448796 new flow logic: abms.lua: refactor flowlogic.run_output() into a processing stage of flowlogic.run() 2017-10-07 17:55:14 +01:00
thetaepsilon-gamedev
016f9de82f new flow logic: abms.lua: refactor ABM logic into new master ABM, make balance_pressure() take current pressure and return new pressure 2017-10-07 17:33:42 +01:00
thetaepsilon-gamedev
608a9a6980 new flow logic: abms.lua: wrap up pressure value accesses behind accessor object 2017-10-07 17:14:50 +01:00
thetaepsilon-gamedev
34cfee8a2f new flow logic: start adding replacement ABM logic 2017-10-07 16:12:36 +01:00
thetaepsilon-gamedev
1669cfd451 new flow logic: flowable_node_registry_install.lua: add duplicate registration guard for register.output() 2017-10-07 15:42:00 +01:00
thetaepsilon-gamedev
6f90ee0875 new flow logic: abms.lua: add companion cleaner helper for neighbour output 2017-10-07 13:24:46 +01:00
thetaepsilon-gamedev
31a67cf4f9 new flow logic: flowable_node_registry_install.lua: add proper documentation for register.output_simple() 2017-10-07 13:15:42 +01:00
thetaepsilon-gamedev
4f58a3039c new flow logic: flowable_node_registry_install.lua: separate pressure threshold into upper and lower hysteresis values 2017-10-07 13:05:52 +01:00
thetaepsilon-gamedev
465e28cbd3 devices.lua: factor out usage of flowlogic helper into dedicated registry function 2017-10-07 12:16:36 +01:00
thetaepsilon-gamedev
7eb5dc6aca flowable_node_registry_install.lua: silence registration debugging by default 2017-10-04 18:54:51 +01:00
thetaepsilon-gamedev
894ea5174f move new flow logic flag to dedicated toggles table 2017-10-03 20:38:56 +01:00
thetaepsilon-gamedev
8e53526b54 new flow logic: abms.lua: rename neighbour output helper to better indicate lack of rotation support 2017-10-01 21:20:30 +01:00
thetaepsilon-gamedev
667eeb7d09 new flow logic: abms.lua: generalise spigot output code to support arbitary neighbour lists 2017-10-01 21:04:07 +01:00
thetaepsilon-gamedev
dc13ec619f new flow logic: abms.lua: remove intake limit coercion causing water to be vanished 2017-10-01 20:27:30 +01:00
thetaepsilon-gamedev
9abdeb3d62 new flow logic: abms.lua: use flowable nodes registry to determine viable neighbours 2017-10-01 20:12:19 +01:00
thetaepsilon-gamedev
396a4fdacd remove register_local_pipes.lua as node registration has been moved to more appropriate files 2017-10-01 18:23:58 +01:00
thetaepsilon-gamedev
13383770ef move spigot behaviour registration to devices.lua 2017-10-01 18:18:47 +01:00
thetaepsilon-gamedev
e6b55028fc move pump flow logic registration to devices.lua 2017-10-01 17:36:03 +01:00
thetaepsilon-gamedev
0fb0eab723 move pipe node registration for new flow logic closer to their definition in pipes.lua 2017-10-01 16:54:24 +01:00
thetaepsilon-gamedev
f3cd1b61d7 new flow logic: flowable_node_registry_install.lua: add registration tracing 2017-10-01 16:17:35 +01:00
thetaepsilon-gamedev
d9b616c5f0 new flow logic: node registry: add initial stub for flow directionality check 2017-10-01 15:47:21 +01:00
thetaepsilon-gamedev
f7b1719767 new flow logic: node registry: split registration functions into seperate file to allow ABM code to inspect tables 2017-10-01 15:18:00 +01:00
thetaepsilon-gamedev
3a1edac06c new flow logic: register_local_pipes.lua: make spigots work again 2017-10-01 13:00:41 +01:00
thetaepsilon-gamedev
e615a1013b new flow logic: flowable_node_registry.lua: add output node registration 2017-10-01 12:45:12 +01:00
thetaepsilon-gamedev
f3a94fcd24 new flow logic: abm_register.lua: add register_abm_output routine 2017-10-01 12:34:20 +01:00
thetaepsilon-gamedev
15b41d14f3 new flow logic: abm_register.lua: update doc comments for register_abm_input() 2017-10-01 12:28:22 +01:00
thetaepsilon-gamedev
463e7a206a new flow logic: abms.lua: start splitting apart spigot code into generalised output ABM 2017-10-01 12:25:43 +01:00
thetaepsilon-gamedev
4cf9c90bb9 new flow logic: register_local_pipes.lua: fix leftover calls to abmregister 2017-10-01 12:25:03 +01:00
thetaepsilon-gamedev
3486ee319e abms.lua: refactor and generalise run_pump_intake() to allow passing custom intake functions 2017-10-01 00:44:14 +01:00