Mercurial > hg > openttd
annotate src/newgrf_industries.h @ 9413:512ea64da840 draft
(svn r13325) -Codechange: split the client-side only settings from the settings stored in the savegame so there is no need to have a duplicate copy of it for new games.
author | rubidium <rubidium@openttd.org> |
---|---|
date | Thu, 29 May 2008 15:13:28 +0000 |
parents | d48433370037 |
children | bc7926153e19 |
rev | line source |
---|---|
6835
802a065d3d21
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas <belugas@openttd.org>
parents:
diff
changeset
|
1 /* $Id$ */ |
802a065d3d21
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas <belugas@openttd.org>
parents:
diff
changeset
|
2 |
9111
d48433370037
(svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium <rubidium@openttd.org>
parents:
8436
diff
changeset
|
3 /** @file newgrf_industries.h Functions for NewGRF industries. */ |
6835
802a065d3d21
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas <belugas@openttd.org>
parents:
diff
changeset
|
4 |
802a065d3d21
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas <belugas@openttd.org>
parents:
diff
changeset
|
5 #ifndef NEWGRF_INDUSTRIES_H |
802a065d3d21
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas <belugas@openttd.org>
parents:
diff
changeset
|
6 #define NEWGRF_INDUSTRIES_H |
802a065d3d21
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas <belugas@openttd.org>
parents:
diff
changeset
|
7 |
8213
87c85bb42d6f
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium <rubidium@openttd.org>
parents:
7622
diff
changeset
|
8 #include "industry_type.h" |
6835
802a065d3d21
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas <belugas@openttd.org>
parents:
diff
changeset
|
9 #include "newgrf_spritegroup.h" |
802a065d3d21
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas <belugas@openttd.org>
parents:
diff
changeset
|
10 |
7621
61a0e1c69855
(svn r11151) -Codechange: add (partial) support for randomizing industry triggers (part of the backend for it). Furthermore update the documentation of the map's bits wrt to industries.
rubidium <rubidium@openttd.org>
parents:
7327
diff
changeset
|
11 /** When should the industry(tile) be triggered for random bits? */ |
61a0e1c69855
(svn r11151) -Codechange: add (partial) support for randomizing industry triggers (part of the backend for it). Furthermore update the documentation of the map's bits wrt to industries.
rubidium <rubidium@openttd.org>
parents:
7327
diff
changeset
|
12 enum IndustryTrigger { |
61a0e1c69855
(svn r11151) -Codechange: add (partial) support for randomizing industry triggers (part of the backend for it). Furthermore update the documentation of the map's bits wrt to industries.
rubidium <rubidium@openttd.org>
parents:
7327
diff
changeset
|
13 /** Triggered each tile loop */ |
61a0e1c69855
(svn r11151) -Codechange: add (partial) support for randomizing industry triggers (part of the backend for it). Furthermore update the documentation of the map's bits wrt to industries.
rubidium <rubidium@openttd.org>
parents:
7327
diff
changeset
|
14 INDUSTRY_TRIGGER_TILELOOP_PROCESS = 1, |
61a0e1c69855
(svn r11151) -Codechange: add (partial) support for randomizing industry triggers (part of the backend for it). Furthermore update the documentation of the map's bits wrt to industries.
rubidium <rubidium@openttd.org>
parents:
7327
diff
changeset
|
15 /** Triggered (whole industry) each 256 ticks */ |
61a0e1c69855
(svn r11151) -Codechange: add (partial) support for randomizing industry triggers (part of the backend for it). Furthermore update the documentation of the map's bits wrt to industries.
rubidium <rubidium@openttd.org>
parents:
7327
diff
changeset
|
16 INDUSTRY_TRIGGER_256_TICKS = 2, |
61a0e1c69855
(svn r11151) -Codechange: add (partial) support for randomizing industry triggers (part of the backend for it). Furthermore update the documentation of the map's bits wrt to industries.
rubidium <rubidium@openttd.org>
parents:
7327
diff
changeset
|
17 /** Triggered on cargo delivery */ |
61a0e1c69855
(svn r11151) -Codechange: add (partial) support for randomizing industry triggers (part of the backend for it). Furthermore update the documentation of the map's bits wrt to industries.
rubidium <rubidium@openttd.org>
parents:
7327
diff
changeset
|
18 INDUSTRY_TRIGGER_CARGO_DELIVERY = 4, |
61a0e1c69855
(svn r11151) -Codechange: add (partial) support for randomizing industry triggers (part of the backend for it). Furthermore update the documentation of the map's bits wrt to industries.
rubidium <rubidium@openttd.org>
parents:
7327
diff
changeset
|
19 }; |
61a0e1c69855
(svn r11151) -Codechange: add (partial) support for randomizing industry triggers (part of the backend for it). Furthermore update the documentation of the map's bits wrt to industries.
rubidium <rubidium@openttd.org>
parents:
7327
diff
changeset
|
20 |
8213
87c85bb42d6f
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium <rubidium@openttd.org>
parents:
7622
diff
changeset
|
21 /** From where is callback CBID_INDUSTRY_AVAILABLE been called */ |
87c85bb42d6f
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium <rubidium@openttd.org>
parents:
7622
diff
changeset
|
22 enum IndustryAvailabilityCallType { |
87c85bb42d6f
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium <rubidium@openttd.org>
parents:
7622
diff
changeset
|
23 IACT_MAPGENERATION, ///< during random map generation |
87c85bb42d6f
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium <rubidium@openttd.org>
parents:
7622
diff
changeset
|
24 IACT_RANDOMCREATION, ///< during creation of random ingame industry |
87c85bb42d6f
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium <rubidium@openttd.org>
parents:
7622
diff
changeset
|
25 IACT_USERCREATION, ///< from the Fund/build window |
87c85bb42d6f
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium <rubidium@openttd.org>
parents:
7622
diff
changeset
|
26 }; |
87c85bb42d6f
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium <rubidium@openttd.org>
parents:
7622
diff
changeset
|
27 |
6884
a5528f6005e9
(svn r10127) -Add: Addition of basic structure for industry tiles callbacks (unfinished).
belugas <belugas@openttd.org>
parents:
6868
diff
changeset
|
28 /* in newgrf_industry.cpp */ |
6835
802a065d3d21
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas <belugas@openttd.org>
parents:
diff
changeset
|
29 uint32 IndustryGetVariable(const ResolverObject *object, byte variable, byte parameter, bool *available); |
7327
0ab2820a1e52
(svn r10690) -Codechange: use the enum that describes all callback IDs in favor of "just" using an untyped integer.
rubidium <rubidium@openttd.org>
parents:
7260
diff
changeset
|
30 uint16 GetIndustryCallback(CallbackID callback, uint32 param1, uint32 param2, Industry *industry, IndustryType type, TileIndex tile); |
7622
4ea844b3d9f5
(svn r11152) -Fix: GetIndustryIDAtOffset crashed when translation of the GFX ID would be needed. Fix by Belugas.
rubidium <rubidium@openttd.org>
parents:
7621
diff
changeset
|
31 uint32 GetIndustryIDAtOffset(TileIndex new_tile, const Industry *i); |
7168
f0216e74951d
(svn r10442) -Codechange: implement the industry production callback.
rubidium <rubidium@openttd.org>
parents:
7102
diff
changeset
|
32 void IndustryProductionCallback(Industry *ind, int reason); |
8436
7fdca00c1151
(svn r12006) -Fix: implement FS#1697 without the nasty side effects as specified in FS#1712.
rubidium <rubidium@openttd.org>
parents:
8213
diff
changeset
|
33 bool CheckIfCallBackAllowsCreation(TileIndex tile, IndustryType type, uint itspec_index, uint32 seed); |
7260
270b3009c7d3
(svn r10572) -Codechange: Add function CheckIfCallBackAllowsAvailability for industries
belugas <belugas@openttd.org>
parents:
7234
diff
changeset
|
34 bool CheckIfCallBackAllowsAvailability(IndustryType type, IndustryAvailabilityCallType creation_type); |
6835
802a065d3d21
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas <belugas@openttd.org>
parents:
diff
changeset
|
35 |
7233
2c4001c66b86
(svn r10514) -Codechange: add support for getting the nearest industry with a given type.
rubidium <rubidium@openttd.org>
parents:
7207
diff
changeset
|
36 IndustryType MapNewGRFIndustryType(IndustryType grf_type, uint32 grf_id); |
2c4001c66b86
(svn r10514) -Codechange: add support for getting the nearest industry with a given type.
rubidium <rubidium@openttd.org>
parents:
7207
diff
changeset
|
37 |
6884
a5528f6005e9
(svn r10127) -Add: Addition of basic structure for industry tiles callbacks (unfinished).
belugas <belugas@openttd.org>
parents:
6868
diff
changeset
|
38 /* in newgrf_industrytiles.cpp*/ |
7234
7d1c55a8db8f
(svn r10515) -Codechange: allow getting some more data about the environment of an industry.
rubidium <rubidium@openttd.org>
parents:
7233
diff
changeset
|
39 uint32 GetNearbyIndustryTileInformation(byte parameter, TileIndex tile, IndustryID index); |
7d1c55a8db8f
(svn r10515) -Codechange: allow getting some more data about the environment of an industry.
rubidium <rubidium@openttd.org>
parents:
7233
diff
changeset
|
40 |
6835
802a065d3d21
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas <belugas@openttd.org>
parents:
diff
changeset
|
41 #endif /* NEWGRF_INDUSTRIES_H */ |