Changeset - r18600:daee608b9023
[Not reviewed]
master
0 4 0
yexo - 12 years ago 2011-12-09 16:11:42
yexo@openttd.org
(svn r23457) -Codechange: introduce Industry::TileBelongsToIndustry() to simplify code checking for that
4 files changed with 15 insertions and 5 deletions:
0 comments (0 inline, 0 general)
src/disaster_cmd.cpp
Show inline comments
 
@@ -376,7 +376,7 @@ static bool DisasterTick_Ufo(DisasterVeh
 
static void DestructIndustry(Industry *i)
 
{
 
	for (TileIndex tile = 0; tile != MapSize(); tile++) {
 
		if (IsTileType(tile, MP_INDUSTRY) && GetIndustryIndex(tile) == i->index) {
 
		if (i->TileBelongsToIndustry(tile)) {
 
			ResetIndustryConstructionStage(tile);
 
			MarkTileDirtyByTile(tile);
 
		}
src/industry.h
Show inline comments
 
@@ -78,6 +78,16 @@ struct Industry : IndustryPool::PoolItem
 
	void RecomputeProductionMultipliers();
 

	
 
	/**
 
	 * Check if a given tile belongs to this industry.
 
	 * @param tile The tile to check.
 
	 * @return True if the tils is part of this industry.
 
	 */
 
	inline bool TileBelongsToIndustry(TileIndex tile) const
 
	{
 
		return IsTileType(tile, MP_INDUSTRY) && GetIndustryIndex(tile) == this->index;
 
	}
 

	
 
	/**
 
	 * Get the industry of the given tile
 
	 * @param tile the tile to get the industry from
 
	 * @pre IsTileType(t, MP_INDUSTRY)
src/newgrf_industries.cpp
Show inline comments
 
@@ -248,7 +248,7 @@ uint32 IndustryGetVariable(const Resolve
 
		/* Get random tile bits at offset param */
 
		case 0x61:
 
			tile = GetNearbyTile(parameter, tile, false);
 
			return (IsTileType(tile, MP_INDUSTRY) && Industry::GetByTile(tile) == industry) ? GetIndustryRandomBits(tile) : 0;
 
			return industry->TileBelongsToIndustry(tile) ? GetIndustryRandomBits(tile) : 0;
 

	
 
		/* Land info of nearby tiles */
 
		case 0x62: return GetNearbyIndustryTileInformation(parameter, tile, INVALID_INDUSTRY, false, object->grffile->grf_version >= 8);
 
@@ -256,7 +256,7 @@ uint32 IndustryGetVariable(const Resolve
 
		/* Animation stage of nearby tiles */
 
		case 0x63:
 
			tile = GetNearbyTile(parameter, tile, false);
 
			if (IsTileType(tile, MP_INDUSTRY) && Industry::GetByTile(tile) == industry) {
 
			if (industry->TileBelongsToIndustry(tile)) {
 
				return GetAnimationFrame(tile);
 
			}
 
			return 0xFFFFFFFF;
src/newgrf_industrytiles.cpp
Show inline comments
 
@@ -345,7 +345,7 @@ bool StartStopIndustryTileAnimation(cons
 
	bool ret = true;
 
	uint32 random = Random();
 
	TILE_AREA_LOOP(tile, ind->location) {
 
		if (IsTileType(tile, MP_INDUSTRY) && GetIndustryIndex(tile) == ind->index) {
 
		if (ind->TileBelongsToIndustry(tile)) {
 
			if (StartStopIndustryTileAnimation(tile, iat, random)) {
 
				SB(random, 0, 16, Random());
 
			} else {
 
@@ -429,7 +429,7 @@ void TriggerIndustry(Industry *ind, Indu
 
{
 
	uint32 reseed_industry = 0;
 
	TILE_AREA_LOOP(tile, ind->location) {
 
		if (IsTileType(tile, MP_INDUSTRY) && GetIndustryIndex(tile) == ind->index) {
 
		if (ind->TileBelongsToIndustry(tile)) {
 
			DoTriggerIndustryTile(tile, trigger, ind, reseed_industry);
 
		}
 
	}
0 comments (0 inline, 0 general)