assetbundle.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:UnityPack 作者: HearthSim 项目源码 文件源码
def decompress(self, buf):
        if not self.compressed:
            return buf
        ty = self.compression_type
        if ty == CompressionType.LZMA:
            props, dict_size = struct.unpack("<BI", buf.read(5))
            lc = props % 9
            props = int(props / 9)
            pb = int(props / 5)
            lp = props % 5
            dec = lzma.LZMADecompressor(format=lzma.FORMAT_RAW, filters=[{
                "id": lzma.FILTER_LZMA1,
                "dict_size": dict_size,
                "lc": lc,
                "lp": lp,
                "pb": pb,
            }])
            res = dec.decompress(buf.read())
            return BytesIO(res)
        if ty in (CompressionType.LZ4, CompressionType.LZ4HC):
            res = lz4_decompress(buf.read(self.compressed_size), self.uncompressed_size)
            return BytesIO(res)
        raise NotImplementedError("Unimplemented compression method: %r" % (ty))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号