void calendar::sync() { year = turn_number / year_turns(); season = season_type(turn_number / DAYS(season_length()) % 4); day = turn_number / DAYS(1) % season_length(); hour = turn_number / HOURS(1) % 24; minute = turn_number / MINUTES(1) % 60; second = (turn_number * 6) % 60; }
calendar::calendar(int Minute, int Hour, int Day, season_type Season, int Year) { turn_number = MINUTES(Minute) + HOURS(Hour) + DAYS(Day) + Season * season_length() + Year * year_turns(); sync(); }