All Projects → wowdev → Wowdbdefs

wowdev / Wowdbdefs

Client database definitions for World of Warcraft

Projects that are alternatives of or similar to Wowdbdefs

Elunamangoswotlk
cMaNGOS Three (WoTLK) with Eluna
Stars: ✭ 8 (-92%)
Mutual labels:  world-of-warcraft
Wow Classic Gearmenu
WoW 1.13.2 (classic) Addon for switching between items and keybinding them
Stars: ✭ 63 (-37%)
Mutual labels:  world-of-warcraft
Neavui
Development branch of Neav UI
Stars: ✭ 90 (-10%)
Mutual labels:  world-of-warcraft
Sexymap
Spice up your minimap in World of Warcraft with some sexy options.
Stars: ✭ 37 (-63%)
Mutual labels:  world-of-warcraft
Szimatszatyor
World of Warcraft (WoW): SzimatSzatyor is an injector sniffer written in C++
Stars: ✭ 60 (-40%)
Mutual labels:  world-of-warcraft
Dbm Classic
The ultimate encounter helper (for Classic) to give you fight info that's easy to process at a glance. DBM aims to focus on what's happening to you, and what YOU need to do about it.
Stars: ✭ 79 (-21%)
Mutual labels:  world-of-warcraft
Ajour
A World of Warcraft addon manager written in Rust.
Stars: ✭ 803 (+703%)
Mutual labels:  world-of-warcraft
Tdbattlepetscript
Battle pet combat script for wow.
Stars: ✭ 97 (-3%)
Mutual labels:  world-of-warcraft
Realui
A minimalistic UI for World of Warcraft designed to be functional, yet also efficient and elegant.
Stars: ✭ 62 (-38%)
Mutual labels:  world-of-warcraft
Blizzardinterfaceresources
Development resources from World of Warcraft
Stars: ✭ 90 (-10%)
Mutual labels:  world-of-warcraft
Intellij Idea Lua Ide Wow Api
WoW Lua API to use with the Lua IDE plugin for IntelliJ IDEA
Stars: ✭ 53 (-47%)
Mutual labels:  world-of-warcraft
Kuinameplates2
Prettier nameplates.
Stars: ✭ 58 (-42%)
Mutual labels:  world-of-warcraft
Novuscore
A modern take on WoW emulation
Stars: ✭ 88 (-12%)
Mutual labels:  world-of-warcraft
Ls ui
Development repository of ls: UI
Stars: ✭ 29 (-71%)
Mutual labels:  world-of-warcraft
Wow Fish Bot
World of Warcraft ( WoW ) Fish BOT. Python. Simple. For me.
Stars: ✭ 93 (-7%)
Mutual labels:  world-of-warcraft
Premade Groups Filter
A World of Warcraft addon for powerful filtering of premade group listings
Stars: ✭ 26 (-74%)
Mutual labels:  world-of-warcraft
Yaht
Yet another Hunter Timer for WoW Classic
Stars: ✭ 63 (-37%)
Mutual labels:  world-of-warcraft
Instawow
World of Warcraft add-on manager CLI and GUI
Stars: ✭ 98 (-2%)
Mutual labels:  world-of-warcraft
Azerothcore Wotlk
Complete Open Source and Modular solution for MMO
Stars: ✭ 1,330 (+1230%)
Mutual labels:  world-of-warcraft
Elvui
ElvUI for World of Warcraft - The Burning Crusade (2.4.3)
Stars: ✭ 89 (-11%)
Mutual labels:  world-of-warcraft

WoWDBDefs

This repository has up to date column/field definitions for database files used in World of Warcraft.

Features:

  • Updated definitions for all World of Warcraft builds between 7.3.5.26654 and current
  • New builds added soon after release (as long as there are no major DBC format changes)
  • Human readable
  • Machine readable (C# and Python code available as well as a tool to convert DBD to JSON/XML)

Project goals:

  • Updated database definitions for all versions of World of Warcraft (work ongoing, some already available)

Cool stuff we might end up doing if this gets enough traction:

  • Repository will feed automated updates on WoWDev.wiki
  • More? Open an issue if you have any ideas

DBD Format

If you have any suggestions for changes or additions to the format, feel free to open an issue. The DBD format is currently specified as follows:

Column definitions

List of column definitions at the start of the file. This is defined once per column at the start to help keep column names the same across the file.

Starts with COLUMNS, followed by the following:

Regular: type ColName

Foreign keys: type<ForeignDB::ForeignCol> ColName

Localized strings: locstring ColName (see this and this page on Wiki, same as "string" type as of 4.0+ but still localized in locale specific files)

You can also add a comment to a column definition by adding // Comment goes here at the end of the line.

Valid types that parsers should support: int/string/float/locstring

Unverified columns (guessed, etc) have a ? at the end of ColName.

Version definitions

BUILD is required. LAYOUT is required for versions that have it. Can be both.

LAYOUT

Line starts with LAYOUT followed by a list of layouthashes separated by a comma and a space. Can appear only once.

BUILD

Line starts with BUILD followed by a range, multiple exact builds separated by a comma and a space or a single exact build. Can appear multiple times.

COMMENT

Line starts with COMMENT, only for humans. Can appear only once.

Ranges

BUILD 7.2.0.23436-7.2.0.23514.

Ranges for current expansions should be specified per minor version to not conflict with other branches. Example:

BUILD 7.2.0.23436-7.2.0.23514
BUILD 7.1.5.23038-7.1.5.23420
BUILD 7.1.0.22578-7.1.0.22996
BUILD 7.0.3.21846-7.0.3.22747

As no more builds/branch conflicts are expected for anything older than the current expansion, ranges are allowed to span a full expansion. Example:

BUILD 4.0.0.11792-4.3.4.15595
BUILD 3.0.1.8622-3.3.5.12340

When using ranges, please confirm that the range is correct by verifying the version definition for all public builds included in it.

Multiple exact builds

BUILD 0.7.0.3694, 0.7.1.3702, 0.7.6.3712

Single exact build

BUILD 0.9.1.3810

Columns

ColName refers to exactly the same name as specified in the column definitions.

No size (floats, (loc)strings, non-inline IDs): ColName

Size (8, 16, 32 or 64, prefixed by u if unsigned int): ColName<Size>

Array: ColName[Length]

Both: ColName<Size>[Length]

With comment (for humans): ColName // This is a comment, yo!

Column annotations

ColName can be prefixed with annotations to indicate that this is a special kind of column in this version.

Annotations start with a $ and end with a $ and are comma separated when there's more than one. Current annotations:

id this column is a primary key. Example: (inline) $id$ColName (non-inline) $noninline,id$

relation this column is a relationship. Has noninline when stored in relationship table. Examples: (inline) $relation$ColName (non-inline) $noninline,relation$

noninline this column is non-inline (currently only used for $id$ and $relation$). See non-inline examples above.

File handling

Files will be saved with DBName.dbd filenames where DBName is the exact name of the DBC/DB2. Every file has multiple definitions for each different structure that has been encountered for that file. Version structures are separated by an empty new line. All line endings should be in Unix format (\n).

Example definition file

You can view a sample definition here.

All feedback is welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].