00001
00002
00005 #ifndef AIRPORT_MOVEMENT_H
00006 #define AIRPORT_MOVEMENT_H
00007
00008
00009
00010
00011 struct AirportFTAbuildup {
00012 byte position;
00013 byte heading;
00014 uint64 block;
00015 byte next;
00016 };
00017
00020
00021 static const AirportMovingData _airport_moving_data_dummy[] = {
00022 { 0, 0, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00023 { 0, 96, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00024 { 96, 96, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00025 { 96, 0, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00026 };
00027
00028
00029 static const AirportMovingData _airport_moving_data_country[22] = {
00030 { 53, 3, AMED_EXACTPOS, {DIR_SE} },
00031 { 53, 27, 0, {DIR_N} },
00032 { 32, 23, AMED_EXACTPOS, {DIR_NW} },
00033 { 10, 23, AMED_EXACTPOS, {DIR_NW} },
00034 { 43, 37, 0, {DIR_N} },
00035 { 24, 37, 0, {DIR_N} },
00036 { 53, 37, 0, {DIR_N} },
00037 { 61, 40, AMED_EXACTPOS, {DIR_NE} },
00038 { 3, 40, AMED_NOSPDCLAMP, {DIR_N} },
00039 { -79, 40, AMED_NOSPDCLAMP | AMED_TAKEOFF, {DIR_N} },
00040 { 177, 40, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00041 { 56, 40, AMED_NOSPDCLAMP | AMED_LAND, {DIR_N} },
00042 { 3, 40, AMED_NOSPDCLAMP | AMED_BRAKE, {DIR_N} },
00043 { 7, 40, 0, {DIR_N} },
00044 { 53, 40, 0, {DIR_N} },
00045 { -31, 193, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00046 { 1, 1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00047 { 257, 1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00048 { 273, 49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00049 { 44, 37, AMED_HELI_RAISE, {DIR_N} },
00050 { 44, 40, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00051 { 44, 40, AMED_HELI_LOWER, {DIR_N} },
00052 };
00053
00054
00055 static const AirportMovingData _airport_moving_data_commuter[37] = {
00056 { 69, 3, AMED_EXACTPOS, {DIR_SE} },
00057 { 72, 22, 0, {DIR_N} },
00058 { 8, 22, AMED_EXACTPOS, {DIR_SW} },
00059 { 24, 36, AMED_EXACTPOS, {DIR_SE} },
00060 { 40, 36, AMED_EXACTPOS, {DIR_SE} },
00061 { 56, 36, AMED_EXACTPOS, {DIR_SE} },
00062 { 40, 8, AMED_EXACTPOS, {DIR_NE} },
00063 { 56, 8, AMED_EXACTPOS, {DIR_NE} },
00064 { 24, 22, 0, {DIR_SW} },
00065 { 40, 22, 0, {DIR_SW} },
00066 { 56, 22, 0, {DIR_SW} },
00067 { 72, 40, 0, {DIR_SE} },
00068 { 72, 54, AMED_EXACTPOS, {DIR_NE} },
00069 { 7, 54, AMED_NOSPDCLAMP, {DIR_N} },
00070 { 5, 54, AMED_NOSPDCLAMP, {DIR_N} },
00071 { -79, 54, AMED_NOSPDCLAMP | AMED_TAKEOFF, {DIR_N} },
00072 { 145, 54, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00073 { 73, 54, AMED_NOSPDCLAMP | AMED_LAND, {DIR_N} },
00074 { 3, 54, AMED_NOSPDCLAMP | AMED_BRAKE, {DIR_N} },
00075 { 12, 54, AMED_SLOWTURN, {DIR_NW} },
00076 { 8, 32, 0, {DIR_NW} },
00077 { -31, 149, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00078 { 1, 6, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00079 { 193, 6, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00080 { 225, 81, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00081
00082 { 80, 0, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00083 { 80, 0, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00084 { 32, 8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00085 { 48, 8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00086 { 32, 8, AMED_HELI_LOWER, {DIR_N} },
00087 { 48, 8, AMED_HELI_LOWER, {DIR_N} },
00088 { 32, 8, AMED_HELI_RAISE, {DIR_N} },
00089 { 48, 8, AMED_HELI_RAISE, {DIR_N} },
00090 { 64, 22, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00091 { 64, 22, AMED_HELI_LOWER, {DIR_N} },
00092 { 40, 8, AMED_EXACTPOS, {DIR_N} },
00093 { 56, 8, AMED_EXACTPOS, {DIR_N} },
00094 };
00095
00096
00097 static const AirportMovingData _airport_moving_data_town[] = {
00098 { 85, 3, AMED_EXACTPOS, {DIR_SE} },
00099 { 85, 27, 0, {DIR_N} },
00100 { 26, 41, AMED_EXACTPOS, {DIR_SW} },
00101 { 56, 20, AMED_EXACTPOS, {DIR_SE} },
00102 { 38, 8, AMED_EXACTPOS, {DIR_SW} },
00103 { 65, 6, 0, {DIR_N} },
00104 { 80, 27, 0, {DIR_N} },
00105 { 44, 63, 0, {DIR_N} },
00106 { 58, 71, 0, {DIR_N} },
00107 { 72, 85, 0, {DIR_N} },
00108 { 89, 85, AMED_EXACTPOS, {DIR_NE} },
00109 { 3, 85, AMED_NOSPDCLAMP, {DIR_N} },
00110 { -79, 85, AMED_NOSPDCLAMP | AMED_TAKEOFF, {DIR_N} },
00111 { 177, 87, AMED_HOLD | AMED_SLOWTURN, {DIR_N} },
00112 { 89, 87, AMED_HOLD | AMED_LAND, {DIR_N} },
00113 { 20, 87, AMED_NOSPDCLAMP | AMED_BRAKE, {DIR_N} },
00114 { 20, 87, 0, {DIR_N} },
00115 { 36, 71, 0, {DIR_N} },
00116 { 160, 87, AMED_HOLD | AMED_SLOWTURN, {DIR_N} },
00117 { 140, 1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00118 { 257, 1, AMED_HOLD | AMED_SLOWTURN, {DIR_N} },
00119 { 273, 49, AMED_HOLD | AMED_SLOWTURN, {DIR_N} },
00120 { 44, 63, AMED_HELI_RAISE, {DIR_N} },
00121 { 28, 74, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00122 { 28, 74, AMED_HELI_LOWER, {DIR_N} },
00123 { 145, 1, AMED_HOLD | AMED_SLOWTURN, {DIR_N} },
00124 { -32, 1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00125 { 300, -48, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00126 { 140, -48, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00127 { -32, 120, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00128 };
00129
00130
00131 static const AirportMovingData _airport_moving_data_metropolitan[27] = {
00132 { 85, 3, AMED_EXACTPOS, {DIR_SE} },
00133 { 85, 27, 0, {DIR_N} },
00134 { 26, 41, AMED_EXACTPOS, {DIR_SW} },
00135 { 56, 20, AMED_EXACTPOS, {DIR_SE} },
00136 { 38, 8, AMED_EXACTPOS, {DIR_SW} },
00137 { 65, 6, 0, {DIR_N} },
00138 { 70, 33, 0, {DIR_N} },
00139 { 44, 58, 0, {DIR_N} },
00140 { 72, 58, 0, {DIR_N} },
00141 { 72, 69, 0, {DIR_N} },
00142 { 89, 69, AMED_EXACTPOS, {DIR_NE} },
00143 { 3, 69, AMED_NOSPDCLAMP, {DIR_N} },
00144 { -79, 69, AMED_NOSPDCLAMP | AMED_TAKEOFF, {DIR_N} },
00145 { 177, 85, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00146 { 89, 85, AMED_NOSPDCLAMP | AMED_LAND, {DIR_N} },
00147 { 3, 85, AMED_NOSPDCLAMP | AMED_BRAKE, {DIR_N} },
00148 { 21, 85, 0, {DIR_N} },
00149 { 21, 69, 0, {DIR_N} },
00150 { 21, 54, AMED_EXACTPOS, {DIR_SW} },
00151 { -31, 193, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00152 { 1, 1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00153 { 257, 1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00154 { 273, 49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00155 { 44, 58, 0, {DIR_N} },
00156 { 44, 63, AMED_HELI_RAISE, {DIR_N} },
00157 { 15, 54, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00158 { 15, 54, AMED_HELI_LOWER, {DIR_N} },
00159 };
00160
00161
00162 static const AirportMovingData _airport_moving_data_international[51] = {
00163 { 7, 55, AMED_EXACTPOS, {DIR_SE} },
00164 { 100, 21, AMED_EXACTPOS, {DIR_SE} },
00165 { 7, 70, 0, {DIR_N} },
00166 { 100, 36, 0, {DIR_N} },
00167 { 38, 70, AMED_EXACTPOS, {DIR_SW} },
00168 { 38, 54, AMED_EXACTPOS, {DIR_SW} },
00169 { 38, 38, AMED_EXACTPOS, {DIR_SW} },
00170 { 70, 70, AMED_EXACTPOS, {DIR_NE} },
00171 { 70, 54, AMED_EXACTPOS, {DIR_NE} },
00172 { 70, 38, AMED_EXACTPOS, {DIR_NE} },
00173 { 104, 71, AMED_EXACTPOS, {DIR_NE} },
00174 { 104, 55, AMED_EXACTPOS, {DIR_NE} },
00175 { 22, 87, 0, {DIR_N} },
00176 { 60, 87, 0, {DIR_N} },
00177 { 66, 87, 0, {DIR_N} },
00178 { 86, 87, AMED_EXACTPOS, {DIR_NW} },
00179 { 86, 70, 0, {DIR_N} },
00180 { 86, 54, 0, {DIR_N} },
00181 { 86, 38, 0, {DIR_N} },
00182 { 86, 22, 0, {DIR_N} },
00183 { 66, 22, 0, {DIR_N} },
00184 { 60, 22, 0, {DIR_N} },
00185 { 38, 22, 0, {DIR_N} },
00186 { 22, 70, 0, {DIR_N} },
00187 { 22, 58, 0, {DIR_N} },
00188 { 22, 38, 0, {DIR_N} },
00189 { 22, 22, AMED_EXACTPOS, {DIR_NW} },
00190 { 22, 6, 0, {DIR_N} },
00191 { 3, 6, AMED_EXACTPOS, {DIR_SW} },
00192 { 60, 6, AMED_NOSPDCLAMP, {DIR_N} },
00193 { 105, 6, AMED_NOSPDCLAMP, {DIR_N} },
00194 { 190, 6, AMED_NOSPDCLAMP | AMED_TAKEOFF, {DIR_N} },
00195 { 193, 104, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00196 { 105, 104, AMED_NOSPDCLAMP | AMED_LAND, {DIR_N} },
00197 { 3, 104, AMED_NOSPDCLAMP | AMED_BRAKE, {DIR_N} },
00198 { 12, 104, AMED_SLOWTURN, {DIR_N} },
00199 { 7, 84, 0, {DIR_N} },
00200 { -31, 209, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00201 { 1, 6, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00202 { 273, 6, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00203 { 305, 81, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00204
00205 { 128, 80, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00206 { 128, 80, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00207 { 96, 71, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00208 { 96, 55, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00209 { 96, 71, AMED_HELI_LOWER, {DIR_N} },
00210 { 96, 55, AMED_HELI_LOWER, {DIR_N} },
00211 { 104, 71, AMED_HELI_RAISE, {DIR_N} },
00212 { 104, 55, AMED_HELI_RAISE, {DIR_N} },
00213 { 104, 32, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00214 { 104, 32, AMED_HELI_LOWER, {DIR_N} },
00215 };
00216
00217
00218 static const AirportMovingData _airport_moving_data_intercontinental[77] = {
00219 { 7, 87, AMED_EXACTPOS, {DIR_SE} },
00220 { 135, 72, AMED_EXACTPOS, {DIR_SE} },
00221 { 7, 104, 0, {DIR_N} },
00222 { 135, 88, 0, {DIR_N} },
00223 { 56, 120, AMED_EXACTPOS, {DIR_W} },
00224 { 56, 104, AMED_EXACTPOS, {DIR_SW} },
00225 { 56, 88, AMED_EXACTPOS, {DIR_SW} },
00226 { 56, 72, AMED_EXACTPOS, {DIR_SW} },
00227 { 88, 120, AMED_EXACTPOS, {DIR_N} },
00228 { 88, 104, AMED_EXACTPOS, {DIR_NE} },
00229 { 88, 88, AMED_EXACTPOS, {DIR_NE} },
00230 { 88, 72, AMED_EXACTPOS, {DIR_NE} },
00231 { 88, 56, AMED_EXACTPOS, {DIR_SE} },
00232 { 72, 56, AMED_EXACTPOS, {DIR_NE} },
00233 { 40, 136, 0, {DIR_N} },
00234 { 56, 136, 0, {DIR_N} },
00235 { 88, 136, 0, {DIR_N} },
00236 { 104, 136, 0, {DIR_N} },
00237 { 104, 120, 0, {DIR_N} },
00238 { 104, 104, 0, {DIR_N} },
00239 { 104, 88, 0, {DIR_N} },
00240 { 104, 72, 0, {DIR_N} },
00241 { 104, 56, 0, {DIR_N} },
00242 { 104, 40, 0, {DIR_N} },
00243 { 56, 40, 0, {DIR_N} },
00244 { 40, 40, 0, {DIR_N} },
00245 { 40, 120, 0, {DIR_N} },
00246 { 40, 104, 0, {DIR_N} },
00247 { 40, 88, 0, {DIR_N} },
00248 { 40, 72, 0, {DIR_N} },
00249 { 18, 72, 0, {DIR_NW} },
00250 { 8, 40, 0, {DIR_NW} },
00251 { 8, 24, AMED_EXACTPOS, {DIR_SW} },
00252 { 119, 24, AMED_NOSPDCLAMP, {DIR_N} },
00253 { 117, 24, AMED_NOSPDCLAMP, {DIR_N} },
00254 { 197, 24, AMED_NOSPDCLAMP | AMED_TAKEOFF, {DIR_N} },
00255 { 254, 84, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00256 { 117, 168, AMED_NOSPDCLAMP | AMED_LAND, {DIR_N} },
00257 { 3, 168, AMED_NOSPDCLAMP | AMED_BRAKE, {DIR_N} },
00258 { 8, 168, 0, {DIR_N} },
00259 { 8, 144, 0, {DIR_NW} },
00260 { 8, 128, 0, {DIR_NW} },
00261 { 8, 120, AMED_EXACTPOS, {DIR_SW} },
00262 { 56, 344, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00263 { -200, 88, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00264 { 56, -168, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00265 { 312, 88, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00266
00267 { 96, 40, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00268 { 96, 40, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00269 { 82, 54, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00270 { 64, 56, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00271 { 81, 55, AMED_HELI_LOWER, {DIR_N} },
00272 { 64, 56, AMED_HELI_LOWER, {DIR_N} },
00273 { 80, 56, AMED_HELI_RAISE, {DIR_N} },
00274 { 64, 56, AMED_HELI_RAISE, {DIR_N} },
00275 { 136, 96, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00276 { 136, 96, AMED_HELI_LOWER, {DIR_N} },
00277 { 126, 104, 0, {DIR_SE} },
00278 { 136, 136, 0, {DIR_NE} },
00279 { 136, 152, AMED_EXACTPOS, {DIR_NE} },
00280 { 16, 152, AMED_NOSPDCLAMP, {DIR_N} },
00281 { 20, 152, AMED_NOSPDCLAMP, {DIR_N} },
00282 { -56, 152, AMED_NOSPDCLAMP | AMED_TAKEOFF, {DIR_N} },
00283 { 24, 8, AMED_NOSPDCLAMP | AMED_LAND, {DIR_N} },
00284 { 136, 8, AMED_NOSPDCLAMP | AMED_BRAKE, {DIR_N} },
00285 { 136, 8, 0, {DIR_N} },
00286 { 136, 24, 0, {DIR_SE} },
00287 { 136, 40, 0, {DIR_SE} },
00288 { 136, 56, AMED_EXACTPOS, {DIR_NE} },
00289 { -56, 8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00290 { 88, 40, 0, {DIR_N} },
00291 { 72, 40, 0, {DIR_N} },
00292 { 88, 57, AMED_EXACTPOS, {DIR_SE} },
00293 { 71, 56, AMED_EXACTPOS, {DIR_NE} },
00294 { 8, 120, AMED_HELI_RAISE, {DIR_N} },
00295 { 136, 104, AMED_HELI_RAISE, {DIR_N} },
00296 { 197, 168, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00297 };
00298
00299
00300
00301 static const AirportMovingData _airport_moving_data_heliport[9] = {
00302 { 5, 9, AMED_EXACTPOS, {DIR_NE} },
00303 { 2, 9, AMED_HELI_RAISE, {DIR_N} },
00304 { -3, 9, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00305 { -3, 9, AMED_HELI_LOWER, {DIR_N} },
00306 { 2, 9, 0, {DIR_N} },
00307 { -31, 59, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00308 { -31, -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00309 { 49, -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00310 { 70, 9, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00311 };
00312
00313
00314 static const AirportMovingData _airport_moving_data_helidepot[18] = {
00315 { 24, 4, AMED_EXACTPOS, {DIR_NE} },
00316 { 24, 28, 0, {DIR_N} },
00317 { 5, 38, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00318 { -15, -15, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00319 { -15, -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00320 { 49, -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00321 { 49, -15, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00322 { 8, 32, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_NW} },
00323 { 8, 32, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_NW} },
00324 { 8, 16, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_NW} },
00325 { 8, 16, AMED_HELI_LOWER, {DIR_NW} },
00326 { 8, 24, AMED_HELI_RAISE, {DIR_N} },
00327 { 32, 24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_NW} },
00328 { 32, 24, AMED_HELI_LOWER, {DIR_NW} },
00329 { 8, 24, AMED_EXACTPOS, {DIR_NW} },
00330 { 24, 28, AMED_HELI_RAISE, {DIR_N} },
00331 { 8, 24, AMED_HELI_RAISE, {DIR_SW} },
00332 { 8, 24, AMED_SLOWTURN | AMED_EXACTPOS, {DIR_E} },
00333 };
00334
00335
00336 static const AirportMovingData _airport_moving_data_helistation[33] = {
00337 { 8, 3, AMED_EXACTPOS, {DIR_SE} },
00338 { 8, 22, 0, {DIR_N} },
00339 { 116, 24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00340 { 14, 22, AMED_HELI_RAISE, {DIR_N} },
00341 { 24, 22, 0, {DIR_N} },
00342 { 40, 22, 0, {DIR_N} },
00343 { 40, 8, AMED_EXACTPOS, {DIR_NE} },
00344 { 56, 8, AMED_EXACTPOS, {DIR_NE} },
00345 { 56, 24, AMED_EXACTPOS, {DIR_NE} },
00346 { 40, 8, AMED_EXACTPOS, {DIR_N} },
00347 { 56, 8, AMED_EXACTPOS, {DIR_N} },
00348 { 56, 24, AMED_EXACTPOS, {DIR_N} },
00349 { 32, 8, AMED_HELI_RAISE, {DIR_N} },
00350 { 48, 8, AMED_HELI_RAISE, {DIR_N} },
00351 { 48, 24, AMED_HELI_RAISE, {DIR_N} },
00352 { 84, 24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00353 { 68, 24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00354 { 32, 8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00355 { 48, 8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00356 { 48, 24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_NE} },
00357 { 40, 8, AMED_HELI_LOWER, {DIR_N} },
00358 { 48, 8, AMED_HELI_LOWER, {DIR_N} },
00359 { 48, 24, AMED_HELI_LOWER, {DIR_N} },
00360 { 0, 22, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00361 { 0, 22, AMED_HELI_LOWER, {DIR_N} },
00362 { 148, -8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00363 { 148, 8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00364 { 132, 24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00365 { 100, 24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00366 { 84, 8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00367 { 84, -8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00368 { 100, -24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00369 { 132, -24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00370 };
00371
00372
00373 static const AirportMovingData _airport_moving_data_oilrig[9] = {
00374 { 31, 9, AMED_EXACTPOS, {DIR_NE} },
00375 { 28, 9, AMED_HELI_RAISE, {DIR_N} },
00376 { 23, 9, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00377 { 23, 9, AMED_HELI_LOWER, {DIR_N} },
00378 { 28, 9, 0, {DIR_N} },
00379 { -31, 69, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00380 { -31, -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00381 { 69, -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00382 { 69, 9, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} },
00383 };
00384
00387 static const byte _airport_entries_dummy[] = {0, 1, 2, 3};
00388 static const AirportFTAbuildup _airport_fta_dummy[] = {
00389 { 0, 0, 0, 3},
00390 { 1, 0, 0, 0},
00391 { 2, 0, 0, 1},
00392 { 3, 0, 0, 2},
00393 { MAX_ELEMENTS, 0, 0, 0 }
00394 };
00395
00396
00397
00398 static const TileIndexDiffC _airport_depots_country[] = {{3, 0}};
00399 static const byte _airport_terminal_country[] = {1, 2};
00400 static const byte _airport_entries_country[] = {16, 16, 16, 16};
00401 static const AirportFTAbuildup _airport_fta_country[] = {
00402 { 0, HANGAR, NOTHING_block, 1 },
00403 { 1, 255, AIRPORT_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM1, TERM1_block, 2 }, { 1, TERM2, 0, 4 }, { 1, HELITAKEOFF, 0, 19 }, { 1, 0, 0, 6 },
00404 { 2, TERM1, TERM1_block, 1 },
00405 { 3, TERM2, TERM2_block, 5 },
00406 { 4, 255, AIRPORT_BUSY_block, 0 }, { 4, TERM2, 0, 5 }, { 4, HANGAR, 0, 1 }, { 4, TAKEOFF, 0, 6 }, { 4, HELITAKEOFF, 0, 1 },
00407 { 5, 255, AIRPORT_BUSY_block, 0 }, { 5, TERM2, TERM2_block, 3 }, { 5, 0, 0, 4 },
00408 { 6, 0, AIRPORT_BUSY_block, 7 },
00409
00410 { 7, TAKEOFF, AIRPORT_BUSY_block, 8 },
00411 { 8, STARTTAKEOFF, NOTHING_block, 9 },
00412 { 9, ENDTAKEOFF, NOTHING_block, 0 },
00413
00414 { 10, FLYING, NOTHING_block, 15 }, { 10, LANDING, 0, 11 }, { 10, HELILANDING, 0, 20 },
00415 { 11, LANDING, AIRPORT_BUSY_block, 12 },
00416 { 12, 0, AIRPORT_BUSY_block, 13 },
00417 { 13, ENDLANDING, AIRPORT_BUSY_block, 14 }, { 13, TERM2, 0, 5 }, { 13, 0, 0, 14 },
00418 { 14, 0, AIRPORT_BUSY_block, 1 },
00419
00420 { 15, 0, NOTHING_block, 16 },
00421 { 16, 0, NOTHING_block, 17 },
00422 { 17, 0, NOTHING_block, 18 },
00423 { 18, 0, NOTHING_block, 10 },
00424 { 19, HELITAKEOFF, NOTHING_block, 0 },
00425 { 20, HELILANDING, AIRPORT_BUSY_block, 21 },
00426 { 21, HELIENDLANDING, AIRPORT_BUSY_block, 1 },
00427 { MAX_ELEMENTS, 0, 0, 0 }
00428 };
00429
00430 static const TileIndexDiffC _airport_depots_commuter[] = { { 4, 0 } };
00431 static const byte _airport_terminal_commuter[] = { 1, 3 };
00432 static const byte _airport_helipad_commuter[] = { 1, 2 };
00433 static const byte _airport_entries_commuter[] = {21, 21, 21, 21};
00434 static const AirportFTAbuildup _airport_fta_commuter[] = {
00435 { 0, HANGAR, NOTHING_block, 1 }, { 0, HELITAKEOFF, HELIPAD2_block, 1 }, { 0, 0, 0, 1 },
00436 { 1, 255, TAXIWAY_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TAKEOFF, 0, 11 }, { 1, TERM1, TAXIWAY_BUSY_block, 10 }, { 1, TERM2, TAXIWAY_BUSY_block, 10 }, { 1, TERM3, TAXIWAY_BUSY_block, 10 }, { 1, HELIPAD1, TAXIWAY_BUSY_block, 10 }, { 1, HELIPAD2, TAXIWAY_BUSY_block, 10 }, { 1, HELITAKEOFF, TAXIWAY_BUSY_block, 10 }, { 1, 0, 0, 0 },
00437 { 2, 255, AIRPORT_ENTRANCE_block, 2 }, { 2, HANGAR, 0, 8 }, { 2, TERM1, 0, 8 }, { 2, TERM2, 0, 8 }, { 2, TERM3, 0, 8 }, { 2, HELIPAD1, 0, 8 }, { 2, HELIPAD2, 0, 8 }, { 2, HELITAKEOFF, 0, 8 }, { 2, 0, 0, 2 },
00438 { 3, TERM1, TERM1_block, 8 }, { 3, HANGAR, 0, 8 }, { 3, TAKEOFF, 0, 8 }, { 3, 0, 0, 3 },
00439 { 4, TERM2, TERM2_block, 9 }, { 4, HANGAR, 0, 9 }, { 4, TAKEOFF, 0, 9 }, { 4, 0, 0, 4 },
00440 { 5, TERM3, TERM3_block, 10 }, { 5, HANGAR, 0, 10 }, { 5, TAKEOFF, 0, 10 }, { 5, 0, 0, 5 },
00441 { 6, HELIPAD1, HELIPAD1_block, 6 }, { 6, HANGAR, TAXIWAY_BUSY_block, 9 }, { 6, HELITAKEOFF, 0, 35 },
00442 { 7, HELIPAD2, HELIPAD2_block, 7 }, { 7, HANGAR, TAXIWAY_BUSY_block, 10 }, { 7, HELITAKEOFF, 0, 36 },
00443 { 8, 255, TAXIWAY_BUSY_block, 8 }, { 8, TAKEOFF, TAXIWAY_BUSY_block, 9 }, { 8, HANGAR, TAXIWAY_BUSY_block, 9 }, { 8, TERM1, TERM1_block, 3 }, { 8, 0, TAXIWAY_BUSY_block, 9 },
00444 { 9, 255, TAXIWAY_BUSY_block, 9 }, { 9, TAKEOFF, TAXIWAY_BUSY_block, 10 }, { 9, HANGAR, TAXIWAY_BUSY_block, 10 }, { 9, TERM2, TERM2_block, 4 }, { 9, HELIPAD1, HELIPAD1_block, 6 }, { 9, HELITAKEOFF, HELIPAD1_block, 6 }, { 9, TERM1, TAXIWAY_BUSY_block, 8 }, { 9, 0, TAXIWAY_BUSY_block, 10 },
00445 { 10, 255, TAXIWAY_BUSY_block, 10 }, { 10, TERM3, TERM3_block, 5 }, { 10, HELIPAD1, 0, 9 }, { 10, HELIPAD2, HELIPAD2_block, 7 }, { 10, HELITAKEOFF, HELIPAD2_block, 7 }, { 10, TAKEOFF, TAXIWAY_BUSY_block, 1 }, { 10, HANGAR, TAXIWAY_BUSY_block, 1 }, { 10, 0, TAXIWAY_BUSY_block, 9 },
00446 { 11, 0, OUT_WAY_block, 12 },
00447
00448 { 12, TAKEOFF, RUNWAY_IN_OUT_block, 13 },
00449 { 13, 0, RUNWAY_IN_OUT_block, 14 },
00450 { 14, STARTTAKEOFF, RUNWAY_IN_OUT_block, 15 },
00451 { 15, ENDTAKEOFF, NOTHING_block, 0 },
00452
00453 { 16, FLYING, NOTHING_block, 21 }, { 16, LANDING, IN_WAY_block, 17 }, { 16, HELILANDING, 0, 25 },
00454 { 17, LANDING, RUNWAY_IN_OUT_block, 18 },
00455 { 18, 0, RUNWAY_IN_OUT_block, 19 },
00456 { 19, 0, RUNWAY_IN_OUT_block, 20 },
00457 { 20, ENDLANDING, IN_WAY_block, 2 },
00458
00459 { 21, 0, NOTHING_block, 22 },
00460 { 22, 0, NOTHING_block, 23 },
00461 { 23, 0, NOTHING_block, 24 },
00462 { 24, 0, NOTHING_block, 16 },
00463
00464 { 25, HELILANDING, PRE_HELIPAD_block, 26 },
00465 { 26, HELIENDLANDING, PRE_HELIPAD_block, 26 }, { 26, HELIPAD1, 0, 27 }, { 26, HELIPAD2, 0, 28 }, { 26, HANGAR, 0, 33 },
00466 { 27, 0, NOTHING_block, 29 },
00467 { 28, 0, NOTHING_block, 30 },
00468
00469 { 29, 255, NOTHING_block, 0 }, { 29, HELIPAD1, HELIPAD1_block, 6 },
00470 { 30, 255, NOTHING_block, 0 }, { 30, HELIPAD2, HELIPAD2_block, 7 },
00471
00472 { 31, HELITAKEOFF, NOTHING_block, 0 },
00473 { 32, HELITAKEOFF, NOTHING_block, 0 },
00474 { 33, 0, TAXIWAY_BUSY_block, 34 },
00475 { 34, 0, TAXIWAY_BUSY_block, 1 },
00476 { 35, 0, HELIPAD1_block, 31 },
00477 { 36, 0, HELIPAD2_block, 32 },
00478 { MAX_ELEMENTS, 0, 0, 0 }
00479 };
00480
00481 static const TileIndexDiffC _airport_depots_city[] = { { 5, 0 } };
00482 static const byte _airport_terminal_city[] = { 1, 3 };
00483 static const byte _airport_entries_city[] = {26, 29, 27, 28};
00484 static const AirportFTAbuildup _airport_fta_city[] = {
00485 { 0, HANGAR, NOTHING_block, 1 }, { 0, TAKEOFF, OUT_WAY_block, 1 }, { 0, 0, 0, 1 },
00486 { 1, 255, TAXIWAY_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM2, 0, 6 }, { 1, TERM3, 0, 6 }, { 1, 0, 0, 7 },
00487 { 2, TERM1, TERM1_block, 7 }, { 2, TAKEOFF, OUT_WAY_block, 7 }, { 2, 0, 0, 7 },
00488 { 3, TERM2, TERM2_block, 5 }, { 3, TAKEOFF, OUT_WAY_block, 5 }, { 3, 0, 0, 5 },
00489 { 4, TERM3, TERM3_block, 5 }, { 4, TAKEOFF, OUT_WAY_block, 5 }, { 4, 0, 0, 5 },
00490 { 5, 255, TAXIWAY_BUSY_block, 0 }, { 5, TERM2, TERM2_block, 3 }, { 5, TERM3, TERM3_block, 4 }, { 5, 0, 0, 6 },
00491 { 6, 255, TAXIWAY_BUSY_block, 0 }, { 6, TERM2, 0, 5 }, { 6, TERM3, 0, 5 }, { 6, HANGAR, 0, 1 }, { 6, 0, 0, 7 },
00492 { 7, 255, TAXIWAY_BUSY_block, 0 }, { 7, TERM1, TERM1_block, 2 }, { 7, TAKEOFF, OUT_WAY_block, 8 }, { 7, HELITAKEOFF, 0, 22 }, { 7, HANGAR, 0, 1 }, { 7, 0, 0, 6 },
00493 { 8, 0, OUT_WAY_block, 9 },
00494 { 9, 0, RUNWAY_IN_OUT_block, 10 },
00495
00496 { 10, TAKEOFF, RUNWAY_IN_OUT_block, 11 },
00497 { 11, STARTTAKEOFF, NOTHING_block, 12 },
00498 { 12, ENDTAKEOFF, NOTHING_block, 0 },
00499
00500 { 13, FLYING, NOTHING_block, 18 }, { 13, LANDING, 0, 14 }, { 13, HELILANDING, 0, 23 },
00501 { 14, LANDING, RUNWAY_IN_OUT_block, 15 },
00502 { 15, 0, RUNWAY_IN_OUT_block, 17 },
00503 { 16, 0, RUNWAY_IN_OUT_block, 17 },
00504 { 17, ENDLANDING, IN_WAY_block, 7 },
00505
00506 { 18, 0, NOTHING_block, 25 },
00507 { 19, 0, NOTHING_block, 20 },
00508 { 20, 0, NOTHING_block, 21 },
00509 { 21, 0, NOTHING_block, 13 },
00510
00511 { 22, HELITAKEOFF, NOTHING_block, 0 },
00512 { 23, HELILANDING, IN_WAY_block, 24 },
00513 { 24, HELIENDLANDING, IN_WAY_block, 17 },
00514 { 25, 0, NOTHING_block, 20},
00515 { 26, 0, NOTHING_block, 19},
00516 { 27, 0, NOTHING_block, 28},
00517 { 28, 0, NOTHING_block, 19},
00518 { 29, 0, NOTHING_block, 26},
00519 { MAX_ELEMENTS, 0, 0, 0 }
00520 };
00521
00522 static const TileIndexDiffC _airport_depots_metropolitan[] = { { 5, 0 } };
00523 static const byte _airport_terminal_metropolitan[] = { 1, 3 };
00524 static const byte _airport_entries_metropolitan[] = {20, 20, 20, 20};
00525 static const AirportFTAbuildup _airport_fta_metropolitan[] = {
00526 { 0, HANGAR, NOTHING_block, 1 },
00527 { 1, 255, TAXIWAY_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM2, 0, 6 }, { 1, TERM3, 0, 6 }, { 1, 0, 0, 7 },
00528 { 2, TERM1, TERM1_block, 7 },
00529 { 3, TERM2, TERM2_block, 5 },
00530 { 4, TERM3, TERM3_block, 5 },
00531 { 5, 255, TAXIWAY_BUSY_block, 0 }, { 5, TERM2, TERM2_block, 3 }, { 5, TERM3, TERM3_block, 4 }, { 5, 0, 0, 6 },
00532 { 6, 255, TAXIWAY_BUSY_block, 0 }, { 6, TERM2, 0, 5 }, { 6, TERM3, 0, 5 }, { 6, HANGAR, 0, 1 }, { 6, 0, 0, 7 },
00533 { 7, 255, TAXIWAY_BUSY_block, 0 }, { 7, TERM1, TERM1_block, 2 }, { 7, TAKEOFF, 0, 8 }, { 7, HELITAKEOFF, 0, 23 }, { 7, HANGAR, 0, 1 }, { 7, 0, 0, 6 },
00534 { 8, 0, OUT_WAY_block, 9 },
00535 { 9, 0, RUNWAY_OUT_block, 10 },
00536
00537 { 10, TAKEOFF, RUNWAY_OUT_block, 11 },
00538 { 11, STARTTAKEOFF, NOTHING_block, 12 },
00539 { 12, ENDTAKEOFF, NOTHING_block, 0 },
00540
00541 { 13, FLYING, NOTHING_block, 19 }, { 13, LANDING, 0, 14 }, { 13, HELILANDING, 0, 25 },
00542 { 14, LANDING, RUNWAY_IN_block, 15 },
00543 { 15, 0, RUNWAY_IN_block, 16 },
00544 { 16, 255, RUNWAY_IN_block, 0 }, { 16, ENDLANDING, IN_WAY_block, 17 },
00545 { 17, 255, RUNWAY_OUT_block, 0 }, { 17, ENDLANDING, IN_WAY_block, 18 },
00546 { 18, ENDLANDING, IN_WAY_block, 7 },
00547
00548 { 19, 0, NOTHING_block, 20 },
00549 { 20, 0, NOTHING_block, 21 },
00550 { 21, 0, NOTHING_block, 22 },
00551 { 22, 0, NOTHING_block, 13 },
00552
00553 { 23, 0, NOTHING_block, 24 },
00554 { 24, HELITAKEOFF, NOTHING_block, 0 },
00555 { 25, HELILANDING, IN_WAY_block, 26 },
00556 { 26, HELIENDLANDING, IN_WAY_block, 18 },
00557 { MAX_ELEMENTS, 0, 0, 0 }
00558 };
00559
00560 static const TileIndexDiffC _airport_depots_international[] = { { 0, 3 }, { 6, 1 } };
00561 static const byte _airport_terminal_international[] = { 2, 3, 3 };
00562 static const byte _airport_helipad_international[] = { 1, 2 };
00563 static const byte _airport_entries_international[] = { 37, 37, 37, 37 };
00564 static const AirportFTAbuildup _airport_fta_international[] = {
00565 { 0, HANGAR, NOTHING_block, 2 }, { 0, 255, TERM_GROUP1_block, 0 }, { 0, 255, TERM_GROUP2_ENTER1_block, 1 }, { 0, HELITAKEOFF, HELIPAD1_block, 2 }, { 0, 0, 0, 2 },
00566 { 1, HANGAR, NOTHING_block, 3 }, { 1, 255, HANGAR2_AREA_block, 1 }, { 1, HELITAKEOFF, HELIPAD2_block, 3 }, { 1, 0, 0, 3 },
00567 { 2, 255, AIRPORT_ENTRANCE_block, 0 }, { 2, HANGAR, 0, 0 }, { 2, TERM4, 0, 12 }, { 2, TERM5, 0, 12 }, { 2, TERM6, 0, 12 }, { 2, HELIPAD1, 0, 12 }, { 2, HELIPAD2, 0, 12 }, { 2, HELITAKEOFF, 0, 12 }, { 2, 0, 0, 23 },
00568 { 3, 255, HANGAR2_AREA_block, 0 }, { 3, HANGAR, 0, 1 }, { 3, 0, 0, 18 },
00569 { 4, TERM1, TERM1_block, 23 }, { 4, HANGAR, AIRPORT_ENTRANCE_block, 23 }, { 4, 0, 0, 23 },
00570 { 5, TERM2, TERM2_block, 24 }, { 5, HANGAR, AIRPORT_ENTRANCE_block, 24 }, { 5, 0, 0, 24 },
00571 { 6, TERM3, TERM3_block, 25 }, { 6, HANGAR, AIRPORT_ENTRANCE_block, 25 }, { 6, 0, 0, 25 },
00572 { 7, TERM4, TERM4_block, 16 }, { 7, HANGAR, HANGAR2_AREA_block, 16 }, { 7, 0, 0, 16 },
00573 { 8, TERM5, TERM5_block, 17 }, { 8, HANGAR, HANGAR2_AREA_block, 17 }, { 8, 0, 0, 17 },
00574 { 9, TERM6, TERM6_block, 18 }, { 9, HANGAR, HANGAR2_AREA_block, 18 }, { 9, 0, 0, 18 },
00575 { 10, HELIPAD1, HELIPAD1_block, 10 }, { 10, HANGAR, HANGAR2_AREA_block, 16 }, { 10, HELITAKEOFF, 0, 47 },
00576 { 11, HELIPAD2, HELIPAD2_block, 11 }, { 11, HANGAR, HANGAR2_AREA_block, 17 }, { 11, HELITAKEOFF, 0, 48 },
00577 { 12, 0, TERM_GROUP2_ENTER1_block, 13 },
00578 { 13, 0, TERM_GROUP2_ENTER1_block, 14 },
00579 { 14, 0, TERM_GROUP2_ENTER2_block, 15 },
00580 { 15, 0, TERM_GROUP2_ENTER2_block, 16 },
00581 { 16, 255, TERM_GROUP2_block, 0 }, { 16, TERM4, TERM4_block, 7 }, { 16, HELIPAD1, HELIPAD1_block, 10 }, { 16, HELITAKEOFF, HELIPAD1_block, 10 }, { 16, 0, 0, 17 },
00582 { 17, 255, TERM_GROUP2_block, 0 }, { 17, TERM5, TERM5_block, 8 }, { 17, TERM4, 0, 16 }, { 17, HELIPAD1, 0, 16 }, { 17, HELIPAD2, HELIPAD2_block, 11 }, { 17, HELITAKEOFF, HELIPAD2_block, 11 }, { 17, 0, 0, 18 },
00583 { 18, 255, TERM_GROUP2_block, 0 }, { 18, TERM6, TERM6_block, 9 }, { 18, TAKEOFF, 0, 19 }, { 18, HANGAR, HANGAR2_AREA_block, 3 }, { 18, 0, 0, 17 },
00584 { 19, 0, TERM_GROUP2_EXIT1_block, 20 },
00585 { 20, 0, TERM_GROUP2_EXIT1_block, 21 },
00586 { 21, 0, TERM_GROUP2_EXIT2_block, 22 },
00587 { 22, 0, TERM_GROUP2_EXIT2_block, 26 },
00588 { 23, 255, TERM_GROUP1_block, 0 }, { 23, TERM1, TERM1_block, 4 }, { 23, HANGAR, AIRPORT_ENTRANCE_block, 2 }, { 23, 0, 0, 24 },
00589 { 24, 255, TERM_GROUP1_block, 0 }, { 24, TERM2, TERM2_block, 5 }, { 24, TERM1, 0, 23 }, { 24, HANGAR, 0, 23 }, { 24, 0, 0, 25 },
00590 { 25, 255, TERM_GROUP1_block, 0 }, { 25, TERM3, TERM3_block, 6 }, { 25, TAKEOFF, 0, 26 }, { 25, 0, 0, 24 },
00591 { 26, 255, TAXIWAY_BUSY_block, 0 }, { 26, TAKEOFF, 0, 27 }, { 26, 0, 0, 25 },
00592 { 27, 0, OUT_WAY_block, 28 },
00593
00594 { 28, TAKEOFF, OUT_WAY_block, 29 },
00595 { 29, 0, RUNWAY_OUT_block, 30 },
00596 { 30, STARTTAKEOFF, NOTHING_block, 31 },
00597 { 31, ENDTAKEOFF, NOTHING_block, 0 },
00598
00599 { 32, FLYING, NOTHING_block, 37 }, { 32, LANDING, 0, 33 }, { 32, HELILANDING, 0, 41 },
00600 { 33, LANDING, RUNWAY_IN_block, 34 },
00601 { 34, 0, RUNWAY_IN_block, 35 },
00602 { 35, 0, RUNWAY_IN_block, 36 },
00603 { 36, ENDLANDING, IN_WAY_block, 36 }, { 36, 255, TERM_GROUP1_block, 0 }, { 36, 255, TERM_GROUP2_ENTER1_block, 1 }, { 36, TERM4, 0, 12 }, { 36, TERM5, 0, 12 }, { 36, TERM6, 0, 12 }, { 36, 0, 0, 2 },
00604
00605 { 37, 0, NOTHING_block, 38 },
00606 { 38, 0, NOTHING_block, 39 },
00607 { 39, 0, NOTHING_block, 40 },
00608 { 40, 0, NOTHING_block, 32 },
00609
00610 { 41, HELILANDING, PRE_HELIPAD_block, 42 },
00611 { 42, HELIENDLANDING, PRE_HELIPAD_block, 42 }, { 42, HELIPAD1, 0, 43 }, { 42, HELIPAD2, 0, 44 }, { 42, HANGAR, 0, 49 },
00612 { 43, 0, NOTHING_block, 45 },
00613 { 44, 0, NOTHING_block, 46 },
00614
00615 { 45, 255, NOTHING_block, 0 }, { 45, HELIPAD1, HELIPAD1_block, 10 },
00616 { 46, 255, NOTHING_block, 0 }, { 46, HELIPAD2, HELIPAD2_block, 11 },
00617
00618 { 47, HELITAKEOFF, NOTHING_block, 0 },
00619 { 48, HELITAKEOFF, NOTHING_block, 0 },
00620 { 49, 0, HANGAR2_AREA_block, 50 },
00621 { 50, 0, HANGAR2_AREA_block, 3 },
00622 { MAX_ELEMENTS, 0, 0, 0 }
00623 };
00624
00625
00626 static const TileIndexDiffC _airport_depots_intercontinental[] = { { 0, 5 }, { 8, 4 } };
00627 static const byte _airport_terminal_intercontinental[] = { 2, 4, 4 };
00628 static const byte _airport_helipad_intercontinental[] = { 1, 2 };
00629 static const byte _airport_entries_intercontinental[] = { 43, 43, 43, 43 };
00630 static const AirportFTAbuildup _airport_fta_intercontinental[] = {
00631 { 0, HANGAR, NOTHING_block, 2 }, { 0, 255, HANGAR1_AREA_block | TERM_GROUP1_block, 0 }, { 0, 255, HANGAR1_AREA_block | TERM_GROUP1_block, 1 }, { 0, TAKEOFF, HANGAR1_AREA_block | TERM_GROUP1_block, 2 }, { 0, 0, 0, 2 },
00632 { 1, HANGAR, NOTHING_block, 3 }, { 1, 255, HANGAR2_AREA_block, 1 }, { 1, 255, HANGAR2_AREA_block, 0 }, { 1, 0, 0, 3 },
00633 { 2, 255, HANGAR1_AREA_block, 0 }, { 2, 255, TERM_GROUP1_block, 0 }, { 2, 255, TERM_GROUP1_block, 1 }, { 2, HANGAR, 0, 0 }, { 2, TAKEOFF, TERM_GROUP1_block, 27 }, { 2, TERM5, 0, 26 }, { 2, TERM6, 0, 26 }, { 2, TERM7, 0, 26 }, { 2, TERM8, 0, 26 }, { 2, HELIPAD1, 0, 26 }, { 2, HELIPAD2, 0, 26 }, { 2, HELITAKEOFF, 0, 74 }, { 2, 0, 0, 27 },
00634 { 3, 255, HANGAR2_AREA_block, 0 }, { 3, HANGAR, 0, 1 }, { 3, HELITAKEOFF, 0, 75 }, { 3, 0, 0, 20 },
00635 { 4, TERM1, TERM1_block, 26 }, { 4, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 26 }, { 4, 0, 0, 26 },
00636 { 5, TERM2, TERM2_block, 27 }, { 5, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 27 }, { 5, 0, 0, 27 },
00637 { 6, TERM3, TERM3_block, 28 }, { 6, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 28 }, { 6, 0, 0, 28 },
00638 { 7, TERM4, TERM4_block, 29 }, { 7, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 29 }, { 7, 0, 0, 29 },
00639 { 8, TERM5, TERM5_block, 18 }, { 8, HANGAR, HANGAR2_AREA_block, 18 }, { 8, 0, 0, 18 },
00640 { 9, TERM6, TERM6_block, 19 }, { 9, HANGAR, HANGAR2_AREA_block, 19 }, { 9, 0, 0, 19 },
00641 { 10, TERM7, TERM7_block, 20 }, { 10, HANGAR, HANGAR2_AREA_block, 20 }, { 10, 0, 0, 20 },
00642 { 11, TERM8, TERM8_block, 21 }, { 11, HANGAR, HANGAR2_AREA_block, 21 }, { 11, 0, 0, 21 },
00643 { 12, HELIPAD1, HELIPAD1_block, 12 }, { 12, HANGAR, 0, 70 }, { 12, HELITAKEOFF, 0, 72 },
00644 { 13, HELIPAD2, HELIPAD2_block, 13 }, { 13, HANGAR, 0, 71 }, { 13, HELITAKEOFF, 0, 73 },
00645 { 14, 0, TERM_GROUP2_ENTER1_block, 15 },
00646 { 15, 0, TERM_GROUP2_ENTER1_block, 16 },
00647 { 16, 0, TERM_GROUP2_ENTER2_block, 17 },
00648 { 17, 0, TERM_GROUP2_ENTER2_block, 18 },
00649 { 18, 255, TERM_GROUP2_block, 0 }, { 18, TERM5, TERM5_block, 8 }, { 18, TAKEOFF, 0, 19 }, { 18, HELITAKEOFF, HELIPAD1_block, 19 }, { 18, 0, TERM_GROUP2_EXIT1_block, 19 },
00650 { 19, 255, TERM_GROUP2_block, 0 }, { 19, TERM6, TERM6_block, 9 }, { 19, TERM5, 0, 18 }, { 19, TAKEOFF, 0, 57 }, { 19, HELITAKEOFF, HELIPAD1_block, 20 }, { 19, 0, TERM_GROUP2_EXIT1_block, 20 },
00651 { 20, 255, TERM_GROUP2_block, 0 }, { 20, TERM7, TERM7_block, 10 }, { 20, TERM5, 0, 19 }, { 20, TERM6, 0, 19 }, { 20, HANGAR, HANGAR2_AREA_block, 3 }, { 20, TAKEOFF, 0, 19 }, { 20, 0, TERM_GROUP2_EXIT1_block, 21 },
00652 { 21, 255, TERM_GROUP2_block, 0 }, { 21, TERM8, TERM8_block, 11 }, { 21, HANGAR, HANGAR2_AREA_block, 20 }, { 21, TERM5, 0, 20 }, { 21, TERM6, 0, 20 }, { 21, TERM7, 0, 20 }, { 21, TAKEOFF, 0, 20 }, { 21, 0, TERM_GROUP2_EXIT1_block, 22 },
00653 { 22, 255, TERM_GROUP2_block, 0 }, { 22, HANGAR, 0, 21 }, { 22, TERM5, 0, 21 }, { 22, TERM6, 0, 21 }, { 22, TERM7, 0, 21 }, { 22, TERM8, 0, 21 }, { 22, TAKEOFF, 0, 21 }, { 22, 0, 0, 23 },
00654 { 23, 0, TERM_GROUP2_EXIT1_block, 70 },
00655 { 24, 0, TERM_GROUP2_EXIT2_block, 25 },
00656 { 25, 255, TERM_GROUP2_EXIT2_block, 0 }, { 25, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 29 }, { 25, 0, 0, 29 },
00657 { 26, 255, TERM_GROUP1_block, 0 }, { 26, TERM1, TERM1_block, 4 }, { 26, HANGAR, HANGAR1_AREA_block, 27 }, { 26, TERM5, TERM_GROUP2_ENTER1_block, 14 }, { 26, TERM6, TERM_GROUP2_ENTER1_block, 14 }, { 26, TERM7, TERM_GROUP2_ENTER1_block, 14 }, { 26, TERM8, TERM_GROUP2_ENTER1_block, 14 }, { 26, HELIPAD1, TERM_GROUP2_ENTER1_block, 14 }, { 26, HELIPAD2, TERM_GROUP2_ENTER1_block, 14 }, { 26, HELITAKEOFF, TERM_GROUP2_ENTER1_block, 14 }, { 26, 0, 0, 27 },
00658 { 27, 255, TERM_GROUP1_block, 0 }, { 27, TERM2, TERM2_block, 5 }, { 27, HANGAR, HANGAR1_AREA_block, 2 }, { 27, TERM1, 0, 26 }, { 27, TERM5, 0, 26 }, { 27, TERM6, 0, 26 }, { 27, TERM7, 0, 26 }, { 27, TERM8, 0, 26 }, { 27, HELIPAD1, 0, 14 }, { 27, HELIPAD2, 0, 14 }, { 27, 0, 0, 28 },
00659 { 28, 255, TERM_GROUP1_block, 0 }, { 28, TERM3, TERM3_block, 6 }, { 28, HANGAR, HANGAR1_AREA_block, 27 }, { 28, TERM1, 0, 27 }, { 28, TERM2, 0, 27 }, { 28, TERM4, 0, 29 }, { 28, TERM5, 0, 14 }, { 28, TERM6, 0, 14 }, { 28, TERM7, 0, 14 }, { 28, TERM8, 0, 14 }, { 28, HELIPAD1, 0, 14 }, { 28, HELIPAD2, 0, 14 }, { 28, 0, 0, 29 },
00660 { 29, 255, TERM_GROUP1_block, 0 }, { 29, TERM4, TERM4_block, 7 }, { 29, HANGAR, HANGAR1_AREA_block, 27 }, { 29, TAKEOFF, 0, 30 }, { 29, 0, 0, 28 },
00661 { 30, 0, OUT_WAY_block2, 31 },
00662 { 31, 0, OUT_WAY_block, 32 },
00663
00664 { 32, TAKEOFF, RUNWAY_OUT_block, 33 },
00665 { 33, 0, RUNWAY_OUT_block, 34 },
00666 { 34, STARTTAKEOFF, NOTHING_block, 35 },
00667 { 35, ENDTAKEOFF, NOTHING_block, 0 },
00668
00669 { 36, 0, 0, 0 },
00670 { 37, LANDING, RUNWAY_IN_block, 38 },
00671 { 38, 0, RUNWAY_IN_block, 39 },
00672 { 39, 0, RUNWAY_IN_block, 40 },
00673 { 40, ENDLANDING, RUNWAY_IN_block, 41 },
00674 { 41, 0, IN_WAY_block, 42 },
00675 { 42, 255, IN_WAY_block, 0 }, { 42, 255, TERM_GROUP1_block, 0 }, { 42, 255, TERM_GROUP1_block, 1 }, { 42, HANGAR, 0, 2 }, { 42, 0, 0, 26 },
00676
00677 { 43, 0, 0, 44 },
00678 { 44, FLYING, 0, 45 }, { 44, HELILANDING, 0, 47 }, { 44, LANDING, 0, 69 }, { 44, 0, 0, 45 },
00679 { 45, 0, 0, 46 },
00680 { 46, FLYING, 0, 43 }, { 46, LANDING, 0, 76 }, { 46, 0, 0, 43 },
00681
00682 { 47, HELILANDING, PRE_HELIPAD_block, 48 },
00683 { 48, HELIENDLANDING, PRE_HELIPAD_block, 48 }, { 48, HELIPAD1, 0, 49 }, { 48, HELIPAD2, 0, 50 }, { 48, HANGAR, 0, 55 },
00684 { 49, 0, NOTHING_block, 51 },
00685 { 50, 0, NOTHING_block, 52 },
00686
00687 { 51, 255, NOTHING_block, 0 }, { 51, HELIPAD1, HELIPAD1_block, 12 }, { 51, HANGAR, 0, 55 }, { 51, 0, 0, 12 },
00688 { 52, 255, NOTHING_block, 0 }, { 52, HELIPAD2, HELIPAD2_block, 13 }, { 52, HANGAR, 0, 55 }, { 52, 0, 0, 13 },
00689
00690 { 53, HELITAKEOFF, NOTHING_block, 0 },
00691 { 54, HELITAKEOFF, NOTHING_block, 0 },
00692 { 55, 0, HANGAR2_AREA_block, 56 },
00693 { 56, 0, HANGAR2_AREA_block, 3 },
00694
00695 { 57, 255, OUT_WAY2_block, 0 }, { 57, TAKEOFF, 0, 58 }, { 57, 0, 0, 58 },
00696 { 58, 0, OUT_WAY2_block, 59 },
00697 { 59, TAKEOFF, RUNWAY_OUT2_block, 60 },
00698 { 60, 0, RUNWAY_OUT2_block, 61 },
00699 { 61, STARTTAKEOFF, NOTHING_block, 62 },
00700 { 62, ENDTAKEOFF, NOTHING_block, 0 },
00701
00702 { 63, LANDING, RUNWAY_IN2_block, 64 },
00703 { 64, 0, RUNWAY_IN2_block, 65 },
00704 { 65, 0, RUNWAY_IN2_block, 66 },
00705 { 66, ENDLANDING, RUNWAY_IN2_block, 0 }, { 66, 255, 0, 1 }, { 66, 255, 0, 0 }, { 66, 0, 0, 67 },
00706 { 67, 0, IN_WAY2_block, 68 },
00707 { 68, 255, IN_WAY2_block, 0 }, { 68, 255, TERM_GROUP2_block, 1 }, { 68, 255, TERM_GROUP1_block, 0 }, { 68, HANGAR, HANGAR2_AREA_block, 22 }, { 68, 0, 0, 22 },
00708 { 69, 255, RUNWAY_IN2_block, 0 }, { 69, 0, RUNWAY_IN2_block, 63 },
00709 { 70, 255, TERM_GROUP2_EXIT1_block, 0 }, { 70, HELIPAD1, HELIPAD1_block, 12 }, { 70, HELITAKEOFF, HELIPAD1_block, 12 }, { 70, 0, 0, 71 },
00710 { 71, 255, TERM_GROUP2_EXIT1_block, 0 }, { 71, HELIPAD2, HELIPAD2_block, 13 }, { 71, HELITAKEOFF, HELIPAD1_block, 12 }, { 71, 0, 0, 24 },
00711 { 72, 0, HELIPAD1_block, 53 },
00712 { 73, 0, HELIPAD2_block, 54 },
00713 { 74, HELITAKEOFF, NOTHING_block, 0 },
00714 { 75, HELITAKEOFF, NOTHING_block, 0 },
00715 { 76, 255, RUNWAY_IN_block, 0 }, { 76, 0, RUNWAY_IN_block, 37 },
00716 { MAX_ELEMENTS, 0, 0, 0 }
00717 };
00718
00719
00720
00721 static const byte _airport_helipad_heliport_oilrig[] = { 1, 1 };
00722 static const byte _airport_entries_heliport_oilrig[] = { 7, 7, 7, 7 };
00723 static const AirportFTAbuildup _airport_fta_heliport_oilrig[] = {
00724 { 0, HELIPAD1, HELIPAD1_block, 1 },
00725 { 1, HELITAKEOFF, NOTHING_block, 0 },
00726 { 2, 255, AIRPORT_BUSY_block, 0 }, { 2, HELILANDING, 0, 3 }, { 2, HELITAKEOFF, 0, 1 },
00727 { 3, HELILANDING, AIRPORT_BUSY_block, 4 },
00728 { 4, HELIENDLANDING, AIRPORT_BUSY_block, 4 }, { 4, HELIPAD1, HELIPAD1_block, 0 }, { 4, HELITAKEOFF, 0, 2 },
00729
00730 { 5, 0, NOTHING_block, 6 },
00731 { 6, 0, NOTHING_block, 7 },
00732 { 7, 0, NOTHING_block, 8 },
00733 { 8, FLYING, NOTHING_block, 5 }, { 8, HELILANDING, HELIPAD1_block, 2 },
00734 { MAX_ELEMENTS, 0, 0, 0 }
00735 };
00736
00737
00738 static const TileIndexDiffC _airport_depots_helidepot[] = { { 1, 0 } };
00739 static const byte _airport_helipad_helidepot[] = { 1, 1 };
00740 static const byte _airport_entries_helidepot[] = { 4, 4, 4, 4 };
00741 static const AirportFTAbuildup _airport_fta_helidepot[] = {
00742 { 0, HANGAR, NOTHING_block, 1 },
00743 { 1, 255, HANGAR2_AREA_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, HELIPAD1, HELIPAD1_block, 14 }, { 1, HELITAKEOFF, 0, 15 }, { 1, 0, 0, 0 },
00744 { 2, FLYING, NOTHING_block, 3 }, { 2, HELILANDING, PRE_HELIPAD_block, 7 }, { 2, HANGAR, 0, 12 }, { 2, HELITAKEOFF, NOTHING_block, 16 },
00745
00746 { 3, 0, NOTHING_block, 4 },
00747 { 4, 0, NOTHING_block, 5 },
00748 { 5, 0, NOTHING_block, 6 },
00749 { 6, 0, NOTHING_block, 2 },
00750
00751 { 7, HELILANDING, PRE_HELIPAD_block, 8 },
00752 { 8, HELIENDLANDING, PRE_HELIPAD_block, 8 }, { 8, HELIPAD1, 0, 9 }, { 8, HANGAR, 0, 12 }, { 8, 0, 0, 2 },
00753 { 9, 0, NOTHING_block, 10 },
00754
00755 { 10, 255, NOTHING_block, 10 }, { 10, HELIPAD1, HELIPAD1_block, 14 }, { 10, HANGAR, 0, 1 }, { 10, 0, 0, 14 },
00756
00757 { 11, HELITAKEOFF, NOTHING_block, 0 },
00758 { 12, 0, HANGAR2_AREA_block, 13 },
00759 { 13, 0, HANGAR2_AREA_block, 1 },
00760 { 14, HELIPAD1, HELIPAD1_block, 14 }, { 14, HANGAR, 0, 1 }, { 14, HELITAKEOFF, 0, 17 },
00761 { 15, HELITAKEOFF, NOTHING_block, 0 },
00762 { 16, HELITAKEOFF, 0, 14 },
00763 { 17, 0, NOTHING_block, 11 },
00764 { MAX_ELEMENTS, 0, 0, 0 }
00765 };
00766
00767
00768 static const TileIndexDiffC _airport_depots_helistation[] = { { 0, 0 } };
00769 static const byte _airport_helipad_helistation[] = { 1, 3 };
00770 static const byte _airport_entries_helistation[] = { 25, 25, 25, 25 };
00771 static const AirportFTAbuildup _airport_fta_helistation[] = {
00772 { 0, HANGAR, NOTHING_block, 8 }, { 0, HELIPAD1, 0, 1 }, { 0, HELIPAD2, 0, 1 }, { 0, HELIPAD3, 0, 1 }, { 0, HELITAKEOFF, 0, 1 }, { 0, 0, 0, 0 },
00773 { 1, 255, HANGAR2_AREA_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, HELITAKEOFF, 0, 3 }, { 1, 0, 0, 4 },
00774
00775 { 2, FLYING, NOTHING_block, 28 }, { 2, HELILANDING, 0, 15 }, { 2, 0, 0, 28 },
00776
00777 { 3, HELITAKEOFF, NOTHING_block, 0 },
00778 { 4, 255, TAXIWAY_BUSY_block, 0 }, { 4, HANGAR, HANGAR2_AREA_block, 1 }, { 4, HELITAKEOFF, 0, 1 }, { 4, 0, 0, 5 },
00779 { 5, 255, TAXIWAY_BUSY_block, 0 }, { 5, HELIPAD1, HELIPAD1_block, 6 }, { 5, HELIPAD2, HELIPAD2_block, 7 }, { 5, HELIPAD3, HELIPAD3_block, 8 }, { 5, 0, 0, 4 },
00780 { 6, HELIPAD1, HELIPAD1_block, 5 }, { 6, HANGAR, HANGAR2_AREA_block, 5 }, { 6, HELITAKEOFF, 0, 9 }, { 6, 0, 0, 6 },
00781 { 7, HELIPAD2, HELIPAD2_block, 5 }, { 7, HANGAR, HANGAR2_AREA_block, 5 }, { 7, HELITAKEOFF, 0, 10 }, { 7, 0, 0, 7 },
00782 { 8, HELIPAD3, HELIPAD3_block, 5 }, { 8, HANGAR, HANGAR2_AREA_block, 5 }, { 8, HELITAKEOFF, 0, 11 }, { 8, 0, 0, 8 },
00783 { 9, 0, HELIPAD1_block, 12 },
00784 { 10, 0, HELIPAD2_block, 13 },
00785 { 11, 0, HELIPAD3_block, 14 },
00786 { 12, HELITAKEOFF, NOTHING_block, 0 },
00787 { 13, HELITAKEOFF, NOTHING_block, 0 },
00788 { 14, HELITAKEOFF, NOTHING_block, 0 },
00789
00790 { 15, HELILANDING, PRE_HELIPAD_block, 16 },
00791 { 16, HELIENDLANDING, PRE_HELIPAD_block, 16 }, { 16, HELIPAD1, 0, 17 }, { 16, HELIPAD2, 0, 18 }, { 16, HELIPAD3, 0, 19 }, { 16, HANGAR, 0, 23 },
00792 { 17, 0, NOTHING_block, 20 },
00793 { 18, 0, NOTHING_block, 21 },
00794 { 19, 0, NOTHING_block, 22 },
00795
00796 { 20, 255, NOTHING_block, 0 }, { 20, HELIPAD1, HELIPAD1_block, 6 }, { 20, HANGAR, 0, 23 }, { 20, 0, 0, 6 },
00797 { 21, 255, NOTHING_block, 0 }, { 21, HELIPAD2, HELIPAD2_block, 7 }, { 21, HANGAR, 0, 23 }, { 21, 0, 0, 7 },
00798 { 22, 255, NOTHING_block, 0 }, { 22, HELIPAD3, HELIPAD3_block, 8 }, { 22, HANGAR, 0, 23 }, { 22, 0, 0, 8 },
00799 { 23, 0, HANGAR2_AREA_block, 24 },
00800 { 24, 0, HANGAR2_AREA_block, 1 },
00801 { 25, 0, NOTHING_block, 26 },
00802 { 26, 0, NOTHING_block, 27 },
00803 { 27, 0, NOTHING_block, 2 },
00804 { 28, 0, NOTHING_block, 29 },
00805 { 29, 0, NOTHING_block, 30 },
00806 { 30, 0, NOTHING_block, 31 },
00807 { 31, 0, NOTHING_block, 32 },
00808 { 32, 0, NOTHING_block, 25 },
00809 { MAX_ELEMENTS, 0, 0, 0 }
00810 };
00811
00812 #endif