MIX文件是什么?

MIX 是西木(Westwood)给 RA2/YR 用的资源归档包:把几千个小文件(SHP、VXL、PCX、INI、CSF、WAV…)不压缩地拼成一个大文件,前面放一张索引表,游戏运行时按索引直接 seek 到偏移读取。

(红色警戒2目录)

文件结构(明文包)

偏移 0
┌──────────────────────────────────────────┐
│ 文件头 10 字节                            │
│   flags    (4B)  位标志:加密 / 校验尾     │
│   count    (2B)  条目数                   │
│   dataSize (4B)  数据区总长                │
├──────────────────────────────────────────┤
│ 索引表  count × 12 字节                   │
│   [ id(4B) | offset(4B) | size(4B) ] ×N   │
├──────────────────────────────────────────┤ ← 数据区起点 = 10 + count*12
│ 数据区                                    │
│   文件0字节 | 文件1字节 | ...              │
└──────────────────────────────────────────┘
文件尾(可选)
   XCC 追加的名字表:\0 分隔的文件名字符串