[Archive] Legion Modding and Filedata, possible ?
[Archive] Legion Modding and Filedata, possible ?
Archived author: Rangorn • Posted: 2016-07-22T03:17:51+00:00
Original source
Hey, since few days, TrinityCore is able to handle Legion (7.0.3)
I will probably switch to Legion for modding (retroporting is bad, really.) but there are some problems.
Since WoD, every string path / name (world/generic/doodad/tree/whatevergob01.m2) are located in the FileDataComplete dbc, it store all the pathname of files from the game, dbc like gameobjectdisplayinfo, charsections don't have a string column anymore, but a integer column who point directly to FileData.
Since 7.0.1.21737 Legion Build, this file is gone, and i don't know how the executable made the link between the filedata_id and the pathname.
Some people seems to know, but it wasn't really clear for me, explanations will be appreciated about this (i mean, clear informations, not an agressive sentance with only 5 words and c++ struct random dropping)
So even if we find where the filedata_id <=> string system is located, can we edit it for adding new path and new ids ?
Archived author: wungasaurus • Posted: 2016-07-22T07:48:26+00:00
Original source
There is no filedata_id <=> string system, thus you can't edit it. You have to edit https://wowdev.wiki/CASC#Root to add new files to casc. There are no tools for that.
Archived author: MrXJKz • Posted: 2016-07-22T11:48:00+00:00
Original source
ok nothing my bad olol.
Edited July 22, 2016 by MrXJKz
because i'm dumb!!!!!
Quote: 10 hours ago, wungasaurus said:Is there a way to extract the root file ?
There is no filedata_id <=> string system, thus you can't edit it. You have to edit https://wowdev.wiki/CASC#Root to add new files to casc. There are no tools for that.
Archived author: Rangorn • Posted: 2016-07-22T18:14:09+00:00
Original source
Quote: 10 hours ago, wungasaurus said:Is there a way to extract the root file ?
There is no filedata_id <=> string system, thus you can't edit it. You have to edit https://wowdev.wiki/CASC#Root to add new files to casc. There are no tools for that.
Archived author: wungasaurus • Posted: 2016-07-22T20:58:38+00:00
Original source
There is a tool for dumping them. Ask in #modcraft.
Quote: On 22/07/2016 at 9:48 AM, wungasaurus said:Shauren, the main TC dev told me :
There is no filedata_id <=> string system, thus you can't edit it.
Archived author: Rangorn • Posted: 2016-07-28T01:58:43+00:00
Original source
i'm back (last time i was on the irc, nobody was talking so... maybe later)
Quote: On 22/07/2016 at 9:48 AM, wungasaurus said:Shauren, the main TC dev told me :
There is no filedata_id <=> string system, thus you can't edit it.
Archived author: wungasaurus • Posted: 2016-07-28T06:08:20+00:00
Original source
Hashing the string, looking up the hash, like it did in MPQ as well.
Archived author: Rangorn • Posted: 2016-07-28T13:59:01+00:00
Original source
Ok do you have more informations for the hashing method ?
Without Listfile, the map.db2 unk file name is 76A46B277AE9D377_1349477, i'm sure the 1349477 is the file data id, and the 16 characters before are hashed.
When i convert theses string to md5, i got this :
dbfilesclient/map.db2 58dd9bcf7aace121ca11336a7cf3f7ae
DBFILESCLIENT/map.db2 a05c28748296ac0ef2362e9c658a0ebd
DBFILESCLIENT/MAP.db2 7cd8f374c7c9f762d78b4897f6d16dcf
DBFILESCLIENT/MAP.DB2 9cc2ef50d67bb7ca1cfa797e2b151844
I'm wrong i know, btw, how the hashing work ? It is the jenkins96 hash ?
Archived author: wungasaurus • Posted: 2016-07-28T17:19:10+00:00
Original source
https://wowdev.wiki/CASC#hashpath
Archived author: Rangorn • Posted: 2016-07-28T19:52:33+00:00
Original source
Thanks man, finally manage to do it !
I've made a program in java (poorly made, but i'm fucking lazy when i program)
https://ghostbin.com/paste/5b4kj
EDIT : CascExplorer have an option "Extract CASC System Files" and i can get the root =)
So, now i have the root file ! Too bad there is not information about the struct on the wiki, i think i have to analyse source code of Trinity / CASC Explorer / LISTROOT