diff --git a/src/engine.cpp b/src/engine.cpp index 65d9d77379..0cc6e9cf52 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -611,8 +611,8 @@ void CalcEngineReliability(Engine *e, bool new_month) re = Engine::Get(re->info.variant_id); } - uint age = re->age; - if (new_month && re->index > e->index && age != MAX_DAY) age++; /* parent variant's age has not yet updated. */ + uint32 age = re->age; + if (new_month && re->index > e->index && age != INT32_MAX) age++; /* parent variant's age has not yet updated. */ /* Check for early retirement */ if (e->company_avail != 0 && !_settings_game.vehicle.never_expire_vehicles && e->info.base_life != 0xFF) { @@ -1094,7 +1094,7 @@ void EnginesMonthlyLoop() bool refresh = false; for (Engine *e : Engine::Iterate()) { /* Age the vehicle */ - if ((e->flags & ENGINE_AVAILABLE) && e->age != MAX_DAY) { + if ((e->flags & ENGINE_AVAILABLE) && e->age != INT32_MAX) { e->age++; CalcEngineReliability(e, true); refresh = true; diff --git a/src/engine_base.h b/src/engine_base.h index d1bb8a3e0a..a05e8ee98f 100644 --- a/src/engine_base.h +++ b/src/engine_base.h @@ -37,7 +37,7 @@ extern EnginePool _engine_pool; struct Engine : EnginePool::PoolItem<&_engine_pool> { std::string name; ///< Custom name of engine. TimerGameCalendar::Date intro_date; ///< Date of introduction of the engine. - TimerGameCalendar::Date age; ///< Age of the engine, in days. + int32 age; ///< Age of the engine in months. uint16 reliability; ///< Current reliability of the engine. uint16 reliability_spd_dec; ///< Speed of reliability decay between services (per day). uint16 reliability_start; ///< Initial reliability of the engine.