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/>.
8 /** @file industry_type.h Types related to the industry. */
10 #ifndef INDUSTRY_TYPE_H
11 #define INDUSTRY_TYPE_H
13 typedef uint16_t IndustryID
;
14 typedef uint16_t IndustryGfx
;
15 typedef uint8_t IndustryType
;
19 struct IndustryTileSpec
;
21 static const IndustryID INVALID_INDUSTRY
= 0xFFFF;
23 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).
25 static const IndustryType NEW_INDUSTRYOFFSET
= 37; ///< original number of industry types
26 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, ...
27 static const IndustryType INVALID_INDUSTRYTYPE
= NUM_INDUSTRYTYPES
; ///< one above amount is considered invalid
29 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.
31 static const IndustryGfx INDUSTRYTILE_NOANIM
= 0xFF; ///< flag to mark industry tiles as having no animation
32 static const IndustryGfx NEW_INDUSTRYTILEOFFSET
= 175; ///< original number of tiles
33 static const IndustryGfx NUM_INDUSTRYTILES
= 512; ///< total number of industry tiles, new and old
34 static const IndustryGfx INVALID_INDUSTRYTILE
= NUM_INDUSTRYTILES
; ///< one above amount is considered invalid
36 static const int INDUSTRY_COMPLETED
= 3; ///< final stage of industry construction.
38 static const int INDUSTRY_NUM_INPUTS
= 16; ///< Number of cargo types an industry can accept
39 static const int INDUSTRY_NUM_OUTPUTS
= 16; ///< Number of cargo types an industry can produce
40 static const int INDUSTRY_ORIGINAL_NUM_INPUTS
= 3; ///< Original number of accepted cargo types.
41 static const int INDUSTRY_ORIGINAL_NUM_OUTPUTS
= 2; ///< Original number of produced cargo types.
44 void CheckIndustries();
46 #endif /* INDUSTRY_TYPE_H */