author | peter1138 |
Sun, 03 Aug 2008 17:35:08 +0000 | |
changeset 9834 | 7474149531c1 |
parent 9111 | 48ce04029fe4 |
permissions | -rw-r--r-- |
6835
31c89aab2d61
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas
parents:
diff
changeset
|
1 |
/* $Id$ */ |
31c89aab2d61
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas
parents:
diff
changeset
|
2 |
|
9111
48ce04029fe4
(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
parents:
8436
diff
changeset
|
3 |
/** @file newgrf_industries.h Functions for NewGRF industries. */ |
6835
31c89aab2d61
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas
parents:
diff
changeset
|
4 |
|
31c89aab2d61
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas
parents:
diff
changeset
|
5 |
#ifndef NEWGRF_INDUSTRIES_H |
31c89aab2d61
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas
parents:
diff
changeset
|
6 |
#define NEWGRF_INDUSTRIES_H |
31c89aab2d61
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas
parents:
diff
changeset
|
7 |
|
8213
7bdd7593eb9b
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium
parents:
7622
diff
changeset
|
8 |
#include "industry_type.h" |
6835
31c89aab2d61
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas
parents:
diff
changeset
|
9 |
#include "newgrf_spritegroup.h" |
31c89aab2d61
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas
parents:
diff
changeset
|
10 |
|
7621
09824471f144
(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
parents:
7327
diff
changeset
|
11 |
/** When should the industry(tile) be triggered for random bits? */ |
09824471f144
(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
parents:
7327
diff
changeset
|
12 |
enum IndustryTrigger { |
09824471f144
(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
parents:
7327
diff
changeset
|
13 |
/** Triggered each tile loop */ |
09824471f144
(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
parents:
7327
diff
changeset
|
14 |
INDUSTRY_TRIGGER_TILELOOP_PROCESS = 1, |
09824471f144
(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
parents:
7327
diff
changeset
|
15 |
/** Triggered (whole industry) each 256 ticks */ |
09824471f144
(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
parents:
7327
diff
changeset
|
16 |
INDUSTRY_TRIGGER_256_TICKS = 2, |
09824471f144
(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
parents:
7327
diff
changeset
|
17 |
/** Triggered on cargo delivery */ |
09824471f144
(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
parents:
7327
diff
changeset
|
18 |
INDUSTRY_TRIGGER_CARGO_DELIVERY = 4, |
09824471f144
(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
parents:
7327
diff
changeset
|
19 |
}; |
09824471f144
(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
parents:
7327
diff
changeset
|
20 |
|
8213
7bdd7593eb9b
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium
parents:
7622
diff
changeset
|
21 |
/** From where is callback CBID_INDUSTRY_AVAILABLE been called */ |
7bdd7593eb9b
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium
parents:
7622
diff
changeset
|
22 |
enum IndustryAvailabilityCallType { |
7bdd7593eb9b
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium
parents:
7622
diff
changeset
|
23 |
IACT_MAPGENERATION, ///< during random map generation |
7bdd7593eb9b
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium
parents:
7622
diff
changeset
|
24 |
IACT_RANDOMCREATION, ///< during creation of random ingame industry |
7bdd7593eb9b
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium
parents:
7622
diff
changeset
|
25 |
IACT_USERCREATION, ///< from the Fund/build window |
7bdd7593eb9b
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium
parents:
7622
diff
changeset
|
26 |
}; |
7bdd7593eb9b
(svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium
parents:
7622
diff
changeset
|
27 |
|
6884
a931841e9df4
(svn r10127) -Add: Addition of basic structure for industry tiles callbacks (unfinished).
belugas
parents:
6868
diff
changeset
|
28 |
/* in newgrf_industry.cpp */ |
6835
31c89aab2d61
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas
parents:
diff
changeset
|
29 |
uint32 IndustryGetVariable(const ResolverObject *object, byte variable, byte parameter, bool *available); |
7327
d810677fb909
(svn r10690) -Codechange: use the enum that describes all callback IDs in favor of "just" using an untyped integer.
rubidium
parents:
7260
diff
changeset
|
30 |
uint16 GetIndustryCallback(CallbackID callback, uint32 param1, uint32 param2, Industry *industry, IndustryType type, TileIndex tile); |
7622
12388e4d86bb
(svn r11152) -Fix: GetIndustryIDAtOffset crashed when translation of the GFX ID would be needed. Fix by Belugas.
rubidium
parents:
7621
diff
changeset
|
31 |
uint32 GetIndustryIDAtOffset(TileIndex new_tile, const Industry *i); |
7168
25e07ccb4a3d
(svn r10442) -Codechange: implement the industry production callback.
rubidium
parents:
7102
diff
changeset
|
32 |
void IndustryProductionCallback(Industry *ind, int reason); |
8436
c2600da0d3e3
(svn r12006) -Fix: implement FS#1697 without the nasty side effects as specified in FS#1712.
rubidium
parents:
8213
diff
changeset
|
33 |
bool CheckIfCallBackAllowsCreation(TileIndex tile, IndustryType type, uint itspec_index, uint32 seed); |
7260
487c5de4fe2c
(svn r10572) -Codechange: Add function CheckIfCallBackAllowsAvailability for industries
belugas
parents:
7234
diff
changeset
|
34 |
bool CheckIfCallBackAllowsAvailability(IndustryType type, IndustryAvailabilityCallType creation_type); |
6835
31c89aab2d61
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas
parents:
diff
changeset
|
35 |
|
7233
aadfbb505671
(svn r10514) -Codechange: add support for getting the nearest industry with a given type.
rubidium
parents:
7207
diff
changeset
|
36 |
IndustryType MapNewGRFIndustryType(IndustryType grf_type, uint32 grf_id); |
aadfbb505671
(svn r10514) -Codechange: add support for getting the nearest industry with a given type.
rubidium
parents:
7207
diff
changeset
|
37 |
|
6884
a931841e9df4
(svn r10127) -Add: Addition of basic structure for industry tiles callbacks (unfinished).
belugas
parents:
6868
diff
changeset
|
38 |
/* in newgrf_industrytiles.cpp*/ |
7234
c6d0e14ae80b
(svn r10515) -Codechange: allow getting some more data about the environment of an industry.
rubidium
parents:
7233
diff
changeset
|
39 |
uint32 GetNearbyIndustryTileInformation(byte parameter, TileIndex tile, IndustryID index); |
c6d0e14ae80b
(svn r10515) -Codechange: allow getting some more data about the environment of an industry.
rubidium
parents:
7233
diff
changeset
|
40 |
|
6835
31c89aab2d61
(svn r10074) -Add: Addition of IndustryOverrideManager as well as the basic (and unfinished) support for callbacks for industries
belugas
parents:
diff
changeset
|
41 |
#endif /* NEWGRF_INDUSTRIES_H */ |