2009-08-21 21:21:05 +01:00
/*
* 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/>.
*/
2008-01-07 14:02:26 +00:00
/** @file industry_type.h Types related to the industry. */
# ifndef INDUSTRY_TYPE_H
# define INDUSTRY_TYPE_H
typedef uint16 IndustryID ;
typedef uint16 IndustryGfx ;
typedef uint8 IndustryType ;
struct Industry ;
struct IndustrySpec ;
struct IndustryTileSpec ;
2009-08-30 12:40:01 +01:00
static const IndustryID INVALID_INDUSTRY = 0xFFFF ;
2015-05-09 11:21:55 +01:00
static const IndustryType NUM_INDUSTRYTYPES_PER_GRF = 128 ; ///< maximum number of industry types per NewGRF; limited to 128 because bit 7 has a special meaning in some variables/callbacks (see MapNewGRFIndustryType).
2013-10-12 17:32:16 +01:00
static const IndustryType NEW_INDUSTRYOFFSET = 37 ; ///< original number of industry types
2015-05-09 11:21:55 +01:00
static const IndustryType NUM_INDUSTRYTYPES = 240 ; ///< total number of industry types, new and old; limited to 240 because we need some special ids like INVALID_INDUSTRYTYPE, IT_AI_UNKNOWN, IT_AI_TOWN, ...
2010-05-13 10:44:44 +01:00
static const IndustryType INVALID_INDUSTRYTYPE = NUM_INDUSTRYTYPES ; ///< one above amount is considered invalid
2015-05-09 11:21:55 +01:00
static const IndustryGfx NUM_INDUSTRYTILES_PER_GRF = 255 ; ///< Maximum number of industry tiles per NewGRF; limited to 255 to allow extending Action3 with an extended byte later on.
2013-10-12 17:32:59 +01:00
2010-05-13 10:44:44 +01:00
static const IndustryGfx INDUSTRYTILE_NOANIM = 0xFF ; ///< flag to mark industry tiles as having no animation
static const IndustryGfx NEW_INDUSTRYTILEOFFSET = 175 ; ///< original number of tiles
static const IndustryGfx NUM_INDUSTRYTILES = 512 ; ///< total number of industry tiles, new and old
static const IndustryGfx INVALID_INDUSTRYTILE = NUM_INDUSTRYTILES ; ///< one above amount is considered invalid
static const int INDUSTRY_COMPLETED = 3 ; ///< final stage of industry construction.
2009-08-30 12:40:01 +01:00
2018-07-26 18:29:54 +01:00
static const int INDUSTRY_NUM_INPUTS = 16 ; ///< Number of cargo types an industry can accept
static const int INDUSTRY_NUM_OUTPUTS = 16 ; ///< Number of cargo types an industry can produce
2014-08-13 20:31:45 +01:00
void CheckIndustries ( ) ;
2008-01-07 14:02:26 +00:00
# endif /* INDUSTRY_TYPE_H */