int main(/*int argc, char * arg[]*/) { printf("DBC Extractor\n"); printf("===================\n\n"); int FirstLocale = -1; int build = 0; 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); //Extract DBC files if(FirstLocale < 0) { FirstLocale = i; build = ReadBuild(FirstLocale); printf("Detected base client build: %u\n", build); if(build != CLIENT_BUILD) { printf("ERROR: your client is not up-to-date. Client build should be %u", CLIENT_BUILD); return 0; } ExtractDBCFiles(i, true); } else ExtractDBCFiles(i, false); } } if(FirstLocale < 0) { printf("No locales detected\n"); return 0; } return 0; }
int main(int argc, char * arg[]) { printf("DBC/Map Extractor\n"); printf("===================\n\n"); bool extractDBC = true; bool extractMap = true; for (int i = 0; i < argc; ++i) { if (strcmp(arg[i], ARG_MAP) == 0) extractMap = true; if (strcmp(arg[i], ARG_NOMAP) == 0) extractMap = false; if (strcmp(arg[i], ARG_DBC) == 0) extractDBC = true; if (strcmp(arg[i], ARG_NODBC) == 0) extractDBC = false; } int FirstLocale = -1; int build = 0; 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); //Extract DBC files if (FirstLocale < 0) { FirstLocale = i; build = ReadBuild(FirstLocale); printf("Detected base client build: %u\n", build); if (build != CLIENT_BUILD) { printf("ERROR: your client is not up-to-date. Client build should be %u", CLIENT_BUILD); return 0; } if (extractDBC) ExtractDBCFiles(i, true); } else if (extractDBC) ExtractDBCFiles(i, false); } } if (FirstLocale < 0) { printf("No locales detected\n"); return 0; } if (extractMap) ExtractMapsFromMpq(build); 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; }
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++) { 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 ((CONF_extract & EXTRACT_DBC) == 0) { FirstLocale = i; build = ReadBuild(FirstLocale); if (build==17520) { build = 18273; } printf("Detected client build: %u\n", build); break; } //Extract DBC files if (FirstLocale < 0) { FirstLocale = i; build = ReadBuild(FirstLocale); if (build==17520) { build = 18273; } printf("Detected client build: %u\n", build); ExtractDBCFiles(i, true); } else ExtractDBCFiles(i, false); //Close MPQs CloseArchives(); } } if (FirstLocale < 0) { printf("No locales detected\n"); return 0; } if (CONF_extract & EXTRACT_MAP) { printf("Using locale: %s\n", langs[FirstLocale]); // Open MPQs LoadBaseMPQFiles(); LoadLocaleMPQFiles(FirstLocale); // Extract maps ExtractMapsFromMpq(build, FirstLocale); // Close MPQs CloseArchives(); } return 0; }