Jeija
f1211f7dae
Add ActionQueue priority system
...
This makes effectors nearer to the source of the action (the receptor) update first.
This defines behaviour for this piston circuit: http://i.imgur.com/9Pp2Mzb.png
And defines, that this memory circuit does not work from this direction: http://i.imgur.com/jJn0aFh.png
But it will work when using the switch from the other side: http://i.imgur.com/nvw0oZB.png
Only if two effectors have the same distance, there is nothing we can do about it, behaviour is not defined.
"Distance" is determined by the stack size of recursions in turnon / turnoff.
Priorities are between 0 (lowest) and 1 (highest).
2014-01-11 14:57:56 +01:00
Jeija
2d004b19ea
First draft of some kind of Action Queue (just like the globalstep queue in to_update), but more flexible and also including delay functionality (mesecon_delayer).
...
The queue is also saved to a file, so that when restarting mesecons, delayers resume to the state they had when the game shut down. Needs testing.
2014-01-10 22:33:40 +01:00
Novatux
d5b39951a4
Fix bugs with multi-rules conductors (like crossing) that have param2
2014-01-04 14:15:41 +01:00
Uberi
16b4b79c51
Update code to standards of Minetest 0.4.8.
2013-11-30 22:13:00 -05:00
Vanessa Ezekowitz
f46bc329de
Use minetest.swap_node() instead of mesecons' version, Minor code changes
...
here and there to facilitate this.
2013-11-30 20:34:55 -05:00
khonkhortisan
913e355a71
Merge pull request #112 from khonkhortisan/multi_rules
...
Multi rules
Merged for near-future textures to be merged cleanly.
2013-08-27 22:22:30 -07:00
khonkhortisan
885899cbaf
Crossover
2013-06-20 09:30:26 -07:00
Novatux
afad592783
Change mesecons signals so that they update effectors only after a globalstep, configurable to be on/off
2013-06-05 15:37:55 -04:00
Novatux
edc10dac47
Add an ABM function which resets heat to 0, since gates/controllers won't be cooled normally if they are moved (piston, etc...) during the cooling delay.
2013-06-05 06:45:19 +02:00
Anthony Zhang
3b1afb1783
Fix invalid node name if node was changed in after_place_node callback ( fixes #93 ).
2013-04-14 13:54:33 -04:00
Jeija
d91e0b66cb
Re-write pistons from scratch, propably fixes a lot of bugs and doesn't cause too many new ones.
2012-12-26 22:54:28 +01:00
Jeija
a1852204fb
Cleanup and improve piston code
2012-12-16 11:58:43 +01:00
Jeija
44dc1a128c
Upload cleaned up mesecons to nextgen branch
2012-12-15 18:45:51 +01:00
Jeija
659060ddcd
Fix a bug that occured when placing an effector next to a receptor
2012-12-11 19:54:53 +01:00
Jeija
78fdedc880
Add conductor rules, add demo isolated mesecons to proof that it works
2012-08-16 21:24:06 +02:00
Jeija
00ce2540c2
New effector system, effectors have to be registered with mesecon:register_effector(onstate, offstate, rules, function get_rules) rules and function get_rules are optional. You don't have to specify both onstate and offstate (required for e.g. removestone)
2012-08-13 20:17:45 +02:00
Jeija
b8ba13a17a
Code cleanup
2012-08-13 11:58:04 +02:00
Jeija
c8c2fd32da
Code cleanup and ond more extremely small speedup
2012-08-13 08:50:10 +02:00