Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef halo_bitfields
- #define halo_bitfields
- #include <stdbool.h>
- #include <stdint.h>
- // Note that when compiled into a map cache file, some bitfields are grouped with previous bytes that were handled as padding by Guerilla; evidence of this is available to see in map cache files where big to little endian order has swapped more bytes of the bitfields than Guerilla writes. An example of this is struct halo_effe_events_parts_flags_bf where the untouched previous padding byte is swapped as if it were part of a 16-bit bitfield instead of separate from the 8-bit bitfield. It's probably an inconsistency mistake with the Halo Editing Kit, where Tool is calling an 8-bit bitfield a 16-bit bitfield.
- // Note that several of these are common between tag classes.
- #pragma mark common
- // marking compatible tag classes for dependencies
- struct halo_tag_classes_bf
- {
- bool blam:1;
- bool actr:1;
- bool actv:1;
- bool ant:1;
- bool antr:1;
- bool bipd:1;
- bool bitm:1;
- bool boom:1;
- bool cdmg:1;
- bool coll:1;
- bool colo:1;
- bool cont:1;
- bool ctrl:1;
- bool deca:1;
- bool DeLa:1;
- bool devc:1;
- bool devi:1;
- bool dobc:1;
- bool effe:1;
- bool elec:1;
- bool eqip:1;
- bool flag:1;
- bool fog:1;
- bool font:1;
- bool foot:1;
- bool garb:1;
- bool glw:1;
- bool grhi:1;
- bool hmt:1;
- bool hudg:1;
- bool hudn:1;
- bool item:1;
- bool itmc:1;
- bool jpt:1;
- bool lens:1;
- bool lifi:1;
- bool ligh:1;
- bool lsnd:1;
- bool mach:1;
- bool matg:1;
- bool metr:1;
- bool mgs2:1;
- bool mod2:1;
- bool mode:1;
- bool mply:1;
- bool ngpr:1;
- bool obje:1;
- bool part:1;
- bool pctl:1;
- bool phys:1;
- bool plac:1;
- bool pphy:1;
- bool proj:1;
- bool rain:1;
- bool sbsp:1;
- bool scen:1;
- bool scex:1;
- bool schi:1;
- bool scnr:1;
- bool senv:1;
- bool sgla:1;
- bool shdr:1;
- bool sky:1;
- bool smet:1;
- bool snd:1;
- bool snde:1;
- bool soso:1;
- bool sotr:1;
- bool Soul:1;
- bool spla:1;
- bool ssce:1;
- bool strn:1;
- bool swat:1;
- bool tagc:1;
- bool trak:1;
- bool udlg:1;
- bool unhi:1;
- bool unit:1;
- bool ustr:1;
- bool vcky:1;
- bool vehi:1;
- bool weap:1;
- bool wind:1;
- bool wphi:1;
- };
- // common
- struct halo_bsp_leaf_flags_bf // 8-bit 0x01
- {
- bool contains_double_sided_surfaces:1;
- };
- struct halo_bsp_surface_flags_bf // 8-bit 0x0F
- {
- bool two_sided:1;
- bool invisible:1;
- bool climbable:1;
- bool breakable:1;
- };
- /*
- the following is simplified from examples of:
- blend_in_hsv
- interpolate_color_in_hsv
- interpolate_colors_in_hsv
- interpolate_color_along_hsv_space
- interpolate_tint_as_hsv
- ...and...
- more_colors
- more_color
- more_colors_for_hsv_interpolation
- along_long_hue_path
- across_the_long_hue_path
- because they are described as doing similar things
- */
- struct halo_color_interpolation_flags_bf // 32-bit 0x00000003 [lens, mgs2: 8-bit]
- {
- bool blend_in_hsv:1;
- bool more_colors:1;
- };
- struct halo_map_flags_bf // 8-bit 0x01
- {
- bool unfiltered:1;
- };
- // common damage
- struct halo_damage_flags_bf // 32-bit 0x00001FFF
- {
- bool does_not_hurt_owner:1;
- bool can_cause_headshots:1;
- bool pings_resistant_units:1;
- bool does_not_hurt_friends:1;
- bool does_not_ping_units:1;
- bool detonates_explosives:1;
- bool only_hurts_shields:1;
- bool causes_flaming_death:1;
- bool damage_indicators_always_point_down:1;
- bool skips_shields:1;
- bool only_hurts_one_infection_form:1;
- bool can_cause_multiplayer_headshots:1;
- bool infection_form_pop:1;
- };
- // common HUD
- struct halo_hud_scaling_flags_bf // 8-bit 0x07
- {
- bool dont_scale_offset:1;
- bool dont_scale_size:1;
- bool use_high_res_scale:1;
- };
- struct halo_hud_flash_flags_bf // 8-bit 0x01
- {
- bool reverse_default_flashing_colors:1;
- };
- struct halo_hud_numbers_flags_bf // 8-bit 0x07
- {
- bool show_leading_zeros:1;
- bool only_show_when_zoomed:1;
- bool draw_a_trailing_m:1;
- };
- struct halo_hud_messaging_flags_bf // 8-bit 0x07
- {
- bool use_text_from_string_list_instead:1;
- bool override_default_color:1;
- bool width_offset_is_absolute_icon_width:1;
- };
- struct halo_hud_overlays_type_flags_bf // 8-bit 0x0F
- {
- bool show_on_flashing:1;
- bool show_on_empty:1;
- bool show_on_default:1;
- bool show_always:1;
- };
- struct halo_hud_overlays_flash_flags_bf // 32-bit 0x00000001
- {
- bool flashes_when_active:1;
- };
- struct halo_hud_color_flags_bf // 8-bit 0x1F
- {
- bool use_min_max_for_state_changes:1;
- bool interpolate_between_min_max_flash_colors_as_state_changes:1;
- bool interpolate_color_along_hsv_space:1;
- bool more_colors_for_hsv_interpolation:1;
- bool invert_interpolation:1;
- };
- // common model
- struct halo_model_flags_bf // 32-bit 0x00000007
- {
- bool blend_shared_normals:1;
- bool parts_have_local_nodes:1;
- bool ignore_skinning:1;
- };
- // common_model_r3scA_permutations
- struct halo_model_region_permutation_flags_bf // 32-bit 0x00000001
- {
- bool cannot_be_chosen_randomly:1;
- };
- // common_model_r4scA_parts
- struct halo_model_geometry_part_flags_bf // 32-bit 0x00000003
- {
- bool stripped_internal:1;
- bool zoner:1;
- };
- // common_particle_shader
- struct halo_particle_shader_flags_bf // 8-bit 0x07
- {
- bool sort_bias:1;
- bool nonlinear_tint:1;
- bool dont_overdraw_fp_weapon:1;
- };
- // common_scnr_obje
- struct halo_scenario_object_not_placed_flags_bf // 8-bit 0x0F
- {
- bool automatically:1;
- bool on_easy:1;
- bool on_normal:1;
- bool on_hard:1;
- };
- // common_scnr_unit
- struct halo_scenario_unit_flags_bf // 32-bit 0x00000001
- {
- bool dead:1;
- };
- // common_scnr_devi
- struct halo_scenario_device_flags_bf // 32-bit 0x0000001F
- {
- bool initially_open:1;
- bool initially_off:1;
- bool can_change_only_once:1;
- bool position_reversed:1;
- bool not_usable_from_any_side:1;
- };
- // common shader
- struct halo_transparent_shader_flags_bf // 8-bit 0xFF
- {
- bool alpha_tested:1;
- bool decal:1;
- bool two_sided:1;
- bool first_map_is_in_screenspace:1;
- bool draw_before_water:1;
- bool ignore_effect:1;
- bool scale_first_map_with_distance:1;
- bool numeric:1;
- };
- #pragma mark actr
- struct halo_actr_flags_bf // 32-bit 0xFFFFFFFF
- {
- bool can_see_in_darkness:1;
- bool sneak_uncovering_target:1;
- bool sneak_uncovering_pursuit_position:1;
- bool unused_1:1;
- bool shoot_at_targets_last_location:1;
- bool try_to_stay_still_when_crouched:1;
- bool crouch_when_not_in_combat:1;
- bool crouch_when_guarding:1;
- bool unused_2:1;
- bool must_crouch_to_shoot:1;
- bool panic_when_surprised:1;
- bool always_charge_at_enemies:1;
- bool gets_in_vehicles_with_player:1;
- bool start_firing_before_aligned:1;
- bool standing_must_move_forward:1;
- bool crouching_must_move_forward:1;
- bool defensive_crouch_while_charging:1;
- bool use_stalking_behavior:1;
- bool stalking_freeze_if_exposed:1;
- bool always_berserk_in_attacking_mode:1;
- bool berserking_uses_panicked_movement:1;
- bool flying:1;
- bool panicked_by_unopposable_enemy:1;
- bool crouch_when_hiding_from_unopposable:1;
- bool always_charge_in_attacking_mode:1;
- bool dive_off_ledges:1;
- bool swarm:1;
- bool suicidal_melee_attack:1;
- bool cannot_move_while_crouching:1;
- bool fixed_crouch_facing:1;
- bool crouch_when_in_line_of_fire:1;
- bool avoid_friends_lines_of_fire:1;
- };
- struct halo_actr_more_flags_bf // 32-bit 0x0000007F
- {
- bool avoid_all_enemy_attack_vectors:1;
- bool must_stand_to_fire:1;
- bool must_stop_to_fire:1;
- bool disallow_vehicle_combat:1;
- bool pathfinding_ignores_danger:1;
- bool panic_in_groups:1;
- bool no_corpse_shooting:1;
- };
- #pragma mark actv
- struct halo_actv_flags_bf // 32-bit 0x000000FF
- {
- bool can_shoot_while_flying:1;
- bool interpolate_color_in_HSV:1;
- bool has_unlimited_grenades:1;
- bool moveswitch_stay_with_friends:1;
- bool active_camouflage:1;
- bool super_active_camouflage:1;
- bool cannot_use_ranged_weapons:1;
- bool prefer_passenger_seat:1;
- };
- #pragma mark ant
- #pragma mark antr
- struct halo_antr_flags_bf // 8-bit 0x03
- {
- bool compress_all_animations:1;
- bool force_idle_compression:1;
- };
- // antr_r9c_nodes
- struct halo_antr_nodes_node_joint_flags_bf // 32-bit 0x00000007
- {
- bool ball_socket:1;
- bool hinge:1;
- bool no_movement:1;
- };
- // antr_r10c_animations
- struct halo_antr_animations_flags_bf // 8-bit 0x07
- {
- bool compressed_data:1;
- bool world_relative:1;
- bool pal_25hz:1;
- };
- #pragma mark bipd
- struct halo_bipd_flags_bf // 32-bit 0x00001FFF
- {
- bool turns_without_animating:1;
- bool uses_player_physics:1;
- bool flying:1;
- bool physics_pill_centered_at_origin:1;
- bool spherical:1;
- bool passes_through_other_bipeds:1;
- bool can_climb_any_surface:1;
- bool immune_to_falling_damage:1;
- bool rotate_while_airborne:1;
- bool uses_limp_body_physics:1;
- bool has_no_dying_airborne:1;
- bool random_speed_increase:1;
- bool unit_uses_old_ntsc_player_physics:1;
- };
- #pragma mark bitm
- struct halo_bitm_usage_flags_bf // 8-bit 0x0F
- {
- bool enable_diffusion_dithering:1;
- bool disable_height_map_compression:1;
- bool uniform_sprite_sequences:1;
- bool filthy_sprite_bug_fix:1;
- };
- // bitm_r2c_bitmaps
- // Even though the first byte is not used, Guerilla will crash if it is anything besides 0x00 (update: both bytes are used, not all flags are listed in Guerilla, only 6 shown of at least 9)
- struct halo_bitm_bitmaps_flags_bf // 16-bit (0x01FF ?)
- {
- bool power_of_two_dimensions:1;
- bool compressed:1;
- bool palettized:1;
- bool swizzled:1;
- bool linear:1;
- bool v16u16:1;
- bool unknown1:1;
- bool unknown2:1;
- bool unknown3:1;
- };
- #pragma mark boom
- #pragma mark cdmg
- #pragma mark coll
- struct halo_coll_flags_bf // 32-bit 0x0000007F
- {
- bool takes_shield_damage_for_children:1;
- bool takes_body_damage_for_children:1;
- bool always_shields_friendly_damage:1;
- bool passes_area_damage_to_children:1;
- bool parent_never_takes_body_damage_for_us:1;
- bool only_damaged_by_explosives:1;
- bool only_damaged_while_occupied:1;
- };
- // coll_r1c_materials
- struct halo_coll_materials_flags_bf // 32-bit 0x00000001
- {
- bool head:1;
- };
- // coll_r2c_regions
- struct halo_coll_regions_flags_bf // 32-bit 0x000003FF
- {
- bool lives_until_object_dies:1;
- bool forces_object_to_die:1;
- bool dies_when_object_dies:1;
- bool dies_when_object_is_damaged:1;
- bool disappears_when_shield_is_off:1;
- bool inhibits_melee_attack:1;
- bool inhibits_weapon_attack:1;
- bool inhibits_walking:1;
- bool forces_drop_weapon:1;
- bool causes_head_maimed_scream:1;
- };
- #pragma mark colo
- #pragma mark cont
- struct halo_cont_flags_bf // 8-bit 0x7F
- {
- bool first_point_unfaded:1;
- bool last_point_unfaded:1;
- bool points_start_pinned_to_media:1;
- bool points_start_pinned_to_ground:1;
- bool points_always_pinned_to_media:1;
- bool points_always_pinned_to_ground:1;
- bool edge_effect_fades_slowly:1;
- };
- struct halo_cont_scale_flags_bf // 16-bit 0x03FF
- {
- bool point_generation_rate:1;
- bool point_velocity:1;
- bool point_velocity_delta:1;
- bool point_velocity_cone_angle:1;
- bool inherited_velocity_fraction:1;
- bool sequence_animation_rate:1;
- bool texture_scale_u:1;
- bool texture_scale_v:1;
- bool texture_animation_u:1;
- bool texture_animation_v:1;
- };
- // cont_r1c_point_states
- struct halo_cont_point_states_scale_flags_bf // 32-bit 0x0000003F
- {
- bool duration:1;
- bool duration_delta:1;
- bool transition_duration:1;
- bool transition_duration_delta:1;
- bool width:1;
- bool color:1;
- };
- #pragma mark ctrl
- #pragma mark deca
- struct halo_deca_flags_bf // 16-bit 0x01FF
- {
- bool geometry_inherited_by_next_decal_in_chain:1;
- bool interpolate_color_in_hsv:1;
- bool more_colors:1;
- bool no_random_rotation:1;
- bool water_effect:1;
- bool sapien_snap_to_axis:1;
- bool sapien_incremental_counter:1;
- bool animation_loop:1;
- bool preserve_aspect:1;
- };
- #pragma mark DeLa
- struct halo_dela_flags_bf // 32-bit 0x0000FFFF
- {
- bool pass_unhandled_events_to_focused_child:1;
- bool pause_game_time:1;
- bool flash_background_bitmap:1;
- bool dpad_up_down_tabs_through_children:1;
- bool dpad_left_right_tabs_through_children:1;
- bool dpad_up_down_tabs_through_list_items:1;
- bool dpad_left_right_tabs_through_list_items:1;
- bool dont_focus_a_specific_child_widget:1;
- bool pass_unhandled_events_to_all_children:1;
- bool render_regardless_of_controller_index:1;
- bool pass_handled_events_to_all_children:1;
- bool return_to_main_menu_if_no_history:1;
- bool always_use_tag_controller_index:1;
- bool always_use_nifty_render_fx:1;
- bool dont_push_history:1;
- bool force_handle_mouse:1;
- };
- struct halo_dela_text_box_flags_bf // 32-bit 0x0000000F
- {
- bool editable:1;
- bool password:1;
- bool flashing:1;
- bool dont_do_that_weird_focus_test:1;
- };
- struct halo_dela_list_items_bf // 32-bit 0x0000000F
- {
- bool list_items_generated_in_code:1;
- bool list_items_from_string_list_tag:1;
- bool list_items_only_one_tooltip:1;
- bool list_single_preview_no_scroll:1;
- };
- // DeLa_r2c_event_handlers
- struct halo_dela_event_handlers_flags_bf // 32-bit 0x00000BFF
- {
- bool close_current_widget:1;
- bool close_other_widget:1;
- bool close_all_widgets:1;
- bool open_widget:1;
- bool reload_self:1;
- bool reload_other_widget:1;
- bool give_focus_to_widget:1;
- bool run_function:1;
- bool replace_self_with_widget:1;
- bool go_back_to_previous_widget:1;
- bool blank:1;
- bool try_to_branch_on_failure:1;
- };
- // DeLa_r4c_conditional_widgets
- struct halo_dela_conditional_widgets_flags_bf // 32-bit 0x00000001
- {
- bool load_if_event_handler_function_fails:1;
- };
- // DeLa_r5c_child_widgets
- struct halo_dela_child_widgets_flags_bf // 32-bit 0x00000001
- {
- bool use_custom_controller_index:1;
- };
- #pragma mark devc
- struct halo_devc_flags_bf // 8-bit 0x01
- {
- bool unused:1;
- };
- #pragma mark devi
- struct halo_devi_flags_bf // With the devi tag class, Guerilla misreads the first four bytes as 0x0000FFFF. This is actually a single 32-bit flags value, but only data for a 16-bit value with inverted bits is stored (meaning in the last two bytes). So when interpreting the value, the default is 0x0000FFFF with all fields checked and unchecking a field subtracts by its amount. Only the first two bits are written, so both flag values set to off yields 0xFFFC (all 1's except the first two bits). 32-bit 0xFFFF in devi; 32-bit 0x00000003 otherwise
- {
- bool position_loops:1;
- bool position_not_interpolated:1;
- };
- #pragma mark dobc
- // dobc_r1c_types
- struct halo_dobc_types_type_flags_bf // 8-bit 0x0F
- {
- bool unused1:1;
- bool unused2:1;
- bool interpolate_color_in_hsv:1;
- bool more_colors:1;
- };
- #pragma mark effe
- struct halo_effe_flags_bf // 32-bit 0x00000003
- {
- bool deleted_when_attachment_deactivates:1;
- bool required_for_gameplay:1;
- };
- // effe_r2scA_parts
- struct halo_effe_events_parts_flags_bf // 8-bit 0x01 (16-bit compiled)
- {
- bool face_down_regardless_of_location_decals:1;
- };
- struct halo_effe_events_parts_scale_modifiers_bf // 32-bit 0x0000003F
- {
- bool velocity:1;
- bool velocity_delta:1;
- bool velocity_cone_angle:1;
- bool angular_velocity:1;
- bool angular_velocity_delta:1;
- bool type_specific_scale:1;
- };
- // effe_r2scB_particles
- struct halo_effe_events_particles_flags_bf // 32-bit 0x0000001F
- {
- bool stay_attached_to_marker:1;
- bool random_initial_angle:1;
- bool tint_from_object_color:1;
- bool interpolate_tint_as_hsv:1;
- bool across_the_long_hue_path:1;
- };
- struct halo_effe_events_particles_scale_modifiers_bf // 32-bit 0x00000FFF
- {
- bool velocity:1;
- bool velocity_delta:1;
- bool velocity_cone_angle:1;
- bool angular_velocity:1;
- bool angular_velocity_delta:1;
- bool count:1;
- bool count_delta:1;
- bool distribution_radius:1;
- bool distribution_radius_delta:1;
- bool particle_radius:1;
- bool particle_radius_delta:1;
- bool tint:1;
- };
- #pragma mark elec
- // elec_r1c_markers
- struct halo_elec_markers_flags_bf // 8-bit 0x01
- {
- bool not_connected_to_next_marker:1;
- };
- #pragma mark eqip
- #pragma mark flag
- #pragma mark fog
- struct halo_fog_flags_bf // 32-bit 0x00000007
- {
- bool is_water:1;
- bool atmosphere_dominant:1;
- bool fog_screen_only:1;
- };
- struct halo_fog_screen_layers_flags_bf // 8-bit 0x07
- {
- bool no_environment_multipass:1;
- bool no_model_multipass:1;
- bool no_texture_based_falloff:1;
- };
- #pragma mark font
- #pragma mark foot
- #pragma mark garb
- #pragma mark glw
- struct halo_glw_glow_flags_bf // 32-bit 0x0000003F
- {
- bool modify_particle_color_in_range:1;
- bool particles_move_backwards:1;
- bool particles_move_in_both_directions:1;
- bool trailing_particles_fade_over_time:1;
- bool trailing_particles_shrink_over_time:1;
- bool trailing_particles_slow_over_time:1;
- };
- #pragma mark grhi
- // grhi_r4c_warning_sounds
- struct halo_grhi_warning_sounds_flags_bf // 32-bit 0x00000007
- {
- bool low_grenade_count:1;
- bool no_grenades_left:1;
- bool throw_on_no_grenades:1;
- };
- #pragma mark hmt
- #pragma mark hudg
- // hudg_r2c_waypoint_arrows
- struct halo_hudg_waypoint_arrows_flags_bf // 32-bit 0x00000001
- {
- bool dont_rotate_when_pointing_offscreen:1;
- };
- #pragma mark hudn
- #pragma mark item
- struct halo_item_flags_bf // only the first three bits are written, so all three flag values set to off yields 0xFFF8 (all 1's except the first three bits). 32-bit 0xFFFF otherwise 0x00000007
- {
- bool always_maintains_z_up:1;
- bool destroyed_by_explosions:1;
- bool unaffected_by_gravity:1;
- };
- #pragma mark itmc
- #pragma mark jpt
- struct halo_jpt_flags_bf // 32-bit 0x00000001
- {
- bool dont_scale_damage_by_distance:1;
- };
- #pragma mark lens
- struct halo_lens_bitmaps_flags_bf // 8-bit 0x01
- {
- bool sun:1;
- };
- // lens_r1c_reflections
- struct halo_lens_reflections_flags_bf // 8-bit 0x0F
- {
- bool align_rotation_with_screen_center:1;
- bool radius_not_scaled_by_distance:1;
- bool radius_scaled_by_occlusion_factor:1;
- bool occluded_by_solid_objects:1;
- };
- #pragma mark lifi
- #pragma mark ligh
- struct halo_ligh_flags_bf // 32-bit 0x0000003F
- {
- bool dynamic:1;
- bool no_specular:1;
- bool dont_light_own_object:1;
- bool supersize_in_first_person:1;
- bool first_person_flashlight:1;
- bool dont_fade_active_camouflage:1;
- };
- #pragma mark lsnd
- struct halo_lsnd_flags_bf // 32-bit 0x00000007
- {
- bool deafing_to_ais:1;
- bool not_a_loop:1;
- bool stops_music:1;
- };
- // lsnd_r1c_tracks
- struct halo_lsnd_tracks_flags_bf // 32-bit 0x00000007
- {
- bool fade_in_at_start:1;
- bool fade_out_at_stop:1;
- bool fade_in_alternate:1;
- };
- // lsnd_r2c_detail_sounds
- struct halo_lsnd_detail_sounds_flags_bf // 32-bit 0x00000003
- {
- bool dont_play_with_alternate:1;
- bool dont_play_without_alternate:1;
- };
- #pragma mark mach
- struct halo_mach_flags_bf // 8-bit 0x07
- {
- bool pathfinding_obstacle:1;
- bool but_not_when_open:1;
- bool elevator:1;
- };
- #pragma mark matg
- // matg_r6c_rasterizer_data
- struct halo_matg_active_camouflage_flags_bf // 8-bit 0x01
- {
- bool tint_edge_density:1;
- };
- #pragma mark metr
- #pragma mark mgs2
- #pragma mark mod2 mode
- #pragma mark mply
- #pragma mark ngpr
- #pragma mark obje
- struct halo_obje_flags_bf // 8-bit 0x0F
- {
- bool does_not_cast_shadow:1;
- bool transparent_self_occlusion:1;
- bool brighter_than_it_should_be:1;
- bool not_a_pathfinding_obstacle:1;
- };
- // obje_r3c_functions
- struct halo_obje_functions_flags_bf // 32-bit 0x00000007
- {
- bool invert:1;
- bool additive:1;
- bool always_active:1;
- };
- #pragma mark part
- struct halo_part_flags_bf // 32-bit 0x00000FFF
- {
- bool can_animate_backwards:1;
- bool animation_stops_at_rest:1;
- bool animation_starts_on_random_frame:1;
- bool animate_once_per_frame:1;
- bool dies_at_rest:1;
- bool dies_on_contact_with_structure:1;
- bool tint_from_diffuse_texture:1;
- bool dies_on_contact_with_water:1;
- bool dies_on_contact_with_air:1;
- bool self_illuminated:1;
- bool random_horizontal_mirroring:1;
- bool random_vertical_mirroring:1;
- };
- #pragma mark pctl
- // pctl_r2c_particle_types
- struct halo_pctl_particle_type_flags_bf // 32-bit (24-bit?!) 0x0003FFFF
- {
- bool type_states_loop:1;
- bool type_states_loop_forward_backward:1;
- bool particle_states_loop:1;
- bool particle_states_loop_forward_backward:1;
- bool particles_die_in_water:1;
- bool particles_die_in_air:1;
- bool particles_die_on_ground:1;
- bool rotational_sprites_animate_sideways:1;
- bool disabled:1;
- bool tint_by_effect_color:1;
- bool initial_count_scales_with_effect:1;
- bool minimum_count_scales_with_effect:1;
- bool creation_rate_scales_with_effect:1;
- bool scale_scales_with_effect:1;
- bool animation_rate_scales_with_effect:1;
- bool rotation_rate_scales_with_effect:1;
- bool dont_draw_in_first_person:1;
- bool dont_draw_in_third_person:1;
- };
- #pragma mark phys
- // phys_r2c_powered_mass_points
- struct halo_phys_powered_mass_points_flags_bf // 32-bit 0x0000007F
- {
- bool ground_friction:1;
- bool water_friction:1;
- bool air_friction:1;
- bool water_lift:1;
- bool air_lift:1;
- bool thrust:1;
- bool antigrav:1;
- };
- // phys_r3c_mass_points
- struct halo_phys_mass_points_flags_bf // 32-bit 0x00000001
- {
- bool metallic:1;
- };
- #pragma mark plac
- #pragma mark pphy
- struct halo_pphy_flags_bf // 32-bit 0x0000003F
- {
- bool flamethrower_particle_collision:1;
- bool collides_with_structures:1;
- bool collides_with_water_surface:1;
- bool uses_simple_wind:1;
- bool uses_damped_wind:1;
- bool no_gravity:1;
- };
- #pragma mark proj
- struct halo_proj_flags_bf // 32-bit 0x0000007F
- {
- bool oriented_along_velocity:1;
- bool ai_must_use_ballistic_aiming:1;
- bool detonation_max_time_if_attached:1;
- bool has_super_combining_explosion:1;
- bool combine_initial_velocity_with_parent_velocity:1;
- bool random_attached_detonation_time:1;
- bool minimum_unattached_detonation_time:1;
- };
- // proj_r6c_material_responses
- struct halo_proj_material_response_flags_bf // 8-bit 0x01
- {
- bool cannot_be_overpenetrated:1;
- };
- struct halo_proj_material_response_potential_result_flags_bf // 8-bit 0x01
- {
- bool only_against_units:1;
- };
- #pragma mark rain
- // rain_r1c_particle_types
- struct halo_rain_flags_bf // 32-bit 0x00000007
- {
- bool interpolate_colors_in_hsv:1;
- bool along_long_hue_path:1;
- bool random_rotation:1;
- };
- #pragma mark sbsp
- // sbsp_r7scA_materials
- struct halo_sbsp_lightmap_material_flags_bf // 8-bit 0x03
- {
- bool coplanar_calc:1;
- bool fog_plane_calc:1;
- };
- // sbsp_r11c_cluster_portals
- struct halo_sbsp_cluster_portal_flags_bf // 32-bit 0x00000001
- {
- bool ai_cant_hear_through_this:1;
- };
- #pragma mark scen
- #pragma mark scex (uses schi)
- #pragma mark schi
- struct halo_schi_extra_flags_bf // 32-bit 0x00000003
- {
- bool dont_fade_active_camouflage:1;
- bool numeric_countdown_timer:1;
- };
- // schi_r2c_maps
- struct halo_schi_map_flags_bf // 8-bit 0x0F
- {
- bool unfiltered:1;
- bool alpha_replicate:1;
- bool u_clamped:1;
- bool v_clamped:1;
- };
- #pragma mark scnr
- struct halo_scnr_flags_bf // 8-bit 0x03
- {
- bool cortana_hack:1;
- bool use_demo_ui:1;
- };
- // scnr_r4c_functions
- struct halo_scnr_function_flags_bf // 32-bit 0x0000000F
- {
- bool scripted:1;
- bool invert:1;
- bool additive:1;
- bool always_active:1;
- };
- // scnr_r11c_vehicles
- struct halo_scnr_vehicle_multiplayer_spawn_flags_bf // 16-bit 0xFFFF
- {
- bool slayer_default:1;
- bool ctf_default:1;
- bool king_default:1;
- bool oddball_default:1;
- bool default_unused1:1;
- bool default_unused2:1;
- bool default_unused3:1;
- bool default_unused4:1;
- bool slayer_allowed:1;
- bool ctf_allowed:1;
- bool king_allowed:1;
- bool oddball_allowed:1;
- bool allowed_unused1:1;
- bool allowed_unused2:1;
- bool allowed_unused3:1;
- bool allowed_unused4:1;
- };
- // scnr_r13c_equipment and scnr_r15c_weapons
- struct halo_scnr_item_flags_bf // 8-bit 0x07
- {
- bool initially_at_rest:1;
- bool obsolete:1;
- bool does_accelerate:1;
- };
- // scnr_r17c_device_groups
- struct halo_scnr_device_group_flags_bf // 32-bit 0x00000001
- {
- bool can_change_only_once:1;
- };
- // scnr_r18c_machines
- struct halo_scnr_machine_flags_bf // 32-bit 0x0000000F
- {
- bool does_not_operate_automatically:1;
- bool one_sided:1;
- bool never_appears_locked:1;
- bool opened_by_melee_attack:1;
- };
- // scnr_r20c_controls
- struct halo_scnr_control_flags_bf // 32-bit 0x00000001
- {
- bool usable_from_both_sides:1;
- };
- // scnr_r31c_netgame_equipment
- struct halo_scnr_netgame_equipment_flags_bf // 32-bit 0x00000001
- {
- bool levitate:1;
- };
- // scnr_r32c_starting_equipment
- struct halo_scnr_starting_equipment_flags_bf // 32-bit 0x00000003
- {
- bool no_grenades:1;
- bool plasma_grenades:1;
- };
- // scnr_r38c_encounters
- struct halo_scnr_encounter_flags_bf // 32-bit 0x0000007F
- {
- bool not_initially_created:1;
- bool respawn_enabled:1;
- bool initially_blind:1;
- bool initially_deaf:1;
- bool initially_braindead:1;
- bool firing_positions_are_3d:1;
- bool manual_bsp_index_specified:1;
- };
- // scnr_r38scA_squads
- struct halo_scnr_encounter_squad_flags_bf // 32-bit 0x0000003F
- {
- bool unused:1;
- bool never_search:1;
- bool start_timer_immediately:1;
- bool no_timer_delay_forever:1;
- bool magic_sight_after_timer:1;
- bool automatic_migration:1;
- };
- struct halo_scnr_encounter_squad_firing_position_group_indices_bf // 32-bit 0x03FFFFFF
- {
- bool A:1;
- bool B:1;
- bool C:1;
- bool D:1;
- bool E:1;
- bool F:1;
- bool G:1;
- bool H:1;
- bool I:1;
- bool J:1;
- bool K:1;
- bool L:1;
- bool M:1;
- bool N:1;
- bool O:1;
- bool P:1;
- bool Q:1;
- bool R:1;
- bool S:1;
- bool T:1;
- bool U:1;
- bool V:1;
- bool W:1;
- bool X:1;
- bool Y:1;
- bool Z:1;
- };
- // scnr_r38scAscB_starting_locations
- struct halo_scnr_encounter_squad_starting_location_flags_bf // 8-bit 0x01
- {
- bool required:1;
- };
- // scnr_r38scB_platoons
- struct halo_scnr_encounter_platoon_flags_bf // 32-bit 0x00000007
- {
- bool flee_when_maneuvering:1;
- bool say_advancing_when_maneuvering:1;
- bool start_in_defending_state:1;
- };
- // scnr_r39c_command_lists
- struct halo_scnr_command_list_flags_bf // 32-bit 0x0000003F
- {
- bool allow_initiative:1;
- bool allow_targeting:1;
- bool disable_looking:1;
- bool disable_communication:1;
- bool disable_falling_damage:1;
- bool manual_bsp_index:1;
- };
- // scnr_r43c_ai_conversations
- struct halo_scnr_ai_conversation_flags_bf // 8-bit 0xFF
- {
- bool stop_if_death:1;
- bool stop_if_damaged:1;
- bool stop_if_visible_enemy:1;
- bool stop_if_alerted_to_enemy:1;
- bool player_must_be_visible:1;
- bool stop_other_actions:1;
- bool keep_trying_to_play:1;
- bool player_must_be_looking:1;
- };
- // scnr_r43scA_participants
- struct halo_scnr_ai_conversation_participant_flags_bf // 8-bit 0x07
- {
- bool optional:1;
- bool has_alternate:1;
- bool is_alternate:1;
- };
- // scnr_r43scB_lines
- struct halo_scnr_ai_conversation_line_flags_bf // 8-bit 0x3F
- {
- bool addressee_look_at_speaker:1;
- bool everyone_look_at_speaker:1;
- bool everyone_look_at_addressee:1;
- bool wait_after_until_told_to_advance:1;
- bool wait_until_speaker_nearby:1;
- bool wait_until_everyone_nearby:1;
- };
- #pragma mark senv
- struct halo_senv_flags_bf // 8-bit 0x07
- {
- bool alpha_tested:1;
- bool bump_map_is_specular_mask:1;
- bool true_atmospheric_fog:1;
- };
- struct halo_senv_diffuse_flags_bf // 8-bit 0x03
- {
- bool rescale_detail_maps:1;
- bool rescale_bump_map:1;
- };
- struct halo_senv_specular_flags_bf // 8-bit 0x07
- {
- bool overbright:1;
- bool extra_shiny:1;
- bool lightmap_is_specular:1;
- };
- struct halo_senv_reflection_flags_bf // 8-bit 0x01
- {
- bool dynamic_mirror:1;
- };
- #pragma mark sgla
- struct halo_sgla_glass_flags_bf // 8-bit 0x0F
- {
- bool alpha_tested:1;
- bool decal:1;
- bool two_sided:1;
- bool bump_map_is_specular_mask:1;
- };
- #pragma mark shdr
- struct halo_shdr_radiosity_properties_flags_bf // 8-bit 0x07
- {
- bool simple_parameterization:1;
- bool ignore_normals:1;
- bool transparent_lit:1;
- };
- #pragma mark sky
- // sky_r3c_lights
- struct halo_sky_radiosity_flags_bf // 32-bit 0x00000003
- {
- bool affects_exteriors:1;
- bool affects_interiors:1;
- };
- #pragma mark smet
- struct halo_smet_flags_bf // 8-bit 0x1F
- {
- bool decal:1;
- bool two_sided:1;
- bool flash_color_is_negative:1;
- bool tint_mode_2:1;
- bool unfiltered:1;
- };
- #pragma mark snd
- struct halo_snd_flags_bf // 32-bit 0x00000003
- {
- bool fit_to_adpcm_blocksize:1;
- bool split_long_sound_into_permutations:1;
- };
- #pragma mark snde
- #pragma mark soso
- struct halo_soso_shader_bf // 8-bit 0x3F
- {
- bool detail_after_reflection:1;
- bool two_sided:1;
- bool not_alpha_tested:1;
- bool alpha_blended_decal:1;
- bool true_atmospheric_fog:1;
- bool disable_two_sided_culling:1;
- };
- struct halo_soso_self_illumination_flags_bf // 8-bit 0x01
- {
- bool no_random_phase:1;
- };
- #pragma mark sotr
- // sotr_r2c_maps
- struct halo_sotr_map_flags_bf // 8-bit 0x07
- {
- bool unfiltered:1;
- bool u_clamped:1;
- bool v_clamped:1;
- };
- // sotr_r3c_stages
- struct halo_sotr_stage_flags_bf // 8-bit 0x07
- {
- bool color_mux:1;
- bool alpha_mux:1;
- bool a_out_controls_color_0_animation:1;
- };
- #pragma mark Soul
- #pragma mark spla
- #pragma mark ssce
- #pragma mark strn
- #pragma mark swat
- struct halo_swat_flags_bf // 8-bit 0x0F
- {
- bool base_map_alpha_modulates_reflection_brightness:1;
- bool base_map_color_modulates_background:1;
- bool atmospheric_fog:1;
- bool draw_before_fog:1;
- };
- #pragma mark tagc
- #pragma mark trak
- #pragma mark udlg
- #pragma mark unhi
- // unhi_r6c_auxiliary_overlays_overlays
- struct halo_unhi_overlay_flags_bf // 8-bit 0x01
- {
- bool use_team_color:1;
- };
- // unhi_r7c_hud_warning_sounds_sounds
- struct halo_unhi_hud_warning_sound_flags_bf // 32-bit 0x000000FF
- {
- bool shield_recharging:1;
- bool shield_damaged:1;
- bool shield_low:1;
- bool shield_empty:1;
- bool health_low:1;
- bool health_empty:1;
- bool health_minor_damage:1;
- bool health_major_damage:1;
- };
- // unhi_r8c_auxiliary_hud_meters_meters
- struct halo_unhi_meter_limit_flags_bf // 32-bit 0x00000003
- {
- bool show_only_when_active:1;
- bool flash_once_if_activated_while_disabled:1;
- };
- #pragma mark unit
- struct halo_unit_flags_bf // mishandled in Guerilla, which writes all four bytes but only properly reads the first two bytes, automatically interpreting the second two bytes as 0xFFFF when opened. 32-bit 0x01FFFFFF
- {
- bool circular_aiming:1;
- bool destroyed_after_dying:1;
- bool half_speed_interpolation:1;
- bool fires_from_camera:1;
- bool entrance_inside_bounding_sphere:1;
- bool unused:1;
- bool causes_passenger_dialogue:1;
- bool resists_pings:1;
- bool melee_attack_is_fatal:1;
- bool dont_reface_during_pings:1;
- bool has_no_aiming:1;
- bool simple_creature:1;
- bool impact_melee_attaches_to_unit:1;
- bool impact_melee_dies_on_shields:1;
- bool cannot_open_doors_automatically:1;
- bool melee_attackers_cannot_attach:1;
- bool not_instantly_killed_by_melee:1;
- bool shield_sapping:1;
- bool runs_around_flaming:1;
- bool inconsequential:1;
- bool special_cinematic_unit:1;
- bool ignored_by_autoaiming:1;
- bool shields_fry_infection_forms:1;
- bool integrated_light_controls_weapon:1;
- bool integrated_light_lasts_forever:1;
- };
- // unit_r6c_seats
- struct halo_unit_seats_flags_bf // 32-bit 0x000007FF
- {
- bool invisible:1;
- bool locked:1;
- bool driver:1;
- bool gunner:1;
- bool third_person_camera:1;
- bool allows_weapons:1;
- bool third_person_on_enter:1;
- bool first_person_camera_slaved_to_gun:1;
- bool allow_vehicle_communication_animations:1;
- bool not_valid_without_driver:1;
- bool allow_ai_noncombatants:1;
- };
- #pragma mark ustr
- #pragma mark vcky
- #pragma mark vehi
- struct halo_vehi_flags_bf // 32-bit 0x00007FFF
- {
- bool speed_wakes_physics:1;
- bool turn_wakes_physics:1;
- bool driver_power_wakes_physics:1;
- bool gunner_power_wakes_physics:1;
- bool control_opposite_speed_sets_brake:1;
- bool slide_wakes_physics:1;
- bool kills_riders_at_terminal_velocity:1;
- bool causes_collision_damage:1;
- bool ai_weapon_cannot_rotate:1;
- bool ai_does_not_require_driver:1;
- bool ai_unused:1;
- bool ai_driver_enable:1;
- bool ai_driver_flying:1;
- bool ai_driver_can_sidestep:1;
- bool ai_driver_hovering:1;
- };
- #pragma mark weap
- struct halo_weap_flags_bf // 32-bit 0x0000FFFF
- {
- bool vertical_heat_display:1;
- bool mutually_exclusive_triggers:1;
- bool attacks_automatically_on_bump:1;
- bool must_be_readied:1;
- bool does_not_count_toward_maximum:1;
- bool aim_assists_only_when_zoomed:1;
- bool prevents_grenade_throwing:1;
- bool must_be_picked_up:1;
- bool holds_triggers_when_dropped:1;
- bool prevents_melee_attack:1;
- bool detonates_when_dropped:1;
- bool cannot_fire_at_maximum_age:1;
- bool secondary_trigger_overrides_grenades:1;
- bool obsolete_does_not_depower_active_camo_in_multiplayer:1;
- bool enables_integrated_night_vision:1;
- bool ais_use_weapon_melee_damage:1;
- };
- // weap_r7c_magazines
- struct halo_weap_magazine_flags_bf // 32-bit 0x00000003
- {
- bool wastes_rounds_when_reloaded:1;
- bool every_round_must_be_chambered:1;
- };
- // weap_r8c_triggers
- struct halo_weap_trigger_flags_bf // 32-bit 0x00003FFF
- {
- bool tracks_fired_projectile:1;
- bool random_firing_effects:1;
- bool can_fire_with_partial_ammo:1;
- bool does_not_repeat_automatically:1;
- bool locks_in_on_off_state:1;
- bool projectiles_use_weapon_origin:1;
- bool sticks_when_dropped:1;
- bool ejects_during_chamber:1;
- bool discharging_spews:1;
- bool analog_rate_of_fire:1;
- bool use_error_when_unzoomed:1;
- bool projectile_vector_cannot_be_adjusted:1;
- bool projectiles_have_identical_error:1;
- bool projectile_is_client_side_only:1;
- };
- #pragma mark wind
- #pragma mark wphi
- struct halo_wphi_flash_cutoff_flags_bf // 8-bit 0x01
- {
- bool use_parent_hud_flashing_parameters:1;
- };
- // wphi_r3c_number_elements
- struct halo_wphi_number_weapon_flags_bf // 8-bit 0x01
- {
- bool divide_number_by_clip_size:1;
- };
- // wphi_r4scA_crosshair_overlays
- struct halo_wphi_crosshair_overlay_flags_bf // 32-bit 0x0000007F
- {
- bool flashes_when_active:1;
- bool not_a_sprite:1;
- bool show_only_when_zoomed:1;
- bool show_sniper_data:1;
- bool hide_area_outside_reticle:1;
- bool one_zoom_level:1;
- bool dont_show_when_zoomed:1;
- };
- // wphi_r5scA_overlays
- struct halo_wphi_overlays_type_bf // 8-bit 0x1F
- {
- bool show_on_flashing:1;
- bool show_on_empty:1;
- bool show_on_reload_overheating:1;
- bool show_on_default:1;
- bool show_always:1;
- };
- // wphi_r6c_screen_effect
- struct halo_wphi_screen_effect_alteration_flags_bf // 8-bit 0x01
- {
- bool only_when_zoomed:1;
- };
- struct halo_wphi_screen_effect_brightness_flags_bf // 8-bit 0x07
- {
- bool only_when_zoomed:1;
- bool connect_to_flashlight:1;
- bool masked:1;
- };
- struct halo_wphi_screen_effect_color_flags_bf // 8-bit 0x0F
- {
- bool only_when_zoomed:1;
- bool connect_to_flashlight:1;
- bool additive:1;
- bool masked:1;
- };
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement