author | KUDr |
Fri, 20 Apr 2007 19:43:06 +0000 | |
changeset 6513 | 454347ca3dfb |
parent 6350 | 04b19f551aec |
child 6565 | 96ef0ede4b83 |
permissions | -rw-r--r-- |
2186 | 1 |
/* $Id$ */ |
2 |
||
6125
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
3 |
/** @file economy.h */ |
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
4 |
|
0 | 5 |
#ifndef ECONOMY_H |
6 |
#define ECONOMY_H |
|
7 |
||
6247 | 8 |
void ResetPriceBaseMultipliers(); |
2508
1926793f2977
(svn r3034) -NewGRF: Improve error checking of setting price bases.
peter1138
parents:
2506
diff
changeset
|
9 |
void SetPriceBaseMultiplier(uint price, byte factor); |
2506
eca87f30e05a
(svn r3032) -NewGRF, Feature: Add support for changing base prices.
peter1138
parents:
2261
diff
changeset
|
10 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
11 |
struct Economy { |
6125
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
12 |
int32 max_loan; ///< Maximum possible loan |
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
13 |
int32 max_loan_unround; ///< Economy fluctuation status |
0 | 14 |
int fluct; |
6125
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
15 |
byte interest_rate; ///< Interest |
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
16 |
byte infl_amount; ///< inflation amount |
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
17 |
byte infl_amount_pr; ///< "floating" portion of inflation |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
18 |
}; |
0 | 19 |
|
20 |
VARDEF Economy _economy; |
|
21 |
||
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
22 |
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
|
23 |
CargoID cargo_type; |
0 | 24 |
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
|
25 |
/* 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
|
26 |
uint16 from; |
924f78b43e9e
(svn r1291) -Codechange: prepared subsidies and towns to become an uint16 (happens
truelight
parents:
240
diff
changeset
|
27 |
uint16 to; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
28 |
}; |
0 | 29 |
|
30 |
||
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
31 |
enum ScoreID { |
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
32 |
SCORE_BEGIN = 0, |
4077
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
33 |
SCORE_VEHICLES = 0, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
34 |
SCORE_STATIONS = 1, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
35 |
SCORE_MIN_PROFIT = 2, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
36 |
SCORE_MIN_INCOME = 3, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
37 |
SCORE_MAX_INCOME = 4, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
38 |
SCORE_DELIVERED = 5, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
39 |
SCORE_CARGO = 6, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
40 |
SCORE_MONEY = 7, |
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3386
diff
changeset
|
41 |
SCORE_LOAN = 8, |
6125
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
42 |
SCORE_TOTAL = 9, ///< This must always be the last entry |
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
43 |
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
|
44 |
|
6125
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
45 |
SCORE_MAX = 1000 ///< The max score that can be in the performance history |
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
46 |
/* 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
|
47 |
}; |
ca4332a9ec1d
(svn r117) Feature: Performance details window in company league menu (TrueLight)
dominik
parents:
0
diff
changeset
|
48 |
|
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
49 |
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
|
50 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
51 |
struct ScoreInfo { |
6125
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
52 |
byte id; ///< Unique ID of the score |
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
53 |
int needed; ///< How much you need to get the perfect score |
a6fff965707c
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents:
5587
diff
changeset
|
54 |
int score; ///< How much score it will give |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
55 |
}; |
116
ca4332a9ec1d
(svn r117) Feature: Performance details window in company league menu (TrueLight)
dominik
parents:
0
diff
changeset
|
56 |
|
2261
d3554e5d3e86
(svn r2781) Fix some of the issues with variables in .h files.
ludde
parents:
2186
diff
changeset
|
57 |
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
|
58 |
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
|
59 |
|
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
|
60 |
int UpdateCompanyRatingAndValue(Player *p, bool update); |
116
ca4332a9ec1d
(svn r117) Feature: Performance details window in company league menu (TrueLight)
dominik
parents:
0
diff
changeset
|
61 |
|
0 | 62 |
VARDEF Subsidy _subsidies[MAX_PLAYERS]; |
2630 | 63 |
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
|
64 |
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
|
65 |
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
|
66 |
void DeleteSubsidyWithStation(StationID index); |
0 | 67 |
|
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
|
68 |
int32 GetTransportedGoodsIncome(uint num_pieces, uint dist, byte transit_days, CargoID cargo_type); |
6350
04b19f551aec
(svn r9388) -Codechange: variable scope and type, and standardify all CargoID loops.
peter1138
parents:
6248
diff
changeset
|
69 |
uint MoveGoodsToStation(TileIndex tile, int w, int h, CargoID type, uint amount); |
0 | 70 |
|
71 |
#endif /* ECONOMY_H */ |