aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--advtrains/init.lua2
-rw-r--r--advtrains/trainlogic.lua8
-rw-r--r--advtrains_luaautomation/README.txt10
-rw-r--r--advtrains_luaautomation/atc_rail.lua13
4 files changed, 21 insertions, 12 deletions
diff --git a/advtrains/init.lua b/advtrains/init.lua
index bdb0bf9..0036037 100644
--- a/advtrains/init.lua
+++ b/advtrains/init.lua
@@ -392,7 +392,7 @@ advtrains.avt_save = function(remove_players_from_wagons)
"trainparts", "recently_collided_with_env",
"atc_brake_target", "atc_wait_finish", "atc_command", "atc_delay", "door_open",
"text_outside", "text_inside", "line", "routingcode",
- "il_sections", "speed_restriction", "is_shunt", "points_split",
+ "il_sections", "speed_restriction", "is_shunt", "points_split", "autocouple"
})
--then save it
tmp_trains[id]=v
diff --git a/advtrains/trainlogic.lua b/advtrains/trainlogic.lua
index 1ae96bd..6155768 100644
--- a/advtrains/trainlogic.lua
+++ b/advtrains/trainlogic.lua
@@ -906,7 +906,7 @@ function advtrains.split_train_at_index(train, index)
atwarn("Train",train_id,"is not initialized! Operation aborted!")
return
end
- train.is_shunt = nil -- prevent immediate recoupling
+
local p_index=advtrains.path_get_index_by_offset(train, train.index, - data.pos_in_train + wagon.wagon_span)
local pos, connid, frac = advtrains.path_getrestore(train, p_index)
local tp = {}
@@ -944,10 +944,10 @@ local CPL_ZONE = 2
local function createcouple(pos, train1, t1_is_front, train2, t2_is_front)
local id1 = train1.id
local id2 = train2.id
- if train1.is_shunt or train2.is_shunt then
+ if train1.autocouple or train2.autocouple then
-- couple trains
- train1.is_shunt = nil
- train2.is_shunt = nil
+ train1.autocouple = nil
+ train2.autocouple = nil
minetest.after(0, advtrains.safe_couple_trains, id1, id2, t1_is_front, t2_is_front, false, false, train1.velocity, train2.velocity)
return
end
diff --git a/advtrains_luaautomation/README.txt b/advtrains_luaautomation/README.txt
index c377c1b..65e068e 100644
--- a/advtrains_luaautomation/README.txt
+++ b/advtrains_luaautomation/README.txt
@@ -203,10 +203,12 @@ set_rc(routingcode)
split_at_index(index, command)
Splits the train at the specified index, into a train with index-1 wagons and a second train starting with the index-th wagon.
command specifies an atc command to be sent to the second train after decoupling.
-set_shunt()
- Sets the train into shunting mode
-unset_shunt()
- Sets the train into normal mode
+set_autocouple()
+ Sets the train into autocouple mode
+unset_autocouple()
+ Unsets autocouple mode
+set_shunt(), unset_shunt()
+ deprecated aliases for set_autocouple() and unset_autocouple(), will be removed from a later release.
# Operator panel
This simple node executes its actions when punched. It can be used to change a switch and update the corresponding signals or similar applications.
diff --git a/advtrains_luaautomation/atc_rail.lua b/advtrains_luaautomation/atc_rail.lua
index feac8d1..0bb9871 100644
--- a/advtrains_luaautomation/atc_rail.lua
+++ b/advtrains_luaautomation/atc_rail.lua
@@ -67,13 +67,20 @@ function r.fire_event(pos, evtdata)
return false
end,
set_shunt = function()
- -- enable shunting mode
if not train_id then return false end
- train.is_shunt = true
+ train.autocouple = true
end,
unset_shunt = function()
if not train_id then return false end
- train.is_shunt = nil
+ train.autocouple = nil
+ end,
+ set_autcouple = function ()
+ if not train_id then return false end
+ train.autocouple = true
+ end,
+ unset_autocouple = function ()
+ if not train_id then return false end
+ train.autocouple = nil
end,
set_line = function(line)
if type(line)~="string" and type(line)~="number" then