int main(int argc, char* arg[]) { printf("Map & DBC Extractor\n"); printf("===================\n\n"); HandleArgs(argc, arg); // Open MPQs LoadCommonMPQFiles(); // Extract dbc if (CONF_extract & EXTRACT_DBC) ExtractDBCFiles(); if (CONF_extract & EXTRACT_CAMERA) ExtractCameraFiles(); // Extract maps if (CONF_extract & EXTRACT_MAP) ExtractMapsFromMpq(); // Close MPQs CloseMPQFiles(); return 0; }
int main(int argc, char * arg[]) { printf("Map & DBC Extractor\n"); printf("===================\n\n"); HandleArgs(argc, arg); uint32 build = 0; // Open MPQs LoadCommonMPQFiles(); if (CONF_extract & EXTRACT_DBC) { // Extract DBC Files. ExtractDBCFiles(); } if (CONF_extract & EXTRACT_MAP) { printf("Loading files.. \n"); // Extract maps ExtractMapsFromMpq(build); } // Close MPQs CloseMPQFiles(); return 0; }
/** * @brief * * @param argc * @param argv * @return int */ int main(int argc, char** argv) { printf("mangos-zero DBC & map (version %s) extractor\n\n", MAP_VERSION_MAGIC); if (!HandleArgs(argc, argv)) { return 1; } // Open MPQs LoadCommonMPQFiles(); // Extract dbc if (CONF_extract & EXTRACT_DBC) { ExtractDBCFiles(); } // Extract maps if (CONF_extract & EXTRACT_MAP) { ExtractMapsFromMpq(); } // Close MPQs CloseMPQFiles(); return 0; }
int main(int argc, char ** argv) { bool success=true; const char *versionString = "V4.00 2012_02"; // Use command line arguments, when some if (!processArgv(argc, argv, versionString)) return 1; // some simple check if working dir is dirty else { std::string sdir = std::string(szWorkDirWmo) + "/dir"; std::string sdir_bin = std::string(szWorkDirWmo) + "/dir_bin"; struct stat status; if (!stat(sdir.c_str(), &status) || !stat(sdir_bin.c_str(), &status)) { printf("Your output directory seems to be polluted, please use an empty directory!\n"); printf("<press return to exit>"); char garbage[2]; return scanf("%c", garbage); } } printf("Extract %s. Beginning work ....\n\n",versionString); //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx // Create the working directory if (mkdir(szWorkDirWmo #if defined(__linux__) || defined(__APPLE__) , 0711 #endif )) success = (errno == EEXIST); LoadCommonMPQFiles(CONF_TargetBuild); for (int i = 0; i < LOCALES_COUNT; ++i) { //Open MPQs if (!LoadLocaleMPQFile(i)) { if (GetLastError() != ERROR_PATH_NOT_FOUND) printf("Unable to load %s locale archives!\n", Locales[i]); continue; } printf("Detected and using locale: %s\n", Locales[i]); break; } ReadLiquidTypeTableDBC(); // extract data if (success) success = ExtractWmo(); //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx //map.dbc if (success) { DBCFile * dbc = new DBCFile(LocaleMpq, "DBFilesClient\\Map.dbc"); if (!dbc->open()) { delete dbc; printf("FATAL ERROR: Map.dbc not found in data file.\n"); return 1; } map_count=dbc->getRecordCount (); map_ids=new map_id[map_count]; for (unsigned int x=0;x<map_count;++x) { map_ids[x].id=dbc->getRecord (x).getUInt(0); strcpy(map_ids[x].name,dbc->getRecord(x).getString(1)); printf("Map - %s\n",map_ids[x].name); } delete dbc; ParsMapFiles(); delete [] map_ids; //nError = ERROR_SUCCESS; // Extract models, listed in GameObjectDisplayInfo.dbc ExtractGameobjectModels(); } SFileCloseArchive(LocaleMpq); SFileCloseArchive(WorldMpq); printf("\n"); if (!success) { printf("ERROR: Extract %s. Work NOT complete.\n Precise vector data=%d.\nPress any key.\n",versionString, preciseVectorData); getchar(); } printf("Extract %s. Work complete. No errors.\n",versionString); delete [] LiqType; return 0; }
int main(int argc, char * arg[]) { printf("Map & DBC Extractor\n"); printf("===================\n\n"); HandleArgs(argc, arg); int FirstLocale = -1; uint32 build = 0; for (int i = 0; i < LOCALES_COUNT; ++i) { TCHAR tmp1[512]; _stprintf(tmp1, _T("%s/Data/%s/locale-%s.MPQ"), input_path, Locales[i], Locales[i]); //Open MPQs if (!LoadLocaleMPQFile(i)) { if (GetLastError() != ERROR_PATH_NOT_FOUND) printf("Unable to load %s locale archives!\n", Locales[i]); continue; } printf("Detected locale: %s\n", Locales[i]); if ((CONF_extract & EXTRACT_DBC) == 0) { FirstLocale = i; build = ReadBuild(i); if (build > CONF_TargetBuild) { printf("Base locale-%s.MPQ has build higher than target build (%u > %u), nothing extracted!\n", Locales[i], build, CONF_TargetBuild); return 0; } printf("Detected client build: %u\n", build); break; } //Extract DBC files uint32 tempBuild = ReadBuild(i); printf("Detected client build %u for locale %s\n", tempBuild, Locales[i]); if (tempBuild > CONF_TargetBuild) { printf("Base locale-%s.MPQ has build higher than target build (%u > %u), nothing extracted!\n", Locales[i], tempBuild, CONF_TargetBuild); continue; } ExtractDBCFiles(i, FirstLocale < 0); ExtractDB2Files(i, FirstLocale < 0); if (FirstLocale < 0) { FirstLocale = i; build = tempBuild; } //Close MPQs SFileCloseArchive(LocaleMpq); } if (FirstLocale < 0) { printf("No locales detected\n"); return 0; } if (CONF_extract & EXTRACT_MAP) { printf("Using locale: %s\n", Locales[FirstLocale]); // Open MPQs LoadLocaleMPQFile(FirstLocale); LoadCommonMPQFiles(build); // Extract maps ExtractMapsFromMpq(build); // Close MPQs SFileCloseArchive(WorldMpq); SFileCloseArchive(LocaleMpq); } return 0; }
int main(int argc, char * arg[]) { printf("Map & DBC Extractor\n"); printf("===================\n\n"); HandleArgs(argc, arg); int FirstLocale = -1; for (int i = 0; i < LANG_COUNT; i++) { char tmp1[512]; sprintf(tmp1, "%s/Data/%s/locale-%s.MPQ", input_path, langs[i], langs[i]); if (FileExists(tmp1)) { printf("Detected locale: %s\n", langs[i]); //Open MPQs LoadLocaleMPQFiles(i); if((extract & EXTRACT_DBC) == 0) { FirstLocale = i; break; } //Extract DBC files if(FirstLocale < 0) { ExtractDBCFiles(i, true); FirstLocale = i; } else ExtractDBCFiles(i, false); //Close MPQs CloseMPQFiles(); } } if(FirstLocale < 0) { printf("No locales detected\n"); return 0; } if (extract & EXTRACT_MAP) { printf("Using locale: %s\n", langs[FirstLocale]); // Open MPQs LoadLocaleMPQFiles(FirstLocale); LoadCommonMPQFiles(); // Extract maps ExtractMapsFromMpq(); // Close MPQs CloseMPQFiles(); } return 0; }
int main(int argc, char * arg[]) { printf("Map & DBC Extractor\n"); printf("===================\n\n"); HandleArgs(argc, arg); int FirstLocale = -1; uint32 build = 0; for (int i = 0; i < LANG_COUNT; i++) { std::string filename = Trinity::StringFormat("%s/Data/%s/locale-%s.MPQ", input_path, langs[i], langs[i]); if (boost::filesystem::exists(filename)) { printf("Detected locale: %s\n", langs[i]); //Open MPQs LoadLocaleMPQFiles(i); if((CONF_extract & EXTRACT_DBC) == 0) { FirstLocale = i; build = ReadBuild(FirstLocale); printf("Detected client build: %u\n", build); break; } //Extract DBC files if(FirstLocale < 0) { FirstLocale = i; build = ReadBuild(FirstLocale); printf("Detected client build: %u\n", build); ExtractDBCFiles(i, true); } else ExtractDBCFiles(i, false); //Close MPQs CloseMPQFiles(); } } if(FirstLocale < 0) { printf("No locales detected\n"); return 0; } if (CONF_extract & EXTRACT_CAMERA) { printf("Using locale: %s\n", langs[FirstLocale]); // Open MPQs LoadLocaleMPQFiles(FirstLocale); LoadCommonMPQFiles(); ExtractCameraFiles(FirstLocale, true); // Close MPQs CloseMPQFiles(); } if (CONF_extract & EXTRACT_MAP) { printf("Using locale: %s\n", langs[FirstLocale]); // Open MPQs LoadLocaleMPQFiles(FirstLocale); LoadCommonMPQFiles(); // Extract maps ExtractMapsFromMpq(build); // Close MPQs CloseMPQFiles(); } return 0; }