附录 B:Python struct 参考
import struct
HEADER = struct.Struct('<4sHHIQQ32s4s')
FOOTER = struct.Struct('<4sHHQQQI28s')
DIR0 = struct.Struct('<4sHHI')
ENTRY = struct.Struct('<4sIiIQQQII')
CHIX_HEADER = struct.Struct('<BBBBI')
CHIX_ROW = struct.Struct('<IHI')
MSH0_HEADER = struct.Struct('<BBBBI')
FACE = struct.Struct('<7B')
VBUF_HEADER = PMSH_HEADER = struct.Struct('<BBHI32s')
RND0_HEADER = struct.Struct('<BBBBII32s')
RND0_VERTEX = struct.Struct('<6f4B')
ANM0_HEADER = struct.Struct('<BBHII32s')
RLE8 是 paletteIndex:u8 后接 runLength:ULEB128,不是两个固定字节。读取器先校验目录 CRC 和项范围,再按 codec 解码;不允许从 flags 推断编码。