aboutsummaryrefslogtreecommitdiff
path: root/advtrains/passive.lua
diff options
context:
space:
mode:
authororwell <orwell@bleipb.de>2024-05-24 00:00:12 +0200
committerorwell <orwell@bleipb.de>2024-05-24 00:00:12 +0200
commitf52653209aecb2310c1fb9598391c86113296f27 (patch)
tree2fba34771edf587e21a666ec0c59fce3d03ca937 /advtrains/passive.lua
parenteb029711534006f73624a64c30f7a8597209ceec (diff)
downloadadvtrains-f52653209aecb2310c1fb9598391c86113296f27.tar.gz
advtrains-f52653209aecb2310c1fb9598391c86113296f27.tar.bz2
advtrains-f52653209aecb2310c1fb9598391c86113296f27.zip
Fix working of the legacy signals under new system
Diffstat (limited to 'advtrains/passive.lua')
-rw-r--r--advtrains/passive.lua6
1 files changed, 6 insertions, 0 deletions
diff --git a/advtrains/passive.lua b/advtrains/passive.lua
index 37b79e4..aad309e 100644
--- a/advtrains/passive.lua
+++ b/advtrains/passive.lua
@@ -70,6 +70,12 @@ function advtrains.setstate(parpos, newstate, pnode)
end
-- invalidate paths (only relevant if this is a track)
advtrains.invalidate_all_paths(pos)
+ -- hack for old signals. Compatibility only, DO NOT USE for new signals!
+ if advtrains.interlocking and ndef.advtrains._is_passivenode_signal then
+ -- forcefully clears any set aspect, so that aspect system doesnt override it again
+ -- implicitly does an signal.notify_trains(pos)
+ advtrains.interlocking.signal.clear_aspect(pos)
+ end
return true
end