int last_framecount = 0, last_step_count = 0;
unsigned long old_ticks, ticks = 0, last_frame_tick = 0;
unsigned long step_count = 0;
- double last_fps = 0, last_sps = 0;
+ double last_fps = 0, last_sps = 0, fade_amount;
double step_time = 0, true_time = 0;
init_camera(&camera);
if (last_frame_tick + (1000 * 1000) / MAX_FPS > ticks)
continue;
- last_frame_tick = ticks;
-
SDL_LockSurface(screen);
if (status.tracers_enabled &&
!camera.speed.x && !camera.speed.y &&
camera.zoom_rate == 1) {
- fade_buf(screen, 10 * true_time);
+ fade_amount = (ticks - last_frame_tick) /
+ (1000 * 1000.0) * 20;
+ fade_buf(screen, fade_amount);
} else {
clear_buf(screen);
}
SDL_Flip(screen);
+ last_frame_tick = ticks;
+
if (last_fps_time + (500 * 1000) < ticks) {
last_framecount = framecount - last_framecount;
last_fps = last_framecount * 1000 * 1000 /