Add expansion DBC CSVs, Turtle support, and server-specific login

This commit is contained in:
Kelsi 2026-02-13 00:10:01 -08:00
parent 7092844b5e
commit f247d53309
139 changed files with 676758 additions and 91 deletions

View file

@ -16,9 +16,15 @@ public:
struct Options {
std::string mpqDir; // Path to WoW Data directory
std::string outputDir; // Output directory for extracted assets
std::string expansion; // "classic", "tbc", "wotlk", or "" for auto-detect
std::string locale; // "enUS", "deDE", etc., or "" for auto-detect
int threads = 0; // 0 = auto-detect
bool verify = false; // CRC32 verify after extraction
bool verbose = false; // Verbose logging
bool generateDbcCsv = false; // Convert selected DBFilesClient/*.dbc to CSV for committing
bool skipDbcExtraction = false; // Extract visual assets only (recommended when CSV DBCs are in repo)
bool onlyUsedDbcs = false; // Extract only the DBC files wowee uses (implies DBFilesClient/*.dbc filter)
std::string dbcCsvOutputDir; // When set, write CSVs into this directory instead of outputDir/expansions/<exp>/db
};
struct Stats {
@ -28,6 +34,18 @@ public:
std::atomic<uint64_t> filesFailed{0};
};
/**
* Auto-detect expansion from files in mpqDir.
* @return "classic", "tbc", "wotlk", or "" if unknown
*/
static std::string detectExpansion(const std::string& mpqDir);
/**
* Auto-detect locale by scanning for locale subdirectories.
* @return locale string like "enUS", or "" if none found
*/
static std::string detectLocale(const std::string& mpqDir);
/**
* Run the extraction pipeline
* @return true on success