index
:
minetest.git
gpcf
lifo-fixes
release
modified minetest for gpcfs purposes
gpcf
about
summary
refs
log
tree
commit
diff
log msg
author
committer
range
path:
root
/
src
/
script
/
scripting_client.h
diff options
context:
1
2
3
4
5
6
7
8
9
10
15
20
25
30
35
40
space:
include
ignore
mode:
unified
ssdiff
stat only
Diffstat
(limited to 'src/script/scripting_client.h')
0 files changed, 0 insertions, 0 deletions
an class="hl opt">(dtime
)
time
=
time
+
dtime
if
time
<
time_next
then
return
end
time_next
=
math
.
huge
-- Iterate backwards so that we miss any new timers added by
-- a timer callback.
for
i
= #
jobs
,
1
, -
1
do
local
job
=
jobs
[
i
]
if
time
>=
job
.
expire
then
core
.
set_last_run_mod
(
job
.
mod_origin
)
job
.
func
(
unpack
(
job
.
arg
))
local
jobs_l
= #
jobs jobs
[
i
] =
jobs
[
jobs_l
]
jobs
[
jobs_l
] =
nil
elseif
job
.
expire
<
time_next
then
time_next
=
job
.
expire
end
end
end
)
function
core
.
after
(
after
,
func
, ...)
assert
(
tonumber
(
after
)
and
type
(
func
) ==
"function"
,
"Invalid minetest.after invocation"
)
local
expire
=
time
+
after jobs
[#
jobs
+
1
] = {
func
=
func
,
expire
=
expire
,
arg
= {...},
mod_origin
=
core
.
get_last_run_mod
()
}
time_next
=
math
.
min
(
time_next
,
expire
)
end