From a731ee538cec8fceaf3db92899f248989a901c9f Mon Sep 17 00:00:00 2001 From: "p.kosyh" Date: Thu, 21 Jan 2010 08:17:05 +0000 Subject: [PATCH] timer update --- src/sdl-instead/game.c | 2 +- stead/stead.lua | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/sdl-instead/game.c b/src/sdl-instead/game.c index aba8aa3..85fa216 100644 --- a/src/sdl-instead/game.c +++ b/src/sdl-instead/game.c @@ -2173,7 +2173,7 @@ int game_loop(void) while ((rc = input(&ev, 1)) == AGAIN); if (rc == -1) {/* close */ break; - } else if (curgame_dir && (ev.type == KEY_DOWN || ev.type == KEY_UP) + } else if (curgame_dir && (ev.type == KEY_DOWN || ev.type == KEY_UP) && !game_input((ev.type == KEY_DOWN), ev.sym)) { ; /* all is done in game_input */ } else if (((ev.type == KEY_DOWN) || (ev.type == KEY_UP)) && diff --git a/stead/stead.lua b/stead/stead.lua index 6d4f286..03e0ea8 100644 --- a/stead/stead.lua +++ b/stead/stead.lua @@ -6,11 +6,14 @@ stead = { io = io, call_top = 0, cctx = { txt = nil, self = nil }, - timer = function(s) - return false + timer = function() + if type(timer) == 'table' and type(timer.callback) == 'function' then + return timer:callback(); + end + return end, - input = function(s) - return false + input = function(pressed, event) + return end, } @@ -1816,7 +1819,7 @@ function delete(v) allocator:delete(v); end -timer = obj { +timer = obj { -- timer calls stead.timer callback nam = 'timer', ini = function(s) if s._timer ~= nil and s._timer ~= 0 then