Changeset - r17163:be3746722ab5
[Not reviewed]
master
0 3 0
rubidium - 14 years ago 2011-01-26 17:31:44
rubidium@openttd.org
(svn r21912) -Codechange: let road vehicles use gcache.last_speed/SetLastSpeed as well
3 files changed with 4 insertions and 9 deletions:
0 comments (0 inline, 0 general)
src/roadveh.h
Show inline comments
 
@@ -104,7 +104,7 @@ struct RoadVehicle : public GroundVehicl
 
	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;
src/roadveh_cmd.cpp
Show inline comments
 
@@ -651,7 +651,6 @@ static void RoadVehArrivesAt(const RoadV
 
 */
 
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
 
		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(RoadVehicl
 
		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;
 

	
src/saveload/vehicle_sl.cpp
Show inline comments
 
@@ -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();
0 comments (0 inline, 0 general)