aboutsummaryrefslogtreecommitdiff
path: root/advtrains/advtrains/atc.lua
diff options
context:
space:
mode:
authororwell96 <mono96.mml@gmail.com>2017-05-03 16:31:13 +0200
committerorwell96 <mono96.mml@gmail.com>2017-05-03 16:31:13 +0200
commit28717b4d65dc2e4080d5c7bde799fb4b87ef9a9d (patch)
tree81511699486ff8130ed23a43622bf73662f2be59 /advtrains/advtrains/atc.lua
parent0c7144bcc49449eba9f6ab8f2c1d8efa72b0307a (diff)
downloadadvtrains-28717b4d65dc2e4080d5c7bde799fb4b87ef9a9d.tar.gz
advtrains-28717b4d65dc2e4080d5c7bde799fb4b87ef9a9d.tar.bz2
advtrains-28717b4d65dc2e4080d5c7bde799fb4b87ef9a9d.zip
Performance improvements: Don't clear paths unless absolutely necessary
instead delete path elements that are too far from the train one-by-one Also when switching a switch or changing rails, only clear train paths of trains that are nearby.
Diffstat (limited to 'advtrains/advtrains/atc.lua')
-rw-r--r--advtrains/advtrains/atc.lua2
1 files changed, 1 insertions, 1 deletions
diff --git a/advtrains/advtrains/atc.lua b/advtrains/advtrains/atc.lua
index ed631a3..5f1f64d 100644
--- a/advtrains/advtrains/atc.lua
+++ b/advtrains/advtrains/atc.lua
@@ -93,7 +93,7 @@ advtrains.register_tracks("default", {
after_place_node=apn_func,
after_dig_node=function(pos)
return advtrains.pcall(function()
- advtrains.invalidate_all_paths()
+ advtrains.invalidate_all_paths(pos)
advtrains.ndb.clear(pos)
local pts=minetest.pos_to_string(pos)
atc.controllers[pts]=nil