forked from Mirrorlandia_minetest/minetest
minetest.after(): simplify further, pause in singleplayer (#5500)
Using the `dtime` value entirely, this will stop the clock if the game is paused in singleplayer. Since most of the clocks were fixed a long time ago, this should again be safe to use.
This commit is contained in:
parent
26f4a5c2d1
commit
75fb3e4730
@ -1,18 +1,8 @@
|
|||||||
local jobs = {}
|
local jobs = {}
|
||||||
local time = 0.0
|
local time = 0.0
|
||||||
local last = core.get_us_time() / 1000000
|
|
||||||
|
|
||||||
core.register_globalstep(function(dtime)
|
core.register_globalstep(function(dtime)
|
||||||
local new = core.get_us_time() / 1000000
|
time = time + dtime
|
||||||
if new > last then
|
|
||||||
time = time + (new - last)
|
|
||||||
else
|
|
||||||
-- Overflow, we may lose a little bit of time here but
|
|
||||||
-- only 1 tick max, potentially running timers slightly
|
|
||||||
-- too early.
|
|
||||||
time = time + new
|
|
||||||
end
|
|
||||||
last = new
|
|
||||||
|
|
||||||
if #jobs < 1 then
|
if #jobs < 1 then
|
||||||
return
|
return
|
||||||
|
Loading…
Reference in New Issue
Block a user