(ns weathergen.falcon.constants
  "Constants used in Falcon files."
  #?(:clj (:require [weathergen.cljs.macros :refer [with-file defenum]])
     :cljs (:require-macros [weathergen.cljs.macros :refer [with-file defenum]])))

(with-file "camplib.h"
 (def VEHICLE_GROUPS_PER_UNIT 16)
 (def FEATURES_PER_OBJ        32)
 (def MAXIMUM_ROLES           16)
 (def MAXIMUM_OBJTYPES        32)
 (def MAXIMUM_WEAPTYPES       600)
 (def MAX_UNIT_CHILDREN       5)
 (def MAX_FEAT_DEPEND         5)

 (def MAX_NUMBER_OF_OBJECTIVES 8000)
 (def MAX_NUMBER_OF_UNITS 4000)     ; Max # of NON volitile units only
 (def MAX_NUMBER_OF_VOLATILE_UNITS 16000)
 (def MAX_CAMP_ENTITIES (+ MAX_NUMBER_OF_OBJECTIVES
                           MAX_NUMBER_OF_UNITS
                           MAX_NUMBER_OF_VOLATILE_UNITS)))

(with-file "campweap.h"
  (defenum DamageDataType
    NoDamage,
    PenetrationDam,                ; Hardened structures, tanks, ships
    HighExplosiveDam,              ; Soft targets, area targets
    HeaveDam,                      ; Runways
    IncendairyDam,                 ; Burn baby, burn
    ProximityDam,                  ; AA missiles, etc.
    KineticDam,                    ; Guns, small arms fire
    HydrostaticDam,                ; Submarines
    ChemicalDam,
    NuclearDam,
    OtherDam)

  (def WEAP_RECON 0x01) ;; Used for recon
  (def WEAP_FUEL 0x02) ;; Fuel tank
  (def WEAP_ECM 0x04) ;; Used for ECM
  (def WEAP_AREA 0x08) ;; Can damage multiple vehicles
  (def WEAP_CLUSTER 0x10) ;; CBU -- cluster bomb
  (def WEAP_TRACER 0x20) ;; Use tracers when drawing weapon fire
  (def WEAP_ALWAYSRACK 0x40) ;; this weapon has no rack
  (def WEAP_LGB_3RD_GEN 0x80) ;; 3rd generation LGB's
  (def WEAP_BOMBWARHEAD 0x100) ;; this is for example a missile with a
                               ;; bomb war head. MissileEnd when
                               ;; ground impact, not when lethalradius
                               ;; reached
  (def WEAP_NO_TRAIL 0x200) ;; do not display any weapon trails or engine glow
  (def WEAP_BOMBDROPSOUND 0x400) ;; play the bomb drop sound instead of missile launch
  (def WEAP_BOMBGPS 0x800) ;; we use this for JDAM "missile" bombs to have them always CanDetectObject and CanSeeObject true

  ;; RV - Biker - Make the rocket marker flag usable
  (def WEAP_ROCKET_MARKER 0x1000)

  (def WEAP_FORCE_ON_ONE 0x2000) ;; Put all requested weapons on one/two hardpoints
  (def WEAP_GUN 0x4000) ;; Used by LoadWeapons only - to specify guns only
  (def WEAP_ONETENTH 0x8000) ;; # listed is actually 1/10th the # of shots

  (def WEAP_BAI_LOADOUT 0x10000) ;; special loadout for BAI type missions:
  ;;  Mavericks and dumb bombs, GBU only
  ;;  GBU-12 (wid 68) and GBU-22 (wid 310)
  ;;  flag is NOT used in the WeaponClassDataType,
  ;;  for loading specific weapons only
  ;;
  ;; RV Biker - Some more loadout flags
  (def WEAP_DEAD_LOADOUT 0x20000) ;; Give long range weapons higher prio
  (def WEAP_LASER_POD 0x40000) ;; Used to load laser pods on HPs
  (def WEAP_FAC_LOADOUT 0x80000) ;; Load Willy Pete rockets only
  (def WEAP_CHAFF_POD 0x100000) ;; Load Chaff Flare dispenser pods

  (def WEAP_INFINITE_MASK 0x07) ;; Things which meet this mask never run out.

  ;; Number of hardpoints in the weapon table
  (def HARDPOINT_MAX 16))


(with-file "f4vu.h"
  (def VU_DOMAIN 0)
  (def VU_CLASS 1)
  (def VU_TYPE 2)
  (def VU_STYPE 3)
  (def VU_SPTYPE 4)
  (def VU_OWNER 5)

  ;; Vis type defines
  (def VIS_NORMAL 0)
  (def VIS_REPAIRED 1)
  (def VIS_DAMAGED 2)
  (def VIS_DESTROYED 3)
  (def VIS_LEFT_DEST 4)
  (def VIS_RIGHT_DEST 5)
  (def VIS_BOTH_DEST 6))

