-
Active Member
GameObject models in Legion?
Does anybody have a lead on how to map game object IDs to models? I used to go through gameobjects.dbc -> gameobjcectdisplayinfo.dbc -> filedata.dbc. Filedata is gone, and it doesn't look like gameobjectdisplayinfo has enough unaccounted for fields to be hiding a 16byte checksum to identify CASC files.
-
Legendary
gameobjectdisplayinfo has filedataid (int), that's enough and that's what game uses to open most of the files...
Last edited by TOM_RUS; 08-02-2016 at 04:23 PM.
-
Active Member
Originally Posted by
TOM_RUS
gameobjectdisplayinfo has filedataid (int), that's enough and that's what game uses to open most of the files...
What's that an index into? Like I said, filedata.db(c|2) appears to be gone.
-
Legendary
Originally Posted by
ioctl
What's that an index into? Like I said, filedata.db(c|2) appears to be gone.
FileData is an integral part of WoW's CASC implementation. Each file has it's unique 32 bit FileData ID and 64 bit name hash (that same hash was used in MPQ archives before) that are used to open a file.
-
Post Thanks / Like - 1 Thanks
ioctl (1 members gave Thanks to TOM_RUS for this useful post)
-
Established Member
https://github.com/ladislav-zezula/CascLib
Supports using FileDataId to open files - you have to format name with sprintf(str, "File%08X.xxx", fileDataId) // this is an implementation detail of CascLib, will not work like that if you are using something else
Also with FileData.dbc being gone, it means you no longer instantly know whether the model is a wmo or m2, you need to poke the contents to find out
-
Post Thanks / Like - 1 Thanks
ioctl (1 members gave Thanks to shauren for this useful post)
-
Active Member
Originally Posted by
TOM_RUS
FileData is an integral part of WoW's CASC implementation. Each file has it's unique 32 bit FileData ID and 64 bit name hash (that same hash was used in MPQ archives before) that are used to open a file.
Oooh. I had been ignoring that whole segment of the root file. I'd been mapping straight from filename -> 8byte hash -> 16byte md5. No 32-bit numbers in the mix. Thanks!