Jump to content
TrinityCore

Mapextractor on Dragonflight beta


Kovrizha
 Share

Recommended Posts

Greetings!

I'm trying to make mmaps for 10.0.2. Unsuccessfully. Looking for any help. I'll be greatly appreciated.

I provided ExtractorDB2LoadInfo.h some field update for 10.0.2 from WoWDBDefs.
But 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

 

I tried to debug and it seems the problem lies in empty object m_pItemArray while calling PCASC_FILE_NODE CASC_FILE_TREE::FindById(1294214):

{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}

Now I'm trying to find out where this structure is filling up...

Update.

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;

Edited by Kovrizha
Update3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...