Changeset - r12236:ae676539361d
[Not reviewed]
master
0 4 0
smatz - 15 years ago 2009-06-25 23:49:59
smatz@openttd.org
(svn r16661) -Codechange: move definition of few very short functions to header files
4 files changed with 29 insertions and 35 deletions:
0 comments (0 inline, 0 general)
src/cargotype.cpp
Show inline comments
 
@@ -10,14 +10,12 @@
 
#include "table/sprites.h"
 
#include "table/strings.h"
 
#include "table/cargo_const.h"
 

	
 
CargoSpec _cargo[NUM_CARGO];
 

	
 
static const byte INVALID_CARGO = 0xFF;
 

	
 
/* Bitmask of cargo types available */
 
uint32 _cargo_mask;
 

	
 

	
 
void SetupCargoForClimate(LandscapeID l)
 
{
 
@@ -52,25 +50,12 @@ void SetupCargoForClimate(LandscapeID l)
 
			}
 
		}
 
	}
 
}
 

	
 

	
 
const CargoSpec *GetCargo(CargoID c)
 
{
 
	assert(c < lengthof(_cargo));
 
	return &_cargo[c];
 
}
 

	
 

	
 
bool CargoSpec::IsValid() const
 
{
 
	return bitnum != INVALID_CARGO;
 
}
 

	
 

	
 
CargoID GetCargoIDByLabel(CargoLabel cl)
 
{
 
	for (CargoID c = 0; c < lengthof(_cargo); c++) {
 
		if (_cargo[c].bitnum == INVALID_CARGO) continue;
 
		if (_cargo[c].label == cl) return c;
 
	}
src/cargotype.h
Show inline comments
 
@@ -19,12 +19,14 @@ enum TownEffect {
 
	TE_GOODS,
 
	TE_WATER,
 
	TE_FOOD,
 
};
 

	
 

	
 
static const byte INVALID_CARGO = 0xFF;
 

	
 
struct CargoSpec {
 
	uint8 bitnum;
 
	CargoLabel label;
 
	uint8 legend_colour;
 
	uint8 rating_colour;
 
	uint8 weight;
 
@@ -45,30 +47,38 @@ struct CargoSpec {
 
	SpriteID sprite;
 

	
 
	uint16 classes;
 
	const struct GRFFile *grffile;   ///< NewGRF where 'group' belongs to
 
	const struct SpriteGroup *group;
 

	
 
	bool IsValid() const;
 
	bool IsValid() const
 
	{
 
		return this->bitnum != INVALID_CARGO;
 
	}
 
};
 

	
 

	
 
extern uint32 _cargo_mask;
 
extern CargoSpec _cargo[NUM_CARGO];
 

	
 

	
 
/* Set up the default cargo types for the given landscape type */
 
void SetupCargoForClimate(LandscapeID l);
 
/* Retrieve cargo details for the given cargo ID */
 
const CargoSpec *GetCargo(CargoID c);
 
/* Get the cargo icon for a given cargo ID */
 
SpriteID GetCargoSprite(CargoID i);
 
/* Get the cargo ID with the cargo label */
 
CargoID GetCargoIDByLabel(CargoLabel cl);
 
CargoID GetCargoIDByBitnum(uint8 bitnum);
 

	
 
/* Retrieve cargo details for the given cargo ID */
 
static inline const CargoSpec *GetCargo(CargoID c)
 
{
 
	assert(c < lengthof(_cargo));
 
	return &_cargo[c];
 
}
 

	
 

	
 
static inline bool IsCargoInClass(CargoID c, uint16 cc)
 
{
 
	return (GetCargo(c)->classes & cc) != 0;
 
}
 

	
 

	
src/station.cpp
Show inline comments
 
@@ -183,17 +183,12 @@ void Station::MarkTilesDirty(bool cargo_
 
			tile += TileDiffXY(1, 0);
 
		}
 
		tile += TileDiffXY(-w, 1);
 
	}
 
}
 

	
 
bool Station::TileBelongsToRailStation(TileIndex tile) const
 
{
 
	return IsRailwayStationTile(tile) && GetStationIndex(tile) == this->index;
 
}
 

	
 
/** Obtain the length of a platform
 
 * @pre tile must be a railway station tile
 
 * @param tile A tile that contains the platform in question
 
 * @return The length of the platform
 
 */
 
uint Station::GetPlatformLength(TileIndex tile) const
 
@@ -238,20 +233,12 @@ uint Station::GetPlatformLength(TileInde
 
		tile += TileOffsByDiagDir(dir);
 
	} while (IsCompatibleTrainStationTile(tile, start_tile));
 

	
 
	return length;
 
}
 

	
 
/** Determines whether a station is a buoy only.
 
 * @todo Ditch this encoding of buoys
 
 */
 
bool Station::IsBuoy() const
 
{
 
	return (had_vehicle_of_type & HVOT_BUOY) != 0;
 
}
 

	
 
/** Determines the catchment radius of the station
 
 * @return The radius
 
 */
 
uint Station::GetCatchmentRadius() const
 
{
 
	uint ret = CA_NONE;
src/station_base.h
Show inline comments
 
@@ -157,22 +157,34 @@ public:
 
	/**
 
	 * Marks the tiles of the station as dirty.
 
	 *
 
	 * @ingroup dirty
 
	 */
 
	void MarkTilesDirty(bool cargo_change) const;
 
	bool TileBelongsToRailStation(TileIndex tile) const;
 

	
 
	uint GetPlatformLength(TileIndex tile, DiagDirection dir) const;
 
	uint GetPlatformLength(TileIndex tile) const;
 
	bool IsBuoy() const;
 

	
 
	void RecomputeIndustriesNear();
 
	static void RecomputeIndustriesNearForAll();
 

	
 
	uint GetCatchmentRadius() const;
 

	
 
	FORCEINLINE bool TileBelongsToRailStation(TileIndex tile) const
 
	{
 
		return IsRailwayStationTile(tile) && GetStationIndex(tile) == this->index;
 
	}
 

	
 
	/**
 
	 * Determines whether a station is a buoy only.
 
	 * @todo Ditch this encoding of buoys
 
	 */
 
	FORCEINLINE bool IsBuoy() const
 
	{
 
		return (this->had_vehicle_of_type & HVOT_BUOY) != 0;
 
	}
 

	
 
	static FORCEINLINE Station *GetByTile(TileIndex tile)
 
	{
 
		return Station::Get(GetStationIndex(tile));
 
	}
 
};
 

	
0 comments (0 inline, 0 general)