Mercurial > hg > openttd
changeset 7496:96d510452b4d draft
(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.
author | rubidium <rubidium@openttd.org> |
---|---|
date | Thu, 30 Aug 2007 20:40:33 +0000 |
parents | 70be385d78ea |
children | 797ff0b0e0a5 |
files | src/cargopacket.h src/depot.h src/engine.h src/industry.h src/oldpool.h src/order.h src/signs.h src/station.cpp src/station.h src/town.h src/waypoint.cpp src/waypoint.h |
diffstat | 12 files changed, 23 insertions(+), 47 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cargopacket.h +++ b/src/cargopacket.h @@ -43,7 +43,7 @@ * 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
--- a/src/depot.h +++ b/src/depot.h @@ -23,7 +23,7 @@ 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)
--- a/src/engine.h +++ b/src/engine.h @@ -284,7 +284,7 @@ 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())
--- a/src/industry.h +++ b/src/industry.h @@ -123,7 +123,7 @@ Industry(TileIndex tile = 0) : xy(tile) {} ~Industry(); - bool IsValid() const { return this->xy != 0; } + inline bool IsValid() const { return this->xy != 0; } }; struct IndustryTileTable {
--- a/src/oldpool.h +++ b/src/oldpool.h @@ -225,15 +225,6 @@ { } - /** - * 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.
--- a/src/order.h +++ b/src/order.h @@ -107,7 +107,11 @@ 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 @@ 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;
--- a/src/signs.h +++ b/src/signs.h @@ -26,7 +26,7 @@ /** Destroy the sign */ ~Sign(); - bool IsValid() const { return this->str != STR_NULL; } + inline bool IsValid() const { return this->str != STR_NULL; } }; enum {
--- a/src/station.cpp +++ b/src/station.cpp @@ -237,14 +237,6 @@ 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 @@ 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 {
--- a/src/station.h +++ b/src/station.h @@ -65,7 +65,11 @@ 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 @@ 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 {
--- a/src/town.h +++ b/src/town.h @@ -159,7 +159,7 @@ /** Destroy the town */ ~Town(); - bool IsValid() const { return this->xy != 0; } + inline bool IsValid() const { return this->xy != 0; } }; struct HouseSpec {