aboutsummaryrefslogtreecommitdiff
path: root/advtrains_interlocking/distant_signals.lua
diff options
context:
space:
mode:
authorywang <yw05@forksworld.de>2021-05-31 16:57:09 +0200
committerywang <yw05@forksworld.de>2021-05-31 16:57:09 +0200
commitb07363971d26b78e3aa6adad38648cb7f9a19f56 (patch)
tree9adfee94cacc96b9457e7b5b25a4b71b42b6d99e /advtrains_interlocking/distant_signals.lua
parentb60e516bac7165b91a72649e33b9707b88d33be2 (diff)
downloadadvtrains-b07363971d26b78e3aa6adad38648cb7f9a19f56.tar.gz
advtrains-b07363971d26b78e3aa6adad38648cb7f9a19f56.tar.bz2
advtrains-b07363971d26b78e3aa6adad38648cb7f9a19f56.zip
disable distant signaling by default
Distant routesetting is not implemented yet
Diffstat (limited to 'advtrains_interlocking/distant_signals.lua')
-rw-r--r--advtrains_interlocking/distant_signals.lua19
1 files changed, 17 insertions, 2 deletions
diff --git a/advtrains_interlocking/distant_signals.lua b/advtrains_interlocking/distant_signals.lua
index 0da1c10..340cf74 100644
--- a/advtrains_interlocking/distant_signals.lua
+++ b/advtrains_interlocking/distant_signals.lua
@@ -1,3 +1,10 @@
+--[[
+Distant signaling modes:
+ true: set route for the next signal
+ false: do not set route for the next signal
+ nil: hide distant signal information
+]]
+
local interlocking = advtrains.interlocking
local ildb = advtrains.interlocking.db
@@ -6,7 +13,11 @@ local function update_distant(tcbs)
if not tcbs.aspect then tcbs.aspect = table.copy(interlocking.DANGER) end
local asp = tcbs.aspect
if tcbs.distant_of then
- asp.dst = (ildb.get_tcbs(tcbs.distant_of[1]).aspect or interlocking.DANGER).main
+ if tcbs.distant_mode == nil then
+ asp.dst = nil
+ else
+ asp.dst = (ildb.get_tcbs(tcbs.distant_of[1]).aspect or interlocking.DANGER).main
+ end
end
interlocking.update_signal_aspect(tcbs)
if tcbs.distant then
@@ -14,7 +25,11 @@ local function update_distant(tcbs)
for i = 1, #dst do
local s = ildb.get_tcbs(dst[i])
if not s.aspect then s.aspect = table.copy(interlocking.DANGER) end
- s.aspect.dst = asp.main
+ if s.distant_mode == nil then
+ s.aspect.dst = nil
+ else
+ s.aspect.dst = asp.main
+ end
interlocking.update_signal_aspect(s)
end
end