1 /* 2 * This file is part of OpenTTD. 3 * 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. 4 * 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. 5 * 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/>. 6 */ 7 8 /** @file object_type.h Types related to object tiles. */ 9 10 #ifndef OBJECT_TYPE_H 11 #define OBJECT_TYPE_H 12 13 /** Types of objects. */ 14 typedef uint16 ObjectType; 15 16 static const ObjectType OBJECT_TRANSMITTER = 0; ///< The large antenna 17 static const ObjectType OBJECT_LIGHTHOUSE = 1; ///< The nice lighthouse 18 static const ObjectType OBJECT_STATUE = 2; ///< Statue in towns 19 static const ObjectType OBJECT_OWNED_LAND = 3; ///< Owned land 'flag' 20 static const ObjectType OBJECT_HQ = 4; ///< HeadQuarter of a player 21 22 static const ObjectType NUM_OBJECTS_PER_GRF = 255; ///< Number of supported objects per NewGRF; limited to 255 to allow extending Action3 with an extended byte later on. 23 24 static const ObjectType NEW_OBJECT_OFFSET = 5; ///< Offset for new objects 25 static const ObjectType NUM_OBJECTS = 64000; ///< Number of supported objects overall 26 static const ObjectType INVALID_OBJECT_TYPE = 0xFFFF; ///< An invalid object 27 28 /** Unique identifier for an object. */ 29 typedef uint32 ObjectID; 30 31 struct Object; 32 struct ObjectSpec; 33 34 static const ObjectID INVALID_OBJECT = 0xFFFFFFFF; ///< An invalid object 35 36 #endif /* OBJECT_TYPE_H */ 37