Library for reading/writing World of Warcraft's DBC/DB2 files
$ dotnet add package DBCD.IOC# library for reading and writing DBC/DB2 database files from World of Warcraft with built-in support for WoWDBDefs definitions.
WDBC (.dbc) and WDB2-WDB6, WDC1-WDC5 (.db2).WDC3 works, the others likely will too but are largely untested with actual WoW clients).Contains the glue between DBCD.IO, DBDefsLib and the providers.
Contains the actual reading and writing of DBC/DB2 files.
// A FilesystemDBCProvider to load DBCs/DB2s from a directory on disk.
var localDBCProvider = new FilesystemDBCProvider("D:/DBC");
// A FilesystemDBDProvider to load DBDs from a folder, you can also use GithubDBDProvider to download them directly from GitHub.
var localDBDProvider = new FilesystemDBDProvider("D:/WoWDBDefs/definitions");
// A new DBCD instance with the specified DBC/DBD provider.
var dbcd = new DBCD(localDBCProvider, localDBDProvider);
// Loads Map.db2 (note the table name without extension) for build 11.0.2.56044 (build might be needed to load correct definition).
var storage = dbcd.Load("Map", "11.0.2.56044");
// Get the row with ID 2552.
var row = storage[2552];
// Outputs "Khaz Algar (Surface)".
Console.WriteLine((string)row["MapName_lang"]);