Novatux
fe50e87da1
Make receptor_on/off overwritable, fix a serious bug.
2014-01-11 20:12:22 +01:00
Jeija
c8ef37f522
Actionqueue tweaks
2014-01-11 20:11:54 +01:00
Jeija
6afded8284
Fix unloaded area in receptor_off, yet it was only fixed in receptor_on
2014-01-11 16:18:35 +01:00
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
fb417d45a7
Fix when there are several rules with different specials
2014-01-04 17:22:04 +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
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
Jeija
ef087f2bb6
Fix Bug: Wrong usage of action_on/action_off instead of action_change
2013-01-19 23:37:03 +01:00
Jeija
841bc70b97
Fix a bug that occured when using a receptor placed directly next to a
...
gate.
We need to call a changesignal even if the gate/other effector is still
connected to a power source in a way.
2013-01-09 16:56:25 +01:00
Jeija
7fe4947056
Bugfix foes for pistons, delayyrs, gates and microcontrollers. Rework delayers.
2012-12-27 09:28:04 +01:00
Jeija
9019a4aff7
Bugfix, wires sometimes turned off for no reason
2012-12-21 16:04:19 +01:00
Jeija
6b1bfe6391
Add rule-name system. Every input rule can now have a name, that could help e.g. the microcontroller to know where a signal comes from.
2012-12-19 17:34:05 +01:00
Jeija
2c4a46a557
Minor cleanup, use addPosRule
2012-12-16 16:29:03 +01:00
Jeija
44dc1a128c
Upload cleaned up mesecons to nextgen branch
2012-12-15 18:45:51 +01:00
Jeija
00e071b695
Cleanup, make and use util.lua, port command block and delayer to nodedef
2012-12-08 21:56:09 +01:00
Jeija
e0aa5b1d3d
New branch: Move mesecon to node definition instead of functions like register_conductor; first steps: move everything to legacy
2012-12-08 14:14:04 +01:00
Jeija
f959c16763
Fix Microcontroller bug (discovered by Fenris) and some others that propably noone found
2012-09-08 15:10:31 +02:00
Jeija
3928d54d0c
Implement mesecon:register_receptor(onstate, offstate, rules, get_rules) and make add_receptor_node(_off) deprecated
2012-09-06 09:53:30 +02:00
Jeija
7e7e1de725
Code cleanup
2012-09-05 23:52:09 +02: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
24c50571f7
Make mesecons only connect to input and output ports (e.g. of the delayer)
2012-08-13 16:49:14 +02:00
Jeija
b197d29bef
Code cleanup, little bugfix (some conductors placed next to receptors didn't turn on)
2012-08-13 13:12:19 +02:00
Jeija
955b8254dd
Code cleanup
2012-08-13 12:03:36 +02:00
Jeija
b8ba13a17a
Code cleanup
2012-08-13 11:58:04 +02:00
Jeija
c20a4b3a89
Minimal speedup by not checking some nodes twice for receptors
2012-08-13 09:37:55 +02:00
Jeija
c8c2fd32da
Code cleanup and ond more extremely small speedup
2012-08-13 08:50:10 +02:00
Jeija
fc74976f9c
Further (small) speed improvement, shrink code & more comments on it
2012-08-12 23:02:38 +02:00
Jeija
9829abc74d
HUGE speed improvement
2012-08-12 10:57:00 +02:00
Jeija
6b1941a380
Add new nodebox style wires. Can be activated by setting NEW_STYLE_WIRES to true (in mesecons/settings.lua)
2012-08-11 22:58:00 +02:00
Jeija
8fa6894953
Consistency improvement and remove dead code
2012-08-10 18:58:21 +02:00
Kotolegokot
70841d8c8e
not_in_creative_inventory
2012-08-01 15:58:19 +06:00
Jeija
3ed865d94d
Fix Bug: Mesecons cannot be digged due to a collisionbox failure
2012-06-20 19:26:07 +02:00
Anthony Zhang
4200757ba3
Remove deprecated API functions "register_on_placenode" and "register_on_dignode" where possible.
2012-06-04 22:20:04 -04:00
Anthony Zhang
51453bb6c2
Made mesecons diggable
2012-04-24 17:28:14 -04:00
Jeija
029ad8be33
Add documentation for conductors
2012-04-22 07:55:57 +02:00
Jeija
11b5ef8c94
Add new conductor system
2012-04-22 07:48:45 +02:00
Jeija
d9a605511d
Remove dedicated meselamp stuff
2012-03-29 22:14:14 +02:00
Jeija
ce87414f6b
Add mesecons delayer
2012-03-29 22:11:17 +02:00
Jeija
d069275d09
Rules + Receptor system rework
2012-03-29 21:06:48 +02:00
Jeija
d54d148595
Add reference for new rules system
2012-03-29 11:53:11 +02:00
Jeija
8e0b2a2b11
Simplify rules System
2012-03-29 11:35:23 +02:00
Anthony Zhang
3018128b4b
Update nodes for compatibility with digging time groups.
2012-03-22 17:52:11 -04:00
Jeija
36ae0cc1a5
Upload after major code reorganization - Version 0.6 DEV - Split mesecons mod into several modules - [BUGGY?]
2012-03-05 19:21:26 +01:00