annotate src/newgrf.h @ 10515:7156262cf0c9 draft

(svn r14772) -Codechange: make the "dump log of game to reproduce" desync debug stuff a runtime configurable debug option instead of a compile time option.
author rubidium <rubidium@openttd.org>
date Mon, 29 Dec 2008 21:50:25 +0000
parents 45c874394355
children b6779abf2e96
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
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: 8787
diff changeset
3 /** @file newgrf.h Base for the NewGRF implementation. */
6348
bcf98ba27bbf (svn r9385) -Cleanup: doxygen changes. Today, we are exploring the letter N.
belugas <belugas@openttd.org>
parents: 6332
diff changeset
4
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
5 #ifndef NEWGRF_H
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
6 #define NEWGRF_H
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
7
8213
87c85bb42d6f (svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium <rubidium@openttd.org>
parents: 8194
diff changeset
8 #include "town_type.h"
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
9 #include "newgrf_config.h"
6143
bccc948d9804 (svn r8886) -Codechange: (NewGRF) Add (partial) cargo translation table support, applied to action 3s only.
peter1138 <peter1138@openttd.org>
parents: 5587
diff changeset
10 #include "cargotype.h"
8213
87c85bb42d6f (svn r11776) -Codechange: more header splittings to reduce the dependencies.
rubidium <rubidium@openttd.org>
parents: 8194
diff changeset
11 #include "industry_type.h"
8787
ff327b646d49 (svn r12495) -Codechange: reduce the dependency on newgrf_station.h (especially because newgrf_station.h includes a lot of stuff).
rubidium <rubidium@openttd.org>
parents: 8785
diff changeset
12 #include "station_type.h"
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
13
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
14 enum GrfLoadingStage {
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
15 GLS_FILESCAN,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
16 GLS_SAFETYSCAN,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
17 GLS_LABELSCAN,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
18 GLS_INIT,
6359
21fea0b1dca7 (svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138 <peter1138@openttd.org>
parents: 6348
diff changeset
19 GLS_RESERVE,
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
20 GLS_ACTIVATION,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
21 GLS_END,
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
22 };
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
23
5587
c44c070c5032 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents: 5475
diff changeset
24 DECLARE_POSTFIX_INCREMENT(GrfLoadingStage);
c44c070c5032 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents: 5475
diff changeset
25
6541
b6b454522d0b (svn r9730) -Feature: [NewGRF] Add support for miscellaneous grf feature bit 1 - paved roads on desert tiles.
maedhros <maedhros@openttd.org>
parents: 6359
diff changeset
26 enum GrfMiscBit {
b6b454522d0b (svn r9730) -Feature: [NewGRF] Add support for miscellaneous grf feature bit 1 - paved roads on desert tiles.
maedhros <maedhros@openttd.org>
parents: 6359
diff changeset
27 GMB_DESERT_TREES_FIELDS = 0, // Unsupported.
b6b454522d0b (svn r9730) -Feature: [NewGRF] Add support for miscellaneous grf feature bit 1 - paved roads on desert tiles.
maedhros <maedhros@openttd.org>
parents: 6359
diff changeset
28 GMB_DESERT_PAVED_ROADS = 1,
b6b454522d0b (svn r9730) -Feature: [NewGRF] Add support for miscellaneous grf feature bit 1 - paved roads on desert tiles.
maedhros <maedhros@openttd.org>
parents: 6359
diff changeset
29 GMB_FIELD_BOUNDING_BOX = 2, // Unsupported.
b6b454522d0b (svn r9730) -Feature: [NewGRF] Add support for miscellaneous grf feature bit 1 - paved roads on desert tiles.
maedhros <maedhros@openttd.org>
parents: 6359
diff changeset
30 GMB_TRAIN_WIDTH_32_PIXELS = 3,
b6b454522d0b (svn r9730) -Feature: [NewGRF] Add support for miscellaneous grf feature bit 1 - paved roads on desert tiles.
maedhros <maedhros@openttd.org>
parents: 6359
diff changeset
31 GMB_AMBIENT_SOUND_CALLBACK = 4, // Unsupported.
b6b454522d0b (svn r9730) -Feature: [NewGRF] Add support for miscellaneous grf feature bit 1 - paved roads on desert tiles.
maedhros <maedhros@openttd.org>
parents: 6359
diff changeset
32 GMB_CATENARY_ON_3RD_TRACK = 5, // Unsupported.
b6b454522d0b (svn r9730) -Feature: [NewGRF] Add support for miscellaneous grf feature bit 1 - paved roads on desert tiles.
maedhros <maedhros@openttd.org>
parents: 6359
diff changeset
33 };
5587
c44c070c5032 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents: 5475
diff changeset
34
8541
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
35 enum GrfSpecFeature {
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
36 GSF_TRAIN,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
37 GSF_ROAD,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
38 GSF_SHIP,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
39 GSF_AIRCRAFT,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
40 GSF_STATION,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
41 GSF_CANAL,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
42 GSF_BRIDGE,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
43 GSF_TOWNHOUSE,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
44 GSF_GLOBALVAR,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
45 GSF_INDUSTRYTILES,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
46 GSF_INDUSTRIES,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
47 GSF_CARGOS,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
48 GSF_SOUNDFX,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
49 GSF_END,
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
50 };
c154b1a7a876 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere.
peter1138 <peter1138@openttd.org>
parents: 8403
diff changeset
51
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
52 struct GRFLabel {
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
53 byte label;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
54 uint32 nfo_line;
9390
45c874394355 (svn r13301) -Fix [FS#1997]: resolve more MSVC 9 x64 warnings.
rubidium <rubidium@openttd.org>
parents: 9111
diff changeset
55 size_t pos;
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
56 struct GRFLabel *next;
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
57 };
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
58
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
59 struct GRFFile {
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
60 char *filename;
8164
36cf807deb35 (svn r11726) -Feature[newGRF]: Extend the Action 5, feature 0D usage. Patch by BigBB
belugas <belugas@openttd.org>
parents: 8130
diff changeset
61 bool is_ottdfile;
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
62 uint32 grfid;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
63 uint16 sprite_offset;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
64 byte grf_version;
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
65 GRFFile *next;
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
66
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
67 /* A sprite group contains all sprites of a given vehicle (or multiple
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
68 * vehicles) when carrying given cargo. It consists of several sprite
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
69 * sets. Group ids are refered as "cargo id"s by TTDPatch
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
70 * documentation, contributing to the global confusion.
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
71 *
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
72 * A sprite set contains all sprites of a given vehicle carrying given
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
73 * cargo at a given *stage* - that is usually its load stage. Ie. you
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
74 * can have a spriteset for an empty wagon, wagon full of coal,
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
75 * half-filled wagon etc. Each spriteset contains eight sprites (one
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
76 * per direction) or four sprites if the vehicle is symmetric. */
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
77
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
78 SpriteID spriteset_start;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
79 int spriteset_numsets;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
80 int spriteset_numents;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
81 int spriteset_feature;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
82
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
83 int spritegroups_count;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
84 struct SpriteGroup **spritegroups;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
85
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
86 uint sound_offset;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
87
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
88 StationSpec **stations;
6332
60486b0b3e39 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros <maedhros@openttd.org>
parents: 6248
diff changeset
89 HouseSpec **housespec;
6759
0593e2f9bf45 (svn r9994) -Codechange: Add pointers for Industry and Industry Tiles in the grf file.
belugas <belugas@openttd.org>
parents: 6541
diff changeset
90 IndustrySpec **industryspec;
0593e2f9bf45 (svn r9994) -Codechange: Add pointers for Industry and Industry Tiles in the grf file.
belugas <belugas@openttd.org>
parents: 6541
diff changeset
91 IndustryTileSpec **indtspec;
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
92
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
93 uint32 param[0x80];
6348
bcf98ba27bbf (svn r9385) -Cleanup: doxygen changes. Today, we are exploring the letter N.
belugas <belugas@openttd.org>
parents: 6332
diff changeset
94 uint param_end; ///< one more than the highest set parameter
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
95
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
96 GRFLabel *label; ///< Pointer to the first label. This is a linked list, not an array.
6143
bccc948d9804 (svn r8886) -Codechange: (NewGRF) Add (partial) cargo translation table support, applied to action 3s only.
peter1138 <peter1138@openttd.org>
parents: 5587
diff changeset
97
bccc948d9804 (svn r8886) -Codechange: (NewGRF) Add (partial) cargo translation table support, applied to action 3s only.
peter1138 <peter1138@openttd.org>
parents: 5587
diff changeset
98 uint8 cargo_max;
bccc948d9804 (svn r8886) -Codechange: (NewGRF) Add (partial) cargo translation table support, applied to action 3s only.
peter1138 <peter1138@openttd.org>
parents: 5587
diff changeset
99 CargoLabel *cargo_list;
6147
a7aecaae3414 (svn r8890) -Codechange: (NewGRF) add cargo translation support to engine var 47
peter1138 <peter1138@openttd.org>
parents: 6143
diff changeset
100 uint8 cargo_map[NUM_CARGO];
6248
0789677a15a0 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents: 6247
diff changeset
101 };
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
102
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
103 extern GRFFile *_first_grffile;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
104
8403
66aed94d512e (svn r11973) -Fix (r11726, r11947)[FS#1683]: Use grass tiles for corner shores, if shores got replaced by ActionA.
frosch <frosch@openttd.org>
parents: 8213
diff changeset
105 enum ShoreReplacement {
66aed94d512e (svn r11973) -Fix (r11726, r11947)[FS#1683]: Use grass tiles for corner shores, if shores got replaced by ActionA.
frosch <frosch@openttd.org>
parents: 8213
diff changeset
106 SHORE_REPLACE_NONE, ///< No shore sprites were replaced.
66aed94d512e (svn r11973) -Fix (r11726, r11947)[FS#1683]: Use grass tiles for corner shores, if shores got replaced by ActionA.
frosch <frosch@openttd.org>
parents: 8213
diff changeset
107 SHORE_REPLACE_ACTION_5, ///< Shore sprites were replaced by Action5.
66aed94d512e (svn r11973) -Fix (r11726, r11947)[FS#1683]: Use grass tiles for corner shores, if shores got replaced by ActionA.
frosch <frosch@openttd.org>
parents: 8213
diff changeset
108 SHORE_REPLACE_ACTION_A, ///< Shore sprites were replaced by ActionA (using grass tiles for the corner-shores).
66aed94d512e (svn r11973) -Fix (r11726, r11947)[FS#1683]: Use grass tiles for corner shores, if shores got replaced by ActionA.
frosch <frosch@openttd.org>
parents: 8213
diff changeset
109 SHORE_REPLACE_ONLY_NEW, ///< Only corner-shores were loaded by Action5 (openttd(w/d).grf only).
66aed94d512e (svn r11973) -Fix (r11726, r11947)[FS#1683]: Use grass tiles for corner shores, if shores got replaced by ActionA.
frosch <frosch@openttd.org>
parents: 8213
diff changeset
110 };
66aed94d512e (svn r11973) -Fix (r11726, r11947)[FS#1683]: Use grass tiles for corner shores, if shores got replaced by ActionA.
frosch <frosch@openttd.org>
parents: 8213
diff changeset
111
6914
d4c8b81ac7e4 (svn r10167) -Codechange: Change the flagging system of grf loaded feature from a bitset to a bool evaluation.
belugas <belugas@openttd.org>
parents: 6769
diff changeset
112 struct GRFLoadedFeatures {
d4c8b81ac7e4 (svn r10167) -Codechange: Change the flagging system of grf loaded feature from a bitset to a bool evaluation.
belugas <belugas@openttd.org>
parents: 6769
diff changeset
113 bool has_2CC; ///< Set if any vehicle is loaded which uses 2cc (two company colours).
d4c8b81ac7e4 (svn r10167) -Codechange: Change the flagging system of grf loaded feature from a bitset to a bool evaluation.
belugas <belugas@openttd.org>
parents: 6769
diff changeset
114 bool has_newhouses; ///< Set if there are any newhouses loaded.
d4c8b81ac7e4 (svn r10167) -Codechange: Change the flagging system of grf loaded feature from a bitset to a bool evaluation.
belugas <belugas@openttd.org>
parents: 6769
diff changeset
115 bool has_newindustries; ///< Set if there are any newindustries loaded.
8403
66aed94d512e (svn r11973) -Fix (r11726, r11947)[FS#1683]: Use grass tiles for corner shores, if shores got replaced by ActionA.
frosch <frosch@openttd.org>
parents: 8213
diff changeset
116 ShoreReplacement shore; ///< It which way shore sprites were replaced.
6769
c5a64369c660 (svn r10005) -Codechange: Merge two flags (2cc and newhouses) indicating some newgrf features have been loaded, and introduce the newindustry one.
belugas <belugas@openttd.org>
parents: 6759
diff changeset
117 };
c5a64369c660 (svn r10005) -Codechange: Merge two flags (2cc and newhouses) indicating some newgrf features have been loaded, and introduce the newindustry one.
belugas <belugas@openttd.org>
parents: 6759
diff changeset
118
c5a64369c660 (svn r10005) -Codechange: Merge two flags (2cc and newhouses) indicating some newgrf features have been loaded, and introduce the newindustry one.
belugas <belugas@openttd.org>
parents: 6759
diff changeset
119 /* Indicates which are the newgrf features currently loaded ingame */
6914
d4c8b81ac7e4 (svn r10167) -Codechange: Change the flagging system of grf loaded feature from a bitset to a bool evaluation.
belugas <belugas@openttd.org>
parents: 6769
diff changeset
120 extern GRFLoadedFeatures _loaded_newgrf_features;
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
121
8194
e88e46a2aa1c (svn r11757) -Fix(r11727): Don't use a function's default parameter when the value can be (more adequately, even better) computed from another source.
belugas <belugas@openttd.org>
parents: 8164
diff changeset
122 void LoadNewGRFFile(GRFConfig *config, uint file_index, GrfLoadingStage stage);
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
123 void LoadNewGRF(uint load_index, uint file_index);
6348
bcf98ba27bbf (svn r9385) -Cleanup: doxygen changes. Today, we are exploring the letter N.
belugas <belugas@openttd.org>
parents: 6332
diff changeset
124 void ReloadNewGRFData(); // in openttd.cpp
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
125
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
126 void CDECL grfmsg(int severity, const char *str, ...);
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
127
6541
b6b454522d0b (svn r9730) -Feature: [NewGRF] Add support for miscellaneous grf feature bit 1 - paved roads on desert tiles.
maedhros <maedhros@openttd.org>
parents: 6359
diff changeset
128 bool HasGrfMiscBit(GrfMiscBit bit);
8546
1b7b256d26af (svn r12124) -Codechange: Move newgrf-variables that are common to VarAction2 and Action7/9/D to their own function.
frosch <frosch@openttd.org>
parents: 8541
diff changeset
129 bool GetGlobalVariable(byte param, uint32 *value);
6541
b6b454522d0b (svn r9730) -Feature: [NewGRF] Add support for miscellaneous grf feature bit 1 - paved roads on desert tiles.
maedhros <maedhros@openttd.org>
parents: 6359
diff changeset
130
8656
f591e76b106b (svn r12317) -Fix [FS#1815]: Map string IDs that are embedded from other strings.
peter1138 <peter1138@openttd.org>
parents: 8546
diff changeset
131 StringID MapGRFStringID(uint32 grfid, StringID str);
f591e76b106b (svn r12317) -Fix [FS#1815]: Map string IDs that are embedded from other strings.
peter1138 <peter1138@openttd.org>
parents: 8546
diff changeset
132
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
133 #endif /* NEWGRF_H */