aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororwell96 <orwell@bleipb.de>2018-07-04 14:04:41 +0200
committerorwell96 <orwell@bleipb.de>2018-07-04 14:04:41 +0200
commit9586a4d70922e24ba45ef018fc48455f31c4cfbb (patch)
treed781f1d4b32dc237da2c1f3a6b1f33cb2a71ec02
parent820503ba81b709cecd86d621dd68e7701fe10222 (diff)
downloadadvtrains-9586a4d70922e24ba45ef018fc48455f31c4cfbb.tar.gz
advtrains-9586a4d70922e24ba45ef018fc48455f31c4cfbb.tar.bz2
advtrains-9586a4d70922e24ba45ef018fc48455f31c4cfbb.zip
Add off-track train flag, fixes wagon object property reset on reversing
-rw-r--r--advtrains/path.lua2
-rw-r--r--advtrains/trainlogic.lua2
-rw-r--r--advtrains/wagons.lua2
3 files changed, 4 insertions, 2 deletions
diff --git a/advtrains/path.lua b/advtrains/path.lua
index 4a81ce9..19b4e78 100644
--- a/advtrains/path.lua
+++ b/advtrains/path.lua
@@ -115,6 +115,8 @@ function advtrains.path_invalidate(train)
train.path_trk_b=0
train.path_req_f=0
train.path_req_b=0
+
+ train.dirty = true
end
-- Prints a path using the passed print function
diff --git a/advtrains/trainlogic.lua b/advtrains/trainlogic.lua
index 6c00fa5..e21e9a0 100644
--- a/advtrains/trainlogic.lua
+++ b/advtrains/trainlogic.lua
@@ -283,7 +283,7 @@ function advtrains.train_step_b(id, train, dtime)
--apply off-track handling:
local front_off_track = train.index>train.path_trk_f
local back_off_track=train.end_index<train.path_trk_b
- local pprint
+ train.off_track = front_off_track or back_off_track
if front_off_track then
tarvel_cap=0
diff --git a/advtrains/wagons.lua b/advtrains/wagons.lua
index cb139da..afd66d7 100644
--- a/advtrains/wagons.lua
+++ b/advtrains/wagons.lua
@@ -305,7 +305,7 @@ function wagon:on_step(dtime)
local train=self:train()
--show off-track information in outside text instead of notifying the whole server about this
- if not train.dirty and train.end_index < train.path_trk_b or train.index > train.path_trk_f then
+ if train.off_track then
outside = outside .."\n!!! Train off track !!!"
end