aboutsummaryrefslogtreecommitdiff
path: root/advtrains
diff options
context:
space:
mode:
Diffstat (limited to 'advtrains')
-rw-r--r--advtrains/trainlogic.lua22
1 files changed, 15 insertions, 7 deletions
diff --git a/advtrains/trainlogic.lua b/advtrains/trainlogic.lua
index 75a1e2e..8c6142d 100644
--- a/advtrains/trainlogic.lua
+++ b/advtrains/trainlogic.lua
@@ -239,12 +239,12 @@ function advtrains.train_ensure_init(id, train)
atwarn(debug.traceback())
return nil
end
+
+ train.dirty = true
+ if train.no_step then return nil end
advtrains.profiler:enter("train_ensure_init")
- train.dirty = true
- if train.no_step then return nil end
-
assertdef(train, "velocity", 0)
--assertdef(train, "tarvelocity", 0)
assertdef(train, "acceleration", 0)
@@ -636,18 +636,20 @@ local callbacks_approach_node, run_callbacks_approach_node = mknodecallback("app
local function tnc_call_enter_callback(pos, train_id, train, index)
- --atdebug("tnc enter",pos,train_id)
+ advtrains.profiler:enter("tnc_node_enter_callback")
local node = advtrains.ndb.get_node(pos) --this spares the check if node is nil, it has a name in any case
local mregnode=minetest.registered_nodes[node.name]
if mregnode and mregnode.advtrains and mregnode.advtrains.on_train_enter then
mregnode.advtrains.on_train_enter(pos, train_id, train, index)
end
-
+
-- call other registered callbacks
run_callbacks_enter_node(pos, train_id, train, index)
+
+ advtrains.profiler:leave("tnc_node_enter_callback")
end
local function tnc_call_leave_callback(pos, train_id, train, index)
- --atdebug("tnc leave",pos,train_id)
+ advtrains.profiler:enter("tnc_node_leave_callback")
local node = advtrains.ndb.get_node(pos) --this spares the check if node is nil, it has a name in any case
local mregnode=minetest.registered_nodes[node.name]
if mregnode and mregnode.advtrains and mregnode.advtrains.on_train_leave then
@@ -656,10 +658,12 @@ local function tnc_call_leave_callback(pos, train_id, train, index)
-- call other registered callbacks
run_callbacks_leave_node(pos, train_id, train, index)
+
+ advtrains.profiler:leave("tnc_node_leave_callback")
end
function advtrains.tnc_call_approach_callback(pos, train_id, train, index, lzbdata)
- --atdebug("tnc approach",pos,train_id, lzbdata)
+ advtrains.profiler:enter("tnc_node_approach_callback")
local node = advtrains.ndb.get_node(pos) --this spares the check if node is nil, it has a name in any case
local mregnode=minetest.registered_nodes[node.name]
if mregnode and mregnode.advtrains and mregnode.advtrains.on_train_approach then
@@ -668,6 +672,8 @@ function advtrains.tnc_call_approach_callback(pos, train_id, train, index, lzbda
-- call other registered callbacks
run_callbacks_approach_node(pos, train_id, train, index, lzbdata)
+
+ advtrains.profiler:leave("tnc_node_approach_callback")
end
@@ -680,6 +686,7 @@ advtrains.te_register_on_new_path(function(id, train)
end)
advtrains.te_register_on_update(function(id, train)
+ advtrains.profiler:enter("te_update_callback")
local new_index = atround(train.index)
local new_end_index = atround(train.end_index)
local old_index = train.tnc.old_index
@@ -696,6 +703,7 @@ advtrains.te_register_on_update(function(id, train)
end
train.tnc.old_index = new_index
train.tnc.old_end_index = new_end_index
+ advtrains.profiler:leave("te_update_callback")
end)
advtrains.te_register_on_create(function(id, train)