mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r11009) -Codechange: unvirtualise IsValid as that isn't needed with templates. This gives up to 10% performance increase in games with lots of vehicles.
This commit is contained in:
parent
9833639b00
commit
8a6cc3aa10
|
@ -43,7 +43,7 @@ struct CargoPacket : PoolItem<CargoPacket, CargoPacketID, &_CargoPacket_pool> {
|
|||
* Is this a valid cargo packet ?
|
||||
* @return true if and only it is valid
|
||||
*/
|
||||
bool IsValid() const { return this->count != 0; }
|
||||
inline bool IsValid() const { return this->count != 0; }
|
||||
|
||||
/**
|
||||
* Checks whether the cargo packet is from (exactly) the same source
|
||||
|
|
|
@ -23,7 +23,7 @@ struct Depot : PoolItem<Depot, DepotID, &_Depot_pool> {
|
|||
Depot(TileIndex xy = 0) : xy(xy) {}
|
||||
~Depot();
|
||||
|
||||
bool IsValid() const { return this->xy != 0; }
|
||||
inline bool IsValid() const { return this->xy != 0; }
|
||||
};
|
||||
|
||||
static inline bool IsValidDepotID(DepotID index)
|
||||
|
|
|
@ -284,7 +284,7 @@ struct EngineRenew : PoolItem<EngineRenew, EngineRenewID, &_EngineRenew_pool> {
|
|||
EngineRenew(EngineID from = INVALID_ENGINE, EngineID to = INVALID_ENGINE) : from(from), to(to), next(NULL) {}
|
||||
~EngineRenew() { this->from = INVALID_ENGINE; }
|
||||
|
||||
bool IsValid() const { return this->from != INVALID_ENGINE; }
|
||||
inline bool IsValid() const { return this->from != INVALID_ENGINE; }
|
||||
};
|
||||
|
||||
#define FOR_ALL_ENGINE_RENEWS_FROM(er, start) for (er = GetEngineRenew(start); er != NULL; er = (er->index + 1U < GetEngineRenewPoolSize()) ? GetEngineRenew(er->index + 1U) : NULL) if (er->IsValid())
|
||||
|
|
|
@ -123,7 +123,7 @@ struct Industry : PoolItem<Industry, IndustryID, &_Industry_pool> {
|
|||
Industry(TileIndex tile = 0) : xy(tile) {}
|
||||
~Industry();
|
||||
|
||||
bool IsValid() const { return this->xy != 0; }
|
||||
inline bool IsValid() const { return this->xy != 0; }
|
||||
};
|
||||
|
||||
struct IndustryTileTable {
|
||||
|
|
|
@ -225,15 +225,6 @@ struct PoolItem {
|
|||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Is this a valid object or not?
|
||||
* @return true if and only if it is valid
|
||||
*/
|
||||
virtual bool IsValid() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
private:
|
||||
/**
|
||||
* Allocate a pool item; possibly allocate a new block in the pool.
|
||||
|
|
14
src/order.h
14
src/order.h
|
@ -107,7 +107,11 @@ struct Order : PoolItem<Order, OrderID, &_Order_pool> {
|
|||
Order() : refit_cargo(CT_NO_REFIT) {}
|
||||
~Order() { this->type = OT_NOTHING; }
|
||||
|
||||
bool IsValid() const;
|
||||
/**
|
||||
* Check if a Order really exists.
|
||||
*/
|
||||
inline bool IsValid() const { return this->type != OT_NOTHING; }
|
||||
|
||||
void Free();
|
||||
void FreeChain();
|
||||
};
|
||||
|
@ -140,14 +144,6 @@ static inline VehicleOrderID GetNumOrders()
|
|||
return GetOrderPoolSize();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a Order really exists.
|
||||
*/
|
||||
inline bool Order::IsValid() const
|
||||
{
|
||||
return this->type != OT_NOTHING;
|
||||
}
|
||||
|
||||
inline void Order::Free()
|
||||
{
|
||||
this->type = OT_NOTHING;
|
||||
|
|
|
@ -26,7 +26,7 @@ struct Sign : PoolItem<Sign, SignID, &_Sign_pool> {
|
|||
/** Destroy the sign */
|
||||
~Sign();
|
||||
|
||||
bool IsValid() const { return this->str != STR_NULL; }
|
||||
inline bool IsValid() const { return this->str != STR_NULL; }
|
||||
};
|
||||
|
||||
enum {
|
||||
|
|
|
@ -237,14 +237,6 @@ bool Station::IsBuoy() const
|
|||
return (had_vehicle_of_type & HVOT_BUOY) != 0;
|
||||
}
|
||||
|
||||
/** Determines whether a station exists
|
||||
* @todo replace 0 by INVALID_TILE
|
||||
*/
|
||||
bool Station::IsValid() const
|
||||
{
|
||||
return xy != 0;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************/
|
||||
/* StationRect implementation */
|
||||
|
@ -437,12 +429,6 @@ RoadStop::~RoadStop()
|
|||
xy = 0;
|
||||
}
|
||||
|
||||
/** Determines whether a RoadStop is a valid (i.e. existing) one */
|
||||
bool RoadStop::IsValid() const
|
||||
{
|
||||
return xy != 0;
|
||||
}
|
||||
|
||||
/** Checks whether there is a free bay in this road stop */
|
||||
bool RoadStop::HasFreeBay() const
|
||||
{
|
||||
|
|
|
@ -65,7 +65,11 @@ struct RoadStop : PoolItem<RoadStop, RoadStopID, &_RoadStop_pool> {
|
|||
RoadStop(TileIndex tile = 0);
|
||||
virtual ~RoadStop();
|
||||
|
||||
bool IsValid() const;
|
||||
/**
|
||||
* Determines whether a road stop exists
|
||||
* @return true if and only is the road stop exists
|
||||
*/
|
||||
inline bool IsValid() const { return this->xy != 0; }
|
||||
|
||||
/* For accessing status */
|
||||
bool HasFreeBay() const;
|
||||
|
@ -175,7 +179,12 @@ public:
|
|||
uint GetPlatformLength(TileIndex tile, DiagDirection dir) const;
|
||||
uint GetPlatformLength(TileIndex tile) const;
|
||||
bool IsBuoy() const;
|
||||
bool IsValid() const;
|
||||
|
||||
/**
|
||||
* Determines whether a station exists
|
||||
* @return true if and only is the station exists
|
||||
*/
|
||||
inline bool IsValid() const { return this->xy != 0; }
|
||||
};
|
||||
|
||||
enum StationType {
|
||||
|
|
|
@ -159,7 +159,7 @@ struct Town : PoolItem<Town, TownID, &_Town_pool> {
|
|||
/** Destroy the town */
|
||||
~Town();
|
||||
|
||||
bool IsValid() const { return this->xy != 0; }
|
||||
inline bool IsValid() const { return this->xy != 0; }
|
||||
};
|
||||
|
||||
struct HouseSpec {
|
||||
|
|
|
@ -418,12 +418,6 @@ Waypoint::~Waypoint()
|
|||
this->xy = 0;
|
||||
}
|
||||
|
||||
bool Waypoint::IsValid() const
|
||||
{
|
||||
return this->xy != 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Fix savegames which stored waypoints in their old format
|
||||
*/
|
||||
|
|
|
@ -30,7 +30,7 @@ struct Waypoint : PoolItem<Waypoint, WaypointID, &_Waypoint_pool> {
|
|||
Waypoint(TileIndex tile = 0);
|
||||
~Waypoint();
|
||||
|
||||
bool IsValid() const;
|
||||
inline bool IsValid() const { return this->xy != 0; }
|
||||
};
|
||||
|
||||
static inline bool IsValidWaypointID(WaypointID index)
|
||||
|
|
Loading…
Reference in New Issue