(with-file "classtbl.h"
  (defenum Classtable_Domains
    DOMAIN_ABSTRACT             = 1,
    DOMAIN_AIR                  = 2,
    DOMAIN_LAND                 = 3,
    DOMAIN_SEA                  = 4,
    DOMAIN_SPACE                = 5,
    DOMAIN_UNDERGROUND          = 6,
    DOMAIN_UNDERSEA             = 7)

  (defenum Classtable_Classes
    CLASS_ANIMAL                = 1,
    CLASS_FEATURE               = 2,
    CLASS_MANAGER               = 3,
    CLASS_OBJECTIVE             = 4,
    CLASS_SFX                   = 5,
    CLASS_UNIT                  = 6,
    CLASS_VEHICLE               = 7,
    CLASS_WEAPON                = 8,
    CLASS_WEATHER               = 9,
    CLASS_SESSION               = 10,
    CLASS_ABSTRACT              = 0,
    CLASS_GAME                  = 11,
    CLASS_GROUP                 = 12,
    CLASS_DIALOG                = 13)

  (defenum Classtable_Types
    TYPE_NOTHING                = 1,
    TYPE_GUN                    = 3,
    TYPE_MINESWEEP              = 2,
    TYPE_RACK                   = 4,
    TYPE_ATM                    = 1,
    TYPE_FLIGHT                 = 1,
    TYPE_PACKAGE                = 2,
    TYPE_SQUADRON               = 3,
    TYPE_AIRPLANE               = 1,
    TYPE_BOMB                   = 2,
    TYPE_ELECTRONICS            = 3,
    TYPE_FUEL_TANK              = 4,
    TYPE_HELICOPTER             = 5,
    TYPE_MISSILE                = 6,
    TYPE_RECON                  = 7,
    TYPE_ROCKET                 = 8,
    TYPE_CLOUD                  = 1,
    TYPE_GTM                    = 1,
    TYPE_AIRBASE                = 1,
    TYPE_AIRSTRIP               = 2,
    TYPE_ARMYBASE               = 3,
    TYPE_BEACH                  = 4,
    TYPE_BORDER                 = 5,
    TYPE_BRIDGE                 = 6,
    TYPE_CHEMICAL               = 7,
    TYPE_CITY                   = 8,
    TYPE_COM_CONTROL            = 9,
    TYPE_DEPOT                  = 10,
    TYPE_FACTORY                = 11,
    TYPE_FORD                   = 12,
    TYPE_FORTIFICATION          = 13,
    TYPE_HILL_TOP               = 14,
    TYPE_INTERSECT              = 15,
    TYPE_NUCLEAR                = 17,
    TYPE_PASS                   = 18,
    TYPE_PORT                   = 19,
    TYPE_POWERPLANT             = 20,
    TYPE_RADAR                  = 21,
    TYPE_RADIO_TOWER            = 22,
    TYPE_RAIL_TERMINAL          = 23,
    TYPE_RAILROAD               = 24,
    TYPE_VASI                   = 47,
    TYPE_TANK                   = 48,
    TYPE_FENCE                  = 49,
    TYPE_PARKINGLOT             = 50,
    TYPE_SMOKESTACK             = 51,
    TYPE_BUILDING               = 52,
    TYPE_COOL_TWR               = 53,
    TYPE_CONT_DOME              = 54,
    TYPE_GUARDHOUSE             = 55,
    TYPE_TRANSFORMER            = 56,
    TYPE_AMMO_DUMP              = 57,
    TYPE_DEBRIS                 = 1,
    TYPE_AEXPLOSION             = 1,
    TYPE_CANOPY                 = 7,
    TYPE_CHEM_PLANT             = 60,
    TYPE_TOWER                  = 61,
    TYPE_HOSPITAL               = 62,
    TYPE_SHOPBLK                = 63,
    TYPE_FLYING_EYE             = 1,
    TYPE_RUNWAY_NUM             = 64,
    TYPE_AIR_TERMINAL           = 39,
    TYPE_END_MISSION            = 1,
    TYPE_RUNWAY_MARKER          = 65,
    TYPE_TAXI_SIGN              = 24,
    TYPE_STADIUM                = 66,
    TYPE_MONUMENT               = 67,
    TYPE_STATIC                 = 64,
    TYPE_REFINERY               = 25,
    TYPE_ROAD                   = 26,
    TYPE_SEA                    = 27,
    TYPE_TOWN                   = 28,
    TYPE_VILLAGE                = 29,
    TYPE_CRATER                 = 1,
    TYPE_BATTALION              = 1,
    TYPE_BRIGADE                = 2,
    TYPE_FOOT                   = 1,
    TYPE_TOWED                  = 2,
    TYPE_TRACKED                = 3,
    TYPE_WHEELED                = 4,
    TYPE_NTM                    = 1,
    TYPE_TASKFORCE              = 1,
    TYPE_ASSAULT                = 1,
    TYPE_BOAT                   = 2,
    TYPE_BUOY                   = 3,
    TYPE_CAPITAL_SHIP           = 4,
    TYPE_CARGO                  = 5,
    TYPE_CRUISER                = 6,
    TYPE_DEPTHCHARGE            = 7,
    TYPE_DESTROYER              = 8,
    TYPE_FRIGATE                = 9,
    TYPE_PATROL                 = 10,
    TYPE_RAFT                   = 11,
    TYPE_SHIP                   = 12,
    TYPE_TANKER                 = 13,
    TYPE_TORPEDO                = 14,
    TYPE_ARMADA                 = 1,
    TYPE_WOLFPACK               = 1,
    TYPE_SUBMARINE              = 1,
    TYPE_TEAM                   = 1,
    TYPE_NAV_BEACON             = 16,
    TYPE_SAM_SITE               = 31,
    TYPE_HARTS                  = 30,
    TYPE_ART_SITE               = 58,
    TYPE_TEST                   = 15,
    TYPE_OFFICE                 = 59,
    TYPE_NAV_BEAC               = 25,
    TYPE_TAXIWAY                = 30,
    TYPE_HANGAR                 = 45,
    TYPE_RUNWAY                 = 11,
    TYPE_HOUSE                  = 22,
    TYPE_CRATERS                = 27,
    TYPE_WAREHOUSE              = 12,
    TYPE_BRIDGES                = 16,
    TYPE_FACTORYS               = 6,
    TYPE_SHOP                   = 19,
    TYPE_FUEL_TANKS             = 14,
    TYPE_APARTMENT              = 21,
    TYPE_CTRL_TOWER             = 2,
    TYPE_BUNKER                 = 4,
    TYPE_BUSH                   = 5,
    TYPE_CHURCH                 = 7,
    TYPE_CITY_HALL              = 8,
    TYPE_DOCK                   = 9,
    TYPE_HELIPAD                = 13,
    TYPE_NUKE_PLANT             = 15,
    TYPE_PIER                   = 17,
    TYPE_PPOLE                  = 18,
    TYPE_PTOWER                 = 20,
    TYPE_PPLANT                 = 23,
    TYPE_RADAR_SITE             = 26,
    TYPE_RADARS                 = 28,
    TYPE_RTOWER                 = 29,
    TYPE_RAIL_TERMINALS         = 31,
    TYPE_REFINERYS              = 32,
    TYPE_SAM                    = 33,
    TYPE_SHED                   = 34,
    TYPE_TREE                   = 36,
    TYPE_WTOWER                 = 37,
    TYPE_BARRACKS               = 35,
    TYPE_LAUNCHER               = 5,
    TYPE_CHAFF                  = 5,
    TYPE_BARN                   = 3,
    TYPE_TWNHALL                = 38,
    TYPE_YARD                   = 39,
    TYPE_SHRINE                 = 40,
    TYPE_PARK                   = 41,
    TYPE_OFF_BLOCK              = 42,
    TYPE_COCKPIT                = 3,
    TYPE_TVSTN                  = 43,
    TYPE_HOTEL                  = 44,
    TYPE_SMOKE                  = 4,
    TYPE_FIRE                   = 2,
    TYPE_FLARE                  = 6,
    TYPE_EXPLOSION              = 1,
    TYPE_HULK                   = 2,
    TYPE_DUST                   = 3,
    TYPE_LIGHTS                 = 46,
    TYPE_EJECT                  = 9)

  (defenum Sub_Types
    STYPE_SITE1                 = 1,
    STYPE_HARTS1                = 1,
    STYPE_TEST                  = 1,
    STYPE_FAC_UNDER_1           = 4,
    STYPE_BRIDGE_044_7          = 3,
    STYPE_BRIDGE_044_5          = 4,
    STYPE_NAV_BEACON1           = 1,
    STYPE_TAXIWAY1              = 1,
    STYPE_ADMIN1                = 1,
    STYPE_HANGAR2               = 1,
    STYPE_CNC_TILE1             = 1,
    STYPE_HANG_TILE1            = 2,
    STYPE_HOUSE3                = 1,
    STYPE_HOUSE4                = 2,
    STYPE_HOUSE5                = 3,
    STYPE_CRATER1               = 1,
    STYPE_CNC1                  = 3,
    STYPE_WAREHOUSE2            = 1,
    STYPE_BRIDGE3               = 3,
    STYPE_TAXIWAY2              = 2,
    STYPE_SHOP2                 = 1,
    STYPE_FUEL_TANK2            = 1,
    STYPE_OFFICE2               = 3,
    STYPE_APARTMENT1            = 1,
    STYPE_R02_NPGA              = 1,
    STYPE_CTRL_TOWER1           = 1,
    STYPE_BRIDGE4               = 4,
    STYPE_BRIDGE2               = 2,
    STYPE_BRIDGE1               = 1,
    STYPE_BUNKER1               = 1,
    STYPE_BUNKER2               = 2,
    STYPE_BUSH1                 = 1,
    STYPE_CHURCH1               = 1,
    STYPE_CITY_HALL1            = 1,
    STYPE_SHOP1                 = 2,
    STYPE_SHOP3                 = 3,
    STYPE_SHOP4                 = 4,
    STYPE_DEPOT1_F              = 3,
    STYPE_DEPOT2_F              = 4,
    STYPE_DOCK01                = 1,
    STYPE_DOCK02                = 2,
    STYPE_FUEL_TANK1            = 2,
    STYPE_HANGAR3               = 2,
    STYPE_HANGAR8               = 4,
    STYPE_HANGAR1               = 5,
    STYPE_HANGAR6               = 3,
    STYPE_HANGAR7               = 6,
    STYPE_HELIPAD1              = 1,
    STYPE_HOUSE2                = 4,
    STYPE_NUKE_PLANT1           = 1,
    STYPE_NUKE_PLANT2           = 2,
    STYPE_OFFICE1               = 4,
    STYPE_PIER1                 = 1,
    STYPE_PPOLE1                = 1,
    STYPE_PTOWER1               = 1,
    STYPE_PPLANT1               = 1,
    STYPE_RADAR_SITE1           = 1,
    STYPE_RADAR2                = 2,
    STYPE_RADAR3                = 3,
    STYPE_RADAR4                = 4,
    STYPE_RADAR5                = 5,
    STYPE_RADAR6                = 6,
    STYPE_RADAR7                = 7,
    STYPE_RADAR8                = 8,
    STYPE_RTOWER1               = 1,
    STYPE_RTOWER2               = 2,
    STYPE_SAM1                  = 1,
    STYPE_SEARCH_RADAR1         = 9,
    STYPE_SHED1                 = 1,
    STYPE_TREE1                 = 1,
    STYPE_WAREHOUSE1            = 2,
    STYPE_WTOWER1               = 1,
    STYPE_APARTMENT2            = 2,
    STYPE_ART_SITE1             = 1,
    STYPE_BARRACKS1             = 1,
    STYPE_IR_POD                = 2,
    STYPE_CHAFF                 = 1,
    STYPE_APARTMENT4            = 3,
    STYPE_APARTMENT5            = 4,
    STYPE_HOUSE6                = 5,
    STYPE_HOUSE7                = 6,
    STYPE_HOUSE8                = 7,
    STYPE_BARN1                 = 1,
    STYPE_BARN2                 = 2,
    STYPE_HOUSE9                = 8,
    STYPE_HOUSE10               = 9,
    STYPE_HOUSE11               = 10,
    STYPE_UNIT_SSBN             = 13,
    STYPE_UNIT_SSGN             = 11,
    STYPE_UNIT_SSN              = 12,
    STYPE_AIRBASE_505           = 5,
    STYPE_AIRBASE1              = 1,
    STYPE_AIRBASE2              = 2,
    STYPE_AIR_ASW               = 1,
    STYPE_AIR_ATTACK            = 2,
    STYPE_AIR_AWACS             = 3,
    STYPE_AIR_BOMBER            = 4,
    STYPE_AIR_ECM               = 5,
    STYPE_AIR_FIGHTER           = 6,
    STYPE_AIR_FIGHTER_BOMBER    = 7,
    STYPE_AIR_JSTAR             = 8,
    STYPE_AIR_RECON             = 9,
    STYPE_AIR_TANKER            = 10,
    STYPE_AIR_TRANSPORT         = 11,
    STYPE_AIRSTRIPV             = 1,
    STYPE_ARMYBASE1             = 1,
    STYPE_AMPHIBIOUS            = 1,
    STYPE_WASP                  = 2,
    STYPE_UNIT_AIR_DEFENSE      = 1,
    STYPE_UNIT_AIRMOBILE        = 2,
    STYPE_UNIT_ARMOR            = 3,
    STYPE_UNIT_ARMORED_CAV      = 4,
    STYPE_UNIT_ENGINEER         = 5,
    STYPE_UNIT_HQ               = 6,
    STYPE_UNIT_INFANTRY         = 7,
    STYPE_UNIT_MARINE           = 8,
    STYPE_UNIT_MECHANIZED       = 9,
    STYPE_UNIT_ROCKET           = 10,
    STYPE_UNIT_SP_ARTILLERY     = 11,
    STYPE_UNIT_SS_MISSILE       = 12,
    STYPE_UNIT_SUPPLY           = 13,
    STYPE_UNIT_TOWED_ARTILLERY  = 14,
    STYPE_MISSILE_BOAT          = 1,
    STYPE_PATROL_BOAT           = 1,
    STYPE_BOMB                  = 1,
    STYPE_BOMB_GUIDED           = 2,
    STYPE_BOMB_IRON             = 3,
    STYPE_BOMB_GPS = 4, ; MI added for GPS Weaps
    STYPE_BOMB_JSOW = 5, ; Cobra - added for GPS JSOW (gliding weapons)
    STYPE_UNIT_AIRBORNE         = 2,
    STYPE_BATTLESHIP            = 1,
    STYPE_CARRIER               = 2,
    STYPE_AMMOSHIP              = 1,
    STYPE_FRIGATE               = 1,
    STYPE_GENERIC               = 3,
    STYPE_NEWPORT               = 4,
    STYPE_C01_OBJ               = 1,
    STYPE_DECK                  = 1,
    STYPE_PUFFY                 = 2,
    STYPE_COM_CONTROL1          = 1,
    STYPE_SMALL_CRATER          = 1,
    STYPE_CG                    = 1,
    STYPE_DEPOT1                = 1,
    STYPE_DEPTHCHARGE           = 1,
    STYPE_GEARING               = 1,
    STYPE_SPRUANCE              = 2,
    STYPE_ECM                   = 1,
    STYPE_F803_1                = 1,
    STYPE_F80F_1                = 2,
    STYPE_UNIT_AIR_TRANSPORT    = 1,
    STYPE_UNIT_ASW              = 2,
    STYPE_UNIT_ATTACK           = 3,
    STYPE_UNIT_ATTACK_HELO      = 4,
    STYPE_UNIT_AWACS            = 5,
    STYPE_UNIT_BOMBER           = 6,
    STYPE_UNIT_ECM              = 7,
    STYPE_UNIT_FIGHTER          = 8,
    STYPE_UNIT_FIGHTER_BOMBER   = 9,
    STYPE_UNIT_JSTAR            = 10,
    STYPE_UNIT_RECON            = 11,
    STYPE_UNIT_RECON_HELO       = 12,
    STYPE_UNIT_TANKER           = 13,
    STYPE_UNIT_TRANSPORT_HELO   = 14,
    STYPE_FOOT_SQUAD            = 1,
    STYPE_FORTIFICATION1        = 1,
    STYPE_FUEL_TANK             = 1,
    STYPE_AAA_GUN               = 1,
    STYPE_ARTILLERY             = 3,
    STYPE_GUN                   = 4,
    STYPE_MORTAR                = 5,
    STYPE_SMALLARMS             = 2,
    STYPE_AIR_ATTACK_HELO       = 1,
    STYPE_AIR_RECON_HELO        = 2,
    STYPE_AIR_TRANSPORT_HELO    = 3,
    STYPE_MINESWPBLADE          = 1,
    STYPE_MISSILE_AIR_AIR       = 1,
    STYPE_MISSILE_AIR_GROUND    = 2,
    STYPE_MISSILE_ANTI_SHIP     = 3,
    STYPE_MISSILE_SURF_AIR      = 5,
    STYPE_MISSILE_SURF_SURF     = 6,
    STYPE_NAV1                  = 1,
    STYPE_NOTHING               = 1,
    STYPE_NUCLEAR1              = 1,
    STYPE_PORT1                 = 1,
    STYPE_PP01_OBJ              = 1,
    STYPE_RACK                  = 1,
    STYPE_RADAR1                = 1,
    STYPE_RADIO_TOWER1          = 1,
    STYPE_LIFE_RAFT             = 1,
    STYPE_RAIL_TERMINAL1        = 1,
    STYPE_RAILROAD1             = 1,
    STYPE_CAMERA                = 1,
    STYPE_REFINERY1             = 1,
    STYPE_ROCKET                = 2,
    STYPE_CRUISER               = 1,
    STYPE_SEA_SUPPLY            = 1,
    STYPE_SEA_TRANSPORT         = 2,
    STYPE_SSBN                  = 1,
    STYPE_SSGN                  = 2,
    STYPE_SSN                   = 3,
    STYPE_UNIT_AMPHIBIOUS       = 1,
    STYPE_UNIT_BATTLESHIP       = 2,
    STYPE_UNIT_CARRIER          = 3,
    STYPE_UNIT_CRUISER          = 4,
    STYPE_UNIT_DESTROYER        = 5,
    STYPE_UNIT_FRIGATE          = 6,
    STYPE_UNIT_PATROL           = 7,
    STYPE_UNIT_SEA_SUPPLY       = 8,
    STYPE_UNIT_SEA_TANKER       = 9,
    STYPE_UNIT_SEA_TRANSPORT    = 10,
    STYPE_TORPEDO               = 1,
    STYPE_TOWED_AAA             = 1,
    STYPE_TOWED_ARTILLERY       = 2,
    STYPE_TRACKED_AAA           = 1,
    STYPE_TRACKED_AIR_DEFENSE   = 2,
    STYPE_TRACKED_ARMOR         = 3,
    STYPE_TRACKED_ARTILLERY     = 4,
    STYPE_TRACKED_ENGINEER      = 5,
    STYPE_TRACKED_HQ            = 6,
    STYPE_TRACKED_IFV           = 7,
    STYPE_TRACKED_MORTAR        = 8,
    STYPE_TRACKED_TRANSPORT     = 9,
    STYPE_WHEELED_AAA           = 1,
    STYPE_WHEELED_AIR_DEFENSE   = 2,
    STYPE_WHEELED_ARTILLERY     = 3,
    STYPE_WHEELED_ENGINEER      = 4,
    STYPE_WHEELED_FIRETRUCK     = 5,
    STYPE_WHEELED_HQ            = 6,
    STYPE_WHEELED_IFV           = 7,
    STYPE_WHEELED_TRANSPORT     = 8,
    STYPE_BRIDGE_044_4          = 1,
    STYPE_BRIDGE_044_6          = 2,
    STYPE_DEPOT2                = 2,
    STYPE_F405_1                = 3,
    STYPE_NUCLEAR2              = 2,
    STYPE_FACTORY1L             = 8,
    STYPE_FACTORY1R             = 9,
    STYPE_PORT_66B              = 2,
    STYPE_BRIDGE_A41_3          = 13,
    STYPE_BRIDGE_A42_3          = 14,
    STYPE_TWNHALL1              = 1,
    STYPE_SHOP5                 = 5,
    STYPE_HANGAR9               = 7,
    STYPE_HANGAR10              = 8,
    STYPE_R02_PGC               = 3,
    STYPE_TEMPLE1               = 2,
    STYPE_SHOP6                 = 6,
    STYPE_SHED2                 = 2,
    STYPE_SHED3                 = 3,
    STYPE_WTOWER2               = 2,
    STYPE_WTOWER3               = 3,
    STYPE_SHRINE1               = 1,
    STYPE_OFFICE7               = 5,
    STYPE_APARTMENT6            = 5,
    STYPE_STABLE1               = 3,
    STYPE_PARK1                 = 1,
    STYPE_TREE2                 = 2,
    STYPE_TREE3                 = 3,
    STYPE_TREE4                 = 4,
    STYPE_HOUSE12               = 11,
    STYPE_OFFICE3               = 1,
    STYPE_OFFICE4               = 6,
    STYPE_OFFICE5               = 7,
    STYPE_OFFICE6               = 8,
    STYPE_OFFICE8               = 9,
    STYPE_SKYSCRAPER1           = 10,
    STYPE_SKYSCRAPER2           = 11,
    STYPE_OFF_BLOCK1            = 1,
    STYPE_APARTMENT3            = 6,
    STYPE_CITY_HALL2            = 2,
    STYPE_BARRACKS2             = 2,
    STYPE_CHURCH2               = 3,
    STYPE_TEMPLE2               = 4,
    STYPE_COCKPIT               = 1,
    STYPE_OFFICE9               = 12,
    STYPE_OFFICE10              = 13,
    STYPE_OFFICE11              = 14,
    STYPE_OFFICE12              = 15,
    STYPE_OFFICE13              = 16,
    STYPE_OFFICE14              = 17,
    STYPE_OFFICE15              = 18,
    STYPE_OFFICE16              = 19,
    STYPE_OFFICE17              = 20,
    STYPE_BRIDGE1_4             = 6,
    STYPE_BRIDGE1_2             = 5,
    STYPE_BRIDGE1_1             = 7,
    STYPE_BRIDGE2_3             = 8,
    STYPE_BRIDGE2_1             = 9,
    STYPE_OFF_BLOCK2            = 2,
    STYPE_OFF_BLOCK3            = 3,
    STYPE_OFF_BLOCK4            = 4,
    STYPE_OFF_BLOCK5            = 5,
    STYPE_OFF_BLOCK6            = 6,
    STYPE_OFF_BLOCK7            = 7,
    STYPE_OFF_BLOCK8            = 8,
    STYPE_OFF_BLOCK9            = 9,
    STYPE_WAREHOUSE3            = 3,
    STYPE_WAREHOUSE4            = 4,
    STYPE_TVSTN1                = 1,
    STYPE_HOTEL1                = 1,
    STYPE_CITY_835              = 24,
    STYPE_BRIDGE_241_3          = 5,
    STYPE_SM_BRIDGE3            = 10,
    STYPE_BRIDGE_242_3          = 6,
    STYPE_BRIDGE_D41_3          = 7,
    STYPE_BRIDGE_D42_3          = 8,
    STYPE_MISS_LAUN             = 1,
    STYPE_SAM_LAUN              = 2,
    STYPE_MISS_FLAME            = 1,
    STYPE_ENG_FIRE              = 2,
    STYPE_SM_FACT1              = 5,
    STYPE_SM_FACT2              = 6,
    STYPE_SM_FACT3              = 7,
    STYPE_4KRUNWAY              = 5,
    STYPE_FLARE1                = 1,
    STYPE_TANK_HULK             = 2,
    STYPE_R02_NPGB              = 6,
    STYPE_R02_NPGC              = 7,
    STYPE_R02_NPGD              = 8,
    STYPE_R03_NPGA              = 4,
    STYPE_BRIDGE_654_1          = 15,
    STYPE_BRIDGE_656_1          = 16,
    STYPE_R03_NPGB              = 16,
    STYPE_A33_VILLAGE           = 9,
    STYPE_VILL_D3D              = 25,
    STYPE_VILL_D37              = 26,
    STYPE_OSAN                  = 24,
    STYPE_TAXIOSAN              = 2,
    STYPE_R02_PGA               = 9,
    STYPE_R02_PGB               = 10,
    STYPE_AIRBASE_501           = 3,
    STYPE_AIRBASE_510           = 4,
    STYPE_AIRBASE_560           = 5,
    STYPE_OFFICE18              = 21,
    STYPE_OFFICE19              = 22,
    STYPE_OFFICE20              = 23,
    STYPE_OFFICE21              = 24,
    STYPE_OFFICE22              = 25,
    STYPE_OFFICE23              = 26,
    STYPE_OFFICE24              = 27,
    STYPE_OFFICE25              = 28,
    STYPE_OFFICE26              = 29,
    STYPE_DUST1                 = 1,
    STYPE_TAXI_01               = 3,
    STYPE_R01_NPGA              = 12,
    STYPE_R01_NPGB              = 11,
    STYPE_R01_NPGC              = 13,
    STYPE_R01_PFLA              = 3,
    STYPE_R01_PGB               = 15,
    STYPE_R01_PGA               = 14,
    STYPE_R01_PFLB              = 4,
    STYPE_STROBE_1              = 1,
    STYPE_STROBE_2              = 2,
    STYPE_HANGAR11              = 9,
    STYPE_HANGAR12              = 10,
    STYPE_WTOWER4               = 4,
    STYPE_CTRL_TOWER2           = 2,
    STYPE_EJECT1                = 1,
    STYPE_EJECT2                = 2,
    STYPE_VASI_N                = 1,
    STYPE_VASI_F                = 2,
    STYPE_VASI_RB               = 3,
    STYPE_VASI_RF               = 4,
    STYPE_FACTORY1_SHIP         = 10,
    STYPE_TANK1                 = 1,
    STYPE_PARKINGLOT1           = 1,
    STYPE_SMOKESTACK1           = 1,
    STYPE_SECONDARY1            = 1,
    STYPE_SECONDARY2            = 2,
    STYPE_PARKINGLOT2           = 2,
    STYPE_COOL_TWR1             = 1,
    STYPE_CONT_DOME1            = 1,
    STYPE_FENCE_NUKE2           = 1,
    STYPE_GUARDHOUSE1           = 1,
    STYPE_TRANSFORMER1          = 1,
    STYPE_SHED4                 = 4,
    STYPE_WAREHOUSE5            = 5,
    STYPE_RADAR9                = 10,
    STYPE_AMMO_DUMP1            = 1,
    STYPE_C01_03                = 2,
    STYPE_BRIDGE_046_2          = 9,
    STYPE_BRIDGE4_1             = 11,
    STYPE_BRIDGE5_1             = 12,
    STYPE_BRIDGE6_1             = 13,
    STYPE_BRIDGE7_1             = 14,
    STYPE_BRIDGE_046_3          = 10,
    STYPE_BRIDGE_046_4          = 11,
    STYPE_BRIDGE_046_5          = 12,
    STYPE_UNIT_RESERVE          = 15,
    STYPE_DEBRIS                = 1,
    STYPE_LEXPLOSION1           = 3,
    STYPE_WEXPLOSION1           = 1,
    STYPE_AEXPLOSION1           = 2,
    STYPE_AEXPLOSION2           = 1,
    STYPE_CRATER                = 2,
    STYPE_FIREBALL              = 3,
    STYPE_BRIDGE_6E6_1          = 17,
    STYPE_BRIDGE_6E4_1          = 18,
    STYPE_BRIDGE_684_1          = 19,
    STYPE_BRIDGE_686_1          = 20,
    STYPE_BRIDGE_68B_1          = 21,
    STYPE_BRIDGE_68D_1          = 22,
    STYPE_TOWN_D37              = 3,
    STYPE_TOWN_D3B              = 4,
    STYPE_TOWN_D3D              = 5,
    STYPE_TOWN_D3E              = 6,
    STYPE_TOWN_D3F              = 7,
    STYPE_BRIDGE2_2             = 16,
    STYPE_TOWN_D47              = 1,
    STYPE_TOWN_D48              = 2,
    STYPE_BRIDGE_65B_1          = 23,
    STYPE_BRIDGE_65D_1          = 24,
    STYPE_BRIDGE_6EB_1          = 25,
    STYPE_BRIDGE_6ED_1          = 26,
    STYPE_BRIDGE_754_1          = 27,
    STYPE_BRIDGE_044_1          = 28,
    STYPE_BRIDGE_046_1          = 29,
    STYPE_BRIDGE_04B_1          = 30,
    STYPE_BRIDGE_04D_1          = 31,
    STYPE_BRIDGE_75D_1          = 32,
    STYPE_JUNCTION1             = 1,
    STYPE_BRIDGE_624_1          = 33,
    STYPE_BRIDGE_626_1          = 34,
    STYPE_BRIDGE_62B_1          = 35,
    STYPE_BRIDGE_62D_1          = 36,
    STYPE_BRIDGE6_2             = 15,
    STYPE_BRIDGE6_3             = 17,
    STYPE_BRIDGE3_1             = 18,
    STYPE_BRIDGE_044_2          = 37,
    STYPE_BRIDGE_044_3          = 38,
    STYPE_BRIDGE_046_6          = 39,
    STYPE_BRIDGE_046_7          = 40,
    STYPE_BRIDGE_04B_2          = 41,
    STYPE_BRIDGE_04B_3          = 42,
    STYPE_BRIDGE_04B_4          = 43,
    STYPE_BRIDGE_04B_5          = 44,
    STYPE_BRIDGE_04B_6          = 45,
    STYPE_BRIDGE_04B_7          = 46,
    STYPE_BRIDGE_04D_2          = 47,
    STYPE_BRIDGE_04D_3          = 48,
    STYPE_BRIDGE_04D_4          = 49,
    STYPE_BRIDGE_04D_6          = 50,
    STYPE_BRIDGE_04D_7          = 51,
    STYPE_BRIDGE_624_2          = 52,
    STYPE_BRIDGE_624_3          = 53,
    STYPE_BRIDGE_624_4          = 54,
    STYPE_BRIDGE_624_5          = 55,
    STYPE_BRIDGE_624_6          = 56,
    STYPE_BRIDGE_624_7          = 57,
    STYPE_BRIDGE_62D_2          = 58,
    STYPE_BRIDGE_62D_3          = 59,
    STYPE_BRIDGE_62D_4          = 60,
    STYPE_BRIDGE_62D_5          = 61,
    STYPE_BRIDGE_62D_6          = 62,
    STYPE_BRIDGE_62D_7          = 63,
    STYPE_BRIDGE_626_2          = 64,
    STYPE_BRIDGE_626_3          = 65,
    STYPE_BRIDGE_626_4          = 66,
    STYPE_BRIDGE_626_5          = 67,
    STYPE_BRIDGE_626_6          = 68,
    STYPE_BRIDGE_626_7          = 69,
    STYPE_BRIDGE_62B_2          = 70,
    STYPE_BRIDGE_62B_4          = 71,
    STYPE_BRIDGE_62B_3          = 72,
    STYPE_BRIDGE_62B_5          = 73,
    STYPE_BRIDGE_62B_6          = 74,
    STYPE_BRIDGE_62B_7          = 75,
    STYPE_BRIDGE_654_2          = 76,
    STYPE_BRIDGE_654_3          = 77,
    STYPE_BRIDGE_654_4          = 78,
    STYPE_BRIDGE_654_5          = 79,
    STYPE_BRIDGE_654_6          = 80,
    STYPE_BRIDGE_654_7          = 81,
    STYPE_BRIDGE_656_2          = 82,
    STYPE_BRIDGE_656_3          = 83,
    STYPE_BRIDGE_656_4          = 84,
    STYPE_BRIDGE_656_5          = 85,
    STYPE_BRIDGE_656_6          = 86,
    STYPE_BRIDGE_656_7          = 87,
    STYPE_BRIDGE_65B_2          = 88,
    STYPE_BRIDGE_65B_3          = 89,
    STYPE_J235                  = 15,
    STYPE_BRIDGE_65B_4          = 90,
    STYPE_BRIDGE_65B_5          = 91,
    STYPE_BRIDGE_65B_6          = 92,
    STYPE_BRIDGE_65B_7          = 93,
    STYPE_BRIDGE_65D_2          = 94,
    STYPE_BRIDGE_65D_3          = 95,
    STYPE_BRIDGE_65D_4          = 96,
    STYPE_BRIDGE_65D_5          = 97,
    STYPE_BRIDGE_65D_6          = 98,
    STYPE_BRIDGE_65D_7          = 99,
    STYPE_BRIDGE_684_2          = 100,
    STYPE_BRIDGE_684_3          = 101,
    STYPE_BRIDGE_684_4          = 103,
    STYPE_BRIDGE_684_6          = 104,
    STYPE_BRIDGE_686_2          = 102,
    STYPE_BRIDGE_686_3          = 105,
    STYPE_BRIDGE_686_4          = 106,
    STYPE_BRIDGE_686_5          = 107,
    STYPE_BRIDGE_686_6          = 108,
    STYPE_BRIDGE_68B_2          = 110,
    STYPE_BRIDGE_68B_3          = 109,
    STYPE_BRIDGE_68B_4          = 111,
    STYPE_BRIDGE_68B_5          = 112,
    STYPE_BRIDGE_68B_6          = 113,
    STYPE_BRIDGE_68D_2          = 115,
    STYPE_BRIDGE_68D_3          = 114,
    STYPE_BRIDGE_68D_4          = 116,
    STYPE_BRIDGE_68D_6          = 118,
    STYPE_BRIDGE_6E4_2          = 117,
    STYPE_BRIDGE_6E4_3          = 119,
    STYPE_BRIDGE_6E4_4          = 120,
    STYPE_BRIDGE_6E4_5          = 122,
    STYPE_BRIDGE_6E4_6          = 121,
    STYPE_BRIDGE_6E4_7          = 123,
    STYPE_BRIDGE_6E6_2          = 124,
    STYPE_BRIDGE_6E6_3          = 125,
    STYPE_BRIDGE_6E6_4          = 126,
    STYPE_BRIDGE_6E6_6          = 127,
    STYPE_BRIDGE_6E6_5          = 128,
    STYPE_BRIDGE_6E6_7          = 129,
    STYPE_BRIDGE_6EB_2          = 130,
    STYPE_BRIDGE_6EB_3          = 131,
    STYPE_BRIDGE_6EB_4          = 132,
    STYPE_BRIDGE_6EB_5          = 133,
    STYPE_BRIDGE_6EB_6          = 134,
    STYPE_BRIDGE_6EB_7          = 135,
    STYPE_BRIDGE_6ED_2          = 136,
    STYPE_BRIDGE_6ED_3          = 137,
    STYPE_BRIDGE_6ED_4          = 138,
    STYPE_BRIDGE_6ED_5          = 139,
    STYPE_BRIDGE_6ED_6          = 140,
    STYPE_BRIDGE_6ED_7          = 141,
    STYPE_BRIDGE_754_2          = 142,
    STYPE_BRIDGE_754_3          = 143,
    STYPE_BRIDGE_754_4          = 144,
    STYPE_BRIDGE_754_5          = 145,
    STYPE_BRIDGE_754_6          = 146,
    STYPE_BRIDGE_754_7          = 147,
    STYPE_BRIDGE_75D_2          = 148,
    STYPE_BRIDGE_75D_3          = 149,
    STYPE_BRIDGE_75D_4          = 150,
    STYPE_BRIDGE_75D_5          = 151,
    STYPE_BRIDGE_75D_6          = 152,
    STYPE_BRIDGE_75D_7          = 153,
    STYPE_BRIDGE1_1A            = 19,
    STYPE_BRIDGE1_2A            = 20,
    STYPE_BRIDGE1_X2            = 21,
    STYPE_BRIDGE1_X2A           = 22,
    STYPE_BRIDGE1_X3            = 23,
    STYPE_BRIDGE1_X3A           = 24,
    STYPE_BRIDGE2_1A            = 25,
    STYPE_BRIDGE2_2A            = 26,
    STYPE_BRIDGE2_3A            = 27,
    STYPE_BRIDGE3_1A            = 28,
    STYPE_BRIDGE4_1A            = 29,
    STYPE_BRIDGE4_X2            = 30,
    STYPE_BRIDGE4_X2A           = 31,
    STYPE_BRIDGE5_1A            = 32,
    STYPE_BRIDGE6_1A            = 33,
    STYPE_BRIDGE6_X2            = 34,
    STYPE_BRIDGE6_X2A           = 35,
    STYPE_BRIDGE7_1A            = 36,
    STYPE_NSEOUL                = 4,
    STYPE_DTSEOUL               = 5,
    STYPE_J43E                  = 2,
    STYPE_J437                  = 3,
    STYPE_J43B                  = 4,
    STYPE_J43D                  = 5,
    STYPE_F303_1                = 5,
    STYPE_PLOT_F01_04           = 3,
    STYPE_PLOT_F01_05           = 4,
    STYPE_F30E_1                = 6,
    STYPE_F66C_1                = 7,
    STYPE_F801_1                = 8,
    STYPE_F802_1                = 9,
    STYPE_F804_1                = 10,
    STYPE_F805_1                = 11,
    STYPE_F80A_1                = 12,
    STYPE_F80B_1                = 13,
    STYPE_F80C_1                = 14,
    STYPE_FEC1_1                = 15,
    STYPE_FEC2_1                = 16,
    STYPE_FEC8_1                = 17,
    STYPE_APARTMENT7            = 7,
    STYPE_EJECT3                = 3,
    STYPE_FIRE1                 = 3,
    STYPE_EJECT4                = 3,
    STYPE_CANOPY1               = 1,
    STYPE_C01_02                = 1,
    STYPE_C01_04                = 4,
    STYPE_C01_05                = 5,
    STYPE_C01_06                = 6,
    STYPE_WAREHOUSE_CHEM        = 6,
    STYPE_OFFICE_CHEM           = 30,
    STYPE_WAREHOUSE_CHEM2       = 7,
    STYPE_TANK2                 = 2,
    STYPE_TANK3                 = 3,
    STYPE_TANK4                 = 4,
    STYPE_CRACKER1              = 1,
    STYPE_CRACKER2              = 2,
    STYPE_REL_VALVE1            = 3,
    STYPE_PROC_TANK1            = 5,
    STYPE_C01_10                = 7,
    STYPE_HOUSE1                = 12,
    STYPE_R02_01                = 2,
    STYPE_R02_02                = 3,
    STYPE_R02_03                = 4,
    STYPE_R02_04                = 5,
    STYPE_R02_05                = 6,
    STYPE_R02_06                = 7,
    STYPE_R02_07                = 8,
    STYPE_R02_08                = 9,
    STYPE_R02_09                = 10,
    STYPE_R02_10                = 11,
    STYPE_R02_11                = 12,
    STYPE_R02_12                = 13,
    STYPE_R02_13                = 14,
    STYPE_F05_01                = 11,
    STYPE_F05_02                = 12,
    STYPE_F05_03                = 13,
    STYPE_F05_04                = 14,
    STYPE_F05_05                = 15,
    STYPE_F05_06                = 16,
    STYPE_F05_07                = 17,
    STYPE_F05_08                = 18,
    STYPE_F05_09                = 19,
    STYPE_DOCK06                = 3,
    STYPE_HOTEL02               = 2,
    STYPE_HOSPITAL01            = 1,
    STYPE_HOSPITAL02            = 2,
    STYPE_HOSPITAL03            = 3,
    STYPE_SHOPBLK01             = 1,
    STYPE_SHOPBLK02             = 2,
    STYPE_SHOPBLK03             = 3,
    STYPE_SHOPBLK04             = 4,
    STYPE_REFINERY2             = 2,
    STYPE_F05_OBJ               = 18,
    STYPE_N02_01                = 3,
    STYPE_N02_02                = 4,
    STYPE_N02_03                = 5,
    STYPE_N02_04                = 6,
    STYPE_N02_05                = 7,
    STYPE_COOLT2                = 8,
    STYPE_R02_OBJ               = 3,
    STYPE_N03_01                = 9,
    STYPE_N03_02                = 10,
    STYPE_N03_03                = 11,
    STYPE_N03_04                = 12,
    STYPE_N03_05                = 13,
    STYPE_N03_06                = 14,
    STYPE_N03_OBJ               = 4,
    STYPE_N04_01                = 15,
    STYPE_N04_02                = 16,
    STYPE_N04_03                = 17,
    STYPE_N04_04                = 18,
    STYPE_N04_OBJ               = 5,
    STYPE_N02_OBJ               = 3,
    STYPE_C02_01                = 2,
    STYPE_C02_02                = 8,
    STYPE_C02_03                = 9,
    STYPE_C02_04                = 10,
    STYPE_C02_05                = 11,
    STYPE_C02_06                = 12,
    STYPE_C02_07                = 13,
    STYPE_C02_OBJ               = 2,
    STYPE_LGTNK_05              = 3,
    STYPE_LGTNK_06              = 4,
    STYPE_LGTNK_07              = 5,
    STYPE_RTWR_03               = 3,
    STYPE_RTWR_04               = 4,
    STYPE_CMTWR_01              = 14,
    STYPE_SILO_01               = 15,
    STYPE_CMTWR_02              = 16,
    STYPE_C03_01                = 17,
    STYPE_C03_OBJ               = 3,
    STYPE_PP01_01               = 2,
    STYPE_PP02_01               = 3,
    STYPE_PP02_02               = 2,
    STYPE_PP02_03               = 4,
    STYPE_PP03_01               = 5,
    STYPE_PP03_02               = 6,
    STYPE_PP03_03               = 7,
    STYPE_PP04_01               = 8,
    STYPE_PP02_OBJ              = 2,
    STYPE_PTWR_03               = 2,
    STYPE_PP01_04               = 9,
    STYPE_PP01_05               = 10,
    STYPE_PTWR03                = 3,
    STYPE_PP03_OBJ              = 3,
    STYPE_PTWR02                = 2,
    STYPE_PP04_OBJ              = 4,
    STYPE_F03_01                = 20,
    STYPE_F03_02                = 21,
    STYPE_F03_03                = 22,
    STYPE_F03_04                = 23,
    STYPE_F03_05                = 24,
    STYPE_F03_OBJ               = 19,
    STYPE_R03_01                = 15,
    STYPE_R03_02                = 16,
    STYPE_R03_03                = 17,
    STYPE_R03_04                = 18,
    STYPE_R03_05                = 19,
    STYPE_R03_06                = 20,
    STYPE_R03_07                = 21,
    STYPE_R03_OBJ               = 3,
    STYPE_NUM380                = 2,
    STYPE_NUM270                = 3,
    STYPE_TAIL_GUN              = 6,
    STYPE_ADMIN02               = 2,
    STYPE_CTR01                 = 3,
    STYPE_DEPO03                = 1,
    STYPE_R02OVER               = 2,
    STYPE_TAXIS02               = 4,
    STYPE_R03_NPGC              = 18,
    STYPE_R03_PGA               = 17,
    STYPE_R03_PGB               = 19,
    STYPE_R03_PGC               = 20,
    STYPE_TAXIS03L              = 5,
    STYPE_TAXIS03U              = 6,
    STYPE_SUNAN                 = 6,
    STYPE_F02_03                = 25,
    STYPE_SEOULAFB              = 7,
    STYPE_HNGR05                = 11,
    STYPE_R04AGA                = 21,
    STYPE_R04AGB                = 22,
    STYPE_R04AGC                = 23,
    STYPE_R04BGA                = 24,
    STYPE_R04BGB                = 25,
    STYPE_R04BGC                = 26,
    STYPE_TAXIS04               = 7,
    STYPE_LANDL                 = 27,
    STYPE_GEN_AFB               = 8,
    STYPE_NUM160                = 1,
    STYPE_RV82A                 = 28,
    STYPE_RV82B                 = 29,
    STYPE_RV82C                 = 30,
    STYPE_TAXIS05               = 8,
    STYPE_CTR03                 = 4,
    STYPE_KIMPO                 = 9,
    STYPE_TAXIS06               = 9,
    STYPE_R06RGA                = 31,
    STYPE_R06RGB                = 32,
    STYPE_R06RGC                = 33,
    STYPE_R06LGA                = 34,
    STYPE_R06LGB                = 35,
    STYPE_R06LGC                = 36,
    STYPE_FLAND                 = 37,
    STYPE_BLDG01                = 1,
    STYPE_BLDG02                = 2,
    STYPE_BLDG03                = 3,
    STYPE_BLDG04                = 4,
    STYPE_BLDG05                = 5,
    STYPE_BEACH                 = 1,
    STYPE_BORDER                = 1,
    STYPE_FORD                  = 1,
    STYPE_HILL_TOP              = 1,
    STYPE_PASS                  = 1,
    STYPE_SEA                   = 1,
    STYPE_ROAD                  = 1,
    STYPE_40F_9CC2              = 9,
    STYPE_80F_9CC1              = 10,
    STYPE_ECF_TOWN              = 10,
    STYPE_EC1_TOWN              = 11,
    STYPE_D35_TOWN              = 12,
    STYPE_D3A_TOWN              = 13,
    STYPE_237_TOWN              = 14,
    STYPE_23A_TOWN              = 15,
    STYPE_23B_TOWN              = 16,
    STYPE_23D_TOWN              = 17,
    STYPE_23E_TOWN              = 18,
    STYPE_247_TOWN              = 19,
    STYPE_248_TOWN              = 20,
    STYPE_235_TOWN              = 21,
    STYPE_A35_TOWN              = 22,
    STYPE_A37_TOWN              = 23,
    STYPE_A3A_TOWN              = 24,
    STYPE_A3B_TOWN              = 25,
    STYPE_A3D_TOWN              = 26,
    STYPE_A3E_TOWN              = 27,
    STYPE_A47_TOWN              = 28,
    STYPE_A48_TOWN              = 29,
    STYPE_C2F_TOWN              = 30,
    STYPE_D38_TOWN              = 31,
    STYPE_SHOP7                 = 7,
    STYPE_234_VILLAGE           = 7,
    STYPE_D39_VILLAGE           = 8,
    STYPE_JA3F                  = 6,
    STYPE_324_VILLAGE           = 9,
    STYPE_J324                  = 7,
    STYPE_40FBURB1              = 6,
    STYPE_835BURB1              = 7,
    STYPE_80FBURB1              = 11,
    STYPE_40F_9CC1              = 23,
    STYPE_80F_9CC2              = 8,
    STYPE_J40B                  = 8,
    STYPE_J435                  = 9,
    STYPE_J439                  = 10,
    STYPE_J444                  = 11,
    STYPE_J446                  = 12,
    STYPE_J83A                  = 13,
    STYPE_J844                  = 14,
    STYPE_23B_VILLAGE           = 15,
    STYPE_23D_VILLAGE           = 16,
    STYPE_23E_VILLAGE           = 17,
    STYPE_435BURB1              = 16,
    STYPE_A35_VILLAGE           = 18,
    STYPE_437BURB1              = 19,
    STYPE_43BBURB1              = 17,
    STYPE_446_TOWN              = 32,
    STYPE_A37_VILLAGE           = 20,
    STYPE_A3A_VILLAGE           = 21,
    STYPE_A3B_VILLAGE           = 22,
    STYPE_A3D_VILLAGE           = 23,
    STYPE_A3F_VILLAGE           = 24,
    STYPE_D35_VILLAGE           = 6,
    STYPE_D3A_VILLAGE           = 5,
    STYPE_D3B_VILLAGE           = 4,
    STYPE_D3E_VILLAGE           = 3,
    STYPE_D3F_VILLAGE           = 2,
    STYPE_D37_VILLAGE           = 1,
    STYPE_30F_9CC1              = 18,
    STYPE_307_TOWN              = 37,
    STYPE_83ABURB1              = 15,
    STYPE_ECFBURB1              = 13,
    STYPE_237BURB1              = 14,
    STYPE_237_VILLAGE           = 13,
    STYPE_D38_VILLAGE           = 14,
    STYPE_C2FBURB1              = 15,
    STYPE_A3E_VILLAGE           = 10,
    STYPE_235_VILLAGE           = 11,
    STYPE_23A_VILLAGE           = 12,
    STYPE_23ABURB1              = 12,
    STYPE_307BURB1              = 2,
    STYPE_30BBURB1              = 3,
    STYPE_30D_TOWN              = 33,
    STYPE_30DBURB1              = 19,
    STYPE_30E_TOWN              = 34,
    STYPE_30EBURB1              = 20,
    STYPE_E8B_TOWN              = 35,
    STYPE_E8BBURB1              = 21,
    STYPE_E8E_TOWN              = 36,
    STYPE_E8EBURB1              = 22,
    STYPE_30FBURB1              = 1,
    STYPE_JA35                  = 16,
    STYPE_JA37                  = 17,
    STYPE_JA3A                  = 18,
    STYPE_JA3B                  = 19,
    STYPE_JA3D                  = 20,
    STYPE_JA3E                  = 21,
    STYPE_JD37                  = 22,
    STYPE_JD39                  = 23,
    STYPE_JD3B                  = 24,
    STYPE_JD3D                  = 25,
    STYPE_JD3E                  = 26,
    STYPE_JEC1                  = 27,
    STYPE_EE7BURB1              = 25,
    STYPE_EE4BURB1              = 26,
    STYPE_303BURB1              = 27,
    STYPE_B27BURB1              = 28,
    STYPE_B2BBURB1              = 29,
    STYPE_B2B_TOWN              = 38,
    STYPE_B2FBURB1              = 30,
    STYPE_B2F_TOWN              = 39,
    STYPE_C27BURB1              = 31,
    STYPE_C2ABURB1              = 32,
    STYPE_C2BBURB1              = 33,
    STYPE_E8FBURB1              = 34,
    STYPE_EC2BURB1              = 35,
    STYPE_EC5BURB1              = 36,
    STYPE_ECABURB1              = 37,
    STYPE_ECDBURB1              = 38,
    STYPE_ECEBURB1              = 39,
    STYPE_EEDBURB1              = 40,
    STYPE_EEFBURB1              = 41,
    STYPE_EED_TOWN              = 8,
    STYPE_EEF_TOWN              = 9,
    STYPE_FLAND27               = 38,
    STYPE_AB5_THP1              = 34,
    STYPE_AB5_THP2A             = 35,
    STYPE_AB5_THP3              = 36,
    STYPE_AB5_THP4              = 37,
    STYPE_AB5_THP7              = 38,
    STYPE_AB5_TMD1              = 39,
    STYPE_AB5_TMD2              = 40,
    STYPE_AB5_TMD3              = 41,
    STYPE_AB5_TMD4              = 42,
    STYPE_AB5_THP5              = 43,
    STYPE_AB5_THP6              = 44,
    STYPE_AB5_THP2B             = 45,
    STYPE_A52ARMB               = 2,
    STYPE_252ARMB               = 3,
    STYPE_251ARMB               = 4,
    STYPE_A51ARMB               = 5,
    STYPE_D52ARMB               = 6,
    STYPE_D51ARMB               = 7,
    STYPE_24FSAM                = 7,
    STYPE_24ESAM                = 2,
    STYPE_CRANE1                = 4,
    STYPE_DAEWOO                = 5,
    STYPE_BUNKER3               = 3,
    STYPE_D4FSAM                = 3,
    STYPE_D4ESAM                = 4,
    STYPE_A4FSAM                = 5,
    STYPE_A4ESAM                = 6,
    STYPE_DOCK07                = 6,
    STYPE_00CPORT               = 3,
    STYPE_66DPORT               = 4,
    STYPE_731PORT               = 5,
    STYPE_795PORT               = 6,
    STYPE_79APORT               = 7,
    STYPE_79BPORT               = 8,
    STYPE_79DPORT               = 9,
    STYPE_79EPORT               = 10,
    STYPE_7A0PORT               = 11,
    STYPE_DOCK04                = 7,
    STYPE_DOCK05                = 8,
    STYPE_7A1PORT               = 12,
    STYPE_7A2PORT               = 13,
    STYPE_7A5PORT               = 14,
    STYPE_7A6PORT               = 15,
    STYPE_304CHEM               = 4,
    STYPE_40CCHEM               = 1,
    STYPE_80ACHEM               = 5,
    STYPE_817CHEM               = 6,
    STYPE_84DCHEM               = 7,
    STYPE_C28CHEM               = 8,
    STYPE_EC1CHEM               = 9,
    STYPE_EC2CHEM               = 10,
    STYPE_EC4CHEM               = 11,
    STYPE_41EREFIN              = 4,
    STYPE_436REFIN              = 2,
    STYPE_807REFIN              = 3,
    STYPE_EC2REFIN              = 5,
    STYPE_ECAREFIN              = 6,
    STYPE_14DNUKE1              = 6,
    STYPE_14DNUKE2              = 1,
    STYPE_79BNUKE1              = 2,
    STYPE_805NUKE1              = 3,
    STYPE_817NUKE1              = 4,
    STYPE_84BNUKE1              = 5,
    STYPE_D35NUKE1              = 7,
    STYPE_D3ANUKE1              = 8,
    STYPE_D3BNUKE1              = 9,
    STYPE_D3CNUKE2              = 10,
    STYPE_D5ANUKE1              = 11,
    STYPE_D5ANUKE2              = 12,
    STYPE_D89NUKE1              = 13,
    STYPE_DA7NUKE1              = 14,
    STYPE_EE1NUKE1              = 15,
    STYPE_20_02ABASE            = 10,
    STYPE_02_20ABASE2           = 2,
    STYPE_20_02ABASE2           = 1,
    STYPE_05_23ABASE2           = 10,
    STYPE_34_16ABASE2           = 3,
    STYPE_MFLAME_S              = 2,
    STYPE_MFLAME_L              = 1,
    STYPE_01_19ABASE            = 4,
    STYPE_02_20ABASE            = 11,
    STYPE_08_26ABASE            = 12,
    STYPE_11_29ABASE            = 13,
    STYPE_12_30ABASE            = 14,
    STYPE_20_02ABASE1           = 15,
    STYPE_21_03ABASE            = 16,
    STYPE_23_05ABASE            = 17,
    STYPE_26_08ABASE            = 18,
    STYPE_30_12ABASE            = 19,
    STYPE_32_14ABASE            = 20,
    STYPE_34_16ABASE            = 21,
    STYPE_36_18ABASE            = 22,
    STYPE_THP                   = 10,
    STYPE_THPX                  = 11,
    STYPE_THA                   = 12,
    STYPE_THB                   = 13,
    STYPE_THC                   = 14,
    STYPE_THD                   = 15,
    STYPE_THE                   = 16,
    STYPE_THF                   = 17,
    STYPE_THG                   = 18,
    STYPE_ABLTL1                = 19,
    STYPE_AB1TL2                = 20,
    STYPE_AB1TL3                = 21,
    STYPE_AB1TL4                = 22,
    STYPE_AB1TL5                = 23,
    STYPE_AB1TL7                = 24,
    STYPE_AB1TL8                = 1,
    STYPE_AB7TMD1               = 25,
    STYPE_AB1TMD2               = 2,
    STYPE_AB1TMD3               = 26,
    STYPE_AB5TL1                = 27,
    STYPE_AB5TL2                = 28,
    STYPE_AB5TL3                = 29,
    STYPE_AB5TL4                = 30,
    STYPE_AB5TL5                = 31,
    STYPE_AB6TMD1               = 32,
    STYPE_AB6TMD2               = 33,
    STYPE_AB6TMD3               = 34,
    STYPE_AB6TMD4               = 35,
    STYPE_AB6TL3                = 36,
    STYPE_AB6UTMD2              = 38,
    STYPE_AB6UTMD3              = 39,
    STYPE_AB6UTL2               = 40,
    STYPE_AB8TMD1               = 42,
    STYPE_AB7TMD2               = 43,
    STYPE_AB7TMD3               = 41,
    STYPE_AB9TMD1               = 45,
    STYPE_AB9TMD2               = 46,
    STYPE_AB9TMD3               = 47,
    STYPE_AB9TMD4               = 57,
    STYPE_AB9TL1                = 48,
    STYPE_AB9TL2                = 49,
    STYPE_AB9TL4                = 50,
    STYPE_AB9TL3                = 51,
    STYPE_AB9TL6                = 52,
    STYPE_AB9TL5                = 7,
    STYPE_R03PGD                = 39,
    STYPE_R06RGD                = 40,
    STYPE_AB5TMD1               = 54,
    STYPE_AB5TMD2               = 55,
    STYPE_AB5TMD3               = 56,
    STYPE_SUWON                 = 23,
    STYPE_AB6TL1                = 9,
    STYPE_AB6UTMD1              = 53,
    STYPE_AB7TL1                = 37,
    STYPE_AB1TL1                = 44,
    STYPE_AB8TMD2               = 19,
    STYPE_AB6UTL1               = 8,
    STYPE_AIRSTRIPH             = 2,
    STYPE_HWYTAX1               = 1,
    STYPE_231FACT               = 20,
    STYPE_232FACT               = 2,
    STYPE_238FACT               = 1,
    STYPE_305FACT               = 3,
    STYPE_322FACT               = 9,
    STYPE_324FACT               = 10,
    STYPE_328FACT               = 11,
    STYPE_403FACT               = 12,
    STYPE_405FACT               = 13,
    STYPE_40AFACT               = 14,
    STYPE_F02_01                = 26,
    STYPE_F02_02                = 2,
    STYPE_F02_04                = 3,
    STYPE_F02_05                = 1,
    STYPE_WHSE06                = 8,
    STYPE_40CFACT               = 15,
    STYPE_417FACT               = 16,
    STYPE_418FACT               = 17,
    STYPE_41EFACT               = 5,
    STYPE_444FACT               = 6,
    STYPE_446FACT               = 7,
    STYPE_44BFACT               = 8,
    STYPE_44DFACT               = 21,
    STYPE_79CFACT               = 22,
    STYPE_7A0FACT               = 23,
    STYPE_801FACT               = 24,
    STYPE_802FACT               = 25,
    STYPE_803FACT               = 26,
    STYPE_805FACT               = 27,
    STYPE_807FACT               = 28,
    STYPE_80AFACT               = 29,
    STYPE_80BFACT               = 30,
    STYPE_817FACT               = 31,
    STYPE_81EFACT               = 32,
    STYPE_844FACT               = 33,
    STYPE_846FACT               = 34,
    STYPE_84BFACT               = 35,
    STYPE_84DFACT               = 36,
    STYPE_B28FACT               = 37,
    STYPE_B2CFACT               = 38,
    STYPE_C21FACT               = 39,
    STYPE_C22FACT               = 40,
    STYPE_C23FACT               = 41,
    STYPE_C24FACT               = 42,
    STYPE_C25FACT               = 43,
    STYPE_C28FACT               = 44,
    STYPE_C2BFACT               = 45,
    STYPE_C2CFACT               = 46,
    STYPE_D35FACT               = 47,
    STYPE_D3AFACT               = 48,
    STYPE_DA8FACT               = 49,
    STYPE_E81FACT               = 50,
    STYPE_E83FACT               = 51,
    STYPE_E8AFACT               = 52,
    STYPE_E8CFACT               = 53,
    STYPE_EC1FACT               = 54,
    STYPE_EC4FACT               = 55,
    STYPE_EC5FACT               = 56,
    STYPE_ECCFACT               = 57,
    STYPE_EE1FACT               = 58,
    STYPE_EE2FACT               = 60,
    STYPE_EE5FACT               = 59,
    STYPE_EE8FACT               = 61,
    STYPE_21DUGFACT             = 62,
    STYPE_UGNDFACT              = 27,
    STYPE_204UGNDFACT           = 63,
    STYPE_23CUGNDFACT           = 64,
    STYPE_202UGNDFACT           = 65,
    STYPE_20FUGNDFACT           = 66,
    STYPE_21CUGNDFACT           = 67,
    STYPE_FENCE1                = 3,
    STYPE_FENCE2                = 4,
    STYPE_FENCE3                = 5,
    STYPE_FENCE4                = 6,
    STYPE_2A6DMZ                = 3,
    STYPE_2A4DMZ                = 4,
    STYPE_2ADDMZ                = 2,
    STYPE_2ABDMZ                = 5,
    STYPE_DA8PP                 = 5,
    STYPE_40CPP                 = 6,
    STYPE_40APP                 = 7,
    STYPE_DA7PP                 = 8,
    STYPE_44BPP                 = 9,
    STYPE_EE2PP                 = 10,
    STYPE_322PP                 = 11,
    STYPE_235PP                 = 12,
    STYPE_PP01_02               = 11,
    STYPE_PP01_03               = 12,
    STYPE_EE2NUKE1              = 16,
    STYPE_DUGNDFACT             = 4,
    STYPE_RWYDIST1              = 6,
    STYPE_RWYDIST2              = 5,
    STYPE_RWYDIST3              = 4,
    STYPE_RWYDIST4              = 3,
    STYPE_MAYDAY                = 1,
    STYPE_KOEX                  = 31,
    STYPE_ARCH                  = 1,
    STYPE_KORYO                 = 3,
    STYPE_STOWER                = 5,
    STYPE_RYUGYONG              = 4,
    STYPE_TANKER                = 1,
    STYPE_OLY1                  = 2,
    STYPE_OLY2                  = 3,
    STYPE_OLY3                  = 4,
    STYPE_OLY4                  = 5,
    STYPE_OLY5                  = 6,
    STYPE_STADOBJ               = 36,
    STYPE_PANMUN                = 37,
    STYPE_PMJ1                  = 2,
    STYPE_PMJ2                  = 3,
    STYPE_DMZSFNC               = 7,
    STYPE_40FKOEX               = 38,
    STYPE_80FSTARCH             = 39,
    STYPE_STARCH                = 2,
    STYPE_KIM2                  = 3,
    STYPE_NBBRD1                = 8,
    STYPE_NBBRD2                = 9,
    STYPE_80FKYORO              = 40,
    STYPE_CLUBBLK               = 5,
    STYPE_80FRYUGNG             = 41,
    STYPE_5F0TOWER              = 42,
    STYPE_MAYDAYOBJ             = 43,
    STYPE_D35ARMB               = 8,
    STYPE_D35DEPOT              = 3,
    STYPE_D3AARMB               = 9,
    STYPE_D3ADEPOT              = 10,
    STYPE_D3FBURB1              = 42,
    STYPE_141ARMB               = 11,
    STYPE_D5CNUKE1              = 17,
    STYPE_D5ACHEM               = 12,
    STYPE_C2F_CITY              = 43,
    STYPE_307_CITY              = 44,
    STYPE_81E_CITY              = 45,
    STYPE_41E_CITY              = 46,
    STYPE_817_CITY              = 47,
    STYPE_137_TOWN              = 40,
    STYPE_137_VILLAGE           = 27,
    STYPE_137_JUNCT             = 28,
    STYPE_12E_TOWN              = 41,
    STYPE_12D_TOWN              = 43,
    STYPE_138_TOWN              = 44,
    STYPE_127_TOWN              = 45,
    STYPE_12A_TOWN              = 46,
    STYPE_12B_TOWN              = 47,
    STYPE_125_TOWN              = 48,
    STYPE_12E_VILLAGE           = 28,
    STYPE_12D_VILLAGE           = 29,
    STYPE_138_VILLAGE           = 30,
    STYPE_127_VILLAGE           = 31,
    STYPE_12A_VILLAGE           = 32,
    STYPE_12B_VILLAGE           = 33,
    STYPE_125_VILLAGE           = 34,
    STYPE_12E_JCT               = 29,
    STYPE_12D_JCT               = 30,
    STYPE_138_JCT               = 31,
    STYPE_127_JCT               = 32,
    STYPE_12A_JCT               = 33,
    STYPE_12B_JCT               = 34,
    STYPE_125_JCT               = 35,
    STYPE_RUNWAY_NUM            = 41,
    STYPE_CSHIP1                = 2,
    STYPE_CSHIP2                = 5,
    STYPE_CSHIP3                = 6,
    STYPE_CSHIP4                = 7,
    STYPE_                      = 4,
    STYPE_RWYLIT                = 5,
    STYPE_GRLINE                = 6,
    STYPE_YRLINE                = 7,
    STYPE_THR160                = 42,
    STYPE_MNAVBEAC              = 8,
    STYPE_F16PIT                = 2,
    STYPE_F16PIT_MP             = 3,
    STYPE_B_131_1               = 154,
    STYPE_LB02                  = 37,
    STYPE_B132_1                = 155,
    STYPE_B_784_1               = 156,
    STYPE_B_78B_1               = 157,
    STYPE_LB01                  = 38,
    STYPE_LB03                  = 39,
    STYPE_LB04                  = 40,
    STYPE_BRIDGE_131_2          = 158,
    STYPE_BRIDGE_131_3          = 159,
    STYPE_BRIDGE_131_4          = 160,
    STYPE_BRIDGE_132_2          = 161,
    STYPE_BRIDGE_132_3          = 162,
    STYPE_BRIDGE_132_4          = 163,
    STYPE_BRIDGE_242_1          = 164,
    STYPE_BRIDGE_241_1          = 6,
    STYPE_BRIDGE_241_2          = 5,
    STYPE_BRIDGE_241__3         = 165,
    STYPE_BRIDGE_241_4          = 166,
    STYPE_BRIDGE_242_2          = 167,
    STYPE_BRIDGE_242__3         = 168,
    STYPE_BRIDGE_242_4          = 169,
    STYPE_BRIDGE_A42_1          = 170,
    STYPE_BRIDGE_A41_1          = 14,
    STYPE_BRIDGE_a41_2          = 13,
    STYPE_BRIDGE_a41__3         = 171,
    STYPE_BRIDGE_a41_4          = 172,
    STYPE_BRIDGE_a42_2          = 173,
    STYPE_BRIDGE_A42__3         = 174,
    STYPE_BRIDGE_A42_4          = 175,
    STYPE_BRIDGE_D41_1          = 176,
    STYPE_BRIDGE_D41_2          = 177,
    STYPE_BRIDGE_D41__3         = 178,
    STYPE_BRIDGE_D41_4          = 179,
    STYPE_BRIDGE_D42_1          = 178,
    STYPE_BRIDGE_D42_2          = 180,
    STYPE_BRIDGE_D42_4          = 181,
    STYPE_B2AC_1                = 182,
    STYPE_B2A3_1                = 183,
    STYPE_BD2A_1                = 184,
    STYPE_POPMENU               = 1,
    STYPE_R03OPGA               = 43,
    STYPE_R03OPGD               = 44,
    STYPE_OSANLIT               = 9,
    STYPE_THP27                 = 58,
    STYPE_THP09                 = 59,
    STYPE_1RWYLIT               = 10,
    STYPE_2RWYLIT               = 11,
    STYPE_KIMPOLIT              = 12,
    STYPE_SEOULLIT              = 13,
    STYPE_SUNANLIT              = 14,
    STYPE_SUNANLIT2             = 15,
    STYPE_WONSANLIT             = 16,
    STYPE_THP01                 = 60,
    STYPE_THP02                 = 61,
    STYPE_THP02LR               = 62,
    STYPE_THP02RL               = 63,
    STYPE_THP03                 = 64,
    STYPE_THP05LR               = 65,
    STYPE_THP05RL               = 66,
    STYPE_THP08                 = 67,
    STYPE_THP11                 = 68,
    STYPE_THP12                 = 69,
    STYPE_THP14                 = 70,
    STYPE_THP14LR               = 71,
    STYPE_THP14RL               = 72,
    STYPE_THP15                 = 73,
    STYPE_THP16                 = 74,
    STYPE_THP16LR               = 75,
    STYPE_THP16RL               = 76,
    STYPE_THP18                 = 77,
    STYPE_THP19                 = 78,
    STYPE_THP20                 = 79,
    STYPE_THP20LR               = 80,
    STYPE_THP20RL               = 81,
    STYPE_THP21                 = 82,
    STYPE_THP23LR               = 83,
    STYPE_THP23RL               = 84,
    STYPE_THP26                 = 85,
    STYPE_THP29                 = 86,
    STYPE_THP30                 = 87,
    STYPE_THP32                 = 88,
    STYPE_THP32LR               = 89,
    STYPE_THP32RL               = 90,
    STYPE_THP33                 = 91,
    STYPE_THP34                 = 92,
    STYPE_THP34LR               = 93,
    STYPE_THP34RL               = 94,
    STYPE_THP36                 = 95,
    STYPE_00CPORTLIT            = 17,
    STYPE_MIRIM                 = 25,
    STYPE_66DPORTLIT            = 18,
    STYPE_731PORTLIT            = 19,
    STYPE_795PORTLIT            = 20,
    STYPE_79APORTLIT            = 21,
    STYPE_79BPORTLIT            = 22,
    STYPE_79DPORTLIT            = 23,
    STYPE_79EPORTLIT            = 24,
    STYPE_7A0PORTLIT            = 25,
    STYPE_7A1PORTLIT            = 26,
    STYPE_7A2PORTLIT            = 27,
    STYPE_7A5PORTLIT            = 28,
    STYPE_7A6PORTLIT            = 29,
    STYPE_C0FARMB               = 10,
    STYPE_D39ARMB               = 12,
    STYPE_142ARMB               = 13,
    STYPE_A0FARMB               = 14,
    STYPE_A35ARMB               = 15,
    STYPE_322DEPOT              = 4,
    STYPE_402DEPOT              = 5,
    STYPE_40CDEPOT              = 6,
    STYPE_84BDEPOT              = 7,
    STYPE_ECADEPOT              = 8,
    STYPE_D31DEPOT              = 9,
    STYPE_D36DEPOT              = 11,
    STYPE_D3BDEPOT              = 5,
    STYPE_D3CDEPOT              = 12,
    STYPE_D79DEPOT              = 13,
    STYPE_125DEPOT              = 14,
    STYPE_126DEPOT              = 15,
    STYPE_12DDEPOT              = 16,
    STYPE_A35DEPOT              = 17,
    STYPE_A3BDEPOT              = 18,
    STYPE_D35HQ                 = 2,
    STYPE_D5AHQ                 = 3,
    STYPE_14CHQ                 = 4,
    STYPE_FEFRADAR              = 2,
    STYPE_D35RADAR              = 3,
    STYPE_D3ARADAR              = 4,
    STYPE_D48RADAR              = 5,
    STYPE_20FRADAR              = 6,
    STYPE_DEPOTONE              = 9,
    STYPE_21BRADAR              = 7,
    STYPE_RTOWER01              = 6,
    STYPE_21CRADAR              = 8,
    STYPE_2DFRADAR              = 9,
    STYPE_F00RADAR              = 10,
    STYPE_F0FRADAR              = 11,
    STYPE_A34RADAR              = 12,
    STYPE_A3ERADAR              = 13,
    STYPE_BA2RADAR              = 14,
    STYPE_BA7RADAR              = 15,
    STYPE_BCFRADAR              = 16,
    STYPE_DA9RADAR              = 17,
    STYPE_PYONGNUKE             = 18,
    STYPE_6CEPORT               = 16,
    STYPE_6CCPORT               = 17,
    STYPE_798PORT               = 18,
    STYPE_FUELTRUCK             = 1,
    STYPE_SM977                 = 2,
    STYPE_APU                   = 3,
    STYPE_WTRAILER              = 4,
    STYPE_WLOADER               = 5)

  (defenum Specific_Types
    SPTYPE_20mmAAA              = 2,
    SPTYPE_P3                   = 1,
    SPTYPE_S3                   = 2,
    SPTYPE_A10                  = 1,
    SPTYPE_A37B                 = 2,
    SPTYPE_A6E                  = 3,
    SPTYPE_AC130U               = 4,
    SPTYPE_F4G                  = 5,
    SPTYPE_FB111                = 6,
    SPTYPE_HARRIER              = 7,
    SPTYPE_IL28                 = 8,
    SPTYPE_MIG27                = 9,
    SPTYPE_Q5                   = 10,
    SPTYPE_SU24                 = 11,
    SPTYPE_SU25                 = 12,
    SPTYPE_SU7                  = 13,
    SPTYPE_AH1                  = 1,
    SPTYPE_AH64                 = 2,
    SPTYPE_AH64D                = 3,
    SPTYPE_AH66                 = 4,
    SPTYPE_KA50                 = 5,
    SPTYPE_MI24                 = 6,
    SPTYPE_MI28                 = 7,
    SPTYPE_MI8                  = 8,
    SPTYPE_A50                  = 1,
    SPTYPE_E2C                  = 2,
    SPTYPE_E3                   = 3,
    SPTYPE_B1B                  = 1,
    SPTYPE_B2                   = 2,
    SPTYPE_B52G                 = 3,
    SPTYPE_TU16                 = 4,
    SPTYPE_TU160                = 5,
    SPTYPE_TU22                 = 6,
    SPTYPE_TU95                 = 7,
    SPTYPE_EA6B                 = 1,
    SPTYPE_EF111                = 2,
    SPTYPE_F14A                 = 2,
    SPTYPE_F15C                 = 3,
    SPTYPE_F22                  = 4,
    SPTYPE_F4E                  = 5,
    SPTYPE_F5E                  = 6,
    SPTYPE_J7                   = 7,
    SPTYPE_J8                   = 8,
    SPTYPE_MIG19                = 10,
    SPTYPE_MIG21                = 11,
    SPTYPE_MIG23MS              = 12,
    SPTYPE_MIG25                = 13,
    SPTYPE_MIG29                = 14,
    SPTYPE_MIG31                = 15,
    SPTYPE_SU15                 = 9,
    SPTYPE_SU27                 = 1,
    SPTYPE_F117                 = 1,
    SPTYPE_F15E                 = 2,
    SPTYPE_F16C                 = 3,
    SPTYPE_F18C                 = 4,
    SPTYPE_J5                   = 5,
    SPTYPE_E8C                  = 1,
    SPTYPE_OV10D                = 1,
    SPTYPE_RC135                = 2,
    SPTYPE_SR71                 = 3,
    SPTYPE_TR1                  = 4,
    SPTYPE_TR2                  = 5,
    SPTYPE_U2                   = 6,
    SPTYPE_MD500                = 1,
    SPTYPE_OH58D                = 2,
    SPTYPE_IL78                 = 1,
    SPTYPE_KC10                 = 2,
    SPTYPE_KC130R               = 3,
    SPTYPE_KC135                = 4,
    SPTYPE_TU16N                = 5,
    SPTYPE_AN12                 = 1,
    SPTYPE_AN124                = 2,
    SPTYPE_AN2                  = 3,
    SPTYPE_AN225                = 4,
    SPTYPE_AN70                 = 5,
    SPTYPE_AN72                 = 6,
    SPTYPE_C130                 = 7,
    SPTYPE_C141                 = 8,
    SPTYPE_C17                  = 9,
    SPTYPE_C5                   = 10,
    SPTYPE_IL76M                = 11,
    SPTYPE_MV22                 = 12,
    SPTYPE_Y8                   = 13,
    SPTYPE_CH46                 = 1,
    SPTYPE_CH47                 = 2,
    SPTYPE_CH53                 = 3,
    SPTYPE_MI26                 = 4,
    SPTYPE_UH1N                 = 5,
    SPTYPE_UH60L                = 6,
    SPTYPE_SACRAMENTO           = 1,
    SPTYPE_FAGLST               = 1,
    SPTYPE_120mmAP              = 28,
    SPTYPE_120mmHEAT            = 29,
    SPTYPE_105mm                = 1,
    SPTYPE_152mm                = 2,
    SPTYPE_73mm                 = 3,
    SPTYPE_BOFORS               = 4,
    SPTYPE_BLU109B              = 1,
    SPTYPE_BLU27                = 2,
    SPTYPE_CBU52BB              = 3,
    SPTYPE_CBU58AB              = 4,
    SPTYPE_CBU87                = 5,
    SPTYPE_CBU89B               = 6,
    SPTYPE_DURANDAL             = 7,
    SPTYPE_MK20ROCKEYE          = 8,
    SPTYPE_GBU10AB              = 1,
    SPTYPE_GBU12B               = 2,
    SPTYPE_GBU24B               = 3,
    SPTYPE_GPS_JSOW1            = 1, ; MI added for GPS Weaps
    SPTYPE_GPS_JSOW2            = 2, ; MI added for GPS Weaps
    SPTYPE_GPS_JSOW3            = 3, ; MI added for GPS Weaps
    SPTYPE_GPS_JSOW4            = 4, ; MI added for GPS Weaps
    SPTYPE_GPS_JSOW5            = 5, ; MI added for GPS Weaps
    SPTYPE_GPS_JDAM1            = 6, ; MI added for GPS Weaps
    SPTYPE_GPS_JDAM2            = 7, ; MI added for GPS Weaps
    SPTYPE_MK82                 = 1,
    SPTYPE_MK82SNAKEYE          = 2,
    SPTYPE_MK84                 = 3,
    SPTYPE_MK84AIR              = 4,
    SPTYPE_LOWALT               = 1,
    SPTYPE_CV67KENNEDY          = 1,
    SPTYPE_CG47                 = 1,
    SPTYPE_DECK_CLOUD1          = 1,
    SPTYPE_DEPTHCHARGE          = 1,
    SPTYPE_ALQ131               = 1,
    SPTYPE_ALLM16SQD            = 1,
    SPTYPE_ALLM4SQD             = 2,
    SPTYPE_ALLM60SQD            = 3,
    SPTYPE_CISARTSQD            = 4,
    SPTYPE_CISATMISSQD          = 5,
    SPTYPE_CISMORTSQD           = 6,
    SPTYPE_CISSAMSQD            = 7,
    SPTYPE_DPRKARTSQD           = 8,
    SPTYPE_DPRKATMISSQD         = 9,
    SPTYPE_DPRKMORTSQD          = 10,
    SPTYPE_DPRKSAMSQD           = 11,
    SPTYPE_PRCARTSQD            = 12,
    SPTYPE_PRCATMISSQD          = 13,
    SPTYPE_PRCMORTSQD           = 14,
    SPTYPE_PRCSAMSQD            = 15,
    SPTYPE_ROKARTSQD            = 16,
    SPTYPE_ROKATMISSQD          = 17,
    SPTYPE_ROKMORTSQD           = 18,
    SPTYPE_ROKSAMSQD            = 19,
    SPTYPE_USARTSQD             = 20,
    SPTYPE_USATMISSQD           = 21,
    SPTYPE_USMORTSQD            = 22,
    SPTYPE_USSAMSQUAD           = 23,
    SPTYPE_JANGWEI              = 1,
    SPTYPE_ULSAN                = 2,
    SPTYPE_100GAL               = 1,
    SPTYPE_300GAL               = 2,
    SPTYPE_370GAL               = 3,
    SPTYPE_500GAL               = 4,
    SPTYPE_600GAL               = 5,
    SPTYPE_GEARDEST             = 1,
    SPTYPE_CARGOSHP             = 1,
    SPTYPE_GENTANKER            = 2,
    SPTYPE_12_7mm               = 1,
    SPTYPE_20mm                 = 2,
    SPTYPE_30mm                 = 3,
    SPTYPE_40mmGL               = 4,
    SPTYPE_7_62mm               = 5,
    SPTYPE_7_62mmPKT            = 6,
    SPTYPE_76mm_3in_50cal       = 7,
    SPTYPE_GAU12U               = 8,
    SPTYPE_GAU8                 = 9,
    SPTYPE_GSH23                = 10,
    SPTYPE_M16GUN               = 11,
    SPTYPE_M46130mm             = 12,
    SPTYPE_M4GUN                = 13,
    SPTYPE_M60MGUN              = 14,
    SPTYPE_MK15PHALANX          = 15,
    SPTYPE_MK45                 = 16,
    SPTYPE_MNCLRBLADE           = 1,
    SPTYPE_AA1                  = 1,
    SPTYPE_AA10                 = 2,
    SPTYPE_AA10C                = 3,
    SPTYPE_AA11                 = 4,
    SPTYPE_AA12                 = 5,
    SPTYPE_AA2                  = 6,
    SPTYPE_AA2R                 = 7,
    SPTYPE_AA3                  = 8,
    SPTYPE_AA7                  = 9,
    SPTYPE_AA7R                 = 10,
    SPTYPE_AA8                  = 11,
    SPTYPE_AA9                  = 12,
    SPTYPE_AIM120               = 13,
    SPTYPE_AIM54                = 14,
    SPTYPE_AIM7                 = 15,
    SPTYPE_AIM9M                = 16,
    SPTYPE_AIM9P                = 17,
    SPTYPE_AIM9R                = 18,
    SPTYPE_AGM114               = 1,
    SPTYPE_AGM119               = 2,
    SPTYPE_AGM122               = 3,
    SPTYPE_AGM45                = 4,
    SPTYPE_AGM65A               = 5,
    SPTYPE_AGM65B               = 6,
    SPTYPE_AGM65D               = 7,
    SPTYPE_AGM65G               = 8,
    SPTYPE_AGM78                = 9,
    SPTYPE_AGM84                = 10,
    SPTYPE_AGM88                = 11,
    SPTYPE_AS10                 = 12,
    SPTYPE_AS11                 = 13,
    SPTYPE_AS12                 = 14,
    SPTYPE_AS14                 = 15,
    SPTYPE_AS15                 = 16,
    SPTYPE_AS7                  = 17,
    SPTYPE_AS9                  = 18,
    SPTYPE_AT2                  = 10,
    SPTYPE_AT6                  = 20,
    SPTYPE_HELLFIRE             = 21,
    SPTYPE_AS4                  = 1,
    SPTYPE_AS6                  = 2,
    SPTYPE_ADATS                = 1,
    SPTYPE_CHAPARRAL            = 2,
    SPTYPE_HAWK                 = 3,
    SPTYPE_HN_5_A               = 4,
    SPTYPE_HYDRA                = 5,
    SPTYPE_MK26                 = 6,
    SPTYPE_NIKE                 = 7,
    SPTYPE_PATRIOT              = 8,
    SPTYPE_RAPIER               = 9,
    SPTYPE_RIM7                 = 10,
    SPTYPE_SA13                 = 12,
    SPTYPE_SA14                 = 13,
    SPTYPE_SA15                 = 14,
    SPTYPE_SA19                 = 15,
    SPTYPE_SA2                  = 16,
    SPTYPE_SA3                  = 17,
    SPTYPE_SA4                  = 18,
    SPTYPE_SA5                  = 19,
    SPTYPE_SA6                  = 20,
    SPTYPE_SA7                  = 21,
    SPTYPE_SA8                  = 22,
    SPTYPE_SA9                  = 23,
    SPTYPE_SAN5                 = 24,
    SPTYPE_STINGER              = 25,
    SPTYPE_TOWM1046             = 1,
    SPTYPE_122mmAProcket        = 1,
    SPTYPE_122mmHErocket        = 2,
    SPTYPE_240mmROCKET          = 3,
    SPTYPE_ASROC                = 4,
    SPTYPE_AT3                  = 5,
    SPTYPE_AT5                  = 6,
    SPTYPE_FROG7                = 7,
    SPTYPE_M47                  = 8,
    SPTYPE_MINUTEMAN            = 9,
    SPTYPE_PEACEKEEPER          = 11,
    SPTYPE_RPG_7VAT             = 12,
    SPTYPE_SCUD                 = 13,
    SPTYPE_SS1                  = 14,
    SPTYPE_SS18                 = 15,
    SPTYPE_SS21                 = 16,
    SPTYPE_SS24                 = 17,
    SPTYPE_SS45                 = 18,
    SPTYPE_SSN2                 = 3,
    SPTYPE_160mmMORT            = 1,
    SPTYPE_60mmMORT             = 2,
    SPTYPE_M1937MORT            = 3,
    SPTYPE_M252MORT             = 4,
    SPTYPE_LST1179              = 1,
    SPTYPE_NOTHING              = 1,
    SPTYPE_NOWEAPON             = 2,
    SPTYPE_OSA2                 = 1,
    SPTYPE_WILDCAT              = 2,
    SPTYPE_PONTOONBRIDGE        = 1,
    SPTYPE_PUFFY_CLOUD1         = 1,
    SPTYPE_SINGLE               = 1,
    SPTYPE_TRIPLE               = 2,
    SPTYPE_LAU3A                = 1,
    SPTYPE_UB3257               = 2,
    SPTYPE_VIKHR                = 22,
    SPTYPE_SMALL_CRATER1        = 1,
    SPTYPE_FIRETEAM             = 1,
    SPTYPE_DD963                = 1,
    SPTYPE_DELTA                = 1,
    SPTYPE_TRIDENT              = 2,
    SPTYPE_PTK250               = 9,
    SPTYPE_TYPHOON              = 3,
    SPTYPE_OSCAR                = 1,
    SPTYPE_AKULA                = 1,
    SPTYPE_KILO                 = 2,
    SPTYPE_LOSANGELES           = 3,
    SPTYPE_SEAWOLF              = 4,
    SPTYPE_MK32                 = 1,
    SPTYPE_M167                 = 1,
    SPTYPE_2A65                 = 1,
    SPTYPE_M198                 = 2,
    SPTYPE_M163                 = 1,
    SPTYPE_P76ZSU23_4           = 2,
    SPTYPE_ZSU57_2              = 4,
    SPTYPE_CHAPARRALL           = 1,
    SPTYPE_M2A2ADATS            = 2,
    SPTYPE_M2A2ADV              = 3,
    SPTYPE_SA13L                = 4,
    SPTYPE_SA15L_GM569          = 5,
    SPTYPE_SA2L                 = 6,
    SPTYPE_SA4L                 = 7,
    SPTYPE_SA6L                 = 8,
    SPTYPE_M1A1                 = 5,
    SPTYPE_M1A2                 = 6,
    SPTYPE_M2A2                 = 7,
    SPTYPE_M2A2BC               = 8,
    SPTYPE_M48A5TNK             = 9,
    SPTYPE_M60                  = 10,
    SPTYPE_PT76                 = 13,
    SPTYPE_T55                  = 14,
    SPTYPE_T62                  = 15,
    SPTYPE_T72                  = 16,
    SPTYPE_T80                  = 17,
    SPTYPE_T90                  = 18,
    SPTYPE_TYPE62               = 19,
    SPTYPE_TYPE80               = 20,
    SPTYPE_TYPE85II             = 21,
    SPTYPE_TYPE90II             = 22,
    SPTYPE_XM8AGS               = 23,
    SPTYPE_2S19                 = 1,
    SPTYPE_2S3                  = 2,
    SPTYPE_M109                 = 3,
    SPTYPE_M110A2               = 4,
    SPTYPE_M1973SPARTY          = 5,
    SPTYPE_M1974SPARTY          = 6,
    SPTYPE_MLRS                 = 7,
    SPTYPE_SM240                = 9,
    SPTYPE_AVLM                 = 1,
    SPTYPE_M1MS                 = 2,
    SPTYPE_M60AVLB              = 3,
    SPTYPE_M88AVRV              = 4,
    SPTYPE_M9ACE                = 5,
    SPTYPE_P76MDK_2DOZER        = 6,
    SPTYPE_P76MT_55BRGLY        = 7,
    SPTYPE_ACRV                 = 1,
    SPTYPE_MTLBU                = 3,
    SPTYPE_AAV7A1               = 1,
    SPTYPE_AAVC7A1              = 2,
    SPTYPE_BMD                  = 3,
    SPTYPE_BMP1                 = 4,
    SPTYPE_BMP1ATG              = 5,
    SPTYPE_BMP2                 = 6,
    SPTYPE_BMP3                 = 7,
    SPTYPE_M113                 = 9,
    SPTYPE_M113A3               = 10,
    SPTYPE_M901                 = 11,
    SPTYPE_160mmMRTL            = 1,
    SPTYPE_FROG7L_ZIL135        = 1,
    SPTYPE_MTLB                 = 3,
    SPTYPE_YW_534_APC           = 4,
    SPTYPE_BRIGADE              = 1,
    SPTYPE_CHINESE_SA6          = 2,
    SPTYPE_CHINESE_ZU23         = 3,
    SPTYPE_DPRK_SA2             = 4,
    SPTYPE_DPRK_SA3             = 5,
    SPTYPE_DPRK_SA5             = 6,
    SPTYPE_DPRK_ZSU57           = 7,
    SPTYPE_ROK_HAWK             = 8,
    SPTYPE_30mmAAA              = 1,
    SPTYPE_203mm                = 6,
    SPTYPE_25mm                 = 25,
    SPTYPE_M2A3                 = 8,
    SPTYPE_HUMMVSTD             = 15,
    SPTYPE_HUMMVCARGO           = 14,
    SPTYPE_HMMWV_AMB            = 13,
    SPTYPE_ROK_NIKE             = 9,
    SPTYPE_SOVIET_SA15          = 10,
    SPTYPE_SOVIET_SA6           = 11,
    SPTYPE_SOVIET_SA8           = 12,
    SPTYPE_US_HAWK              = 13,
    SPTYPE_US_PATRIOT           = 7,
    SPTYPE_SOVIET_AIR           = 1,
    SPTYPE_US_AIR               = 2,
    SPTYPE_DPRK_AMPH            = 1,
    SPTYPE_SOVIET_AMPH          = 2,
    SPTYPE_US_AMPH              = 3,
    SPTYPE_CHINESE_TYPE80       = 2,
    SPTYPE_CHINESE_TYPE85II     = 3,
    SPTYPE_CHINESE_TYPE90II     = 4,
    SPTYPE_DPRK_T62             = 5,
    SPTYPE_ROK_M48              = 6,
    SPTYPE_SOVIET_T72           = 7,
    SPTYPE_SOVIET_T80           = 8,
    SPTYPE_SOVIET_T90           = 9,
    SPTYPE_US_M1                = 10,
    SPTYPE_US_M60               = 11,
    SPTYPE_US_CAV               = 1,
    SPTYPE_CHINESE_BB           = 1,
    SPTYPE_SOVIET_BB            = 2,
    SPTYPE_US_BB                = 3,
    SPTYPE_CHINESE_CV           = 1,
    SPTYPE_SOVIET_CV            = 2,
    SPTYPE_US_CV                = 3,
    SPTYPE_CHINESE_CR           = 1,
    SPTYPE_SOVIET_CR            = 2,
    SPTYPE_US_CR                = 3,
    SPTYPE_ROK_DD               = 1,
    SPTYPE_SOVIET_DD            = 2,
    SPTYPE_US_DD                = 3,
    SPTYPE_SOVIET_ENG           = 2,
    SPTYPE_US_ENG               = 1,
    SPTYPE_CHINESE_FF           = 1,
    SPTYPE_ROK_FF               = 2,
    SPTYPE_SOVIET_FF            = 3,
    SPTYPE_CHINESE_HQ           = 2,
    SPTYPE_DPRK_HQ              = 3,
    SPTYPE_ROK_HQ               = 4,
    SPTYPE_SOVIET_HQ            = 5,
    SPTYPE_US_HQ                = 1,
    SPTYPE_CHINESE_INF          = 2,
    SPTYPE_DPRK_INF             = 3,
    SPTYPE_ROK_INF              = 4,
    SPTYPE_SOVIET_INF           = 5,
    SPTYPE_US_INF               = 1,
    SPTYPE_SOVIET_MARINE        = 2,
    SPTYPE_US_LAV25             = 1,
    SPTYPE_CHINESE_MECH         = 2,
    SPTYPE_DPRK_BMP1            = 3,
    SPTYPE_ROK_M113             = 4,
    SPTYPE_SOVIET_MECH          = 5,
    SPTYPE_US_M2                = 1,
    SPTYPE_DPRK_PAT             = 1,
    SPTYPE_SOVIET_BM21          = 2,
    SPTYPE_SOVIET_BM24          = 3,
    SPTYPE_SOVIET_BM9A52        = 4,
    SPTYPE_US_MLRS              = 5,
    SPTYPE_ANY_SS               = 1,
    SPTYPE_SOVIET_SS            = 2,
    SPTYPE_US_SS                = 3,
    SPTYPE_ANY_TANK             = 1,
    SPTYPE_SOVIET_TRAN          = 1,
    SPTYPE_US_TRAN              = 2,
    SPTYPE_CHINESE_SP           = 2,
    SPTYPE_ROK_SP               = 4,
    SPTYPE_SOVIET_SP            = 5,
    SPTYPE_US_M109              = 6,
    SPTYPE_SOVIET_FROG7         = 2,
    SPTYPE_SOVIET_SCUD          = 3,
    SPTYPE_CHINESE_SSBN         = 1,
    SPTYPE_SOVIET_SSBN          = 2,
    SPTYPE_US_SSBN              = 3,
    SPTYPE_CHINESE_SSGN         = 1,
    SPTYPE_SOVIET_SSGN          = 2,
    SPTYPE_US_SSGN              = 3,
    SPTYPE_CHINESE_SSN          = 1,
    SPTYPE_SOVIET_SSN           = 2,
    SPTYPE_US_SSN               = 3,
    SPTYPE_SOVIET_SUP           = 2,
    SPTYPE_US_SUP               = 1,
    SPTYPE_CHINESE_ART          = 2,
    SPTYPE_SOVIET_ART           = 3,
    SPTYPE_US_M198              = 1,
    SPTYPE_LHD1                 = 1,
    SPTYPE_ZSU30                = 1,
    SPTYPE_ZU_23AAA             = 2,
    SPTYPE_2S6_TUNGUSKA         = 1,
    SPTYPE_HAWKL                = 2,
    SPTYPE_HUMMVAVG             = 3,
    SPTYPE_LAVADATS             = 4,
    SPTYPE_LAVADV               = 5,
    SPTYPE_MK29L                = 6,
    SPTYPE_NIKEL                = 7,
    SPTYPE_PATRIOTL             = 8,
    SPTYPE_SA2R                 = 9,
    SPTYPE_SA3L                 = 10,
    SPTYPE_SA3R                 = 11,
    SPTYPE_SA4R                 = 12,
    SPTYPE_SA5L                 = 13,
    SPTYPE_SA5R                 = 14,
    SPTYPE_SA8L                 = 15,
    SPTYPE_SA9L                 = 16,
    SPTYPE_BM21MLRS             = 1,
    SPTYPE_BM24MLRS             = 2,
    SPTYPE_BM9A52               = 3,
    SPTYPE_HUMMVTOW             = 16,
    SPTYPE_LAVR                 = 1,
    SPTYPE_FIRETRUCK            = 1,
    SPTYPE_HAWKRADAR            = 17,
    SPTYPE_M997HQ               = 1,
    SPTYPE_NIKERADAR            = 18,
    SPTYPE_PATRIOTR             = 19,
    SPTYPE_SA6RADAR             = 20,
    SPTYPE_BRDM1                = 1,
    SPTYPE_BRDM2                = 2,
    SPTYPE_BRDM3                = 3,
    SPTYPE_BTR70                = 4,
    SPTYPE_BTR80                = 5,
    SPTYPE_FAV                  = 6,
    SPTYPE_LAV25                = 7,
    SPTYPE_LAVC2                = 8,
    SPTYPE_LAVM                 = 9,
    SPTYPE_LAVTOW               = 10,
    SPTYPE_M998                 = 12,
    SPTYPE_CAR                  = 2,
    SPTYPE_CARGOTRUCK           = 3,
    SPTYPE_FUELTRUCK            = 4,
    SPTYPE_JEEP                 = 5,
    SPTYPE_KrAz255B             = 6,
    SPTYPE_KrAzFUEL             = 7,
    SPTYPE_M977                 = 8,
    SPTYPE_M977_FUEL            = 9,
    SPTYPE_M977CARGO            = 10,
    SPTYPE_SCUDL                = 11,
    SPTYPE_WC_551_APC           = 12,
    SPTYPE_120mmHE              = 26,
    SPTYPE_105mmAP              = 17,
    SPTYPE_105mmHE              = 18,
    SPTYPE_115mmAP              = 19,
    SPTYPE_115mmHE              = 20,
    SPTYPE_125mmAP              = 21,
    SPTYPE_125mmHE              = 22,
    SPTYPE_135mmAP              = 23,
    SPTYPE_135mmHE              = 24,
    SPTYPE_155mmAAA             = 3,
    SPTYPE_155mmHE              = 7,
    SPTYPE_122mmHE              = 5,
    SPTYPE_2S1                  = 8,
    SPTYPE_ZIL135               = 1,
    SPTYPE_DPRK_SP_152          = 1,
    SPTYPE_DPRK_AAA             = 1,
    SPTYPE_DPRK_SP_122          = 3,
    SPTYPE_DPRK_FROG            = 4,
    SPTYPE_TEST                 = 1,
    SPTYPE_DPRK_SCUD            = 1,
    SPTYPE_DPRK_T55             = 1,
    SPTYPE_DPRK_AIR_MOBILE      = 3,
    SPTYPE_DPRK_BM21            = 1,
    SPTYPE_2_75mm               = 4,
    SPTYPE_GBU15                = 4,
    SPTYPE_F18D                 = 6,
    SPTYPE_F18A                 = 7,
    SPTYPE_F18E                 = 4,
    SPTYPE_AN24                 = 14,
    SPTYPE_MK46                 = 2,
    SPTYPE_GPU5                 = 27,
    SPTYPE_FAB250LD             = 6,
    SPTYPE_FAB250HD             = 7,
    SPTYPE_GBU28B               = 7,
    SPTYPE_FAB250LGB            = 5,
    SPTYPE_FAB1000LD            = 8,
    SPTYPE_FAB1000HD            = 9,
    SPTYPE_FAB1000LGB           = 6,
    SPTYPE_LANTIRN_NAV          = 1,
    SPTYPE_LANTIRN_TARG         = 2,
    SPTYPE_AGM130               = 19,
    SPTYPE_AT4                  = 2,
    SPTYPE_SA12                 = 11,
    SPTYPE_MLRS_ROCKET          = 5,
    SPTYPE_UB1957               = 3,
    SPTYPE_RPK180               = 10,
    SPTYPE_RPK500               = 11,
    SPTYPE_AA8R                 = 19,
    SPTYPE_CHAFF1               = 1,
    SPTYPE_300GALW              = 6,
    SPTYPE_57MMROCK             = 6,
    SPTYPE_DESTBOMBER           = 8,
    SPTYPE_DISRUPTOR            = 20,
    SPTYPE_FFG                  = 3,
    SPTYPE_ENFAC                = 3,
    SPTYPE_DESTF16_1            = 8,
    SPTYPE_DESTF16_2            = 9,
    SPTYPE_DESTMIG29            = 17,
    SPTYPE_KIROV                = 2,
    SPTYPE_ROK_MARINE           = 3,
    SPTYPE_ROK_AAA              = 14,
    SPTYPE_ROK_M198             = 4,
    SPTYPE_DESTASW              = 3,
    SPTYPE_DESTATTACK           = 14,
    SPTYPE_DESTAWACS            = 4,
    SPTYPE_DESTECM              = 3,
    SPTYPE_DESTJSTAR            = 2,
    SPTYPE_DESTRECON            = 7,
    SPTYPE_DESTTANKER           = 6,
    SPTYPE_DESTTRANSPORT        = 15,
    SPTYPE_DESTATTHELO          = 9,
    SPTYPE_DESTRECHELO          = 3,
    SPTYPE_DESTTRANHELO         = 7,
    SPTYPE_DESTMIG19            = 18,
    SPTYPE_DESTMIG21            = 19,
    SPTYPE_RIFLE                = 30,
    SPTYPE_RES_INF_SQUAD        = 24,
    SPTYPE_ALL_RESERVE          = 1,
    SPTYPE_DEBRIS1              = 1,
    SPTYPE_DEBRIS2              = 2,
    SPTYPE_DEBRIS3              = 3,
    SPTYPE_CRATER2              = 1,
    SPTYPE_CRATER3              = 2,
    SPTYPE_CRATER4              = 3,
    SPTYPE_DESTIL28             = 15,
    SPTYPE_DESTMIG23MS          = 20,
    SPTYPE_DESTSU25             = 16,
    SPTYPE_DESTSU27             = 21,
    SPTYPE_DESTAN2              = 16,
    SPTYPE_30MM_TAIL_GUN        = 1,
    SPTYPE_DPRK_BMP2            = 6,
    SPTYPE_DPRK_TOW_ART         = 1,
    SPTYPE_D30                  = 3,
    SPTYPE_SIX                  = 3,
    SPTYPE_QUAD                 = 4,
    SPTYPE_GUYDIE               = 25,
    SPTYPE_DOWN_PILOT           = 26,
    SPTYPE_DPRK_FF              = 3,
    SPTYPE_ROK_PATROL           = 2,
    SPTYPE_240MM                = 8,
    SPTYPE_NUM380               = 1,
    SPTYPE_NUM270               = 2,
    SPTYPE_NUM160               = 3,
    SPTYPE_NAJIN                = 4,
    SPTYPE_AC130                = 16,
    SPTYPE_F16BLU               = 14,
    SPTYPE_F4                   = 15,
    SPTYPE_F5                   = 16,
    SPTYPE_F16B                 = 8,
    SPTYPE_PRC_MIG21            = 16,
    SPTYPE_CIS_MIG29            = 17,
    SPTYPE_CIS_SU27             = 18,
    SPTYPE_PRC_SU27             = 19,
    SPTYPE_57MM_HE              = 31,
    SPTYPE_SINGLE_AA            = 5,
    SPTYPE_2RAIL                = 6,
    SPTYPE_MAVRACK              = 7,
    SPTYPE_MUH1                 = 7,
    SPTYPE_CUH1                 = 8,
    SPTYPE_NUM01                = 4,
    SPTYPE_RCKT1                = 1,
    SPTYPE_AA10A                = 21,
    SPTYPE_DPRK_HART            = 5,
    SPTYPE_ALL_AK47SQUAD        = 27,
    SPTYPE_AK47                 = 32,
    SPTYPE_CF16A                = 8,
    SPTYPE_BIRACK               = 8,
    SPTYPE_HBIRACK              = 9,
    SPTYPE_HTRIRACK             = 10,
    SPTYPE_HONERACK             = 11,
    SPTYPE_RTRIRACK             = 12,
    SPTYPE_ONELAU3A             = 1,
    SPTYPE_BILAU3A              = 2,
    SPTYPE_TRILAU3A             = 3,
    SPTYPE_NUM23RW              = 5,
    SPTYPE_NUM05LW              = 6,
    SPTYPE_WLOADER              = 2,
    SPTYPE_APU                  = 3,
    SPTYPE_WTRAILER             = 4,
    )

  ;; data Type Class table Entries
  (defenum Data_Types
    DTYPE_MIN = 0, ;; JB 010106 for sanity checks
    DTYPE_FEATURE               = 1,
    DTYPE_NONE                  = 2,
    DTYPE_OBJECTIVE             = 3,
    DTYPE_UNIT                  = 4,
    DTYPE_VEHICLE               = 5,
    DTYPE_WEAPON                = 6,
    DTYPE_MAX = 7, ;; JB 010106 for sanity checks
    )
  )

