(svn r15956) -Codechange: Enumorize station spec flags.

This commit is contained in:
peter1138 2009-04-05 08:01:36 +00:00
parent edfc2e536e
commit 679248fb51
2 changed files with 10 additions and 2 deletions

View File

@ -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) {

View File

@ -29,6 +29,14 @@ typedef TinyEnumT<StationClassID> 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;