mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r19218) -Feature: [NewGRF] Add CB36 support for aircraft properties 0F and 11. (Eddi)
This commit is contained in:
parent
fee0743ba9
commit
63b01f2009
|
@ -184,12 +184,12 @@ uint Engine::GetDisplayDefaultCapacity(uint16 *mail_capacity) const
|
|||
return GetEngineProperty(this->index, PROP_SHIP_CARGO_CAPACITY, this->u.ship.capacity);
|
||||
|
||||
case VEH_AIRCRAFT: {
|
||||
uint capacity = this->u.air.passenger_capacity;
|
||||
uint capacity = GetEngineProperty(this->index, PROP_AIRCRAFT_PASSENGER_CAPACITY, this->u.air.passenger_capacity);;
|
||||
CargoID cargo = this->GetDefaultCargoType();
|
||||
if (IsCargoInClass(cargo, CC_PASSENGERS)) {
|
||||
if (mail_capacity != NULL) *mail_capacity = this->u.air.mail_capacity;
|
||||
if (mail_capacity != NULL) *mail_capacity = GetEngineProperty(this->index, PROP_AIRCRAFT_MAIL_CAPACITY, this->u.air.mail_capacity);
|
||||
} else {
|
||||
capacity += this->u.air.mail_capacity;
|
||||
capacity += GetEngineProperty(this->index, PROP_AIRCRAFT_MAIL_CAPACITY, this->u.air.mail_capacity);
|
||||
}
|
||||
switch (cargo) {
|
||||
case CT_PASSENGERS:
|
||||
|
|
|
@ -1049,11 +1049,11 @@ static ChangeInfoResult AircraftVehicleChangeInfo(uint engine, int numinfo, int
|
|||
avi->running_cost = buf->ReadByte();
|
||||
break;
|
||||
|
||||
case 0x0F: // Passenger capacity
|
||||
case PROP_AIRCRAFT_PASSENGER_CAPACITY: // 0x0F Passenger capacity
|
||||
avi->passenger_capacity = buf->ReadWord();
|
||||
break;
|
||||
|
||||
case 0x11: // Mail capacity
|
||||
case PROP_AIRCRAFT_MAIL_CAPACITY: // 0x11 Mail capacity
|
||||
avi->mail_capacity = buf->ReadByte();
|
||||
break;
|
||||
|
||||
|
|
|
@ -39,6 +39,8 @@ enum PropertyID {
|
|||
PROP_AIRCRAFT_COST_FACTOR = 0x0B, ///< Purchase cost
|
||||
PROP_AIRCRAFT_SPEED = 0x0C, ///< Max. speed: 1 unit = 8 mph = 12.8 km-ish/h
|
||||
PROP_AIRCRAFT_RUNNING_COST_FACTOR = 0x0E, ///< Yearly runningcost
|
||||
PROP_AIRCRAFT_PASSENGER_CAPACITY = 0x0F, ///< Passenger Capacity
|
||||
PROP_AIRCRAFT_MAIL_CAPACITY = 0x11, ///< Mail Capacity
|
||||
};
|
||||
|
||||
#endif /* NEWGRF_PROPERTIES_H */
|
||||
|
|
|
@ -1468,7 +1468,7 @@ uint GetVehicleCapacity(const Vehicle *v, uint16 *mail_capacity)
|
|||
if (!e->CanCarryCargo()) return 0;
|
||||
|
||||
if (mail_capacity != NULL && e->type == VEH_AIRCRAFT && IsCargoInClass(v->cargo_type, CC_PASSENGERS)) {
|
||||
*mail_capacity = e->u.air.mail_capacity;
|
||||
*mail_capacity = GetVehicleProperty(v, PROP_AIRCRAFT_MAIL_CAPACITY, e->u.air.mail_capacity);
|
||||
}
|
||||
CargoID default_cargo = e->GetDefaultCargoType();
|
||||
|
||||
|
@ -1483,10 +1483,10 @@ uint GetVehicleCapacity(const Vehicle *v, uint16 *mail_capacity)
|
|||
/* Get capacity according to property resp. CB */
|
||||
uint capacity;
|
||||
switch (e->type) {
|
||||
case VEH_TRAIN: capacity = GetVehicleProperty(v, PROP_TRAIN_CARGO_CAPACITY, e->u.rail.capacity); break;
|
||||
case VEH_ROAD: capacity = GetVehicleProperty(v, PROP_ROADVEH_CARGO_CAPACITY, e->u.road.capacity); break;
|
||||
case VEH_SHIP: capacity = GetVehicleProperty(v, PROP_SHIP_CARGO_CAPACITY, e->u.ship.capacity); break;
|
||||
case VEH_AIRCRAFT: capacity = e->u.air.passenger_capacity; break;
|
||||
case VEH_TRAIN: capacity = GetVehicleProperty(v, PROP_TRAIN_CARGO_CAPACITY, e->u.rail.capacity); break;
|
||||
case VEH_ROAD: capacity = GetVehicleProperty(v, PROP_ROADVEH_CARGO_CAPACITY, e->u.road.capacity); break;
|
||||
case VEH_SHIP: capacity = GetVehicleProperty(v, PROP_SHIP_CARGO_CAPACITY, e->u.ship.capacity); break;
|
||||
case VEH_AIRCRAFT: capacity = GetVehicleProperty(v, PROP_AIRCRAFT_PASSENGER_CAPACITY, e->u.air.passenger_capacity); break;
|
||||
default: NOT_REACHED();
|
||||
}
|
||||
|
||||
|
@ -1495,7 +1495,7 @@ uint GetVehicleCapacity(const Vehicle *v, uint16 *mail_capacity)
|
|||
if (e->type != VEH_SHIP) {
|
||||
if (e->type == VEH_AIRCRAFT) {
|
||||
if (!IsCargoInClass(v->cargo_type, CC_PASSENGERS)) {
|
||||
capacity += e->u.air.mail_capacity;
|
||||
capacity += GetVehicleProperty(v, PROP_AIRCRAFT_MAIL_CAPACITY, e->u.air.mail_capacity);
|
||||
}
|
||||
if (v->cargo_type == CT_MAIL) return capacity;
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue