Skip to content

Latest commit

 

History

History

dbc_extract3

DBC Spell Data extraction tool for Simulationcraft
==================================================

Requirements
============

- A decently new Python implementation (2.5+)
  
Extracting data
================

The extractor tool is able to parse through a set of DBC files, extracting the
following information into a "simulationcraft" representation (spell data
files):
 * A "master spell list" for relevant spells
 * A talent list, including all pet talents
 * Scaling information for spells, combat ratings and mana regen
 * Various lists used by simc to automate certain aspects of modeling
 * Patch DBC files to a new build version
 * A raw view into the fields of the DBC data

All output data is written to stdout.

Using the tool
==============

To extract data, the tool typically requires two things:
 1) An input path where your DBC files are located (-p switch)
 2) An extraction type, specifying what kind of output will be generated
    (-t switch)
 3) A build number, specifying the WoW build number where your DBC data 
    is from (-b switch). Note that some extraction types do not require 
    a build number (-t header, -t patch).

Some optional parameters may also be specified that modify the output (others
can be seen with dbc_extract.py --help):
 --prefix  specify a modifier for the data output variable names
 --suffix

Additionally, the tool contains a "-t view" switch to view the raw data of a (known) 
DBC file. The switch takes two additional parameters:
 1) The name of the DBC file in the directory pointed by -p
 2) An optional, numerical identifier for the record you are looking for. 
    If omitted, all records are output. 
    
*NOTE* The identifier search is done as a binary search, so if a DBC file
records are not ordered, things may not be found. *NOTE*

Examples
========

Extract all relevant spell data from the DBC files
  $ ./dbc_extract.py -b 13286 -t spell -p /path/to/your/dbc/files > sc_spell_data.inc

Extract scaling data from the DBC files, with a prefix
  $ ./dbc_extract.py -b 13286 -t scale -p /path/to/your/dbc/files --prefix=ptr > sc_scale_data_ptr.inc

Patch DBC files to a new build version
  $ ./dbc_extract.py -t patch /path/to/your/old/dbc/files /path/to/your/new/dbc/directory \
    /path/to/your/dbc/patch/files

Check the DBC header information of a DBC file
  $ ./dbc_extract.py -t header /path/to/your/dbc/file

View the spell data of Lightning Bolt
  $ ./dbc_extract.py -b 13286 -t view -p /path/to/your/dbc/files Spell.dbc 403

View the spell relationships for a class (VERY EXPERIMENTAL)
  $ ./ dbc_extract.py -b 13286 -t class_flags -p /path/to/your/dbc/files Shaman