wowdev / WoWDBDefs

Client database definitions for World of Warcraft
Other
246 stars 95 forks source link

Export to database.xml for WMV #69

Closed jgwinner closed 3 years ago

jgwinner commented 3 years ago

Hello

Great work here. You guys are amazing.

Has anyone written an exporter from the DB Defs to the database.xml format that the WoW model viewer uses?

I've also looked at wow.export but the WMV still seems to be better at character support? Open to suggestions.

Holy cow - it appears the database has changed dramatically, at least the CreatureDisplayInfoExtra.

jgwinner commented 3 years ago

Of course, the column names wouldn't be the same, but still ...

Doing it by hand right now :)

Marlamin commented 3 years ago

I don't think anyone has, no. There is the DBDefsConverter project that was made to convert it between various formats so someone could definitely add a WMV export target for that if they'd want to. https://github.com/wowdev/WoWDBDefs/tree/master/code/C%23/DBDefsConverter

If you're after character customization support, Jeromnimo is working on it and it requires a bit more work than just updating the database definitions. Follow along @ https://bitbucket.org/wowmodelviewer/wowmodelviewer/commits/.

bloerwald commented 3 years ago

FYI: there are Shadowlands definitions in the develop branch: https://bitbucket.org/wowmodelviewer/wowmodelviewer/src/develop/bin_support/wow/9.0/database.xml

No idea if those are up to date, but they probably are a better base than doing it from scratch. I was pointed to this prebuilt version: https://ci.appveyor.com/project/jeromnimo/wowmodelviewer/builds/34040344/artifacts

bloerwald commented 3 years ago

I wrote a quick thing that produces a WMV style xml. It doesn't produce identical output for BfA (relations are missing, lots of types don't match?!). It does not work for Shadowlands as columns are missing (ChrModel instead of display IDs in ChrRaces), but I guess it is a base?

dbd_to_wmvxml.py

bfa_output.xml

jgwinner commented 3 years ago

Thanks everyone! That gives me a base to work on. I didn't realize Jeromnimo was working on it, hadn't seen a peep. Turned out, when I did a 'git clone' it didn't clone those commits - almost certainly a PEBKAC issue on my part.

And thanks @bloerwald! I'll take a look.

Right, the types not matching is strange. WMV uses a SQL like product, so the 'relations' are important but I could probably create those by hand.

Or wait for Jeromnimo.

I noticed in Jeromnimo's code he comments out CreatureDisplayInfoExtra

That was the one I was having a problem with. The DBC header seemed to think there were 7 fields there, but if I read the definitions here, there are more. Wow.Tools clearly shows more columns with actual data. So .. that's very strange.

Jeromnimo commented 3 years ago

Hi all, I confirm I'm on it, working on characters first, then I will fix creatures. THe way it is structures on WMV is because I'm skipping part of the fields, to avoid reading all data. I will have a look at what's you've done @bloerwald, thanks ! this will probably save me a bit of time moving forward :) @jgwinner what are you trying to do exactly ? database definition is only a very small piece of the job to be done for major releases. It helps when minor changes occurs (ie, a field order change), but for shadowland, that's a massive change, and, at least, sql queries within the software needs to be updated as well

jgwinner commented 3 years ago

No need for me to get involved if you're working on it.

Right, after having looked at it in detail, these are pretty big changes; for that, one cook in the kitchen is best.

Let me know if there's anything I can help with. I'm a C++ developer from way back.