当前位置: 首页>>代码示例>>Python>>正文


Python Reader.readshort方法代码示例

本文整理汇总了Python中reader.Reader.readshort方法的典型用法代码示例。如果您正苦于以下问题:Python Reader.readshort方法的具体用法?Python Reader.readshort怎么用?Python Reader.readshort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在reader.Reader的用法示例。


在下文中一共展示了Reader.readshort方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: checksumcontent

# 需要导入模块: from reader import Reader [as 别名]
# 或者: from reader.Reader import readshort [as 别名]
def checksumcontent(hdr, data):
    if hdr.flags & 0x00000004:
        r = Reader(data)
        if hdr.flags & 0x00000100:
            r.skip(8)
        if hdr.flags & 0x00001000:
            nseq = r.readint()
            r.skip(nseq * 4)
        if hdr.flags & 0x00002000:
            nseq = r.readint()
            r.skip(nseq * 4)
        if hdr.flags & 0x00004000:
            r.skip(4)
        if hdr.flags & 0x00400000:
            r.skip(8)
        if hdr.flags & 0x01000000:
            r.skip(8)
        if hdr.flags & 0x02000000:
            r.skip(4)
        if hdr.flags & 0x04000000:
            r.skip(8)
        if hdr.flags & 0x08000000:
            r.skip(6)
        checksum = checksumdata(data[0 : r.position], True)

        while len(r):
            frag_start = r.position
            r.readformat('Q')
            r.readshort()
            frag_len = r.readshort()
            r.readshort()
            r.readshort()
            r.skip(frag_len - 16)

            frag_checksum = checksumdata(data[frag_start : frag_start + frag_len], True)
            checksum = (checksum + frag_checksum) & 0xFFFFFFFF

        return checksum
    else:
        return checksumdata(data, True)
开发者ID:boardwalk,项目名称:bzr-research,代码行数:42,代码来源:session.py

示例2: print

# 需要导入模块: from reader import Reader [as 别名]
# 或者: from reader.Reader import readshort [as 别名]
resourceId = r.readint()

flags = r.readint()

print("resourceId = {:08x} flags = {:x}".format(resourceId, flags))

assert flags == 0 or flags == 2

resourceId2 = r.readint()

numTextures = r.readbyte()

numConnections = r.readbyte()

numVisible = r.readshort()

for i in range(numTextures):
    textureId = r.readshort()
    #print('texture {}: {:04x}'.format(i, textureId))

#r.align()

geometryId = r.readint()
#print('geometryId={:08x}'.format(geometryId))

x, y, z = r.readformat('fff')
rw, rx, ry, rz = r.readformat('ffff')

#print('x={}, y={}, z={}'.format(x, y, z))
#print('rw={}, rx={}, ry={}, rz={}'.format(rw, rx, ry, rz))
开发者ID:boardwalk,项目名称:bzr-research,代码行数:32,代码来源:dump-structures.py

示例3: Reader

# 需要导入模块: from reader import Reader [as 别名]
# 或者: from reader.Reader import readshort [as 别名]
from reader import Reader
from bsp import BSPNode
from model import unpack_vertex, unpack_trifan

r = Reader(sys.stdin.buffer.raw.read())

fid = r.readint()
assert fid & 0xFF000000 == 0x0D000000

numPieces = r.readint()
print('{:08x} numPieces = {}'.format(fid, numPieces))

for pi in range(numPieces):
    #print('======')

    pieceIndex = r.readshort()
    #print('pieceIndex = {}'.format(pieceIndex))
    assert pieceIndex == pi

    unk4 = r.readshort()
    #print('unk4 = {}'.format(unk4))
    assert unk4 == 0

    numTriangleFans = r.readint()
    #print('numTriangleFans = {}'.format(numTriangleFans))

    numCollisionTriangleFans = r.readint()
    #print('numCollisionTriangleFans = {}'.format(numCollisionTriangleFans))

    numShorts = r.readint()
    #print('numShorts = {}'.format(numShorts))
开发者ID:boardwalk,项目名称:bzr-research,代码行数:33,代码来源:dump-structure-geom.py

示例4: Reader

# 需要导入模块: from reader import Reader [as 别名]
# 或者: from reader.Reader import readshort [as 别名]
#!/usr/bin/env python
import sys
from reader import Reader

r = Reader(sys.stdin.buffer.raw.read())
#r.dump(1024)

fid = r.readint()
assert fid & 0x0000FFFF == 0x0000FFFE

numCells = r.readint()

numObjects = r.readshort()
r.readshort()

for i in range(numObjects):
    modelId = r.readint()
    x, y, z = r.readformat('3f')
    assert x >= 0.0 and x <= 192.0
    assert y >= 0.0 and y <= 192.0
    #assert z >= 0.0 and z <= 512.0
    rw, rx, ry, rz = r.readformat('4f')

numBuildings = r.readshort()
hasthings = r.readshort()

#print('fid = {:08x} numBuildings = {} thing = {}'.format(fid, numBuildings, thing))

for i in range(numBuildings):
    modelId = r.readint()
    x, y, z = r.readformat('3f')
开发者ID:boardwalk,项目名称:bzr-research,代码行数:33,代码来源:dump-landblock-objects.py

示例5: Reader

# 需要导入模块: from reader import Reader [as 别名]
# 或者: from reader.Reader import readshort [as 别名]
#!/usr/bin/env python
import sys
import wave
from reader import Reader

r = Reader(sys.stdin.buffer.raw.read())

fid = r.readint()
assert fid & 0xFF000000 == 0x0A000000

typ = r.readint()
dataLen = r.readint()
unk2 = r.readshort()
unk3 = r.readshort()

channelSampleRate = r.readint()
totalSampleRate = r.readint()
numChannels = r.readshort()
bitsPerSample = r.readint()

print('==== fid = {:08x}'.format(fid))

if typ == 18:
    print('unk2 = {} unk3 = {} channelSampleRate = {} totalSampleRate = {} numChannels = {} bitsPerSample = {}'
            .format(unk2, unk3, channelSampleRate, totalSampleRate, numChannels, bitsPerSample))
    assert typ == 18
    assert dataLen == len(r)
    assert unk2 == 1
    assert unk3 == 1 or unk3 == 2
    assert bitsPerSample == 8 or bitsPerSample == 16
    assert channelSampleRate * numChannels == totalSampleRate
开发者ID:boardwalk,项目名称:bzr-research,代码行数:33,代码来源:dump-sounds.py

示例6: readarray

# 需要导入模块: from reader import Reader [as 别名]
# 或者: from reader.Reader import readshort [as 别名]
def readarray(r):
    numBytes = r.readshort()
    if numBytes == 0xFFFF:
        numBytes = r.readint()
    bytes = r.readformat('{}s'.format(numBytes))
    r.align()
    return bytes

r = Reader(sys.stdin.buffer.raw.read())

fid = r.readint()
assert fid & 0xFF000000 == 0x0E000000
print('=== fid = {:08x}'.format(fid))

if fid == 0x0e00000e: # spell table
    count = r.readshort()

    unk1 = r.readshort()
    assert unk1 == 0x2000

    for i in range(count):
        iden = r.readint()
        name = readcryptstring(r)
        desc = readcryptstring(r)
        #print('iden = {:08x} name = "{}" desc = "{}"'.format(iden, name, desc))

        # 1 war
        # 2 life
        # 3 item
        # 4 creature
        # 5 void
开发者ID:boardwalk,项目名称:bzr-research,代码行数:33,代码来源:dump-unique.py


注:本文中的reader.Reader.readshort方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。