date.h
author tron
Mon, 14 Aug 2006 20:37:15 +0000
changeset 4267 6bf868d860e7
parent 4261 2ec8f5a9747b
child 4286 a040bf5c203d
permissions -rw-r--r--
(svn r5895) Remove dead code
/* $Id$ */

/**
 * 1 day is 74 ticks; _date_fract used to be uint16 and incremented by 885. On
 *                    an overflow the new day begun and 65535 / 885 = 74.
 * 1 tick is approximately 30 ms.
 * 1 day is thus about 2 seconds (74 * 30 = 2220) on a machine that can run OpenTTD normally
 */
#define DAY_TICKS 74

#define MAX_YEAR_BEGIN_REAL 1920
#define MAX_YEAR_END_REAL 2090
#define MAX_YEAR_END 170

/* Year and Date are defined elsewhere */
typedef uint8  Month;
typedef uint8  Day;
typedef uint16 DateFract;

typedef struct YearMonthDay {
	Year  year;
	Month month;
	Day   day;
} YearMonthDay;

extern Year      _cur_year;
extern Month     _cur_month;
extern Date      _date;
extern DateFract _date_fract;


void SetDate(Date date);
void ConvertDayToYMD(YearMonthDay *ymd, Date date);
uint ConvertYMDToDay(Year year, Month month, Day day);
Date ConvertIntDate(uint date);