 cbdd9f84d8
			
		
	
	cbdd9f84d8
	
	
	
		
			
			# Conflicts: # src/console_gui.cpp # src/lang/korean.txt # src/video/sdl2_v.cpp # src/video/sdl2_v.h # src/window.cpp # src/window_gui.h
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * This file is part of OpenTTD.
 | |
|  * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
 | |
|  * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | |
|  * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
 | |
|  */
 | |
| 
 | |
| /** @file depot_map.h Map related accessors for depots. */
 | |
| 
 | |
| #ifndef DEPOT_MAP_H
 | |
| #define DEPOT_MAP_H
 | |
| 
 | |
| #include "station_map.h"
 | |
| 
 | |
| /**
 | |
|  * Check if a tile is a depot and it is a depot of the given type.
 | |
|  */
 | |
| static inline bool IsDepotTypeTile(TileIndex tile, TransportType type)
 | |
| {
 | |
| 	switch (type) {
 | |
| 		default: NOT_REACHED();
 | |
| 		case TRANSPORT_RAIL:
 | |
| 			return IsRailDepotTile(tile);
 | |
| 
 | |
| 		case TRANSPORT_ROAD:
 | |
| 			return IsRoadDepotTile(tile);
 | |
| 
 | |
| 		case TRANSPORT_WATER:
 | |
| 			return IsShipDepotTile(tile);
 | |
| 
 | |
| 		case TRANSPORT_AIR:
 | |
| 			return IsHangarTile(tile);
 | |
| 	}
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Is the given tile a tile with a depot on it?
 | |
|  * @param tile the tile to check
 | |
|  * @return true if and only if there is a depot on the tile.
 | |
|  */
 | |
| static inline bool IsDepotTile(TileIndex tile)
 | |
| {
 | |
| 	return IsRailDepotTile(tile) || IsRoadDepotTile(tile) || IsShipDepotTile(tile) || IsHangarTile(tile);
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Get the index of which depot is attached to the tile.
 | |
|  * @param t the tile
 | |
|  * @pre IsRailDepotTile(t) || IsRoadDepotTile(t) || IsShipDepotTile(t)
 | |
|  * @return DepotID
 | |
|  */
 | |
| static inline DepotID GetDepotIndex(TileIndex t)
 | |
| {
 | |
| 	/* Hangars don't have a Depot class, thus store no DepotID. */
 | |
| 	assert_tile(IsRailDepotTile(t) || IsRoadDepotTile(t) || IsShipDepotTile(t), t);
 | |
| 	return _m[t].m2;
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Get the type of vehicles that can use a depot
 | |
|  * @param t The tile
 | |
|  * @pre IsDepotTile(t)
 | |
|  * @return the type of vehicles that can use the depot
 | |
|  */
 | |
| static inline VehicleType GetDepotVehicleType(TileIndex t)
 | |
| {
 | |
| 	switch (GetTileType(t)) {
 | |
| 		default: NOT_REACHED();
 | |
| 		case MP_RAILWAY: return VEH_TRAIN;
 | |
| 		case MP_ROAD:    return VEH_ROAD;
 | |
| 		case MP_WATER:   return VEH_SHIP;
 | |
| 		case MP_STATION: return VEH_AIRCRAFT;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| #endif /* DEPOT_MAP_H */
 |