From d65c4916ceaeed6eec5fe3f344d4e71b3c96a80b Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Wed, 20 Sep 2017 17:05:04 +0100 Subject: Remove zip release files, move mod to root, exclude assets from Makefile (#92) --- advtrains/debugringbuffer.lua | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 advtrains/debugringbuffer.lua (limited to 'advtrains/debugringbuffer.lua') diff --git a/advtrains/debugringbuffer.lua b/advtrains/debugringbuffer.lua new file mode 100644 index 0000000..704c0c5 --- /dev/null +++ b/advtrains/debugringbuffer.lua @@ -0,0 +1,44 @@ +--so, some ringbuffers one for each train + +local ringbuflen=1000 + +local ringbufs={} +local ringbufcnt={} + +function advtrains.drb_record(tid, msg) + if not ringbufs[tid] then + ringbufs[tid]={} + ringbufcnt[tid]=0 + end + ringbufs[tid][ringbufcnt[tid]]=msg + ringbufcnt[tid]=ringbufcnt[tid]+1 + if ringbufcnt[tid] > ringbuflen then + ringbufcnt[tid]=0 + end +end +function advtrains.drb_dump(tid) + atdebug("Debug ring buffer output for '"..tid.."':") + local stopcnt=ringbufcnt[tid] + if not stopcnt then + atdebug("ID unknown!") + return + end + repeat + atdebug(ringbufs[tid][ringbufcnt[tid]]) + ringbufcnt[tid]=ringbufcnt[tid]+1 + if ringbufcnt[tid] > ringbuflen then + ringbufcnt[tid]=0 + end + until ringbufcnt[tid]==stopcnt +end + +minetest.register_chatcommand("atdebug_show", + { + params = "train sid", -- Short parameter description + description = "Dump debug log", -- Full description + privs = {train_operator=true}, -- Require the "privs" privilege to run + func = function(name, param) + advtrains.drb_dump(param) + end, -- Called when command is run. + -- Returns boolean success and text output. + }) -- cgit v1.2.3