Convert nodeupdate to non-recursive
authorAuke Kok <sofar@foo-projects.org>
Wed, 30 Mar 2016 14:50:10 +0000 (07:50 -0700)
committerkwolekr <kwolekr@minetest.net>
Mon, 11 Apr 2016 04:01:28 +0000 (00:01 -0400)
commitd7908ee49480caaab63d05c8a53d93103579d7a9
tree0dbea671ae937fa4558d2bf09355da014f21bf6a
parent2eeb62057a9e08def6a0f013e3ca5d84768d1566
Convert nodeupdate to non-recursive

This took me a while to figure out. We no longer visit all 9 block
around and with the touched node, but instead visit adjacent plus
self. We then walk -non- recursively through all neigbors and if
they cause a nodeupdate, we just keep walking until it ends. On
the way back we prune the tail.

I've tested this with 8000+ sand nodes. Video result is here:

  https://youtu.be/liKKgLefhFQ

Took ~ 10 seconds to process and return to normal.
builtin/game/falling.lua