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); 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; }