Files
dusklight/include/dusk/game_clock.h
T
2026-06-01 22:56:14 -07:00

31 lines
788 B
C++

#pragma once
namespace dusk::game_clock {
void ensure_initialized();
void reset_frame_timer();
constexpr float sim_pace() { return 1.0f / 30.0f; }
constexpr float period_for_original_frames(float frame_count) { return frame_count * sim_pace(); }
constexpr float ui_maximum_dt() { return 0.05f; }
constexpr float ui_initial_dt() { return 1.0f / 60.0f; }
struct MainLoopPacer {
float presentation_dt_seconds;
bool is_interpolating;
int sim_ticks_to_run;
float sim_pace;
};
MainLoopPacer advance_main_loop();
void commit_sim_tick();
float sample_interpolation_step();
float consume_interval(const void* consumer);
// Runtime sim rate override (default 30 hz). Resets the frame timer.
void set_sim_rate(float hz);
float get_sim_rate();
} // namespace dusk::game_clock