mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-12 18:40:29 +00:00
(svn r21096) -Fix: Display the real max speed for aircrafts instead of always using the engine value.
This commit is contained in:
parent
cfac2ced69
commit
78d0a1cb1a
@ -90,8 +90,8 @@ struct Aircraft : public SpecializedVehicle<Aircraft, VEH_AIRCRAFT> {
|
|||||||
bool IsPrimaryVehicle() const { return this->IsNormalAircraft(); }
|
bool IsPrimaryVehicle() const { return this->IsNormalAircraft(); }
|
||||||
SpriteID GetImage(Direction direction) const;
|
SpriteID GetImage(Direction direction) const;
|
||||||
int GetDisplaySpeed() const { return this->cur_speed; }
|
int GetDisplaySpeed() const { return this->cur_speed; }
|
||||||
int GetDisplayMaxSpeed() const { return this->max_speed; }
|
int GetDisplayMaxSpeed() const { return this->acache.cached_max_speed; }
|
||||||
int GetSpeedOldUnits() const { return this->max_speed * 10 / 128; }
|
int GetSpeedOldUnits() const { return this->acache.cached_max_speed * 10 / 128; }
|
||||||
Money GetRunningCost() const;
|
Money GetRunningCost() const;
|
||||||
bool IsInDepot() const { return (this->vehstatus & VS_HIDDEN) != 0 && IsHangarTile(this->tile); }
|
bool IsInDepot() const { return (this->vehstatus & VS_HIDDEN) != 0 && IsHangarTile(this->tile); }
|
||||||
bool Tick();
|
bool Tick();
|
||||||
|
@ -537,7 +537,8 @@ void UpdateAircraftCache(Aircraft *v)
|
|||||||
|
|
||||||
v->acache.cached_max_speed = max_speed;
|
v->acache.cached_max_speed = max_speed;
|
||||||
} else {
|
} else {
|
||||||
v->acache.cached_max_speed = 0xFFFF;
|
/* Use the default max speed of the vehicle. */
|
||||||
|
v->acache.cached_max_speed = v->max_speed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -639,7 +640,7 @@ byte GetAircraftFlyingAltitude(const Aircraft *v)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Make faster planes fly higher so that they can overtake slower ones */
|
/* Make faster planes fly higher so that they can overtake slower ones */
|
||||||
base_altitude += min(20 * (v->max_speed / 200), 90);
|
base_altitude += min(20 * (v->acache.cached_max_speed / 200), 90);
|
||||||
|
|
||||||
return base_altitude;
|
return base_altitude;
|
||||||
}
|
}
|
||||||
|
@ -809,6 +809,8 @@ static int CDECL VehicleMaxSpeedSorter(const Vehicle * const *a, const Vehicle *
|
|||||||
int r = 0;
|
int r = 0;
|
||||||
if ((*a)->type == VEH_TRAIN && (*b)->type == VEH_TRAIN) {
|
if ((*a)->type == VEH_TRAIN && (*b)->type == VEH_TRAIN) {
|
||||||
r = Train::From(*a)->tcache.cached_max_speed - Train::From(*b)->tcache.cached_max_speed;
|
r = Train::From(*a)->tcache.cached_max_speed - Train::From(*b)->tcache.cached_max_speed;
|
||||||
|
} if ((*a)->type == VEH_AIRCRAFT && (*b)->type == VEH_AIRCRAFT) {
|
||||||
|
r = Aircraft::From(*a)->acache.cached_max_speed - Aircraft::From(*b)->acache.cached_max_speed;
|
||||||
} else {
|
} else {
|
||||||
r = (*a)->max_speed - (*b)->max_speed;
|
r = (*a)->max_speed - (*b)->max_speed;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user