(with-file "falcent.h"
  (defenum MoveType
    NoMove = 0,
    Foot,
    Wheeled,
    Tracked,
    LowAir,
    Air,
    Naval,
    Rail,
    MOVEMENT_TYPES))

(with-file "vuentity.h"
  (def VU_LAST_ENTITY_TYPE 100))

(with-file "pilot.h"
  (def PILOT_AVAILABLE 0)
  (def PILOT_KIA 1)
  (def PILOT_MIA 2)
  (def PILOT_RESCUED 3)
  (def PILOT_IN_USE 4))

(with-file "pilot.cpp"
  (def NUM_CALLSIGNS 160)
  (def NUM_PILOTS 686)
  (def FIRST_PILOT_ID 2300)
  (def FIRST_CALLSIGN_ID 2000))

(with-file "atm.h"
  (def ATM_MAX_CYCLES 32))

(with-file "cresmgr.h"
  (defenum unnamed
    _RSC_8_BIT_ = 0x00000001,
    _RSC_16_BIT_ = 0x00000002,
    _RSC_USECOLORKEY_ = 0x40000000,
    _RSC_SINGLE_ = 0x00000001,
    _RSC_MULTIPLE_ = 0x00000002,

    ;; Add types as needed
    _RSC_IS_IMAGE_ = 100,
    _RSC_IS_SOUND_ = 101,
    _RSC_IS_FLAT_ = 102))

