Core/Gameevent: Fix loading of events, and wrong dates of those events.
This commit is contained in:
@@ -1619,18 +1619,13 @@ namespace Game
|
|||||||
{
|
{
|
||||||
uint date = holiday.Date[i];
|
uint date = holiday.Date[i];
|
||||||
|
|
||||||
DateTime timeInfo = new DateTime();
|
int year;
|
||||||
if (singleDate)
|
if (singleDate)
|
||||||
timeInfo.AddYears(Time.UnixTimeToDateTime(curTime).ToLocalTime().Year - 1); // First try last year (event active through New Year)
|
year = Time.UnixTimeToDateTime(curTime).ToLocalTime().Year - 1; // First try last year (event active through New Year)
|
||||||
else
|
else
|
||||||
timeInfo.AddYears((int)((date >> 24) & 0x1F) + 100);
|
year = (int)((date >> 24) & 0x1F) + 100 + 1900;
|
||||||
|
|
||||||
timeInfo.AddMonths((int)(date >> 20) & 0xF);
|
var timeInfo = new DateTime(year, (int)((date >> 20) & 0xF) + 1, (int)((date >> 14) & 0x3F) + 1, (int)((date >> 6) & 0x1F), (int)(date & 0x3F), 0);
|
||||||
timeInfo.AddDays(((date >> 14) & 0x3F) + 1);
|
|
||||||
timeInfo.AddHours((date >> 6) & 0x1F);
|
|
||||||
timeInfo.AddMinutes(date & 0x3F);
|
|
||||||
timeInfo.AddSeconds(0);
|
|
||||||
DateTime tmCopy = timeInfo;
|
|
||||||
|
|
||||||
long startTime = Time.DateTimeToUnixTime(timeInfo);
|
long startTime = Time.DateTimeToUnixTime(timeInfo);
|
||||||
if (curTime < startTime + gameEvent.length * Time.Minute)
|
if (curTime < startTime + gameEvent.length * Time.Minute)
|
||||||
@@ -1640,7 +1635,7 @@ namespace Game
|
|||||||
}
|
}
|
||||||
else if (singleDate)
|
else if (singleDate)
|
||||||
{
|
{
|
||||||
tmCopy.AddYears(Time.UnixTimeToDateTime(curTime).ToLocalTime().Year); // This year
|
var tmCopy = timeInfo.AddYears(Time.UnixTimeToDateTime(curTime).ToLocalTime().Year); // This year
|
||||||
gameEvent.start = Time.DateTimeToUnixTime(tmCopy) + stageOffset;
|
gameEvent.start = Time.DateTimeToUnixTime(tmCopy) + stageOffset;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user