From 3d21fb44aae10d627cf24c7e42485c8f3a33ed42 Mon Sep 17 00:00:00 2001 From: rubidium Date: Tue, 10 Aug 2010 15:51:33 +0000 Subject: (svn r20436) -Codechange: use GRFFilePropsBase's spritegroup for stations. --- src/newgrf.cpp | 4 ++-- src/newgrf_station.cpp | 6 +++--- src/newgrf_station.h | 15 +++++++-------- 3 files changed, 12 insertions(+), 13 deletions(-) (limited to 'src') 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 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. */ -- cgit v1.2.3-54-g00ecf