/*
* This file is part of Deliantra, the Roguelike Realtime MMORPG.
*
* Copyright (©) 2006,2007 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
* Copyright (©) 2003-2006,2007 Mark Wedel & Crossfire Development Team
* Copyright (©) 2000,2007 Tim Rightnour
* Copyright (©) 1992,2007 Frank Tore Johansen
*
* Deliantra is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* The authors can be reached via e-mail to
*/
#ifndef TOD_H_
#define TOD_H_
#define TICK (MAX_TIME * 1e-6)
#define TICK2TIME(tick) (tstamp (tick) * TICK)
#define TIME2TICK(time) tstamp ((time) / TICK)
#define RUNTIME_PER_HOUR 180.
#define TICKS_PER_HOUR int (RUNTIME_PER_HOUR / MAX_TIME * 1e6)
/* game time */
#define HOURS_PER_DAY 28
#define DAYS_PER_WEEK 7
#define WEEKS_PER_MONTH 5
#define MONTHS_PER_YEAR 17
/* convenience */
#define WEEKS_PER_YEAR (WEEKS_PER_MONTH * MONTHS_PER_YEAR)
#define DAYS_PER_MONTH (DAYS_PER_WEEK * WEEKS_PER_MONTH)
#define DAYS_PER_YEAR (DAYS_PER_MONTH * MONTHS_PER_YEAR)
#define HOURS_PER_WEEK (HOURS_PER_DAY * DAYS_PER_WEEK)
#define HOURS_PER_MONTH (HOURS_PER_WEEK * WEEKS_PER_MONTH)
#define HOURS_PER_YEAR (HOURS_PER_MONTH * MONTHS_PER_YEAR)
#define LUNAR_DAYS DAYS_PER_MONTH
struct timeofday_t
{
int year;
int month;
int day;
int dayofweek;
int hour;
int minute;
int weekofmonth;
int season;
};
/* from common/time.c */
extern void get_tod (timeofday_t *tod);
#endif