From e97bd18127fe019dd14256d807f9ea5d06cc36b1 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Sun, 5 Apr 2026 14:47:39 -0700 Subject: Add timer_advance for virtual simulation --- timer/src/timer.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'timer/src') 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) { timer->delta_time = 0; } +static void timer_update(Timer* timer, time_point this_tick) { + timer->running_time = time_diff(timer->start_time, this_tick); + timer->delta_time = time_diff(timer->last_tick, this_tick); + timer->last_tick = this_tick; +} + void timer_tick(Timer* timer) { const time_point this_tick = time_now(); - timer->running_time = time_diff(timer->start_time, this_tick); - timer->delta_time = time_diff(timer->last_tick, this_tick); - timer->last_tick = this_tick; + timer_update(timer, this_tick); +} + +void timer_advance(Timer* timer, time_delta t) { + const time_point this_tick = time_add(timer->start_time, t); + timer_update(timer, this_tick); } time_point time_now(void) { -- cgit v1.2.3