| 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; |