author | rubidium |
Thu, 01 Feb 2007 15:49:12 +0000 | |
changeset 5893 | 7e431a4abebb |
parent 5587 | 167d9a91ef02 |
child 6125 | a6fff965707c |
permissions | -rw-r--r-- |
2186 | 1 |
/* $Id$ */ |
2 |
||
0 | 3 |
#ifndef ECONOMY_H |
4 |
#define ECONOMY_H |
|
5 |
||
2506
eca87f30e05a
(svn r3032) -NewGRF, Feature: Add support for changing base prices.
peter1138
parents:
2261
diff
changeset
|
6 |
void ResetPriceBaseMultipliers(void); |
2508
1926793f2977
(svn r3034) -NewGRF: Improve error checking of setting price bases.
peter1138
parents:
2506
diff
changeset
|
7 |
void SetPriceBaseMultiplier(uint price, byte factor); |
2506
eca87f30e05a
(svn r3032) -NewGRF, Feature: Add support for changing base prices.
peter1138
parents:
2261
diff
changeset
|
8 |
|
0 | 9 |
typedef struct { |
10 |
// Maximum possible loan |
|
11 |
int32 max_loan; |
|
12 |
int32 max_loan_unround; |
|
13 |
// Economy fluctuation status |
|
14 |
int fluct; |
|
15 |
// Interest |
|
16 |
byte interest_rate; |
|
17 |
byte infl_amount; |
|
18 |
byte infl_amount_pr; |
|
19 |
} Economy; |
|
20 |
||
21 |
VARDEF Economy _economy; |
|
22 |
||
23 |
typedef struct Subsidy { |
|
3344
fc86351d4641
(svn r4128) - CodeChange: Add proper semantics for CargoID for such variables instead of using the general byte-type.
Darkvater
parents:
2630
diff
changeset
|
24 |
CargoID cargo_type; |
0 | 25 |
byte age; |
3346
a0d4def7d934
(svn r4130) - CodeChange: Add proper semantics for TownID for such variables instead of using the general uint16-type. We probably need to change GetTown() and IsTownIndex() as well to use TownID.
Darkvater
parents:
3344
diff
changeset
|
26 |
/* from and to can either be TownID, StationID or IndustryID */ |
820
924f78b43e9e
(svn r1291) -Codechange: prepared subsidies and towns to become an uint16 (happens
truelight
parents:
240
diff
changeset
|
27 |
uint16 from; |
924f78b43e9e
(svn r1291) -Codechange: prepared subsidies and towns to become an uint16 (happens
truelight
parents:
240
diff
changeset
|
28 |
uint16 to; |
0 | 29 |
} Subsidy; |
30 |
||
31 |
||
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
32 |
enum ScoreID { |
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
33 |
SCORE_BEGIN = 0, |
4077
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
34 |
SCORE_VEHICLES = 0, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
35 |
SCORE_STATIONS = 1, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
36 |
SCORE_MIN_PROFIT = 2, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
37 |
SCORE_MIN_INCOME = 3, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
38 |
SCORE_MAX_INCOME = 4, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
39 |
SCORE_DELIVERED = 5, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
40 |
SCORE_CARGO = 6, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
41 |
SCORE_MONEY = 7, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
42 |
SCORE_LOAN = 8, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
43 |
SCORE_TOTAL = 9, // This must always be the last entry |
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
44 |
SCORE_END = 10, // How many scores are there.. |
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
179
diff
changeset
|
45 |
|
4077
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
46 |
SCORE_MAX = 1000 // The max score that can be in the performance history |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
47 |
// the scores together of score_info is allowed to be more! |
116
ca4332a9ec1d
(svn r117) Feature: Performance details window in company league menu (TrueLight)
dominik
parents:
0
diff
changeset
|
48 |
}; |
ca4332a9ec1d
(svn r117) Feature: Performance details window in company league menu (TrueLight)
dominik
parents:
0
diff
changeset
|
49 |
|
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
50 |
DECLARE_POSTFIX_INCREMENT(ScoreID); |
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
51 |
|
116
ca4332a9ec1d
(svn r117) Feature: Performance details window in company league menu (TrueLight)
dominik
parents:
0
diff
changeset
|
52 |
typedef struct ScoreInfo { |
4077
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
53 |
byte id; // Unique ID of the score |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
54 |
int needed; // How much you need to get the perfect score |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
55 |
int score; // How much score it will give |
116
ca4332a9ec1d
(svn r117) Feature: Performance details window in company league menu (TrueLight)
dominik
parents:
0
diff
changeset
|
56 |
} ScoreInfo; |
ca4332a9ec1d
(svn r117) Feature: Performance details window in company league menu (TrueLight)
dominik
parents:
0
diff
changeset
|
57 |
|
2261
d3554e5d3e86
(svn r2781) Fix some of the issues with variables in .h files.
ludde
parents:
2186
diff
changeset
|
58 |
extern const ScoreInfo _score_info[]; |
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
59 |
extern int _score_part[MAX_PLAYERS][SCORE_END]; |
116
ca4332a9ec1d
(svn r117) Feature: Performance details window in company league menu (TrueLight)
dominik
parents:
0
diff
changeset
|
60 |
|
147
d0c8100d18cf
(svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater
parents:
116
diff
changeset
|
61 |
int UpdateCompanyRatingAndValue(Player *p, bool update); |
116
ca4332a9ec1d
(svn r117) Feature: Performance details window in company league menu (TrueLight)
dominik
parents:
0
diff
changeset
|
62 |
|
0 | 63 |
VARDEF Subsidy _subsidies[MAX_PLAYERS]; |
2630 | 64 |
Pair SetupSubsidyDecodeParam(const Subsidy* s, bool mode); |
5378
5c26eb069095
(svn r7563) -Fix (FS#468): removing towns in the scenario editor could leave subsidies with that town as source/destination, resulting in an assertion when displaying the Subsidies Window.
rubidium
parents:
4077
diff
changeset
|
65 |
void DeleteSubsidyWithTown(TownID index); |
5c26eb069095
(svn r7563) -Fix (FS#468): removing towns in the scenario editor could leave subsidies with that town as source/destination, resulting in an assertion when displaying the Subsidies Window.
rubidium
parents:
4077
diff
changeset
|
66 |
void DeleteSubsidyWithIndustry(IndustryID index); |
5c26eb069095
(svn r7563) -Fix (FS#468): removing towns in the scenario editor could leave subsidies with that town as source/destination, resulting in an assertion when displaying the Subsidies Window.
rubidium
parents:
4077
diff
changeset
|
67 |
void DeleteSubsidyWithStation(StationID index); |
0 | 68 |
|
3344
fc86351d4641
(svn r4128) - CodeChange: Add proper semantics for CargoID for such variables instead of using the general byte-type.
Darkvater
parents:
2630
diff
changeset
|
69 |
int32 GetTransportedGoodsIncome(uint num_pieces, uint dist, byte transit_days, CargoID cargo_type); |
1977
37bbebf94434
(svn r2483) Replace almost 500 "uint tile" (and variants) with "TileIndex tile"
tron
parents:
820
diff
changeset
|
70 |
uint MoveGoodsToStation(TileIndex tile, int w, int h, int type, uint amount); |
0 | 71 |
|
72 |
#endif /* ECONOMY_H */ |