Changeset - r14124:6803b52da262
[Not reviewed]
master
0 1 0
peter1138 - 14 years ago 2010-01-01 18:19:26
peter1138@openttd.org
(svn r18681) -Codechange: Use existing TILE_LOOP method for iterating trigger area.
1 file changed with 10 insertions and 14 deletions:
0 comments (0 inline, 0 general)
src/newgrf_station.cpp
Show inline comments
 
@@ -1062,23 +1062,19 @@ void StationAnimationTrigger(const BaseS
 
	ETileArea area = ETileArea(st, tile, tas[trigger]);
 

	
 
	/* Check all tiles over the station to check if the specindex is still in use */
 
	for (uint y = 0; y < area.h; y++) {
 
		for (uint x = 0; x < area.w; x++) {
 
			if (st->TileBelongsToRailStation(area.tile)) {
 
				const StationSpec *ss = GetStationSpec(area.tile);
 
				if (ss != NULL && HasBit(ss->anim_triggers, trigger)) {
 
					CargoID cargo;
 
					if (cargo_type == CT_INVALID) {
 
						cargo = CT_INVALID;
 
					} else {
 
						cargo = GetReverseCargoTranslation(cargo_type, ss->grffile);
 
					}
 
					ChangeStationAnimationFrame(ss, st, area.tile, random_bits, trigger, cargo);
 
	TILE_LOOP(tile, area.w, area.h, area.tile) {
 
		if (st->TileBelongsToRailStation(tile)) {
 
			const StationSpec *ss = GetStationSpec(tile);
 
			if (ss != NULL && HasBit(ss->anim_triggers, trigger)) {
 
				CargoID cargo;
 
				if (cargo_type == CT_INVALID) {
 
					cargo = CT_INVALID;
 
				} else {
 
					cargo = GetReverseCargoTranslation(cargo_type, ss->grffile);
 
				}
 
				ChangeStationAnimationFrame(ss, st, tile, random_bits, trigger, cargo);
 
			}
 
			area.tile += TileDiffXY(1, 0);
 
		}
 
		area.tile += TileDiffXY(-area.w, 1);
 
	}
 
}
 

	
0 comments (0 inline, 0 general)