This is a read only copy without any forum functionality of the old Modcraft forum.
If there is anything that you would like to have removed, message me on Discord via Kaev#5208.
Big thanks to Alastor for making this copy!

Menu

Author Topic: [QUESTION] Extracting Vmaps from custom ADTs  (Read 3964 times)

björn

  • Registred Member
  • BLP Convertor
  • *****
  • Posts: 14
    • View Profile
[QUESTION] Extracting Vmaps from custom ADTs
« on: April 19, 2014, 02:24:03 am »
Howdy,

So I've been trying to extract vmaps from my own maps for quite some time now, but without any real success.

My maps consist of a WDL, a WDT and the ADTs of course. My patch is named patch-enUS-4.MPQ and is located in DataenUS...

I'm using the 4.1 vmap extractor, and yes I have extracted the maps without any issues. The vmap extractor finishes without any errors, but once in-game there is no LoS at all, not M2s, WMOs or even the terrain.

I tried copying a few blizzard ADTs and put them on one of my own maps. When I do this I get a little bit of LoS working, but only on WMOs. It's still not working with M2s or with the terrain.

Any help or pointers would be deeply appreciated since I've been stuck with this problem for far too long.

Thanks in advance!
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

stoneharry

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 617
    • View Profile
Re: [QUESTION] Extracting Vmaps from custom ADTs
« Reply #1 on: April 19, 2014, 09:09:08 pm »
Quote from: "björn"
Howdy,

So I've been trying to extract vmaps from my own maps for quite some time now, but without any real success.

My maps consist of a WDL, a WDT and the ADTs of course. My patch is named patch-enUS-4.MPQ and is located in DataenUS...

I'm using the 4.1 vmap extractor, and yes I have extracted the maps without any issues. The vmap extractor finishes without any errors, but once in-game there is no LoS at all, not M2s, WMOs or even the terrain.

I tried copying a few blizzard ADTs and put them on one of my own maps. When I do this I get a little bit of LoS working, but only on WMOs. It's still not working with M2s or with the terrain.

Any help or pointers would be deeply appreciated since I've been stuck with this problem for far too long.

Thanks in advance!

From memory, the tool looks for:

"DataenUSpatch-x-enUS.mpq"

Where x increments by 1 until it doesn't exist. The DBC files must be in here.

Then it looks in:

"Datapatch-x.mpq"

Where x increments from 1 until it doesn't exist. The map data must be in here.

You must extract maps, then vmaps, then assemble mmaps if you use them from those two.

If it still doesn't work, check which maps are being found and which files are produced.

It is possible that TrinityCore's version of maps/vmaps can no longer process Noggit data.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

björn

  • Registred Member
  • BLP Convertor
  • *****
  • Posts: 14
    • View Profile
Re: [QUESTION] Extracting Vmaps from custom ADTs
« Reply #2 on: April 19, 2014, 09:46:13 pm »
Quote
From memory, the tool looks for:

"DataenUSpatch-x-enUS.mpq"

Where x increments by 1 until it doesn't exist. The DBC files must be in here.

Then it looks in:

"Datapatch-x.mpq"

Where x increments from 1 until it doesn't exist. The map data must be in here.

You must extract maps, then vmaps, then assemble mmaps if you use them from those two.

If it still doesn't work, check which maps are being found and which files are produced.

It is possible that TrinityCore's version of maps/vmaps can no longer process Noggit data.

So the DBCs and the mapfiles has to be in separate patches? Alright, I'll try that.

Oh also, each ADT is found and processed. The files are only 1-2kb though, not sure if this is normal or not.

EDIT: Tried extracting again with the dbc/mapfiles in separate patches, nothing changed.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

stoneharry

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 617
    • View Profile
Re: [QUESTION] Extracting Vmaps from custom ADTs
« Reply #3 on: April 19, 2014, 11:42:51 pm »
Here is the code for reference:

