diff options
-rw-r--r-- | src/newgrf.cpp | 4 | ||||
-rw-r--r-- | src/newgrf_station.cpp | 6 | ||||
-rw-r--r-- | src/newgrf_station.h | 15 |
3 files changed, 12 insertions, 13 deletions
diff --git a/src/newgrf.cpp b/src/newgrf.cpp index b3e3aa3e1..9d6deefdd 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -3870,7 +3870,7 @@ static void StationMapSpriteGroup(ByteReader *buf, uint8 idcount) continue; } - statspec->spritegroup[ctype] = _cur_grffile->spritegroups[groupid]; + statspec->grf_prop.spritegroup[ctype] = _cur_grffile->spritegroups[groupid]; } } @@ -3890,7 +3890,7 @@ static void StationMapSpriteGroup(ByteReader *buf, uint8 idcount) continue; } - statspec->spritegroup[CT_DEFAULT] = _cur_grffile->spritegroups[groupid]; + statspec->grf_prop.spritegroup[CT_DEFAULT] = _cur_grffile->spritegroups[groupid]; statspec->grf_prop.grffile = _cur_grffile; statspec->grf_prop.local_id = stations[i]; StationClass::Assign(statspec); diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index c04c0665a..e5109e073 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -550,7 +550,7 @@ static const SpriteGroup *ResolveStation(ResolverObject *object) /* Pick the first cargo that we have waiting */ const CargoSpec *cs; FOR_ALL_CARGOSPECS(cs) { - if (object->u.station.statspec->spritegroup[cs->Index()] != NULL && + if (object->u.station.statspec->grf_prop.spritegroup[cs->Index()] != NULL && !st->goods[cs->Index()].cargo.Empty()) { ctype = cs->Index(); break; @@ -558,10 +558,10 @@ static const SpriteGroup *ResolveStation(ResolverObject *object) } } - group = object->u.station.statspec->spritegroup[ctype]; + group = object->u.station.statspec->grf_prop.spritegroup[ctype]; if (group == NULL) { ctype = CT_DEFAULT; - group = object->u.station.statspec->spritegroup[ctype]; + group = object->u.station.statspec->grf_prop.spritegroup[ctype]; } if (group == NULL) return NULL; diff --git a/src/newgrf_station.h b/src/newgrf_station.h index 69a8f4588..c42df3c54 100644 --- a/src/newgrf_station.h +++ b/src/newgrf_station.h @@ -47,7 +47,13 @@ typedef byte *StationLayout; /** Station specification. */ struct StationSpec { - GRFFilePropsBase<0> grf_prop; ///< Properties related the the grf file + /** + * Properties related the the grf file. + * NUM_CARGO real cargo plus three pseudo cargo sprite groups. + * Used for obtaining the sprite offset of custom sprites, and for + * evaluating callbacks. + */ + GRFFilePropsBase<NUM_CARGO + 3> grf_prop; StationClassID cls_id; ///< The class to which this spec belongs. StringID name; ///< Name of this station. @@ -99,13 +105,6 @@ struct StationSpec { uint8 anim_status; uint8 anim_speed; uint16 anim_triggers; - - /** - * NUM_CARGO real cargo plus three pseudo cargo sprite groups. - * Used for obtaining the sprite offset of custom sprites, and for - * evaluating callbacks. - */ - const struct SpriteGroup *spritegroup[NUM_CARGO + 3]; }; /** Struct containing information relating to station classes. */ |