From e915b61da6f18efa49b6afacb7e9ca181d59cc5c Mon Sep 17 00:00:00 2001 From: orwell96 Date: Mon, 21 Jan 2019 22:26:11 +0100 Subject: Index NaN check (tracking obscure error detected on LW migration) --- advtrains/trainlogic.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'advtrains') diff --git a/advtrains/trainlogic.lua b/advtrains/trainlogic.lua index bf17133..1406080 100644 --- a/advtrains/trainlogic.lua +++ b/advtrains/trainlogic.lua @@ -454,8 +454,16 @@ function advtrains.train_step_b(id, train, dtime) end --- 4. move train --- - + local oi = train.index train.index=train.index and train.index+((train.velocity/(train.path_dist[math.floor(train.index)] or 1))*dtime) or 0 + if train.index ~= train.index then -- This is a check whether index is "NaN" https://stackoverflow.com/questions/37753694/lua-check-if-a-number-value-is-nan + atwarn("Index of train is NaN!") + advtrains.path_print(train, atwarn) + atwarn("Calculation index=",oi,"+(",train.velocity,"/",train.path_dist[math.floor(train.index)],"*",dtime) + advtrains.path_invalidate(train) + train.wait_for_path = true + return + end recalc_end_index(train) end -- cgit v1.2.3