diff options
Diffstat (limited to 'src/i_timer.c')
-rw-r--r-- | src/i_timer.c | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/i_timer.c b/src/i_timer.c new file mode 100644 index 00000000..927f0713 --- /dev/null +++ b/src/i_timer.c @@ -0,0 +1,86 @@ +// Emacs style mode select -*- C++ -*- +//----------------------------------------------------------------------------- +// +// $Id: i_timer.c 455 2006-03-30 19:08:37Z fraggle $ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +// 02111-1307, USA. +// +// $Log$ +// +// DESCRIPTION: +// Timer functionssss. +// +//----------------------------------------------------------------------------- + +#include <SDL.h> + +#include "i_timer.h" + +// +// I_GetTime +// returns time in 1/35th second tics +// + +static Uint32 basetime = 0; + +int I_GetTime (void) +{ + Uint32 ticks; + + ticks = SDL_GetTicks(); + + if (basetime == 0) + basetime = ticks; + + ticks -= basetime; + + return (ticks * 35) / 1000; +} + +// +// Same as I_GetTime, but returns time in milliseconds +// + +int I_GetTimeMS(void) +{ + Uint32 ticks; + + ticks = SDL_GetTicks(); + + if (basetime == 0) + basetime = ticks; + + return ticks - basetime; +} + +// Sleep for a specified number of ms + +void I_Sleep(int ms) +{ + SDL_Delay(ms); +} + + +void I_InitTimer(void) +{ + // initialise timer + + SDL_Init(SDL_INIT_TIMER); +} + |