From e89a98d2967756d566af2e3a3ce362f0dd596cbc Mon Sep 17 00:00:00 2001 From: Darkvater Date: Sat, 18 Mar 2006 15:17:57 +0000 Subject: [PATCH] (svn r3952) - Fix: On loading a game, GetPlayerRailtypes() didn't account for the fact that vehicles are introduced a year after their introduction date. This will also relieve possible (rare) network desyncs. Backport of r3565 from trunk --- engine.c | 2 +- players.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engine.c b/engine.c index ef916d5c71..0fe22aa99a 100644 --- a/engine.c +++ b/engine.c @@ -1010,7 +1010,7 @@ void EnginesMonthlyLoop(void) CalcEngineReliability(e); } - if (!(e->flags & ENGINE_AVAILABLE) && (uint16)(_date - min(_date, 365)) >= e->intro_date) { + if (!(e->flags & ENGINE_AVAILABLE) && _date >= (e->intro_date + 365)) { // Introduce it to all players NewVehicleAvailable(e); } else if (!(e->flags & (ENGINE_AVAILABLE|ENGINE_INTRODUCING)) && _date >= e->intro_date) { diff --git a/players.c b/players.c index 9221a8bc29..b3c9699cb4 100644 --- a/players.c +++ b/players.c @@ -629,7 +629,7 @@ byte GetPlayerRailtypes(PlayerID p) const EngineInfo *ei = &_engine_info[i]; if (e->type == VEH_Train && HASBIT(ei->climates, _opt.landscape) && - (HASBIT(e->player_avail, p) || e->intro_date <= _date) && + (HASBIT(e->player_avail, p) || _date >= (e->intro_date + 365)) && !(RailVehInfo(i)->flags & RVI_WAGON)) { assert(e->railtype < RAILTYPE_END); SETBIT(rt, e->railtype);