Code: [Select]
bool fillArchiveNameVector(std::vector<std::string>& pArchiveNames)
{
    if(!hasInputPathParam)
        getGamePath();

    printf("nGame path: %sn", input_path);

    char path[512];
    string in_path(input_path);
    std::vector<std::string> locales, searchLocales;

    searchLocales.push_back("enGB");
    searchLocales.push_back("enUS");
    searchLocales.push_back("deDE");
    searchLocales.push_back("esES");
    searchLocales.push_back("frFR");
    searchLocales.push_back("koKR");
    searchLocales.push_back("zhCN");
    searchLocales.push_back("zhTW");
    searchLocales.push_back("enCN");
    searchLocales.push_back("enTW");
    searchLocales.push_back("esMX");
    searchLocales.push_back("ruRU");

    for (std::vector<std::string>::iterator i = searchLocales.begin(); i != searchLocales.end(); ++i)
    {
        std::string localePath = in_path + *i;
        // check if locale exists:
        struct stat status;
        if (stat(localePath.c_str(), &status))
            continue;
        if ((status.st_mode & S_IFDIR) == 0)
            continue;
        printf("Found locale '%s'n", i->c_str());
        locales.push_back(*i);
    }
    printf("n");

    // open locale expansion and common files
    printf("Adding data files from locale directories.n");
    for (std::vector<std::string>::iterator i = locales.begin(); i != locales.end(); ++i)
    {
        pArchiveNames.push_back(in_path + *i + "/locale-" + *i + ".MPQ");
        pArchiveNames.push_back(in_path + *i + "/expansion-locale-" + *i + ".MPQ");
        pArchiveNames.push_back(in_path + *i + "/lichking-locale-" + *i + ".MPQ");
    }

    // open expansion and common files
    pArchiveNames.push_back(input_path + string("common.MPQ"));
    pArchiveNames.push_back(input_path + string("common-2.MPQ"));
    pArchiveNames.push_back(input_path + string("expansion.MPQ"));
    pArchiveNames.push_back(input_path + string("lichking.MPQ"));

    // now, scan for the patch levels in the core dir
    printf("Scanning patch levels from data directory.n");
    sprintf(path, "%spatch", input_path);
    if (!scan_patches(path, pArchiveNames))
        return(false);

    // now, scan for the patch levels in locale dirs
    printf("Scanning patch levels from locale directories.n");
    bool foundOne = false;
    for (std::vector<std::string>::iterator i = locales.begin(); i != locales.end(); ++i)
    {
        printf("Locale: %sn", i->c_str());
        sprintf(path, "%s%s/patch-%s", input_path, i->c_str(), i->c_str());
        if(scan_patches(path, pArchiveNames))
            foundOne = true;
    }

    printf("n");

    if(!foundOne)
    {
        printf("no locale foundn");
        return false;
    }

    return true;
}

It should be printing the archives found. Does it print your MPQs?
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

björn

  • Registred Member
  • BLP Convertor
  • *****
  • Posts: 14
    • View Profile
Re: [QUESTION] Extracting Vmaps from custom ADTs
« Reply #4 on: April 19, 2014, 11:54:06 pm »
Quote from: "stoneharry"
Here is the code for reference:

Code: [Select]
...

It should be printing the archives found. Does it print your MPQs?

Yeah, it does.

Quote
Oh also, each ADT is found and processed. The files are only 1-2kb though, not sure if this is normal or not.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

stoneharry

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 617
    • View Profile
Re: [QUESTION] Extracting Vmaps from custom ADTs
« Reply #5 on: April 20, 2014, 12:23:31 am »
Quote from: "björn"
Quote from: "stoneharry"
Here is the code for reference:

Code: [Select]
...

It should be printing the archives found. Does it print your MPQs?

Yeah, it does.

Quote
Oh also, each ADT is found and processed. The files are only 1-2kb though, not sure if this is normal or not.

Then TrinityCore's format is probably not supported by Noggit. *shrug*
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

björn

  • Registred Member
  • BLP Convertor
  • *****
  • Posts: 14
    • View Profile
Re: [QUESTION] Extracting Vmaps from custom ADTs
« Reply #6 on: April 20, 2014, 06:02:34 pm »
Quote from: "stoneharry"

