|
@@ -167,26 +167,26 @@ uint GetNumCustomStations(StationClassID
|
|
|
/**
|
|
|
* Tie a station spec to its station class.
|
|
|
* @param statspec The station spec.
|
|
|
*/
|
|
|
void SetCustomStationSpec(StationSpec *statspec)
|
|
|
{
|
|
|
StationClass *station_class;
|
|
|
int i;
|
|
|
|
|
|
/* If the station has already been allocated, don't reallocate it. */
|
|
|
if (statspec->allocated) return;
|
|
|
|
|
|
assert(statspec->sclass < STAT_CLASS_MAX);
|
|
|
station_class = &_station_classes[statspec->sclass];
|
|
|
assert(statspec->cls_id < STAT_CLASS_MAX);
|
|
|
station_class = &_station_classes[statspec->cls_id];
|
|
|
|
|
|
i = station_class->stations++;
|
|
|
station_class->spec = ReallocT(station_class->spec, station_class->stations);
|
|
|
|
|
|
station_class->spec[i] = statspec;
|
|
|
statspec->allocated = true;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* Retrieve a station spec from a class.
|
|
|
* @param sclass Index of the station class.
|
|
|
* @param station The station index with the class.
|
|
@@ -597,25 +597,25 @@ uint32 Waypoint::GetNewGRFVariable(const
|
|
|
return UINT_MAX;
|
|
|
}
|
|
|
|
|
|
static const SpriteGroup *StationResolveReal(const ResolverObject *object, const RealSpriteGroup *group)
|
|
|
{
|
|
|
const BaseStation *bst = object->u.station.st;
|
|
|
const StationSpec *statspec = object->u.station.statspec;
|
|
|
uint set;
|
|
|
|
|
|
uint cargo = 0;
|
|
|
CargoID cargo_type = object->u.station.cargo_type;
|
|
|
|
|
|
if (bst == NULL || statspec->sclass == STAT_CLASS_WAYP) {
|
|
|
if (bst == NULL || statspec->cls_id == STAT_CLASS_WAYP) {
|
|
|
return group->loading[0];
|
|
|
}
|
|
|
|
|
|
const Station *st = Station::From(bst);
|
|
|
|
|
|
switch (cargo_type) {
|
|
|
case CT_INVALID:
|
|
|
case CT_DEFAULT_NA:
|
|
|
case CT_PURCHASE:
|
|
|
cargo = 0;
|
|
|
break;
|
|
|
|