MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / UpdateAircraftCache

Function UpdateAircraftCache

src/aircraft_cmd.cpp:601–625  ·  view source on GitHub ↗

* Update cached values of an aircraft. * Currently caches callback 36 max speed. * @param v Vehicle * @param update_range Update the aircraft range. */

Source from the content-addressed store, hash-verified

599 * @param update_range Update the aircraft range.
600 */
601void 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/**

Callers 9

CmdRefitVehicleFunction · 0.85
CmdBuildAircraftFunction · 0.85
AircraftControllerFunction · 0.85
AirportMoveFunction · 0.85
CheckCachesFunction · 0.85
AfterLoadGameFunction · 0.85
UpdateOldAircraftFunction · 0.85
AfterLoadVehiclesPhase2Function · 0.85

Calls 4

GetVehiclePropertyFunction · 0.85
AircraftVehInfoFunction · 0.85
EngInfoFunction · 0.85
NextMethod · 0.45

Tested by

no test coverage detected