Mercurial > hg > openttd
annotate src/industry.h @ 7186:0a85b5cc61f4 draft
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
author | rubidium <rubidium@openttd.org> |
---|---|
date | Sat, 07 Jul 2007 08:53:19 +0000 |
parents | 0398071acc00 |
children | 39b4e2291424 |
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 { |
7144
4a108dac9a2b
(svn r10418) -Codechange: implement/resurrect the industry production flags.
rubidium <rubidium@openttd.org>
parents:
7132
diff
changeset
|
31 INDUSTRYLIFE_BLACK_HOLE = 0, ///< Like power plants and banks |
4a108dac9a2b
(svn r10418) -Codechange: implement/resurrect the industry production flags.
rubidium <rubidium@openttd.org>
parents:
7132
diff
changeset
|
32 INDUSTRYLIFE_EXTRACTIVE = 1 << 0, ///< Like mines |
4a108dac9a2b
(svn r10418) -Codechange: implement/resurrect the industry production flags.
rubidium <rubidium@openttd.org>
parents:
7132
diff
changeset
|
33 INDUSTRYLIFE_ORGANIC = 1 << 1, ///< Like forests |
4a108dac9a2b
(svn r10418) -Codechange: implement/resurrect the industry production flags.
rubidium <rubidium@openttd.org>
parents:
7132
diff
changeset
|
34 INDUSTRYLIFE_PROCESSING = 1 << 2, ///< Like factories |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
35 }; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
36 |
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
|
37 /* 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
|
38 * 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
|
39 enum CheckProc { |
7173
8b43391dc0c2
(svn r10447) -Codechange: Don't need to specify values on an enum when those values are contiguous
belugas <belugas@openttd.org>
parents:
7165
diff
changeset
|
40 CHECK_NOTHING, |
8b43391dc0c2
(svn r10447) -Codechange: Don't need to specify values on an enum when those values are contiguous
belugas <belugas@openttd.org>
parents:
7165
diff
changeset
|
41 CHECK_FOREST, |
8b43391dc0c2
(svn r10447) -Codechange: Don't need to specify values on an enum when those values are contiguous
belugas <belugas@openttd.org>
parents:
7165
diff
changeset
|
42 CHECK_REFINERY, |
8b43391dc0c2
(svn r10447) -Codechange: Don't need to specify values on an enum when those values are contiguous
belugas <belugas@openttd.org>
parents:
7165
diff
changeset
|
43 CHECK_FARM, |
8b43391dc0c2
(svn r10447) -Codechange: Don't need to specify values on an enum when those values are contiguous
belugas <belugas@openttd.org>
parents:
7165
diff
changeset
|
44 CHECK_PLANTATION, |
8b43391dc0c2
(svn r10447) -Codechange: Don't need to specify values on an enum when those values are contiguous
belugas <belugas@openttd.org>
parents:
7165
diff
changeset
|
45 CHECK_WATER, |
8b43391dc0c2
(svn r10447) -Codechange: Don't need to specify values on an enum when those values are contiguous
belugas <belugas@openttd.org>
parents:
7165
diff
changeset
|
46 CHECK_LUMBERMILL, |
8b43391dc0c2
(svn r10447) -Codechange: Don't need to specify values on an enum when those values are contiguous
belugas <belugas@openttd.org>
parents:
7165
diff
changeset
|
47 CHECK_BUBBLEGEN, |
8b43391dc0c2
(svn r10447) -Codechange: Don't need to specify values on an enum when those values are contiguous
belugas <belugas@openttd.org>
parents:
7165
diff
changeset
|
48 CHECK_OIL_RIG, |
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
|
49 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
|
50 }; |
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
|
51 |
7186
0a85b5cc61f4
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
rubidium <rubidium@openttd.org>
parents:
7185
diff
changeset
|
52 enum IndustryConstructionType { |
0a85b5cc61f4
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
rubidium <rubidium@openttd.org>
parents:
7185
diff
changeset
|
53 ICT_UNKNOWN, |
0a85b5cc61f4
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
rubidium <rubidium@openttd.org>
parents:
7185
diff
changeset
|
54 ICT_NORMAL_GAMEPLAY, |
0a85b5cc61f4
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
rubidium <rubidium@openttd.org>
parents:
7185
diff
changeset
|
55 ICT_MAP_GENERATION, |
0a85b5cc61f4
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
rubidium <rubidium@openttd.org>
parents:
7185
diff
changeset
|
56 ICT_SCENARIO_EDITOR |
0a85b5cc61f4
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
rubidium <rubidium@openttd.org>
parents:
7185
diff
changeset
|
57 }; |
0a85b5cc61f4
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
rubidium <rubidium@openttd.org>
parents:
7185
diff
changeset
|
58 |
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
|
59 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
|
60 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
|
61 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
|
62 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
|
63 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
|
64 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
|
65 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
|
66 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
|
67 INDUSTRYBEH_PLANT_ON_BUILT = 1 << 6, ///< Fields are planted around when built (all farms) |
7132
ef1d8019de68
(svn r10406) -Fix [FS#968]: only industries in the temperate climate should be affected by the "do not increase production" flag.
rubidium <rubidium@openttd.org>
parents:
7107
diff
changeset
|
68 INDUSTRYBEH_DONT_INCR_PROD = 1 << 7, ///< do not increase production (oil wells) in the temperate climate |
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
|
69 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
|
70 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
|
71 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
|
72 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
|
73 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
|
74 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
|
75 }; |
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
|
76 |
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
|
77 |
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
|
78 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
|
79 |
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
|
80 /** |
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
|
81 * 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
|
82 */ |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
83 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
|
84 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
|
85 byte width; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
86 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
|
87 const Town *town; ///< Nearest town |
7165
c3b231638b80
(svn r10439) -Codechange: initial steps for customized industry productions.
rubidium <rubidium@openttd.org>
parents:
7144
diff
changeset
|
88 uint16 produced_cargo_waiting[2]; ///< amount of cargo produced per cargo |
c3b231638b80
(svn r10439) -Codechange: initial steps for customized industry productions.
rubidium <rubidium@openttd.org>
parents:
7144
diff
changeset
|
89 uint16 incoming_cargo_waiting[3]; ///< incoming cargo waiting to be processed |
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 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
|
91 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
|
92 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
|
93 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
|
94 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
|
95 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
|
96 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
|
97 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
|
98 |
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
|
99 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
|
100 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
|
101 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
|
102 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
|
103 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
|
104 |
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
|
105 IndustryID index; ///< index of the industry in the pool of industries |
7186
0a85b5cc61f4
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
rubidium <rubidium@openttd.org>
parents:
7185
diff
changeset
|
106 |
0a85b5cc61f4
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
rubidium <rubidium@openttd.org>
parents:
7185
diff
changeset
|
107 OwnerByte founder; ///< Founder of the industry |
0a85b5cc61f4
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
rubidium <rubidium@openttd.org>
parents:
7185
diff
changeset
|
108 Date construction_date; ///< Date of the construction of the industry |
0a85b5cc61f4
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
rubidium <rubidium@openttd.org>
parents:
7185
diff
changeset
|
109 uint8 construction_type; ///< Way the industry was constructed (@see IndustryConstructionType) |
0a85b5cc61f4
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
rubidium <rubidium@openttd.org>
parents:
7185
diff
changeset
|
110 Date last_cargo_accepted_at; ///< Last day cargo was accepted by this industry |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
111 }; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
112 |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
113 struct IndustryTileTable { |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
114 TileIndexDiffC ti; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
115 IndustryGfx gfx; |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
116 }; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
117 |
6675
b9b7055a4d2f
(svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents:
6655
diff
changeset
|
118 /** 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
|
119 struct GRFFileProps { |
b9b7055a4d2f
(svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents:
6655
diff
changeset
|
120 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
|
121 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
|
122 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
|
123 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
|
124 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
|
125 }; |
b9b7055a4d2f
(svn r9906) -Codechange: Add common properties for both industry and industry tiles specs
belugas <belugas@openttd.org>
parents:
6655
diff
changeset
|
126 |
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
|
127 /** |
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 * 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
|
129 */ |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
130 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
|
131 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
|
132 byte num_table; ///< Number of elements in the table |
7177
e096437e1120
(svn r10451) -Add: support for "prospecting" raw industries, i.e. you pay an amount of money and then it might (with a given chance) build a raw industry somewhere on the map.
rubidium <rubidium@openttd.org>
parents:
7173
diff
changeset
|
133 uint8 cost_multiplier; ///< Base cost multiplier. |
e096437e1120
(svn r10451) -Add: support for "prospecting" raw industries, i.e. you pay an amount of money and then it might (with a given chance) build a raw industry somewhere on the map.
rubidium <rubidium@openttd.org>
parents:
7173
diff
changeset
|
134 uint16 raw_industry_cost_multiplier; ///< Multiplier for the raw industries cost |
e096437e1120
(svn r10451) -Add: support for "prospecting" raw industries, i.e. you pay an amount of money and then it might (with a given chance) build a raw industry somewhere on the map.
rubidium <rubidium@openttd.org>
parents:
7173
diff
changeset
|
135 uint32 prospecting_chance; ///< Chance prospecting succeeds |
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
|
136 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
|
137 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
|
138 CargoID produced_cargo[2]; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
139 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
|
140 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
|
141 ///< 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
|
142 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
|
143 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
|
144 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
|
145 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
|
146 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
|
147 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
|
148 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
|
149 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
|
150 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
|
151 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
|
152 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
|
153 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
|
154 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
|
155 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
|
156 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
|
157 /* 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
|
158 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
|
159 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
|
160 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
|
161 struct GRFFileProps grf_prop; ///< properties related the the grf file |
7185
0398071acc00
(svn r10459) -Codechange: add helper functions to determine whether an industry is a primary industry and how much it costs to build such an industry.
rubidium <rubidium@openttd.org>
parents:
7177
diff
changeset
|
162 |
0398071acc00
(svn r10459) -Codechange: add helper functions to determine whether an industry is a primary industry and how much it costs to build such an industry.
rubidium <rubidium@openttd.org>
parents:
7177
diff
changeset
|
163 /** |
0398071acc00
(svn r10459) -Codechange: add helper functions to determine whether an industry is a primary industry and how much it costs to build such an industry.
rubidium <rubidium@openttd.org>
parents:
7177
diff
changeset
|
164 * Is an industry with the spec a raw industry? |
0398071acc00
(svn r10459) -Codechange: add helper functions to determine whether an industry is a primary industry and how much it costs to build such an industry.
rubidium <rubidium@openttd.org>
parents:
7177
diff
changeset
|
165 * @return true if it should be handled as a raw industry |
0398071acc00
(svn r10459) -Codechange: add helper functions to determine whether an industry is a primary industry and how much it costs to build such an industry.
rubidium <rubidium@openttd.org>
parents:
7177
diff
changeset
|
166 */ |
0398071acc00
(svn r10459) -Codechange: add helper functions to determine whether an industry is a primary industry and how much it costs to build such an industry.
rubidium <rubidium@openttd.org>
parents:
7177
diff
changeset
|
167 bool IsRawIndustry() const; |
0398071acc00
(svn r10459) -Codechange: add helper functions to determine whether an industry is a primary industry and how much it costs to build such an industry.
rubidium <rubidium@openttd.org>
parents:
7177
diff
changeset
|
168 |
0398071acc00
(svn r10459) -Codechange: add helper functions to determine whether an industry is a primary industry and how much it costs to build such an industry.
rubidium <rubidium@openttd.org>
parents:
7177
diff
changeset
|
169 /** |
0398071acc00
(svn r10459) -Codechange: add helper functions to determine whether an industry is a primary industry and how much it costs to build such an industry.
rubidium <rubidium@openttd.org>
parents:
7177
diff
changeset
|
170 * Get the cost for constructing this industry |
0398071acc00
(svn r10459) -Codechange: add helper functions to determine whether an industry is a primary industry and how much it costs to build such an industry.
rubidium <rubidium@openttd.org>
parents:
7177
diff
changeset
|
171 * @return the cost (inflation corrected etc) |
0398071acc00
(svn r10459) -Codechange: add helper functions to determine whether an industry is a primary industry and how much it costs to build such an industry.
rubidium <rubidium@openttd.org>
parents:
7177
diff
changeset
|
172 */ |
0398071acc00
(svn r10459) -Codechange: add helper functions to determine whether an industry is a primary industry and how much it costs to build such an industry.
rubidium <rubidium@openttd.org>
parents:
7177
diff
changeset
|
173 Money GetConstructionCost() const; |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
174 }; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
175 |
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
|
176 /** |
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
|
177 * 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
|
178 */ |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
179 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
|
180 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
|
181 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
|
182 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
|
183 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
|
184 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
|
185 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
|
186 ///< 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
|
187 /* 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
|
188 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
|
189 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
|
190 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
|
191 }; |
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
|
192 |
6637
7d0d7bde3390
(svn r9868) -Codechange: bring external declaration of functions togueter and adjust a comment
belugas <belugas@openttd.org>
parents:
6636
diff
changeset
|
193 /* 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
|
194 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
|
195 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
|
196 void ResetIndustries(); |
7d0d7bde3390
(svn r9868) -Codechange: bring external declaration of functions togueter and adjust a comment
belugas <belugas@openttd.org>
parents:
6636
diff
changeset
|
197 void PlantRandomFarmField(const Industry *i); |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
198 |
6743
d7b001e114c5
(svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
belugas <belugas@openttd.org>
parents:
6741
diff
changeset
|
199 /* 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
|
200 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
|
201 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
|
202 |
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
|
203 /* 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
|
204 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
|
205 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
206 DECLARE_OLD_POOL(Industry, Industry, 3, 8000) |
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 /** |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
209 * 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
|
210 * @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
|
211 * @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
|
212 */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
213 static inline bool IsValidIndustry(const Industry *industry) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
214 { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
215 return industry->xy != 0; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
216 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
217 |
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
|
218 /** |
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
|
219 * 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
|
220 * @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
|
221 * @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
|
222 */ |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
223 static inline bool IsValidIndustryID(IndustryID index) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
224 { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
225 return index < GetIndustryPoolSize() && IsValidIndustry(GetIndustry(index)); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
226 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
227 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
228 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6201
diff
changeset
|
229 static inline IndustryID GetMaxIndustryIndex() |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
230 { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
231 /* 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
|
232 * 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
|
233 * _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
|
234 * 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
|
235 */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
236 return GetIndustryPoolSize() - 1; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
237 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
238 |
6839
785f81035a7b
(svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents:
6825
diff
changeset
|
239 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
|
240 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
|
241 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6201
diff
changeset
|
242 static inline uint GetNumIndustries() |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
243 { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
244 return _total_industries; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
245 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
246 |
6824
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
247 /** Increment the count of industries for this type |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
248 * @param type IndustryType to increment |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
249 * @pre type < INVALID_INDUSTRYTYPE */ |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
250 static inline void IncIndustryTypeCount(IndustryType type) |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
251 { |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
252 assert(type < INVALID_INDUSTRYTYPE); |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
253 _industry_counts[type]++; |
6839
785f81035a7b
(svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents:
6825
diff
changeset
|
254 _total_industries++; |
6824
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
255 } |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
256 |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
257 /** Decrement the count of industries for this type |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
258 * @param type IndustryType to decrement |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
259 * @pre type < INVALID_INDUSTRYTYPE */ |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
260 static inline void DecIndustryTypeCount(IndustryType type) |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
261 { |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
262 assert(type < INVALID_INDUSTRYTYPE); |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
263 _industry_counts[type]--; |
6839
785f81035a7b
(svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents:
6825
diff
changeset
|
264 _total_industries--; |
6824
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
265 } |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
266 |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
267 /** get the count of industries for this type |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
268 * @param type IndustryType to query |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
269 * @pre type < INVALID_INDUSTRYTYPE */ |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
270 static inline uint8 GetIndustryTypeCount(IndustryType type) |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
271 { |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
272 assert(type < INVALID_INDUSTRYTYPE); |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
273 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
|
274 } |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
275 |
6839
785f81035a7b
(svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents:
6825
diff
changeset
|
276 /** 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
|
277 * 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
|
278 static inline void ResetIndustryCounts() |
785f81035a7b
(svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents:
6825
diff
changeset
|
279 { |
785f81035a7b
(svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents:
6825
diff
changeset
|
280 _total_industries = 0; |
785f81035a7b
(svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents:
6825
diff
changeset
|
281 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
|
282 } |
785f81035a7b
(svn r10078) -Codechange: Centralize all industry counts data and access
belugas <belugas@openttd.org>
parents:
6825
diff
changeset
|
283 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
284 /** |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
285 * Return a random valid industry. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
286 */ |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6201
diff
changeset
|
287 static inline Industry *GetRandomIndustry() |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
288 { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
289 int num = RandomRange(GetNumIndustries()); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
290 IndustryID index = INVALID_INDUSTRY; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
291 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
292 if (GetNumIndustries() == 0) return NULL; |
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 while (num >= 0) { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
295 num--; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
296 index++; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
297 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
298 /* Make sure we have a valid industry */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
299 while (!IsValidIndustryID(index)) { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
300 index++; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
301 assert(index <= GetMaxIndustryIndex()); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
302 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
303 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
304 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
305 return GetIndustry(index); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
306 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
307 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
308 void DestroyIndustry(Industry *i); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
309 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
310 static inline void DeleteIndustry(Industry *i) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
311 { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
312 DestroyIndustry(i); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
313 i->xy = 0; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
314 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
315 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
316 #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
|
317 #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
|
318 |
6824
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
319 extern const Industry **_industry_sort; |
4d68a57bc04b
(svn r10063) -Codechange: Change VARDEF for extern
belugas <belugas@openttd.org>
parents:
6819
diff
changeset
|
320 extern bool _industry_sort_dirty; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
321 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
322 enum { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
323 IT_COAL_MINE = 0, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
324 IT_POWER_STATION = 1, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
325 IT_SAWMILL = 2, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
326 IT_FOREST = 3, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
327 IT_OIL_REFINERY = 4, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
328 IT_OIL_RIG = 5, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
329 IT_FACTORY = 6, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
330 IT_PRINTING_WORKS = 7, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
331 IT_STEEL_MILL = 8, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
332 IT_FARM = 9, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
333 IT_COPPER_MINE = 10, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
334 IT_OIL_WELL = 11, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
335 IT_BANK_TEMP = 12, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
336 IT_FOOD_PROCESS = 13, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
337 IT_PAPER_MILL = 14, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
338 IT_GOLD_MINE = 15, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
339 IT_BANK_TROPIC_ARCTIC = 16, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
340 IT_DIAMOND_MINE = 17, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
341 IT_IRON_MINE = 18, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
342 IT_FRUIT_PLANTATION = 19, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
343 IT_RUBBER_PLANTATION = 20, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
344 IT_WATER_SUPPLY = 21, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
345 IT_WATER_TOWER = 22, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
346 IT_FACTORY_2 = 23, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
347 IT_FARM_2 = 24, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
348 IT_LUMBER_MILL = 25, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
349 IT_COTTON_CANDY = 26, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
350 IT_CANDY_FACTORY = 27, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
351 IT_BATTERY_FARM = 28, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
352 IT_COLA_WELLS = 29, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
353 IT_TOY_SHOP = 30, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
354 IT_TOY_FACTORY = 31, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
355 IT_PLASTIC_FOUNTAINS = 32, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
356 IT_FIZZY_DRINK_FACTORY = 33, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
357 IT_BUBBLE_GENERATOR = 34, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
358 IT_TOFFEE_QUARRY = 35, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
359 IT_SUGAR_MINE = 36, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
360 IT_END, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
361 IT_INVALID = 255, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
362 }; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
363 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
364 #endif /* INDUSTRY_H */ |