Jump to content
  • entries
    7
  • comments
    0
  • views
    3672

About this blog

Due to a recent disaster, I lost some of my work and also my design notes so i'm going to have to redo the work and decided that I would attempt to also document how i'm doing here !!

Entries in this blog

Day 4: Final Touches.

I have put the final touches to the DBC wiki exporter and if you look at the wiki section for DBC files (for Zero Only ATM) you will see the results. The DBC databases will end up in a github repo soon and I'll post the URL here. Any comments or suggestions, please let me know. The next stage of this project is a dbcDocs editor. I have the skeleton of this designed and just need to find the time to complete it. It will have two modes of operation: local and remote Local

antz

antz

Day 3: Realisations and redesign time

The Wiki is the one area where a majority of information is cross core applicable. - During my testing a came across a few problems. in the dbcField table we recorded the dbc File, fieldname, description and field position but this hid a more fundamental problem. - Different cores have the same field with the same meaning, but in a different position. The current DB design would mean that the description information would have to be entered multiple times - each time the field was in

antz

antz

Day 2: Working with the data

Now that we had the data in the DB it was time for the next step. I wrote a quick app to read through the DBC table entries and add an entry to dbcFile, I also wrote a helper function to calculate the client masks based on the selected core. Worked like a dream I then extended it to use the second query to populate the dbcField table with the fields from each dbc file. Next I also added a function to read the DBC_definition.xml from mangos extractor to populate any additional

antz

antz

Day 1: Querying the DB

Now that we have a majority of the data already in the Database, we now need to work out how to get meaningful information back out ! Thankfully MySQL does provide us with a way of doing this. In the following example my main database containing the DBC data and we are going to query for records for MangosZero - so tables beginning dbc0_ SELECT DISTINCT TABLE_NAME AS DBCFilename FROM information_schema.columns WHERE table_schema = 'dbc' AND table_name LIKE 'dbc0_%' This returns a ni

antz

antz

Day 1: DB table design

Lets start with the basics... For each DBC File we want to store the following information A unique Id for this file (primary key and autonumber). The Filename. A short description of what the File is/does. Some notes about the File. Which client(s) it's present in. Whether MaNGOS actually uses the file. Whether to show the contents of the file in the wiki. so the SQL table definition will be: /*Table structure for table `dbcfile` */ CREATE TABLE `dbcfile` ( `Db

antz

antz

Day 1: getting the data into a DB

Using the tool Mangos Extractor, I have extracted the DBC's from MangosZero, MangosOne, MangosTwo and MangosThree - I made a slight change to each of the files to change the tablenames from dbc_xxxx to dbc0_xxx - which 0 is the core number I then loaded then all into a new database a created called DBC (imaginative I know :D)   The next part is mainly for use with the Wiki part of the proje

antz

antz

Day 1: starting out new

For many many years now I have found the DBC handling in MaNGOS odd in that (to me at least) it is a perfect candidate for moving the data into a database, but has always been shunned Using the Mangos Extractor (found in the MangosTools github repo), the data can be extracted into sql files which can then be loaded into the db. Why bother you may ask ? 1) Having the data in a db and mangos access it from there mean

antz

antz

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use