aboutsummaryrefslogtreecommitdiff
path: root/advtrains_interlocking/signal_api.lua
diff options
context:
space:
mode:
authorY. Wang <yw05@forksworld.de>2023-01-06 18:23:15 +0100
committerY. Wang <yw05@forksworld.de>2023-03-23 20:06:02 +0100
commitd443d8e07af89665a6bb3d87af91f43f08a6c47e (patch)
treeccb18a6ba184ec5b08835ed2762e680a1cb44f01 /advtrains_interlocking/signal_api.lua
parent2d072cdc67ec3018eaba36b7c79c2b19e574a94d (diff)
downloadadvtrains-d443d8e07af89665a6bb3d87af91f43f08a6c47e.tar.gz
advtrains-d443d8e07af89665a6bb3d87af91f43f08a6c47e.tar.bz2
advtrains-d443d8e07af89665a6bb3d87af91f43f08a6c47e.zip
Distant signaling: avoid signal signs
Diffstat (limited to 'advtrains_interlocking/signal_api.lua')
-rw-r--r--advtrains_interlocking/signal_api.lua10
1 files changed, 7 insertions, 3 deletions
diff --git a/advtrains_interlocking/signal_api.lua b/advtrains_interlocking/signal_api.lua
index cd408d7..1b4a21c 100644
--- a/advtrains_interlocking/signal_api.lua
+++ b/advtrains_interlocking/signal_api.lua
@@ -159,16 +159,20 @@ function advtrains.interlocking.show_ip_form(pos, pname, only_notset)
return
end
local ipform, pts, connid = advtrains.interlocking.make_ip_formspec_component(pos, 0.5, 0.5, 7)
- local form = table.concat {
+ local form = {
"formspec_version[4]",
- "size[8,6.75]",
+ "size[8,2.25]",
ipform,
- advtrains.interlocking.make_dst_formspec_component(pos, 0.5, 2, 7, 4.25),
}
if pts then
local ipos = minetest.string_to_pos(pts)
ipmarker(ipos, connid)
end
+ if advtrains.distant.appropriate_signal(pos) then
+ form[#form+1] = advtrains.interlocking.make_dst_formspec_component(pos, 0.5, 2, 7, 4.25)
+ form[2] = "size[8,6.75]"
+ end
+ form = table.concat(form)
if not only_notset or not pts then
minetest.show_formspec(pname, "at_il_propassign_"..minetest.pos_to_string(pos), form)
end