Example #1
0
        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
    )
Example #2
0
    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
    )
Example #3
0
    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=">")
Example #4
0
_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)
Example #5
0
                            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)
Example #6
0
                        '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)
Example #7
0
            },
            "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)
Example #8
0
    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=">")
Example #9
0
#
# 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)
Example #10
0
    #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)
Example #11
0
        ),
    ),
    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)
Example #12
0
    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)
Example #13
0
# 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)
Example #14
0
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)
Example #15
0
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
    )
Example #16
0
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
    )
Example #17
0
                             "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)
Example #18
0
    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
    )
Example #19
0
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)
Example #20
0
                   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)
Example #21
0
    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
    )
Example #22
0
# 	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
    )
Example #23
0
    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
    )
Example #24
0
    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)
Example #25
0
    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)
Example #26
0
                   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)
Example #27
0
        "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="<"
    )
Example #28
0
                        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)
Example #29
0
                             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)
Example #30
0
    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
    )