summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2010-08-10 15:51:33 +0000
committerrubidium <rubidium@openttd.org>2010-08-10 15:51:33 +0000
commit3d21fb44aae10d627cf24c7e42485c8f3a33ed42 (patch)
treecb41a3103b0a272d888f079872cb4f6609a1266b
parentca7a067b7a57578e05cefec1ef647a67a9b5be07 (diff)
downloadopenttd-3d21fb44aae10d627cf24c7e42485c8f3a33ed42.tar.xz
(svn r20436) -Codechange: use GRFFilePropsBase's spritegroup for stations.
-rw-r--r--src/newgrf.cpp4
-rw-r--r--src/newgrf_station.cpp6
-rw-r--r--src/newgrf_station.h15
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. */