DBCFields.xml更新 - 增加Byte类型;另,获知ItemID来源~

DBCFields.xml更新 - 增加Byte类型;另,获知ItemID来源~

    Character相关的DBC中,有两个DBC中含有一个字节的字段,导致wxDeMPQ读取失败。这次增加Byte类型,用于支持此种类型字段。
int  CByteField::Data2String(std:: string &  str, CFileBuffer  & fb,  int  offset,  int  strpos)  const
{
    unsigned 
char  data  =   0 ;
//     fb.Seek(offset);
    fb.Read(data);
    
    Toolkit::StringOf
< unsigned  int > (data, str);

    
return  fb.Good()  ?   0  :  - 1 ;
}
    下面是一个实际的DBC字段描述例子:

   < File  name ="CharBaseInfo.dbc"  version ="1.0" >
    
< Note > http://www.madx.dk/wowdev/wiki/index.php?title=CharBaseInfo.dbc </ Note >
    
< Fields >
      
< Field  position ="0"  type ="byte"  size ="1" > RaceID </ Field >
      
< Field  position ="1"  type ="byte"  size ="1" > ClassID </ Field >
    
</ Fields >
  
</ File >


    这样Item,Character,Creature的基本数据应该算全了,差关键的ID问题了。怎么说呢,所有的DBC中没有提到ItemID的对应问题,就是说,无法知道某个ID确切地和哪个Item关联,找了很久,无果。四处晃荡,又回到 http://www.wowmodelviewer.org/上,无疑发现"chuanhsing"上传的ItemID表,赶忙发message询问来源,才知道都在WDB中。唉,一直以为WDB文件不重要,没有去分析~
    将chuanhsing的回复贴上,以示敬意。
Hi,

The full mapping of NPC or item's ID are all stored in itemcache.wdb and creaturecache.wdb. Item.dbc is part of ItemCache.wdb but without item names.

http://www.sourcepeek.com/wiki/ItemCache.wdb
http://www.sourcepeek.com/wiki/CreatureCache.wdb
http://www.sourcepeek.com/wiki/Item.dbc

Chuanhsing

你可能感兴趣的:(DBCFields.xml更新 - 增加Byte类型;另,获知ItemID来源~)