mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-10 08:00:05 +00:00
(svn r21912) -Codechange: let road vehicles use gcache.last_speed/SetLastSpeed as well
This commit is contained in:
parent
b11f1bd4ed
commit
4fff63d790
@ -104,7 +104,7 @@ struct RoadVehicle : public GroundVehicle<RoadVehicle, VEH_ROAD> {
|
||||
ExpensesType GetExpenseType(bool income) const { return income ? EXPENSES_ROADVEH_INC : EXPENSES_ROADVEH_RUN; }
|
||||
bool IsPrimaryVehicle() const { return this->IsFrontEngine(); }
|
||||
SpriteID GetImage(Direction direction) const;
|
||||
int GetDisplaySpeed() const { return this->cur_speed / 2; }
|
||||
int GetDisplaySpeed() const { return this->gcache.last_speed / 2; }
|
||||
int GetDisplayMaxSpeed() const { return this->vcache.cached_max_speed / 2; }
|
||||
Money GetRunningCost() const;
|
||||
int GetDisplayImageWidth(Point *offset = NULL) const;
|
||||
|
@ -651,7 +651,6 @@ static void RoadVehArrivesAt(const RoadVehicle *v, Station *st)
|
||||
*/
|
||||
static int RoadVehAccelerate(RoadVehicle *v)
|
||||
{
|
||||
uint oldspeed = v->cur_speed;
|
||||
uint accel = v->overtaking != 0 ? 256 : 0;
|
||||
accel += (_settings_game.vehicle.roadveh_acceleration_model == AM_ORIGINAL) ? 256 : v->GetAcceleration();
|
||||
uint spd = v->subspeed + accel;
|
||||
@ -673,13 +672,6 @@ static int RoadVehAccelerate(RoadVehicle *v)
|
||||
first->cur_speed = min(first->cur_speed, GetBridgeSpec(GetBridgeType(v->tile))->speed * 2);
|
||||
}
|
||||
|
||||
/* Update statusbar only if speed has changed to save CPU time */
|
||||
if (oldspeed != v->cur_speed) {
|
||||
if (_settings_client.gui.vehicle_speed) {
|
||||
SetWindowWidgetDirty(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
|
||||
}
|
||||
}
|
||||
|
||||
int scaled_spd = v->GetAdvanceSpeed(spd);
|
||||
|
||||
scaled_spd += v->progress;
|
||||
@ -1497,6 +1489,8 @@ static bool RoadVehController(RoadVehicle *v)
|
||||
if (j >= adv_spd && RoadVehCheckTrainCrash(v)) break;
|
||||
}
|
||||
|
||||
v->SetLastSpeed();
|
||||
|
||||
for (RoadVehicle *u = v; u != NULL; u = u->Next()) {
|
||||
if ((u->vehstatus & VS_HIDDEN) != 0) continue;
|
||||
|
||||
|
@ -345,6 +345,7 @@ void AfterLoadVehicles(bool part_of_load)
|
||||
case VEH_ROAD: {
|
||||
RoadVehicle *rv = RoadVehicle::From(v);
|
||||
if (rv->IsFrontEngine()) {
|
||||
rv->gcache.last_speed = rv->cur_speed; // update displayed road vehicle speed
|
||||
RoadVehUpdateCache(rv);
|
||||
if (_settings_game.vehicle.roadveh_acceleration_model != AM_ORIGINAL) {
|
||||
rv->CargoChanged();
|
||||
|
Loading…
Reference in New Issue
Block a user