dragonfire-engine-teran/builtin/game
Auke Kok ad884f23d4 New timer design.
I could honestly not make much sense of the timer implementation
that was here. Instead I've implemented the type of timer algorithm
that I've used before, and tested it instead.

The concept is extremely simple: all timers are put in an ordered
list. We check every server tick if any of the timers have
elapsed, and execute the function associated with this timer.

We know that many timers by themselves cause new timers to be
added to this list, so we iterate *backwards* over the timer
list. This means that new timers being added while timers are
being executed, can never be executed in the same function pass,
as they are always appended to the table *after* the end of
the table, which we will never reach in the current pass over
all the table elements.

We switch time keeping to minetest.get_us_time(). dtime is
likely unreliable and we have our own high-res timer that we
can fix if it is indeed broken. This removes the need to do
any sort of time keeping.
2016-01-29 01:04:51 -05:00
..
auth.lua SAPI: Track last executed mod and include in error messages 2015-08-12 23:56:12 -04:00
chatcommands.lua Add callback parameter for core.emerge_area() 2015-11-02 18:43:09 -05:00
constants.lua Improve LuaVoxelManip documentation 2015-11-07 11:59:24 -05:00
deprecated.lua Refactor logging 2015-10-14 01:03:54 -04:00
detached_inventory.lua SAPI: Track last executed mod and include in error messages 2015-08-12 23:56:12 -04:00
falling.lua Minor tweaks __builtin:falling_node 2015-09-01 19:14:08 +02:00
features.lua Small fixes of minetest.has_feature 2015-09-03 06:10:17 +02:00
forceloading.lua Fix crash reported here: https://forum.minetest.net/viewtopic.php?f=6&t=9726 2014-07-13 11:05:07 +02:00
init.lua Add callback parameter for core.emerge_area() 2015-11-02 18:43:09 -05:00
item.lua Liquids: Flow into and destroy 'floodable' nodes 2016-01-07 05:57:19 +00:00
item_entity.lua Show infotext with description for item entities 2016-01-18 17:21:41 +00:00
misc.lua New timer design. 2016-01-29 01:04:51 -05:00
mod_profiling.lua Fix retval of entity.get_staticdata beeing lost while profiling is enabled 2014-08-24 01:56:27 +02:00
privileges.lua Use "core" namespace internally 2014-05-08 13:02:04 -04:00
register.lua Liquids: Flow into and destroy 'floodable' nodes 2016-01-07 05:57:19 +00:00
statbars.lua Hud: Modify Y-positioning of health/breath starbars to prevent overlapping with Hotbar 2015-02-08 12:47:45 -05:00
static_spawn.lua Log static_spawn error only once 2015-11-21 00:13:28 +01:00
voxelarea.lua Improved VoxelArea variable locality, thus performance 2014-11-14 00:10:09 +10:00