Changeset - r11580:d95a638b75a9
[Not reviewed]
master
0 2 0
peter1138 - 15 years ago 2009-04-05 08:01:36
peter1138@openttd.org
(svn r15956) -Codechange: Enumorize station spec flags.
2 files changed with 10 insertions and 2 deletions:
0 comments (0 inline, 0 general)
src/newgrf_station.cpp
Show inline comments
 
@@ -558,7 +558,7 @@ static const SpriteGroup *StationResolve
 
			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) {
src/newgrf_station.h
Show inline comments
 
@@ -29,6 +29,14 @@ typedef TinyEnumT<StationClassID> Statio
 
/** 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;
0 comments (0 inline, 0 general)