(with-file "mission.h"
  (defenum MissionTypeEnum           ; NOTE: This must fit int a uchar
    AMIS_NONE           = 0,
    AMIS_BARCAP         = 1, ; BARCAP missions to protect a target area
    AMIS_BARCAP2        = 2, ; BARCAP missions to defend a border
    AMIS_HAVCAP         = 3,
    AMIS_TARCAP         = 4,
    AMIS_RESCAP         = 5,
    AMIS_AMBUSHCAP      = 6,
    AMIS_SWEEP          = 7,
    AMIS_ALERT          = 8,
    AMIS_INTERCEPT      = 9,
    AMIS_ESCORT         = 10,
    AMIS_SEADSTRIKE     = 11,
    AMIS_SEADESCORT     = 12,
    AMIS_OCASTRIKE      = 13, ; OCA strike (direct w;escort bitand sead)
    AMIS_INTSTRIKE      = 14, ; Interdiction (direct, alone)
    AMIS_STRIKE         = 15, ;
    AMIS_DEEPSTRIKE     = 16, ; Deep strike (safe path, w;escort bitand sead)
    AMIS_STSTRIKE       = 17, ; Stealth strike (safe path, alone)
    AMIS_STRATBOMB      = 18,
    AMIS_FAC            = 19,
    AMIS_ONCALLCAS      = 20,        ; On call CAS
    AMIS_PRPLANCAS      = 21,        ; Pre planned CAS
    AMIS_CAS            = 22,        ; Immediate CAS
    AMIS_SAD            = 23,        ; Search and destroy interdiction
    AMIS_INT            = 24, ; Interdiction (vs supply;fuel lines only)
    AMIS_BAI            = 25, ; Battlefield area interdiction
    AMIS_AWACS          = 26,
    AMIS_JSTAR          = 27,
    AMIS_TANKER         = 28,
    AMIS_RECON          = 29,
    AMIS_BDA            = 30,
    AMIS_ECM            = 31,
    AMIS_AIRCAV         = 32,
    AMIS_AIRLIFT        = 33,
    AMIS_SAR            = 34,
    AMIS_ASW            = 35,
    AMIS_ASHIP          = 36,
    AMIS_PATROL         = 37,
    AMIS_RECONPATROL    = 38,        ; Recon for enemy ground vehicles
    AMIS_ABORT          = 39,
    AMIS_TRAINING       = 40,
    AMIS_OTHER          = 41,
    )

  ;; Mission rolls
  (defenum MissionRollEnum
    ARO_CA              = 1,
    ARO_TACTRANS        = 2,            ; AMIS_SAR bitor AMIS_AIRCAV
    ARO_S               = 3, ; AMIS_OCASTRIKE bitor AMIS_INTSTRIKE bitor  ; Strike target
    ARO_GA              = 4, ; AMIS_SAD bitor AMIS_BAI bitor AMIS_ONCALLCAS bitor AMIS_PRPLANCAS   ; Ground attack
    ARO_SB              = 5, ; AMIS_STRATBOMB            ; Strategic bomb
    ARO_ECM             = 6, ; AMIS_ELJAM            ; Jam radar
    ARO_SEAD            = 7, ; AMIS_SEADSTRIKE bitor AMIS_SEADESCORT ; SEAD
    ARO_ASW             = 8, ; AMIS_ASW
    ARO_ASHIP           = 9, ; AMIS_ASHIP
    ARO_REC             = 10, ; AMIS_BDA bitor AMIS_RECON bitor AMIS_PATROL ; Recon
    ARO_TRANS           = 11, ; AMIS_AIRBORNE bitor AMIS_AIRLIFT           ; Drop off cargo
    ARO_ELINT           = 12, ; AMIS_AWACS
    ARO_AWACS           = 12,
    ARO_JSTAR           = 13,           ; AMIS_JSTAR
    ARO_TANK            = 14,           ; AMIS_TANKER
    ARO_FAC             = 15,
    ARO_OTHER           = 16,
    )                                   ;

  ;; Target Type
  (defenum MissionTargetTypeEnum
    AMIS_TAR_NONE       = 0,
    AMIS_TAR_OBJECTIVE  = 1,
    AMIS_TAR_UNIT       = 2,
    AMIS_TAR_LOCATION   = 3,
    )                                    ;

  ;; Additional Escort condition modes (normally ATM_MODE_OCA, DCA or INT)
  (defenum MissionEscortConditionEnum
    AMIS_ESC_ALWAYS     = 99,
    AMIS_ESC_NONE       = 98,
    )                                    ;

  ;; Tanker conditional modes
  (defenum TankerConditionalModeEnum
    TANKER_NONE         = 0,
    TANKER_HALF         = 1,
    TANKER_FULL         = 2,
    TANKER_ALWAYS       = 3,
    )                                    ;

  ;; flags for mission data
  (defenum MissionDataFlagEnum
    AMIS_ADDAWACS       = 0x01, ; Request AWACS
    AMIS_ADDJSTAR       = 0x02, ; Request JSTAR
    AMIS_ADDECM         = 0x04, ; Request ECM
    AMIS_ADDBDA         = 0x08, ; Request BDA
    AMIS_ADDESCORT      = 0x10, ; Request CA Escort (if enemy responds)
    AMIS_ADDSEAD        = 0x20, ; Request SEAD Escort (if enemy AD present)
    AMIS_ADDBARCAP      = 0x40, ; Trigger enemy BARCAP
    AMIS_ADDSWEEP       = 0x80, ; Trigger enemy Sweep
    AMIS_ADDOCASTRIKE   = 0x100, ; Trigger friendly OCA Strike vs enemy assets found
    AMIS_ADDTANKER      = 0x200, ; Add a tanker, if possible
    AMIS_NEEDTANKER     = 0x400, ; This mission can't go w;o a tanker
    AMIS_ADDFAC         = 0x800, ; Request FAC aircraft
    AMIS_ADDINTERCEPT   = 0x1000, ; Add an enemy intercept mission to intercept this mission

    AMIS_NOTHREAT       = 0x2000, ; Abort if above the minimum threat threshold
    AMIS_AVOIDTHREAT    = 0x4000, ; Dodge ADs vertically
    AMIS_HIGHTHREAT     = 0x8000, ; Abort only if extreme threat
    AMIS_IMMEDIATE      = 0x10000, ; Set if I'm looking for aircraft in flight
    AMIS_MATCHSPEED     = 0x20000, ; Try to build package with equivalent speed a;c
    AMIS_TARGET_ONLY    = 0x40000, ; go directly to target and back
    AMIS_NO_BREAKPT     = 0x80000, ; Don't add a breakpoint to this mission
    AMIS_DONT_COORD     = 0x100000, ; Don't match ingress;egress times with the main flight
    AMIS_AIR_LAUNCH_OK  = 0x200000, ; This mission can launch in mid-air (ie: from the edge of the map)
    AMIS_DONT_USE_AC    = 0x400000, ; Don't subtract aircraft from the squadron
    AMIS_NPC_ONLY       = 0x800000, ; Don't assign to potential player squadrons
    AMIS_FUDGE_RANGE    = 0x1000000, ; This mission is always in range - we'll just load more fuel
    AMIS_EXPECT_DIVERT  = 0x2000000, ; We want to sit around until we're told to divert
    AMIS_ASSIGNED_TAR   = 0x4000000, ; Used for diverts with a specific target in mind
    AMIS_NO_DIST_BONUS  = 0x8000000, ; Don't adjust mission priority by distance to front (add a constant)
    AMIS_NO_TARGETABORT = 0x10000000, ; Don't abort after reaching our target - just fly home
    AMIS_FLYALWAYS      = 0x20000000, ; Don't restrict percentage of missions flown
    AMIS_HELP_REQUEST   = 0x40000000, ; 2001-10-27 S.G. It's from an help request
    )                                    ;

  ;; Flags for mission requests
  (defenum MissionRequestFlagEnum
    REQF_USERESERVES    = 0x01, ; Use reserve aircraft for this request, if nessesary (mostly for support)
    REQF_CHECKED        = 0x02, ; This request has already been checked at least once
    REQF_NEEDRESPONSE   = 0x04, ; This needs to be dealt with immediately, and returns a response
    REQF_MET            = 0x08, ; This has been met already (in planned list)
    REQF_ONETRY         = 0x100, ; We get one try at building this, otherwise cancel
    REQF_USE_REQ_SQUAD  = 0x200, ; Use the squadron which requested the mission
    REQF_PART_OF_ACTION = 0x400, ; This target is part of a larger action by this team
    REQF_ALLOW_ERRORS   = 0x800, ; Allow missions to be planned with errors (for tactical engagement)
    REQF_TE_MISSION    = 0x1000,     ; This is a TE mission, correct mission length calculation mission.cpp
    )                                    ;

  ;; Returned by TargetThreats
  ;; Flags for what we really need
  (defenum TargetThreatReturnFlagEnum
    NEED_SEAD           = 0x01,
    NEED_ECM            = 0x02,

                                        ; Specifics as to the threat types
    THREAT_LALT_SAM     = 0x10,
    THREAT_HALT_SAM     = 0x20,
    THREAT_AAA          = 0x40,

                                        ; Specifics as to the threat location
    THREAT_ENROUTE      = 0x100,
    THREAT_TARGET       = 0x200,
    )                                    ;

  ;; Mission profiles
  (defenum MissionProfileEnum
    MPROF_LOW           = 0x01, ; Low engress profile
    MPROF_HIGH          = 0x02, ; High engress profile
    )                                    ;

  ;; Target area profiles
  (defenum TargetAreaProfileEnum
    TPROF_NONE          = 0, ; No target WP
    TPROF_ATTACK        = 1, ; IP, Target, Turn point  (Assembly, Break point)
    TPROF_HPATTACK      = 2, ; IP, Target (Assembly, Break point)
    TPROF_LOITER        = 3, ; 2 Turn points (Assembly)
    TPROF_TARGET        = 4, ; Target only (Assembly, Break point)
    TPROF_AVOID         = 5, ; Break point, Turn point (Assembly)
    TPROF_SWEEP         = 6, ; 3 circular Turn points
    TPROF_FLYBY         = 7, ; Pass over target, at lowest possible threat
    TPROF_SEARCH        = 8, ; Like loiter, but at full speed
    TPROF_LAND          = 9, ; Land at target for station time, then takeoff again
    )                                    ;

  ;; Target desctiption types (when to use target actions)
  (defenum TargetDescriptionType
    TDESC_NONE          = 0,
    TDESC_TTL           = 1, ; Takeoff To Landing (mission actions during whole route)
    TDESC_ATA           = 2, ; Assembly To Assembly
    TDESC_TAO           = 3, ; Target Area Only
    )                                    ;

  ;; Special time on target types
  (defenum SpecialTOTTypeEnum
    TOT_TAKEOFF         = 10,
    TOT_ENROUTE         = 11,
    TOT_INGRESS         = 12,
    )                                    ;

  ;; Mission request contexts (Why this mission is being requested)
  (defenum MissionRequestContext
    noContext,                    ; We don't really know why
    enemyUnitAdvanceBridge,  ; An enemy unit is advancing over a bridge
    enemyUnitMoveBridge,     ; An enemy unit is moving over a bridge
    enemyUnitAdvance,        ; An enemy unit is advancing
    enemyUnitMove,           ; An enemy unit is moving
    enemyUnitAttacking,      ; An enemy unit is attacking our forces
    enemyUnitDefending, ; An enemy unit is defending against our forces
    enemyForcesPresent, ; Enemy forces are suspected to be here
    attackEnemyUnit,    ; FAC CALL: Attack specific enemy unit (8)
    emptyUnit1,         ; TBD (9)
    emptyUnit2,         ; TBD (10)
    friendlyUnitAirborneMovement, ; a friendly unit needs airborne transportation
    emptyUnit5,                   ; TBD (12)
    emptyUnit6,                   ; TBD (13)
    enemyStrikesExpected,     ; Enemy air strikes expected in this area
    enemyAircraftPresent,  ; Enemy aircraft are expected (generic) (15)
    enemyGroundForcesPresent, ; Enemy ground forces are expected (JSTAR trigger)
    enemyRadarPresent,        ; Enemy radar operating (ECM trigger)
    enemySupportAircraftPresent,     ; Enemy support aircraft operating
    enemyCASAircraftPresent, ; Enemy ground attack aircraft are present
    interceptEnemyAircraft, ; AWACS CALL: Intercept specific enemy aircraft (20)
    emptyEnemyAir1,         ; TBD (21)
    hostileAircraftPresent, ; Hostile aircraft operating in an area
    emptyHostileAir1,       ; TBD (23)
    friendlyRescueExpected, ; Friendly SAR craft will be operating in the area
    friendlyCASExpected, ; Friendly CAS aircraft will be entering the area (25)
    friendlyAssetsExpected, ; Generic 'Friendly assets' will be operating here
    friendlyAssetsRefueling, ; Friendly aircraft will be refueling in the area (TANKER trigger)
    emptyFriendly1,          ; TBD (28)
    emptyFriendly2,          ; TBD (29)
    enemySupplyInterdictionBridge, ; Enemy supplies are being transported through here (30)
    enemySupplyInterdictionPort, ; Enemy supplies are being transported through here
    enemySupplyInterdictionDepot, ; Enemy supplies are being stored here
    enemySupplyInterdictionZone, ; Enemy supplies are being moved through here
    emptySupply1,                ; TBD (34)
    enemyProductionSource,      ; This is producing enemy war materials
    enemyFuelSource,            ; This is producing or storing fuel.
    enemyEnergySource,     ; This is a source of enemy electrical power
    enemyCommand,          ; This is being used as an enemy CCC module
    enemyAirDefense, ; Enemy air defenses are blocking friendly missions
    enemyAirPowerAirbase, ; This is being used to promote enemy air power (40)
    enemyAirPowerRadar, ; This is being used to promote enemy air power
    emptyObj1,          ; TBD (42)
    emptyObj2,          ; TBD (43)
    friendlyAWACSNeeded,             ; We need an awacs (AWACS trigger)
    friendlySuppliesIncomingAir, ; We've got friendly supplies coming in by air
    friendlySuppliesIncomingNaval,         ; Same by naval
    friendlySuppliesIncomingGround,        ; Same by ground
    friendlySuppliesIncomingRail,          ; Same by rail
    targetReconNeeded,      ; Need recon of this objective
    emptyx,                 ; TBD (50)
    emptyy,                 ; TBD (51)
    AirActionPrepAD,       ; OCA vs Air Defenses part of any air action
    AirActionPrepAB,    ; OCA vs Air Bases;Radar part of non-OCA action
    AirActionPrepAir,   ; Sweep;Escort part of a any action
    AirActionDCA,       ; Part of a DCA action
    AirActionOCA,       ; Part of an OCA action
    AirActionInterdiction,           ; Part of an interdiction action
    AirActionAttrition,              ; Part of an attrition action
    AirActionCAS,                    ; Part of a CAS action (59)
    emptyAction1,                    ; TBD (60)
    enemyNavalForceActive,           ; Ships are operating here
    enemyNavalForceStatic,           ; Ships in port
    enemyNavalForceUnloading,       ; Transport ships unloading in port
    otherContext))

