aboutsummaryrefslogtreecommitdiff
path: root/context.lua
diff options
context:
space:
mode:
Diffstat (limited to 'context.lua')
-rw-r--r--context.lua45
1 files changed, 21 insertions, 24 deletions
diff --git a/context.lua b/context.lua
index cf9b343..5f22100 100644
--- a/context.lua
+++ b/context.lua
@@ -1,30 +1,27 @@
+local storage = mesecons_debug.storage
-- returns the context data for the node-position
mesecons_debug.get_context = function(pos)
- local blockpos = mesecons_debug.get_blockpos(pos)
- local hash = minetest.hash_node_position(blockpos)
+ local hash = mesecons_debug.hashpos(pos)
+ local ctx = mesecons_debug.context_store[hash]
- local ctx = mesecons_debug.context_store[hash]
- if not ctx then
- -- create a new context
- ctx = {
- -- usage in us
- micros = 0,
- -- average micros per second
- avg_micros = 0,
- -- time penalty
- penalty = 0,
+ if not ctx then
+ -- create a new context
+ ctx = {
+ -- usage in us
+ micros = 0,
+ -- "running average" micros per second
+ avg_micros_per_second = 0,
+ -- time penalty
+ penalty = 0,
+ -- modification time
+ mtime = minetest.get_us_time(),
+ -- whitelist status
+ whitelisted = storage:contains(hash)
+ }
+ mesecons_debug.context_store[hash] = ctx
+ mesecons_debug.context_store_size = mesecons_debug.context_store_size + 1
+ end
- -- mtime
- mtime = minetest.get_us_time(),
- }
- mesecons_debug.context_store[hash] = ctx
- end
-
- -- update context
-
- -- whitelist flag
- ctx.whitelisted = mesecons_debug.whitelist[hash]
-
- return ctx
+ return ctx
end