Make vector.zero callable

This is needed to keep compatibility with new minetest builtin code
This commit is contained in:
Desour 2021-09-05 00:01:16 +02:00 committed by HybridDog
parent f8c12047d5
commit ed6b514057
1 changed files with 10 additions and 1 deletions

View File

@ -334,7 +334,16 @@ function funcs.straightdelay(s, v, a)
return (math.sqrt(v*v+2*a*s)-v)/a
end
vector.zero = vector.new()
-- override vector.zero
-- builtin used not to have the vector.zero function. to keep compatibility,
-- vector.zero has to be a 0-vector and vector.zero() has to return a 0-vector
-- => we make a callable 0-vector table
if not vector.zero then
vector.zero = {x = 0, y = 0, z = 0}
else
local old_zero = vector.zero
vector.zero = setmetatable({x = 0, y = 0, z = 0}, {__call = old_zero})
end
function funcs.sun_dir(time)
if not time then