diff options
author | orwell <orwell@bleipb.de> | 2025-02-18 00:18:59 +0100 |
---|---|---|
committer | orwell <orwell@bleipb.de> | 2025-02-18 00:18:59 +0100 |
commit | 32bc5704d4894fe749d55a099dcb5039cf7de9a1 (patch) | |
tree | 8704d038a8f5b3594dbae97619d4024ae1c6f4b7 /advtrains | |
parent | 5ba1c48589e855ab3143242de0eafe2890589969 (diff) | |
download | advtrains-32bc5704d4894fe749d55a099dcb5039cf7de9a1.tar.gz advtrains-32bc5704d4894fe749d55a099dcb5039cf7de9a1.tar.bz2 advtrains-32bc5704d4894fe749d55a099dcb5039cf7de9a1.zip |
The trap triggered, improve outputroute_prog_rework
Diffstat (limited to 'advtrains')
-rw-r--r-- | advtrains/occupation.lua | 2 | ||||
-rw-r--r-- | advtrains/path.lua | 6 |
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") |