6 bool timelapse = false;
7 static f64 time_of_day_offset;
12 clock_gettime(CLOCK_REALTIME, &ts);
13 return ((f64) ts.tv_sec + ts.tv_nsec / 1.0e9) * (timelapse ? 100.0 : 1.0);
18 return fmod(get_unix_time() - time_of_day_offset, MINUTES_PER_DAY);
21 void set_time_of_day(f64 new_time)
23 time_of_day_offset = get_unix_time() - new_time;
28 return 2.0 * M_PI * (f64) get_time_of_day() / MINUTES_PER_DAY + M_PI;
33 return f64_clamp(cos(get_sun_angle()) * 2.0 + 0.5, 0.0, 1.0);
36 void split_time_of_day(int *hours, int *minutes)
38 int time_of_day = get_time_of_day();
40 *minutes = time_of_day % MINUTES_PER_HOUR;
41 *hours = time_of_day / MINUTES_PER_HOUR;