aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororwell96 <orwell@bleipb.de>2019-03-15 17:12:10 +0100
committerorwell96 <orwell@bleipb.de>2019-03-15 17:39:31 +0100
commit1227456d46a5e47fa744c37bbf92e05515a871a2 (patch)
treefdbe60e91c32c6eefe8518b23c8633c98b46f78a
parentc90411b880eac30d208508af6960f3415a8b09c6 (diff)
downloadadvtrains-1227456d46a5e47fa744c37bbf92e05515a871a2.tar.gz
advtrains-1227456d46a5e47fa744c37bbf92e05515a871a2.tar.bz2
advtrains-1227456d46a5e47fa744c37bbf92e05515a871a2.zip
Ugly workaround for green signals bug
-rw-r--r--advtrains/init.lua3
-rw-r--r--advtrains_interlocking/ars.lua3
2 files changed, 6 insertions, 0 deletions
diff --git a/advtrains/init.lua b/advtrains/init.lua
index 8173a22..14a5a02 100644
--- a/advtrains/init.lua
+++ b/advtrains/init.lua
@@ -459,6 +459,9 @@ function advtrains.save(remove_players_from_wagons)
atlatc.save()
end
atprint("[save_all]Saved advtrains save files")
+
+ --TODO very simple yet hacky workaround for the "green signals" bug
+ advtrains.invalidate_all_paths()
end
minetest.register_on_shutdown(advtrains.save)
diff --git a/advtrains_interlocking/ars.lua b/advtrains_interlocking/ars.lua
index dd5ff40..ef5d0da 100644
--- a/advtrains_interlocking/ars.lua
+++ b/advtrains_interlocking/ars.lua
@@ -124,5 +124,8 @@ function advtrains.interlocking.ars_check(sigd, train)
--delay routesetting, it should not occur inside train step
-- using after here is OK because that gets called on every path recalculation
minetest.after(0, il.route.update_route, sigd, tcbs, rteid, nil)
+ else
+ -- just "punch" routesetting, just in case callback got lost.
+ minetest.after(0, il.route.update_route, sigd, tcbs, nil, nil)
end
end