version 1.12 | | version 1.13 |
---|
| | |
* Game loop for Inferno | | * Game loop for Inferno |
* | | * |
* $Log$ | | * $Log$ |
| | * Revision 1.13 1999/10/12 06:33:11 donut |
| | * new maxfps code, doesn't delay unless you are really faster than allowed |
| | * |
* Revision 1.12 1999/10/07 21:00:59 donut | | * Revision 1.12 1999/10/07 21:00:59 donut |
* support for variable game font sizes, wider aspect shrinkage in highres (ala statusbar mode), and renderstats & badtexture cheats | | * support for variable game font sizes, wider aspect shrinkage in highres (ala statusbar mode), and renderstats & badtexture cheats |
* | | * |
| | |
_last_frametime = last_frametime; | | _last_frametime = last_frametime; |
#endif | | #endif |
| | |
//added on 8/18/98 by Victor Rachels to add maximum framerate | | //new maxfps code, doesn't delay unless the frametime is actually less than the minimum, not much difference normally, but can improve performance with -nicefps a lot. -Matt Mueller |
fix CurrTime; | | do { |
fix NextFrame; | | |
fix last_value=last_timer_value; | | |
NextFrame=GameTime+F1_0/maxfps; | | |
CurrTime=GameTime; | | |
while(NextFrame>CurrTime) | | |
{ | | |
//added 9/2/98 by Victor Rachels to maybe free some cpu time | | |
if(use_nice_fps) | | |
d_delay(1); | | |
//end addition - Victor Rachels | | |
timer_value = timer_get_fixed_seconds(); | | |
CurrTime += (timer_value - last_value); | | |
last_value = timer_value; | | |
} | | |
//end addition - Victor Rachels | | |
| | |
| | |
timer_value = timer_get_fixed_seconds(); | | timer_value = timer_get_fixed_seconds(); |
FrameTime = timer_value - last_timer_value; | | FrameTime = timer_value - last_timer_value; |
| | if (use_nice_fps && FrameTime>=F1_0/maxfps) |
| | d_delay(1); |
| | }while (FrameTime<F1_0/maxfps); |
| | |
#if defined(TIMER_TEST) && !defined(NDEBUG) | | #if defined(TIMER_TEST) && !defined(NDEBUG) |
_timer_value = timer_value; | | _timer_value = timer_value; |