00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00110
00111
00112
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283 enum ENavaidTypes
00284 {
00285 NAVAID_TYPE_UNKNOWN = 0,
00286 NAVAID_TYPE_VOR = (1 << 0),
00287 NAVAID_TYPE_TACAN = (1 << 2),
00288 NAVAID_TYPE_NDB = (1 << 3),
00289 NAVAID_TYPE_DME = (1 << 4),
00290 NAVAID_TYPE_LOCATOR = (1 << 5),
00291 NAVAID_TYPE_LOCALIZER = (1 << 6),
00292 NAVAID_TYPE_GS = (1 << 7),
00293 NAVAID_TYPE_BACKCOURSE = (1 << 8),
00294 NAVAID_TYPE_INNERMARKER = (1 << 9),
00295 NAVAID_TYPE_MIDDLEMARKER = (1 << 10),
00296 NAVAID_TYPE_OUTERMARKER = (1 << 11),
00297 NAVAID_TYPE_WAYPOINT = (1 << 12),
00298 NAVAID_TYPE_VOT = (1 << 13),
00299 NAVAID_TYPE_VORTAC = (NAVAID_TYPE_VOR | NAVAID_TYPE_TACAN),
00300 NAVAID_TYPE_VORDME = (NAVAID_TYPE_VOR | NAVAID_TYPE_DME),
00301 NAVAID_TYPE_NDBDME = (NAVAID_TYPE_NDB | NAVAID_TYPE_DME),
00302 NAVAID_TYPE_ILSDME = (NAVAID_TYPE_LOCALIZER | NAVAID_TYPE_DME)
00303 };
00304
00305 enum ENavaidClasses
00306 {
00307 NAVAID_CLASS_UNKNOWN = 0,
00308 NAVAID_CLASS_HIGH = 1,
00309 NAVAID_CLASS_LOW = 2,
00310 NAVAID_CLASS_TERMINAL = 3,
00311 NAVAID_CLASS_MEDIUMHOMING = 4,
00312 NAVAID_CLASS_HIGHHOMING = 5,
00313 NAVAID_CLASS_ANTICIPATED = 6
00314 };
00315
00316 enum ENavaidUsage
00317 {
00318 NAVAID_USAGE_UNKNOWN = 0,
00319 NAVAID_USAGE_HIGH = 1,
00320 NAVAID_USAGE_LOW = 2,
00321 NAVAID_USAGE_BOTH = 3,
00322 NAVAID_USAGE_TERMINAL = 4,
00323 NAVAID_USAGE_RNAV = 5
00324 };
00325
00326 enum ECommTypes
00327 {
00328 COMM_UNKNOWN= 0,
00329 COMM_TOWER = (1 << 0),
00330 COMM_CLEARANCEDELIVERY = (1 << 1),
00331 COMM_GROUNDCONTROL = (1 << 2),
00332 COMM_APPROACHCONTROL = (1 << 3),
00333 COMM_DEPARTURECONTROL = (1 << 4),
00334 COMM_FLIGHTSERVICESTATION = (1 << 5),
00335 COMM_CENTER = (1 << 6),
00336 COMM_ATIS = (1 << 7),
00337 COMM_CTAF = (1 << 8),
00338 COMM_MULTICOM = (1 << 9),
00339 COMM_EMERGENCY = (1 << 10)
00340 };
00341
00342 enum ENavWaypointUsage
00343 {
00344 WAYPOINT_USAGE_UNKNOWN = 0,
00345 WAYPOINT_USAGE_HIGH = 1,
00346 WAYPOINT_USAGE_LOW = 2,
00347 WAYPOINT_USAGE_BOTH = 3,
00348 WAYPOINT_USAGE_TERMINAL = 4,
00349 WAYPOINT_USAGE_HIGHALTRNAV = 5
00350 };
00351
00352 enum ENavWaypointTypes
00353 {
00354 WAYPOINT_TYPE_UNNAMED = (1 << 0),
00355 WAYPOINT_TYPE_NDB = (1 << 1),
00356 WAYPOINT_TYPE_NAMED = (1 << 2),
00357 WAYPOINT_TYPE_OFFROUTE = (1 << 3)
00358 };
00359
00360 enum ETunedTypes
00361 {
00362 TUNED_NONE = 0,
00363 TUNED_NAVAID = (1 << 0),
00364 TUNED_ILS = (1 << 1),
00365 TUNED_COMM = (1 << 2),
00366 };
00367
00368 enum EAirportTypes
00369 {
00370 AIRPORT_TYPE_UNKNOWN = 0,
00371 AIRPORT_TYPE_AIRPORT = (1 << 1),
00372 AIRPORT_TYPE_HELIPORT = (1 << 2),
00373 AIRPORT_TYPE_SEAPLANEBASE = (1 << 3),
00374 AIRPORT_TYPE_BALLOONPORT = (1 << 4),
00375 AIRPORT_TYPE_GLIDERPORT = (1 << 5),
00376 AIRPORT_TYPE_STOLPORT = (1 << 6),
00377 AIRPORT_TYPE_ULTRALIGHT = (1 << 7)
00378 };
00379
00380 enum EAirportOwnership
00381 {
00382 AIRPORT_OWNERSHIP_UNKNOWN = 0,
00383 AIRPORT_OWNERSHIP_PUBLIC = 1,
00384 AIRPORT_OWNERSHIP_PRIVATE = 2,
00385 AIRPORT_OWNERSHIP_AIRFORCE = 3,
00386 AIRPORT_OWNERSHIP_NAVY = 4,
00387 AIRPORT_OWNERSHIP_ARMY = 5
00388 };
00389
00390 enum EAirportUsage
00391 {
00392 AIRPORT_USAGE_UNKNOWN = 0,
00393 AIRPORT_USAGE_PUBLIC = 1,
00394 AIRPORT_USAGE_PRIVATE = 2
00395 };
00396
00397 enum EAirportFrameService
00398 {
00399 AIRPORT_FRAMESERVICE_UNKNOWN = 0,
00400 AIRPORT_FRAMESERVICE_NONE = 1,
00401 AIRPORT_FRAMESERVICE_MINOR = 2,
00402 AIRPORT_FRAMESERVICE_MAJOR = 3
00403 };
00404
00405 enum EAirportEngineService
00406 {
00407 AIRPORT_ENGINESERVICE_UNKNOWN = 0,
00408 AIRPORT_ENGINESERVICE_NONE = 0,
00409 AIRPORT_ENGINESERVICE_MINOR = 1,
00410 AIRPORT_ENGINESERVICE_MAJOR = 2
00411 };
00412
00413 enum EAirportOxygen
00414 {
00415 AIRPORT_OXYGEN_UNKNOWN = 0,
00416 AIRPORT_OXYGEN_NONE = 1,
00417 AIRPORT_OXYGEN_LOW = 2,
00418 AIRPORT_OXYGEN_HIGH = 3,
00419 AIRPORT_OXYGEN_HIGHLOW = 4
00420 };
00421
00422 enum EAirportLensColor
00423 {
00424 AIRPORT_BEACON_UNKNOWN = 0,
00425 AIRPORT_BEACON_NONE = 1,
00426 AIRPORT_BEACON_CLEARGREEN = 2,
00427 AIRPORT_BEACON_CLEARYELLOW = 3,
00428 AIRPORT_BEACON_CLEARGREENYELLOW = 4,
00429 AIRPORT_BEACON_SPLITCLEARGREEN = 5,
00430 AIRPORT_BEACON_YELLOW = 6,
00431 AIRPORT_BEACON_GREEN = 7
00432 };
00433
00434 enum EAirportRegions
00435 {
00436 AIRPORT_REGION_UNKNOWN = 0,
00437 AIRPORT_REGION_FAAALASKA = 1,
00438 AIRPORT_REGION_FAACENTRAL = 2,
00439 AIRPORT_REGION_FAAEASTERN = 3,
00440 AIRPORT_REGION_FAAGREATLAKES = 4,
00441 AIRPORT_REGION_FAAINTERNATIONAL = 5,
00442 AIRPORT_REGION_FAANEWENGLAND = 6,
00443 AIRPORT_REGION_FAANORTHWESTMOUNTAIN = 7,
00444 AIRPORT_REGION_FAASOUTHERN = 8,
00445 AIRPORT_REGION_FAASOUTHWEST = 9,
00446 AIRPORT_REGION_FAAWESTERNPACIFIC = 10
00447 };
00448
00449 enum EAirportFuelTypes
00450 {
00451 AIRPORT_FUEL_80 = (1 << 1),
00452 AIRPORT_FUEL_100 = (1 << 2),
00453 AIRPORT_FUEL_100LL = (1 << 3),
00454 AIRPORT_FUEL_115 = (1 << 4),
00455 AIRPORT_FUEL_JETA = (1 << 5),
00456 AIRPORT_FUEL_JETA1 = (1 << 6),
00457 AIRPORT_FUEL_JETA1PLUS = (1 << 7),
00458 AIRPORT_FUEL_JETB = (1 << 8),
00459 AIRPORT_FUEL_JETBPLUS = (1 << 9),
00460 AIRPORT_FUEL_AUTOMOTIVE = (1 << 10)
00461 };
00462
00463 enum EAirportBasedAircraft
00464 {
00465 AIRPORT_AIRCRAFT_SINGLEENGINE = (1 << 1),
00466 AIRPORT_AIRCRAFT_MULTIENGINE = (1 << 2),
00467 AIRPORT_AIRCRAFT_JETENGINE = (1 << 3),
00468 AIRPORT_AIRCRAFT_HELICOPTER = (1 << 4),
00469 AIRPORT_AIRCRAFT_GLIDERS = (1 << 5),
00470 AIRPORT_AIRCRAFT_MILITARY = (1 << 6),
00471 AIRPORT_AIRCRAFT_ULTRALIGHT = (1 << 7)
00472 };
00473
00474 enum EAirportScheduleMonth
00475 {
00476 AIRPORT_MONTH_JANUARY = (1 << 1),
00477 AIRPORT_MONTH_FEBRUARY = ( 1 << 2),
00478 AIRPORT_MONTH_MARCH = (1 << 3),
00479 AIRPORT_MONTH_APRIL = (1 << 4),
00480 AIRPORT_MONTH_MAY = (1 << 5),
00481 AIRPORT_MONTH_JUNE = (1 << 6),
00482 AIRPORT_MONTH_JULY = (1 << 7),
00483 AIRPORT_MONTH_AUGUST = (1 << 8),
00484 AIRPORT_MONTH_SEPTEMBER = (1 << 9),
00485 AIRPORT_MONTH_OCTOBER = (1 << 10),
00486 AIRPORT_MONTH_NOVEMBER = (1 << 11),
00487 AIRPORT_MONTH_DECEMBER = (1 << 12)
00488 };
00489
00490 enum EAirportScheduleDay
00491 {
00492 AIRPORT_DAY_SUNDAY = (1 << 16),
00493 AIRPORT_DAY_MONDAY = (1 << 17),
00494 AIRPORT_DAY_TUESDAY = (1 << 18),
00495 AIRPORT_DAY_WEDNESDAY = (1 << 19),
00496 AIRPORT_DAY_THURSDAY = (1 << 20),
00497 AIRPORT_DAY_FRIDAY = (1 << 21),
00498 AIRPORT_DAY_SATURDAY = (1 << 22)
00499 };
00500
00501 enum EAirportScheduleRange
00502 {
00503 AIRPORT_SCHEDULE_ALLDAY = (1 << 28),
00504 AIRPORT_SCHEDULE_SPECIFICTIME = (1 << 29),
00505 AIRPORT_SCHEDULE_SUNRISE = (1 << 30),
00506 AIRPORT_SCHEDULE_SUNSET = (1 << 31)
00507 };
00508
00509 enum EAirportLightingControl
00510 {
00511 AIRPORT_LIGHTING_24HOURS = (1 << 1),
00512 AIRPORT_LIGHTING_ATCCONTROLLED = (1 << 2),
00513 AIRPORT_LIGHTING_RADIOCONTROLLED = (1 << 3),
00514 AIRPORT_LIGHTING_RADIOREQUIRED = (1 << 4),
00515 AIRPORT_LIGHTING_PHONEREQUIRED = (1 << 5)
00516 };
00517
00518 enum EAirportAirspace
00519 {
00520 AIRPORT_AIRSPACE_A = 1,
00521 AIRPORT_AIRSPACE_B = 2,
00522 AIRPORT_AIRSPACE_C = 3,
00523 AIRPORT_AIRSPACE_D = 4,
00524 AIRPORT_AIRSPACE_E = 5,
00525 AIRPORT_AIRSPACE_G = 6
00526 };
00527
00528
00529
00530
00531
00532
00533
00534
00535 enum EMouseCursorStyle
00536 {
00537 CURSOR_ARROW = 0,
00538 CURSOR_CROSS = 1,
00539 CURSOR_FINGER = 2,
00540 CURSOR_HAND = 3,
00541 CURSOR_MOVE = 4,
00542 CURSOR_SIZE_H = 5,
00543 CURSOR_SIZE_HV = 6,
00544 CURSOR_SIZE_V = 7,
00545 CURSOR_FLIP_DOWN = 8,
00546 CURSOR_FLIP_UP = 9,
00547 CURSOR_FLIP_LEFT = 10,
00548 CURSOR_FLIP_RIGHT = 11,
00549 CURSOR_TURN_LEFT = 12,
00550 CURSOR_TURN_RIGHT = 13,
00551 CURSOR_SLIDE = 14
00552 };
00553
00554 enum EMouseButton
00555 {
00556 MOUSE_BUTTON_LEFT = (1 << 0),
00557 MOUSE_BUTTON_RIGHT = (1 << 1),
00558 MOUSE_BUTTON_MIDDLE = (1 << 2)
00559 };
00560
00561 enum EWindowRegion
00562 {
00563 IN_WINDOW_CONTENT = 1,
00564 IN_WINDOW_DRAG = 2,
00565 IN_WINDOW_CLOSE = 3,
00566 IN_WINDOW_SIZE = 4,
00567 IN_WINDOW_SIZE_RIGHT = 5,
00568 IN_WINDOW_SIZE_LEFT = 6,
00569 IN_WINDOW_SIZE_BOTTOM = 7,
00570 IN_WINDOW_HIDE = 8
00571 };
00572
00573 enum EWindowFlags
00574 {
00575 WINDOW_HAS_TITLEBAR = (1 << 0),
00576 WINDOW_HAS_CLOSEBOX = (1 << 1),
00577 WINDOW_HAS_SIZEBOX = (1 << 2),
00578 WINDOW_HAS_BORDER = (1 << 3),
00579 WINDOW_IS_MOVEABLE = (1 << 4),
00580 WINDOW_IS_RESIZEABLE = (1 << 5)
00581 };
00582
00583 enum EWindowType
00584 {
00585 WINDOW_CAMERA = 1,
00586 WINDOW_RASTER_MAP = 2,
00587 WINDOW_VECTOR_MAP = 3,
00588 WINDOW_CHECKLIST = 4,
00589 WINDOW_GPS = 5,
00590 WINDOW_MINIPANEL = 6,
00591 WINDOW_AXIS = 7
00592 };
00593
00594 enum EFPEntryType
00595 {
00596 ENTRY_AIRPORT = 1,
00597 ENTRY_NAVAID = 2,
00598 ENTRY_WAYPOINT = 3,
00599 ENTRY_USER = 4
00600 };
00601
00602 enum ETimeOfDay
00603 {
00604 TIME_DAWN = 1,
00605 TIME_DAYTIME = 2,
00606 TIME_DUSK = 3,
00607 TIME_NIGHTTIME = 4
00608 };
00609
00610 enum EJoystickAxis
00611 {
00612 X_AXIS_INDEX = 0,
00613 Y_AXIS_INDEX = 1,
00614 RUDDER_AXIS_INDEX = 2,
00615 TRIM_AXIS_INDEX = 3,
00616 RBRAKE_AXIS_INDEX = 4,
00617 LBRAKE_AXIS_INDEX = 5,
00618 THROTTLE_AXIS_INDEX = 6,
00619 THROTTLE1_AXIS_INDEX = THROTTLE_AXIS_INDEX,
00620 THROTTLE2_AXIS_INDEX = 7,
00621 THROTTLE3_AXIS_INDEX = 8,
00622 THROTTLE4_AXIS_INDEX = 9,
00623 MIXTURE_AXIS_INDEX = 10,
00624 MIXTURE1_AXIS_INDEX = MIXTURE_AXIS_INDEX,
00625 MIXTURE2_AXIS_INDEX = 11,
00626 MIXTURE3_AXIS_INDEX = 12,
00627 MIXTURE4_AXIS_INDEX = 13,
00628 PROP_AXIS_INDEX = 14,
00629 PROP1_AXIS_INDEX = PROP_AXIS_INDEX,
00630 PROP2_AXIS_INDEX = 15,
00631 PROP3_AXIS_INDEX = 16,
00632 PROP4_AXIS_INDEX = 17
00633 };
00634
00635 enum ERadioType
00636 {
00637 RADIO_COM = (1 << 0),
00638 RADIO_NAV = (1 << 1),
00639 RADIO_DME = (1 << 2),
00640 RADIO_XPDR = (1 << 3),
00641 RADIO_AP = (1 << 4),
00642 RADIO_GPS = (1 << 5),
00643 RADIO_ADF = (1 << 6),
00644 RADIO_AUDIO = (1 << 7),
00645 RADIO_HF = (1 << 8)
00646 };
00647
00648 enum EFreqType
00649 {
00650 FREQ_ACTIVE = 0,
00651 FREQ_STANDBY = 1
00652 };
00653
00654 enum
00655 { RAY_COLLIDE_GROUND = 0x01,
00656 RAY_COLLIDE_MODELS = 0x02,
00657 RAY_COLLIDE_CLOUDS = 0x04,
00658 RAY_COLLIDE_ALL = 0xFF,
00659 RAY_COLLIDE_SOLID_OBJECTS = (RAY_COLLIDE_ALL & ~RAY_COLLIDE_CLOUDS)
00660 };
00661
00662 enum EFileSearchLocation
00663 {
00664 SEARCH_PODS = (1 << 0),
00665 SEARCH_DISK = (1 << 1),
00666 SEARCH_ALL = SEARCH_PODS | SEARCH_DISK
00667 };
00668
00669 enum EKeyboardKeys
00670 {
00671 KB_KEY_ESC = 1,
00672 KB_KEY_1 = 2,
00673 KB_KEY_2 = 3,
00674 KB_KEY_3 = 4,
00675 KB_KEY_4 = 5,
00676 KB_KEY_5 = 6,
00677 KB_KEY_6 = 7,
00678 KB_KEY_7 = 8,
00679 KB_KEY_8 = 9,
00680 KB_KEY_9 = 10,
00681 KB_KEY_0 = 11,
00682 KB_KEY_MINUS = 12,
00683 KB_KEY_EQUALS = 13,
00684 KB_KEY_BACKSPACE = 14,
00685 KB_KEY_TAB = 15,
00686 KB_KEY_Q = 16,
00687 KB_KEY_W = 17,
00688 KB_KEY_E = 18,
00689 KB_KEY_R = 19,
00690 KB_KEY_T = 20,
00691 KB_KEY_Y = 21,
00692 KB_KEY_U = 22,
00693 KB_KEY_I = 23,
00694 KB_KEY_O = 24,
00695 KB_KEY_P = 25,
00696 KB_KEY_FORWARD_BRACKET = 26,
00697 KB_KEY_REVERSE_BRACKET = 27,
00698 KB_KEY_ENTER = 28,
00699 KB_KEY_LCTRL = 29,
00700 KB_KEY_A = 30,
00701 KB_KEY_S = 31,
00702 KB_KEY_D = 32,
00703 KB_KEY_F = 33,
00704 KB_KEY_G = 34,
00705 KB_KEY_H = 35,
00706 KB_KEY_J = 36,
00707 KB_KEY_K = 37,
00708 KB_KEY_L = 38,
00709 KB_KEY_SEMI_COLON = 39,
00710 KB_KEY_SINGLE_QUOTE = 40,
00711 KB_KEY_REVERSE_SINGLE_QUOTE = 41,
00712 KB_KEY_LSHIFT = 42,
00713 KB_KEY_BACKSLASH = 43,
00714 KB_KEY_Z = 44,
00715 KB_KEY_X = 45,
00716 KB_KEY_C = 46,
00717 KB_KEY_V = 47,
00718 KB_KEY_B = 48,
00719 KB_KEY_N = 49,
00720 KB_KEY_M = 50,
00721 KB_KEY_COMMA = 51,
00722 KB_KEY_PERIOD = 52,
00723 KB_KEY_SLASH = 53,
00724 KB_KEY_RSHIFT = 54,
00725 KB_KEY_STAR = 55,
00726 KB_KEY_LALT = 56,
00727 KB_KEY_SPACE = 57,
00728 KB_KEY_CAPSLOCK = 58,
00729 KB_KEY_F1 = 59,
00730 KB_KEY_F2 = 60,
00731 KB_KEY_F3 = 61,
00732 KB_KEY_F4 = 62,
00733 KB_KEY_F5 = 63,
00734 KB_KEY_F6 = 64,
00735 KB_KEY_F7 = 65,
00736 KB_KEY_F8 = 66,
00737 KB_KEY_F9 = 67,
00738 KB_KEY_F10 = 68,
00739 KB_KEY_NUMLOCK = 69,
00740 KB_KEY_SCROLLLOCK = 70,
00741 KB_KEY_HOME = 71,
00742 KB_KEY_UP = 72,
00743 KB_KEY_PGUP = 73,
00744 KB_KEY_KEYPAD_MINUS = 74,
00745 KB_KEY_LEFT = 75,
00746 KB_KEY_CENTER = 76,
00747 KB_KEY_RIGHT = 77,
00748 KB_KEY_KEYPAD_PLUS = 78,
00749 KB_KEY_END = 79,
00750 KB_KEY_DOWN = 80,
00751 KB_KEY_PGDN = 81,
00752 KB_KEY_INSERT = 82,
00753 KB_KEY_DEL = 83,
00754 KB_KEY_F11 = 87,
00755 KB_KEY_F12 = 88,
00756 KB_KEY_KEYPAD_ENTER = 284,
00757 KB_KEY_RCTRL = 285,
00758 KB_KEY_KEYPAD_SLASH = 309,
00759 KB_KEY_RALT = 312,
00760 KB_KEY_EXT_NUMLOCK = 325,
00761 KB_KEY_GRAY_HOME = 327,
00762 KB_KEY_GRAY_UP = 328,
00763 KB_KEY_GRAY_PGUP = 329,
00764 KB_KEY_GRAY_LEFT = 331,
00765 KB_KEY_GRAY_RIGHT = 333,
00766 KB_KEY_GRAY_END = 335,
00767 KB_KEY_GRAY_DOWN = 336,
00768 KB_KEY_GRAY_PGDN = 337,
00769 KB_KEY_GRAY_INS = 338,
00770 KB_KEY_GRAY_DEL = 339,
00771 KB_KEY_META = 340
00772 };
00773
00774 enum EKeyboardModifiers
00775 {
00776 KB_MODIFIER_NONE = (0 << 0),
00777 KB_MODIFIER_CTRL = (1 << 0),
00778 KB_MODIFIER_ALT = (1 << 1),
00779 KB_MODIFIER_SHIFT = (1 << 2),
00780 KB_MODIFIER_META = (1 << 3)
00781 };
00782
00783 enum EGaugeHilite
00784 {
00785 GAUGE_HILITE_NONE = 0,
00786 GAUGE_HILITE_ARROW = (1 << 0),
00787 GAUGE_HILITE_BOX = (1 << 1),
00788 GAUGE_HILITE_CIRCLE = (1 << 2),
00789 GAUGE_HILITE_BLINK = (1 << 8)
00790 };
00791
00792 enum EWeatherObstructionTypes
00793 {
00794 WEATHER_INTENSITY_VICINITY = 0x00000001,
00795 WEATHER_INTENSITY_LIGHT = 0x00000002,
00796 WEATHER_INTENSITY_MODERATE = 0x00000004,
00797 WEATHER_INTENSITY_HEAVY = 0x00000008,
00798 WEATHER_DESCRIPTOR_SHALLOW = 0x00000010,
00799 WEATHER_DESCRIPTOR_PARTIAL = 0x00000020,
00800 WEATHER_DESCRIPTOR_PATCHES = 0x00000040,
00801 WEATHER_DESCRIPTOR_LOW_DRIFTING = 0x00000080,
00802 WEATHER_DESCRIPTOR_BLOWING = 0x00000100,
00803 WEATHER_DESCRIPTOR_SHOWERS = 0x00000200,
00804 WEATHER_DESCRIPTOR_THUNDERSTORMS = 0x00000400,
00805 WEATHER_DESCRIPTOR_FREEZING = 0x00000800,
00806 WEATHER_PHENOMENA_DRIZZLE = 0x00001000,
00807 WEATHER_PHENOMENA_RAIN = 0x00002000,
00808 WEATHER_PHENOMENA_SNOW = 0x00004000,
00809 WEATHER_PHENOMENA_SNOW_GRAINS = 0x00008000,
00810 WEATHER_PHENOMENA_ICE_CRYSTALS = 0x00010000,
00811 WEATHER_PHENOMENA_ICE_PELLETS = 0x00020000,
00812 WEATHER_PHENOMENA_HAIL = 0x00040000,
00813 WEATHER_PHENOMENA_SMALL_HAIL_OR_SNOW = 0x00080000,
00814 WEATHER_PHENOMENA_FOG = 0x00100000,
00815 WEATHER_PHENOMENA_UNIDENTIFIED = 0x00200000,
00816 WEATHER_PHENOMENA_VOLCANIC_ASH = 0x00400000,
00817 WEATHER_PHENOMENA_SQUALL = 0x00800000,
00818 WEATHER_PHENOMENA_WIDESPREAD_DUST = 0x01000000,
00819 WEATHER_PHENOMENA_SPRAY = 0x02000000,
00820 WEATHER_PHENOMENA_SAND = 0x04000000,
00821 WEATHER_PHENOMENA_DUST_SAND_WHIRLS = 0x08000000,
00822 WEATHER_PHENOMENA_FUNNEL_CLOUD = 0x10000000,
00823 WEATHER_PHENOMENA_SAND_STORM = 0x20000000,
00824 WEATHER_PHENOMENA_DUST_STORM = 0x40000000
00825 };
00826
00827 enum EWindsAloftLayer
00828 {
00829 WEATHER_WINDS_ALOFT_3000 = 0,
00830 WEATHER_WINDS_ALOFT_6000 = 1,
00831 WEATHER_WINDS_ALOFT_9000 = 2,
00832 WEATHER_WINDS_ALOFT_12000 = 3,
00833 WEATHER_WINDS_ALOFT_15000 = 4,
00834 WEATHER_WINDS_ALOFT_18000 = 5,
00835 WEATHER_WINDS_ALOFT_FL18 = WEATHER_WINDS_ALOFT_18000,
00836 WEATHER_WINDS_ALOFT_21000 = 6,
00837 WEATHER_WINDS_ALOFT_FL21 = WEATHER_WINDS_ALOFT_21000,
00838 WEATHER_WINDS_ALOFT_24000 = 7,
00839 WEATHER_WINDS_ALOFT_FL24 = WEATHER_WINDS_ALOFT_24000,
00840 WEATHER_WINDS_ALOFT_27000 = 8,
00841 WEATHER_WINDS_ALOFT_FL27 = WEATHER_WINDS_ALOFT_27000,
00842 WEATHER_WINDS_ALOFT_30000 = 9,
00843 WEATHER_WINDS_ALOFT_FL30 = WEATHER_WINDS_ALOFT_30000,
00844 WEATHER_WINDS_ALOFT_33000 = 10,
00845 WEATHER_WINDS_ALOFT_FL33 = WEATHER_WINDS_ALOFT_33000,
00846 WEATHER_WINDS_ALOFT_36000 = 11,
00847 WEATHER_WINDS_ALOFT_FL36 = WEATHER_WINDS_ALOFT_36000,
00848 WEATHER_WINDS_ALOFT_39000 = 12,
00849 WEATHER_WINDS_ALOFT_FL39 = WEATHER_WINDS_ALOFT_39000,
00850 WEATHER_WINDS_ALOFT_42000 = 13,
00851 WEATHER_WINDS_ALOFT_FL42 = WEATHER_WINDS_ALOFT_42000,
00852 WEATHER_WINDS_ALOFT_60000 = 14,
00853 WEATHER_WINDS_ALOFT_FL60 = WEATHER_WINDS_ALOFT_60000,
00854 WEATHER_WINDS_ALOFT_MAX
00855 };
00856
00857 enum EWeatherSkyTypes
00858 {
00859 WEATHER_SKY_UNKNOWN = 0,
00860 WEATHER_SKY_CLEAR = 1,
00861 WEATHER_SKY_FEW = 2,
00862 WEATHER_SKY_SCATTERED = 3,
00863 WEATHER_SKY_BROKEN = 4,
00864 WEATHER_SKY_OVERCAST = 5,
00865 WEATHER_SKY_FOG = 6
00866 };
00867
00868 enum EWheelStatus
00869 {
00870 WHEELS_NOTONGROUND = 0,
00871 WHEELS_SOMEONGROUND = 1,
00872 WHEELS_ALLONGROUND = 2,
00873 WHEELS_ONEONGROUND = 3,
00874 WHEELS_INWATER = 4
00875 };
00876
00877 enum EGroundTypes
00878 {
00879 GROUND_CONCRETE = 1,
00880 GROUND_ASPHALT = 2,
00881 GROUND_TURF = 3,
00882 GROUND_DIRT = 4,
00883 GROUND_GRAVEL = 5,
00884 GROUND_METAL = 6,
00885 GROUND_SAND = 7,
00886 GROUND_WOOD = 8,
00887 GROUND_WATER = 9,
00888 GROUND_MATS = 10,
00889 GROUND_SNOW = 11,
00890 GROUND_ICE = 12,
00891 GROUND_GROOVED = 13,
00892 GROUND_TREATED = 14
00893 };
00894
00895 enum ETerrainType
00896 {
00897 TERRAIN_WATER_OCEAN = 12,
00898 TERRAIN_ICE_CRACKED_GLACIERS = 13,
00899 TERRAIN_SNOW = 59,
00900 TERRAIN_MOUNTAIN_FOREST_CALIFORNIA = 60,
00901 TERRAIN_TOWNS_MIDEAST = 61,
00902 TERRAIN_CITY_USA = 101,
00903 TERRAIN_GRASS_SCRUB_LIGHT = 102,
00904 TERRAIN_FOREST_MIXED_SCRUB = 104,
00905 TERRAIN_FOREST_MIXED = 105,
00906 TERRAIN_MOUNTAIN_FOREST_GREEN = 106,
00907 TERRAIN_GRASS_SCRUB_LIGHT_2 = 107,
00908 TERRAIN_DESERT_BARREN = 108,
00909 TERRAIN_TUNDRA_UPLAND = 109,
00910 TERRAIN_GRASS_SCRUB_LIGHT_3 = 110,
00911 TERRAIN_DESERT_SCRUB_LIGHT = 111,
00912 TERRAIN_SNOW_HARD_PACKED = 112,
00913 TERRAIN_EURO_CITY_ENGLAND_HEAVY = 113,
00914 TERRAIN_SHRUB_EVERGREEN = 116,
00915 TERRAIN_SHRUB_DECIDUOUS = 117,
00916 TERRAIN_CITY_HEAVY_ASIAN = 118,
00917 TERRAIN_FOREST_EVERGREEN_W_DARK_FIELDS = 119,
00918 TERRAIN_RAINFOREST_TROPICAL_MIXED = 120,
00919 TERRAIN_CONIFER_BOREAL_FOREST = 121,
00920 TERRAIN_COOL_CONIFER_FOREST = 122,
00921 TERRAIN_EURO_FOREST_TOWNS = 123,
00922 TERRAIN_FOREST_RIDGES_MIXED = 124,
00923 TERRAIN_EURO_FOREST_DARK_TOWNS = 125,
00924 TERRAIN_SUBURB_USA_BROWN = 126,
00925 TERRAIN_CONIFER_FOREST = 127,
00926 TERRAIN_FOREST_YELLOWED_AFRICAN = 128,
00927 TERRAIN_SEASONAL_RAINFOREST = 129,
00928 TERRAIN_COOL_CROPS = 130,
00929 TERRAIN_CROPS_TOWN = 131,
00930 TERRAIN_DRY_TROPICAL_WOODS = 132,
00931 TERRAIN_RAINFOREST_TROPICAL = 133,
00932 TERRAIN_RAINFOREST_DEGRADED = 134,
00933 TERRAIN_FARM_USA_GREEN = 135,
00934 TERRAIN_RICE_PADDIES = 136,
00935 TERRAIN_HOT_CROPS = 137,
00936 TERRAIN_FARM_USA_MIXED = 138,
00937 TERRAIN_EURO_FARM_FULL_MIXED = 139,
00938 TERRAIN_COOL_GRASSES_W_SHRUBS = 140,
00939 TERRAIN_HOT_GRASSES_W_SHRUBS = 141,
00940 TERRAIN_COLD_GRASSLAND = 142,
00941 TERRAIN_SAVANNA_WOODS = 143,
00942 TERRAIN_SWAMP_BOG = 144,
00943 TERRAIN_MARSH_WETLAND = 145,
00944 TERRAIN_MEDITERRANEAN_SCRUB = 146,
00945 TERRAIN_DRY_WOODY_SCRUB = 147,
00946 TERRAIN_DRY_EVERGREEN_WOODS = 148,
00947 TERRAIN_SUBURB_USA = 149,
00948 TERRAIN_DESERT_SAND_DUNES = 150,
00949 TERRAIN_SEMI_DESERT_SHRUB = 151,
00950 TERRAIN_SEMI_DESERT_SAGE = 152,
00951 TERRAIN_MOUNTAIN_ROCKY_TUNDRA_SNOW = 153,
00952 TERRAIN_MIXED_RAINFOREST = 154,
00953 TERRAIN_COOL_FIELDS_AND_WOODS = 155,
00954 TERRAIN_FOREST_AND_FIELD = 156,
00955 TERRAIN_COOL_FOREST_AND_FIELD = 157,
00956 TERRAIN_FIELDS_AND_WOODY_SAVANNA = 158,
00957 TERRAIN_THORN_SCRUB = 159,
00958 TERRAIN_SMALL_LEAF_MIXED_FOREST = 160,
00959 TERRAIN_MIXED_BOREAL_FOREST = 161,
00960 TERRAIN_NARROW_CONIFERS = 162,
00961 TERRAIN_WOODED_TUNDRA = 163,
00962 TERRAIN_HEATH_SCRUB = 164,
00963 TERRAIN_EURO_FULL_GREEN_3 = 165,
00964 TERRAIN_AUSTRALIAN_CITY = 166,
00965 TERRAIN_CITY_HEAVY_BRAZIL = 167,
00966 TERRAIN_CITY_HEAVY_USA = 168,
00967 TERRAIN_POLAR_DESERT = 169,
00968 TERRAIN_EURO_TOWNS = 170,
00969 TERRAIN_CITY_MIDDLE_EASTERN_HEAVY = 171,
00970 TERRAIN_TUNDRA_BOG = 172,
00971 TERRAIN_EURO_FARM_FULL_MIXED_2 = 176,
00972 TERRAIN_TOWNS_ASIAN = 177,
00973 TERRAIN_ICE_CRACKED_SNOW = 178,
00974 TERRAIN_EURO_FARM_FOREST = 179,
00975 TERRAIN_FARM_USA_BROWN = 180,
00976 TERRAIN_FARM_MIDDLE_EASTERN_W_FOREST = 181,
00977 TERRAIN_DESERT_BRUSH_REDDISH = 182,
00978 TERRAIN_FARM_MIDDLE_EASTERN = 183,
00979 TERRAIN_EURO_FARM_FULL_MIXED_3 = 184,
00980 TERRAIN_EURO_FARM_FULL_GREEN_2 = 185,
00981 TERRAIN_MOUNTAIN_ROCKY_SNOW = 186,
00982 TERRAIN_MOUNTAIN_FOREST_LIGHT = 187,
00983 TERRAIN_GRASS_MEADOW = 188,
00984 TERRAIN_MOIST_EUCALYPTUS = 189,
00985 TERRAIN_RAINFOREST_HAWAIIAN = 190,
00986 TERRAIN_WOODY_SAVANNA = 191,
00987 TERRAIN_BROADLEAF_CROPS = 192,
00988 TERRAIN_GRASS_CROPS = 193,
00989 TERRAIN_CROPS_GRASS_SHRUBS = 194,
00990 TERRAIN_GRASSLAND = 225,
00991 TERRAIN_DESERT_SAVANAH_AFRICAN = 255
00992 };
00993
00994 enum EGestaltFlags
00995 {
00996 GESTALT_OBJECT_NEEDS_TO_DRAW = (1 << 0),
00997 GESTALT_OBJECT_NEEDS_TIME_SLICE = (1 << 1),
00998 GESTALT_OBJECT_HAS_MODEL = (1 << 2),
00999 GESTALT_OBJECT_HAS_CAMERA = (1 << 3),
01000 GESTALT_OBJECT_CAN_ACTIVATE = (1 << 4),
01001 GESTALT_OBJECT_HAS_CONTROLS = (1 << 5),
01002 GESTALT_OBJECT_UNDER_USER_CONTROL = (1 << 6),
01003 GESTALT_PRIMARY_USER_OBJECT = (1 << 7),
01004 GESTALT_STATIC_SCENERY_OBJECT = (1 << 8),
01005 GESTALT_DYNAMIC_SCENERY_OBJECT = (1 << 9),
01006 GESTALT_DRAW_OBJECT_NAME = (1 << 10),
01007 GESTALT_OBJECT_IS_CLOUD = (1 << 11),
01008 GESTALT_DO_NOT_AUTO_SNAP = (1 << 12),
01009 GESTALT_OBJECT_IS_TOWER = (1 << 13),
01010 GESTALT_OBJECT_ANIMATED = (1 << 14),
01011 GESTALT_OBJECT_COLLISIONS = (1 << 15),
01012 GESTALT_DISTANCE_HIDING = (1 << 16),
01013 GESTALT_SINK_UNDERGROUND = (1 << 17),
01014 GESTALT_DRAW_NIGHT_LIGHTS = (1 << 18),
01015 GESTALT_DRAW_SHADOW = (1 << 19),
01016 GESTALT_OBJECT_GENERATED = (1 << 20),
01017 GESTALT_NO_Z_BUFFER = (1 << 21),
01018 GESTALT_Z_SORTED = (1 << 22),
01019 GESTALT_NO_Z_BUFFER_UNDERLAY = (1 << 23)
01020 };
01021
01022
01024
01025
01026
01028
01029 typedef struct SDLLCopyright
01030 {
01031 char product[128];
01032 char company[128];
01033 char programmer[128];
01034 char dateTimeVersion[128];
01035 char email[128];
01036 int internalVersion;
01037 } SDLLCopyright;
01038
01039 typedef struct SDLLRegisterTypeList
01040 {
01041 EDLLObjectType type;
01042 long signature;
01043 SDLLRegisterTypeList *next;
01044 } SDLLRegisterTypeList;
01045
01046 typedef void* DLLObjectRef;
01047 typedef void* DLLFileRef;
01048
01049 typedef struct SFlyObjectRef
01050 {
01051 void *objectPtr;
01052 void *superSig;
01053 void *classSig;
01054 } SFlyObjectRef;
01055
01056 typedef struct SFlyObjectList
01057 {
01058 SFlyObjectRef ref;
01059 SFlyObjectList *prev;
01060 SFlyObjectList *next;
01061 } SFlyObjectList;
01062
01063 typedef struct SDLLObject
01064 {
01065
01066
01067
01068
01069
01070
01071
01072 DLLObjectRef dllObject;
01073
01074
01075
01076
01077
01078 DLLFileRef dllFile;
01079 SFlyObjectRef flyObject;
01080 } SDLLObject;
01081
01082 typedef struct SMessage
01083 {
01084 unsigned int id;
01085 unsigned int group;
01086 EMessageDataType dataType;
01087 unsigned int result;
01088
01089 DLLObjectRef sender;
01090 DLLObjectRef receiver;
01091
01092 union
01093 {
01094 char charData;
01095 char *charPtrData;
01096 int intData;
01097 int *intPtrData;
01098 double realData;
01099 double *realPtrData;
01100 void *voidData;
01101 };
01102
01103 union
01104 {
01105 unsigned int userData[8];
01106 struct
01107 {
01108 unsigned int unit;
01109 unsigned int hw;
01110 unsigned int engine;
01111 unsigned int tank;
01112 unsigned int gear;
01113 unsigned int unused;
01114 unsigned int datatag;
01115 unsigned int sw;
01116 } u;
01117 } user;
01118
01119 unsigned int action;
01120 } SMessage;
01121
01122 typedef struct SSurface
01123 {
01124 unsigned int *drawBuffer;
01125 unsigned int xSize, ySize;
01126 unsigned int xSpan;
01127 int xScreen, yScreen;
01128 } SSurface;
01129
01130 typedef struct SFont
01131 {
01132 char fontName[64];
01133 void *font;
01134 } SFont;
01135
01136 typedef struct SBitmap
01137 {
01138 char bitmapName[64];
01139 void *bitmap;
01140 EBitmapType type;
01141 } SBitmap;
01142
01143 typedef struct {
01144 unsigned long magic;
01145 unsigned long width;
01146 unsigned long height;
01147 unsigned long x1, y1, x2, y2;
01148 } SPBMHeader;
01149
01150
01151 typedef struct {
01152 GLubyte r, g, b;
01153 } RGB;
01154
01155
01156
01157
01158
01159
01160 typedef struct SStream
01161 {
01162 char filename[64];
01163 char mode[3];
01164 void *stream;
01165 } SStream;
01166
01167
01168
01169
01170
01171
01172
01173 typedef struct SVector
01174 {
01175 union {
01176 double x;
01177 double p;
01178 };
01179
01180 union {
01181 double y;
01182 double h;
01183 };
01184
01185 union {
01186 double z;
01187 double r;
01188 };
01189 } SVector;
01190
01191
01192
01193
01194
01195
01196
01197
01198
01199
01200 typedef struct SPosition
01201 {
01202 double lat;
01203 double lon;
01204 double alt;
01205 } SPosition;
01206
01207 typedef struct SPositionList
01208 {
01209 SPosition pos;
01210 SPositionList *next;
01211 } SPositionList;
01212
01213 typedef struct SCollision
01214 {
01215 char collided;
01216 SPosition pos;
01217 SFlyObjectRef object;
01218 } SCollision;
01219
01220 typedef struct SMovie
01221 {
01222 void *gc;
01223 void *movie;
01224 SSurface surface;
01225 } SMovie;
01226
01227 typedef struct SNavaid
01228 {
01229 char name[40];
01230 char id[8];
01231
01232 int type;
01233 int classification;
01234 int usage;
01235
01236 SPosition pos;
01237 float freq;
01238 float range;
01239 float magneticVariation;
01240 float slavedVariation;
01241
01242 SNavaid *prev;
01243 SNavaid *next;
01244 } SNavaid;
01245
01246 typedef struct SILS
01247 {
01248 char airportKey[10];
01249 char runwayID[5];
01250
01251 int type;
01252 int classification;
01253 SPosition pos;
01254 float range;
01255 float magneticVariation;
01256
01257 float glideslopeAngle;
01258 float approachBearing;
01259 char backCourseAvailable;
01260
01261 SILS *prev;
01262 SILS *next;
01263
01264
01265
01266 float freq;
01267 } SILS;
01268
01269 typedef struct SComm
01270 {
01271 char airportKey[10];
01272
01273 char name[20];
01274 int type;
01275 float freq[5];
01276 SPosition pos;
01277
01278 SComm *prev;
01279 SComm *next;
01280 } SComm;
01281
01282 typedef struct SWaypoint
01283 {
01284 char name[26];
01285 char colocated;
01286 int type;
01287 int usage;
01288 float bearingToNavaid;
01289 float distanceToNavaid;
01290 SPosition pos;
01291 char navaid[10];
01292
01293 SWaypoint *prev;
01294 SWaypoint *next;
01295 } SWaypoint;
01296
01297 typedef struct SRunwayEnd
01298 {
01299 char id[4];
01300 float trueHeading;
01301 float magneticHeading;
01302 int markings;
01303 SPosition pos;
01304 int thresholdCrossingHeight;
01305 int displacedThreshold;
01306 int rvr;
01307 char rvv;
01308 char edgeLights;
01309 char endLights;
01310 char centerlineLights;
01311 char touchdownLights;
01312 char alignLights;
01313 char thresholdLights;
01314 char sequenceFlashing;
01315 int numLightSystems;
01316 int lightSystems[8];
01317 char edgeLightIntensity;
01318 int glideslopeType;
01319 int glideslopePlacement;
01320 int glideslopeConfiguration;
01321
01322 SILS *glideslope;
01323 SILS *localizer;
01324 } SRunwayEnd;
01325
01326 typedef struct SRunway
01327 {
01328 char airportKey[10];
01329
01330 float length;
01331 float width;
01332 int surfaceType;
01333 int surfaceCondition;
01334 char pavementType;
01335 int pcn;
01336 int subgradeStrength;
01337 int tirePressure;
01338 char closed;
01339 char pcl;
01340 char pattern;
01341 float elevation;
01342
01343 SRunwayEnd base;
01344 SRunwayEnd recip;
01345
01346 SRunway *prev;
01347 SRunway *next;
01348 } SRunway;
01349
01350 typedef struct SAirport
01351 {
01352 char airportKey[10];
01353 char faaID[5];
01354 char icaoID[5];
01355 int type;
01356 char name[40];
01357 char country[3];
01358 char state[3];
01359 char county[40];
01360 char city[40];
01361 float elevation;
01362 int ownership;
01363 int usage;
01364 float magneticVariation;
01365 float trafficAltitude;
01366 char fssAvailable;
01367 char notamAvailable;
01368 char atcAvailable;
01369 char segmentedCircle;
01370 char landingFeesCharged;
01371 char jointUseAirport;
01372 char militaryLandingRights;
01373 char customsEntryPoint;
01374 int fuelTypes;
01375 int frameService;
01376 int engineService;
01377 int bottledOxygen;
01378 int bulkOxygen;
01379 int beaconLensColor;
01380 int basedAircraft;
01381 int annualCommercialOps;
01382 int annualGeneralAvOps;
01383 int annualMilitaryOps;
01384 int attendanceFlags;
01385 int lightingFlags;
01386 SPosition pos;
01387
01388 SRunway *runways;
01389 SComm *comms;
01390
01391 SAirport *prev;
01392 SAirport *next;
01393 } SAirport;
01394
01395 typedef struct SGeneric
01396 {
01397 void *data;
01398
01399 SGeneric *prev;
01400 SGeneric *next;
01401 } SGeneric;
01402
01403 typedef struct SWeatherInfo
01404 {
01405
01406
01407
01408
01409 double visibility;
01410 int surfaceTemp;
01411 int dewPointTemp;
01412 double altimeter;
01413 int windSpeed;
01414 int gustSpeed;
01415 int windHeading;
01416 char windFluctuates;
01417 int precipIntensity;
01418
01419
01420
01421 int precipType;
01422
01423
01424
01425
01426
01427
01428
01429 int layer1Active;
01430 int layer1Altitude;
01431 int layer1Type;
01432
01433
01434
01435
01436
01437 int layer1Height;
01438
01439 int layer2Active;
01440 int layer2Altitude;
01441 int layer2Type;
01442
01443
01444
01445
01446
01447 int layer2Height;
01448
01449 int layer3Active;
01450 int layer3Altitude;
01451 int layer3Type;
01452
01453
01454
01455
01456
01457 int layer3Height;
01458 } SWeatherInfo;
01459
01460 typedef struct SWindsAloft
01461 {
01462 int windHeading;
01463 int windSpeed;
01464 int gustSpeed;
01465 char windFluctuates;
01466 } SWindsAloft;
01467
01468
01469
01470
01471
01472
01473
01474 typedef struct SDate
01475 {
01476 unsigned int month;
01477 unsigned int day;
01478 unsigned int year;
01479 } SDate;
01480
01481
01482
01483
01484
01485
01486
01487
01488 typedef struct STime
01489 {
01490 unsigned int hour;
01491 unsigned int minute;
01492 unsigned int second;
01493 unsigned int msecs;
01494 } STime;
01495
01496
01497
01498
01499
01500 typedef struct SDateTime
01501 {
01502 SDate date;
01503 STime time;
01504 } SDateTime;
01505
01506
01507
01508
01509
01510
01511 typedef struct SDateTimeDelta
01512 {
01513 unsigned int dYears;
01514 unsigned int dMonths;
01515 unsigned int dDays;
01516 unsigned int dHours;
01517 unsigned int dMinutes;
01518 unsigned int dSeconds;
01519 unsigned int dMillisecs;
01520 } SDateTimeDelta;
01521
01522
01523 typedef struct SFPAirport
01524 {
01525 char landHere;
01526 SDateTimeDelta layover;
01527 SAirport data;
01528 char depRunwayEnd[4];
01529 char arrRunwayEnd[4];
01530 } SFPAirport;
01531
01532 typedef struct SFPNavaid
01533 {
01534 SNavaid data;
01535 } SFPNavaid;
01536
01537 typedef struct SFPWaypoint
01538 {
01539 SWaypoint data;
01540 } SFPWaypoint;
01541
01542 typedef struct SFPUser
01543 {
01544 char name[40];
01545 } SFPUser;
01546
01547 typedef struct SFPEntry
01548 {
01549 EFPEntryType type;
01550 SPosition pos;
01551 SDateTime arrival;
01552 SDateTime departure;
01553 SDateTimeDelta extend;
01554 float distance;
01555 float bearing;
01556 float speed;
01557 float altitude;
01558 float effectiveSpeed;
01559 float effectiveAltitude;
01560 float magneticVariation;
01561
01562 union
01563 {
01564 SFPAirport a;
01565 SFPNavaid n;
01566 SFPWaypoint w;
01567 SFPUser u;
01568 };
01569 } SFPEntry;
01570
01571 typedef struct SFlightPlan
01572 {
01573 SFPEntry entry;
01574 SFlightPlan *prev;
01575 SFlightPlan *next;
01576 } SFlightPlan;
01577
01578
01579
01580
01582
01583
01584
01585
01586
01587
01588
01589 typedef unsigned long Tag;
01590
01591
01592
01593
01594
01595 class CObject {
01596 public:
01597
01598 protected:
01599 };
01600
01601
01602
01603
01604
01605
01606
01607 class CStreamObject : public CObject {
01608 public:
01609 virtual ~CStreamObject (void) {}
01610
01611 virtual int Read (SStream *stream, Tag tag) {return TAG_IGNORED;}
01612 virtual void ReadFinished (void) {}
01613 virtual void Write (SStream *stream) {}
01614 };
01615
01616
01617
01618
01619
01620
01621 int DoesFileExist(const char *filename, EFileSearchLocation where);
01622 int DoesPodVolumeExist(const char *volumeName);
01623
01624 int OpenStream(SStream *stream);
01625 int OpenStream(PFS *pfs, SStream *stream);
01626 void CloseStream(SStream *stream);
01627
01628
01629 void ReadFrom(CStreamObject *object, SStream *stream);
01630 void SkipObject(SStream *stream);
01631 void AdvanceToTag(unsigned int tag, SStream *stream);
01632
01633 void ReadInt (int *value, SStream *stream);
01634 void ReadUInt (unsigned int *value, SStream *stream);
01635 void ReadFloat (float *value, SStream *stream);
01636 void ReadDouble (double *value, SStream *stream);
01637 void ReadString (char *value, int maxLength, SStream *stream);
01638 void ReadVector (SVector *value, SStream *stream);
01639 void ReadLatLon (SPosition *value, SStream *stream);
01640 void ReadPosition (SPosition *value, SStream *stream);
01641 void ReadTime (SDateTime *value, SStream *stream);
01642 void ReadTimeDelta (SDateTimeDelta *value, SStream *stream);
01643 void ReadMessage (SMessage *message, SStream *stream);
01644 void ReadTag (Tag *tag, SStream *stream);
01645
01646
01647
01648
01649
01650
01651
01652
01653
01654
01655
01656
01657
01658
01659
01660
01661
01662
01663
01664
01665
01666
01667 int GetLocalNavaids(SNavaid **navaids);
01668 int GetLocalILS(SILS **ils);
01669 int GetLocalComms(SComm **comms);
01670 int GetLocalCenters(SComm **comms);
01671 int GetLocalAirports(SAirport **airports);
01672 int GetLocalWaypoints(SWaypoint **waypoints);
01673
01674
01675
01676
01677
01678 int GetNearestNavaid(SPosition *pos, int navType, SNavaid *navaid, float *distanceInFeet);
01679 int GetNearestNavaidByFreq(SPosition *pos, int navType, float freq, SNavaid *navaid, float *distanceInFeet);
01680 int GetNearestILS(SPosition *pos, float freq, SILS *ils, float *distanceInFeet);
01681 int GetNearestComm(SPosition *pos, float freq, SComm *comm, float *distanceInFeet);
01682 int GetNearestAirportComm(SPosition *pos, float freq, SComm *comm, float *distanceInFeet);
01683 int GetNearestCenterComm(SPosition *pos, float freq, SComm *comm, float *distanceInFeet);
01684 int GetNearestAirport(SPosition *pos, SAirport *airport, float *distanceInFeet);
01685 int InAirportRegion(SPosition *pos, float *distanceInFeet);
01686 int GetAirport(char *airportKey, SAirport *airport);
01687
01688
01689
01690
01691
01692 int SearchNavaidsByID(char *id, int navType, SNavaid **navaids);
01693 int SearchNavaidsByName(char *name, int navType, SNavaid **navaids);
01694 int SearchNavaidsByGlobeTile (int x, int z, SNavaid **navaids);
01695 int SearchWaypointsByName(char *name, SWaypoint **waypoints);
01696 int SearchAirportsByFAA(char *faaID, SAirport **airports);
01697 int SearchAirportsByICAO(char *icaoID, SAirport **airports);
01698 int SearchAirportsByName(char *name, SAirport **airports);
01699 int SearchILS(char *airportKey, char *runwayEndID, SILS **ils);
01700 int SearchDatabase(char *db, char *index, char *key, SGeneric **list);
01701
01702
01703
01704
01705
01706 void FreeNavaid(SNavaid *navaids);
01707 void FreeILS(SILS *ils);
01708 void FreeWaypoint(SWaypoint *waypoint);
01709 void FreeComm(SComm *comm);
01710 void FreeAirport(SAirport *airport);
01711 void FreeGeneric(SGeneric *list);
01712
01713
01714
01715
01716
01717
01718 void LoadIniSettings (void);
01719 void UnloadIniSettings (void);
01720 void SaveIniSettings (void);
01721 void GetIniVar (const char *section, const char *varname, int *value);
01722 void GetIniFloat (const char *section, const char *varname, float *value);
01723 void GetIniString (const char *section, const char *varname, char *strvar, int maxLength);
01724 void SetIniVar (const char *section, const char *varname, int value);
01725 void SetIniFloat (const char *section, const char *varname, float value);
01726 void SetIniString (const char *section, const char *varname, char *strvar);
01727
01728
01729
01730
01731
01732 typedef bool(*KeyCallbackPtr) (int keyid, int code, int modifiers);
01733
01734
01746 class GTFO {
01747 private:
01748 char m_file[1024];
01749 int m_line;
01750
01751 public:
01752 GTFO (const char* file = NULL, int line = 0) : m_line(line) { strcpy (m_file, file); }
01753 void operator() (const char *fmt = NULL, ...);
01754 };
01755
01756 #define gtfo (GTFO(__FILE__, __LINE__))
01757
01758
01767 class WARN {
01768 private:
01769 char m_file[1024];
01770 int m_line;
01771
01772 public:
01773 WARN (const char* file = NULL, int line = 0) : m_line(line) { strcpy (m_file, file); }
01774 void operator() (const char *fmt = NULL, ...);
01775 };
01776
01777 #define WARNINGLOG (WARN(__FILE__, __LINE__))
01778
01779
01787 class DEBUG {
01788 private:
01789 char m_file[1024];
01790 int m_line;
01791
01792 public:
01793 DEBUG (const char* file = NULL, int line = 0) : m_line(line) { strcpy (m_file, file); }
01794 void operator() (const char *fmt = NULL, ...);
01795 };
01796
01797 #define DEBUGLOG (DEBUG(__FILE__, __LINE__))
01798
01799
01800
01801 #if defined(_DEBUG) && defined(HAVE_CRTDBG_H)
01802
01803
01804
01805 extern _CrtMemState memoryState;
01806 #endif // _DEBUG
01807
01808
01809
01810 #endif // FLYLEGACY_H
01811