才有空分析Creature的DBC關(guān)系。唉,公司動(dòng)蕩,人心惶惶,但事情還是要做的,這個(gè)叫啥呢?嗯,職業(yè)道德,就算知道明天就被fire了,也要打開(kāi)電腦,打開(kāi)VC,分析winex11.drv;實(shí)際滿(mǎn)心疑慮,哪有心思一行一行看代碼啊,一天就添加了兩個(gè)注釋。。。
扯遠(yuǎn)了,回來(lái)。CreatureModelData.dbc中,有用的是ModelID和Model數(shù)據(jù),CreatureDisplayInfo.dbc中是DisplayID,ModelID和Texture,而CretureCache.wdb中有的是CreatureID,Name和DisplayID。這樣就可以看出來(lái)通過(guò)WDB中的CreatureID,查詢(xún)CreatureDisplayInfo.dbc,獲得對(duì)應(yīng)的ModelID和Texture,在通過(guò)CreatureDisplayInfo.dbc中的ModelID查詢(xún)CretureModelData.dbc可以得到對(duì)應(yīng)的Model,即M2;這樣,組合M2和Texture就可以的所需要的模型數(shù)據(jù)了。
從上述關(guān)系看,應(yīng)該是WDB作為入口,獲得對(duì)應(yīng)的Texture和M2,再建模;而wxDeMPQ現(xiàn)在的模式是通過(guò)M2,查詢(xún)Texture,這樣明顯不對(duì),也不符合常理和現(xiàn)實(shí),因?yàn)橐粋€(gè)M2可能會(huì)被多個(gè)Creature使用到,簡(jiǎn)單點(diǎn),比如熊吧,灰谷的黑熊和東泉的白熊就是一樣的M2,知識(shí)兩者的MTexture不同而已。這個(gè)問(wèn)題導(dǎo)致wxDeMPQ現(xiàn)有的輸出模式不對(duì)了。
也許應(yīng)該將WDB作為起點(diǎn),這就要修改現(xiàn)有的wxDeMPQ了,工作量就大了,最主要的是--我的WDB很小,唉。。。
下面是“盧安荒野姐妹
”的模型,實(shí)際和石爪山脈的那個(gè)樹(shù)妖是一個(gè)模型,不信,換一個(gè)Texture就不一樣了。


.x在
這里,包含了多個(gè)Texture。