aboutsummaryrefslogtreecommitdiff
path: root/timer/src/timer.c
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2026-04-05 14:47:39 -0700
committer3gg <3gg@shellblade.net>2026-04-05 14:47:39 -0700
commite97bd18127fe019dd14256d807f9ea5d06cc36b1 (patch)
tree8ebb8c91dd7fa80c9d3a39620eda7498e8400c1a /timer/src/timer.c
parent806a018b5f523a7f38104268ff7b06c900dd7d32 (diff)
Add timer_advance for virtual simulation
Diffstat (limited to 'timer/src/timer.c')
-rw-r--r--timer/src/timer.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/timer/src/timer.c b/timer/src/timer.c
index d886f59..c934077 100644
--- a/timer/src/timer.c
+++ b/timer/src/timer.c
@@ -37,11 +37,20 @@ void timer_start(Timer* timer) {
37 timer->delta_time = 0; 37 timer->delta_time = 0;
38} 38}
39 39
40static void timer_update(Timer* timer, time_point this_tick) {
41 timer->running_time = time_diff(timer->start_time, this_tick);
42 timer->delta_time = time_diff(timer->last_tick, this_tick);
43 timer->last_tick = this_tick;
44}
45
40void timer_tick(Timer* timer) { 46void timer_tick(Timer* timer) {
41 const time_point this_tick = time_now(); 47 const time_point this_tick = time_now();
42 timer->running_time = time_diff(timer->start_time, this_tick); 48 timer_update(timer, this_tick);
43 timer->delta_time = time_diff(timer->last_tick, this_tick); 49}
44 timer->last_tick = this_tick; 50
51void timer_advance(Timer* timer, time_delta t) {
52 const time_point this_tick = time_add(timer->start_time, t);
53 timer_update(timer, this_tick);
45} 54}
46 55
47time_point time_now(void) { 56time_point time_now(void) {