* Update cached values of an aircraft. * Currently caches callback 36 max speed. * @param v Vehicle * @param update_range Update the aircraft range. */
| 599 | * @param update_range Update the aircraft range. |
| 600 | */ |
| 601 | void UpdateAircraftCache(Aircraft *v, bool update_range) |
| 602 | { |
| 603 | uint max_speed = GetVehicleProperty(v, PROP_AIRCRAFT_SPEED, 0); |
| 604 | if (max_speed != 0) { |
| 605 | /* Convert from original units to km-ish/h */ |
| 606 | max_speed = (max_speed * 128) / 10; |
| 607 | |
| 608 | v->vcache.cached_max_speed = max_speed; |
| 609 | } else { |
| 610 | /* Use the default max speed of the vehicle. */ |
| 611 | v->vcache.cached_max_speed = AircraftVehInfo(v->engine_type)->max_speed; |
| 612 | } |
| 613 | |
| 614 | /* Update cargo aging period. */ |
| 615 | v->vcache.cached_cargo_age_period = GetVehicleProperty(v, PROP_AIRCRAFT_CARGO_AGE_PERIOD, EngInfo(v->engine_type)->cargo_age_period); |
| 616 | Aircraft *u = v->Next(); // Shadow for mail |
| 617 | u->vcache.cached_cargo_age_period = GetVehicleProperty(u, PROP_AIRCRAFT_CARGO_AGE_PERIOD, EngInfo(u->engine_type)->cargo_age_period); |
| 618 | |
| 619 | /* Update aircraft range. */ |
| 620 | if (update_range) { |
| 621 | v->acache.cached_max_range = GetVehicleProperty(v, PROP_AIRCRAFT_RANGE, AircraftVehInfo(v->engine_type)->max_range); |
| 622 | /* Squared it now so we don't have to do it later all the time. */ |
| 623 | v->acache.cached_max_range_sqr = v->acache.cached_max_range * v->acache.cached_max_range; |
| 624 | } |
| 625 | } |
| 626 | |
| 627 | |
| 628 | /** |
no test coverage detected