aboutsummaryrefslogtreecommitdiff
path: root/advtrains
diff options
context:
space:
mode:
Diffstat (limited to 'advtrains')
-rw-r--r--advtrains/api_doc.txt7
-rw-r--r--advtrains/wagons.lua6
2 files changed, 9 insertions, 4 deletions
diff --git a/advtrains/api_doc.txt b/advtrains/api_doc.txt
index 9ea3cb6..e86f16b 100644
--- a/advtrains/api_doc.txt
+++ b/advtrains/api_doc.txt
@@ -99,8 +99,9 @@ advtrains.register_wagon(name, prototype, description, inventory_image)
^- optional: Execute custom code on every step
custom_on_activate = function(self, dtime_s) end
^- optional: Execute custom code on activate. Staticdata does not need to be saved and restored since all properties written in 'self' are preserved over unloads.
- update_animation = function(self, velocity) end
- ^- optional: Function that is called whenever the train's velocity changes or every 2 seconds. Used to call 'self.object:update_animation()' if needed.
+ custom_on_velocity_change = function(self, velocity, old_velocity) end
+ ^- optional: Function that is called whenever the train's velocity changes or every 2 seconds. Used to call 'self.object:update_animation()' if needed.
+ ^- for compatibility reasons the name 'update_animation' for this function is still supported.
}
@@ -164,4 +165,4 @@ minetest.register_node(nodename, {
on_train_leave=function(pos, train_id) end
^- called when a train leaves the rail
}
-}) \ No newline at end of file
+})
diff --git a/advtrains/wagons.lua b/advtrains/wagons.lua
index 3892813..4306b50 100644
--- a/advtrains/wagons.lua
+++ b/advtrains/wagons.lua
@@ -502,12 +502,16 @@ function wagon:on_step(dtime)
self.object:setyaw(yaw)
self.updatepct_timer=2
if self.update_animation then
- self:update_animation(gp.velocity)
+ self:update_animation(gp.velocity, self.old_velocity)
+ end
+ if self.custom_on_velocity_change then
+ self:custom_on_velocity_change(gp.velocity, self.old_velocity)
end
end
self.old_velocity_vector=velocityvec
+ self.old_velocity = gp.velocity
self.old_acceleration_vector=accelerationvec
self.old_yaw=yaw
atprintbm("wagon step", t)