diff options
author | Subv <s.v.h21@hotmail.com> | 2012-09-28 16:26:43 -0500 |
---|---|---|
committer | Subv <s.v.h21@hotmail.com> | 2012-09-28 16:26:43 -0500 |
commit | eba6980b9a52f55859cb3bd93235e14866769514 (patch) | |
tree | e937c9b4ce52943f0b858135b4e7e03856076238 /src | |
parent | 886f71df72a751abf1b742e67e7707cb623fd854 (diff) |
Tools/MeshExtractor: Allow to extract only 1 map ( via command line )
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/mesh_extractor/MeshExtractor.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/tools/mesh_extractor/MeshExtractor.cpp b/src/tools/mesh_extractor/MeshExtractor.cpp index 77b5a8e8c3d..a99cc4475a0 100644 --- a/src/tools/mesh_extractor/MeshExtractor.cpp +++ b/src/tools/mesh_extractor/MeshExtractor.cpp @@ -11,16 +11,20 @@ LoginDatabaseWorkerPool LoginDatabase; MPQManager* MPQHandler; CacheClass* Cache; -void ExtractAllMaps() +void ExtractAllMaps(uint32 onlyMap) { DBC* dbc = MPQHandler->GetDBC("Map"); for (std::vector<Record*>::iterator itr = dbc->Records.begin(); itr != dbc->Records.end(); ++itr) { + uint32 mapId = (*itr)->Values[0]; + if (onlyMap && mapId != onlyMap) + continue; std::string name = (*itr)->GetString(1); WDT wdt("World\\maps\\" + name + "\\" + name + ".wdt"); if (!wdt.IsValid || wdt.IsGlobalModel) continue; - ContinentBuilder builder(name, (*itr)->Values[0], &wdt); + printf("Building %s MapId %u\n", name, mapId); + ContinentBuilder builder(name, mapId, &wdt); builder.Build(); } /* @@ -45,7 +49,10 @@ int main(int argc, char* argv[]) MPQHandler = new MPQManager(); MPQHandler->Initialize(); MPQHandler->LoadMaps(); - ExtractAllMaps(); + uint32 onlyMap = 0; + if (argc == 2) + onlyMap = uint32(atoi(argv[1])); + ExtractAllMaps(onlyMap); return 0; } |