DBC read fails , any changes since 5.0  ? menu

User Tag List

Results 1 to 6 of 6
  1. #1
    iceblockman's Avatar Member
    Reputation
    2
    Join Date
    Jun 2012
    Posts
    36
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    DBC read fails , any changes since 5.0 ?

    Hi guys

    I am trying to read DBC. I used tom_rus's code link below:
    My DBC class: Paste2.org - Viewing Paste HmWenKeW
    Usage: Paste2.org - Viewing Paste bk83XKZf

    the code written time is around patch 5.0.5.

    I updated dbc offsets but it gives incorrect info. record struct changed ? any helps.

    My goal is to wirte a function(out process) to get spellname given spellid. I searched the forum about it, but still not done. any helps appreciated.

    DBC read fails , any changes since 5.0  ?
  2. #2
    JuJuBoSc's Avatar Banned for scamming CoreCoins Purchaser
    Reputation
    1019
    Join Date
    May 2007
    Posts
    922
    Thanks G/R
    1/3
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Some DBC, including Spell.dbc are now compressed, so you have to figure out how to decompress them, mostly LZ compression according to some strings.

  3. #3
    CatsNimo's Avatar Active Member
    Reputation
    22
    Join Date
    Feb 2014
    Posts
    113
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Also record structs are constantly changing - they add and remove columns all the time. Something up to date for 5.0.5 will most likely not work now.

    You need code that can derive the number of columns and variable type of each column from the DBC/DB2 itself. More than one existing DBC/DB2 reader supports this approach.

    'Fixed' DBC/DB2 readers that use the type of code you've posted (constant structs) cannot adapt to new builds without constant modification, so they're only suited to working for older versions - like if you wanted make a 3.3.7 DBC reader, that would be a fine approach.

  4. #4
    TOM_RUS's Avatar Legendary
    Reputation
    914
    Join Date
    May 2008
    Posts
    699
    Thanks G/R
    0/52
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by CatsNimo View Post
    'Fixed' DBC/DB2 readers that use the type of code you've posted (constant structs) cannot adapt to new builds without constant modification, so they're only suited to working for older versions - like if you wanted make a 3.3.7 DBC reader, that would be a fine approach.
    You will have to adjust columns no matter what approach you are using: be it struct or or anything.

  5. #5
    Nonowmana's Avatar Contributor
    Reputation
    125
    Join Date
    Apr 2009
    Posts
    259
    Thanks G/R
    0/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Good luck with Spell names staying out of process, this is a pain in the ass with all functions involved
    Anthraxbot & SPQR Creator / Administrator

  6. #6
    CatsNimo's Avatar Active Member
    Reputation
    22
    Join Date
    Feb 2014
    Posts
    113
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by TOM_RUS View Post
    You will have to adjust columns no matter what approach you are using: be it struct or or anything.
    Not necessarily. There are a few DBCs/DB2s that cannot have their structure derived, yes. One of them, for example, uses packed bytes, so its structure is 4 bytes (ID column) + 1 byte (column 1) + 1 byte (column 2) + 2 blank bytes to meet C alignment standards. That kind of thing is very difficult to predict, so you really need to hardcode it in a struct in order to avoid a ton of exception code.

    Also, predicting flag vs int in small DBCs is difficult, so even a very adaptive DBC/DB2 reader can encounter problems there that can benefit from being able to have an optional file that overrides its automatic assignments with fixed structs.

    However, many of the more complicated DB files do not change frequently at all. The previous example DBC that uses packed bytes has not changed in format since 1.0.

    Edit: A very interesting approach would be a DBC/DB2 reader that read column type information straight from the current game client exe. I don't have the knowledge to build something like that, but in theory it could always be up to date that way.
    Last edited by CatsNimo; 05-09-2014 at 01:30 AM.

Similar Threads

  1. DBC reading @ WOD
    By demon1ak in forum WoW Memory Editing
    Replies: 3
    Last Post: 01-19-2015, 08:34 AM
  2. [mac] Client DBC (Spell Example) - Struct change?
    By Tanaris4 in forum WoW Memory Editing
    Replies: 4
    Last Post: 02-10-2011, 03:38 PM
  3. [C#][Copy/Pasta] Out of process DBC reading
    By Apoc in forum WoW Memory Editing
    Replies: 51
    Last Post: 08-16-2010, 02:19 PM
  4. [Help] DBC Edit for Size Change
    By Alexial in forum WoW ME Questions and Requests
    Replies: 4
    Last Post: 07-13-2010, 01:41 PM
  5. Must read pay pal changes!!!
    By sirdavino in forum WoW Scams Help
    Replies: 3
    Last Post: 12-30-2008, 02:35 PM
All times are GMT -5. The time now is 02:26 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search