Ejemplo n.º 1
0
def read_detail_ext(data, thm):
    packed_reader = xray_io.PackedReader(data)

    detail_name = packed_reader.gets()
    detail_scale = packed_reader.getf('f')[0]

    thm.set_detail_ext(detail_name, detail_scale)
Ejemplo n.º 2
0
def read_bump(data, thm):
    packed_reader = xray_io.PackedReader(data)

    bump_virtual_height = packed_reader.getf('f')[0]
    bump_mode = packed_reader.getf('I')[0]
    bump_name = packed_reader.gets()

    thm.set_bump(bump_virtual_height, bump_mode, bump_name)
Ejemplo n.º 3
0
def read_version(data):
    packed_reader = xray_io.PackedReader(data)

    version = packed_reader.getf('H')[0]

    if version not in format_.SUPPORTED_VERSIONS:
        raise BaseException('unsupported *.thm version: {}'.format(version))

    return version
Ejemplo n.º 4
0
def read_type(data):
    packed_reader = xray_io.PackedReader(data)

    type_ = packed_reader.getf('I')[0]

    if type_ not in format_.SUPPORTED_TYPES:
        raise BaseException('unsupported *.thm type: {}'.format(type_))

    return type_
Ejemplo n.º 5
0
def read_group_param(data, thm):
    packed_reader = xray_io.PackedReader(data)

    objects_count = packed_reader.getf('I')[0]

    for object_index in range(objects_count):
        object_name = packed_reader.gets()

        thm.set_object_name(object_name)
Ejemplo n.º 6
0
def read_sound_param(data, thm):
    packed_reader = xray_io.PackedReader(data)

    quality = packed_reader.getf('f')[0]
    min_dist = packed_reader.getf('f')[0]
    max_dist = packed_reader.getf('f')[0]
    game_type = packed_reader.getf('I')[0]

    thm.set_params(quality, min_dist, max_dist, game_type)
Ejemplo n.º 7
0
def read_data(data, thm):
    packed_reader = xray_io.PackedReader(data)

    if len(data) != format_.THUMB_SIZE * 4:
        print('length data != 65 536')

    pixel_data = []

    for data_index in range(format_.THUMB_SIZE):
        red, green, blue, alpha = packed_reader.getf('4B')
        pixel_data.extend((red, green, blue, alpha))

    thm.set_data(pixel_data)
Ejemplo n.º 8
0
def read_texture_param(data, thm):
    packed_reader = xray_io.PackedReader(data)

    texture_format = packed_reader.getf('I')[0]
    flags = packed_reader.getf('I')[0]
    border_color = packed_reader.getf('I')[0]
    fade_color = packed_reader.getf('I')[0]
    fade_amount = packed_reader.getf('I')[0]
    mip_filter = packed_reader.getf('I')[0]
    width = packed_reader.getf('I')[0]
    height = packed_reader.getf('I')[0]

    thm.set_texture_param(texture_format, flags, border_color, fade_color,
                          fade_amount, mip_filter, width, height)
Ejemplo n.º 9
0
def read_material_or_object_params(data, thm):
    packed_reader = xray_io.PackedReader(data)

    if thm.type_ == format_.TYPE_OBJECT:
        face_count = packed_reader.getf('I')[0]
        vertex_count = packed_reader.getf('I')[0]

        thm.set_object_param(face_count, vertex_count)

    elif thm.type_ == format_.TYPE_TEXTURE:
        material = packed_reader.getf('I')[0]
        material_weight = packed_reader.getf('f')[0]

        thm.set_material(material, material_weight)

    else:
        print('unsupported *.thm object param')
Ejemplo n.º 10
0
def read_texture_type(data, thm):
    packed_reader = xray_io.PackedReader(data)

    texture_type = packed_reader.getf('I')[0]

    thm.set_texture_type(texture_type)
Ejemplo n.º 11
0
def read_ext_normalmap(data, thm):
    packed_reader = xray_io.PackedReader(data)

    ext_normal_map_name = packed_reader.gets()

    thm.set_ext_normal_map_name(ext_normal_map_name)
Ejemplo n.º 12
0
def read_sound_ai_dist(data, thm):
    packed_reader = xray_io.PackedReader(data)

    max_ai_dist = packed_reader.getf('f')[0]

    thm.set_ai_dist(max_ai_dist)
Ejemplo n.º 13
0
def read_sound_param_2(data, thm):
    packed_reader = xray_io.PackedReader(data)

    base_volume = packed_reader.getf('f')[0]

    thm.set_params_2(base_volume)
Ejemplo n.º 14
0
def read_fade_delay(data, thm):
    packed_reader = xray_io.PackedReader(data)

    fade_delay = packed_reader.getf('B')[0]

    thm.set_fade_delay(fade_delay)