aboutsummaryrefslogtreecommitdiff
path: root/advtrains
diff options
context:
space:
mode:
Diffstat (limited to 'advtrains')
-rw-r--r--advtrains/occupation.lua2
-rw-r--r--advtrains/path.lua6
2 files changed, 5 insertions, 3 deletions
diff --git a/advtrains/occupation.lua b/advtrains/occupation.lua
index 66ad36c..20a986e 100644
--- a/advtrains/occupation.lua
+++ b/advtrains/occupation.lua
@@ -103,9 +103,7 @@ function o.clear_all_items(train_id, pos)
local t = occget(pos)
if not t then return end
local i = 1
- local _cnt = 0
while t[i] do
- _cnt = _cnt + 1; if _cnt > 10000 then error("Loop trap in advtrains.occ,clear_all_items was triggered!") end
if t[i]==train_id then
table.remove(t, i)
table.remove(t, i)
diff --git a/advtrains/path.lua b/advtrains/path.lua
index 84d295d..57829ad 100644
--- a/advtrains/path.lua
+++ b/advtrains/path.lua
@@ -119,7 +119,11 @@ function advtrains.path_invalidate(train, ignore_lock)
--atdebug("path_invalidate for",train.id)
local _cnt = 0
for i,p in pairs(train.path) do
- _cnt = _cnt + 1; if _cnt > 10000 then error("Loop trap in advtrains.path_invalidate was triggered!") end
+ _cnt = _cnt + 1
+ if _cnt > 10000 then
+ atdebug(train)
+ error("Loop trap in advtrains.path_invalidate was triggered!")
+ end
advtrains.occ.clear_all_items(train.id, advtrains.round_vector_floor_y(p))
end
--atdebug("occ cleared")