mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r13594) -Feature(ette)[FS#2093]: Supply newgrfs with 'day of month', 'leap year' and 'day of year'.
This commit is contained in:
parent
c406ea35ec
commit
4236dd3be5
|
@ -77,11 +77,6 @@ static const uint16 _accum_days_for_month[] = {
|
|||
ACCUM_SEP, ACCUM_OCT, ACCUM_NOV, ACCUM_DEC,
|
||||
};
|
||||
|
||||
static inline bool IsLeapYear(Year yr)
|
||||
{
|
||||
return yr % 4 == 0 && (yr % 100 != 0 || yr % 400 == 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a Date to a Year, Month & Day.
|
||||
* @param date the date to convert from
|
||||
|
|
|
@ -16,4 +16,9 @@ void SetDate(Date date);
|
|||
void ConvertDateToYMD(Date date, YearMonthDay *ymd);
|
||||
Date ConvertYMDToDate(Year year, Month month, Day day);
|
||||
|
||||
static inline bool IsLeapYear(Year yr)
|
||||
{
|
||||
return yr % 4 == 0 && (yr % 100 != 0 || yr % 400 == 0);
|
||||
}
|
||||
|
||||
#endif /* DATE_FUNC_H */
|
||||
|
|
|
@ -46,8 +46,8 @@ typedef uint8 Day;
|
|||
|
||||
struct YearMonthDay {
|
||||
Year year;
|
||||
Month month;
|
||||
Day day;
|
||||
Month month; ///< 0 - 11
|
||||
Day day; ///< 1 - 31
|
||||
};
|
||||
|
||||
static const Year INVALID_YEAR = -1;
|
||||
|
|
|
@ -3566,9 +3566,13 @@ bool GetGlobalVariable(byte param, uint32 *value)
|
|||
*value = Clamp(_cur_year, ORIGINAL_BASE_YEAR, ORIGINAL_MAX_YEAR) - ORIGINAL_BASE_YEAR;
|
||||
return true;
|
||||
|
||||
case 0x02: // current month
|
||||
*value = _cur_month;
|
||||
case 0x02: { // detailed date information: month of year (bit 0-7), day of month (bit 8-12), leap year (bit 15), day of year (bit 16-24)
|
||||
YearMonthDay ymd;
|
||||
ConvertDateToYMD(_date, &ymd);
|
||||
Date start_of_year = ConvertYMDToDate(ymd.year, 0, 1);
|
||||
*value = ymd.month | (ymd.day - 1) << 8 | (IsLeapYear(ymd.year) ? 1 << 15 : 0) | (_date - start_of_year) << 16;
|
||||
return true;
|
||||
}
|
||||
|
||||
case 0x03: // current climate, 0=temp, 1=arctic, 2=trop, 3=toyland
|
||||
*value = _settings_game.game_creation.landscape;
|
||||
|
|
Loading…
Reference in New Issue