Float("map_scale"), dependency("fog_map", "bitm") ), #Screen Layer Animation Struct("screen_layer_animation", float_sec("animation_period"), Pad(4), from_to_wu_sec("wind_velocity"), from_to_sec("wind_period"), float_zero_to_one("wind_acceleration_weight"), float_zero_to_one("wind_perpendicular_weight") ), Pad(8), #Sound dependency("background_sound", "lsnd"), dependency("sound_environment", "snde"), SIZE=396, ) def get(): return fog__def fog__def = TagDef("fog ", blam_header('fog '), fog__body, ext=".fog", endian=">", tag_cls=HekTag )
h3_dependency("model"), h3_dependency("crate_object"), h3_dependency("collision_damage"), h3_reflexive("early_mover_properties", ssce_early_mover_propertie), h3_dependency("creation_effect"), h3_dependency("material_effects"), h3_dependency("melee_impact"), h3_reflexive("ai_properties", ssce_ai_propertie), h3_reflexive("functions", ssce_function), SInt16("hud_text_message_index"), SInt16("unknown_1", VISIBLE=False), h3_reflexive("attachments", ssce_attachment), h3_reflexive("widgets", ssce_widget), h3_reflexive("change_colors", ssce_change_color), h3_reflexive("predicted_resources", ssce_predicted_resource), h3_reflexive("multiplayer_object_properties", ssce_multiplayer_object_propertie), QStruct("distance", INCLUDE=from_to), from_to_rad("cone_angle"), ENDIAN=">", SIZE=264 ) def get(): return ssce_def ssce_def = TagDef("ssce", h3_blam_header('ssce'), ssce_body, ext=".%s" % h3_tag_class_fcc_to_ext["ssce"], endian=">", tag_cls=H3Tag )
Pad(2), Pad(12), # open sauce unit extension padding reflexive("new_hud_interfaces", new_hud_interface, 2, 'default/solo', 'multiplayer'), reflexive("dialogue_variants", dialogue_variant, 16, DYN_NAME_PATH='.dialogue.filepath'), #Grenades float_wu_sec('grenade_velocity'), SEnum16('grenade_type', *grenade_types), SInt16('grenade_count', MIN=0), Pad(4), reflexive("powered_seats", powered_seat, 2, "driver", "gunner"), reflexive("weapons", weapon, 4, DYN_NAME_PATH='.weapon.filepath'), reflexive("seats", seat, 16, DYN_NAME_PATH='.label'), SIZE=372) unit_body = Struct('tagdata', unit_attrs, SIZE=372) #def get(): # return unit_def del get unit_def = TagDef("unit", blam_header_stubbs('unit', 2), unit_body, ext=".unit", endian=">")
_fx__additional_sound_input = Struct( "additional_sound_input", h3_string_id("dsp_effect"), h3_rawdata_ref("low_frequency_sound_function"), Float("time_period"), ENDIAN=">", SIZE=28) _fx__body = Struct("tagdata", BytesRaw("template_collection_block", SIZE=12, VISIBLE=False), SInt32("input_effect_name"), h3_reflexive("additional_sound_inputs", _fx__additional_sound_input), ENDIAN=">", SIZE=28) def get(): return _fx__def _fx__def = TagDef("<fx>", h3_blam_header('<fx>'), _fx__body, ext=".%s" % h3_tag_class_fcc_to_ext["<fx>"], endian=">", tag_cls=H3Tag)
SInt16("global_material_index"), SEnum8("sweetener_mode", *foot_effect_old_material_sweetener_mode), SInt8("unknown", VISIBLE=False), ENDIAN=">", SIZE=40) foot_effect = Struct("effect", h3_reflexive("old_materials", foot_effect_old_material), h3_reflexive("sounds", foot_effect_sound), h3_reflexive("effects", foot_effect_effect), ENDIAN=">", SIZE=36) foot_body = Struct("tagdata", h3_reflexive("effects", foot_effect), ENDIAN=">", SIZE=12) def get(): return foot_def foot_def = TagDef("foot", h3_blam_header('foot'), foot_body, ext=".%s" % h3_tag_class_fcc_to_ext["foot"], endian=">", tag_cls=H3Tag)
'overshield', 'active_camo', 'full_spectrum_vision', 'health', 'grenade', ), SEnum16('grenade_type', *grenade_types), float_sec('powerup_time'), dependency('pickup_sound', "snd!"), SIZE=168) eqip_body = Struct( "tagdata", obje_attrs, item_attrs, eqip_attrs, SIZE=944, ) def get(): return eqip_def eqip_def = TagDef("eqip", blam_header('eqip', 2), eqip_body, ext=".equipment", endian=">", tag_cls=ObjeTag)
}, "infection_form_pop", ), Pad(4), Float("damage_lower_bound"), QStruct("damage_upper_bound", INCLUDE=from_to), float_zero_to_one("vehicle_passthrough_penalty"), Pad(4), float_zero_to_one("stun"), float_zero_to_one("maximum_stun"), float_sec("stun_time"), Pad(4), float_zero_to_inf("instantaneous_acceleration"), Pad(8), ), damage_modifiers, SIZE=512, ) def get(): return cdmg_def cdmg_def = TagDef("cdmg", blam_header('cdmg'), cdmg_body, ext=".continuous_damage_effect", endian=">", tag_cls=HekTag)
dependency_stubbs("effect", "effe"), dependency_stubbs("sound", "snd!"), SIZE=48, ) effect = Struct( "effect", reflexive("materials", material, len(materials_list), *materials_list), SIZE=28, ) foot_body = Struct( "tagdata", reflexive("effects", effect, 13, "walk", "run", "sliding", "shuffle", "jump", "jump land", "biped unused1", "biped unused2", "impact", "vehicle tire slip", "vehicle chassis slip", "vehicle unused1", "vehicle unused2"), SIZE=140, ) def get(): return foot_def foot_def = TagDef("foot", blam_header_stubbs('foot'), foot_body, ext=".material_effects", endian=">")
# # For authors and copyright check AUTHORS.TXT # # Reclaimer is free software under the GNU General Public License v3.0. # See LICENSE for more information. # from ...common_descs import * from ...hek.defs.objs.tag import HekTag from supyr_struct.defs.tag_def import TagDef tag_reference = Struct("tag_reference", dependency_os("tag"), SIZE=16) tagc_body = Struct( "tagdata", reflexive("tag_references", tag_reference, 200), SIZE=12, ) def get(): return tagc_def tagc_def = TagDef("tagc", blam_header('tagc'), tagc_body, ext=".tag_collection", endian=">", tag_cls=HekTag)
#External Function Sources Struct( "external_function_sources", SEnum16("meter_brightness", *function_outputs), SEnum16("flash_brightness", *function_outputs), SEnum16("value", *function_outputs), SEnum16("gradient", *function_outputs), SEnum16("flash_extension", *function_outputs), ), SIZE=220, ) smet_body = Struct( "tagdata", shdr_attrs, smet_attrs, SIZE=260, ) def get(): return smet_def smet_def = TagDef("smet", blam_header('smet'), smet_body, ext=".shader_transparent_meter", endian=">", tag_cls=ShdrTag)
), ), Pad(12), # OS v4 shader extension padding Pad(16), Struct( "secondary_map", dependency("bitmap", "bitm"), SEnum16("anchor", *render_anchor), Bool16( "map_flags", "unfiltered", ), Struct("u_animation", INCLUDE=anim_src_func_per_pha_sca), Struct("v_animation", INCLUDE=anim_src_func_per_pha_sca), Struct("rotation_animation", INCLUDE=anim_src_func_per_pha_sca_rot), QStruct("rotation_center", INCLUDE=xy_float), Pad(4), Float("zsprite_radius_scale"), Pad(20), ), reflexive("point_states", point_state, 16), SIZE=324, ) cont_def = TagDef("cont", blam_header('cont', 3), cont_body, ext=".contrail", endian=">", tag_cls=HekTag)
Struct("particle_color", SEnum16("attachment", *function_outputs), Pad(2), QStruct("lower_bound", INCLUDE=argb_float), QStruct("upper_bound", INCLUDE=argb_float), QStruct("lower_scale", INCLUDE=argb_float), QStruct("upper_scale", INCLUDE=argb_float)), Float("color_rate_of_change"), Float("fading_percentage_of_glow"), Float("particle_generation_frequency", SIDETIP="Hz", UNIT_SCALE=per_sec_unit_scale), float_sec("lifetime_of_trailing_particles"), float_wu_sec("velocity_of_trailing_particles"), float_sec("trailing_particle_min_time"), float_sec("trailing_particle_max_time"), Pad(52), dependency("texture", "bitm"), SIZE=340, ) def get(): return glw__def glw__def = TagDef("glw!", blam_header('glw!'), glw__body, ext=".glow", endian=">", tag_cls=HekTag)
# Definition generated from Assembly XML tag def # Date generated: 2018/12/03 04:56 # # revision: 1 author: -DeToX- # Created layout of plugin # revision: 2 author: Moses_of_Egypt # Cleaned up and converted to SuPyr definition # #################################################### from ..common_descs import * from .objs.tag import * from supyr_struct.defs.tag_def import TagDef draw_body = Struct("tagdata", BytesRaw("unknown", SIZE=4, VISIBLE=False), ENDIAN=">", SIZE=4) def get(): return draw_def draw_def = TagDef("draw", h3_blam_header('draw'), draw_body, ext=".%s" % h3_tag_class_fcc_to_ext["draw"], endian=">", tag_cls=H3Tag)
effg_unknown_unknown_2 = Struct("unknown_2", SInt32("unknown_0"), SInt32("unknown_1"), Pad(4), SInt32("unknown_3"), ENDIAN=">", SIZE=16) effg_unknown = Struct("unknown", SInt32("unknown_0"), SInt32("unknown_1"), h3_reflexive("unknown_2", effg_unknown_unknown_2), ENDIAN=">", SIZE=20) effg_body = Struct("tagdata", h3_reflexive("unknown", effg_unknown), ENDIAN=">", SIZE=12) def get(): return effg_def effg_def = TagDef("effg", h3_blam_header('effg'), effg_body, ext=".%s" % h3_tag_class_fcc_to_ext["effg"], endian=">", tag_cls=H3Tag)
from .obje import * from .devi import * from .objs.lifi import LifiTag from supyr_struct.defs.tag_def import TagDef from supyr_struct.util import desc_variant # replace the object_type enum one that uses # the correct default value for this object obje_attrs = desc_variant(obje_attrs, ("object_type", object_type(9)) ) lifi_body = Struct("tagdata", obje_attrs, devi_attrs, SIZE=720, ) def get(): return lifi_def lifi_def = TagDef("lifi", blam_header('lifi'), lifi_body, ext=".device_light_fixture", endian=">", tag_cls=LifiTag )
from supyr_struct.defs.tag_def import TagDef snde_body = QStruct("tagdata", Pad(4), UInt16("priority"), Pad(2), Float("room_intensity"), Float("room_intensity_hf"), Float("room_rolloff", MIN=0.0, MAX=10.0), float_sec("decay_time", MIN=0.1, MAX=20.0), Float("decay_hf_ratio", MIN=0.1, MAX=2.0), Float("reflections_intensity"), float_sec("reflections_delay", MIN=0.0, MAX=0.3), Float("reverb_intensity"), float_sec("reverb_delay", MIN=0.0, MAX=0.1), Float("diffusion"), Float("density"), Float("hf_reference", MIN=20.0, MAX=20000.0, SIDETIP="Hz"), SIZE=72, ) def get(): return snde_def snde_def = TagDef("snde", blam_header('snde'), snde_body, ext=".sound_environment", endian=">", tag_cls=HekTag )
"inverse", MIN=2, MAX=2, VISIBLE=False), reflexive("powered_mass_points", powered_mass_point, 32, DYN_NAME_PATH='.name'), reflexive("mass_points", mass_point, 32, DYN_NAME_PATH='.name'), SIZE=128, COMMENT="\ Some fields have been hidden because you cant edit them.\n\n\ This is because they are recalculated when you hit save.\n\ The inertial matrices and xx/yy/zz moments are hidden as\n\ well as the mass and density of the individual mass points.") def get(): return phys_def phys_def = TagDef("phys", blam_header('phys', 4), phys_body, ext=".physics", endian=">", tag_cls=PhysTag)
h3_reflexive("functions", rmct_shader_propertie_function), SInt32("unknown_5", VISIBLE=False), SInt32("unknown_6", VISIBLE=False), BytesRaw("unknown_7", SIZE=4, VISIBLE=False), Array("unknown_array", SUB_STRUCT=SInt16("unknown"), SIZE=8, VISIBLE=False), ENDIAN=">", SIZE=132 ) rmct_body = Struct("tagdata", h3_dependency("base_render_method"), h3_reflexive("unknown_0", rmct_unknown_0), h3_reflexive("import_data", rmct_import_data), h3_reflexive("shader_properties", rmct_shader_propertie), Array("unknown_array", SUB_STRUCT=SInt8("unknown"), SIZE=4, VISIBLE=False), BytesRaw("unknown_1", SIZE=4, VISIBLE=False), SInt32("unknown_2", VISIBLE=False), BytesRaw("unknown_3", SIZE=4, VISIBLE=False), ENDIAN=">", SIZE=68 ) def get(): return rmct_def rmct_def = TagDef("rmct", h3_blam_header('rmct'), rmct_body, ext=".%s" % h3_tag_class_fcc_to_ext["rmct"], endian=">", tag_cls=H3Tag )
rasg_body = Struct("tagdata", h3_reflexive("default_bitmaps", rasg_default_bitmap), h3_reflexive("default_rasterizer_bitmaps", rasg_default_rasterizer_bitmap), h3_dependency("vertex_shader_simple"), h3_dependency("pixel_shader_simple"), h3_reflexive("default_shaders", rasg_default_shader), BytesRaw("unknown_0", SIZE=12, VISIBLE=False), SInt32("unknown_1", VISIBLE=False), SInt32("unknown_2", VISIBLE=False), h3_dependency("active_camo_distortion"), h3_dependency("default_performance_template"), h3_dependency("default_shield_impact"), SInt32("unknown_3", VISIBLE=False), BytesRaw("unknown_4", SIZE=24, VISIBLE=False), ENDIAN=">", SIZE=164) def get(): return rasg_def rasg_def = TagDef("rasg", h3_blam_header('rasg'), rasg_body, ext=".%s" % h3_tag_class_fcc_to_ext["rasg"], endian=">", tag_cls=H3Tag)
Bool16( "flags_12", "disable", ), SInt16("unknown_24", VISIBLE=False), Float("base_3"), Float("min_3"), Float("max_3"), Bool16( "flags_13", "disable", ), SInt16("unknown_25", VISIBLE=False), Float("base_4"), Float("min_4"), Float("max_4"), ENDIAN=">", SIZE=228) def get(): return cfxs_def cfxs_def = TagDef("cfxs", h3_blam_header('cfxs'), cfxs_body, ext=".%s" % h3_tag_class_fcc_to_ext["cfxs"], endian=">", tag_cls=H3Tag)
h3_reflexive("anti_gravity_points", vehi_anti_gravity_point), h3_reflexive("friction_points", vehi_friction_point), h3_reflexive("phantom_shapes", vehi_phantom_shape), SEnum8("player_training_vehicle_type", *vehi_player_training_vehicle_type), SEnum8("vehicle_size", *vehi_vehicle_size), SInt8("unknown_13", VISIBLE=False), SInt8("unknown_14", VISIBLE=False), Float("minimum_flipping_angular_velocity"), Float("maximum_flipping_angular_velocity"), BytesRaw("unknown_15", SIZE=8, VISIBLE=False), Float("seat_entrance_acceleration_scale"), Float("seat_exit_acceleration_scale"), Float("flip_time"), h3_string_id("flip_over_message"), h3_dependency("suspension_sound"), h3_dependency("running_effect"), h3_dependency("unknown_response_0"), h3_dependency("unknown_response_1"), ENDIAN=">", SIZE=1100 ) def get(): return vehi_def vehi_def = TagDef("vehi", h3_blam_header('vehi'), vehi_body, ext=".%s" % h3_tag_class_fcc_to_ext["vehi"], endian=">", tag_cls=H3Tag )
# Cleaned up and converted to SuPyr definition # #################################################### from ..common_descs import * from .objs.tag import * from supyr_struct.defs.tag_def import TagDef colo_color_table = Struct("color_table", ascii_str32("string"), color_argb_float("color"), ENDIAN=">", SIZE=48 ) colo_body = Struct("tagdata", h3_reflexive("color_table", colo_color_table), ENDIAN=">", SIZE=12 ) def get(): return colo_def colo_def = TagDef("colo", h3_blam_header('colo'), colo_body, ext=".%s" % h3_tag_class_fcc_to_ext["colo"], endian=">", tag_cls=H3Tag )
Pad(40), reflexive("scripted_ui_widgets", scripted_ui_widget, 128, DYN_NAME_PATH='.name'), Pad(16), # Physics Float("gravity_scale", MIN=0.0, MAX=2.0, SIDETIP="[0,2]"), Float("player_speed_scale", MIN=0.0, MAX=6.0, SIDETIP="[0,6]"), Pad(44), Bool32("gameplay_model", "prohibit_multi_team_vehicles", ), Pad(20), reflexive("yelo_scripting", yelo_scripting, 1), Pad(12),#reflexive("unknown", void_desc), SIZE=312 ) def get(): return yelo_def yelo_def = TagDef("yelo", blam_header_os('yelo', 2), yelo_body, ext=".project_yellow", endian=">", tag_cls=HekTag )
SInt8("input_7"), SInt8("input_range_7"), SEnum8("output_kind_7", *cntl_contrail_system_output_kind_0), SInt8("output_7"), h3_rawdata_ref("unknown_18"), BytesRaw("unknown_19", SIZE=20, VISIBLE=False), h3_reflexive("unknown_20", ltvl_light_volume_system_unknown_20), h3_reflexive("compiled_functions", ltvl_light_volume_system_compiled_function), h3_reflexive("compiled_color_functions", ltvl_light_volume_system_compiled_color_function), ENDIAN=">", SIZE=380) ltvl_body = Struct("tagdata", h3_reflexive("light_volume_system", ltvl_light_volume_system), ENDIAN=">", SIZE=12) def get(): return ltvl_def ltvl_def = TagDef("ltvl", h3_blam_header('ltvl'), ltvl_body, ext=".%s" % h3_tag_class_fcc_to_ext["ltvl"], endian=">", tag_cls=H3Tag)
SInt16("water_name_index"), SInt16("unknown_0", VISIBLE=False), QStruct("flow_force", INCLUDE=xyz_float), Float("flow_force_z_2"), h3_reflexive("unknown_1", sddt_underwater_definition_unknown_1), h3_reflexive("triangles", sddt_underwater_definition_triangle), ENDIAN=">", SIZE=44) sddt_body = Struct("tagdata", SInt32("unknown", VISIBLE=False), h3_reflexive("design_mopp_codes", sddt_design_mopp_code), h3_reflexive("design_shapes_2", sddt_design_shapes_2), h3_reflexive("water_mopp_codes", sddt_water_mopp_code), h3_reflexive("water_names", sddt_water_name), h3_reflexive("underwater_definitions", sddt_underwater_definition), ENDIAN=">", SIZE=64) def get(): return sddt_def sddt_def = TagDef("sddt", h3_blam_header('sddt'), sddt_body, ext=".%s" % h3_tag_class_fcc_to_ext["sddt"], endian=">", tag_cls=H3Tag)
Float("rear_speaker_gain_1"), Float("mono_unspatialized_gain"), Float("stereo_to_3d_gain"), Float("rear_surround_to_front_stereo_gain"), Float("front_speaker_gain_2"), Float("center_speaker_gain_0"), Float("front_speaker_gain_3"), Float("center_speaker_gain_1"), Float("stereo_unspatialized_gain"), Float("solo_player_fade_out_delay"), Float("solo_player_fade_out_time"), Float("solo_player_fade_in_time"), Float("game_music_fade_out_time"), h3_dependency("unknown_0"), Float("unknown_1", VISIBLE=False), Float("unknown_2", VISIBLE=False), ENDIAN=">", SIZE=112) def get(): return snmx_def snmx_def = TagDef("snmx", h3_blam_header('snmx'), snmx_body, ext=".%s" % h3_tag_class_fcc_to_ext["snmx"], endian=">", tag_cls=H3Tag)
"none", "default", "dull", "shiny", ), UEnum16("lightmap type", "diffuse", "default specular", "dull specular", "shiny specular", ), Pad(2), Float("lightmap specular brightness"), float_neg_one_to_one("lightmap ambient bias"), h2_reflexive("postprocess properties", UInt32("bitmap group index"), 5), Float("added depth bias offset"), Float("added depth bias slope scale"), ENDIAN="<", SIZE=84 ) def get(): return shad_def shad_def = TagDef("shad", h2_blam_header('shad'), shad_body, ext=".%s" % h2_tag_class_fcc_to_ext["shad"], endian="<" )
h3_rawdata_ref("unknown_6"), Float("unknown_7", VISIBLE=False), h3_rawdata_ref("unknown_8"), Array("unknown_array", SUB_STRUCT=Float("unknown"), SIZE=8, VISIBLE=False), h3_dependency("effect"), ENDIAN=">", SIZE=112) mffn_body = Struct("tagdata", h3_dependency("render_model"), BytesRaw("unknown_0", SIZE=12, VISIBLE=False), SInt32("unknown_1", VISIBLE=False), h3_reflexive("locations", mffn_location), h3_reflexive("unknown_2", mffn_unknown_2), ENDIAN=">", SIZE=56) def get(): return mffn_def mffn_def = TagDef("mffn", h3_blam_header('mffn'), mffn_body, ext=".%s" % h3_tag_class_fcc_to_ext["mffn"], endian=">", tag_cls=H3Tag)
Struct( "vitality", Pad(4), SEnum16("inheritance", *vitality_inheritance_overrides), SEnum16("override", *vitality_inheritance_overrides), Float("shield_override"), Float("health_override"), ), SIZE=172) avti_body = Struct("tagdata", reflexive("targets", transform_in_target, 16, DYN_NAME_PATH='.target_name'), SIZE=36) def get(): return avti_def avti_def = TagDef("avti", blam_header_os('avti', 1), avti_body, ext=".actor_variant_transform_in", endian=">", tag_cls=HekTag)
h3_string_id("submenu_description"), h3_dependency("value_pairs"), ENDIAN=">", SIZE=60 ) goof_game_engine_setting = Struct("game_engine_setting", h3_string_id("name"), SEnum32("setting_category", *goof_game_engine_setting_setting_category), h3_reflexive("options", goof_game_engine_setting_option), ENDIAN=">", SIZE=20 ) goof_body = Struct("tagdata", SInt32("unknown", VISIBLE=False), h3_reflexive("game_engine_settings", goof_game_engine_setting), ENDIAN=">", SIZE=16 ) def get(): return goof_def goof_def = TagDef("goof", h3_blam_header('goof'), goof_body, ext=".%s" % h3_tag_class_fcc_to_ext["goof"], endian=">", tag_cls=H3Tag )