FileData.dbc
文件数据索引文件。管理客户端MPQ补丁包中所有数据文件的文件名和路径索引,是客户端定位和加载资源的关键查找表
文件概述
FileData.dbc 是客户端MPQ文件系统中所有数据文件的索引表。每条记录包含文件的唯一编号(FileDataID)、文件名和完整路径。从WLK版本开始,许多原本使用文件路径字符串引用的地方改为使用 FileDataID 数字引用,提高了查找效率。此文件类似于文件分配表,让客户端能快速定位MPQ包中的任意文件。
列结构
| 列号 | 字段 | 类型 | 详细说明 |
|---|---|---|---|
| 1 | 编号 (FileDataID) | 整数 | 文件唯一标识符。从WLK开始,DBC文件和其他资源表通过此数字引用文件,而非路径字符串 |
| 2 | 文件名 | 字符串 | 文件名(不含完整路径) |
| 3 | 文件路径 | 字符串 | 文件在MPQ内的完整路径,如 "Interface\...", "World\...", "Sound\..." 等 |
重要字段详解
FileDataID 的作用
FileDataID 是客户端内部使用的数字文件引用方式:
- 纹理/模型引用:通过 FileDataID 而非路径字符串引用资源文件
- 声音文件:SoundEntries 等表使用 FileDataID 关联音频
- 界面元素:UI资源通过 FileDataID 加载
- DBC之间引用:其他DBC文件通过 FileDataID 间接引用实际文件
文件路径分类
MPQ内部路径按资源类型分类:
- "Interface\..." —— UI界面资源和图标
- "World\..." —— 世界模型、地形纹理、WMO
- "Sound\..." —— 音频文件(音乐、音效、语音)
- "Creature\..." —— 生物模型和贴图
- "Spells\..." —— 法术特效和动画
- "Character\..." —— 角色模型、发型、肤色贴图
与MPQ补丁系统的关系
客户端的数据文件存储在多个MPQ包中,通过补丁机制管理更新:
- 客户端需要加载某文件时,先用 FileDataID 在本索引表中查找
- 获取到文件的完整路径后,在MPQ包中定位实际数据
- MPQ支持补丁机制(patch-X.MPQ),编号越高的补丁优先级越高
- 补丁MPQ中的文件会覆盖基础MPQ中的同名文件
使用技巧
- 添加自定义文件到MPQ时,需要在 FileData.dbc 中添加对应的索引记录
- FileDataID 需要与引用此资源的其他DBC表保持一致
- 补丁MPQ中的文件自动覆盖低版本中的同名文件
- 此文件通常由工具自动生成和维护,手动编辑需谨慎