summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Crossroads/init_code.lua28
-rw-r--r--Crossroads/nodes/(1538,6,7946).lua2
-rw-r--r--Crossroads/nodes/(1573,6,8005).lua1
-rw-r--r--Crossroads/nodes/(1592,6,8002).lua1
-rw-r--r--Crossroads/nodes/(1606,6,7941).lua1
-rw-r--r--Crossroads/nodes/(1610,6,7967).lua2
-rw-r--r--Crossroads/nodes/(1612,6,7949).lua3
-rw-r--r--Crossroads/nodes/(1617,6,7943).lua3
8 files changed, 34 insertions, 7 deletions
diff --git a/Crossroads/init_code.lua b/Crossroads/init_code.lua
index 067c474..286e897 100644
--- a/Crossroads/init_code.lua
+++ b/Crossroads/init_code.lua
@@ -31,6 +31,9 @@ local crossing_light_count = {
NRG_3 = 3,
NRG_4 = 2,
NRG_5 = 4,
+ NRG_6 = 4,
+ NRG_7 = 2,
+ NRG_8 = 4,
}
local function update_light(loc, k, v)
@@ -52,14 +55,31 @@ local function update_light(loc, k, v)
end
end
-function F.x_on(t)
- if event.type ~= "train" then return end
- if not atc_arrow then return end
+function F.crossing_on(t)
for loc, k in pairs(t) do
update_light(loc, k, true)
end
end
+function F.x_on(t)
+ if event.type == "train" and atc_arrow then
+ return F.crossing_on(t)
+ end
+end
+
+function F.ax_on(t)
+ __approach_callback_mode = 1
+ if (event.type == "approach" or event.type == "train") and atc_arrow then
+ return F.crossing_on(t)
+ end
+end
+
+function F.sx_on(t)
+ if event.type == "schedule" and (event.msg or {}).depart then
+ return F.crossing_on(t)
+ end
+end
+
function F.x_off(t)
if event.type ~= "train" then return end
if not atc_arrow then return end
@@ -250,7 +270,7 @@ function F.stn2gen(stn, trk, door, ret, chout, depspeed)
ts = os.time(),
mode = "ARR",
}
- schedule_in(interval, {intext = nxtdisp})
+ schedule_in(interval, {intext = nxtdisp, depart = true})
break
end
end
diff --git a/Crossroads/nodes/(1538,6,7946).lua b/Crossroads/nodes/(1538,6,7946).lua
index 8d006a8..f4d3045 100644
--- a/Crossroads/nodes/(1538,6,7946).lua
+++ b/Crossroads/nodes/(1538,6,7946).lua
@@ -1 +1 @@
-F.x_on {NRG_1 = 1} \ No newline at end of file
+F.ax_on {NRG_1 = 1} \ No newline at end of file
diff --git a/Crossroads/nodes/(1573,6,8005).lua b/Crossroads/nodes/(1573,6,8005).lua
new file mode 100644
index 0000000..f6dfb94
--- /dev/null
+++ b/Crossroads/nodes/(1573,6,8005).lua
@@ -0,0 +1 @@
+F.ax_on{NRG_8 = 1} \ No newline at end of file
diff --git a/Crossroads/nodes/(1592,6,8002).lua b/Crossroads/nodes/(1592,6,8002).lua
new file mode 100644
index 0000000..bf58619
--- /dev/null
+++ b/Crossroads/nodes/(1592,6,8002).lua
@@ -0,0 +1 @@
+F.x_off{NRG_6 = 1, NRG_7 = 1} \ No newline at end of file
diff --git a/Crossroads/nodes/(1606,6,7941).lua b/Crossroads/nodes/(1606,6,7941).lua
new file mode 100644
index 0000000..6e3c9d3
--- /dev/null
+++ b/Crossroads/nodes/(1606,6,7941).lua
@@ -0,0 +1 @@
+F.ax_on{NRG_2 = 1} \ No newline at end of file
diff --git a/Crossroads/nodes/(1610,6,7967).lua b/Crossroads/nodes/(1610,6,7967).lua
new file mode 100644
index 0000000..5381aa3
--- /dev/null
+++ b/Crossroads/nodes/(1610,6,7967).lua
@@ -0,0 +1,2 @@
+F.x_off {NRG_4 = 1}
+F.ax_on {NRG_5 = 1} \ No newline at end of file
diff --git a/Crossroads/nodes/(1612,6,7949).lua b/Crossroads/nodes/(1612,6,7949).lua
index 3ed95ea..a500be8 100644
--- a/Crossroads/nodes/(1612,6,7949).lua
+++ b/Crossroads/nodes/(1612,6,7949).lua
@@ -1 +1,2 @@
-F.x_off{NRG_2 = 1} \ No newline at end of file
+F.x_off{NRG_2 = 1}
+F.ax_on{NRG_4 = 1} \ No newline at end of file
diff --git a/Crossroads/nodes/(1617,6,7943).lua b/Crossroads/nodes/(1617,6,7943).lua
index 3ed95ea..ed8cbfd 100644
--- a/Crossroads/nodes/(1617,6,7943).lua
+++ b/Crossroads/nodes/(1617,6,7943).lua
@@ -1 +1,2 @@
-F.x_off{NRG_2 = 1} \ No newline at end of file
+F.x_off{NRG_2 = 1}
+F.ax_on{NRG_3 = 1} \ No newline at end of file