summaryrefslogtreecommitdiff
path: root/src/timer.rs
diff options
context:
space:
mode:
authorJakob L. Kreuze <jakob@memeware.net>2018-06-12 17:45:19 -0400
committerJakob L. Kreuze <jakob@memeware.net>2018-06-12 17:45:19 -0400
commit527c2f8e341d87a94031644697dec354e9b67910 (patch)
treea61b775b35f0042c5856051d388431109db594ba /src/timer.rs
parentc1fcfc3a58fc0061fb9262c95d728063029e1c2f (diff)
Cleaned up and began to implement tests.
Diffstat (limited to 'src/timer.rs')
-rw-r--r--src/timer.rs49
1 files changed, 0 insertions, 49 deletions
diff --git a/src/timer.rs b/src/timer.rs
deleted file mode 100644
index 1ad1ac5..0000000
--- a/src/timer.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright (C) 2018 Jakob L. Kreuze, All Rights Reserved.
-//
-// This file is part of rebuild.
-//
-// rebuild 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 3 of the License, or (at your option) any later
-// version.
-//
-// rebuild 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
-// rebuild. If not, see <http://www.gnu.org/licenses/>.
-
-extern crate sdl2;
-
-use sdl2::TimerSubsystem;
-
-static const FREQUENCY = 1000;
-
-/// Implementation of a timer for managing game ticks.
-pub struct Timer {
- last_sample: u32,
- ticks_per_second: u32,
- ms_per_u64_tick: f64,
-
- sdl_timer: TimerSubsystem,
-}
-
-impl Timer {
- /// Create a new timer with the given frequency.
- pub fn new(ticks_per_second: u32, sdl_timer: TimerSubsystem) -> Timer {
- let last_sample = sdl_timer.ticks() * tics_per_second / FREQUENCY;
- let ms_per_u64_tick = 1000.0 / sdl_timer.performance_frequency();
- Timer { last_sample, ticks_per_second, ms_per_u64_tick, sdl_timer }
- }
-
- // TODO: Document this.
- pub fn update(&mut self) {
- let ms = self.sdl_timer.ticks();
- let ticks = ms * self.ticks_per_second / FREQUENCY - self.last_sample;
-
- if ticks > 0 {
- self.last_sample += ticks;
- }
- }
-}