annotate src/industry.h @ 7107:c3f29220717a draft

(svn r10379) -Codechange: silence a compiler warning (which was right) about a variable too little for what's been asked to do
author belugas <belugas@openttd.org>
date Thu, 28 Jun 2007 19:03:14 +0000
parents 2dcc88253d83
children ef1d8019de68
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
1 /* $Id$ */
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
2
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
3 /** @file industry.h */
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
4
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
5 #ifndef INDUSTRY_H
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
6 #define INDUSTRY_H
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
7
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
8 #include "oldpool.h"
6390
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
9 #include "helpers.hpp"
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
10
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
11 typedef byte IndustryGfx;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
12 typedef uint8 IndustryType;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
13
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
14 enum {
6743
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
15 INVALID_INDUSTRY = 0xFFFF,
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
16 NEW_INDUSTRYOFFSET = 37, ///< original number of industries
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
17 NUM_INDUSTRYTYPES = 37, ///< total number of industries, new and old
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
18 INDUSTRYTILE_NOANIM = 0xFF, ///< flag to mark industry tiles as having no animation
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
19 NEW_INDUSTRYTILEOFFSET = 175, ///< original number of tiles
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
20 INVALID_INDUSTRYTYPE = NUM_INDUSTRYTYPES, ///< one above amount is considered invalid
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
21 NUM_INDUSTRYTILES = NEW_INDUSTRYTILEOFFSET, ///< total number of industry tiles, new and old
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
22 INVALID_INDUSTRYTILE = NUM_INDUSTRYTILES, ///< one above amount is considered invalid
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
23 };
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
24
6765
f13523575f5d (svn r10001) -Codechange: Add support for removing dynamically allocated newgrf data
belugas <belugas@openttd.org>
parents: 6743
diff changeset
25 enum {
f13523575f5d (svn r10001) -Codechange: Add support for removing dynamically allocated newgrf data
belugas <belugas@openttd.org>
parents: 6743
diff changeset
26 CLEAN_RANDOMSOUNDS, ///< Free the dynamically allocated sounds table
f13523575f5d (svn r10001) -Codechange: Add support for removing dynamically allocated newgrf data
belugas <belugas@openttd.org>
parents: 6743
diff changeset
27 CLEAN_TILELSAYOUT, ///< Free the dynamically allocated tile layout structure
f13523575f5d (svn r10001) -Codechange: Add support for removing dynamically allocated newgrf data
belugas <belugas@openttd.org>
parents: 6743
diff changeset
28 };
f13523575f5d (svn r10001) -Codechange: Add support for removing dynamically allocated newgrf data
belugas <belugas@openttd.org>
parents: 6743
diff changeset
29
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
30 enum IndustryLifeType {
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
31 INDUSTRYLIFE_NOT_CLOSABLE, ///< Industry can never close
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
32 INDUSTRYLIFE_PRODUCTION, ///< Industry can close and change of production
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
33 INDUSTRYLIFE_CLOSABLE, ///< Industry can only close (no production change)
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
34 };
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
35
6440
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
36 /* Procedures that can be run to check whether an industry may
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
37 * build at location the given to the procedure */
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
38 enum CheckProc {
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
39 CHECK_NOTHING = 0,
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
40 CHECK_FOREST = 1,
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
41 CHECK_REFINERY = 2,
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
42 CHECK_FARM = 3,
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
43 CHECK_PLANTATION = 4,
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
44 CHECK_WATER = 5,
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
45 CHECK_LUMBERMILL = 6,
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
46 CHECK_BUBBLEGEN = 7,
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
47 CHECK_OIL_RIG = 8,
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
48 CHECK_END,
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
49 };
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
50
6390
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
51 enum IndustyBehaviour {
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
52 INDUSTRYBEH_NONE = 0,
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
53 INDUSTRYBEH_PLANT_FIELDS = 1 << 0, ///< periodically plants fileds around itself (temp and artic farms)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
54 INDUSTRYBEH_CUT_TREES = 1 << 1, ///< cuts trees and produce first output cargo from them (lumber mill)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
55 INDUSTRYBEH_BUILT_ONWATER = 1 << 2, ///< is built on water (oil rig)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
56 INDUSTRYBEH_TOWN1200_MORE = 1 << 3, ///< can only be built in towns larger then 1200 inhabitants (temperate bank)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
57 INDUSTRYBEH_ONLY_INTOWN = 1 << 4, ///< can only be built in towns (arctic/tropic banks, water tower)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
58 INDUSTRYBEH_ONLY_NEARTOWN = 1 << 5, ///< is always built near towns (toy shop)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
59 INDUSTRYBEH_PLANT_ON_BUILT = 1 << 6, ///< Fields are planted around when built (all farms)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
60 INDUSTRYBEH_DONT_INCR_PROD = 1 << 7, ///< do not increase production (oil wells)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
61 INDUSTRYBEH_BEFORE_1950 = 1 << 8, ///< can only be built before 1950 (oil wells)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
62 INDUSTRYBEH_AFTER_1960 = 1 << 9, ///< can only be built after 1960 (oil rigs)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
63 INDUSTRYBEH_AI_AIRSHIP_ROUTES = 1 << 10, ///< ai will attempt to establish air/ship routes to this industry (oil rig)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
64 INDUSTRYBEH_AIRPLANE_ATTACKS = 1 << 11, ///< can be exploded by a military airplane (oil refinery)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
65 INDUSTRYBEH_CHOPPER_ATTACKS = 1 << 12, ///< can be exploded by a military helicopter (factory)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
66 INDUSTRYBEH_CAN_SUBSIDENCE = 1 << 13, ///< can cause a subsidence (coal mine, shaft that collapses)
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
67 };
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
68
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
69
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
70 DECLARE_ENUM_AS_BIT_SET(IndustyBehaviour);
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
71
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
72 /**
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
73 * Defines the internal data of a functionnal industry
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
74 */
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
75 struct Industry {
6819
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
76 TileIndex xy; ///< coordinates of the primary tile the industry is built one
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
77 byte width;
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
78 byte height;
6819
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
79 const Town *town; ///< Nearest town
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
80 uint16 cargo_waiting[2]; ///< amount of cargo produced per cargo
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
81 byte production_rate[2]; ///< production rate for each cargo
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
82 byte prod_level; ///< general production level
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
83 uint16 this_month_production[2]; ///< stats of this month's production per cargo
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
84 uint16 this_month_transported[2]; ///< stats of this month's transport per cargo
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
85 byte last_month_pct_transported[2]; ///< percentage transported per cargo in the last full month
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
86 uint16 last_month_production[2]; ///< total units produced per cargo in the last full month
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
87 uint16 last_month_transported[2]; ///< total units transported per cargo in the last full month
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
88 uint16 counter; ///< used for animation and/or production (if available cargo)
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
89
6819
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
90 IndustryType type; ///< type of industry. see IT_COAL_MINE and others
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
91 OwnerByte owner; ///< owner of the industry. Which SHOULD always be (imho) OWNER_NONE
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
92 byte random_color; ///< randomized colour of the industry, for display purpose
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
93 Year last_prod_year; ///< last year of production
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
94 byte was_cargo_delivered; ///< flag that indicate this has been the closest industry chosen for cargo delivery by a station. see DeliverGoodsToIndustry
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
95
6819
ffc184231f4a (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
rubidium <rubidium@openttd.org>
parents: 6815
diff changeset
96 IndustryID index; ///< index of the industry in the pool of industries
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
97 };
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
98
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
99 struct IndustryTileTable {
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
100 TileIndexDiffC ti;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
101 IndustryGfx gfx;
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
102 };
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
103
6675
b9b7055a4d2f (svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents: 6655
diff changeset
104 /** Data related to the handling of grf files. Common to both industry and industry tile */
b9b7055a4d2f (svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents: 6655
diff changeset
105 struct GRFFileProps {
b9b7055a4d2f (svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents: 6655
diff changeset
106 uint8 subst_id;
b9b7055a4d2f (svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents: 6655
diff changeset
107 uint16 local_id; ///< id defined by the grf file for this industry
b9b7055a4d2f (svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents: 6655
diff changeset
108 struct SpriteGroup *spritegroup; ///< pointer to the different sprites of the industry
6848
2dcc88253d83 (svn r10088) -Codechange: A typo and a code-style
belugas <belugas@openttd.org>
parents: 6839
diff changeset
109 const struct GRFFile *grffile; ///< grf file that introduced this industry
7107
c3f29220717a (svn r10379) -Codechange: silence a compiler warning (which was right) about a variable too little for what's been asked to do
belugas <belugas@openttd.org>
parents: 6848
diff changeset
110 uint16 override; ///< id of the entity been replaced by
6675
b9b7055a4d2f (svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents: 6655
diff changeset
111 };
b9b7055a4d2f (svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents: 6655
diff changeset
112
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
113 /**
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
114 * Defines the data structure for constructing industry.
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
115 */
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
116 struct IndustrySpec {
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
117 const IndustryTileTable *const *table;///< List of the tiles composing the industry
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
118 byte num_table; ///< Number of elements in the table
6815
fbb44e6ab2e6 (svn r10054) -Codechange: make the industries cost modifier look more like the original one, so it's much easier to support industries that use this original format.
rubidium <rubidium@openttd.org>
parents: 6765
diff changeset
119 uint16 cost_multiplier; ///< Base cost multiplier.
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
120 IndustryType conflicting[3]; ///< Industries this industry cannot be close to
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
121 byte check_proc; ///< Index to a procedure to check for conflicting circumstances
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
122 CargoID produced_cargo[2];
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
123 byte production_rate[2];
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
124 byte minimal_cargo; ///< minimum amount of cargo transported to the stations
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
125 ///< If the waiting cargo is less than this number, no cargo is moved to it
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
126 CargoID accepts_cargo[3]; ///< 3 accepted cargos
6635
5b5c06df5899 (svn r9866) -Codechange: remove the technical one-input-cargo-creates-one-output-cargo limit in the factories, sawmills, steelmills and the ones I'm forgetting to mention right now. Use of this functionality will come later.
rubidium <rubidium@openttd.org>
parents: 6533
diff changeset
127 uint16 input_cargo_multiplier[3][2]; ///< Input cargo multipliers (multiply amount of incoming cargo for the produced cargos)
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
128 IndustryLifeType life_type; ///< This is also known as Industry production flag, in newgrf specs
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
129 byte climate_availability; ///< Bitmask, giving landscape enums as bit position
6390
a6b14274ee2e (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc...
belugas <belugas@openttd.org>
parents: 6307
diff changeset
130 IndustyBehaviour behaviour; ///< How this industry will behave, and how others entities can use it
6440
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
131 byte map_colour; ///< colour used for the small map
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
132 StringID name; ///< Displayed name of the industry
6266
5ff75337492b (svn r9075) -Codechange: Cleanup of industry_cmd (Step-7). Small step that is. The new industry messages do not need a series of tests. Only one property to use.
belugas <belugas@openttd.org>
parents: 6248
diff changeset
133 StringID new_industry_text; ///< Message appearing when the industry is built
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
134 StringID closure_text; ///< Message appearing when the industry closes
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
135 StringID production_up_text; ///< Message appearing when the industry's production is increasing
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
136 StringID production_down_text; ///< Message appearing when the industry's production is decreasing
6414
ec1486c86076 (svn r9550) -Codechange: Add notion and data of industry appearing chances, both in game and in creation mode.
belugas <belugas@openttd.org>
parents: 6390
diff changeset
137 byte appear_ingame[NUM_LANDSCAPE]; ///< Probability of appearance in game
ec1486c86076 (svn r9550) -Codechange: Add notion and data of industry appearing chances, both in game and in creation mode.
belugas <belugas@openttd.org>
parents: 6390
diff changeset
138 byte appear_creation[NUM_LANDSCAPE]; ///< Probability of appearance during map creation
6655
02c37d001ece (svn r9886) -Codechange: Cleanup of industries (Step-13). Include the sounds table into the industry's spec.
belugas <belugas@openttd.org>
parents: 6639
diff changeset
139 uint8 number_of_sounds; ///< Number of sounds available in the sounds array
02c37d001ece (svn r9886) -Codechange: Cleanup of industries (Step-13). Include the sounds table into the industry's spec.
belugas <belugas@openttd.org>
parents: 6639
diff changeset
140 const uint8 *random_sounds; ///< array of random sounds.
6675
b9b7055a4d2f (svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents: 6655
diff changeset
141 /* Newgrf data */
6440
baeebe9ce6e4 (svn r9577) -Codechange: Add notion and data for industry map colour, used in the smallmap_gui. Not used yet.
belugas <belugas@openttd.org>
parents: 6414
diff changeset
142 uint16 callback_flags; ///< Flags telling which grf callback is set
6765
f13523575f5d (svn r10001) -Codechange: Add support for removing dynamically allocated newgrf data
belugas <belugas@openttd.org>
parents: 6743
diff changeset
143 uint8 cleanup_flag; ///< flags indicating which data should be freed upon cleaning up
6741
07e4027e994c (svn r9974) -Codechange: Remove the enabled member of GRFFileProps, since it'snot really grf related
belugas <belugas@openttd.org>
parents: 6736
diff changeset
144 bool enabled; ///< entity still avaible (by default true).newgrf can disable it, though
6675
b9b7055a4d2f (svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents: 6655
diff changeset
145 struct GRFFileProps grf_prop; ///< properties related the the grf file
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
146 };
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
147
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
148 /**
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
149 * Defines the data structure of each indivudual tile of an industry.
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
150 */
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
151 struct IndustryTileSpec {
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
152 CargoID accepts_cargo[3]; ///< Cargo accepted by this tile
6736
81ff03f9f54d (svn r9969) -Codechange: Cleanup of industries (Step-14). Remove hardcoded-run-time tile acceptance and put in corresponding tile
belugas <belugas@openttd.org>
parents: 6675
diff changeset
153 uint8 acceptance[3]; ///< Level of aceptance per cargo type
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
154 Slope slopes_refused; ///< slope pattern on which this tile cannot be built
6305
13842c0ef6a9 (svn r9162) -Codechange: Cleanup of industry_cmd (Step-8). Gather tile animation data into IndustryTileSpec array
belugas <belugas@openttd.org>
parents: 6266
diff changeset
155 byte anim_production; ///< Animation frame to start when goods are produced
13842c0ef6a9 (svn r9162) -Codechange: Cleanup of industry_cmd (Step-8). Gather tile animation data into IndustryTileSpec array
belugas <belugas@openttd.org>
parents: 6266
diff changeset
156 byte anim_next; ///< Next frame in an animation
13842c0ef6a9 (svn r9162) -Codechange: Cleanup of industry_cmd (Step-8). Gather tile animation data into IndustryTileSpec array
belugas <belugas@openttd.org>
parents: 6266
diff changeset
157 bool anim_state; ///< When true, the tile has to be drawn using the animation
6637
7d0d7bde3390 (svn r9868) -Codechange: bring external declaration of functions togueter and adjust a comment
belugas <belugas@openttd.org>
parents: 6636
diff changeset
158 ///< state instead of the construction state
6675
b9b7055a4d2f (svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents: 6655
diff changeset
159 /* Newgrf data */
6743
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
160 uint8 callback_flags; ///< Flags telling which grf callback is set
6741
07e4027e994c (svn r9974) -Codechange: Remove the enabled member of GRFFileProps, since it'snot really grf related
belugas <belugas@openttd.org>
parents: 6736
diff changeset
161 bool enabled; ///< entity still avaible (by default true).newgrf can disable it, though
6675
b9b7055a4d2f (svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents: 6655
diff changeset
162 struct GRFFileProps grf_prop;
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
163 };
6092
1921ab72b54d (svn r8827) -Codechange: Cleanup of industry_cmd (Step-6). Implementation of IndustryTileSPec, the alter ego of IndustrySpec.
belugas <belugas@openttd.org>
parents: 5587
diff changeset
164
6637
7d0d7bde3390 (svn r9868) -Codechange: bring external declaration of functions togueter and adjust a comment
belugas <belugas@openttd.org>
parents: 6636
diff changeset
165 /* industry_cmd.cpp*/
6743
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
166 const IndustrySpec *GetIndustrySpec(IndustryType thistype); ///< Array of industries data
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
167 const IndustryTileSpec *GetIndustryTileSpec(IndustryGfx gfx); ///< Array of industry tiles data
6637
7d0d7bde3390 (svn r9868) -Codechange: bring external declaration of functions togueter and adjust a comment
belugas <belugas@openttd.org>
parents: 6636
diff changeset
168 void ResetIndustries();
7d0d7bde3390 (svn r9868) -Codechange: bring external declaration of functions togueter and adjust a comment
belugas <belugas@openttd.org>
parents: 6636
diff changeset
169 void PlantRandomFarmField(const Industry *i);
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
170
6743
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
171 /* writable arrays of specs */
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
172 extern IndustrySpec _industry_specs[NUM_INDUSTRYTYPES];
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
173 extern IndustryTileSpec _industry_tile_specs[NUM_INDUSTRYTILES];
d7b001e114c5 (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents: 6741
diff changeset
174
6533
dfb2e6244177 (svn r9721) -Codechange: -Codechange: Cleanup of industry_cmd (Step-12). Dynamically build the legends (name and color) for industries in the smallmap_gui.
belugas <belugas@openttd.org>
parents: 6493
diff changeset
175 /* smallmap_gui.cpp */
dfb2e6244177 (svn r9721) -Codechange: -Codechange: Cleanup of industry_cmd (Step-12). Dynamically build the legends (name and color) for industries in the smallmap_gui.
belugas <belugas@openttd.org>
parents: 6493
diff changeset
176 void BuildIndustriesLegend();
dfb2e6244177 (svn r9721) -Codechange: -Codechange: Cleanup of industry_cmd (Step-12). Dynamically build the legends (name and color) for industries in the smallmap_gui.
belugas <belugas@openttd.org>
parents: 6493
diff changeset
177
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
178 DECLARE_OLD_POOL(Industry, Industry, 3, 8000)
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
179
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
180 /**
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
181 * Check if an Industry really exists.
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
182 * @param industry to check
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
183 * @return true if position is a valid one
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
184 */
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
185 static inline bool IsValidIndustry(const Industry *industry)
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
186 {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
187 return industry->xy != 0;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
188 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
189
6201
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
190 /**
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
191 * Check if an Industry exists whithin the pool of industries
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
192 * @param index of the desired industry
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
193 * @return true if it is inside the pool
3b141366478a (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents: 6092
diff changeset
194 */
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
195 static inline bool IsValidIndustryID(IndustryID index)
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
196 {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
197 return index < GetIndustryPoolSize() && IsValidIndustry(GetIndustry(index));
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
198 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
199
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
200
6247
57363e064324 (svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents: 6201
diff changeset
201 static inline IndustryID GetMaxIndustryIndex()
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
202 {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
203 /* TODO - This isn't the real content of the function, but
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
204 * with the new pool-system this will be replaced with one that
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
205 * _really_ returns the highest index. Now it just returns
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
206 * the next safe value we are sure about everything is below.
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
207 */
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
208 return GetIndustryPoolSize() - 1;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
209 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
210
6839
785f81035a7b (svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents: 6825
diff changeset
211 extern int _total_industries; // general counter
785f81035a7b (svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents: 6825
diff changeset
212 extern uint16 _industry_counts[NUM_INDUSTRYTYPES]; // Number of industries per type ingame
785f81035a7b (svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents: 6825
diff changeset
213
6247
57363e064324 (svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents: 6201
diff changeset
214 static inline uint GetNumIndustries()
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
215 {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
216 return _total_industries;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
217 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
218
6824
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
219 /** Increment the count of industries for this type
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
220 * @param type IndustryType to increment
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
221 * @pre type < INVALID_INDUSTRYTYPE */
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
222 static inline void IncIndustryTypeCount(IndustryType type)
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
223 {
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
224 assert(type < INVALID_INDUSTRYTYPE);
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
225 _industry_counts[type]++;
6839
785f81035a7b (svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents: 6825
diff changeset
226 _total_industries++;
6824
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
227 }
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
228
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
229 /** Decrement the count of industries for this type
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
230 * @param type IndustryType to decrement
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
231 * @pre type < INVALID_INDUSTRYTYPE */
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
232 static inline void DecIndustryTypeCount(IndustryType type)
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
233 {
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
234 assert(type < INVALID_INDUSTRYTYPE);
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
235 _industry_counts[type]--;
6839
785f81035a7b (svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents: 6825
diff changeset
236 _total_industries--;
6824
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
237 }
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
238
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
239 /** get the count of industries for this type
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
240 * @param type IndustryType to query
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
241 * @pre type < INVALID_INDUSTRYTYPE */
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
242 static inline uint8 GetIndustryTypeCount(IndustryType type)
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
243 {
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
244 assert(type < INVALID_INDUSTRYTYPE);
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
245 return min(_industry_counts[type], 0xFF); // callback expects only a byte, so cut it
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
246 }
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
247
6839
785f81035a7b (svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents: 6825
diff changeset
248 /** Resets both the total_industries and the _industry_counts
785f81035a7b (svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents: 6825
diff changeset
249 * This way, we centralize all counts activities */
785f81035a7b (svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents: 6825
diff changeset
250 static inline void ResetIndustryCounts()
785f81035a7b (svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents: 6825
diff changeset
251 {
785f81035a7b (svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents: 6825
diff changeset
252 _total_industries = 0;
785f81035a7b (svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents: 6825
diff changeset
253 memset(&_industry_counts, 0, sizeof(_industry_counts));
785f81035a7b (svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents: 6825
diff changeset
254 }
785f81035a7b (svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents: 6825
diff changeset
255
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
256 /**
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
257 * Return a random valid industry.
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
258 */
6247
57363e064324 (svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents: 6201
diff changeset
259 static inline Industry *GetRandomIndustry()
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
260 {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
261 int num = RandomRange(GetNumIndustries());
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
262 IndustryID index = INVALID_INDUSTRY;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
263
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
264 if (GetNumIndustries() == 0) return NULL;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
265
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
266 while (num >= 0) {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
267 num--;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
268 index++;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
269
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
270 /* Make sure we have a valid industry */
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
271 while (!IsValidIndustryID(index)) {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
272 index++;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
273 assert(index <= GetMaxIndustryIndex());
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
274 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
275 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
276
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
277 return GetIndustry(index);
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
278 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
279
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
280 void DestroyIndustry(Industry *i);
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
281
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
282 static inline void DeleteIndustry(Industry *i)
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
283 {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
284 DestroyIndustry(i);
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
285 i->xy = 0;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
286 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
287
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
288 #define FOR_ALL_INDUSTRIES_FROM(i, start) for (i = GetIndustry(start); i != NULL; i = (i->index + 1U < GetIndustryPoolSize()) ? GetIndustry(i->index + 1U) : NULL) if (IsValidIndustry(i))
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
289 #define FOR_ALL_INDUSTRIES(i) FOR_ALL_INDUSTRIES_FROM(i, 0)
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
290
6824
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
291 extern const Industry **_industry_sort;
4d68a57bc04b (svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents: 6819
diff changeset
292 extern bool _industry_sort_dirty;
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
293
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
294 enum {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
295 IT_COAL_MINE = 0,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
296 IT_POWER_STATION = 1,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
297 IT_SAWMILL = 2,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
298 IT_FOREST = 3,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
299 IT_OIL_REFINERY = 4,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
300 IT_OIL_RIG = 5,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
301 IT_FACTORY = 6,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
302 IT_PRINTING_WORKS = 7,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
303 IT_STEEL_MILL = 8,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
304 IT_FARM = 9,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
305 IT_COPPER_MINE = 10,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
306 IT_OIL_WELL = 11,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
307 IT_BANK_TEMP = 12,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
308 IT_FOOD_PROCESS = 13,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
309 IT_PAPER_MILL = 14,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
310 IT_GOLD_MINE = 15,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
311 IT_BANK_TROPIC_ARCTIC = 16,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
312 IT_DIAMOND_MINE = 17,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
313 IT_IRON_MINE = 18,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
314 IT_FRUIT_PLANTATION = 19,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
315 IT_RUBBER_PLANTATION = 20,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
316 IT_WATER_SUPPLY = 21,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
317 IT_WATER_TOWER = 22,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
318 IT_FACTORY_2 = 23,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
319 IT_FARM_2 = 24,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
320 IT_LUMBER_MILL = 25,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
321 IT_COTTON_CANDY = 26,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
322 IT_CANDY_FACTORY = 27,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
323 IT_BATTERY_FARM = 28,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
324 IT_COLA_WELLS = 29,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
325 IT_TOY_SHOP = 30,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
326 IT_TOY_FACTORY = 31,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
327 IT_PLASTIC_FOUNTAINS = 32,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
328 IT_FIZZY_DRINK_FACTORY = 33,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
329 IT_BUBBLE_GENERATOR = 34,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
330 IT_TOFFEE_QUARRY = 35,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
331 IT_SUGAR_MINE = 36,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
332 IT_END,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
333 IT_INVALID = 255,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
334 };
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
335
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
336 #endif /* INDUSTRY_H */