Changeset - r578:d7914d23d3b7
[Not reviewed]
master
0 6 0
bjarni - 19 years ago 2004-12-09 21:46:56
bjarni@openttd.org
(svn r998) now vehicles are serviced both when entering and when leaving depots to prevent that vehicles might need service when leaving after a long stay (ln--)
6 files changed with 19 insertions and 12 deletions:
0 comments (0 inline, 0 general)
aircraft_cmd.c
Show inline comments
 
@@ -652,9 +652,7 @@ static void ServiceAircraft(Vehicle *v)
 
	SetAircraftPosition(v, v->x_pos, v->y_pos, v->z_pos);
 
	InvalidateWindow(WC_VEHICLE_DEPOT, v->tile);
 

	
 
	v->date_of_last_service = _date;
 
	v->breakdowns_since_last_service = 0;
 
	v->reliability = _engines[v->engine_type].reliability;
 
	VehicleServiceInDepot(v);
 
	InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
 
}
 

	
 
@@ -1234,6 +1232,7 @@ static void AircraftLeaveHangar(Vehicle 
 
		}
 
	}
 

	
 
	VehicleServiceInDepot(v);
 
	SetAircraftPosition(v, v->x_pos, v->y_pos, v->z_pos);
 
	InvalidateWindow(WC_VEHICLE_DEPOT, v->tile);
 
}
roadveh_cmd.c
Show inline comments
 
@@ -1119,6 +1119,8 @@ static void RoadVehEventHandler(Vehicle 
 
		if (RoadVehFindCloseTo(v,x,y,v->direction))
 
			return;
 

	
 
		VehicleServiceInDepot(v);
 

	
 
		StartRoadVehSound(v);
 

	
 
		BeginVehicleMove(v);
 
@@ -1377,13 +1379,12 @@ void RoadVehEnterDepot(Vehicle *v)
 
	v->u.road.state = 254;
 
	v->vehstatus |= VS_HIDDEN;
 

	
 
	v->date_of_last_service = _date;
 
	v->breakdowns_since_last_service = 0;
 
	v->reliability = _engines[v->engine_type].reliability;
 
	InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
 

	
 
	MaybeRenewVehicle(v, EstimateRoadVehCost(v->engine_type));
 

	
 
	VehicleServiceInDepot(v);
 

	
 
	TriggerVehicle(v, VEHICLE_TRIGGER_DEPOT);
 

	
 
	if (v->current_order.type == OT_GOTO_DEPOT) {
ship_cmd.c
Show inline comments
 
@@ -352,6 +352,7 @@ static void CheckShipLeaveDepot(Vehicle 
 
	RecalcShipStuff(v);
 

	
 
	PlayShipSound(v);
 
	VehicleServiceInDepot(v);
 
}
 

	
 
static bool ShipAccelerate(Vehicle *v)
 
@@ -394,9 +395,8 @@ static void ShipEnterDepot(Vehicle *v)
 
	v->cur_speed = 0;
 
	RecalcShipStuff(v);
 

	
 
	v->date_of_last_service = _date;
 
	v->breakdowns_since_last_service = 0;
 
	v->reliability = _engines[v->engine_type].reliability;
 
	VehicleServiceInDepot(v);
 

	
 
	InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
 

	
 
	MaybeRenewVehicle(v, EstimateShipCost(v->engine_type));
train_cmd.c
Show inline comments
 
@@ -1288,6 +1288,7 @@ static bool CheckTrainStayInDepot(Vehicl
 
			return true;
 
	}
 

	
 
	VehicleServiceInDepot(v);
 
	TrainPlayLeaveStationSound(v);
 

	
 
	v->u.rail.track = 1;
 
@@ -2554,9 +2555,8 @@ void TrainEnterDepot(Vehicle *v, uint ti
 
	if (v->subtype != 0)
 
		v = GetFirstVehicleInChain(v);
 

	
 
	v->date_of_last_service = _date;
 
	v->breakdowns_since_last_service = 0;
 
	v->reliability = _engines[v->engine_type].reliability;
 
	VehicleServiceInDepot(v);
 

	
 
	InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
 

	
 
	v->load_unload_time_rem = 0;
vehicle.c
Show inline comments
 
@@ -15,6 +15,12 @@
 
#define INVALID_COORD (-0x8000)
 
#define GEN_HASH(x,y) (((x & 0x1F80)>>7) + ((y & 0xFC0)))
 

	
 
void VehicleServiceInDepot(Vehicle *v)
 
{
 
	v->date_of_last_service = _date;
 
	v->breakdowns_since_last_service = 0;
 
	v->reliability = _engines[v->engine_type].reliability;
 
}
 

	
 
Order UnpackOldOrder(uint16 packed)
 
{
vehicle.h
Show inline comments
 
@@ -300,6 +300,7 @@ typedef struct {
 
	char name[32];
 
} BackuppedOrders;
 

	
 
void VehicleServiceInDepot(Vehicle *v);
 
void BackupVehicleOrders(Vehicle *v, BackuppedOrders *order);
 
void RestoreVehicleOrders(Vehicle *v, BackuppedOrders *order);
 
Vehicle *AllocateVehicle();
0 comments (0 inline, 0 general)