diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index 26b49cc877..e961dd87cf 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -558,7 +558,7 @@ static const SpriteGroup *StationResolveReal(const ResolverObject *object, const break; } - if (HasBit(statspec->flags, 1)) cargo /= (st->trainst_w + st->trainst_h); + if (HasBit(statspec->flags, SSF_DIV_BY_STATION_SIZE)) cargo /= (st->trainst_w + st->trainst_h); cargo = min(0xfff, cargo); if (cargo > statspec->cargo_threshold) { @@ -904,7 +904,7 @@ void AnimateStationTile(TileIndex tile) bool frame_set_by_callback = false; if (HasBit(ss->callbackmask, CBM_STATION_ANIMATION_NEXT_FRAME)) { - uint32 param = HasBit(ss->flags, 2) ? Random() : 0; + uint32 param = HasBit(ss->flags, SSF_CB141_RANDOM_BITS) ? Random() : 0; uint16 callback = GetStationCallback(CBID_STATION_ANIM_NEXT_FRAME, param, 0, ss, st, tile); if (callback != CALLBACK_FAILED) { diff --git a/src/newgrf_station.h b/src/newgrf_station.h index 9af801f05d..5bd52891b2 100644 --- a/src/newgrf_station.h +++ b/src/newgrf_station.h @@ -29,6 +29,14 @@ typedef TinyEnumT StationClassIDByte; /** Allow incrementing of StationClassID variables */ DECLARE_POSTFIX_INCREMENT(StationClassID); +enum StationSpecFlags { + SSF_SEPARATE_GROUND, ///< Use different sprite set for ground sprites. + SSF_DIV_BY_STATION_SIZE, ///< Divide cargo amount by station size. + SSF_CB141_RANDOM_BITS, ///< Callback 141 needs random bits. + SSF_CUSTOM_FOUNDATIONS, ///< Draw custom foundations. + SSF_EXTENDED_FOUNDATIONS, ///< Extended foundation block instead of simple. +}; + /* Station layout for given dimensions - it is a two-dimensional array * where index is computed as (x * platforms) + platform. */ typedef byte *StationLayout;