(with-file "teamdata.cpp"
  ;; COLORREF TeamColorList[NUM_TEAM_COLORS] =
  (def TeamColorList
    ["CAMP_TEAM_WHITE"
     "CAMP_TEAM_GREEN"
     "CAMP_TEAM_BLUE"
     "CAMP_TEAM_BROWN"
     "CAMP_TEAM_ORANGE"
     "CAMP_TEAM_YELLOW"
     "CAMP_TEAM_RED"
     "CAMP_TEAM_GREY"])

  (defenum FlagImageIds ;; Flag Image IDs
    OOB_FLAGS_USA = 52000,
    OOB_FLAGS_NKOREA = 52001,
    OOB_FLAGS_CHINA = 52002,
    OOB_FLAGS_CIS = 52003,
    OOB_FLAGS_SKOREA = 52004,
    OOB_FLAGS_JAPAN = 52005,
    OOB_FLAGS_USA_DRK = 52006,
    OOB_FLAGS_NKOREA_DRK = 52007,
    OOB_FLAGS_CHINA_DRK = 52008,
    OOB_FLAGS_CIS_DRK = 52009,
    OOB_FLAGS_SKOREA_DRK = 52010,
    OOB_FLAGS_JAPAN_DRK = 52011,

    SMFLGS_USA = 52012,
    SMFLGS_SKOREA = 52013,
    SMFLGS_JAPAN = 52014,
    SMFLGS_CIS = 52015,
    SMFLGS_CHINA = 52016,
    SMFLGS_NKOREA = 52017,
    SMFLGS_GERMAN = 52018,
    SMFLGS_FRANCE = 52019,
    OOB_FLAGS_SWISS = 52020,
    OOB_FLAGS_SWISS_HRZ = 52021,
    OOB_FLAGS_BELGIUM_HRZ = 52022,
    OOB_FLAGS_BELGIUM = 52023,
    OOB_FLAGS_BELGIUM_DRK = 52024,
    OOB_FLAGS_BAHRAIN_HRZ = 52025,
    OOB_FLAGS_BAHRAIN_DRK = 52026,
    OOB_FLAGS_BRAZIL_HRZ = 52027,
    OOB_FLAGS_BRAZIL = 52028,
    OOB_FLAGS_BRAZIL_DRK = 52029,
    SMFLGS_SWISS = 52030,
    SMFLGS_BAHRAIN = 52031,
    OOB_FLAGS_GERMAN = 52032,
    SMFLGS_BELGIUM = 52033,
    SMFLGS_BRAZIL = 52034,
    OOB_FLAGS_SWISS_DRK = 52035,
    OOB_FLAGS_BAHRAIN = 52036,
    OOB_FLAGS_GERMAN_DRK = 52037,
    OOB_FLAGS_GERMAN_HRZ = 52038,
    OOB_FLAGS_FRANCE_DRK = 52039,
    OOB_FLAGS_FRANCE_HRZ = 52040,
    OOB_FLAGS_FRANCE         = 52041,
    OOB_FLAGS_USA_HRZ = 52046,
    OOB_FLAGS_NKOREA_HRZ = 52047,
    OOB_FLAGS_CHINA_HRZ = 52048,
    OOB_FLAGS_CIS_HRZ = 52049,
    OOB_FLAGS_SKOREA_HRZ = 52050,
    OOB_FLAGS_JAPAN_HRZ = 52051,
    );

;;   long FlagImageID[TOTAL_FLAGS][MAX_FLAG_TYPES] =
;; {
;;     // { BIG_VERT_DARK, BIG_VERT, BIG_HORIZ, SMALL_HORIZ },

;;     { 0, OOB_FLAGS_SWISS_DRK, OOB_FLAGS_SWISS, OOB_FLAGS_SWISS_HRZ, SMFLGS_SWISS }, // 6
;;     { 0, OOB_FLAGS_USA_DRK, OOB_FLAGS_USA, OOB_FLAGS_USA_HRZ, SMFLGS_USA }, // 0
;;     { 0, OOB_FLAGS_SKOREA_DRK, OOB_FLAGS_SKOREA, OOB_FLAGS_SKOREA_HRZ, SMFLGS_SKOREA }, // 1
;;     { 0, OOB_FLAGS_JAPAN_DRK, OOB_FLAGS_JAPAN, OOB_FLAGS_JAPAN_HRZ, SMFLGS_JAPAN }, // 11
;;     { 0, OOB_FLAGS_CIS_DRK, OOB_FLAGS_CIS, OOB_FLAGS_CIS_HRZ, SMFLGS_CIS }, // 8
;;     { 0, OOB_FLAGS_CHINA_DRK, OOB_FLAGS_CHINA, OOB_FLAGS_CHINA_HRZ, SMFLGS_CHINA }, // 3
;;     { 0, OOB_FLAGS_NKOREA_DRK, OOB_FLAGS_NKOREA, OOB_FLAGS_NKOREA_HRZ, SMFLGS_NKOREA }, // 2
;;     { 0, OOB_FLAGS_GERMAN_DRK, OOB_FLAGS_GERMAN, OOB_FLAGS_GERMAN_HRZ, SMFLGS_GERMAN }, // 4
;;     // These flags are no longer used because we have no team adjectives to match them
;;     /* { 0, OOB_FLAGS_FRANCE_DRK, OOB_FLAGS_FRANCE, OOB_FLAGS_FRANCE_HRZ, SMFLGS_FRANCE }, // 5
;;      { 0, OOB_FLAGS_BELGIUM_DRK,OOB_FLAGS_BELGIUM, OOB_FLAGS_BELGIUM_HRZ, SMFLGS_BELGIUM }, // 7
;;      { 0, OOB_FLAGS_BRAZIL_DRK, OOB_FLAGS_BRAZIL, OOB_FLAGS_BRAZIL_HRZ, SMFLGS_BRAZIL }, // 10
;;      { 0, OOB_FLAGS_BAHRAIN_DRK,OOB_FLAGS_BAHRAIN, OOB_FLAGS_BAHRAIN_HRZ, SMFLGS_BAHRAIN }, // 9
;;     */
;; };

  (def FlagImageID
    [{:big-vert-dark OOB_FLAGS_SWISS_DRK
      :big-vert      OOB_FLAGS_SWISS
      :big-horiz     OOB_FLAGS_SWISS_HRZ
      :small-horiz   SMFLGS_SWISS}
     {:big-vert-dark OOB_FLAGS_USA_DRK
      :big-vert      OOB_FLAGS_USA
      :big-horiz     OOB_FLAGS_USA_HRZ
      :small-horiz   SMFLGS_USA}
     {:big-vert-dark OOB_FLAGS_SKOREA_DRK
      :big-vert      OOB_FLAGS_SKOREA
      :big-horiz     OOB_FLAGS_SKOREA_HRZ
      :small-horiz   SMFLGS_SKOREA}
     {:big-vert-dark OOB_FLAGS_JAPAN_DRK
      :big-vert      OOB_FLAGS_JAPAN
      :big-horiz     OOB_FLAGS_JAPAN_HRZ
      :small-horiz   SMFLGS_JAPAN}
     {:big-vert-dark OOB_FLAGS_CIS_DRK
      :big-vert      OOB_FLAGS_CIS
      :big-horiz     OOB_FLAGS_CIS_HRZ
      :small-horiz   SMFLGS_CIS}
     {:big-vert-dark OOB_FLAGS_CHINA_DRK
      :big-vert      OOB_FLAGS_CHINA
      :big-horiz     OOB_FLAGS_CHINA_HRZ
      :small-horiz   SMFLGS_CHINA}
     {:big-vert-dark OOB_FLAGS_NKOREA_DRK
      :big-vert      OOB_FLAGS_NKOREA
      :big-horiz     OOB_FLAGS_NKOREA_HRZ
      :small-horiz   SMFLGS_NKOREA}
     {:big-vert-dark OOB_FLAGS_GERMAN_DRK
      :big-vert      OOB_FLAGS_GERMAN
      :big-horiz     OOB_FLAGS_GERMAN_HRZ
      :small-horiz   SMFLGS_GERMAN}])


  ;; Map Icons
  (defenum MapIcons
    BLUE_TEAM_ICONS = 565120000,
    BLUE_TEAM_ICONS_W = 565120001,
    BROWN_TEAM_ICONS = 565120002,
    BROWN_TEAM_ICONS_W = 565120003,
    GREEN_TEAM_ICONS = 565120004,
    GREEN_TEAM_ICONS_W = 565120005,
    GREY_TEAM_ICONS = 565120006,
    GREY_TEAM_ICONS_W = 565120007,
    ORANGE_TEAM_ICONS = 565120008,
    ORANGE_TEAM_ICONS_W = 565120009,
    RED_TEAM_ICONS = 565120010,
    RED_TEAM_ICONS_W = 565120011,
    WHITE_TEAM_ICONS = 565120012,
    WHITE_TEAM_ICONS_W = 565120013,
    YELLOW_TEAM_ICONS = 565120014,
    YELLOW_TEAM_ICONS_W = 565120015,
    BLUE_AIR_EAST = 565121000,
    BLUE_AIR_EAST_W = 565121001,
    BLUE_AIR_NE = 565121002,
    BLUE_AIR_NE_W = 565121003,
    BLUE_AIR_NORTH = 565121004,
    BLUE_AIR_NORTH_W = 565121005,
    BLUE_AIR_NW = 565121006,
    BLUE_AIR_NW_W = 565121007,
    BLUE_AIR_SE = 565121008,
    BLUE_AIR_SE_W = 565121009,
    BLUE_AIR_SOUTH = 565121010,
    BLUE_AIR_SOUTH_W = 565121011,
    BLUE_AIR_SW = 565121012,
    BLUE_AIR_SW_W = 565121013,
    BLUE_AIR_WEST = 565121014,
    BLUE_AIR_WEST_W = 565121015,
    BROWN_AIR_EAST = 565121016,
    BROWN_AIR_EAST_W = 565121017,
    BROWN_AIR_NE = 565121018,
    BROWN_AIR_NE_W = 565121019,
    BROWN_AIR_NORTH = 565121020,
    BROWN_AIR_NORTH_W = 565121021,
    BROWN_AIR_NW = 565121022,
    BROWN_AIR_NW_W = 565121023,
    BROWN_AIR_SE = 565121024,
    BROWN_AIR_SE_W = 565121025,
    BROWN_AIR_SOUTH = 565121026,
    BROWN_AIR_SOUTH_W = 565121027,
    BROWN_AIR_SW = 565121028,
    BROWN_AIR_SW_W = 565121029,
    BROWN_AIR_WEST = 565121030,
    BROWN_AIR_WEST_W = 565121031,
    GREEN_AIR_EAST = 565121032,
    GREEN_AIR_EAST_W = 565121033,
    GREEN_AIR_NE = 565121034,
    GREEN_AIR_NE_W = 565121035,
    GREEN_AIR_NORTH = 565121036,
    GREEN_AIR_NORTH_W = 565121037,
    GREEN_AIR_NW = 565121038,
    GREEN_AIR_NW_W = 565121039,
    GREEN_AIR_SE = 565121040,
    GREEN_AIR_SE_W = 565121041,
    GREEN_AIR_SOUTH = 565121042,
    GREEN_AIR_SOUTH_W = 565121043,
    GREEN_AIR_SW = 565121044,
    GREEN_AIR_SW_W = 565121045,
    GREEN_AIR_WEST = 565121046,
    GREEN_AIR_WEST_W = 565121047,
    GREY_AIR_EAST = 565121048,
    GREY_AIR_EAST_W = 565121049,
    GREY_AIR_NE = 565121050,
    GREY_AIR_NE_W = 565121051,
    GREY_AIR_NORTH = 565121052,
    GREY_AIR_NORTH_W = 565121053,
    GREY_AIR_NW = 565121054,
    GREY_AIR_NW_W = 565121055,
    GREY_AIR_SE = 565121056,
    GREY_AIR_SE_W = 565121057,
    GREY_AIR_SOUTH = 565121058,
    GREY_AIR_SOUTH_W = 565121059,
    GREY_AIR_SW = 565121060,
    GREY_AIR_SW_W = 565121061,
    GREY_AIR_WEST = 565121062,
    GREY_AIR_WEST_W = 565121063,
    ORANGE_AIR_EAST = 565121064,
    ORANGE_AIR_EAST_W = 565121065,
    ORANGE_AIR_NE = 565121066,
    ORANGE_AIR_NE_W = 565121067,
    ORANGE_AIR_NORTH = 565121068,
    ORANGE_AIR_NORTH_W = 565121069,
    ORANGE_AIR_NW = 565121070,
    ORANGE_AIR_NW_W = 565121071,
    ORANGE_AIR_SE = 565121072,
    ORANGE_AIR_SE_W = 565121073,
    ORANGE_AIR_SOUTH = 565121074,
    ORANGE_AIR_SOUTH_W = 565121075,
    ORANGE_AIR_SW = 565121076,
    ORANGE_AIR_SW_W = 565121077,
    ORANGE_AIR_WEST = 565121078,
    ORANGE_AIR_WEST_W = 565121079,
    RED_AIR_EAST = 565121080,
    RED_AIR_EAST_W = 565121081,
    RED_AIR_NE = 565121082,
    RED_AIR_NE_W = 565121083,
    RED_AIR_NORTH = 565121084,
    RED_AIR_NORTH_W = 565121085,
    RED_AIR_NW = 565121086,
    RED_AIR_NW_W = 565121087,
    RED_AIR_SE = 565121088,
    RED_AIR_SE_W = 565121089,
    RED_AIR_SOUTH = 565121090,
    RED_AIR_SOUTH_W = 565121091,
    RED_AIR_SW = 565121092,
    RED_AIR_SW_W = 565121093,
    RED_AIR_WEST = 565121094,
    RED_AIR_WEST_W = 565121095,
    WHITE_AIR_EAST = 565121096,
    WHITE_AIR_EAST_W = 565121097,
    WHITE_AIR_NE = 565121098,
    WHITE_AIR_NE_W = 565121099,
    WHITE_AIR_NORTH = 565121100,
    WHITE_AIR_NORTH_W = 565121101,
    WHITE_AIR_NW = 565121102,
    WHITE_AIR_NW_W = 565121103,
    WHITE_AIR_SE = 565121104,
    WHITE_AIR_SE_W = 565121105,
    WHITE_AIR_SOUTH = 565121106,
    WHITE_AIR_SOUTH_W = 565121107,
    WHITE_AIR_SW = 565121108,
    WHITE_AIR_SW_W = 565121109,
    WHITE_AIR_WEST = 565121110,
    WHITE_AIR_WEST_W = 565121111,
    YELLOW_AIR_EAST = 565121112,
    YELLOW_AIR_EAST_W = 565121113,
    YELLOW_AIR_NE = 565121114,
    YELLOW_AIR_NE_W = 565121115,
    YELLOW_AIR_NORTH = 565121116,
    YELLOW_AIR_NORTH_W = 565121117,
    YELLOW_AIR_NW = 565121118,
    YELLOW_AIR_NW_W = 565121119,
    YELLOW_AIR_SE = 565121120,
    YELLOW_AIR_SE_W = 565121121,
    YELLOW_AIR_SOUTH = 565121122,
    YELLOW_AIR_SOUTH_W = 565121123,
    YELLOW_AIR_SW = 565121124,
    YELLOW_AIR_SW_W = 565121125,
    YELLOW_AIR_WEST = 565121126,
    YELLOW_AIR_WEST_W = 565121127,
    ))

