Exemplo n.º 1
0
def read_lap(fileobj):
    dat = {}
    data_length = read_uint32(fileobj)
    #unknown_short = self.fileobj.read(2)
    dat["sectionsize"] = data_length
    dat["data"] = fileobj.read(data_length)

    return dat
Exemplo n.º 2
0
def read_hpsd(fileobj):
    dat = []
    length = read_uint32(fileobj)
    string = fileobj.read(length)
    dat.append(length)
    dat.append(string)

    return dat
Exemplo n.º 3
0
def read_dnos(fileobj):
    dat = {}

    dat["unknown_int"] = fileobj.read(4)
    dat["string_length"] = read_uint32(fileobj)
    dat["name"] = fileobj.read(dat["string_length"])

    return dat
Exemplo n.º 4
0
def read_dpsd(fileobj):
    dat = []
    length = read_uint32(fileobj)
    bin_data = fileobj.read(length)

    dat.append(length)
    dat.append(bin_data)
    return dat
Exemplo n.º 5
0
def read_section(f, memview):
    name = f.read(4)
    size = read_uint32(f)

    offset = f.tell()
    data = memoryview(memview[offset:(offset+size)])#f.read(data_len)
    f.seek(size, io.SEEK_CUR)

    #print(len(memview), len(f.getbuffer()))
    return name, size, data
Exemplo n.º 6
0
def read_pim(fileobj):
    dat = {}
    sectionsize = read_uint32(fileobj)
    #unknown_short1 = self.fileobj.read(2)

    dat["sectionsize"] = sectionsize
    dat["data"] = fileobj.read(sectionsize)

    #print "PIM Section, size: {0}".format(sectionsize)

    return dat
Exemplo n.º 7
0
def read_dxt(fileobj):
    dat = {}
    dat["unknown_int1"] = fileobj.read(4)  # Only 0's?
    dat["unknown_ARGBstring"] = fileobj.read(8)
    #self.fileobj.read(2092)

    dat["unknown_int2"] = fileobj.read(4)  # Only 0's?
    dat["unknown_byte1"] = fileobj.read(1)  # always 0xFF?
    dat["unknown_int3_count"] = read_uint32(fileobj)  # A count for something?
    dat["unknown_int4_count"] = fileobj.read(4)

    dat["unknown_byte2"] = fileobj.read(1)  # Often 0x00, once 0x04? (in frontend_0_level.res)
    dat["unknown_short1"] = fileobj.read(2)  # Not sure if short

    dat["unknown_int5"] = fileobj.read(4)  # always 0xFF FF FF FF?

    dat["unknown_stuff"] = fileobj.read(16)  # Unknown data, mostly 0's? Fourth to last byte is 0x1?

    return dat
Exemplo n.º 8
0
def read_dxtg(fileobj):
    #dat = {}
    size = read_uint32(fileobj)
    name = fileobj.read(0x20).strip(b"\x00")
    unk_int2 = read_uint32_BE(fileobj)
    unk_int3 = read_uint32_BE(fileobj)
    unk_int4 = read_uint32_BE(fileobj)
    unk_int5 = read_uint32_BE(fileobj)
    image_type = fileobj.read(0x10).strip(b"\x00")
    unk_int6 = read_uint32_BE(fileobj)
    unk_int7 = read_uint32_BE(fileobj)
    unk_int8 = read_uint32_BE(fileobj)
    unk_int9 = read_uint32_BE(fileobj)
    unknown_ints = fileobj.read(0x10)
    unk_int10 = read_uint32_BE(fileobj)
    size_x = read_uint32_BE(fileobj)
    size_y = read_uint32_BE(fileobj)
    unk_int13 = read_uint32_BE(fileobj)

    return DxtgData(size, name, unk_int2, unk_int3, unk_int4, unk_int5,
                    image_type, unk_int6, unk_int7, unk_int8, unk_int9,
                    unknown_ints, unk_int10, size_x, size_y, unk_int13)
Exemplo n.º 9
0
def read_ldom(fileobj):
    length = read_uint32(fileobj)
    data = fileobj.read(length)
    return length, data
Exemplo n.º 10
0
def read_dpsd(fileobj):
    length = read_uint32(fileobj)
    bin_data = fileobj.read(length)
    return DpsdData(length, bin_data)
Exemplo n.º 11
0
def read_dnos(fileobj):
    unk_int = fileobj.read(4)
    strlength = read_uint32(fileobj)
    name = fileobj.read(strlength)

    return DnosData(unk_int, strlength, name)
Exemplo n.º 12
0
def read_lap(fileobj):
    data_length = read_uint32(fileobj)
    data = fileobj.read(data_length)

    return LapData(data_length, data)
Exemplo n.º 13
0
def read_pim(fileobj):
    data_length = read_uint32(fileobj)
    data = fileobj.read(data_length)

    return PimData(data_length, data)
Exemplo n.º 14
0
def read_txet(fileobj):
    dat = {}
    dat["unknown_int01"] = read_uint32(fileobj)
    dat["name_string"] = fileobj.read(16)
    dat["xsize"] = read_uint32(fileobj)
    dat["ysize"] = read_uint32(fileobj)
    dat["unknown_int04"] = read_uint32(fileobj)
    dat["unknown_flags"] = read_uint32(fileobj)

    nextBits = fileobj.read(4)
    # Extra data? Seems to be for TXET entries that aren't followed by a DXT1 entry
    if nextBits in (b"P8\x00\x00", b"A8R8"):
        dat["unknown_string"] = nextBits+fileobj.read(4)
        dat["unknown_ARGBstring"] = fileobj.read(8)

        dat["unknown_int05"] = read_uint32(fileobj)
        dat["unknown_int06"] = read_uint32(fileobj)
        dat["unknown_int07"] = read_uint32(fileobj)
        dat["unknown_int08"] = read_uint32(fileobj)
        dat["unknown_int09"] = read_uint32(fileobj)
        dat["unknown_int10"] = read_uint32(fileobj)
        dat["unknown_int11"] = read_uint32(fileobj)
        dat["unknown_int12"] = read_uint32(fileobj)

        dat["pim_count"] = read_uint32(fileobj)

    else:
        fileobj.seek(-4, 1)

    return dat
Exemplo n.º 15
0
def read_section(f):
    id = f.read(4)
    size = read_uint32(f)
    data = f.read(size)

    return id, size, data