diff options
author | rubenwardy <rubenwardy@gmail.com> | 2017-09-20 17:05:04 +0100 |
---|---|---|
committer | orwell96 <mono96.mml@gmail.com> | 2017-09-20 18:05:04 +0200 |
commit | d65c4916ceaeed6eec5fe3f344d4e71b3c96a80b (patch) | |
tree | ae2a4a1ca5bdbcb0a2a867287d4556f92478405a /advtrains/debugringbuffer.lua | |
parent | b75c83ea43bb9f6e3bee2b4db955e2a9e7be885e (diff) | |
download | advtrains-d65c4916ceaeed6eec5fe3f344d4e71b3c96a80b.tar.gz advtrains-d65c4916ceaeed6eec5fe3f344d4e71b3c96a80b.tar.bz2 advtrains-d65c4916ceaeed6eec5fe3f344d4e71b3c96a80b.zip |
Remove zip release files, move mod to root, exclude assets from Makefile (#92)
Diffstat (limited to 'advtrains/debugringbuffer.lua')
-rw-r--r-- | advtrains/debugringbuffer.lua | 44 |
1 files changed, 44 insertions, 0 deletions
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. + }) |