summary refs log tree commit diff
path: root/src/Time.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Time.hpp')
-rw-r--r--src/Time.hpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/Time.hpp b/src/Time.hpp
index 04f22c8..64ab4a2 100644
--- a/src/Time.hpp
+++ b/src/Time.hpp
@@ -1,5 +1,6 @@
 #pragma once
 
+#include "Common/Pure.hpp"
 #include "Common/Sizes.hpp"
 
 namespace MC {
@@ -14,9 +15,17 @@ public:
     void start_frame();
     void end_frame();
 
-    U64 total_frames() const;
-    Tick tick() const;
-    Real delta() const;
+    // The total number of frames that have been rendered.
+    // Starts at 1, with 0 being reserved as the empty value.
+    PURE U64 total_frames() const;
+    // The current frame number.
+    // Starts at 1, with 0 being reserved as the empty value.
+    // This is the same as total_frames(), but is more descriptive, sometimes.
+    // :)
+    PURE Tick tick() const;
+    PURE Real delta() const;
+
+    PURE Timestamp frame_start() const;
 
     static Timestamp now();
 
@@ -24,7 +33,7 @@ private:
     static constexpr Real delta_max = 1.0 / 10.0;
     static constexpr Real delta_min = 1.0 / 1000.0;
 
-    U64 m_total_frames = 0;
+    U64 m_total_frames = 1;
 
     Timestamp m_current_frame_start = 0;
     Real m_delta = 0;