SHARE
TWEET

halo_enums.h

liquidspark Apr 7th, 2019 83 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #ifndef halo_enums
  2. #define halo_enums
  3.  
  4. #pragma mark Files and Data
  5.  
  6. enum halo_data_type
  7. {
  8.     HALO_DATA_TYPE_UNSPECIFIED = 0,
  9.     HALO_DATA_TYPE_ANIMATION_FRAME_INFO,
  10.     HALO_DATA_TYPE_ANIMATION_DEFAULT,
  11.     HALO_DATA_TYPE_ANIMATION_FRAME,
  12.     HALO_DATA_TYPE_FONT_PIXEL_COMPRESSED,
  13.     HALO_DATA_TYPE_GEOMETRY_CLUSTER,
  14.     HALO_DATA_TYPE_GEOMETRY_MATERIAL_LIGHTMAP_VERTEX_COMPRESSED,
  15.     HALO_DATA_TYPE_GEOMETRY_MATERIAL_LIGHTMAP_VERTEX_UNCOMPRESSED,
  16.     HALO_DATA_TYPE_IMAGE_COMPRESSED_COLOR_PLATE,
  17.     HALO_DATA_TYPE_IMAGE_BITMAP_PROCESSED_PIXEL_A8,
  18.     HALO_DATA_TYPE_IMAGE_BITMAP_PROCESSED_PIXEL_Y8,
  19.     HALO_DATA_TYPE_IMAGE_BITMAP_PROCESSED_PIXEL_AY8,
  20.     HALO_DATA_TYPE_IMAGE_BITMAP_PROCESSED_PIXEL_A8Y8,
  21.     HALO_DATA_TYPE_IMAGE_BITMAP_PROCESSED_PIXEL_R5G6B5,
  22.     HALO_DATA_TYPE_IMAGE_BITMAP_PROCESSED_PIXEL_A1R5G5B5,
  23.     HALO_DATA_TYPE_IMAGE_BITMAP_PROCESSED_PIXEL_A4R4G4B4,
  24.     HALO_DATA_TYPE_IMAGE_BITMAP_PROCESSED_PIXEL_X8R8G8B8,
  25.     HALO_DATA_TYPE_IMAGE_BITMAP_PROCESSED_PIXEL_A8R8G8B8,
  26.     HALO_DATA_TYPE_IMAGE_BITMAP_PROCESSED_PIXEL_DXT1,
  27.     HALO_DATA_TYPE_IMAGE_BITMAP_PROCESSED_PIXEL_DXT3,
  28.     HALO_DATA_TYPE_IMAGE_BITMAP_PROCESSED_PIXEL_DXT5,
  29.     HALO_DATA_TYPE_IMAGE_BITMAP_PROCESSED_PIXEL_P8_BUMP,
  30.     HALO_DATA_TYPE_IMAGE_PNG,
  31.     HALO_DATA_TYPE_IMAGE_TIFF,
  32.     HALO_DATA_TYPE_INPUT_DEVICE_ID,
  33.     HALO_DATA_TYPE_INPUT_DEVICE_PROFILE,
  34.     HALO_DATA_TYPE_SCENARIO_EDITOR,
  35.     HALO_DATA_TYPE_SCENARIO_SCRIPT_SYNTAX,
  36.     HALO_DATA_TYPE_SCENARIO_SCRIPT,
  37.     HALO_DATA_TYPE_SCENARIO_COMMENT,
  38.     HALO_DATA_TYPE_SCENARIO_RECORDED_ANIMATION_EVENT_STREAM,
  39.     HALO_DATA_TYPE_SCENARIO_SOURCE_FILE_SOURCE,
  40.     HALO_DATA_TYPE_SHADER_METER_STENCIL_ENCODED,
  41.     HALO_DATA_TYPE_SOUND_SAMPLE_WAVE_LINEAR_PCM,
  42.     HALO_DATA_TYPE_SOUND_SAMPLE_OGG_VORBIS,
  43.     HALO_DATA_TYPE_SOUND_SAMPLE_XBOX_ADPCM,
  44.     HALO_DATA_TYPE_SOUND_SAMPLE_AIFF,
  45.     HALO_DATA_TYPE_SOUND_SAMPLE_CAF,
  46.     HALO_DATA_TYPE_SOUND_MOUTH,
  47.     HALO_DATA_TYPE_SOUND_SUBTITLE,
  48.     HALO_DATA_TYPE_SOUND_ENVIRONMENT_PAS,
  49.     HALO_DATA_TYPE_TEXT_HUD_MESSAGE,
  50.     HALO_DATA_TYPE_TEXT_STRING_REFERENCE_8BIT,
  51.     HALO_DATA_TYPE_TEXT_STRING_REFERENCE_16BIT
  52. };
  53.  
  54. enum halo_data_location_format
  55. {
  56.     HALO_DATA_LOCATION_FORMAT_UNSPECIFIED = 0,
  57.     HALO_DATA_LOCATION_FORMAT_DISK,
  58.     HALO_DATA_LOCATION_FORMAT_MEMORY,
  59.     HALO_DATA_LOCATION_FORMAT_DISK_OR_MEMORY
  60. };
  61.  
  62. enum halo_data_chew_state
  63. {
  64.     HALO_DATA_CHEW_STATE_UNSPECIFIED = 0,
  65.     HALO_DATA_CHEW_STATE_RAW,
  66.     HALO_DATA_CHEW_STATE_UNPROCESSING,
  67.     HALO_DATA_CHEW_STATE_PROCESSING,
  68.     HALO_DATA_CHEW_STATE_PROCESSED
  69. };
  70.  
  71. enum halo_file_type
  72. {
  73.     HALO_FILE_TYPE_UNSPECIFIED_BLAM = 0,
  74.     HALO_FILE_TYPE_TAG_ACTR,
  75.     HALO_FILE_TYPE_TAG_ACTV,
  76.     HALO_FILE_TYPE_TAG_ANT,
  77.     HALO_FILE_TYPE_TAG_ANTR,
  78.     HALO_FILE_TYPE_TAG_BIPD,
  79.     HALO_FILE_TYPE_TAG_BITM,
  80.     HALO_FILE_TYPE_TAG_BOOM,
  81.     HALO_FILE_TYPE_TAG_CDMG,
  82.     HALO_FILE_TYPE_TAG_COLL,
  83.     HALO_FILE_TYPE_TAG_COLO,
  84.     HALO_FILE_TYPE_TAG_CONT,
  85.     HALO_FILE_TYPE_TAG_CTRL,
  86.     HALO_FILE_TYPE_TAG_DECA,
  87.     HALO_FILE_TYPE_TAG_DELA,
  88.     HALO_FILE_TYPE_TAG_DEVC,
  89.     HALO_FILE_TYPE_TAG_DEVI,
  90.     HALO_FILE_TYPE_TAG_DOBC,
  91.     HALO_FILE_TYPE_TAG_EFFE,
  92.     HALO_FILE_TYPE_TAG_ELEC,
  93.     HALO_FILE_TYPE_TAG_EQIP,
  94.     HALO_FILE_TYPE_TAG_FLAG,
  95.     HALO_FILE_TYPE_TAG_FOG,
  96.     HALO_FILE_TYPE_TAG_FONT,
  97.     HALO_FILE_TYPE_TAG_FOOT,
  98.     HALO_FILE_TYPE_TAG_GARB,
  99.     HALO_FILE_TYPE_TAG_GLW,
  100.     HALO_FILE_TYPE_TAG_GRHI,
  101.     HALO_FILE_TYPE_TAG_HMT,
  102.     HALO_FILE_TYPE_TAG_HUDG,
  103.     HALO_FILE_TYPE_TAG_HUDN,
  104.     HALO_FILE_TYPE_TAG_ITEM,
  105.     HALO_FILE_TYPE_TAG_ITMC,
  106.     HALO_FILE_TYPE_TAG_JPT,
  107.     HALO_FILE_TYPE_TAG_LENS,
  108.     HALO_FILE_TYPE_TAG_LIFI,
  109.     HALO_FILE_TYPE_TAG_LIGH,
  110.     HALO_FILE_TYPE_TAG_LSND,
  111.     HALO_FILE_TYPE_TAG_MACH,
  112.     HALO_FILE_TYPE_TAG_MATG,
  113.     HALO_FILE_TYPE_TAG_METR,
  114.     HALO_FILE_TYPE_TAG_MGS2,
  115.     HALO_FILE_TYPE_TAG_MOD2,
  116.     HALO_FILE_TYPE_TAG_MODE,
  117.     HALO_FILE_TYPE_TAG_MPLY,
  118.     HALO_FILE_TYPE_TAG_NGPR,
  119.     HALO_FILE_TYPE_TAG_OBJE,
  120.     HALO_FILE_TYPE_TAG_PART,
  121.     HALO_FILE_TYPE_TAG_PCTL,
  122.     HALO_FILE_TYPE_TAG_PHYS,
  123.     HALO_FILE_TYPE_TAG_PLAC,
  124.     HALO_FILE_TYPE_TAG_PPHY,
  125.     HALO_FILE_TYPE_TAG_PROJ,
  126.     HALO_FILE_TYPE_TAG_RAIN,
  127.     HALO_FILE_TYPE_TAG_SBSP,
  128.     HALO_FILE_TYPE_TAG_SCEN,
  129.     HALO_FILE_TYPE_TAG_SCEX,
  130.     HALO_FILE_TYPE_TAG_SCHI,
  131.     HALO_FILE_TYPE_TAG_SCNR,
  132.     HALO_FILE_TYPE_TAG_SENV,
  133.     HALO_FILE_TYPE_TAG_SGLA,
  134.     HALO_FILE_TYPE_TAG_SHDR,
  135.     HALO_FILE_TYPE_TAG_SKY,
  136.     HALO_FILE_TYPE_TAG_SMET,
  137.     HALO_FILE_TYPE_TAG_SND,
  138.     HALO_FILE_TYPE_TAG_SNDE,
  139.     HALO_FILE_TYPE_TAG_SOSO,
  140.     HALO_FILE_TYPE_TAG_SOTR,
  141.     HALO_FILE_TYPE_TAG_SOUL,
  142.     HALO_FILE_TYPE_TAG_SPLA,
  143.     HALO_FILE_TYPE_TAG_SSCE,
  144.     HALO_FILE_TYPE_TAG_STRN,
  145.     HALO_FILE_TYPE_TAG_SWAT,
  146.     HALO_FILE_TYPE_TAG_TAGC,
  147.     HALO_FILE_TYPE_TAG_TRAK,
  148.     HALO_FILE_TYPE_TAG_UDLG,
  149.     HALO_FILE_TYPE_TAG_UNHI,
  150.     HALO_FILE_TYPE_TAG_UNIT,
  151.     HALO_FILE_TYPE_TAG_USTR,
  152.     HALO_FILE_TYPE_TAG_VCKY,
  153.     HALO_FILE_TYPE_TAG_VEHI,
  154.     HALO_FILE_TYPE_TAG_WEAP,
  155.     HALO_FILE_TYPE_TAG_WIND,
  156.     HALO_FILE_TYPE_TAG_WPHI,
  157.     HALO_FILE_TYPE_MAP_RESOURCE_BITMAPS_DEMOTRIAL,
  158.     HALO_FILE_TYPE_MAP_RESOURCE_SOUNDS_DEMOTRIAL,
  159.     HALO_FILE_TYPE_MAP_RESOURCE_BITMAPS_PC,
  160.     HALO_FILE_TYPE_MAP_RESOURCE_SOUNDS_PC,
  161.     HALO_FILE_TYPE_MAP_RESOURCE_BITMAPS_CE,
  162.     HALO_FILE_TYPE_MAP_RESOURCE_SOUNDS_CE,
  163.     HALO_FILE_TYPE_MAP_RESOURCE_LOC,
  164.     HALO_FILE_TYPE_MAP_SCENARIO_SINGLEPLAYER_DEMOTRIAL,
  165.     HALO_FILE_TYPE_MAP_SCENARIO_MULTIPLAYER_DEMOTRIAL,
  166.     HALO_FILE_TYPE_MAP_SCENARIO_USERINTERFACE_DEMOTRIAL,
  167.     HALO_FILE_TYPE_MAP_SCENARIO_SINGLEPLAYER_PC,
  168.     HALO_FILE_TYPE_MAP_SCENARIO_MULTIPLAYER_PC,
  169.     HALO_FILE_TYPE_MAP_SCENARIO_USERINTERFACE_PC,
  170.     HALO_FILE_TYPE_MAP_SCENARIO_SINGLEPLAYER_CE,
  171.     HALO_FILE_TYPE_MAP_SCENARIO_MULTIPLAYER_CE,
  172.     HALO_FILE_TYPE_MAP_SCENARIO_USERINTERFACE_CE,
  173.     HALO_FILE_TYPE_USER_DOCUMENTS_CACHE,
  174.     HALO_FILE_TYPE_GAMETYPE_PLAYLIST,
  175.     HALO_FILE_TYPE_USER_PROFILE_SAVEDGAME_LOG,
  176.     HALO_FILE_TYPE_USER_PROFILE_SAVEDGAME_SETTINGS,
  177.     HALO_FILE_TYPE_USER_PROFILE_SAVEDGAME_MEMDUMP,
  178.     HALO_FILE_TYPE_USER_PROFILE_SAVEDGAME_NAME,
  179.     HALO_FILE_TYPE_HALOCE_MAPS_CACHE
  180. };
  181.  
  182. enum halo_tag_classes
  183. {
  184.     HALO_TAG_CLASS_BLAM = 0,
  185.     HALO_TAG_CLASS_ACTR,
  186.     HALO_TAG_CLASS_ACTV,
  187.     HALO_TAG_CLASS_ANT,
  188.     HALO_TAG_CLASS_ANTR,
  189.     HALO_TAG_CLASS_BIPD,
  190.     HALO_TAG_CLASS_BITM,
  191.     HALO_TAG_CLASS_BOOM,
  192.     HALO_TAG_CLASS_CDMG,
  193.     HALO_TAG_CLASS_COLL,
  194.     HALO_TAG_CLASS_COLO,
  195.     HALO_TAG_CLASS_CONT,
  196.     HALO_TAG_CLASS_CTRL,
  197.     HALO_TAG_CLASS_DECA,
  198.     HALO_TAG_CLASS_DELA,
  199.     HALO_TAG_CLASS_DEVC,
  200.     HALO_TAG_CLASS_DEVI,
  201.     HALO_TAG_CLASS_DOBC,
  202.     HALO_TAG_CLASS_EFFE,
  203.     HALO_TAG_CLASS_ELEC,
  204.     HALO_TAG_CLASS_EQIP,
  205.     HALO_TAG_CLASS_FLAG,
  206.     HALO_TAG_CLASS_FOG,
  207.     HALO_TAG_CLASS_FONT,
  208.     HALO_TAG_CLASS_FOOT,
  209.     HALO_TAG_CLASS_GARB,
  210.     HALO_TAG_CLASS_GLW,
  211.     HALO_TAG_CLASS_GRHI,
  212.     HALO_TAG_CLASS_HMT,
  213.     HALO_TAG_CLASS_HUDG,
  214.     HALO_TAG_CLASS_HUDN,
  215.     HALO_TAG_CLASS_ITEM,
  216.     HALO_TAG_CLASS_ITMC,
  217.     HALO_TAG_CLASS_JPT,
  218.     HALO_TAG_CLASS_LENS,
  219.     HALO_TAG_CLASS_LIFI,
  220.     HALO_TAG_CLASS_LIGH,
  221.     HALO_TAG_CLASS_LSND,
  222.     HALO_TAG_CLASS_MACH,
  223.     HALO_TAG_CLASS_MATG,
  224.     HALO_TAG_CLASS_METR,
  225.     HALO_TAG_CLASS_MGS2,
  226.     HALO_TAG_CLASS_MOD2,
  227.     HALO_TAG_CLASS_MODE,
  228.     HALO_TAG_CLASS_MPLY,
  229.     HALO_TAG_CLASS_NGPR,
  230.     HALO_TAG_CLASS_OBJE,
  231.     HALO_TAG_CLASS_PART,
  232.     HALO_TAG_CLASS_PCTL,
  233.     HALO_TAG_CLASS_PHYS,
  234.     HALO_TAG_CLASS_PLAC,
  235.     HALO_TAG_CLASS_PPHY,
  236.     HALO_TAG_CLASS_PROJ,
  237.     HALO_TAG_CLASS_RAIN,
  238.     HALO_TAG_CLASS_SBSP,
  239.     HALO_TAG_CLASS_SCEN,
  240.     HALO_TAG_CLASS_SCEX,
  241.     HALO_TAG_CLASS_SCHI,
  242.     HALO_TAG_CLASS_SCNR,
  243.     HALO_TAG_CLASS_SENV,
  244.     HALO_TAG_CLASS_SGLA,
  245.     HALO_TAG_CLASS_SHDR,
  246.     HALO_TAG_CLASS_SKY,
  247.     HALO_TAG_CLASS_SMET,
  248.     HALO_TAG_CLASS_SND,
  249.     HALO_TAG_CLASS_SNDE,
  250.     HALO_TAG_CLASS_SOSO,
  251.     HALO_TAG_CLASS_SOTR,
  252.     HALO_TAG_CLASS_SOUL,
  253.     HALO_TAG_CLASS_SPLA,
  254.     HALO_TAG_CLASS_SSCE,
  255.     HALO_TAG_CLASS_STRN,
  256.     HALO_TAG_CLASS_SWAT,
  257.     HALO_TAG_CLASS_TAGC,
  258.     HALO_TAG_CLASS_TRAK,
  259.     HALO_TAG_CLASS_UDLG,
  260.     HALO_TAG_CLASS_UNHI,
  261.     HALO_TAG_CLASS_UNIT,
  262.     HALO_TAG_CLASS_USTR,
  263.     HALO_TAG_CLASS_VCKY,
  264.     HALO_TAG_CLASS_VEHI,
  265.     HALO_TAG_CLASS_WEAP,
  266.     HALO_TAG_CLASS_WIND,
  267.     HALO_TAG_CLASS_WPHI
  268. };
  269.  
  270. // Note about characters and code pages used by the HEK: The HEK uses 1-byte and 2-byte character encodings. Its 1-byte encoding is interpreted as a kind of Windows ANSI (or Windows-1252) and for labels, all characters outside ASCII printable ranges are replaced with underscores and for tpns, all characters without equivalent 1-byte code points are replaced with question marks. The font used by Guerilla appears to be LeviWindows size 18; however, that TTF basically only contains raster images for visible ASCII code points while Guerilla displays certain other non-ASCII code points and the font it uses in some way represents byte equivalency for all 1-byte code points, even though some do not render or are rendered using the 0xFF character of the font. Proper interpretation of data requires imposing the same behavior as Guerilla, and tpns should be limited to be from code points 0x00 to 0xFF. The same range limitation should apply to UTF-16 strings: 0x0000 to 0xFFFF. Guerilla also converts A-Z into a-z.
  271. /*
  272.     ENGINE_CLASS            4 bytes (fixed, no terminator) (4 characters) Like old Four-Character Codes.
  273.     TAG_CLASS               4 bytes (fixed, no terminator) (4 characters) Like old Four-Character Codes.
  274.     PROFILE_NAME            24 bytes (fixed, 11 unicode + 1 (interpreted?) unicode terminator) (1-11 characters)
  275.     PLAYLIST                Gametype name. 48 bytes (fixed, 23 unicode + 1 (interpreted?) unicode terminator) (1-23 characters)
  276.     LABEL                   32 bytes (fixed with interpreted terminator) (0-31 characters)
  277.     TPNS                    255 bytes (variable with terminator) (0-254 characters)
  278.     STRING_LIST             4096 bytes (variable ASCII or UTF-8 with terminator) (0-4095 characters)
  279.     UNICODE_STRING_LIST     32768 bytes (variable 2-byte UTF-8 with terminator) (0-16383 characters)
  280.     COMMENT                 16384 bytes (variable with terminator) (0-16383 characters; Guerilla and kornman's Guerilla multi-line text field will crash if over 8191 characters)
  281.     SCRIPT_SOURCE           262144 bytes (variable with terminator) (0-262143 characters; kornman's Guerilla multi-line text field will crash if over 8191 characters)
  282.  */
  283. enum halo_string_types
  284. {
  285.     HALO_STRING_TYPE_ENGINE_CLASS = 0,
  286.     HALO_STRING_TYPE_TAG_CLASS,
  287.     HALO_STRING_TYPE_PROFILE_NAME,
  288.     HALO_STRING_TYPE_PLAYLIST,
  289.     HALO_STRING_TYPE_LABEL,
  290.     HALO_STRING_TYPE_TPNS,
  291.     HALO_STRING_TYPE_STRING_LIST,
  292.     HALO_STRING_TYPE_UNICODE_STRING_LIST,
  293.     HALO_STRING_TYPE_COMMENT,
  294.     HALO_STRING_TYPE_SCRIPT_SOURCE
  295. };
  296.  
  297. #pragma mark tag class shared section indices
  298. // obje and shdr have type indices but these other abstract classes do not seem to use them, so they are listed separately
  299. enum halo_tag_class_shared_section_indices_devi
  300. {
  301.     HALO_TAG_CLASS_SHARED_SECTION_INDEX_DEVI,
  302.     HALO_TAG_CLASS_SHARED_SECTION_INDEX_CTRL,
  303.     HALO_TAG_CLASS_SHARED_SECTION_INDEX_LIFI,
  304.     HALO_TAG_CLASS_SHARED_SECTION_INDEX_MACH
  305. };
  306.  
  307. enum halo_tag_class_shared_section_indices_item
  308. {
  309.     HALO_TAG_CLASS_SHARED_SECTION_INDEX_ITEM,
  310.     HALO_TAG_CLASS_SHARED_SECTION_INDEX_EQIP,
  311.     HALO_TAG_CLASS_SHARED_SECTION_INDEX_GARB,
  312.     HALO_TAG_CLASS_SHARED_SECTION_INDEX_WEAP
  313. };
  314.  
  315. enum halo_tag_class_shared_section_indices_unit
  316. {
  317.     HALO_TAG_CLASS_SHARED_SECTION_INDEX_UNIT,
  318.     HALO_TAG_CLASS_SHARED_SECTION_INDEX_BIPD,
  319.     HALO_TAG_CLASS_SHARED_SECTION_INDEX_VEHI
  320. };
  321.  
  322. #pragma mark actr
  323.  
  324. enum halo_actor_types
  325. {
  326.     HALO_ACTOR_TYPE_ELITE = 0,
  327.     HALO_ACTOR_TYPE_JACKAL,
  328.     HALO_ACTOR_TYPE_GRUNT,
  329.     HALO_ACTOR_TYPE_HUNTER,
  330.     HALO_ACTOR_TYPE_ENGINEER,
  331.     HALO_ACTOR_TYPE_ASSASSIN,
  332.     HALO_ACTOR_TYPE_PLAYER,
  333.     HALO_ACTOR_TYPE_MARINE,
  334.     HALO_ACTOR_TYPE_CREW,
  335.     HALO_ACTOR_TYPE_COMBAT_FORM,
  336.     HALO_ACTOR_TYPE_INFECTION_FORM,
  337.     HALO_ACTOR_TYPE_CARRIER_FORM,
  338.     HALO_ACTOR_TYPE_MONITOR,
  339.     HALO_ACTOR_TYPE_SENTINEL,
  340.     HALO_ACTOR_TYPE_NONE,
  341.     HALO_ACTOR_TYPE_MOUNTED_WEAPON
  342. };
  343.  
  344. enum halo_danger_level_triggers
  345. {
  346.     HALO_DANGER_LEVEL_TRIGGER_NEVER = 0,
  347.     HALO_DANGER_LEVEL_TRIGGER_VISIBLE,
  348.     HALO_DANGER_LEVEL_TRIGGER_SHOOTING,
  349.     HALO_DANGER_LEVEL_TRIGGER_SHOOTING_NEAR_US,
  350.     HALO_DANGER_LEVEL_TRIGGER_DAMAGING_US,
  351.     HALO_DANGER_LEVEL_TRIGGER_UNUSED_1,
  352.     HALO_DANGER_LEVEL_TRIGGER_UNUSED_2,
  353.     HALO_DANGER_LEVEL_TRIGGER_UNUSED_3,
  354.     HALO_DANGER_LEVEL_TRIGGER_UNUSED_4,
  355.     HALO_DANGER_LEVEL_TRIGGER_UNUSED_5
  356. };
  357.  
  358. enum halo_crouch_triggers
  359. {
  360.     HALO_CROUCH_TRIGGER_NEVER = 0,
  361.     HALO_CROUCH_TRIGGER_DANGER,
  362.     HALO_CROUCH_TRIGGER_LOW_SHIELDS,
  363.     HALO_CROUCH_TRIGGER_HIDE_BEHIND_SHIELD,
  364.     HALO_CROUCH_TRIGGER_ANY_TARGET,
  365.     HALO_CROUCH_TRIGGER_FLOOD_SHAMBLE
  366. };
  367.  
  368. #pragma mark actv
  369.  
  370. enum halo_movement_types
  371. {
  372.     HALO_MOVEMENT_TYPE_ALWAYS_RUN = 0,
  373.     HALO_MOVEMENT_TYPE_ALWAYS_CROUCH,
  374.     HALO_MOVEMENT_TYPE_SWITCH_TYPES
  375. };
  376.  
  377. enum halo_special_fire_modes
  378. {
  379.     HALO_SPECIAL_FIRE_MODE_NONE = 0,
  380.     HALO_SPECIAL_FIRE_MODE_OVERCHARGE,
  381.     HALO_SPECIAL_FIRE_MODE_SECONDARY_TRIGGER
  382. };
  383.  
  384. enum halo_special_fire_situations
  385. {
  386.     HALO_SPECIAL_FIRE_SITUATION_NEVER = 0,
  387.     HALO_SPECIAL_FIRE_SITUATION_ENEMY_VISIBLE,
  388.     HALO_SPECIAL_FIRE_SITUATION_ENEMY_OUT_OF_SIGHT,
  389.     HALO_SPECIAL_FIRE_SITUATION_STRAFING
  390. };
  391.  
  392. enum halo_grenade_types
  393. {
  394.     HALO_GRENADE_TYPE_HUMAN_FRAGMENTATION = 0,
  395.     HALO_GRENADE_TYPE_COVENANT_PLASMA
  396. };
  397.  
  398. enum halo_grenade_trajectory_types
  399. {
  400.     HALO_TRAJECTORY_TYPE_TOSS = 0,
  401.     HALO_TRAJECTORY_TYPE_LOB,
  402.     HALO_TRAJECTORY_TYPE_BOUNCE
  403. };
  404.  
  405. enum halo_grenade_stimuli
  406. {
  407.     HALO_GRENADE_STIMULUS_NEVER = 0,
  408.     HALO_GRENADE_STIMULUS_VISIBLE_TARGET,
  409.     HALO_GRENADE_STIMULUS_SEEK_COVER
  410. };
  411.  
  412. #pragma mark antr
  413.  
  414. enum halo_animation_out_functions
  415. {
  416.     HALO_OUT_FUNCTION_A_OUT = 0,
  417.     HALO_OUT_FUNCTION_B_OUT,
  418.     HALO_OUT_FUNCTION_C_OUT,
  419.     HALO_OUT_FUNCTION_D_OUT
  420. };
  421.  
  422. enum halo_animation_function_control_types
  423. {
  424.     HALO_ANIMATION_FUNCTION_CONTROLS_FRAME = 0,
  425.     HALO_ANIMATION_FUNCTION_CONTROLS_SCALE
  426. };
  427.  
  428. enum halo_animation_types
  429. {
  430.     HALO_ANIMATION_TYPE_BASE = 0,
  431.     HALO_ANIMATION_TYPE_OVERLAY,
  432.     HALO_ANIMATION_TYPE_REPLACEMENT
  433. };
  434.  
  435. enum halo_animation_frame_info_types
  436. {
  437.     HALO_ANIMATION_FRAME_INFO_TYPE_NONE = 0,
  438.     HALO_ANIMATION_FRAME_INFO_TYPE_DX_DY,
  439.     HALO_ANIMATION_FRAME_INFO_TYPE_DX_DY_DYAW,
  440.     HALO_ANIMATION_FRAME_INFO_TYPE_DX_DY_DZ_DYAW
  441. };
  442.  
  443. #pragma mark bipd
  444.  
  445. enum halo_bipd_channel_functions
  446. {
  447.     HALO_BIPD_CHANNEL_FUNCTION_NONE = 0,
  448.     HALO_BIPD_CHANNEL_FUNCTION_FLYING_VELOCITY
  449. };
  450.  
  451. #pragma mark bitm
  452.  
  453. enum halo_bitm_geometry_types
  454. {
  455.     HALO_BITM_GEOMETRY_TYPE_2D_TEXTURES = 0,
  456.     HALO_BITM_GEOMETRY_TYPE_3D_TEXTURES,
  457.     HALO_BITM_GEOMETRY_TYPE_CUBE_MAPS,
  458.     HALO_BITM_GEOMETRY_TYPE_SPRITES,
  459.     HALO_BITM_GEOMETRY_TYPE_INTERFACE_BITMAPS
  460. };
  461.  
  462. enum halo_bitm_storage_formats
  463. {
  464.     HALO_BITM_STORAGE_FORMAT_COMPRESSED_WITH_COLOR_KEY_TRANSPARENCY = 0,
  465.     HALO_BITM_STORAGE_FORMAT_COMPRESSED_WITH_EXPLICIT_ALPHA,
  466.     HALO_BITM_STORAGE_FORMAT_COMPRESSED_WITH_INTERPOLATED_ALPHA,
  467.     HALO_BITM_STORAGE_FORMAT_COLOR_16_BIT,
  468.     HALO_BITM_STORAGE_FORMAT_COLOR_32_BIT,
  469.     HALO_BITM_STORAGE_FORMAT_MONOCHROME
  470. };
  471.  
  472. enum halo_bitm_mipmap_usages
  473. {
  474.     HALO_BITM_MIPMAP_USAGE_ALPHA_BLEND = 0,
  475.     HALO_BITM_MIPMAP_USAGE_DEFAULT,
  476.     HALO_BITM_MIPMAP_USAGE_HEIGHT_MAP,
  477.     HALO_BITM_MIPMAP_USAGE_DETAIL_MAP,
  478.     HALO_BITM_MIPMAP_USAGE_LIGHT_MAP,
  479.     HALO_BITM_MIPMAP_USAGE_VECTOR_MAP
  480. };
  481.  
  482. enum halo_bitm_sprite_budget_sizes
  483. {
  484.     HALO_BITM_SPRITE_BUDGET_SIZE_32X32 = 0,
  485.     HALO_BITM_SPRITE_BUDGET_SIZE_64X64,
  486.     HALO_BITM_SPRITE_BUDGET_SIZE_128X128,
  487.     HALO_BITM_SPRITE_BUDGET_SIZE_256X256,
  488.     HALO_BITM_SPRITE_BUDGET_SIZE_512X512
  489. };
  490.  
  491. enum halo_bitm_sprite_usages
  492. {
  493.     HALO_BITM_SPRITE_USAGE_BLEND_ADD_SUBTRACT_MAX = 0,
  494.     HALO_BITM_SPRITE_USAGE_MULTIPLY_MIN,
  495.     HALO_BITM_SPRITE_USAGE_DOUBLE_MULTIPLY
  496. };
  497.  
  498. enum halo_bitm_image_types
  499. {
  500.     HALO_BITM_IMAGE_TYPE_2D_TEXTURE = 0,
  501.     HALO_BITM_IMAGE_TYPE_3D_TEXTURE,
  502.     HALO_BITM_IMAGE_TYPE_CUBE_MAP,
  503.     HALO_BITM_IMAGE_TYPE_WHITE
  504. };
  505.  
  506. enum halo_bitm_image_data_formats
  507. {
  508.     HALO_BITM_IMAGE_DATA_FORMAT_A8 = 0,
  509.     HALO_BITM_IMAGE_DATA_FORMAT_Y8,
  510.     HALO_BITM_IMAGE_DATA_FORMAT_AY8,
  511.     HALO_BITM_IMAGE_DATA_FORMAT_A8Y8,
  512.     HALO_BITM_IMAGE_DATA_FORMAT_UNUSED1,
  513.     HALO_BITM_IMAGE_DATA_FORMAT_UNUSED2,
  514.     HALO_BITM_IMAGE_DATA_FORMAT_R5G6B5,
  515.     HALO_BITM_IMAGE_DATA_FORMAT_UNUSED3,
  516.     HALO_BITM_IMAGE_DATA_FORMAT_A1R5G5B5,
  517.     HALO_BITM_IMAGE_DATA_FORMAT_A4R4G4B4,
  518.     HALO_BITM_IMAGE_DATA_FORMAT_X8R8G8B8,
  519.     HALO_BITM_IMAGE_DATA_FORMAT_A8R8G8B8,
  520.     HALO_BITM_IMAGE_DATA_FORMAT_UNUSED4,
  521.     HALO_BITM_IMAGE_DATA_FORMAT_UNUSED5,
  522.     HALO_BITM_IMAGE_DATA_FORMAT_DXT1,
  523.     HALO_BITM_IMAGE_DATA_FORMAT_DXT3,
  524.     HALO_BITM_IMAGE_DATA_FORMAT_DXT5,
  525.     HALO_BITM_IMAGE_DATA_FORMAT_P8_BUMP
  526. };
  527.  
  528. #pragma mark cdmg
  529.  
  530. enum halo_damage_side_effects
  531. {
  532.     HALO_DAMAGE_SIDE_EFFECT_NONE = 0,
  533.     HALO_DAMAGE_SIDE_EFFECT_HARMLESS,
  534.     HALO_DAMAGE_SIDE_EFFECT_LETHAL_TO_THE_UNSUSPECTING,
  535.     HALO_DAMAGE_SIDE_EFFECT_EMP
  536. };
  537.  
  538. enum halo_damage_categories
  539. {
  540.     HALO_DAMAGE_CATEGORY_NONE = 0,
  541.     HALO_DAMAGE_CATEGORY_FALLING,
  542.     HALO_DAMAGE_CATEGORY_BULLET,
  543.     HALO_DAMAGE_CATEGORY_GRENADE,
  544.     HALO_DAMAGE_CATEGORY_HIGH_EXPLOSIVE,
  545.     HALO_DAMAGE_CATEGORY_SNIPER,
  546.     HALO_DAMAGE_CATEGORY_MELEE,
  547.     HALO_DAMAGE_CATEGORY_FLAME,
  548.     HALO_DAMAGE_CATEGORY_MOUNTED_WEAPON,
  549.     HALO_DAMAGE_CATEGORY_VEHICLE,
  550.     HALO_DAMAGE_CATEGORY_PLASMA,
  551.     HALO_DAMAGE_CATEGORY_NEEDLE,
  552.     HALO_DAMAGE_CATEGORY_SHOTGUN
  553. };
  554.  
  555. #pragma mark coll
  556.  
  557. enum halo_material_types
  558. {
  559.     HALO_MATERIAL_TYPE_DIRT = 0,
  560.     HALO_MATERIAL_TYPE_SAND,
  561.     HALO_MATERIAL_TYPE_STONE,
  562.     HALO_MATERIAL_TYPE_SNOW,
  563.     HALO_MATERIAL_TYPE_WOOD,
  564.     HALO_MATERIAL_TYPE_METAL_HOLLOW,
  565.     HALO_MATERIAL_TYPE_METAL_THIN,
  566.     HALO_MATERIAL_TYPE_METAL_THICK,
  567.     HALO_MATERIAL_TYPE_RUBBER,
  568.     HALO_MATERIAL_TYPE_GLASS,
  569.     HALO_MATERIAL_TYPE_FORCE_FIELD,
  570.     HALO_MATERIAL_TYPE_GRUNT,
  571.     HALO_MATERIAL_TYPE_HUNTER_ARMOR,
  572.     HALO_MATERIAL_TYPE_HUNTER_SKIN,
  573.     HALO_MATERIAL_TYPE_ELITE,
  574.     HALO_MATERIAL_TYPE_JACKAL,
  575.     HALO_MATERIAL_TYPE_JACKAL_ENERGY_SHIELD,
  576.     HALO_MATERIAL_TYPE_ENGINEER_SKIN,
  577.     HALO_MATERIAL_TYPE_ENGINEER_FORCE_FIELD,
  578.     HALO_MATERIAL_TYPE_FLOOD_COMBAT_FORM,
  579.     HALO_MATERIAL_TYPE_FLOOD_CARRIER_FORM,
  580.     HALO_MATERIAL_TYPE_CYBORG_ARMOR,
  581.     HALO_MATERIAL_TYPE_CYBORG_ENERGY_SHIELD,
  582.     HALO_MATERIAL_TYPE_HUMAN_ARMOR,
  583.     HALO_MATERIAL_TYPE_HUMAN_SKIN,
  584.     HALO_MATERIAL_TYPE_SENTINEL,
  585.     HALO_MATERIAL_TYPE_MONITOR,
  586.     HALO_MATERIAL_TYPE_PLASTIC,
  587.     HALO_MATERIAL_TYPE_WATER,
  588.     HALO_MATERIAL_TYPE_LEAVES,
  589.     HALO_MATERIAL_TYPE_ELITE_ENERGY_SHIELD,
  590.     HALO_MATERIAL_TYPE_ICE,
  591.     HALO_MATERIAL_TYPE_HUNTER_SHIELD
  592. };
  593.  
  594. #pragma mark cont
  595.  
  596. enum halo_cont_render_types
  597. {
  598.     HALO_CONT_RENDER_TYPE_VERTICAL_ORIENTATION = 0,
  599.     HALO_CONT_RENDER_TYPE_HORIZONTAL_ORIENTATION,
  600.     HALO_CONT_RENDER_TYPE_MEDIA_MAPPED,
  601.     HALO_CONT_RENDER_TYPE_GROUND_MAPPED,
  602.     HALO_CONT_RENDER_TYPE_VIEWER_FACING,
  603.     HALO_CONT_RENDER_TYPE_DOUBLE_MARKER_LINKED
  604. };
  605.  
  606. enum halo_framebuffer_blend_functions
  607. {
  608.     HALO_FRAMEBUFFER_BLEND_FUNCTION_ALPHA_BLEND = 0,
  609.     HALO_FRAMEBUFFER_BLEND_FUNCTION_MULTIPLY,
  610.     HALO_FRAMEBUFFER_BLEND_FUNCTION_DOUBLE_MULTIPLY,
  611.     HALO_FRAMEBUFFER_BLEND_FUNCTION_ADD,
  612.     HALO_FRAMEBUFFER_BLEND_FUNCTION_SUBTRACT,
  613.     HALO_FRAMEBUFFER_BLEND_FUNCTION_COMPONENT_MIN,
  614.     HALO_FRAMEBUFFER_BLEND_FUNCTION_COMPONENT_MAX,
  615.     HALO_FRAMEBUFFER_BLEND_FUNCTION_ALPHA_MULTIPLY_ADD
  616. };
  617.  
  618. enum halo_framebuffer_fade_modes
  619. {
  620.     HALO_FRAMEBUFFER_FADE_MODE_NONE = 0,
  621.     HALO_FRAMEBUFFER_FADE_MODE_FADE_WHEN_PERPENDICULAR,
  622.     HALO_FRAMEBUFFER_FADE_MODE_FADE_WHEN_PARALLEL
  623. };
  624.  
  625. enum halo_multitexture_map_anchors
  626. {
  627.     HALO_MULTITEXTURE_MAP_ANCHOR_WITH_PRIMARY = 0,
  628.     HALO_MULTITEXTURE_MAP_ANCHOR_WITH_SCREEN_SPACE,
  629.     HALO_MULTITEXTURE_MAP_ANCHOR_ZSPRITE
  630. };
  631.  
  632. #pragma mark ctrl
  633.  
  634. enum halo_ctrl_types
  635. {
  636.     HALO_CTRL_TYPE_TOGGLE_SWITCH = 0,
  637.     HALO_CTRL_TYPE_ON_BUTTON,
  638.     HALO_CTRL_TYPE_OFF_BUTTON,
  639.     HALO_CTRL_TYPE_CALL_BUTTON
  640. };
  641.  
  642. enum halo_ctrl_trigger_events
  643. {
  644.     HALO_CTRL_TRIGGER_EVENT_TOUCHED_BY_PLAYER = 0,
  645.     HALO_CTRL_TRIGGER_EVENT_DESTROYED
  646. };
  647.  
  648. #pragma mark deca
  649.  
  650. enum halo_deca_geometry_wrap_types
  651. {
  652.     HALO_DECA_GEOMETRY_WRAP_TYPE_SCRATCH = 0,
  653.     HALO_DECA_GEOMETRY_WRAP_TYPE_SPLATTER,
  654.     HALO_DECA_GEOMETRY_WRAP_TYPE_BURN,
  655.     HALO_DECA_GEOMETRY_WRAP_TYPE_PAINTED_SIGN
  656. };
  657.  
  658. enum halo_deca_layers
  659. {
  660.     HALO_DECA_LAYER_PRIMARY = 0,
  661.     HALO_DECA_LAYER_SECONDARY,
  662.     HALO_DECA_LAYER_LIGHT,
  663.     HALO_DECA_LAYER_ALPHA_TESTED,
  664.     HALO_DECA_LAYER_WATER
  665. };
  666.  
  667. #pragma mark DeLa
  668.  
  669. enum halo_dela_widget_types
  670. {
  671.     HALO_DELA_WIDGET_TYPE_CONTAINER = 0,
  672.     HALO_DELA_WIDGET_TYPE_TEXT_BOX,
  673.     HALO_DELA_WIDGET_TYPE_SPINNER_LIST,
  674.     HALO_DELA_WIDGET_TYPE_COLUMN_LIST,
  675.     HALO_DELA_WIDGET_TYPE_GAME_MODEL,
  676.     HALO_DELA_WIDGET_TYPE_MOVIE,
  677.     HALO_DELA_WIDGET_TYPE_CUSTOM
  678. };
  679.  
  680. enum halo_player_controllers
  681. {
  682.     HALO_PLAYER_CONTROLLER_PLAYER_1 = 0,
  683.     HALO_PLAYER_CONTROLLER_PLAYER_2,
  684.     HALO_PLAYER_CONTROLLER_PLAYER_3,
  685.     HALO_PLAYER_CONTROLLER_PLAYER_4,
  686.     HALO_PLAYER_CONTROLLER_ANY_PLAYER
  687. };
  688.  
  689. enum halo_game_data_input_functions
  690. {
  691.     HALO_GAME_DATA_INPUT_FUNCTION_NULL = 0,
  692.     HALO_GAME_DATA_INPUT_FUNCTION_PLAYER_SETTINGS_MENU_UPDATE_DESCRIPTION,
  693.     HALO_GAME_DATA_INPUT_FUNCTION_UNUSED,
  694.     HALO_GAME_DATA_INPUT_FUNCTION_PLAYLIST_SETTINGS_MENU_UPDATE_DESCRIPTION,
  695.     HALO_GAME_DATA_INPUT_FUNCTION_GAMETYPE_SELECT_MENU_UPDATE_DESCRIPTION,
  696.     HALO_GAME_DATA_INPUT_FUNCTION_MULTIPLAYER_TYPE_MENU_UPDATE_DESCRIPTION,
  697.     HALO_GAME_DATA_INPUT_FUNCTION_SOLO_LEVEL_SELECT_UPDATE,
  698.     HALO_GAME_DATA_INPUT_FUNCTION_DIFFICULTY_MENU_UPDATE_DESCRIPTION,
  699.     HALO_GAME_DATA_INPUT_FUNCTION_BUILD_NUMBER_TEXTBOX_ONLY,
  700.     HALO_GAME_DATA_INPUT_FUNCTION_SERVER_LIST_UPDATE,
  701.     HALO_GAME_DATA_INPUT_FUNCTION_NETWORK_PREGAME_STATUS_UPDATE,
  702.     HALO_GAME_DATA_INPUT_FUNCTION_SPLITSCREEN_PREGAME_STATUS_UPDATE,
  703.     HALO_GAME_DATA_INPUT_FUNCTION_NET_SPLITSCREEN_PREJOIN_PLAYERS,
  704.     HALO_GAME_DATA_INPUT_FUNCTION_MP_PROFILE_LIST_UPDATE,
  705.     HALO_GAME_DATA_INPUT_FUNCTION_TRIPLE_WIDE_PLAYER_PROFILE_LIST_UPDATE,
  706.     HALO_GAME_DATA_INPUT_FUNCTION_PLAYER_PROFILE_EDIT_SELECT_MENU_UPDATE,
  707.     HALO_GAME_DATA_INPUT_FUNCTION_PLAYER_PROFILE_SMALL_MENU_UPDATE,
  708.     HALO_GAME_DATA_INPUT_FUNCTION_GAME_SETTINGS_LISTS_TEXT_UPDATE,
  709.     HALO_GAME_DATA_INPUT_FUNCTION_SOLO_GAME_OBJECTIVE_TEXT,
  710.     HALO_GAME_DATA_INPUT_FUNCTION_COLOR_PICKER_UPDATE,
  711.     HALO_GAME_DATA_INPUT_FUNCTION_GAME_SETTINGS_LISTS_PICTURE_UPDATE,
  712.     HALO_GAME_DATA_INPUT_FUNCTION_MAIN_MENU_FAKE_ANIMATE,
  713.     HALO_GAME_DATA_INPUT_FUNCTION_MP_LEVEL_SELECT_UPDATE,
  714.     HALO_GAME_DATA_INPUT_FUNCTION_GET_ACTIVE_PLAYER_PROFILE_NAME,
  715.     HALO_GAME_DATA_INPUT_FUNCTION_GET_EDIT_PLAYER_PROFILE_NAME,
  716.     HALO_GAME_DATA_INPUT_FUNCTION_GET_EDIT_GAME_SETTINGS_NAME,
  717.     HALO_GAME_DATA_INPUT_FUNCTION_GET_ACTIVE_PLAYER_PROFILE_COLOR,
  718.     HALO_GAME_DATA_INPUT_FUNCTION_MP_SET_TEXTBOX_MAP_NAME,
  719.     HALO_GAME_DATA_INPUT_FUNCTION_MP_SET_TEXTBOX_GAME_RULESET,
  720.     HALO_GAME_DATA_INPUT_FUNCTION_MP_SET_TEXTBOX_TEAMS_NO_TEAMS,
  721.     HALO_GAME_DATA_INPUT_FUNCTION_MP_SET_TEXTBOX_SCORE_LIMIT,
  722.     HALO_GAME_DATA_INPUT_FUNCTION_MP_SET_TEXTBOX_SCORE_LIMIT_TYPE,
  723.     HALO_GAME_DATA_INPUT_FUNCTION_MP_SET_BITMAP_FOR_MAP,
  724.     HALO_GAME_DATA_INPUT_FUNCTION_MP_SET_BITMAP_FOR_RULESET,
  725.     HALO_GAME_DATA_INPUT_FUNCTION_MP_SET_TEXTBOX_NUMBER_OF_PLAYERS,
  726.     HALO_GAME_DATA_INPUT_FUNCTION_MP_EDIT_PROFILE_SET_RULE_TEXT,
  727.     HALO_GAME_DATA_INPUT_FUNCTION_SYSTEM_LINK_STATUS_CHECK,
  728.     HALO_GAME_DATA_INPUT_FUNCTION_MP_GAME_DIRECTIONS,
  729.     HALO_GAME_DATA_INPUT_FUNCTION_TEAMS_OR_NO_TEAMS_BITMAP_UPDATE,
  730.     HALO_GAME_DATA_INPUT_FUNCTION_WARN_IF_DIFFERENCE_WILL_NUKE_SAVED_GAME,
  731.     HALO_GAME_DATA_INPUT_FUNCTION_DIM_IF_NO_NET_CABLE,
  732.     HALO_GAME_DATA_INPUT_FUNCTION_PAUSE_GAME_SET_TEXTBOX_INVERTED,
  733.     HALO_GAME_DATA_INPUT_FUNCTION_DIM_UNLESS_TWO_CONTROLLERS,
  734.     HALO_GAME_DATA_INPUT_FUNCTION_CONTROLS_UPDATE_MENU,
  735.     HALO_GAME_DATA_INPUT_FUNCTION_VIDEO_MENU_UPDATE,
  736.     HALO_GAME_DATA_INPUT_FUNCTION_GAMESPY_SCREEN_UPDATE,
  737.     HALO_GAME_DATA_INPUT_FUNCTION_COMMON_BUTTON_BAR_UPDATE,
  738.     HALO_GAME_DATA_INPUT_FUNCTION_GAMEPAD_UPDATE_MENU,
  739.     HALO_GAME_DATA_INPUT_FUNCTION_SERVER_SETTINGS_UPDATE,
  740.     HALO_GAME_DATA_INPUT_FUNCTION_AUDIO_MENU_UPDATE,
  741.     HALO_GAME_DATA_INPUT_FUNCTION_MP_PROFILE_VEHICLES_UPDATE,
  742.     HALO_GAME_DATA_INPUT_FUNCTION_SOLO_MAP_LIST_UPDATE,
  743.     HALO_GAME_DATA_INPUT_FUNCTION_MP_MAP_LIST_UPDATE,
  744.     HALO_GAME_DATA_INPUT_FUNCTION_GAMETYPE_SELECTION_LIST_UPDATE,
  745.     HALO_GAME_DATA_INPUT_FUNCTION_GAMETYPE_EDIT_LIST_UPDATE,
  746.     HALO_GAME_DATA_INPUT_FUNCTION_LOAD_GAME_LIST_UPDATE,
  747.     HALO_GAME_DATA_INPUT_FUNCTION_CHECKING_FOR_UPDATES,
  748.     HALO_GAME_DATA_INPUT_FUNCTION_DIRECT_IP_CONNECTION_UPDATE,
  749.     HALO_GAME_DATA_INPUT_FUNCTION_NETWORK_SETTINGS_UPDATE
  750. };
  751.  
  752. enum halo_event_handler_event_types
  753. {
  754.     HALO_EVENT_HANDLER_EVENT_TYPE_A_BUTTON = 0,
  755.     HALO_EVENT_HANDLER_EVENT_TYPE_B_BUTTON,
  756.     HALO_EVENT_HANDLER_EVENT_TYPE_X_BUTTON,
  757.     HALO_EVENT_HANDLER_EVENT_TYPE_Y_BUTTON,
  758.     HALO_EVENT_HANDLER_EVENT_TYPE_BLACK_BUTTON,
  759.     HALO_EVENT_HANDLER_EVENT_TYPE_WHITE_BUTTON,
  760.     HALO_EVENT_HANDLER_EVENT_TYPE_LEFT_TRIGGER,
  761.     HALO_EVENT_HANDLER_EVENT_TYPE_RIGHT_TRIGGER,
  762.     HALO_EVENT_HANDLER_EVENT_TYPE_DPAD_UP,
  763.     HALO_EVENT_HANDLER_EVENT_TYPE_DPAD_DOWN,
  764.     HALO_EVENT_HANDLER_EVENT_TYPE_DPAD_LEFT,
  765.     HALO_EVENT_HANDLER_EVENT_TYPE_DPAD_RIGHT,
  766.     HALO_EVENT_HANDLER_EVENT_TYPE_START_BUTTON,
  767.     HALO_EVENT_HANDLER_EVENT_TYPE_BACK_BUTTON,
  768.     HALO_EVENT_HANDLER_EVENT_TYPE_LEFT_THUMB,
  769.     HALO_EVENT_HANDLER_EVENT_TYPE_RIGHT_THUMB,
  770.     HALO_EVENT_HANDLER_EVENT_TYPE_LEFT_ANALOG_STICK_UP,
  771.     HALO_EVENT_HANDLER_EVENT_TYPE_LEFT_ANALOG_STICK_DOWN,
  772.     HALO_EVENT_HANDLER_EVENT_TYPE_LEFT_ANALOG_STICK_LEFT,
  773.     HALO_EVENT_HANDLER_EVENT_TYPE_LEFT_ANALOG_STICK_RIGHT,
  774.     HALO_EVENT_HANDLER_EVENT_TYPE_RIGHT_ANALOG_STICK_UP,
  775.     HALO_EVENT_HANDLER_EVENT_TYPE_RIGHT_ANALOG_STICK_DOWN,
  776.     HALO_EVENT_HANDLER_EVENT_TYPE_RIGHT_ANALOG_STICK_LEFT,
  777.     HALO_EVENT_HANDLER_EVENT_TYPE_RIGHT_ANALOG_STICK_RIGHT,
  778.     HALO_EVENT_HANDLER_EVENT_TYPE_CREATED,
  779.     HALO_EVENT_HANDLER_EVENT_TYPE_DELETED,
  780.     HALO_EVENT_HANDLER_EVENT_TYPE_GET_FOCUS,
  781.     HALO_EVENT_HANDLER_EVENT_TYPE_LOSE_FOCUS,
  782.     HALO_EVENT_HANDLER_EVENT_TYPE_LEFT_MOUSE,
  783.     HALO_EVENT_HANDLER_EVENT_TYPE_MIDDLE_MOUSE,
  784.     HALO_EVENT_HANDLER_EVENT_TYPE_RIGHT_MOUSE,
  785.     HALO_EVENT_HANDLER_EVENT_TYPE_DOUBLE_CLICK,
  786.     HALO_EVENT_HANDLER_EVENT_TYPE_CUSTOM_ACTIVATION,
  787.     HALO_EVENT_HANDLER_EVENT_TYPE_POST_RENDER
  788. };
  789.  
  790. enum halo_event_handler_functions
  791. {
  792.     HALO_EVENT_HANDLER_FUNCTION_NULL = 0,
  793.     HALO_EVENT_HANDLER_FUNCTION_LIST_GOTO_NEXT_ITEM,
  794.     HALO_EVENT_HANDLER_FUNCTION_LIT_GOTO_PREVIOUS_ITEM,
  795.     HALO_EVENT_HANDLER_FUNCTION_UNUSED_1,
  796.     HALO_EVENT_HANDLER_FUNCTION_UNUSED_2,
  797.     HALO_EVENT_HANDLER_FUNCTION_INITIALIZE_SP_LEVEL_LIST_SOLO,
  798.     HALO_EVENT_HANDLER_FUNCTION_INITIALIZE_SP_LEVEL_LIST_COOP,
  799.     HALO_EVENT_HANDLER_FUNCTION_DISPOSE_SP_LEVEL_LIST,
  800.     HALO_EVENT_HANDLER_FUNCTION_SOLO_LEVEL_SET_MAP,
  801.     HALO_EVENT_HANDLER_FUNCTION_SET_DIFFICULTY,
  802.     HALO_EVENT_HANDLER_FUNCTION_START_NEW_GAME,
  803.     HALO_EVENT_HANDLER_FUNCTION_PAUSE_GAME_RESTART_AT_CHECKPOINT,
  804.     HALO_EVENT_HANDLER_FUNCTION_PAUSE_GAME_RESTART_LEVEL,
  805.     HALO_EVENT_HANDLER_FUNCTION_PAUSE_GAME_RETURN_TO_MAIN_MENU,
  806.     HALO_EVENT_HANDLER_FUNCTION_CLEAR_MULTIPLAYER_PLAYER_JOINS,
  807.     HALO_EVENT_HANDLER_FUNCTION_JOIN_CONTROLLER_TO_MP_GAME,
  808.     HALO_EVENT_HANDLER_FUNCTION_INITIALIZE_NET_GAME_SERVER_LIST,
  809.     HALO_EVENT_HANDLER_FUNCTION_START_NETWORK_GAME_SERVER,
  810.     HALO_EVENT_HANDLER_FUNCTION_DISPOSE_NET_GAME_SERVER_LIST,
  811.     HALO_EVENT_HANDLER_FUNCTION_SHUTDOWN_NETWORK_GAME,
  812.     HALO_EVENT_HANDLER_FUNCTION_NET_GAME_JOIN_FROM_SERVER_LIST,
  813.     HALO_EVENT_HANDLER_FUNCTION_SPLIT_SCREEN_GAME_INITIALIZE,
  814.     HALO_EVENT_HANDLER_FUNCTION_COOP_GAME_INITIALIZE,
  815.     HALO_EVENT_HANDLER_FUNCTION_MAIN_MENU_INITIALIZE,
  816.     HALO_EVENT_HANDLER_FUNCTION_MP_TYPE_MENU_INITIALIZE,
  817.     HALO_EVENT_HANDLER_FUNCTION_PICK_PLAY_STAGE_FOR_QUICK_START,
  818.     HALO_EVENT_HANDLER_FUNCTION_MP_LEVEL_LIST_INITIALIZE,
  819.     HALO_EVENT_HANDLER_FUNCTION_MP_LEVEL_LIST_DISPOSE,
  820.     HALO_EVENT_HANDLER_FUNCTION_MP_LEVEL_SELECT,
  821.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILES_LIST_INITIALIZE,
  822.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILES_LIST_DISPOSE,
  823.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_SET_FOR_GAME,
  824.     HALO_EVENT_HANDLER_FUNCTION_SWAP_PLAYER_TEAM,
  825.     HALO_EVENT_HANDLER_FUNCTION_NET_GAME_JOIN_PLAYER,
  826.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_LIST_INITIALIZE,
  827.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_LIST_DISPOSE,
  828.     HALO_EVENT_HANDLER_FUNCTION_TRIPLE_WIDE_PLAYER_PROFILE_SET_FOR_GAME,
  829.     HALO_EVENT_HANDLER_FUNCTION_SINGLE_WIDE_PLAYER_PROFILE_SET_FOR_GAME,
  830.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_BEGIN_EDITING,
  831.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_END_EDITING,
  832.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_SET_GAME_ENGINE,
  833.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_CHANGE_NAME,
  834.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_SET_CTF_RULES,
  835.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_SET_KOTH_RULES,
  836.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_SET_SLAYER_RULES,
  837.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_SET_ODDBALL_RULES,
  838.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_SET_RACING_RULES,
  839.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_SET_PLAYER_OPTIONS,
  840.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_SET_ITEM_OPTIONS,
  841.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_SET_INDICATOR_OPTIONS,
  842.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_INIT_GAME_ENGINE,
  843.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_INIT_NAME,
  844.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_INIT_CTF_RULES,
  845.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_INIT_KOTH_RULES,
  846.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_INIT_SLAYER_RULES,
  847.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_INIT_ODDBALL_RULES,
  848.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_INIT_RACING_RULES,
  849.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_INIT_PLAYER_OPTIONS,
  850.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_INIT_ITEM_OPTIONS,
  851.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_INIT_INDICATOR_OPTIONS,
  852.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_SAVE_CHANGES,
  853.     HALO_EVENT_HANDLER_FUNCTION_COLOR_PICKER_MENU_INITIALIZE,
  854.     HALO_EVENT_HANDLER_FUNCTION_COLOR_PICKER_MENU_DISPOSE,
  855.     HALO_EVENT_HANDLER_FUNCTION_COLOR_PICKER_SELECT_COLOR,
  856.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_BEGIN_EDITING,
  857.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_END_EDITING,
  858.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_CHANGE_NAME,
  859.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_SAVE_CHANGES,
  860.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_INIT_CONTROL_SETTINGS,
  861.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_INIT_ADVANCED_CONTROL_SETTINGS,
  862.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_SAVE_CONTROL_SETTINGS,
  863.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_SAVE_ADVANCED_CONTROL_SETTINGS,
  864.     HALO_EVENT_HANDLER_FUNCTION_MP_GAME_PLAYER_QUIT,
  865.     HALO_EVENT_HANDLER_FUNCTION_MAIN_MENU_SWITCH_TO_SOLO_GAME,
  866.     HALO_EVENT_HANDLER_FUNCTION_REQUEST_DELETION_OF_PLAYER_PROFILE,
  867.     HALO_EVENT_HANDLER_FUNCTION_REQUEST_DELETION_OF_PLAYLIST_PROFILE,
  868.     HALO_EVENT_HANDLER_FUNCTION_FINAL_DELETION_OF_PLAYER_PROFILE,
  869.     HALO_EVENT_HANDLER_FUNCTION_FINAL_DELETION_OF_PLAYLIST_PROFILE,
  870.     HALO_EVENT_HANDLER_FUNCTION_CANCEL_PROFILE_DELETION,
  871.     HALO_EVENT_HANDLER_FUNCTION_CREATE_AND_EDIT_PLAYLIST_PROFILE,
  872.     HALO_EVENT_HANDLER_FUNCTION_CREATE_AND_EDIT_PLAYER_PROFILE,
  873.     HALO_EVENT_HANDLER_FUNCTION_NET_GAME_SPEED_START,
  874.     HALO_EVENT_HANDLER_FUNCTION_NET_GAME_DELAY_START,
  875.     HALO_EVENT_HANDLER_FUNCTION_NET_SERVER_ACCEPT_CONNECTION,
  876.     HALO_EVENT_HANDLER_FUNCTION_NET_SERVER_DEFER_START,
  877.     HALO_EVENT_HANDLER_FUNCTION_NET_SERVER_ALLOW_START,
  878.     HALO_EVENT_HANDLER_FUNCTION_DISABLE_IF_NO_XDEMOS,
  879.     HALO_EVENT_HANDLER_FUNCTION_RUN_XDEMOS,
  880.     HALO_EVENT_HANDLER_FUNCTION_SP_RESET_CONTROLLER_CHOICES,
  881.     HALO_EVENT_HANDLER_FUNCTION_SP_SET_PLAYER_1_CONTROLLER_CHOICE,
  882.     HALO_EVENT_HANDLER_FUNCTION_SP_SET_PLAYER_2_CONTROLLER_CHOICE,
  883.     HALO_EVENT_HANDLER_FUNCTION_ERROR_IF_NO_NETWORK_CONNECTION,
  884.     HALO_EVENT_HANDLER_FUNCTION_START_SERVER_IF_NONE_ADVERTISED,
  885.     HALO_EVENT_HANDLER_FUNCTION_NET_GAME_UNJOIN_PLAYER,
  886.     HALO_EVENT_HANDLER_FUNCTION_CLOSE_IF_NOT_EDITING_PROFILE,
  887.     HALO_EVENT_HANDLER_FUNCTION_EXIT_TO_XBOX_DASHBOARD,
  888.     HALO_EVENT_HANDLER_FUNCTION_NEW_CAMPAIGN_CHOSEN,
  889.     HALO_EVENT_HANDLER_FUNCTION_NEW_CAMPAIGN_DECISION,
  890.     HALO_EVENT_HANDLER_FUNCTION_POP_HISTORY_STACK_ONCE,
  891.     HALO_EVENT_HANDLER_FUNCTION_DIFFICULTY_MENU_INIT,
  892.     HALO_EVENT_HANDLER_FUNCTION_BEGIN_MUSIC_FADE_OUT,
  893.     HALO_EVENT_HANDLER_FUNCTION_NEW_GAME_IF_NO_PLAYER_PROFILES,
  894.     HALO_EVENT_HANDLER_FUNCTION_EXIT_GRACEFULLY_TO_XBOX_DASHBOARD,
  895.     HALO_EVENT_HANDLER_FUNCTION_PAUSE_GAME_INVERT_PITCH,
  896.     HALO_EVENT_HANDLER_FUNCTION_START_NEW_COOP_GAME,
  897.     HALO_EVENT_HANDLER_FUNCTION_PAUSE_GAME_INVERT_SPINNER_GET,
  898.     HALO_EVENT_HANDLER_FUNCTION_PAUSE_GAME_INVERT_SPINNER_SET,
  899.     HALO_EVENT_HANDLER_FUNCTION_MAIN_MENU_QUIT_GAME,
  900.     HALO_EVENT_HANDLER_FUNCTION_MOUSE_EMIT_ACCEPT_EVENT,
  901.     HALO_EVENT_HANDLER_FUNCTION_MOUSE_EMIT_BACK_EVENT,
  902.     HALO_EVENT_HANDLER_FUNCTION_MOUSE_EMIT_DPAD_LEFT_EVENT,
  903.     HALO_EVENT_HANDLER_FUNCTION_MOUSE_EMIT_DPAD_RIGHT_EVENT,
  904.     HALO_EVENT_HANDLER_FUNCTION_MOUSE_SPINNER_TRIPLEWIDE_CLICK,
  905.     HALO_EVENT_HANDLER_FUNCTION_CONTROLS_SCREEN_INIT,
  906.     HALO_EVENT_HANDLER_FUNCTION_VIDEO_SCREEN_INIT,
  907.     HALO_EVENT_HANDLER_FUNCTION_CONTROLS_BEGIN_BINDING,
  908.     HALO_EVENT_HANDLER_FUNCTION_GAMESPY_SCREEN_INIT,
  909.     HALO_EVENT_HANDLER_FUNCTION_GAMESPY_SCREEN_DISPOSE,
  910.     HALO_EVENT_HANDLER_FUNCTION_GAMESPY_SELECT_HEADER,
  911.     HALO_EVENT_HANDLER_FUNCTION_GAMESPY_SELECT_ITEM,
  912.     HALO_EVENT_HANDLER_FUNCTION_GAMESPY_SELECT_BUTTON,
  913.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_INIT_MOUSE_SET,
  914.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_CHANGE_MOUSE_SET,
  915.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_INIT_AUDIO_SET,
  916.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_CHANGE_AUDIO_SET,
  917.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_CHANGE_VIDEO_SET,
  918.     HALO_EVENT_HANDLER_FUNCTION_CONTROLS_SCREEN_DISPOSE,
  919.     HALO_EVENT_HANDLER_FUNCTION_CONTROLS_SCREEN_CHANGE_SET,
  920.     HALO_EVENT_HANDLER_FUNCTION_MOUSE_EMIT_X_EVENT,
  921.     HALO_EVENT_HANDLER_FUNCTION_GAMEPAD_SCREEN_INIT,
  922.     HALO_EVENT_HANDLER_FUNCTION_GAMEPAD_SCREEN_DISPOSE,
  923.     HALO_EVENT_HANDLER_FUNCTION_GAMEPAD_SCREEN_CHANGE_GAMEPADS,
  924.     HALO_EVENT_HANDLER_FUNCTION_GAMEPAD_SCREEN_SELECT_ITEM,
  925.     HALO_EVENT_HANDLER_FUNCTION_MOUSE_SCREEN_DEFAULTS,
  926.     HALO_EVENT_HANDLER_FUNCTION_AUDIO_SCREEN_DEFAULTS,
  927.     HALO_EVENT_HANDLER_FUNCTION_VIDEO_SCREEN_DEFAULTS,
  928.     HALO_EVENT_HANDLER_FUNCTION_CONTROLS_SCREEN_DEFAULTS,
  929.     HALO_EVENT_HANDLER_FUNCTION_PROFILE_SET_EDIT_BEGIN,
  930.     HALO_EVENT_HANDLER_FUNCTION_PROFILE_MANAGER_DELETE,
  931.     HALO_EVENT_HANDLER_FUNCTION_PROFILE_MANAGER_SELECT,
  932.     HALO_EVENT_HANDLER_FUNCTION_GAMESPY_DISMISS_ERROR,
  933.     HALO_EVENT_HANDLER_FUNCTION_SERVER_SETTINGS_INIT,
  934.     HALO_EVENT_HANDLER_FUNCTION_SERVER_SETTINGS_EDIT_SERVER_NAME,
  935.     HALO_EVENT_HANDLER_FUNCTION_SERVER_SETTINGS_EDIT_SERVER_PASSWORD,
  936.     HALO_EVENT_HANDLER_FUNCTION_SERVER_SETTINGS_START_GAME,
  937.     HALO_EVENT_HANDLER_FUNCTION_VIDEO_TEST_DIALOG_INIT,
  938.     HALO_EVENT_HANDLER_FUNCTION_VIDEO_TEST_DIALOG_DISPOSE,
  939.     HALO_EVENT_HANDLER_FUNCTION_VIDEO_TEST_DIALOG_ACCEPT,
  940.     HALO_EVENT_HANDLER_FUNCTION_GAMESPY_DISMISS_FILTERS,
  941.     HALO_EVENT_HANDLER_FUNCTION_GAMESPY_UPDATE_FILTER_SETTINGS,
  942.     HALO_EVENT_HANDLER_FUNCTION_GAMESPY_BACK_HANDLER,
  943.     HALO_EVENT_HANDLER_FUNCTION_MOUSE_SPINNER_SINGLE_WIDE_CLICK,
  944.     HALO_EVENT_HANDLER_FUNCTION_CONTROLS_BACK_HANDLER,
  945.     HALO_EVENT_HANDLER_FUNCTION_CONTROLS_ADVANCED_LAUNCH,
  946.     HALO_EVENT_HANDLER_FUNCTION_CONTROLS_ADVANCED_OK,
  947.     HALO_EVENT_HANDLER_FUNCTION_MP_PAUSE_MENU_OPEN,
  948.     HALO_EVENT_HANDLER_FUNCTION_MP_GAME_OPTIONS_OPEN,
  949.     HALO_EVENT_HANDLER_FUNCTION_MP_CHOOSE_TEAM,
  950.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_INIT_VEHICLE_OPTIONS,
  951.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_SAVE_VEHICLE_OPTIONS,
  952.     HALO_EVENT_HANDLER_FUNCTION_SINGLE_PREVIOUSLY_CLICKED_ITEM_ACTIVATED,
  953.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_INIT_TEAMPLAY_OPTIONS,
  954.     HALO_EVENT_HANDLER_FUNCTION_MP_PROFILE_SAVE_TEAMPLAY_OPTIONS,
  955.     HALO_EVENT_HANDLER_FUNCTION_MP_GAME_OPTIONS_CHOOSE,
  956.     HALO_EVENT_HANDLER_FUNCTION_EMIT_CUSTOM_ACTIVATION_EVENT,
  957.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_CANCEL_AUDIO_SET,
  958.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_INIT_NETWORK_OPTIONS,
  959.     HALO_EVENT_HANDLER_FUNCTION_PLAYER_PROFILE_SAVE_NETWORK_OPTIONS,
  960.     HALO_EVENT_HANDLER_FUNCTION_CREDITS_POST_RENDER,
  961.     HALO_EVENT_HANDLER_FUNCTION_DIFFICULTY_ITEM_SELECT,
  962.     HALO_EVENT_HANDLER_FUNCTION_CREDITS_INITIALIZE,
  963.     HALO_EVENT_HANDLER_FUNCTION_CREDITS_DISPOSE,
  964.     HALO_EVENT_HANDLER_FUNCTION_GAMESPY_GET_PATCH,
  965.     HALO_EVENT_HANDLER_FUNCTION_VIDEO_SCREEN_DISPOSE,
  966.     HALO_EVENT_HANDLER_FUNCTION_CAMPAIGN_MENU_INIT,
  967.     HALO_EVENT_HANDLER_FUNCTION_CAMPAIGN_MENU_CONTINUE,
  968.     HALO_EVENT_HANDLER_FUNCTION_LOAD_GAME_MENU_INIT,
  969.     HALO_EVENT_HANDLER_FUNCTION_LOAD_GAME_MENU_DISPOSE,
  970.     HALO_EVENT_HANDLER_FUNCTION_LOAD_GAME_MENU_ACTIVATED,
  971.     HALO_EVENT_HANDLER_FUNCTION_SOLO_MENU_SAVE_CHECKPOINT,
  972.     HALO_EVENT_HANDLER_FUNCTION_MP_TYPE_SET_MODE,
  973.     HALO_EVENT_HANDLER_FUNCTION_CHECKING_FOR_UPDATES_OK,
  974.     HALO_EVENT_HANDLER_FUNCTION_CHECKING_FOR_UPDATES_DISMISS,
  975.     HALO_EVENT_HANDLER_FUNCTION_DIRECT_IP_CONNECT_INIT,
  976.     HALO_EVENT_HANDLER_FUNCTION_DIRECT_IP_CONNECT_GO,
  977.     HALO_EVENT_HANDLER_FUNCTION_DIRECT_IP_EDIT_FIELD,
  978.     HALO_EVENT_HANDLER_FUNCTION_NETWORK_SETTINGS_EDIT_A_PORT,
  979.     HALO_EVENT_HANDLER_FUNCTION_NETWORK_SETTINGS_DEFAULTS,
  980.     HALO_EVENT_HANDLER_FUNCTION_LOAD_GAME_MENU_DELETE_REQUEST,
  981.     HALO_EVENT_HANDLER_FUNCTION_LOAD_GAME_MENU_DELETE_FINISH
  982. };
  983.  
  984. enum halo_replace_functions
  985. {
  986.     HALO_REPLACE_FUNCTION_NULL = 0,
  987.     HALO_REPLACE_FUNCTION_CONTROLLER_OF_WIDGET,
  988.     HALO_REPLACE_FUNCTION_BUILD_NUMBER,
  989.     HALO_REPLACE_FUNCTION_PID
  990. };
  991.  
  992. enum halo_justifications
  993. {
  994.     HALO_JUSTIFICATION_LEFT_JUSTIFY = 0,
  995.     HALO_JUSTIFICATION_RIGHT_JUSTIFY,
  996.     HALO_JUSTIFICATION_CENTER_JUSTIFY
  997. };
  998.  
  999. #pragma mark devc
  1000.  
  1001. enum halo_device_types
  1002. {
  1003.     HALO_DEVICE_TYPE_MOUSE_AND_KEYBOARD = 0,
  1004.     HALO_DEVICE_TYPE_JOYSTICKS_GAMEPADS_ETC,
  1005.     HALO_DEVICE_TYPE_FULL_PROFILE_DEFINITION
  1006. };
  1007.  
  1008. #pragma mark devi
  1009.  
  1010. enum halo_devi_channel_usages
  1011. {
  1012.     HALO_DEVI_CHANNEL_USAGE_NONE = 0,
  1013.     HALO_DEVI_CHANNEL_USAGE_POWER,
  1014.     HALO_DEVI_CHANNEL_USAGE_CHANGE_IN_POWER,
  1015.     HALO_DEVI_CHANNEL_USAGE_POSITION,
  1016.     HALO_DEVI_CHANNEL_USAGE_CHANGE_IN_POSITION,
  1017.     HALO_DEVI_CHANNEL_USAGE_LOCKED,
  1018.     HALO_DEVI_CHANNEL_USAGE_DELAY
  1019. };
  1020.  
  1021. #pragma mark dobc
  1022.  
  1023. enum halo_dobc_collection_types
  1024. {
  1025.     HALO_DOBC_COLLECTION_TYPE_SCREEN_FACING = 0,
  1026.     HALO_DOBC_COLLECTION_TYPE_VIEWER_FACING
  1027. };
  1028.  
  1029. #pragma mark effe
  1030.  
  1031. enum halo_environment_media
  1032. {
  1033.     HALO_ENVIRONMENT_MEDIUM_ANY_ENVIRONMENT = 0,
  1034.     HALO_ENVIRONMENT_MEDIUM_AIR_ONLY,
  1035.     HALO_ENVIRONMENT_MEDIUM_WATER_ONLY,
  1036.     HALO_ENVIRONMENT_MEDIUM_SPACE_ONLY
  1037. };
  1038.  
  1039. enum halo_environment_violence_modes
  1040. {
  1041.     HALO_ENVIRONMENT_VIOLENCE_MODE_EITHER_MODE = 0,
  1042.     HALO_ENVIRONMENT_VIOLENCE_MODE_VIOLENT_MODE_ONLY,
  1043.     HALO_ENVIRONMENT_VIOLENCE_MODE_NONVIOLENT_MODE_ONLY
  1044. };
  1045.  
  1046. enum halo_environment_camera_modes
  1047. {
  1048.     HALO_ENVIRONMENT_CAMERA_MODE_INDEPENDENT_OF_CAMERA_MODE = 0,
  1049.     HALO_ENVIRONMENT_CAMERA_MODE_ONLY_IN_FIRST_PERSON,
  1050.     HALO_ENVIRONMENT_CAMERA_MODE_ONLY_IN_THIRD_PERSON,
  1051.     HALO_ENVIRONMENT_CAMERA_MODE_IN_FIRST_PERSON_IF_POSSIBLE
  1052. };
  1053.  
  1054. enum halo_distribution_functions
  1055. {
  1056.     HALO_DISTRIBUTION_FUNCTION_START = 0,
  1057.     HALO_DISTRIBUTION_FUNCTION_END,
  1058.     HALO_DISTRIBUTION_FUNCTION_CONSTANT,
  1059.     HALO_DISTRIBUTION_FUNCTION_BUILDUP,
  1060.     HALO_DISTRIBUTION_FUNCTION_FALLOFF,
  1061.     HALO_DISTRIBUTION_FUNCTION_BUILDUP_AND_FALLOFF
  1062. };
  1063.  
  1064. #pragma mark eqip
  1065.  
  1066. enum halo_powerup_types
  1067. {
  1068.     HALO_POWERUP_TYPE_NONE = 0,
  1069.     HALO_POWERUP_TYPE_DOUBLE_SPEED,
  1070.     HALO_POWERUP_TYPE_OVER_SHIELD,
  1071.     HALO_POWERUP_TYPE_ACTIVE_CAMOUFLAGE,
  1072.     HALO_POWERUP_TYPE_FULL_SPECTRUM_VISION,
  1073.     HALO_POWERUP_TYPE_HEALTH,
  1074.     HALO_POWERUP_TYPE_GRENADE
  1075. };
  1076.  
  1077. #pragma mark flag
  1078.  
  1079. enum halo_flag_trailing_edge_shapes
  1080. {
  1081.     HALO_FLAG_TRAILING_EDGE_SHAPE_FLAT = 0,
  1082.     HALO_FLAG_TRAILING_EDGE_SHAPE_CONCAVE_TRIANGULAR,
  1083.     HALO_FLAG_TRAILING_EDGE_SHAPE_CONVEX_TRIANGULAR,
  1084.     HALO_FLAG_TRAILING_EDGE_SHAPE_TRAPEZOID_SHORT_TOP,
  1085.     HALO_FLAG_TRAILING_EDGE_SHAPE_TRAPEZOID_SHORT_BOTTOM
  1086. };
  1087.  
  1088. enum halo_flag_attached_edge_shapes
  1089. {
  1090.     HALO_FLAG_ATTACHED_EDGE_SHAPE_FLAT = 0,
  1091.     HALO_FLAG_ATTACHED_EDGE_SHAPE_CONCAVE_TRIANGULAR
  1092. };
  1093.  
  1094. #pragma mark glw!
  1095.  
  1096. enum halo_boundary_effects
  1097. {
  1098.     HALO_BOUNDARY_EFFECT_BOUNCE = 0,
  1099.     HALO_BOUNDARY_EFFECT_WRAP
  1100. };
  1101.  
  1102. enum halo_particle_distributions
  1103. {
  1104.     HALO_PARTICLE_DISTRIBUTION_DISTRIBUTED_RANDOMLY = 0,
  1105.     HALO_PARTICLE_DISTRIBUTION_DISTRIBUTED_UNIFORMLY
  1106. };
  1107.  
  1108. enum halo_particle_emissions
  1109. {
  1110.     HALO_PARTICLE_EMISSION_EMIT_VERTICALLY = 0,
  1111.     HALO_PARTICLE_EMISSION_EMIT_NORMAL_UP,
  1112.     HALO_PARTICLE_EMISSION_EMIT_RANDOMLY
  1113. };
  1114.  
  1115. #pragma mark grhi
  1116.  
  1117. enum halo_positional_alignment_anchors
  1118. {
  1119.     HALO_POSITIONAL_ALIGNMENT_ANCHOR_TOP_LEFT = 0,
  1120.     HALO_POSITIONAL_ALIGNMENT_ANCHOR_TOP_RIGHT,
  1121.     HALO_POSITIONAL_ALIGNMENT_ANCHOR_BOTTOM_LEFT,
  1122.     HALO_POSITIONAL_ALIGNMENT_ANCHOR_BOTTOM_RIGHT,
  1123.     HALO_POSITIONAL_ALIGNMENT_ANCHOR_CENTER
  1124. };
  1125.  
  1126. enum halo_relational_anchors
  1127. {
  1128.     HALO_RELATIONAL_ANCHOR_TEXTURE = 0,
  1129.     HALO_RELATIONAL_ANCHOR_SCREEN
  1130. };
  1131.  
  1132. enum halo_texture_blending_functions
  1133. {
  1134.     HALO_TEXTURE_BLENDING_FUNCTION_ADD = 0,
  1135.     HALO_TEXTURE_BLENDING_FUNCTION_SUBTRACT,
  1136.     HALO_TEXTURE_BLENDING_FUNCTION_MULTIPLY,
  1137.     HALO_TEXTURE_BLENDING_FUNCTION_MULTIPLY2X,
  1138.     HALO_TEXTURE_BLENDING_FUNCTION_DOT
  1139. };
  1140.  
  1141. enum halo_texture_wrap_modes
  1142. {
  1143.     HALO_TEXTURE_WRAP_MODE_CLAMP = 0,
  1144.     HALO_TEXTURE_WRAP_MODE_WRAP
  1145. };
  1146.  
  1147. enum halo_effectors_destination_variable_types
  1148. {
  1149.     HALO_EFFECTORS_DESTINATION_VARIABLE_TYPE_TINT_0_1 = 0,
  1150.     HALO_EFFECTORS_DESTINATION_VARIABLE_TYPE_HORIZONTAL_OFFSET,
  1151.     HALO_EFFECTORS_DESTINATION_VARIABLE_TYPE_VERTICAL_OFFSET,
  1152.     HALO_EFFECTORS_DESTINATION_VARIABLE_TYPE_FADE_0_1
  1153. };
  1154.  
  1155. enum halo_effectors_application_destinations
  1156. {
  1157.     HALO_EFFECTORS_APPLICATION_DESTINATION_GEOMETRY_OFFSET = 0,
  1158.     HALO_EFFECTORS_APPLICATION_DESTINATION_PRIMARY_MAP,
  1159.     HALO_EFFECTORS_APPLICATION_DESTINATION_SECONDARY_MAP,
  1160.     HALO_EFFECTORS_APPLICATION_DESTINATION_TERTIARY_MAP
  1161. };
  1162.  
  1163. enum halo_effectors_sources
  1164. {
  1165.     HALO_EFFECTORS_SOURCE_PLAYER_PITCH = 0,
  1166.     HALO_EFFECTORS_SOURCE_PLAYER_PITCH_TANGENT,
  1167.     HALO_EFFECTORS_SOURCE_PLAYER_YAW,
  1168.     HALO_EFFECTORS_SOURCE_WEAPON_AMMO_TOTAL,
  1169.     HALO_EFFECTORS_SOURCE_WEAPON_AMMO_LOADED,
  1170.     HALO_EFFECTORS_SOURCE_WEAPON_HEAT,
  1171.     HALO_EFFECTORS_SOURCE_EXPLICIT_USES_LOW_BOUND,
  1172.     HALO_EFFECTORS_SOURCE_WEAPON_ZOOM_LEVEL
  1173. };
  1174.  
  1175. #pragma mark item
  1176.  
  1177. enum halo_nones
  1178. {
  1179.     HALO_NONE = 0
  1180. };
  1181.  
  1182. #pragma mark jpt!
  1183.  
  1184. enum halo_screen_flash_types
  1185. {
  1186.     HALO_SCREEN_FLASH_TYPE_NONE = 0,
  1187.     HALO_SCREEN_FLASH_TYPE_LIGHTEN,
  1188.     HALO_SCREEN_FLASH_TYPE_DARKEN,
  1189.     HALO_SCREEN_FLASH_TYPE_MAX,
  1190.     HALO_SCREEN_FLASH_TYPE_MIN,
  1191.     HALO_SCREEN_FLASH_TYPE_INVERT,
  1192.     HALO_SCREEN_FLASH_TYPE_TINT
  1193. };
  1194.  
  1195. enum halo_priorities
  1196. {
  1197.     HALO_PRIORITY_LOW = 0,
  1198.     HALO_PRIORITY_MEDIUM,
  1199.     HALO_PRIORITY_HIGH
  1200. };
  1201.  
  1202. #pragma mark lens
  1203.  
  1204. enum halo_relative_rendering_directions
  1205. {
  1206.     HALO_RELATIVE_RENDERING_DIRECTION_TOWARD_VIEWER = 0,
  1207.     HALO_RELATIVE_RENDERING_DIRECTION_MARKER_FORWARD,
  1208.     HALO_RELATIVE_RENDERING_DIRECTION_NONE
  1209. };
  1210.  
  1211. enum halo_relative_angular_rotation_functions
  1212. {
  1213.     HALO_RELATIVE_ANGULAR_ROTATION_FUNCTION_NONE = 0,
  1214.     HALO_RELATIVE_ANGULAR_ROTATION_FUNCTION_ROTATION_A,
  1215.     HALO_RELATIVE_ANGULAR_ROTATION_FUNCTION_ROTATION_B,
  1216.     HALO_RELATIVE_ANGULAR_ROTATION_FUNCTION_ROTATION_TRANSLATION,
  1217.     HALO_RELATIVE_ANGULAR_ROTATION_FUNCTION_TRANSLATION
  1218. };
  1219.  
  1220. enum halo_reflection_scaling_associations
  1221. {
  1222.     HALO_REFLECTION_SCALING_ASSOCIATION_NONE = 0,
  1223.     HALO_REFLECTION_SCALING_ASSOCIATION_ROTATION,
  1224.     HALO_REFLECTION_SCALING_ASSOCIATION_ROTATION_AND_STRAFING,
  1225.     HALO_REFLECTION_SCALING_ASSOCIATION_DISTANCE_FROM_CENTER
  1226. };
  1227.  
  1228. #pragma mark mach
  1229.  
  1230. enum halo_mach_machine_types
  1231. {
  1232.     HALO_MACH_MACHINE_TYPE_DOOR = 0,
  1233.     HALO_MACH_MACHINE_TYPE_PLATFORM,
  1234.     HALO_MACH_MACHINE_TYPE_GEAR
  1235. };
  1236.  
  1237. enum halo_mach_collision_responses
  1238. {
  1239.     HALO_MACH_COLLISION_RESPONSE_PAUSE_UNTIL_CRUSHED = 0,
  1240.     HALO_MACH_COLLISION_RESPONSE_REVERSE_DIRECTIONS
  1241. };
  1242.  
  1243. #pragma mark metr
  1244.  
  1245. enum halo_metr_color_interpolations
  1246. {
  1247.     HALO_METR_COLOR_INTERPOLATION_LINEARLY = 0,
  1248.     HALO_METR_COLOR_INTERPOLATION_FASTER_NEAR_EMPTY,
  1249.     HALO_METR_COLOR_INTERPOLATION_FASTER_NEAR_FULL,
  1250.     HALO_METR_COLOR_INTERPOLATION_THROUGH_RANDOM_NOISE
  1251. };
  1252.  
  1253. enum halo_metr_color_anchors
  1254. {
  1255.     HALO_METR_COLOR_ANCHOR_AT_BOTH_ENDS = 0,
  1256.     HALO_METR_COLOR_ANCHOR_AT_EMPTY,
  1257.     HALO_METR_COLOR_ANCHOR_AT_FULL
  1258. };
  1259.  
  1260. #pragma mark obje
  1261.  
  1262. enum halo_obje_types
  1263. {
  1264.     HALO_OBJE_TYPE_OBJE = -1,
  1265.     HALO_OBJE_TYPE_BIPD,
  1266.     HALO_OBJE_TYPE_VEHI,
  1267.     HALO_OBJE_TYPE_WEAP,
  1268.     HALO_OBJE_TYPE_EQIP,
  1269.     HALO_OBJE_TYPE_GARB,
  1270.     HALO_OBJE_TYPE_PROJ,
  1271.     HALO_OBJE_TYPE_SCEN,
  1272.     HALO_OBJE_TYPE_MACH,
  1273.     HALO_OBJE_TYPE_CTRL,
  1274.     HALO_OBJE_TYPE_LIFI,
  1275.     HALO_OBJE_TYPE_PLAC,
  1276.     HALO_OBJE_TYPE_SSCE
  1277. };
  1278.  
  1279. enum halo_obje_export_to_functions
  1280. {
  1281.     HALO_OBJE_EXPORT_TO_FUNCTION_NONE = 0,
  1282.     HALO_OBJE_EXPORT_TO_FUNCTION_BODY_VITALITY,
  1283.     HALO_OBJE_EXPORT_TO_FUNCTION_SHIELD_VITALITY,
  1284.     HALO_OBJE_EXPORT_TO_FUNCTION_RECENT_BODY_DAMAGE,
  1285.     HALO_OBJE_EXPORT_TO_FUNCTION_RECENT_SHIELD_DAMAGE,
  1286.     HALO_OBJE_EXPORT_TO_FUNCTION_RANDOM_CONSTANT,
  1287.     HALO_OBJE_EXPORT_TO_FUNCTION_UMBRELLA_SHIELD_VITALITY,
  1288.     HALO_OBJE_EXPORT_TO_FUNCTION_SHIELD_STUN,
  1289.     HALO_OBJE_EXPORT_TO_FUNCTION_RECENT_UMBRELLA_SHIELD_VITALITY,
  1290.     HALO_OBJE_EXPORT_TO_FUNCTION_UMBRELLA_SHIELD_STUN,
  1291.     HALO_OBJE_EXPORT_TO_FUNCTION_REGION_00_DAMAGE,
  1292.     HALO_OBJE_EXPORT_TO_FUNCTION_REGION_01_DAMAGE,
  1293.     HALO_OBJE_EXPORT_TO_FUNCTION_REGION_02_DAMAGE,
  1294.     HALO_OBJE_EXPORT_TO_FUNCTION_REGION_03_DAMAGE,
  1295.     HALO_OBJE_EXPORT_TO_FUNCTION_REGION_04_DAMAGE,
  1296.     HALO_OBJE_EXPORT_TO_FUNCTION_REGION_05_DAMAGE,
  1297.     HALO_OBJE_EXPORT_TO_FUNCTION_REGION_06_DAMAGE,
  1298.     HALO_OBJE_EXPORT_TO_FUNCTION_REGION_07_DAMAGE,
  1299.     HALO_OBJE_EXPORT_TO_FUNCTION_ALIVE,
  1300.     HALO_OBJE_EXPORT_TO_FUNCTION_COMPASS
  1301. };
  1302.  
  1303. enum halo_function_channel_types
  1304. {
  1305.     HALO_FUNCTION_CHANNEL_TYPE_NONE = 0,
  1306.     HALO_FUNCTION_CHANNEL_TYPE_A,
  1307.     HALO_FUNCTION_CHANNEL_TYPE_B,
  1308.     HALO_FUNCTION_CHANNEL_TYPE_C,
  1309.     HALO_FUNCTION_CHANNEL_TYPE_D
  1310. };
  1311.  
  1312. enum halo_function_out_channels
  1313. {
  1314.     HALO_FUNCTION_OUT_CHANNEL_NONE = 0,
  1315.     HALO_FUNCTION_OUT_CHANNEL_A_OUT,
  1316.     HALO_FUNCTION_OUT_CHANNEL_B_OUT,
  1317.     HALO_FUNCTION_OUT_CHANNEL_C_OUT,
  1318.     HALO_FUNCTION_OUT_CHANNEL_D_OUT
  1319. };
  1320.  
  1321. enum halo_function_in_out_channels
  1322. {
  1323.     HALO_FUNCTION_IN_OUT_CHANNEL_NONE = 0,
  1324.     HALO_FUNCTION_IN_OUT_CHANNEL_A_IN,
  1325.     HALO_FUNCTION_IN_OUT_CHANNEL_B_IN,
  1326.     HALO_FUNCTION_IN_OUT_CHANNEL_C_IN,
  1327.     HALO_FUNCTION_IN_OUT_CHANNEL_D_IN,
  1328.     HALO_FUNCTION_IN_OUT_CHANNEL_A_OUT,
  1329.     HALO_FUNCTION_IN_OUT_CHANNEL_B_OUT,
  1330.     HALO_FUNCTION_IN_OUT_CHANNEL_C_OUT,
  1331.     HALO_FUNCTION_IN_OUT_CHANNEL_D_OUT
  1332. };
  1333.  
  1334. enum halo_function_behaviors
  1335. {
  1336.     HALO_FUNCTION_BEHAVIOR_ONE = 0,
  1337.     HALO_FUNCTION_BEHAVIOR_ZERO,
  1338.     HALO_FUNCTION_BEHAVIOR_COSINE,
  1339.     HALO_FUNCTION_BEHAVIOR_COSINE_VARIABLE_PERIOD,
  1340.     HALO_FUNCTION_BEHAVIOR_DIAGONAL_WAVE,
  1341.     HALO_FUNCTION_BEHAVIOR_DIAGONAL_WAVE_VARIABLE_PERIOD,
  1342.     HALO_FUNCTION_BEHAVIOR_SLIDE,
  1343.     HALO_FUNCTION_BEHAVIOR_SLIDE_VARIABLE_PERIOD,
  1344.     HALO_FUNCTION_BEHAVIOR_NOISE,
  1345.     HALO_FUNCTION_BEHAVIOR_JITTER,
  1346.     HALO_FUNCTION_BEHAVIOR_WANDER,
  1347.     HALO_FUNCTION_BEHAVIOR_SPARK
  1348. };
  1349.  
  1350. enum halo_function_mappings
  1351. {
  1352.     HALO_FUNCTION_MAPPING_LINEAR = 0,
  1353.     HALO_FUNCTION_MAPPING_EARLY,
  1354.     HALO_FUNCTION_MAPPING_VERY_EARLY,
  1355.     HALO_FUNCTION_MAPPING_LATE,
  1356.     HALO_FUNCTION_MAPPING_VERY_LATE,
  1357.     HALO_FUNCTION_MAPPING_COSINE
  1358. };
  1359.  
  1360. enum halo_function_bounds
  1361. {
  1362.     HALO_FUNCTION_BOUND_CLIP = 0,
  1363.     HALO_FUNCTION_BOUND_CLIP_AND_NORMALIZE,
  1364.     HALO_FUNCTION_BOUND_SCALE_TO_FIT
  1365. };
  1366.  
  1367. enum halo_resource_types
  1368. {
  1369.     HALO_RESOURCE_TYPE_BITMAP = 0,
  1370.     HALO_RESOURCE_TYPE_SOUND
  1371. };
  1372.  
  1373. #pragma mark part
  1374.  
  1375. enum halo_render_orientations
  1376. {
  1377.     HALO_RENDER_ORIENTATION_SCREEN_FACING = 0,
  1378.     HALO_RENDER_ORIENTATION_PARALLEL_TO_DIRECTION,
  1379.     HALO_RENDER_ORIENTATION_PERPENDICULAR_TO_DIRECTION
  1380. };
  1381.  
  1382. #pragma mark pctl
  1383.  
  1384. enum halo_pctl_system_origin_update_physics_behaviors
  1385. {
  1386.     HALO_PCTL_SYSTEM_ORIGIN_UPDATE_PHYSICS_BEHAVIOR_DEFAULT = 0,
  1387.     HALO_PCTL_SYSTEM_ORIGIN_UPDATE_PHYSICS_BEHAVIOR_EXPLOSION
  1388. };
  1389.  
  1390. enum halo_pctl_complex_sprite_render_modes
  1391. {
  1392.     HALO_PCTL_COMPLEX_SPRITE_RENDER_MODE_SIMPLE = 0,
  1393.     HALO_PCTL_COMPLEX_SPRITE_RENDER_MODE_ROTATIONAL
  1394. };
  1395.  
  1396. enum halo_pctl_particle_creation_physics_behaviors
  1397. {
  1398.     HALO_PCTL_PARTICLE_CREATION_PHYSICS_BEHAVIOR_DEFAULT = 0,
  1399.     HALO_PCTL_PARTICLE_CREATION_PHYSICS_BEHAVIOR_EXPLOSION,
  1400.     HALO_PCTL_PARTICLE_CREATION_PHYSICS_BEHAVIOR_JET
  1401. };
  1402.  
  1403. enum halo_pctl_particle_update_physics_behaviors
  1404. {
  1405.     HALO_PCTL_PARTICLE_UPDATE_PHYSICS_BEHAVIOR_DEFAULT = 0
  1406. };
  1407.  
  1408. #pragma mark phys
  1409.  
  1410. enum halo_phys_mass_point_friction_types
  1411. {
  1412.     HALO_PHYS_MASS_POINT_FRICTION_TYPE_POINT = 0,
  1413.     HALO_PHYS_MASS_POINT_FRICTION_TYPE_FORWARD,
  1414.     HALO_PHYS_MASS_POINT_FRICTION_TYPE_LEFT,
  1415.     HALO_PHYS_MASS_POINT_FRICTION_TYPE_UP
  1416. };
  1417.  
  1418. #pragma mark proj
  1419.  
  1420. enum halo_proj_timer_triggers
  1421. {
  1422.     HALO_PROJ_TIMER_TRIGGER_IMMEDIATELY = 0,
  1423.     HALO_PROJ_TIMER_TRIGGER_AFTER_FIRST_BOUNCE,
  1424.     HALO_PROJ_TIMER_TRIGGER_WHEN_AT_REST
  1425. };
  1426.  
  1427. enum halo_proj_channel_functions
  1428. {
  1429.     HALO_PROJ_CHANNEL_FUNCTION_NONE = 0,
  1430.     HALO_PROJ_CHANNEL_FUNCTION_RANGE_REMAINING,
  1431.     HALO_PROJ_CHANNEL_FUNCTION_TIME_REMAINING,
  1432.     HALO_PROJ_CHANNEL_FUNCTION_TRACER
  1433. };
  1434.  
  1435. enum halo_material_responses
  1436. {
  1437.     HALO_MATERIAL_RESPONSE_DISAPPEAR = 0,
  1438.     HALO_MATERIAL_RESPONSE_DETONATE,
  1439.     HALO_MATERIAL_RESPONSE_REFLECT,
  1440.     HALO_MATERIAL_RESPONSE_OVERPENETRATE,
  1441.     HALO_MATERIAL_RESPONSE_ATTACH
  1442. };
  1443.  
  1444. enum halo_material_response_effect_scaling
  1445. {
  1446.     HALO_MATERIAL_RESPONSE_EFFECT_SCALE_BY_DAMAGE = 0,
  1447.     HALO_MATERIAL_RESPONSE_EFFECT_SCALE_BY_ANGLE
  1448. };
  1449.  
  1450. #pragma mark rain
  1451.  
  1452. enum halo_render_direction_sources
  1453. {
  1454.     HALO_RENDER_DIRECTION_SOURCE_FROM_VELOCITY = 0,
  1455.     HALO_RENDER_DIRECTION_SOURCE_FROM_ACCELERATION
  1456. };
  1457.  
  1458. #pragma mark shdr, schi, and scex
  1459.  
  1460. enum halo_detail_levels
  1461. {
  1462.     HALO_DETAIL_LEVEL_HIGH = 0,
  1463.     HALO_DETAIL_LEVEL_MEDIUM,
  1464.     HALO_DETAIL_LEVEL_LOW,
  1465.     HALO_DETAIL_LEVEL_TURD
  1466. };
  1467.  
  1468. enum halo_shader_map_types
  1469. {
  1470.     HALO_SHADER_MAP_TYPE_2D_MAP = 0,
  1471.     HALO_SHADER_MAP_TYPE_FIRST_MAP_IS_REFLECTION_CUBE_MAP,
  1472.     HALO_SHADER_MAP_TYPE_FIRST_MAP_IS_OBJECT_CENTERED_CUBE_MAP,
  1473.     HALO_SHADER_MAP_TYPE_FIRST_MAP_IS_VIEWER_CENTERED_CUBE_MAP
  1474. };
  1475.  
  1476. enum halo_stage_map_functions
  1477. {
  1478.     HALO_STAGE_MAP_FUNCTION_CURRENT = 0,
  1479.     HALO_STAGE_MAP_FUNCTION_NEXT_MAP,
  1480.     HALO_STAGE_MAP_FUNCTION_MULTIPLY,
  1481.     HALO_STAGE_MAP_FUNCTION_DOUBLE_MULTIPLY,
  1482.     HALO_STAGE_MAP_FUNCTION_ADD,
  1483.     HALO_STAGE_MAP_FUNCTION_ADD_SIGNED_CURRENT,
  1484.     HALO_STAGE_MAP_FUNCTION_ADD_SIGNED_NEXT_MAP,
  1485.     HALO_STAGE_MAP_FUNCTION_SUBTRACT_CURRENT,
  1486.     HALO_STAGE_MAP_FUNCTION_SUBTRACT_NEXT_MAP,
  1487.     HALO_STAGE_MAP_FUNCTION_BLEND_CURRENT_ALPHA,
  1488.     HALO_STAGE_MAP_FUNCTION_BLEND_CURRENT_ALPHA_INVERSE,
  1489.     HALO_STAGE_MAP_FUNCTION_BLEND_NEXT_MAP_ALPHA,
  1490.     HALO_STAGE_MAP_FUNCTION_BLEND_NEXT_MAP_ALPHA_INVERSE
  1491. };
  1492.  
  1493. #pragma mark scnr
  1494.  
  1495. enum halo_scnr_types
  1496. {
  1497.     HALO_SCNR_TYPE_SOLO = 0,
  1498.     HALO_SCNR_TYPE_MULTIPLAYER,
  1499.     HALO_SCNR_TYPE_MAIN_MENU
  1500. };
  1501.  
  1502. enum halo_gametypes
  1503. {
  1504.     HALO_GAMETYPE_NONE = 0,
  1505.     HALO_GAMETYPE_CTF,
  1506.     HALO_GAMETYPE_SLAYER,
  1507.     HALO_GAMETYPE_ODDBALL,
  1508.     HALO_GAMETYPE_KING_OF_THE_HILL,
  1509.     HALO_GAMETYPE_RACE,
  1510.     HALO_GAMETYPE_TERMINATOR,
  1511.     HALO_GAMETYPE_STUB,
  1512.     HALO_GAMETYPE_IGNORED1,
  1513.     HALO_GAMETYPE_IGNORED2,
  1514.     HALO_GAMETYPE_IGNORED3,
  1515.     HALO_GAMETYPE_IGNORED4,
  1516.     HALO_GAMETYPE_ALL_GAMES,
  1517.     HALO_GAMETYPE_ALL_EXCEPT_CTF,
  1518.     HALO_GAMETYPE_ALL_EXCEPT_RACE_AND_CTF
  1519. };
  1520.  
  1521. enum halo_netgame_flag_types
  1522. {
  1523.     HALO_NETGAME_FLAG_TYPE_CTF_FLAG = 0,
  1524.     HALO_NETGAME_FLAG_TYPE_CTF_VEHICLE,
  1525.     HALO_NETGAME_FLAG_TYPE_ODDBALL_BALL_SPAWN,
  1526.     HALO_NETGAME_FLAG_TYPE_RACE_TRACK,
  1527.     HALO_NETGAME_FLAG_TYPE_RACE_VEHICLE,
  1528.     HALO_NETGAME_FLAG_TYPE_VEGAS_BANK,
  1529.     HALO_NETGAME_FLAG_TYPE_TELEPORT_FROM,
  1530.     HALO_NETGAME_FLAG_TYPE_TELEPORT_TO,
  1531.     HALO_NETGAME_FLAG_TYPE_HILL_FLAG
  1532. };
  1533.  
  1534. enum halo_mp_teams  // The HEK programs present this as a number but there are only two acceptable numbers: 0 for red and 1 for blue
  1535. {
  1536.     HALO_MP_TEAM_RED = 0,
  1537.     HALO_MP_TEAM_BLUE
  1538. };
  1539.  
  1540. enum halo_team_indices
  1541. {
  1542.     HALO_TEAM_INDEX_DEFAULT_BY_UNIT = 0,
  1543.     HALO_TEAM_INDEX_PLAYER,
  1544.     HALO_TEAM_INDEX_HUMAN,
  1545.     HALO_TEAM_INDEX_COVENANT,
  1546.     HALO_TEAM_INDEX_FLOOD,
  1547.     HALO_TEAM_INDEX_SENTINEL,
  1548.     HALO_TEAM_INDEX_UNUSED6,
  1549.     HALO_TEAM_INDEX_UNUSED7,
  1550.     HALO_TEAM_INDEX_UNUSED8,
  1551.     HALO_TEAM_INDEX_UNUSED9
  1552. };
  1553.  
  1554. enum halo_search_behaviors
  1555. {
  1556.     HALO_SEARCH_BEHAVIOR_NORMAL = 0,
  1557.     HALO_SEARCH_BEHAVIOR_NEVER,
  1558.     HALO_SEARCH_BEHAVIOR_TENACIOUS
  1559. };
  1560.  
  1561. enum halo_ai_states
  1562. {
  1563.     HALO_AI_STATE_NONE = 0,
  1564.     HALO_AI_STATE_SLEEPING,
  1565.     HALO_AI_STATE_ALERT,
  1566.     HALO_AI_STATE_MOVING_REPEAT_SAME_POSITION,
  1567.     HALO_AI_STATE_MOVING_LOOP,
  1568.     HALO_AI_STATE_MOVING_LOOP_BACK_AND_FORTH,
  1569.     HALO_AI_STATE_MOVING_LOOP_RANDOMLY,
  1570.     HALO_AI_STATE_MOVING_RANDOMLY,
  1571.     HALO_AI_STATE_GUARDING,
  1572.     HALO_AI_STATE_GUARDING_AT_GUARD_POSITION,
  1573.     HALO_AI_STATE_SEARCHING,
  1574.     HALO_AI_STATE_FLEEING
  1575. };
  1576.  
  1577. enum halo_ai_squad_leaders
  1578. {
  1579.     HALO_AI_SQUAD_LEADER_NORMAL = 0,
  1580.     HALO_AI_SQUAD_LEADER_NONE,
  1581.     HALO_AI_SQUAD_LEADER_RANDOM,
  1582.     HALO_AI_SQUAD_LEADER_SGT_JOHNSON,
  1583.     HALO_AI_SQUAD_LEADER_SGT_LEHTO
  1584. };
  1585.  
  1586. enum halo_ai_major_upgrades
  1587. {
  1588.     HALO_AI_MAJOR_UPGRADE_NORMAL = 0,
  1589.     HALO_AI_MAJOR_UPGRADE_FEW,
  1590.     HALO_AI_MAJOR_UPGRADE_MANY,
  1591.     HALO_AI_MAJOR_UPGRADE_NONE,
  1592.     HALO_AI_MAJOR_UPGRADE_ALL
  1593. };
  1594.  
  1595. enum halo_ai_platoon_behavior_alteration_conditions
  1596. {
  1597.     HALO_AI_PLATOON_BEHAVIOR_ALTERATION_CONDITION_NEVER = 0,
  1598.     HALO_AI_PLATOON_BEHAVIOR_ALTERATION_CONDITION_LESS_THAN_75_PERCENT_STRENGTH,
  1599.     HALO_AI_PLATOON_BEHAVIOR_ALTERATION_CONDITION_LESS_THAN_50_PERCENT_STRENGTH,
  1600.     HALO_AI_PLATOON_BEHAVIOR_ALTERATION_CONDITION_LESS_THAN_25_PERCENT_STRENGTH,
  1601.     HALO_AI_PLATOON_BEHAVIOR_ALTERATION_CONDITION_ANYBODY_DEAD,
  1602.     HALO_AI_PLATOON_BEHAVIOR_ALTERATION_CONDITION_25_PERCENT_DEAD,
  1603.     HALO_AI_PLATOON_BEHAVIOR_ALTERATION_CONDITION_50_PERCENT_DEAD,
  1604.     HALO_AI_PLATOON_BEHAVIOR_ALTERATION_CONDITION_75_PERCENT_DEAD,
  1605.     HALO_AI_PLATOON_BEHAVIOR_ALTERATION_CONDITION_ALL_BUT_ONE_DEAD,
  1606.     HALO_AI_PLATOON_BEHAVIOR_ALTERATION_CONDITION_ALL_DEAD
  1607. };
  1608.  
  1609. enum halo_scnr_firing_position_groups
  1610. {
  1611.     HALO_SCNR_FIRING_POSITION_GROUP_A = 0,
  1612.     HALO_SCNR_FIRING_POSITION_GROUP_B,
  1613.     HALO_SCNR_FIRING_POSITION_GROUP_C,
  1614.     HALO_SCNR_FIRING_POSITION_GROUP_D,
  1615.     HALO_SCNR_FIRING_POSITION_GROUP_E,
  1616.     HALO_SCNR_FIRING_POSITION_GROUP_F,
  1617.     HALO_SCNR_FIRING_POSITION_GROUP_G,
  1618.     HALO_SCNR_FIRING_POSITION_GROUP_H,
  1619.     HALO_SCNR_FIRING_POSITION_GROUP_I,
  1620.     HALO_SCNR_FIRING_POSITION_GROUP_J,
  1621.     HALO_SCNR_FIRING_POSITION_GROUP_K,
  1622.     HALO_SCNR_FIRING_POSITION_GROUP_L,
  1623.     HALO_SCNR_FIRING_POSITION_GROUP_M,
  1624.     HALO_SCNR_FIRING_POSITION_GROUP_N,
  1625.     HALO_SCNR_FIRING_POSITION_GROUP_O,
  1626.     HALO_SCNR_FIRING_POSITION_GROUP_P,
  1627.     HALO_SCNR_FIRING_POSITION_GROUP_Q,
  1628.     HALO_SCNR_FIRING_POSITION_GROUP_R,
  1629.     HALO_SCNR_FIRING_POSITION_GROUP_S,
  1630.     HALO_SCNR_FIRING_POSITION_GROUP_T,
  1631.     HALO_SCNR_FIRING_POSITION_GROUP_U,
  1632.     HALO_SCNR_FIRING_POSITION_GROUP_V,
  1633.     HALO_SCNR_FIRING_POSITION_GROUP_W,
  1634.     HALO_SCNR_FIRING_POSITION_GROUP_X,
  1635.     HALO_SCNR_FIRING_POSITION_GROUP_Y,
  1636.     HALO_SCNR_FIRING_POSITION_GROUP_Z
  1637. };
  1638.  
  1639. enum halo_ai_command_atom_types
  1640. {
  1641.     HALO_AI_COMMAND_ATOM_TYPE_PAUSE = 0,
  1642.     HALO_AI_COMMAND_ATOM_TYPE_GO_TO,
  1643.     HALO_AI_COMMAND_ATOM_TYPE_GO_TO_AND_FACE,
  1644.     HALO_AI_COMMAND_ATOM_TYPE_MOVE_IN_DIRECTION,
  1645.     HALO_AI_COMMAND_ATOM_TYPE_LOOK,
  1646.     HALO_AI_COMMAND_ATOM_TYPE_ANIMATION_MODE,
  1647.     HALO_AI_COMMAND_ATOM_TYPE_CROUCH,
  1648.     HALO_AI_COMMAND_ATOM_TYPE_SHOOT,
  1649.     HALO_AI_COMMAND_ATOM_TYPE_GRENADE,
  1650.     HALO_AI_COMMAND_ATOM_TYPE_VEHICLE,
  1651.     HALO_AI_COMMAND_ATOM_TYPE_RUNNING_JUMP,
  1652.     HALO_AI_COMMAND_ATOM_TYPE_TARGETED_JUMP,
  1653.     HALO_AI_COMMAND_ATOM_TYPE_SCRIPT,
  1654.     HALO_AI_COMMAND_ATOM_TYPE_ANIMATE,
  1655.     HALO_AI_COMMAND_ATOM_TYPE_RECORDING,
  1656.     HALO_AI_COMMAND_ATOM_TYPE_ACTION,
  1657.     HALO_AI_COMMAND_ATOM_TYPE_VOCALIZE,
  1658.     HALO_AI_COMMAND_ATOM_TYPE_TARGETING,
  1659.     HALO_AI_COMMAND_ATOM_TYPE_INITIATIVE,
  1660.     HALO_AI_COMMAND_ATOM_TYPE_WAIT,
  1661.     HALO_AI_COMMAND_ATOM_TYPE_LOOP,
  1662.     HALO_AI_COMMAND_ATOM_TYPE_DIE,
  1663.     HALO_AI_COMMAND_ATOM_TYPE_MOVE_IMMEDIATE,
  1664.     HALO_AI_COMMAND_ATOM_TYPE_LOOK_RANDOM,
  1665.     HALO_AI_COMMAND_ATOM_TYPE_LOOK_PLAYER,
  1666.     HALO_AI_COMMAND_ATOM_TYPE_LOOK_OBJECT,
  1667.     HALO_AI_COMMAND_ATOM_TYPE_SET_RADIUS,
  1668.     HALO_AI_COMMAND_ATOM_TYPE_TELEPORT
  1669. };
  1670.  
  1671. enum halo_ai_conversation_participant_selection_types
  1672. {
  1673.     HALO_AI_CONVERSATION_PARTICIPANT_SELECTION_TYPE_FRIENDLY_ACTOR = 0,
  1674.     HALO_AI_CONVERSATION_PARTICIPANT_SELECTION_TYPE_DISEMBODIED,
  1675.     HALO_AI_CONVERSATION_PARTICIPANT_SELECTION_TYPE_IN_VEHICLE_OF_PLAYER,
  1676.     HALO_AI_CONVERSATION_PARTICIPANT_SELECTION_TYPE_NOT_IN_A_VEHICLE,
  1677.     HALO_AI_CONVERSATION_PARTICIPANT_SELECTION_TYPE_PREFER_SERGEANT,
  1678.     HALO_AI_CONVERSATION_PARTICIPANT_SELECTION_TYPE_ANY_ACTOR,
  1679.     HALO_AI_CONVERSATION_PARTICIPANT_SELECTION_TYPE_RADIO_UNIT,
  1680.     HALO_AI_CONVERSATION_PARTICIPANT_SELECTION_TYPE_RADIO_SERGEANT
  1681. };
  1682.  
  1683. enum halo_ai_conversation_lines_character_types
  1684. {
  1685.     HALO_AI_CONVERSATION_LINES_CHARACTER_TYPE_NONE = 0,
  1686.     HALO_AI_CONVERSATION_LINES_CHARACTER_TYPE_PLAYER,
  1687.     HALO_AI_CONVERSATION_LINES_CHARACTER_TYPE_PARTICIPANT
  1688. };
  1689.  
  1690. enum halo_script_types
  1691. {
  1692.     HALO_SCRIPT_TYPE_STARTUP = 0,
  1693.     HALO_SCRIPT_TYPE_DORMANT,
  1694.     HALO_SCRIPT_TYPE_CONTINUOUS,
  1695.     HALO_SCRIPT_TYPE_STATIC,
  1696.     HALO_SCRIPT_TYPE_STUB
  1697. };
  1698.  
  1699. enum halo_script_return_types
  1700. {
  1701.     HALO_SCRIPT_RETURN_TYPE_UNPARSED = 0,
  1702.     HALO_SCRIPT_RETURN_TYPE_SPECIAL_FORM,
  1703.     HALO_SCRIPT_RETURN_TYPE_FUNCTION_NAME,
  1704.     HALO_SCRIPT_RETURN_TYPE_PASSTHROUGH,
  1705.     HALO_SCRIPT_RETURN_TYPE_VOID,
  1706.     HALO_SCRIPT_RETURN_TYPE_BOOLEAN,
  1707.     HALO_SCRIPT_RETURN_TYPE_REAL,
  1708.     HALO_SCRIPT_RETURN_TYPE_SHORT,
  1709.     HALO_SCRIPT_RETURN_TYPE_LONG,
  1710.     HALO_SCRIPT_RETURN_TYPE_STRING,
  1711.     HALO_SCRIPT_RETURN_TYPE_SCRIPT,
  1712.     HALO_SCRIPT_RETURN_TYPE_TRIGGER_VOLUME,
  1713.     HALO_SCRIPT_RETURN_TYPE_CUTSCENE_FLAG,
  1714.     HALO_SCRIPT_RETURN_TYPE_CUTSCENE_CAMERA_POINT,
  1715.     HALO_SCRIPT_RETURN_TYPE_CUTSCENE_TITLE,
  1716.     HALO_SCRIPT_RETURN_TYPE_CUTSCENE_RECORDING,
  1717.     HALO_SCRIPT_RETURN_TYPE_DEVICE_GROUP,
  1718.     HALO_SCRIPT_RETURN_TYPE_AI,
  1719.     HALO_SCRIPT_RETURN_TYPE_AI_COMMAND_LIST,
  1720.     HALO_SCRIPT_RETURN_TYPE_STARTING_PROFILE,
  1721.     HALO_SCRIPT_RETURN_TYPE_CONVERSATION,
  1722.     HALO_SCRIPT_RETURN_TYPE_NAVPOINT,
  1723.     HALO_SCRIPT_RETURN_TYPE_HUD_MESSAGE,
  1724.     HALO_SCRIPT_RETURN_TYPE_OBJECT_LIST,
  1725.     HALO_SCRIPT_RETURN_TYPE_SOUND,
  1726.     HALO_SCRIPT_RETURN_TYPE_EFFECT,
  1727.     HALO_SCRIPT_RETURN_TYPE_DAMAGE,
  1728.     HALO_SCRIPT_RETURN_TYPE_LOOPING_SOUND,
  1729.     HALO_SCRIPT_RETURN_TYPE_ANIMATION_GRAPH,
  1730.     HALO_SCRIPT_RETURN_TYPE_ACTOR_VARIANT,
  1731.     HALO_SCRIPT_RETURN_TYPE_DAMAGE_EFFECT,
  1732.     HALO_SCRIPT_RETURN_TYPE_OBJECT_DEFINITION,
  1733.     HALO_SCRIPT_RETURN_TYPE_GAME_DIFFICULTY,
  1734.     HALO_SCRIPT_RETURN_TYPE_TEAM,
  1735.     HALO_SCRIPT_RETURN_TYPE_AI_DEFAULT_STATE,
  1736.     HALO_SCRIPT_RETURN_TYPE_ACTOR_TYPE,
  1737.     HALO_SCRIPT_RETURN_TYPE_HUD_CORNER,
  1738.     HALO_SCRIPT_RETURN_TYPE_OBJECT,
  1739.     HALO_SCRIPT_RETURN_TYPE_UNIT,
  1740.     HALO_SCRIPT_RETURN_TYPE_VEHICLE,
  1741.     HALO_SCRIPT_RETURN_TYPE_WEAPON,
  1742.     HALO_SCRIPT_RETURN_TYPE_DEVICE,
  1743.     HALO_SCRIPT_RETURN_TYPE_SCENERY,
  1744.     HALO_SCRIPT_RETURN_TYPE_OBJECT_NAME,
  1745.     HALO_SCRIPT_RETURN_TYPE_UNIT_NAME,
  1746.     HALO_SCRIPT_RETURN_TYPE_VEHICLE_NAME,
  1747.     HALO_SCRIPT_RETURN_TYPE_WEAPON_NAME,
  1748.     HALO_SCRIPT_RETURN_TYPE_DEVICE_NAME,
  1749.     HALO_SCRIPT_RETURN_TYPE_SCENERY_NAME
  1750. };
  1751.  
  1752. #pragma mark senv
  1753.  
  1754. enum halo_shader_diffuse_map_combinations
  1755. {
  1756.     HALO_SHADER_DIFFUSE_MAP_COMBINATION_NORMAL = 0,
  1757.     HALO_SHADER_DIFFUSE_MAP_COMBINATION_BLENDED,
  1758.     HALO_SHADER_DIFFUSE_MAP_COMBINATION_BLENDED_BASE_SPECULAR
  1759. };
  1760.  
  1761. enum halo_shader_map_functions
  1762. {
  1763.     HALO_SHADER_MAP_FUNCTION_DOUBLE_BIASED_MULTIPLY = 0,
  1764.     HALO_SHADER_MAP_FUNCTION_MULTIPLY,
  1765.     HALO_SHADER_MAP_FUNCTION_DOUBLE_BIASED_ADD
  1766. };
  1767.  
  1768. enum halo_shader_cube_map_reflection_types
  1769. {
  1770.     HALO_SHADER_CUBE_MAP_REFLECTION_TYPE_BUMPED_CUBE_MAP = 0,
  1771.     HALO_SHADER_CUBE_MAP_REFLECTION_TYPE_FLAT_CUBE_MAP,
  1772.     HALO_SHADER_CUBE_MAP_REFLECTION_TYPE_BUMPED_RADIOSITY
  1773. };
  1774.  
  1775. #pragma mark sgla
  1776.  
  1777. enum halo_shader_reflection_map_reflection_types
  1778. {
  1779.     HALO_SHADER_REFLECTION_MAP_REFLECTION_TYPE_BUMPED_CUBE_MAP = 0,
  1780.     HALO_SHADER_REFLECTION_MAP_REFLECTION_TYPE_FLAT_CUBE_MAP,
  1781.     HALO_SHADER_REFLECTION_MAP_REFLECTION_TYPE_DYNAMIC_MIRROR
  1782. };
  1783.  
  1784. #pragma mark shdr
  1785.  
  1786. enum halo_shdr_types
  1787. {
  1788.     HALO_SHDR_TYPE_SHDR = -1,
  1789.     HALO_SHDR_TYPE_SENV = 3,
  1790.     HALO_SHDR_TYPE_SOSO,
  1791.     HALO_SHDR_TYPE_SOTR,
  1792.     HALO_SHDR_TYPE_SCHI,
  1793.     HALO_SHDR_TYPE_SCEX,
  1794.     HALO_SHDR_TYPE_SWAT,
  1795.     HALO_SHDR_TYPE_SGLA,
  1796.     HALO_SHDR_TYPE_SMET,
  1797.     HALO_SHDR_TYPE_SPLA
  1798. };
  1799.  
  1800. #pragma mark snd!
  1801.  
  1802. enum halo_sound_classes
  1803. {
  1804.     HALO_SOUND_CLASS_PROJECTILE_IMPACT = 0,
  1805.     HALO_SOUND_CLASS_PROJECTILE_DETONATION,
  1806.     HALO_SOUND_CLASS_UNUSED1,
  1807.     HALO_SOUND_CLASS_UNUSED2,
  1808.     HALO_SOUND_CLASS_WEAPON_FIRE,
  1809.     HALO_SOUND_CLASS_WEAPON_READY,
  1810.     HALO_SOUND_CLASS_WEAPON_RELOAD,
  1811.     HALO_SOUND_CLASS_WEAPON_EMPTY,
  1812.     HALO_SOUND_CLASS_WEAPON_CHARGE,
  1813.     HALO_SOUND_CLASS_WEAPON_OVERHEAT,
  1814.     HALO_SOUND_CLASS_WEAPON_IDLE,
  1815.     HALO_SOUND_CLASS_UNUSED3,
  1816.     HALO_SOUND_CLASS_UNUSED4,
  1817.     HALO_SOUND_CLASS_OBJECT_IMPACTS,
  1818.     HALO_SOUND_CLASS_PARTICLE_IMPACTS,
  1819.     HALO_SOUND_CLASS_SLOW_PARTICLE_IMPACTS,
  1820.     HALO_SOUND_CLASS_UNUSED5,
  1821.     HALO_SOUND_CLASS_UNUSED6,
  1822.     HALO_SOUND_CLASS_UNIT_FOOTSTEPS,
  1823.     HALO_SOUND_CLASS_UNIT_DIALOG,
  1824.     HALO_SOUND_CLASS_UNUSED7,
  1825.     HALO_SOUND_CLASS_UNUSED8,
  1826.     HALO_SOUND_CLASS_VEHICLE_COLLISION,
  1827.     HALO_SOUND_CLASS_VEHICLE_ENGINE,
  1828.     HALO_SOUND_CLASS_UNUSED9,
  1829.     HALO_SOUND_CLASS_UNUSED10,
  1830.     HALO_SOUND_CLASS_DEVICE_DOOR,
  1831.     HALO_SOUND_CLASS_DEVICE_FORCE_FIELD,
  1832.     HALO_SOUND_CLASS_DEVICE_MACHINERY,
  1833.     HALO_SOUND_CLASS_DEVICE_NATURE,
  1834.     HALO_SOUND_CLASS_DEVICE_COMPUTERS,
  1835.     HALO_SOUND_CLASS_UNUSED11,
  1836.     HALO_SOUND_CLASS_MUSIC,
  1837.     HALO_SOUND_CLASS_AMBIENT_NATURE,
  1838.     HALO_SOUND_CLASS_AMBIENT_MACHINERY,
  1839.     HALO_SOUND_CLASS_AMBIENT_COMPUTERS,
  1840.     HALO_SOUND_CLASS_UNUSED12,
  1841.     HALO_SOUND_CLASS_UNUSED13,
  1842.     HALO_SOUND_CLASS_UNUSED14,
  1843.     HALO_SOUND_CLASS_FIRST_PERSON_DAMAGE,
  1844.     HALO_SOUND_CLASS_UNUSED15,
  1845.     HALO_SOUND_CLASS_UNUSED16,
  1846.     HALO_SOUND_CLASS_UNUSED17,
  1847.     HALO_SOUND_CLASS_UNUSED18,
  1848.     HALO_SOUND_CLASS_SCRIPTED_DIALOG_PLAYER,
  1849.     HALO_SOUND_CLASS_SCRIPTED_EFFECT,
  1850.     HALO_SOUND_CLASS_SCRIPTED_DIALOG_OTHER,
  1851.     HALO_SOUND_CLASS_SCRIPTED_DIALOG_FORCE_UNSPATIALIZED,
  1852.     HALO_SOUND_CLASS_UNUSED19,
  1853.     HALO_SOUND_CLASS_UNUSED20,
  1854.     HALO_SOUND_CLASS_GAME_EVENT
  1855. };
  1856.  
  1857. enum halo_sound_sample_rates
  1858. {
  1859.     HALO_SOUND_SAMPLE_RATE_22KHZ = 0,
  1860.     HALO_SOUND_SAMPLE_RATE_44KHZ
  1861. };
  1862.  
  1863. enum halo_sound_channel_encodings
  1864. {
  1865.     HALO_SOUND_CHANNEL_ENCODING_MONO = 0,
  1866.     HALO_SOUND_CHANNEL_ENCODING_STEREO
  1867. };
  1868.  
  1869. enum halo_sound_compression_formats
  1870. {
  1871.     HALO_SOUND_COMPRESSION_FORMAT_NONE = 0,
  1872.     HALO_SOUND_COMPRESSION_FORMAT_XBOX_ADPCM,
  1873.     HALO_SOUND_COMPRESSION_FORMAT_IMA_ADPCM,
  1874.     HALO_SOUND_COMPRESSION_FORMAT_OGG
  1875. };
  1876.  
  1877. #pragma mark soso
  1878.  
  1879. enum halo_shader_detail_map_masking
  1880. {
  1881.     HALO_SHADER_DETAIL_MAP_MASK_NONE = 0,
  1882.     HALO_SHADER_DETAIL_MAP_MASK_REFLECTION_MASK_INVERSE,
  1883.     HALO_SHADER_DETAIL_MAP_MASK_REFLECTION_MASK,
  1884.     HALO_SHADER_DETAIL_MAP_MASK_SELF_ILLUMINATION_MASK_INVERSE,
  1885.     HALO_SHADER_DETAIL_MAP_MASK_SELF_ILLUMINATION_MASK,
  1886.     HALO_SHADER_DETAIL_MAP_MASK_CHANGE_COLOR_MASK_INVERSE,
  1887.     HALO_SHADER_DETAIL_MAP_MASK_CHANGE_COLOR_MASK,
  1888.     HALO_SHADER_DETAIL_MAP_MASK_MULTIPURPOSE_MAP_ALPHA_INVERSE,
  1889.     HALO_SHADER_DETAIL_MAP_MASK_MULTIPURPOSE_MAP_ALPHA
  1890. };
  1891.  
  1892. #pragma mark sotr
  1893.  
  1894. enum halo_shader_stage_channel_functions
  1895. {
  1896.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_ZERO = 0,
  1897.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_ONE,
  1898.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_ONE_HALF,
  1899.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_NEGATIVE_ONE,
  1900.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_NEGATIVE_ONE_HALF,
  1901.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_MAP_COLOR_0,
  1902.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_MAP_COLOR_1,
  1903.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_MAP_COLOR_2,
  1904.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_MAP_COLOR_3,
  1905.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_VERTEX_COLOR_0_DIFFUSE_LIGHT,
  1906.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_VERTEX_COLOR_1_FADE_PERPENDICULAR,
  1907.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_SCRATCH_COLOR_0,
  1908.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_SCRATCH_COLOR_1,
  1909.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_CONSTANT_COLOR_0,
  1910.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_CONSTANT_COLOR_1,
  1911.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_MAP_ALPHA_0,
  1912.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_MAP_ALPHA_1,
  1913.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_MAP_ALPHA_2,
  1914.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_MAP_ALPHA_3,
  1915.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_VERTEX_ALPHA_0_FADE_NONE,
  1916.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_VERTEX_ALPHA_1_FADE_PERPENDICULAR,
  1917.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_SCRATCH_ALPHA_0,
  1918.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_SCRATCH_ALPHA_1,
  1919.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_CONSTANT_ALPHA_0,
  1920.     HALO_SHADER_STAGE_CHANNEL_FUNCTION_CONSTANT_ALPHA_1
  1921. };
  1922.  
  1923. enum halo_shader_stage_channel_mapping_functions
  1924. {
  1925.     HALO_SHADER_STAGE_CHANNEL_MAPPING_FUNCTION_CLAMP_X = 0,
  1926.     HALO_SHADER_STAGE_CHANNEL_MAPPING_FUNCTION_1_MINUS_CLAMP_X,
  1927.     HALO_SHADER_STAGE_CHANNEL_MAPPING_FUNCTION_2_TIMES_CLAMP_X_MINUS_1,
  1928.     HALO_SHADER_STAGE_CHANNEL_MAPPING_FUNCTION_1_MINUS_2_TIMES_CLAMP_X,
  1929.     HALO_SHADER_STAGE_CHANNEL_MAPPING_FUNCTION_CLAMP_X_MINUS_HALF,
  1930.     HALO_SHADER_STAGE_CHANNEL_MAPPING_FUNCTION_HALF_MINUS_CLAMP_X,
  1931.     HALO_SHADER_STAGE_CHANNEL_MAPPING_FUNCTION_X,
  1932.     HALO_SHADER_STAGE_CHANNEL_MAPPING_FUNCTION_NEGATIVE_X
  1933. };
  1934.  
  1935. enum halo_shader_stage_dual_channel_functions
  1936. {
  1937.     HALO_SHADER_STAGE_DUAL_CHANNEL_FUNCTION_DISCARD = 0,
  1938.     HALO_SHADER_STAGE_DUAL_CHANNEL_FUNCTION_SCRATCH_COLOR_0_FINAL_COLOR,
  1939.     HALO_SHADER_STAGE_DUAL_CHANNEL_FUNCTION_SCRATCH_COLOR_1,
  1940.     HALO_SHADER_STAGE_DUAL_CHANNEL_FUNCTION_VERTEX_COLOR_0,
  1941.     HALO_SHADER_STAGE_DUAL_CHANNEL_FUNCTION_VERTEX_COLOR_1,
  1942.     HALO_SHADER_STAGE_DUAL_CHANNEL_FUNCTION_MAP_COLOR_0,
  1943.     HALO_SHADER_STAGE_DUAL_CHANNEL_FUNCTION_MAP_COLOR_1,
  1944.     HALO_SHADER_STAGE_DUAL_CHANNEL_FUNCTION_MAP_COLOR_2,
  1945.     HALO_SHADER_STAGE_DUAL_CHANNEL_FUNCTION_MAP_COLOR_3
  1946. };
  1947.  
  1948. enum halo_shader_stage_dual_channel_function_calculations
  1949. {
  1950.     HALO_SHADER_STAGE_DUAL_CHANNEL_FUNCTION_CALCULATION_MULTIPLY = 0,
  1951.     HALO_SHADER_STAGE_DUAL_CHANNEL_FUNCTION_CALCULATION_DOT_PRODUCT
  1952. };
  1953.  
  1954. enum halo_shader_stage_dual_channel_mappings
  1955. {
  1956.     HALO_SHADER_STAGE_DUAL_CHANNEL_MAPPING_IDENTITY = 0,
  1957.     HALO_SHADER_STAGE_DUAL_CHANNEL_MAPPING_SCALE_BY_HALF,
  1958.     HALO_SHADER_STAGE_DUAL_CHANNEL_MAPPING_SCALE_BY_2,
  1959.     HALO_SHADER_STAGE_DUAL_CHANNEL_MAPPING_SCALE_BY_4,
  1960.     HALO_SHADER_STAGE_DUAL_CHANNEL_MAPPING_BIAS_BY_NEGATIVE_HALF,
  1961.     HALO_SHADER_STAGE_DUAL_CHANNEL_MAPPING_EXPAND_NORMAL
  1962. };
  1963.  
  1964. enum halo_shader_stage_channel_alpha_functions
  1965. {
  1966.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_ZERO = 0,
  1967.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_ONE,
  1968.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_ONE_HALF,
  1969.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_NEGATIVE_ONE,
  1970.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_NEGATIVE_ONE_HALF,
  1971.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_MAP_ALPHA_0,
  1972.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_MAP_ALPHA_1,
  1973.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_MAP_ALPHA_2,
  1974.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_MAP_ALPHA_3,
  1975.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_VERTEX_ALPHA_0_FADE_NONE,
  1976.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_VERTEX_ALPHA_1_FADE_PERPENDICULAR,
  1977.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_SCRATCH_ALPHA_0,
  1978.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_SCRATCH_ALPHA_1,
  1979.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_CONSTANT_ALPHA_0,
  1980.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_CONSTANT_ALPHA_1,
  1981.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_MAP_BLUE_0,
  1982.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_MAP_BLUE_1,
  1983.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_MAP_BLUE_2,
  1984.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_MAP_BLUE_3,
  1985.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_VERTEX_BLUE_0_BLUE_LIGHT,
  1986.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_VERTEX_BLUE_1_FADE_PARALLEL,
  1987.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_SCRATCH_BLUE_0,
  1988.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_SCRATCH_BLUE_1,
  1989.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_CONSTANT_BLUE_0,
  1990.     HALO_SHADER_STAGE_CHANNEL_ALPHA_FUNCTION_CONSTANT_BLUE_1
  1991. };
  1992.  
  1993. enum halo_shader_stage_dual_channel_alpha_functions
  1994. {
  1995.     HALO_SHADER_STAGE_DUAL_CHANNEL_ALPHA_FUNCTION_DISCARD = 0,
  1996.     HALO_SHADER_STAGE_DUAL_CHANNEL_ALPHA_FUNCTION_SCRATCH_ALPHA_0_FINAL_ALPHA,
  1997.     HALO_SHADER_STAGE_DUAL_CHANNEL_ALPHA_FUNCTION_SCRATCH_ALPHA_1,
  1998.     HALO_SHADER_STAGE_DUAL_CHANNEL_ALPHA_FUNCTION_VERTEX_ALPHA_0_FOG,
  1999.     HALO_SHADER_STAGE_DUAL_CHANNEL_ALPHA_FUNCTION_VERTEX_ALPHA_1,
  2000.     HALO_SHADER_STAGE_DUAL_CHANNEL_ALPHA_FUNCTION_MAP_ALPHA_0,
  2001.     HALO_SHADER_STAGE_DUAL_CHANNEL_ALPHA_FUNCTION_MAP_ALPHA_1,
  2002.     HALO_SHADER_STAGE_DUAL_CHANNEL_ALPHA_FUNCTION_MAP_ALPHA_2,
  2003.     HALO_SHADER_STAGE_DUAL_CHANNEL_ALPHA_FUNCTION_MAP_ALPHA_3
  2004. };
  2005.  
  2006. #pragma mark unhi
  2007.  
  2008. enum halo_unhi_auxiliary_overlays_types
  2009. {
  2010.     HALO_UNHI_AUXILIARY_OVERLAYS_TYPE_TEAM_ICON = 0
  2011. };
  2012.  
  2013. enum halo_unhi_auxiliary_hud_meters_types
  2014. {
  2015.     HALO_UNHI_AUXILIARY_HUD_METERS_TYPE_INTEGRATED_LIGHT = 0
  2016. };
  2017.  
  2018. #pragma mark unit
  2019.  
  2020. enum halo_teams
  2021. {
  2022.     HALO_TEAM_NONE = 0,
  2023.     HALO_TEAM_PLAYER,
  2024.     HALO_TEAM_HUMAN,
  2025.     HALO_TEAM_COVENANT,
  2026.     HALO_TEAM_FLOOD,
  2027.     HALO_TEAM_SENTINEL,
  2028.     HALO_TEAM_UNUSED_6,
  2029.     HALO_TEAM_UNUSED_7,
  2030.     HALO_TEAM_UNUSED_8,
  2031.     HALO_TEAM_UNUSED_9
  2032. };
  2033.  
  2034. enum halo_sound_volumes
  2035. {
  2036.     HALO_SOUND_VOLUME_SILENT = 0,
  2037.     HALO_SOUND_VOLUME_MEDIUM,
  2038.     HALO_SOUND_VOLUME_LOUD,
  2039.     HALO_SOUND_VOLUME_SHOUT,
  2040.     HALO_SOUND_VOLUME_QUIET
  2041. };
  2042.  
  2043. enum halo_unit_channel_functions
  2044. {
  2045.     HALO_UNIT_CHANNEL_FUNCTION_NONE = 0,
  2046.     HALO_UNIT_CHANNEL_FUNCTION_DRIVER_SEAT_POWER,
  2047.     HALO_UNIT_CHANNEL_FUNCTION_GUNNER_SEAT_POWER,
  2048.     HALO_UNIT_CHANNEL_FUNCTION_AIMING_CHANGE,
  2049.     HALO_UNIT_CHANNEL_FUNCTION_MOUTH_APERTURE,
  2050.     HALO_UNIT_CHANNEL_FUNCTION_INTEGRATED_LIGHT_POWER,
  2051.     HALO_UNIT_CHANNEL_FUNCTION_CAN_BLINK,
  2052.     HALO_UNIT_CHANNEL_FUNCTION_SHIELD_SAPPING
  2053. };
  2054.  
  2055. enum halo_motion_sensor_blip_sizes
  2056. {
  2057.     HALO_MOTION_SENSOR_BLIP_SIZE_MEDIUM = 0,
  2058.     HALO_MOTION_SENSOR_BLIP_SIZE_SMALL,
  2059.     HALO_MOTION_SENSOR_BLIP_SIZE_LARGE
  2060. };
  2061.  
  2062. #pragma mark vcky
  2063.  
  2064. enum halo_vcky_keyboard_keys
  2065. {
  2066.     HALO_VCKY_KEYBOARD_KEY_1 = 0,
  2067.     HALO_VCKY_KEYBOARD_KEY_2,
  2068.     HALO_VCKY_KEYBOARD_KEY_3,
  2069.     HALO_VCKY_KEYBOARD_KEY_4,
  2070.     HALO_VCKY_KEYBOARD_KEY_5,
  2071.     HALO_VCKY_KEYBOARD_KEY_6,
  2072.     HALO_VCKY_KEYBOARD_KEY_7,
  2073.     HALO_VCKY_KEYBOARD_KEY_8,
  2074.     HALO_VCKY_KEYBOARD_KEY_9,
  2075.     HALO_VCKY_KEYBOARD_KEY_0,
  2076.     HALO_VCKY_KEYBOARD_KEY_A,
  2077.     HALO_VCKY_KEYBOARD_KEY_B,
  2078.     HALO_VCKY_KEYBOARD_KEY_C,
  2079.     HALO_VCKY_KEYBOARD_KEY_D,
  2080.     HALO_VCKY_KEYBOARD_KEY_E,
  2081.     HALO_VCKY_KEYBOARD_KEY_F,
  2082.     HALO_VCKY_KEYBOARD_KEY_G,
  2083.     HALO_VCKY_KEYBOARD_KEY_H,
  2084.     HALO_VCKY_KEYBOARD_KEY_I,
  2085.     HALO_VCKY_KEYBOARD_KEY_J,
  2086.     HALO_VCKY_KEYBOARD_KEY_K,
  2087.     HALO_VCKY_KEYBOARD_KEY_L,
  2088.     HALO_VCKY_KEYBOARD_KEY_M,
  2089.     HALO_VCKY_KEYBOARD_KEY_N,
  2090.     HALO_VCKY_KEYBOARD_KEY_O,
  2091.     HALO_VCKY_KEYBOARD_KEY_P,
  2092.     HALO_VCKY_KEYBOARD_KEY_Q,
  2093.     HALO_VCKY_KEYBOARD_KEY_R,
  2094.     HALO_VCKY_KEYBOARD_KEY_S,
  2095.     HALO_VCKY_KEYBOARD_KEY_T,
  2096.     HALO_VCKY_KEYBOARD_KEY_U,
  2097.     HALO_VCKY_KEYBOARD_KEY_V,
  2098.     HALO_VCKY_KEYBOARD_KEY_W,
  2099.     HALO_VCKY_KEYBOARD_KEY_X,
  2100.     HALO_VCKY_KEYBOARD_KEY_Y,
  2101.     HALO_VCKY_KEYBOARD_KEY_Z,
  2102.     HALO_VCKY_KEYBOARD_KEY_DONE,
  2103.     HALO_VCKY_KEYBOARD_KEY_SHIFT,
  2104.     HALO_VCKY_KEYBOARD_KEY_CAPS_LOCK,
  2105.     HALO_VCKY_KEYBOARD_KEY_SYMBOLS,
  2106.     HALO_VCKY_KEYBOARD_KEY_BACKSPACE,
  2107.     HALO_VCKY_KEYBOARD_KEY_LEFT,
  2108.     HALO_VCKY_KEYBOARD_KEY_RIGHT,
  2109.     HALO_VCKY_KEYBOARD_KEY_SPACE
  2110. };
  2111.  
  2112. #pragma mark vehi
  2113.  
  2114. enum halo_vehicle_types
  2115. {
  2116.     HALO_VEHICLE_TYPE_HUMAN_TANK = 0,
  2117.     HALO_VEHICLE_TYPE_HUMAN_JEEP,
  2118.     HALO_VEHICLE_TYPE_HUMAN_BOAT,
  2119.     HALO_VEHICLE_TYPE_HUMAN_PLANE,
  2120.     HALO_VEHICLE_TYPE_ALIEN_SCOUT,
  2121.     HALO_VEHICLE_TYPE_ALIEN_FIGHTER,
  2122.     HALO_VEHICLE_TYPE_TURRET
  2123. };
  2124.  
  2125. enum halo_vehi_vehicle_channel_functions
  2126. {
  2127.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_NONE = 0,
  2128.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_SPEED_ABSOLUTE,
  2129.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_SPEED_FORWARD,
  2130.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_SPEED_BACKWARD,
  2131.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_SLIDE_ABSOLUTE,
  2132.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_SLIDE_LEFT,
  2133.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_SLIDE_RIGHT,
  2134.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_SPEED_SLIDE_MAXIMUM,
  2135.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_TURN_ABSOLUTE,
  2136.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_TURN_LEFT,
  2137.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_TURN_RIGHT,
  2138.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_CROUCH,
  2139.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_JUMP,
  2140.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_WALK,
  2141.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_VELOCITY_AIR,
  2142.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_VELOCITY_WATER,
  2143.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_VELOCITY_GROUND,
  2144.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_VELOCITY_FORWARD,
  2145.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_VELOCITY_LEFT,
  2146.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_VELOCITY_UP,
  2147.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_LEFT_TREAD_POSITION,
  2148.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_RIGHT_TREAD_POSITION,
  2149.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_LEFT_TREAD_VELOCITY,
  2150.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_RIGHT_TREAD_VELOCITY,
  2151.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_FRONT_LEFT_TIRE_POSITION,
  2152.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_FRONT_RIGHT_TIRE_POSITION,
  2153.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_BACK_LEFT_TIRE_POSITION,
  2154.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_BACK_RIGHT_TIRE_POSITION,
  2155.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_FRONT_LEFT_TIRE_VELOCITY,
  2156.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_FRONT_RIGHT_TIRE_VELOCITY,
  2157.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_BACK_LEFT_TIRE_VELOCITY,
  2158.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_BACK_RIGHT_TIRE_VELOCITY,
  2159.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_WINGTIP_CONTRAIL,
  2160.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_HOVER,
  2161.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_THRUST,
  2162.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_ENGINE_HACK,
  2163.     HALO_VEHI_VEHICLE_CHANNEL_FUNCTION_WINGTIP_CONTRAIL_NEW
  2164. };
  2165.  
  2166. #pragma mark weap
  2167.  
  2168. enum halo_weap_trigger_relations
  2169. {
  2170.     HALO_WEAP_TRIGGER_RELATION_NORMAL = 0,
  2171.     HALO_WEAP_TRIGGER_RELATION_SLAVED_TO_PRIMARY,
  2172.     HALO_WEAP_TRIGGER_RELATION_INHIBITS_PRIMARY,
  2173.     HALO_WEAP_TRIGGER_RELATION_LOADS_ALTERNATE_AMMUNITION,
  2174.     HALO_WEAP_TRIGGER_RELATION_LOADS_MULTIPLE_PRIMARY_AMMUNITION
  2175. };
  2176.  
  2177. enum halo_weap_weapon_channel_functions
  2178. {
  2179.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_NONE = 0,
  2180.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_HEAT,
  2181.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_PRIMARY_AMMUNITION,
  2182.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_SECONDARY_AMMUNITION,
  2183.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_PRIMARY_RATE_OF_FIRE,
  2184.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_SECONDARY_RATE_OF_FIRE,
  2185.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_READY,
  2186.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_PRIMARY_EJECTION_PORT,
  2187.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_SECONDARY_EJECTION_PORT,
  2188.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_OVERHEATED,
  2189.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_PRIMARY_CHARGED,
  2190.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_SECONDARY_CHARGED,
  2191.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_ILLUMINATION,
  2192.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_AGE,
  2193.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_INTEGRATED_LIGHT,
  2194.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_PRIMARY_FIRING,
  2195.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_SECONDARY_FIRING,
  2196.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_PRIMARY_FIRING_ON,
  2197.     HALO_WEAP_WEAPON_CHANNEL_FUNCTION_SECONDARY_FIRING_ON
  2198. };
  2199.  
  2200. enum halo_movement_penalizations
  2201. {
  2202.     HALO_MOVEMENT_PENALIZED_ALWAYS = 0,
  2203.     HALO_MOVEMENT_PENALIZED_WHEN_ZOOMED,
  2204.     HALO_MOVEMENT_PENALIZED_WHEN_ZOOMED_OR_RELOADING
  2205. };
  2206.  
  2207. enum halo_weapon_behavior_types
  2208. {
  2209.     HALO_WEAPON_BEHAVIOR_TYPE_UNDEFINED = 0,
  2210.     HALO_WEAPON_BEHAVIOR_TYPE_SHOTGUN,
  2211.     HALO_WEAPON_BEHAVIOR_TYPE_NEEDLER,
  2212.     HALO_WEAPON_BEHAVIOR_TYPE_PLASMA_PISTOL,
  2213.     HALO_WEAPON_BEHAVIOR_TYPE_PLASMA_RIFLE
  2214. };
  2215.  
  2216. enum halo_weap_trigger_overcharge_actions
  2217. {
  2218.     HALO_WEAP_TRIGGER_OVERCHARGE_ACTION_NONE = 0,
  2219.     HALO_WEAP_TRIGGER_OVERCHARGE_ACTION_EXPLODE,
  2220.     HALO_WEAP_TRIGGER_OVERCHARGE_ACTION_DISCHARGE
  2221. };
  2222.  
  2223. enum halo_weap_trigger_projectile_distribution_functions
  2224. {
  2225.     HALO_WEAP_TRIGGER_PROJECTILE_DISTRIBUTION_FUNCTION_POINT = 0,
  2226.     HALO_WEAP_TRIGGER_PROJECTILE_DISTRIBUTION_FUNCTION_HORIZONTAL_FAN
  2227. };
  2228.  
  2229. #pragma mark wphi
  2230.  
  2231. enum halo_interface_element_state_attachments
  2232. {
  2233.     HALO_INTERFACE_ELEMENT_STATE_ATTACHMENT_TOTAL_AMMO = 0,
  2234.     HALO_INTERFACE_ELEMENT_STATE_ATTACHMENT_LOADED_AMMO,
  2235.     HALO_INTERFACE_ELEMENT_STATE_ATTACHMENT_HEAT,
  2236.     HALO_INTERFACE_ELEMENT_STATE_ATTACHMENT_AGE,
  2237.     HALO_INTERFACE_ELEMENT_STATE_ATTACHMENT_SECONDARY_WEAPON_TOTAL_AMMO,
  2238.     HALO_INTERFACE_ELEMENT_STATE_ATTACHMENT_SECONDARY_WEAPON_LOADED_AMMO,
  2239.     HALO_INTERFACE_ELEMENT_STATE_ATTACHMENT_DISTANCE_TO_TARGET,
  2240.     HALO_INTERFACE_ELEMENT_STATE_ATTACHMENT_ELEVATION_TO_TARGET
  2241. };
  2242.  
  2243. enum halo_interface_element_map_type_compatibilities
  2244. {
  2245.     HALO_INTERFACE_ELEMENT_COMPATIBLE_WITH_ANY_MAP = 0,
  2246.     HALO_INTERFACE_ELEMENT_COMPATIBLE_WITH_SOLO_MAPS,
  2247.     HALO_INTERFACE_ELEMENT_COMPATIBLE_WITH_MULTIPLAYER_MAPS
  2248. };
  2249.  
  2250. enum halo_crosshair_types
  2251. {
  2252.     HALO_CROSSHAIR_TYPE_AIM = 0,
  2253.     HALO_CROSSHAIR_TYPE_ZOOM,
  2254.     HALO_CROSSHAIR_TYPE_CHARGE,
  2255.     HALO_CROSSHAIR_TYPE_SHOULD_RELOAD,
  2256.     HALO_CROSSHAIR_TYPE_FLASH_HEAT,
  2257.     HALO_CROSSHAIR_TYPE_FLASH_TOTAL_AMMO,
  2258.     HALO_CROSSHAIR_TYPE_FLASH_BATTERY,
  2259.     HALO_CROSSHAIR_TYPE_RELOAD_OVERHEAT,
  2260.     HALO_CROSSHAIR_TYPE_FLASH_WHEN_FIRING_AND_NO_AMMO,
  2261.     HALO_CROSSHAIR_TYPE_FLASH_WHEN_THROWING_AND_NO_GRENADE,
  2262.     HALO_CROSSHAIR_TYPE_LOW_AMMO_AND_NONE_LEFT_TO_RELOAD,
  2263.     HALO_CROSSHAIR_TYPE_SHOULD_RELOAD_SECONDARY_TRIGGER,
  2264.     HALO_CROSSHAIR_TYPE_FLASH_SECONDARY_TOTAL_AMMO,
  2265.     HALO_CROSSHAIR_TYPE_FLASH_SECONDARY_RELOAD,
  2266.     HALO_CROSSHAIR_TYPE_FLASH_WHEN_FIRING_SECONDARY_TRIGGER_WITH_NO_AMMO,
  2267.     HALO_CROSSHAIR_TYPE_LOW_SECONDARY_AMMO_AND_NONE_LEFT_TO_RELOAD,
  2268.     HALO_CROSSHAIR_TYPE_PRIMARY_TRIGGER_READY,
  2269.     HALO_CROSSHAIR_TYPE_SECONDARY_TRIGGER_READY,
  2270.     HALO_CROSSHAIR_TYPE_FLASH_WHEN_FIRING_WITH_DEPLETED_BATTERY
  2271. };
  2272.  
  2273. #pragma mark Memory
  2274.  
  2275. // halo.exe 1.0.10.621
  2276. enum halo_memory_addresses
  2277. {
  2278.     HALO_MEMORY_BASE = 0x40000000
  2279. };
  2280.  
  2281. // haloded.exe 1.0.10.621
  2282. enum haloded_memory_addresses
  2283. {
  2284.     HALODED_MEMORY_BASE = 0x40000000
  2285. };
  2286.  
  2287. // haloce.exe 1.0.10.621
  2288. enum haloce_memory_addresses
  2289. {
  2290.     HALOCE_MEMORY_BASE = 0x40000000
  2291. };
  2292.  
  2293. // haloceded.exe 1.0.10.621
  2294. enum haloceded_memory_addresses
  2295. {
  2296.     HALOCEDED_MEMORY_BASE = 0x40000000
  2297. };
  2298.  
  2299. // HaloMD with Halo Universal Binary 1.0.9.620
  2300. enum halomd_memory_addresses
  2301. {
  2302.     HALOMD_MEMORY_BASE = 0x40000000
  2303. };
  2304.  
  2305. #endif
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top