Commit Graph

71 Commits

Author SHA1 Message Date
97f7b5745f Remove trailing whitespace 2015-10-04 13:30:34 +02:00
5be179bf11 Replace mesecon:<some_function> with mesecon.<some_function> for greater
flexibility and because it was never inteded to be OOP in the first
place.

mesecon.receptor_on and mesecon.receptor_off are provided by wrappers
(mesecon:receptor_on/off) for compatibility, but will be removed. Mod
programmers that use mesecons: Please update!

Also, fix microcontroller polluting the global namespace and remove some
deprecated stuff.
2014-11-22 15:42:22 +01:00
194155fff8 Rewrite mesecon wires. This should increase the efficiency and speed of
large machines.

It also makes the wires.lua code easier to understand and more
maintainable. In case any other mod depends on
mesecon:update_autoconnect, please update it to use
mesecon.update_autoconnect. This should also fix some other minor bugs.
Please report bugs if this commit creates new ones.

This commit changes wire looks and removes some unneccesary textures.
2014-11-22 11:40:58 +01:00
f1eaee2281 fix programming microcontroller through form
The handling of the "quit" pseudo-field meant that the microcontroller
couldn't be programmed with explicit code, only with the examples.
The "quit" can actually be ignored: what matters for programming the
controller is whether the "code" field was supplied.
2014-04-25 18:30:59 +02:00
300abcb587 Fix #155 (option 2 used). Remove non-ActionQueue system. Enable overheat for more than 20 actions per second on lua- / microcontrollers and gates.
Fix a bug where a burnt luacontroller didn't have the correct pin-states as the burnt controller does not register any changes from outside.
2014-04-20 21:51:17 +02:00
8a71f51b26 Merge branch 'actionqueue'
This introduces the ActionQueue, a new kind of MESECONS_GLOBALSTEP.
Circuits using delayers will now resume when restarting the server.
Also, large circuits should automatically resume if parts of them are
in unloaded chunks.
Old circuits e.g. using gates will not resume when mesecons is updated,
which means you have to restart them once. But after that, it should work
just like it used to.
This will fix a lot of stuff but may also introduce some new bugs.
So please report them!
2014-01-19 13:59:22 +01:00
f1ae54ed12 Try to fix gateswith serverstep code. 2014-01-11 07:24:42 +01:00
de6dd30745 Move textures into their mods 2014-01-10 13:13:02 -05:00
e8d31c3e5a Change field receipt handling to work properly with Minetest 0.4.8. 2013-12-18 14:54:46 -05:00
16b4b79c51 Update code to standards of Minetest 0.4.8. 2013-11-30 22:13:00 -05:00
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
9ab0d9deb2 Update Microcontroller Tutorial and add .odt source for the .pdf 2013-09-08 11:38:01 +02:00
75ca00f51e Escape microcontroller code in formspec 2013-08-29 14:14:04 -07:00
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
885899cbaf Crossover 2013-06-20 09:30:26 -07:00
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
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
255e363b04 Fix all crafting recipes to use modern style 2013-04-28 12:40:08 +02:00
3792b692aa Digging and footstep sounds for everything that needs them! Plus, pushing buttons, punching switches, and flipping levers all make sounds. 2013-03-06 20:51:57 -05:00
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
c0d3bd2abb Include experimental vertical wires (needs textures) 2012-12-13 18:42:45 +01:00
05def1540a Fix microcontroller digging 2012-12-09 15:32:29 +01:00
b37bdbf55c Port a lot more (basically everything apart from gates, pistons and extrawire crossing) to the new nodedef system. There are some problems with wall button and wall lever (in the way they visually connect to wires) 2012-12-09 00:42:30 +01:00
931ac23ff3 Improve T-FF code and add a reset pin on C. 2012-10-07 13:08:01 -04:00
500e95c331 Fix Microcontroller bug in a different way, define offstate ports as inputs only 2012-09-09 13:07:59 +02:00
f959c16763 Fix Microcontroller bug (discovered by Fenris) and some others that propably noone found 2012-09-08 15:10:31 +02:00
34737f62e9 oops, that last commit broke something - evidently 'code' is not consistent.
This restores the previous behavior when code=nil, and shows the code when not.
2012-09-01 17:42:42 -04:00
1d29037d8b fix missing code display when after() is involved 2012-09-01 17:32:49 -04:00
f641a0cc9c prevent crash with malformed sbi code.
just inserting "sbi(A, C!=D)" into a µC without connecting it to anything
causes 'b' at line 510 to become nil, crashing the server.
2012-09-01 17:28:04 -04:00
d399162fc1 Reduced the number of µC images. Instead of 16 top images, there is one
off image, then four port images that can be overlaid on top of the
blank.
2012-08-24 23:23:44 -07:00
d0ae1b56e8 added proper bottom image to microcontroller 2012-08-25 01:32:24 -04:00
9cfb13d60c pressing enter will reprogram the µC instead of acting like escape 2012-08-24 20:59:26 -07:00
68b99fed76 display µc programming like a sign
I had a grid that mapped buttons to pixels so pressing a button displayed a letter. I had one programming that was a positive match so the pixel turned on, and another programming that was negative and just passed the signal on to the next pixel. If I had to right-click on each µc to see its programming, it would take me longer to find a problem. If I can see the programming just by looking at it, I could find a typo much easier.
I'm not sure about the \n \n\r thing.
2012-08-21 10:35:34 -07:00
b2c5a672e7 Remove obsolete digprop_constanttime 2012-08-20 09:51:19 +02:00
c103aa6b23 Fix some bug that occurs when placing microcontrollers directly next to each other 2012-08-18 11:06:24 +02:00
b346d89594 Update microcontroller tutorial to include after() 2012-08-13 23:33:53 +02:00
67dfa93c2e Finish after() command: works now 2012-08-13 23:20:29 +02:00
5ede8f370c Bugfix for microcontroller's after(): Make sure that microcontroller the code runs on is the same that sends the code 2012-08-13 22:55:14 +02:00
9f16e4fcaa Add not-yet-working after(time, code) function to the microcontroller 2012-08-13 22:33:25 +02:00
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
3ea68a6eae Fix mesecon delayer bugs and other non-functional changes 2012-08-12 21:28:53 +02:00
9829abc74d HUGE speed improvement 2012-08-12 10:57:00 +02:00
5d1c184941 thinned the microcontroller down a bit to fit the style of the other floor objects. 2012-08-11 21:04:05 -04:00
e12b297987 change all recipes to use group:mesecon_conductor_craftable
fixed deprecated/invalid recipes in lightstones.

fixed copy&paste error in one of the delayer textures

fixed recipe for player detector to rely on microcontroller instead of old IC
2012-08-11 20:53:47 -04:00
1f6e1fa7ab Mesecons only connect to blocks with group mesecon > 1 2012-08-11 23:39:28 +02:00
39db9cf01c Added "mesecon = 1" to the groups setting for most objects, so that they'll
visibly connect to neighboring wires.
2012-08-10 17:35:54 -04:00
32fba63267 Update Microcontroller Tutorial 2012-08-10 20:58:39 +02:00
fe6c9f3e09 Little bugfix: Register microcontroller0000 as off receptor 2012-08-10 11:46:17 +02:00
ce72ed2bab Add print command print(string in quotes or condition, can be concatenated using comma) 2012-08-10 10:47:40 +02:00
6a524b8cdd Add else: if(condition)command()>command(); > is else 2012-08-10 10:19:33 +02:00