8#include <SDL3/SDL_timer.h>
18 auto now() noexcept ->
std::chrono::local_time<
std::chrono::system_clock::duration>
20 return std::chrono::zoned_time {std::chrono::current_zone(), std::chrono::system_clock::now()}.get_local_time();
25 const auto duration =
now().time_since_epoch();
26 return std::chrono::duration_cast<std::chrono::nanoseconds>(duration).count();
29 void dt(
const double dt)
noexcept
39 void delay(
const int milli)
noexcept
41 SDL_DelayPrecise(SDL_MS_TO_NS(milli));
44 std::uint64_t
ms_to_ns(
const std::uint64_t ms)
noexcept
46 return SDL_MS_TO_NS(ms);
49 std::uint64_t
ns_to_ms(
const std::uint64_t ns)
noexcept
51 return SDL_NS_TO_MS(ns);
54 std::uint64_t
ns_to_s(
const std::uint64_t ns)
noexcept
56 return SDL_NS_TO_SECONDS(ns);
59 std::uint64_t
ns_to_us(
const std::uint64_t ns)
noexcept
61 return SDL_NS_TO_US(ns);
64 std::uint64_t
s_to_ns(
const std::uint64_t s)
noexcept
66 return SDL_SECONDS_TO_NS(s);
69 std::uint64_t
us_to_ns(
const std::uint64_t us)
noexcept
71 return SDL_US_TO_NS(us);
std::uint64_t ms_to_ns(const std::uint64_t ms) noexcept
Converts milliseconds to nanoseconds.
void delay(const int milli) noexcept
Delay the current thread for x time.
std::uint64_t s_to_ns(const std::uint64_t s) noexcept
Converts seconds to nanoseconds.
std::uint64_t us_to_ns(const std::uint64_t us) noexcept
Converts microseconds to nanoseconds.
std::uint64_t ns_to_ms(const std::uint64_t ns) noexcept
Converts nanoseconds to milliseconds.
std::uint64_t ns_to_us(const std::uint64_t ns) noexcept
Converts nanoseconds to microseconds.
static double s_delta_time
void dt(const double dt) noexcept
Set galaxy delta time.
auto now() noexcept -> std::chrono::local_time< std::chrono::system_clock::duration >
Current local time.
std::uint64_t ns_to_s(const std::uint64_t ns) noexcept
Converts nanoseconds to seconds.
std::uint64_t time_since_epoch() noexcept
Time since epoch.