Commit Graph

102 Commits

Author SHA1 Message Date
84133a10df Use minetest.hash_node_position for searches.
Previously, Digilines used concatenations of X/Y/Z coordinates into
strings as keys to check for repeatedly visiting the same node during a
graph search. Replace them with integer keys generated by
`minetest.hash_node_position`, which should be more efficient.
2017-02-28 22:13:19 -08:00
25ea72270d Use VoxelManipulators to force-load nodes.
If a node needed during wire traversal is not currently loaded, it is
loaded from disk using a VoxelManipulator.
2017-02-28 22:13:19 -08:00
514fb2e289 Replace DFS with BFS.
Replace the recursive depth-first search of a wire network with an
iterative breadth-first search, primarily to reduce memory footprint and
eliminate the possibility of stack overflow.
2017-02-28 22:13:19 -08:00
7ecb29e87f Convert digilines to a mod (not modpack). (#32)
Digilines is probably used by most people in its entirety.

I've retained the ability to disable inventory, rtc, lightsensor and
LCD by the minetest settings "diglines_enable_rtc" etc.. If set to
"false", these components will not be loaded. It is assumed by default
that these are enabled.

In the conversion the digilines_lcd:lcd node was renamed to
digilines:lcd (same for all the other nodes). To retain backwards
compatibility I've provided aliases for each of these nodes.
2016-05-27 16:08:53 -07:00
4c743f9c4d Add protection support to channel fields (#33) 2016-05-23 11:13:24 -07:00
b6e8913901 Adding a screenshot and description.txt
This is for the toplevel folder alone. Subfolders could each use
a separate one, but I feel they are not needed atm.
2016-04-11 21:30:40 -07:00
2a0e0d6b73 Merge pull request #30 from Rui914/master
Fix undeclared global variable "rules"
2016-04-11 21:24:47 -07:00
00deb0c3fc Fix undeclared global variable "rules" 2016-04-10 11:02:01 +09:00
60c3e608a9 Merge pull request #28 from electrodude/bugs
Add missing local variable
2016-01-19 17:09:40 +01:00
dcb25cbe2f Removed redundant minetest.get_meta(pos) 2016-01-18 11:54:05 -05:00
aabf7ec575 Added missing local variable
The on_metadata_inventory_take method of digiline_inventory:chest was
broken, since it used a `channel` local variable that was never defined,
but should have been fetched from the node's meta
2016-01-18 11:44:10 -05:00
69e1d1ba9b Merge branch 'Rui914-patch-1' 2015-08-23 10:43:11 +02:00
bedfa58672 Fix digilines_lcd problems 2015-08-21 01:28:51 +09:00
e2b9141ccc Merge pull request #23 from MT-Modder/infotext-lcd
Add infotext to lcd, like signs
2015-02-14 20:17:40 +01:00
bb523af0de Add infotext to lcd like signs 2015-02-14 13:21:44 -05:00
1dfc602eca Merge pull request #22 from MT-Modder/chest-craft
Add craft recipe for digiline chest
2015-02-13 22:38:24 +01:00
81ffa957d2 Add craft recipe for digiline chest 2015-02-05 15:24:22 -05:00
1bf3151320 Fix #21, undeclared variables 2015-01-12 18:51:49 +01:00
a121bc0b12 Merge pull request #20 from 163140/master
Added signal "empty"
2014-12-08 12:38:20 +01:00
c2f74cd42a Added signal "empty"
"Empty" signal useful for automated factories
2014-12-08 01:31:06 +00:00
241a7ed75f Fix minetest-mod-mesecons issue #188: Use digiline:tablecopy 2014-11-22 19:26:04 +01:00
93135be10c Define digiline chest from scratch by Zefram, posted in #16 2014-11-19 19:27:58 +01:00
1bb2230163 Merge pull request #3 from lordcirth/master
Added crafting recipes for digiline and lcd.
2014-11-19 18:59:52 +01:00
fcd005c192 Merge pull request #15 from ShadowNinja/fix-unknown-nodes
Add a missing check for unknown nodes
2014-07-01 06:42:45 +02:00
101a9bbbbe Add a missing check for unknown nodes 2014-06-30 22:17:39 -04:00
1c4db4d675 Merge pull request #14 from cheapie/master
Fix #13
2014-06-05 16:57:14 +02:00
ccd3fbe7ed Don't change the channel if the new channel is nil 2014-06-05 00:55:29 -05:00
d674101936 Make spec variable local 2014-04-24 22:56:10 +02:00
843c68af14 Fix channel value getting deleted when quitting without editing the value in LCD, RTC and Light Sensor 2014-04-24 10:59:16 +02:00
fa3f9ce09d Merge branch 'master' of https://github.com/Jeija/minetest-mod-digilines 2014-04-24 10:48:18 +02:00
190278bc78 Allow for non-autoconnecting wires; only if digiline.wire.use_autoconnect is set, autoconnection will be used 2014-04-24 10:46:58 +02:00
adb41d4e2a Merge pull request #10 from CiaranG/gmatch
Replace chunk of unnecessary code with gmatch
2014-03-12 20:50:35 +01:00
5220d391b8 Replace chunk of unnecessary code with gmatch 2014-03-12 18:28:38 +00:00
b8eeca4f83 Merge pull request #9 from CiaranG/lcdcolon
Add colon to lcd characters
2014-03-03 20:30:28 +01:00
f96ee3b445 Add colon to lcd characters 2014-03-03 18:42:00 +00:00
2cf9e34a65 Use tabs instead of spaces and remove unnecessary return 2014-02-26 16:10:15 +01:00
d3aa2b794b Merge remote-tracking branch 'CiaranG/tableperf' 2014-02-26 16:09:27 +01:00
fba6b07edc Use tabs instead of spaces, remove unnecessary spaces 2014-02-26 15:58:24 +01:00
682e1335d9 Make lcd text persist properly 2014-02-26 13:22:34 +00:00
b2f959328c Update deprecated api calls 2014-02-26 13:22:29 +00:00
6876aa6a4f Performance improvement when transmitting
The 'checked' table is passed by reference anyway, so reassigning it at
every step along the network is just wasting time by creating more and
more copies of it.
2014-02-15 12:59:22 +00:00
78d67f00a6 Fix digilines_chest and crashes of it if pipeworks is not installed 2014-01-26 08:48:46 +01:00
8c5e3c6f8f Merge pull request #5 from cyisfor/master
Digiline messages from chests filling
2013-10-26 13:47:27 -07:00
Cy
3183371050 Chest not throwing away pipeworks info
tube = {...} = bad
tube = tableMergeImmutable(defaultChest.tube,{...}) = good

There was also a thing where the stack was sometimes already
stringified.
2013-10-14 19:34:53 -07:00
Cy
21048dc5ac Digiline messages from chests filling 2013-10-14 02:23:18 -07:00
3afc06dda5 Add a LICENSE file
Code LGPLv3,
Textures and everything else WTFPL
2013-09-07 22:56:44 +02:00
3ecbd0971f Add a README, containing basic information + License 2013-09-07 22:51:52 +02:00
50cfbdc501 Add crafting recipes for digiline and lcd. 2013-05-10 16:56:47 -04:00
ead577365d Fix bug: LCD screen is now not cleared if something is sent on a different channel 2013-04-03 19:42:59 +02:00
a463012491 Add LCD Display: Just send a string to it and it will display it
Credits go to thexyz for his sign mod, this is a strongly modified version of it.
2013-03-25 12:02:54 +01:00