Mercurial > hg > openttd
annotate src/airport.h @ 12122:d530190c9171 draft
(svn r16536) -Fix (r16535): W != S
author | frosch <frosch@openttd.org> |
---|---|
date | Mon, 08 Jun 2009 15:44:11 +0000 |
parents | 774675caf674 |
children | 3f9f4a93ada7 |
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 |
6117
6def6ecb1bf7
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas <belugas@openttd.org>
parents:
6041
diff
changeset
|
3 /** @file airport.h Various declarations for airports */ |
6def6ecb1bf7
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas <belugas@openttd.org>
parents:
6041
diff
changeset
|
4 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
5 #ifndef AIRPORT_H |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
6 #define AIRPORT_H |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
7 |
8100
6d739a5490a9
(svn r11661) -Codechange: some header reworks in order to try to reduce the compile time of OpenTTD by reduce the amount of circular-ish dependencies.
rubidium <rubidium@openttd.org>
parents:
7148
diff
changeset
|
8 #include "direction_type.h" |
8139
db99ba38abc0
(svn r11701) -Codechange: removal unnecessary inclusions of map.h (and split map.h).
rubidium <rubidium@openttd.org>
parents:
8138
diff
changeset
|
9 #include "map_type.h" |
9334
3945a8340531
(svn r13226) -Feature: Allow to have more than only two airports per town. The number of airports is now controlled by the noise each of them generates, the distance from town's center and how tolerant the town is.
belugas <belugas@openttd.org>
parents:
8895
diff
changeset
|
10 #include "tile_type.h" |
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
|
11 |
12051
774675caf674
(svn r16458) -Codechange: use one enum instead of four
smatz <smatz@openttd.org>
parents:
11368
diff
changeset
|
12 /** Current limits for airports */ |
774675caf674
(svn r16458) -Codechange: use one enum instead of four
smatz <smatz@openttd.org>
parents:
11368
diff
changeset
|
13 enum { |
774675caf674
(svn r16458) -Codechange: use one enum instead of four
smatz <smatz@openttd.org>
parents:
11368
diff
changeset
|
14 MAX_TERMINALS = 10, ///< maximum number of terminals per airport |
774675caf674
(svn r16458) -Codechange: use one enum instead of four
smatz <smatz@openttd.org>
parents:
11368
diff
changeset
|
15 MAX_HELIPADS = 4, ///< maximum number of helipads per airport |
774675caf674
(svn r16458) -Codechange: use one enum instead of four
smatz <smatz@openttd.org>
parents:
11368
diff
changeset
|
16 MAX_ELEMENTS = 255, ///< maximum number of aircraft positions at airport |
774675caf674
(svn r16458) -Codechange: use one enum instead of four
smatz <smatz@openttd.org>
parents:
11368
diff
changeset
|
17 }; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
18 |
12051
774675caf674
(svn r16458) -Codechange: use one enum instead of four
smatz <smatz@openttd.org>
parents:
11368
diff
changeset
|
19 /** Airport types */ |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
20 enum { |
6394
d1cf5ac55918
(svn r9524) -Fix(FS#640,r8755): Implemented a "dummy" State Machine for stations who got their airport removed while there were still aircraft within the State Machine (and thus caused asserts)
celestar <celestar@openttd.org>
parents:
6248
diff
changeset
|
21 AT_SMALL = 0, |
d1cf5ac55918
(svn r9524) -Fix(FS#640,r8755): Implemented a "dummy" State Machine for stations who got their airport removed while there were still aircraft within the State Machine (and thus caused asserts)
celestar <celestar@openttd.org>
parents:
6248
diff
changeset
|
22 AT_LARGE = 1, |
d1cf5ac55918
(svn r9524) -Fix(FS#640,r8755): Implemented a "dummy" State Machine for stations who got their airport removed while there were still aircraft within the State Machine (and thus caused asserts)
celestar <celestar@openttd.org>
parents:
6248
diff
changeset
|
23 AT_HELIPORT = 2, |
d1cf5ac55918
(svn r9524) -Fix(FS#640,r8755): Implemented a "dummy" State Machine for stations who got their airport removed while there were still aircraft within the State Machine (and thus caused asserts)
celestar <celestar@openttd.org>
parents:
6248
diff
changeset
|
24 AT_METROPOLITAN = 3, |
d1cf5ac55918
(svn r9524) -Fix(FS#640,r8755): Implemented a "dummy" State Machine for stations who got their airport removed while there were still aircraft within the State Machine (and thus caused asserts)
celestar <celestar@openttd.org>
parents:
6248
diff
changeset
|
25 AT_INTERNATIONAL = 4, |
d1cf5ac55918
(svn r9524) -Fix(FS#640,r8755): Implemented a "dummy" State Machine for stations who got their airport removed while there were still aircraft within the State Machine (and thus caused asserts)
celestar <celestar@openttd.org>
parents:
6248
diff
changeset
|
26 AT_COMMUTER = 5, |
d1cf5ac55918
(svn r9524) -Fix(FS#640,r8755): Implemented a "dummy" State Machine for stations who got their airport removed while there were still aircraft within the State Machine (and thus caused asserts)
celestar <celestar@openttd.org>
parents:
6248
diff
changeset
|
27 AT_HELIDEPOT = 6, |
d1cf5ac55918
(svn r9524) -Fix(FS#640,r8755): Implemented a "dummy" State Machine for stations who got their airport removed while there were still aircraft within the State Machine (and thus caused asserts)
celestar <celestar@openttd.org>
parents:
6248
diff
changeset
|
28 AT_INTERCON = 7, |
d1cf5ac55918
(svn r9524) -Fix(FS#640,r8755): Implemented a "dummy" State Machine for stations who got their airport removed while there were still aircraft within the State Machine (and thus caused asserts)
celestar <celestar@openttd.org>
parents:
6248
diff
changeset
|
29 AT_HELISTATION = 8, |
d1cf5ac55918
(svn r9524) -Fix(FS#640,r8755): Implemented a "dummy" State Machine for stations who got their airport removed while there were still aircraft within the State Machine (and thus caused asserts)
celestar <celestar@openttd.org>
parents:
6248
diff
changeset
|
30 AT_OILRIG = 15, |
d1cf5ac55918
(svn r9524) -Fix(FS#640,r8755): Implemented a "dummy" State Machine for stations who got their airport removed while there were still aircraft within the State Machine (and thus caused asserts)
celestar <celestar@openttd.org>
parents:
6248
diff
changeset
|
31 AT_DUMMY = 255 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
32 }; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
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 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
35 enum { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
36 AMED_NOSPDCLAMP = 1 << 0, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
37 AMED_TAKEOFF = 1 << 1, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
38 AMED_SLOWTURN = 1 << 2, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
39 AMED_LAND = 1 << 3, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
40 AMED_EXACTPOS = 1 << 4, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
41 AMED_BRAKE = 1 << 5, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
42 AMED_HELI_RAISE = 1 << 6, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
43 AMED_HELI_LOWER = 1 << 7, |
6193
0d05fec9d384
(svn r8973) -Feature/Codechange: Changed the internal unit for aircraft velocities to from 8mph to 1km/h (peter1138), also give aircraft realsitic velocities (so that 1km/h is 1km/h independent of vehicle type) (peter1138). Introduce a flag to reduce aircraft speed in holding patterns to some realistic velocity. Use this flag for the city airport for the time being and make use of the different entry points for this airport type.
celestar <celestar@openttd.org>
parents:
6117
diff
changeset
|
44 AMED_HOLD = 1 << 8 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
45 }; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
46 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
47 /* Movement States on Airports (headings target) */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
48 enum { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
49 TO_ALL = 0, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
50 HANGAR = 1, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
51 TERM1 = 2, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
52 TERM2 = 3, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
53 TERM3 = 4, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
54 TERM4 = 5, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
55 TERM5 = 6, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
56 TERM6 = 7, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
57 HELIPAD1 = 8, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
58 HELIPAD2 = 9, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
59 TAKEOFF = 10, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
60 STARTTAKEOFF = 11, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
61 ENDTAKEOFF = 12, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
62 HELITAKEOFF = 13, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
63 FLYING = 14, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
64 LANDING = 15, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
65 ENDLANDING = 16, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
66 HELILANDING = 17, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
67 HELIENDLANDING = 18, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
68 TERM7 = 19, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
69 TERM8 = 20, |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
70 HELIPAD3 = 21, |
12051
774675caf674
(svn r16458) -Codechange: use one enum instead of four
smatz <smatz@openttd.org>
parents:
11368
diff
changeset
|
71 HELIPAD4 = 22, |
774675caf674
(svn r16458) -Codechange: use one enum instead of four
smatz <smatz@openttd.org>
parents:
11368
diff
changeset
|
72 MAX_HEADINGS = 22, |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
73 }; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
74 |
11368
82c90cd591ab
(svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too
rubidium <rubidium@openttd.org>
parents:
9669
diff
changeset
|
75 /* Movement Blocks on Airports |
82c90cd591ab
(svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too
rubidium <rubidium@openttd.org>
parents:
9669
diff
changeset
|
76 * blocks (eg_airport_flags) */ |
5995
c72b07427c7f
(svn r8705) -Codechange: Increased the number of airport blocks to 64. This involves changing the enum of airport blocks to a static const uint64 as SOME platforms do not support 64-bit enums
celestar <celestar@openttd.org>
parents:
5938
diff
changeset
|
77 static const uint64 |
7148
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
78 TERM1_block = 1ULL << 0, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
79 TERM2_block = 1ULL << 1, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
80 TERM3_block = 1ULL << 2, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
81 TERM4_block = 1ULL << 3, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
82 TERM5_block = 1ULL << 4, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
83 TERM6_block = 1ULL << 5, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
84 HELIPAD1_block = 1ULL << 6, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
85 HELIPAD2_block = 1ULL << 7, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
86 RUNWAY_IN_OUT_block = 1ULL << 8, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
87 RUNWAY_IN_block = 1ULL << 8, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
88 AIRPORT_BUSY_block = 1ULL << 8, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
89 RUNWAY_OUT_block = 1ULL << 9, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
90 TAXIWAY_BUSY_block = 1ULL << 10, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
91 OUT_WAY_block = 1ULL << 11, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
92 IN_WAY_block = 1ULL << 12, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
93 AIRPORT_ENTRANCE_block = 1ULL << 13, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
94 TERM_GROUP1_block = 1ULL << 14, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
95 TERM_GROUP2_block = 1ULL << 15, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
96 HANGAR2_AREA_block = 1ULL << 16, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
97 TERM_GROUP2_ENTER1_block = 1ULL << 17, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
98 TERM_GROUP2_ENTER2_block = 1ULL << 18, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
99 TERM_GROUP2_EXIT1_block = 1ULL << 19, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
100 TERM_GROUP2_EXIT2_block = 1ULL << 20, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
101 PRE_HELIPAD_block = 1ULL << 21, |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
102 |
8895
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
103 /* blocks for new airports */ |
7148
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
104 TERM7_block = 1ULL << 22, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
105 TERM8_block = 1ULL << 23, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
106 TERM9_block = 1ULL << 24, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
107 HELIPAD3_block = 1ULL << 24, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
108 TERM10_block = 1ULL << 25, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
109 HELIPAD4_block = 1ULL << 25, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
110 HANGAR1_AREA_block = 1ULL << 26, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
111 OUT_WAY2_block = 1ULL << 27, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
112 IN_WAY2_block = 1ULL << 28, |
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
113 RUNWAY_IN2_block = 1ULL << 29, |
8895
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
114 RUNWAY_OUT2_block = 1ULL << 10, ///< note re-uses TAXIWAY_BUSY |
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
115 HELIPAD_GROUP_block = 1ULL << 13, ///< note re-uses AIRPORT_ENTRANCE |
7148
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
116 OUT_WAY_block2 = 1ULL << 31, |
8895
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
117 /* end of new blocks */ |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
118 |
7148
bb5dfe7d8fcf
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
KUDr <KUDr@openttd.org>
parents:
6394
diff
changeset
|
119 NOTHING_block = 1ULL << 30; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
120 |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
121 struct AirportMovingData { |
5938 | 122 int16 x; |
123 int16 y; | |
6193
0d05fec9d384
(svn r8973) -Feature/Codechange: Changed the internal unit for aircraft velocities to from 8mph to 1km/h (peter1138), also give aircraft realsitic velocities (so that 1km/h is 1km/h independent of vehicle type) (peter1138). Introduce a flag to reduce aircraft speed in holding patterns to some realistic velocity. Use this flag for the city airport for the time being and make use of the different entry points for this airport type.
celestar <celestar@openttd.org>
parents:
6117
diff
changeset
|
124 uint16 flag; |
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
|
125 DirectionByte direction; |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
126 }; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
127 |
5932 | 128 struct AirportFTAbuildup; |
129 | |
8895
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
130 /** Finite sTate mAchine --> FTA */ |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
131 struct AirportFTAClass { |
5924 | 132 public: |
6024 | 133 enum Flags { |
6027
22d859b7458d
(svn r8750) -Fix (r8747): PLANES defined in wingdi.h caused compilation error under Win32. Changed to AIRPLANES
KUDr <KUDr@openttd.org>
parents:
6025
diff
changeset
|
134 AIRPLANES = 0x1, |
6024 | 135 HELICOPTERS = 0x2, |
6027
22d859b7458d
(svn r8750) -Fix (r8747): PLANES defined in wingdi.h caused compilation error under Win32. Changed to AIRPLANES
KUDr <KUDr@openttd.org>
parents:
6025
diff
changeset
|
136 ALL = AIRPLANES | HELICOPTERS, |
6025 | 137 SHORT_STRIP = 0x4 |
6024 | 138 }; |
139 | |
5932 | 140 AirportFTAClass( |
141 const AirportMovingData *moving_data, | |
142 const byte *terminals, | |
143 const byte *helipads, | |
6036
b56d6c9c752f
(svn r8759) -Feature: Allow airports to have up to 4 entry points depending on approach direction. Note: they're not yet used, but will be soon
celestar <celestar@openttd.org>
parents:
6027
diff
changeset
|
144 const byte *entry_points, |
6024 | 145 Flags flags, |
5932 | 146 const AirportFTAbuildup *apFA, |
147 const TileIndexDiffC *depots, | |
148 byte nof_depots, | |
149 uint size_x, | |
6020 | 150 uint size_y, |
9334
3945a8340531
(svn r13226) -Feature: Allow to have more than only two airports per town. The number of airports is now controlled by the noise each of them generates, the distance from town's center and how tolerant the town is.
belugas <belugas@openttd.org>
parents:
8895
diff
changeset
|
151 uint8 noise_level, |
6041 | 152 byte delta_z, |
153 byte catchment | |
5932 | 154 ); |
155 | |
156 ~AirportFTAClass(); | |
157 | |
5924 | 158 const AirportMovingData *MovingData(byte position) const |
159 { | |
160 assert(position < nofelements); | |
161 return &moving_data[position]; | |
162 } | |
163 | |
164 const AirportMovingData *moving_data; | |
8895
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
165 struct AirportFTA *layout; ///< state machine for airport |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
166 const byte *terminals; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
167 const byte *helipads; |
8895
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
168 const TileIndexDiffC *airport_depots; ///< gives the position of the depots on the airports |
6024 | 169 Flags flags; |
8895
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
170 byte nof_depots; ///< number of depots this airport has |
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
171 byte nofelements; ///< number of positions the airport consists of |
6036
b56d6c9c752f
(svn r8759) -Feature: Allow airports to have up to 4 entry points depending on approach direction. Note: they're not yet used, but will be soon
celestar <celestar@openttd.org>
parents:
6027
diff
changeset
|
172 const byte *entry_points; ///< when an airplane arrives at this airport, enter it at position entry_point, index depends on direction |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
173 byte size_x; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
174 byte size_y; |
9334
3945a8340531
(svn r13226) -Feature: Allow to have more than only two airports per town. The number of airports is now controlled by the noise each of them generates, the distance from town's center and how tolerant the town is.
belugas <belugas@openttd.org>
parents:
8895
diff
changeset
|
175 uint8 noise_level; ///< noise that this airport generates |
8895
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
176 byte delta_z; ///< Z adjustment for helicopter pads |
6041 | 177 byte catchment; |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
178 }; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
179 |
6025 | 180 DECLARE_ENUM_AS_BIT_SET(AirportFTAClass::Flags) |
181 | |
182 | |
8895
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
183 /** internal structure used in openttd - Finite sTate mAchine --> FTA */ |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
184 struct AirportFTA { |
8895
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
185 AirportFTA *next; ///< possible extra movement choices from this position |
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
186 uint64 block; ///< 64 bit blocks (st->airport_flags), should be enough for the most complex airports |
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
187 byte position; ///< the position that an airplane is at |
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
188 byte next_position; ///< next position from this position |
80625432d041
(svn r12662) -Codechange: Comment-code style application
belugas <belugas@openttd.org>
parents:
8139
diff
changeset
|
189 byte heading; ///< heading (current orders), guiding an airplane to its target on an airport |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
190 }; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
191 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6193
diff
changeset
|
192 void InitializeAirports(); |
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6193
diff
changeset
|
193 void UnInitializeAirports(); |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
194 const AirportFTAClass *GetAirport(const byte airport_type); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
195 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
196 /** Get buildable airport bitmask. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
197 * @return get all buildable airports at this given time, bitmasked. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
198 * Bit 0 means the small airport is buildable, etc. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
199 * @todo set availability of airports by year, instead of airplane |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
200 */ |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6193
diff
changeset
|
201 uint32 GetValidAirports(); |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
202 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
203 #endif /* AIRPORT_H */ |