Then TrinityCore's format is probably not supported by Noggit. *shrug*

Hmm, I have a hard time believing that since I seem to be the only one with this issue :x

It would be nice if someone else could try and see if this really is the case.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

björn

  • Registred Member
  • BLP Convertor
  • *****
  • Posts: 14
    • View Profile
Re: [QUESTION] Extracting Vmaps from custom ADTs
« Reply #7 on: May 27, 2014, 10:05:36 pm »
bump
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Ascathos

  • Moderators
  • Creator of Worlds
  • *****
  • Posts: 1129
    • View Profile
Re: [QUESTION] Extracting Vmaps from custom ADTs
« Reply #8 on: May 28, 2014, 01:20:55 pm »
Quote from: "björn"
Quote from: "stoneharry"

Then TrinityCore's format is probably not supported by Noggit. *shrug*

Hmm, I have a hard time believing that since I seem to be the only one with this issue :x

It would be nice if someone else could try and see if this really is the case.
No, you are not the only one. The most recent changes actually do not make it fail, but wmo collision or facing is still not properly compared to the way the TC extractor reads the VMaps and, in turn, MMaps.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Tekiro

  • Registred Member
  • MWCS Enthusiast
  • *****
  • Posts: 1
    • View Profile
Re: [QUESTION] Extracting Vmaps from custom ADTs
« Reply #9 on: June 17, 2014, 12:40:27 pm »
I've pulled this off, easily.

Copy all your wow MPQ files into a sep folder, make sure that the directories remain intact.

So, in a seperate clean folder you should have "data" then in data will be all the normal MPQ files, then another folder called "enXX" with all your clients localization MPQ files.

Open up each normal MPQ file with an MPQ editor, and drag your "world" folder into it that you've edited with noggit.

Repeat this process for each MPQ file.

Then run your Vmaps batch file and you're home free.

Worked for me on multiple occasions.

*Edit* Only realized the post date after posting this, sorry, delete if necessary.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

björn

  • Registred Member
  • BLP Convertor
  • *****
  • Posts: 14
    • View Profile
Re: [QUESTION] Extracting Vmaps from custom ADTs
« Reply #10 on: August 01, 2014, 11:27:36 am »
Quote from: "Tekiro"
I've pulled this off, easily.

Copy all your wow MPQ files into a sep folder, make sure that the directories remain intact.

So, in a seperate clean folder you should have "data" then in data will be all the normal MPQ files, then another folder called "enXX" with all your clients localization MPQ files.

Open up each normal MPQ file with an MPQ editor, and drag your "world" folder into it that you've edited with noggit.

Repeat this process for each MPQ file.

Then run your Vmaps batch file and you're home free.

Worked for me on multiple occasions.

*Edit* Only realized the post date after posting this, sorry, delete if necessary.

I don't see how that would work at all, since the extractors need the modified .dbc file to even find the new maps.

I might not have understood you correctly since your post is a bit hard understand.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

björn

  • Registred Member
  • BLP Convertor
  • *****
  • Posts: 14
    • View Profile
Re: [QUESTION] Extracting Vmaps from custom ADTs
« Reply #11 on: October 31, 2014, 05:24:16 pm »
bump :x
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Syama108

  • Registred Member
  • Polygonshifter
  • *****
  • Posts: 55
    • View Profile
Re: [QUESTION] Extracting Vmaps from custom ADTs
« Reply #12 on: November 07, 2014, 07:48:55 pm »
Quote from: "björn"
bump :x


Is your MPQ an actual MPQ or is it a folder named .MPQ

I struggled with figuring out how to extract custom maps..  
                                                                                                           
What I did was I put patch-4.MPQ in my data folder and patch-enUS-4.MPQ in my enUS folder with the world folder in patch-4 and DBfiles in enUS-4. Then ran the extractor in my WoW folder and it found both patches.. you just gotta pack them like the other official WoW patches and it'll find them.

They also have to be actual MPQ.. not just a folder named patch-4.MPQ
« Last Edit: January 01, 1970, 01:00:00 am by Admin »