Commit Graph
3 Commits
Author SHA1 Message Date
Christopher Head 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
Christopher Head 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
Christopher Head 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