Codejie's C++ Space

Using C++

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

posted on 2009-04-28 22:52 codejie 阅读(354) 评论(0)  编辑 收藏 引用 所属分类: MPQ - WOW


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


公告

Using C++

导航

统计

留言簿(73)

随笔分类(513)

积分与排名

最新评论

阅读排行榜

评论排行榜