-
Active Member
Generating nav meshes for Dragonflight
Greetings!
Has anyone succeeded in updating retail version of TrinityCore map_extractor, vmap4_extractor for Dragonflight?
I really need a working version, so I'm open to any suggestions.
-
Contributor
Last edited by ChrisIsMe; 11-01-2023 at 04:58 PM.
no war
-
Post Thanks / Like - 1 Thanks
Kovrizha (1 members gave Thanks to ChrisIsMe for this useful post)
-
Active Member
Originally Posted by
ChrisIsMe
Yes, just update the db2 structures.
Sorry for my annoying but can I ask a bit more?
Should I somehow find the changes in db2 table and then apply it accordingly into tools/map_extractor headers?
Regarding the changes it seems I found the next project:
GitHub - wowdev/WoWDBDefs: Client database definitions for World of Warcraft
-
Active Member
I provided ExtractorDB2LoadInfo.h some field update for 10.0.2 from WoWDBDefs.
It seems that there is something more. CascOpenFile failes almost at the start:
d:\World of Warcraft\_beta_>mapextractor.exe -p wow_beta
Opened casc storage 'd:/World of Warcraft\_beta_\Data'
Opened casc storage 'd:/World of Warcraft\_beta_\Data'
Detected client build 46157 for locale enUS
Extracting dbc/db2 files...
locale enUS output path d:\World of Warcraft\_beta_\dbc\enUS
Unable to open file CinematicCamera.db2 in the archive for locale enUS: FILE_NOT_FOUND
Unable to open file GameObjectDisplayInfo.db2 in the archive for locale enUS: FILE_NOT_FOUND
Unable to open file LiquidMaterial.db2 in the archive for locale enUS: FILE_NOT_FOUND
Unable to open file LiquidObject.db2 in the archive for locale enUS: FILE_NOT_FOUND
Unable to open file LiquidType.db2 in the archive for locale enUS: FILE_NOT_FOUND
Unable to open file Map.db2 in the archive for locale enUS: FILE_NOT_FOUND
Extracted 0 files
-
Active Member
Update.
I tried to debug and it seems the problem lies in empty object m_pItemArray while calling PCASC_FILE_NODE CASC_FILE_TREE::FindById():
{m_pItemArray=0x0000000000000000 <NULL> m_ItemCountMax=0 m_ItemCount=0 m_ItemSize=0}
When running on retail it looks like:
{m_pItemArray=0x00000236e7e9c070 "" m_ItemCountMax=8388608 m_ItemCount=4615200 m_ItemSize=8}
I need to find out where this structure is filling up...
My primitive investigation revealed that function RootHandler_CreateWoW (from CascRootFile_WoW.cpp) is not called for 10.0.2 beta build.
The necessary data parsing happens there.
LoadBuildManifest (from CascOpenStorage.cpp) recognizes FileSignature (type of the ROOT file) as CASC_TVFS_ROOT_SIGNATURE and calls corresponding line for it: RootHandler_CreateTVFS (instead of RootHandler_CreateWoW)
Update2:
After a quick fix in LoadBuildManifest it runs RootHandler_CreateWoW. Then it failes in CaptureRootGroup (from CascRootFile_WoW.cpp) at the line:
// Validate the array of file data IDs
if((pbRootPtr + (sizeof(DWORD) * RootGroup.Header.NumberOfFiles)) >= pbRootEnd)
return NULL;
Last edited by Kovrizha; 10-19-2022 at 06:37 AM.
Reason: Update2
-
Active Member
Guys, the time is critical for me at that moment. I can't waste it digging in this.
So I'll donate $200 to the first person who will help me solve this issue. I need working version of mapextractor for 10.0.2 beta.