File diff r13848:aeebc2bae05b → r13849:0178a6ac1660
src/roadstop_base.h
Show inline comments
 
@@ -63,6 +63,32 @@ struct RoadStop : RoadStopPool::PoolItem
 
	}
 

	
 
	/**
 
	 * Checks whether the entrance of the road stop is occupied by a vehicle
 
	 * @return is entrance busy?
 
	 */
 
	FORCEINLINE bool IsEntranceBusy() const
 
	{
 
		return HasBit(this->status, RSSFB_ENTRY_BUSY);
 
	}
 

	
 
	/**
 
	 * Makes an entrance occupied or free
 
	 * @param busy if true, marks busy; free otherwise
 
	 */
 
	FORCEINLINE void SetEntranceBusy(bool busy)
 
	{
 
		SB(this->status, RSSFB_ENTRY_BUSY, 1, busy);
 
	}
 

	
 
	void Leave(RoadVehicle *rv);
 
	bool Enter(RoadVehicle *rv);
 

	
 
	RoadStop *GetNextRoadStop(const struct RoadVehicle *v) const;
 

	
 
	static RoadStop *GetByTile(TileIndex tile, RoadStopType type);
 

	
 
private:
 
	/**
 
	 * Allocates a bay
 
	 * @return the allocated bay number
 
	 * @pre this->HasFreeBay()
 
@@ -98,29 +124,6 @@ struct RoadStop : RoadStopPool::PoolItem
 
		assert(nr < RSSFB_BAY_COUNT);
 
		SetBit(this->status, nr);
 
	}
 

	
 

	
 
	/**
 
	 * Checks whether the entrance of the road stop is occupied by a vehicle
 
	 * @return is entrance busy?
 
	 */
 
	FORCEINLINE bool IsEntranceBusy() const
 
	{
 
		return HasBit(this->status, RSSFB_ENTRY_BUSY);
 
	}
 

	
 
	/**
 
	 * Makes an entrance occupied or free
 
	 * @param busy if true, marks busy; free otherwise
 
	 */
 
	FORCEINLINE void SetEntranceBusy(bool busy)
 
	{
 
		SB(this->status, RSSFB_ENTRY_BUSY, 1, busy);
 
	}
 

	
 
	RoadStop *GetNextRoadStop(const struct RoadVehicle *v) const;
 

	
 
	static RoadStop *GetByTile(TileIndex tile, RoadStopType type);
 
};
 

	
 
#define FOR_ALL_ROADSTOPS_FROM(var, start) FOR_ALL_ITEMS_FROM(RoadStop, roadstop_index, var, start)