From 0ae0b6a768ebb33d3835875e3a3b5dc30379c92b Mon Sep 17 00:00:00 2001 From: orwell96 Date: Mon, 29 Oct 2018 18:12:00 +0100 Subject: Fix signal_get_aspect() Had a series of bugs as result, like auto-clearing IPs and not-working lzb --- advtrains_interlocking/lzb.lua | 3 ++- advtrains_interlocking/signal_api.lua | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/advtrains_interlocking/lzb.lua b/advtrains_interlocking/lzb.lua index 54b1a7a..77b115d 100644 --- a/advtrains_interlocking/lzb.lua +++ b/advtrains_interlocking/lzb.lua @@ -117,7 +117,6 @@ local function look_ahead(id, train) idx = trav, spd = lspd, }) - -- TODO register aspect change callback! end end end @@ -126,6 +125,8 @@ local function look_ahead(id, train) lzb.travspd = travspd lzb.travwspd = travwspd + --train.debug = dump(lzb) + end --[[ diff --git a/advtrains_interlocking/signal_api.lua b/advtrains_interlocking/signal_api.lua index 9238587..021cbfd 100644 --- a/advtrains_interlocking/signal_api.lua +++ b/advtrains_interlocking/signal_api.lua @@ -287,7 +287,7 @@ function advtrains.interlocking.signal_get_supposed_aspect(pos) end -- Returns the actual aspect of the signal at position, as returned by the nodedef. --- returns nil +-- returns nil when there's no signal at the position function advtrains.interlocking.signal_get_aspect(pos) local node=advtrains.ndb.get_node(pos) local ndef=minetest.registered_nodes[node.name] @@ -295,8 +295,9 @@ function advtrains.interlocking.signal_get_aspect(pos) local asp = ndef.advtrains.get_aspect(pos, node) if not asp then asp = DANGER end fillout_aspect(asp) - return + return asp end + return nil end local players_assign_ip = {} -- cgit v1.2.3