src/date_func.h
author rubidium
Thu, 18 Dec 2008 12:23:08 +0000
changeset 10436 8d3a9fbe8f19
parent 9570 8b9c1cbb0077
permissions -rw-r--r--
(svn r14689) -Change: make configure die on commonly made user mistakes, like not having SDL development files or zlib headers installed; you can still compile a dedicated server or a binary without zlib, but you have to explicitly force it.
8140
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
     1
/* $Id$ */
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
     2
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
     3
/** @file date_func.h Functions related to dates. */
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
     4
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
     5
#ifndef DATE_FUNC_H
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
     6
#define DATE_FUNC_H
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
     7
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
     8
#include "date_type.h"
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
     9
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
    10
extern Year      _cur_year;
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
    11
extern Month     _cur_month;
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
    12
extern Date      _date;
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
    13
extern DateFract _date_fract;
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
    14
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
    15
void SetDate(Date date);
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
    16
void ConvertDateToYMD(Date date, YearMonthDay *ymd);
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
    17
Date ConvertYMDToDate(Year year, Month month, Day day);
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
    18
9570
8b9c1cbb0077 (svn r13594) -Feature(ette)[FS#2093]: Supply newgrfs with 'day of month', 'leap year' and 'day of year'.
frosch
parents: 8140
diff changeset
    19
static inline bool IsLeapYear(Year yr)
8b9c1cbb0077 (svn r13594) -Feature(ette)[FS#2093]: Supply newgrfs with 'day of month', 'leap year' and 'day of year'.
frosch
parents: 8140
diff changeset
    20
{
8b9c1cbb0077 (svn r13594) -Feature(ette)[FS#2093]: Supply newgrfs with 'day of month', 'leap year' and 'day of year'.
frosch
parents: 8140
diff changeset
    21
	return yr % 4 == 0 && (yr % 100 != 0 || yr % 400 == 0);
8b9c1cbb0077 (svn r13594) -Feature(ette)[FS#2093]: Supply newgrfs with 'day of month', 'leap year' and 'day of year'.
frosch
parents: 8140
diff changeset
    22
}
8b9c1cbb0077 (svn r13594) -Feature(ette)[FS#2093]: Supply newgrfs with 'day of month', 'leap year' and 'day of year'.
frosch
parents: 8140
diff changeset
    23
8140
0d0d8c94f84b (svn r11702) -Codechange: move all date related stuff to date*.
rubidium
parents:
diff changeset
    24
#endif /* DATE_FUNC_H */