From 4236dd3be5c4c5c130551f625f3459a4c733bfc3 Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 20 Jun 2008 21:14:10 +0000 Subject: (svn r13594) -Feature(ette)[FS#2093]: Supply newgrfs with 'day of month', 'leap year' and 'day of year'. --- src/newgrf.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/newgrf.cpp') diff --git a/src/newgrf.cpp b/src/newgrf.cpp index f1fe64635..3885fcf23 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -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; -- cgit v1.2.3-54-g00ecf