(with-file "cmpradar.h"
  (def NUM_RADAR_ARCS 8)                   ; How many arcs each radar
                                        ; data will store
  (def ALT_FOR_RANGE_DETERMINATION 2500.0) ; when we return range,
                                        ; it'll be how far we can
                                        ; see something at this
                                        ; altitude
  (def MINIMUM_RADAR_RATIO 0.022) ; Minimum ratio (about 1 deg angle)
  )

(with-file "ptdata.h"
  (defenum PointTypes
    NoPt = 0,
    RunwayPt,
    TakeoffPt,
    TaxiPt,
    SAMPt,
    ArtilleryPt,
    AAAPt,
    RadarPt,
    RunwayDimPt,
    SupportPt,
    StaticRadarPt,
    SmallParkPt,
    LargeParkPt,
    SmallDockPt,
    LargeDockPt,
    TakeRunwayPt,
    HelicopterPt,
    FollowMePt,
    TrackPt,
    CritTaxiPt))

(with-file "campwp.h"
  ;; Waypoint actions
  (def WP_NOTHING 0)
  (def WP_TAKEOFF 1)
  (def WP_ASSEMBLE 2)
  (def WP_POSTASSEMBLE 3)
  (def WP_REFUEL       4)
  (def WP_REARM        5)
  (def WP_PICKUP 6) ;; Pick up a unit
  (def WP_LAND 7)
  (def WP_TIMING 8) ;; Just cruise around wasting time
  (def WP_CASCP 9)  ;; CAS contact point

  (def WP_ESCORT 10)       ;; Engage engaging fighters
  (def WP_CA 11)           ;; Engage all enemy aircraft
  (def WP_CAP 12)          ;; Patrol area for enemy aircraft
  (def WP_INTERCEPT    13) ;; Engage specific enemy aircraft
  (def WP_GNDSTRIKE 14)    ;; Engage enemy units at target
  (def WP_NAVSTRIKE 15)    ;; Engage enemy shits at target
  (def WP_SAD 16)          ;; Engage any enemy at target
  (def WP_STRIKE 17)       ;; Destroy enemy installation at target
  (def WP_BOMB 18)   ;; Strategic bomb enemy installation at target
  (def WP_SEAD 19)   ;; Suppress enemy air defense at target
  (def WP_ELINT 20)  ;; Electronic intellicence (AWACS, JSTAR, ECM)
  (def WP_RECON 21)  ;; Photograph target location
  (def WP_RESCUE 22) ;; Rescue a pilot at location
  (def WP_ASW 23)
  (def WP_TANKER 24) ;; Respond to tanker requests
  (def WP_AIRDROP 25)
  (def WP_JAM 26)

  ;; M.N. fix for Airlift missions
  ;;(def WP_LAND2 27 ;; this is our 2nd landing waypoint for Airlift missions
  ;; supply will be given at WP_LAND MNLOOK -> Change in string.txt 377

  (def WP_B5)
  (def WP_B6)
  (def WP_B7)
  (def WP_FAC 30)

  (def WP_MOVEOPPOSED 40) ;; These are movement wps
  (def WP_MOVEUNOPPOSED 41)
  (def WP_AIRBORNE 42)
  (def WP_AMPHIBIOUS 43)
  (def WP_DEFEND 44) ;; These are action wps
  (def WP_REPAIR 45)
  (def WP_RESERVE 46)
  (def WP_AIRDEFENSE 47)
  (def WP_FIRESUPPORT 48)
  (def WP_SECURE 49)

  (def WP_LAST 50)

  (def WPF_TARGET 0x0001)     ;; This is a target wp
  (def WPF_ASSEMBLE 0x0002) ;; Wait for other elements here
  (def WPF_BREAKPOINT 0x0004) ;; Break point
  (def WPF_IP 0x0008)         ;; IP waypoint
  (def WPF_TURNPOINT 0x0010)  ;; Turn point
  (def WPF_CP 0x0020)         ;; Contact point
  (def WPF_REPEAT 0x0040) ;; Return to previous WP until time is
                          ;; exceeded
  (def WPF_TAKEOFF 0x0080)
  (def WPF_LAND 0x0100) ;; Suck aircraft back into squadron
  (def WPF_DIVERT 0x0200) ;; This is a divert WP (deleted upon
                          ;; completion of divert)
  (def WPF_ALTERNATE 0x0400) ;; Alternate landing site

  ;; Climb profile flags
  (def WPF_HOLDCURRENT 0x0800) ;; Stay at current altitude until last minute

  ;; Other stuff
  (def WPF_REPEAT_CONTINUOUS 0x1000) ;; Do this until the end of time
  (def WPF_IN_PACKAGE 0x2000) ;; This is a package-coordinated wp

  ;; Even better "Other Stuff"
  (def WPF_TIME_LOCKED 0x4000) ;; This waypoint will have an arrive
                               ;; time as given, and will not be
                               ;; changed
  (def WPF_SPEED_LOCKED 0x8000) ;; This waypoint will have a speed as
                                ;; given, and will not be changed.
  (def WPF_REFUEL_INFORMATION  0x10000) ;; This waypoint is only an
                                        ;; informational waypoint, no
                                        ;; mission waypoint
  (def WPF_REQHELP 0x20000) ;; This divert waypoint is one from a
                            ;; request help call

  (def WPF_CRITICAL_MASK 0x07FF) ;; If it's one of these, we can't
                                 ;; skip this waypoint

  (def GRIDZ_SCALE_FACTOR 10) ;; How many feet per pt of Z.

  (def MINIMUM_ASL_ALTITUDE 5000) ;; Below this # of feet, the WP is considered AGL
  )

(with-file "team.h"
  ;; Country defines
  (defenum CountryListEnum
    COUN_NONE = 0,
    COUN_US,
    COUN_SOUTH_KOREA,
    COUN_JAPAN,
    COUN_RUSSIA,
    COUN_CHINA,
    COUN_NORTH_KOREA,
    COUN_GORN,
    NUM_COUNS,
    )

  ;; Team data defines
  (defenum TeamDataEnum
    TEAM_NEUTRAL = 0,
    TEAM_1,
    TEAM_2,
    TEAM_3,
    TEAM_4,
    TEAM_5,
    TEAM_6,
    TEAM_7,
    NUM_TEAMS,
    )

  ;; Relationship/stance type
  (defenum RelType
    NoRelations,
    Allied,
    Friendly,
    Neutral,
    Hostile,
    War)

  (defenum TeamFlagEnum
    TEAM_ACTIVE         = 0x01, ; Set if team is being used
    TEAM_HASSATS        = 0x02, ; Has satelites
    TEAM_UPDATED        = 0x04, ; We've gotten remote data for this team
    )
  )

(with-file "campstr.h"
  (def NUM_CAMERA_LABELS 16))

(with-file "ato.cpp"
  (defenum MissionCategories
    ATO_OCA = 1,
    ATO_STRIKE,
    ATO_INTERDICTION,
    ATO_SEAD,
    ATO_CAS,
    ATO_DCA,
    ATO_CCCI,
    ATO_MARITIME,
    ATO_SUPPORT,
    ATO_OTHER,
    ))


(with-file "flight.h"
  ;; planeStats values
  (def AIRCRAFT_NOT_ASSIGNED 0)
  (def AIRCRAFT_MISSING 1)
  (def AIRCRAFT_DEAD 2)
  (def AIRCRAFT_RTB 3)
  (def AIRCRAFT_AVAILABLE 4))

(with-file "phyconst.h"
  (def PASL 2116.22) ;; Standard pressure at sea level
  (def AASLK 661.48) ;; Speed of sound at sea level
  )

(with-file "feature.h"
  (def FEAT_EREPAIR 0x01) ; Set if enemy can repair this building
  (def FEAT_VIRTUAL 0x02) ; Don't deaggregate as an entity

  (def FEAT_HAS_LIGHT_SWITCH 0x04) ; Tells sim to turn on the lights at night
  (def FEAT_HAS_SMOKE_STACK 0x08) ; Tells sim to add smoke

  (def FEAT_FLAT_CONTAINER 0x100) ; Vehicles typically sit on this
  (def FEAT_ELEV_CONTAINER 0x200)

  (def FEAT_CAN_EXPLODE 0x400)
  (def FEAT_CAN_BURN 0x800)
  (def FEAT_CAN_SMOKE 0x1000)
  (def FEAT_CAN_COLAPSE 0x2000)

  (def FEAT_CONTAINER_TOP 0x4000)
  (def FEAT_NEXT_IS_TOP 0x8000)

  ;; 2002-02-06 MN this feature is not to be added to mission evaluation (trees...)
  (def FEAT_NO_HITEVAL 0x10)

  ;; Feature Entry flags
  (def FEAT_PREV_CRIT 0x01) ; Feature associations
  (def FEAT_NEXT_CRIT 0x02)
  (def FEAT_PREV_NORM 0x04)
  (def FEAT_NEXT_NORM 0x08))

(with-file "hardpnt.h"
  (defenum WeaponType
    wtGuns,
    wtAim9,
    wtAim120,
    wtAgm88,
    wtAgm65,
    wtMk82,
    wtMk84,
    wtGBU,
    wtSAM,
    wtLAU,
    wtFixed,
    wtNone,
    wtGPS)

  (defenum WeaponClass
    wcAimWpn,
    wcRocketWpn,
    wcBombWpn,
    wcGunWpn,
    wcECM,
    wcTank,
    wcAgmWpn,
    wcHARMWpn,
    wcSamWpn,
    wcGbuWpn,
    wcCamera,
    wcNoWpn)

  (defenum WeaponDomain
    wdAir = 0x1,
    wdGround = 0x2,
    wdBoth = 0x3,
    wdNoDomain = 0))
