Closed barncastle closed 4 years ago
How much of these came from meta?
Structures (types and sizes only) : ≥ 4.2.0.14333, this was the first build I found that had meta for all DBs Field names : none
If you want the exes/a list of all the builds used, let me know.
Having looked through a bunch of these, it looks mostly okay. Only things I have issues with are the super loose ranges like you already mentioned and the fact it doesn't used the new way of designating fields as unsigned yet. The latter can easily be fixed by running it through my validator, I think. If not I can quickly make a version of it that does fix it properly. As for the ranges I'm not entirely sure how to deal with those (same goes for current definitions in master, though). Will need to think some more about that.
I'll see if I can do a test merge sometime soon to see what issues pop up during merging.
First test merge after that commit went mostly okay, there's some _lang fields that should be locstrings but aren't so it is breaking on those. Also a lot of case differences but nothing it shouldn't be able to handle.
e3b941d should resolved the old vs new uint standard.
Ranges are an ass, without them it's nigh impossible to read but with them you're encapsulating unverified/unreleased builds. I opted for the former to make defining defs easier. I can switch ranges to builds pretty easily, let me know.
It came up in the format discussion and we had a vote about it. Looks like SoundEntryID
won so we might have to change stuff to that at one point, but again not that big of a deal as merger ignores case differences (for now). I'll get you a list of _lang fields that currently have type conflicts, this won't catch any new ones though.
Here's a list of current merging issues: locstrings, still some uint's for some reason and 2 special cases.
BattlePetAbility::description_lang should be a locstring BattlePetSpecies::description_lang should be a locstring Cfg_Configs::maxDamageReductionPctPhysical should be a float, was discussed previously CCharVariations::RaceID is still a uint CinematicSubtitle::flags is still a uint FriendshipReputation::description_lang should be a locstring GameTables::ID is still a uint ItemToBattlePet::itemID is still a uint NumTalentsAtLevel::numTalents is a float but int in master (doesn't sound like something that would be a float, bug/mistake similar to cfg_configs?) SpellAuraRestrictions::spellID is still a uint SpellAuraRestrictions::difficultyID is still a uint SpellFlyout::name_Lang should be a locstring SpellFlyout::description_Lang should be a locstring TabardBackgroundTextures::ID is still a uint WorldSafeLocs::ID is still a uint
Some added field names look like they can be mapped to others based on name (e.g. genderid -> sexid, visualID -> battlePetVisualID, scenePackageID -> sceneScriptPackageID), definitely willing to help fixing these after we do the first master merge into this branch. Will obviously need to verify this with data. Also, can we roll arrays back up to how they are in later definitions? Does that influence parsing?
I'll write a script to UCFirst the columns names - this should resolve 99% of the problems.
Thanks for the list, I've fixed those (albeit with the wrong account...).
NumTalentsAtLevel
is quite interesting, it was in Cata, removed between MoP and Legion and re-added recently in BfA. Incidentally, the Cata generation was indeed a float. Since column names are unverified we could avoid re-implementing the override by just... naming it something else 😜
I agree with the mix-matching of known names vs unverified ones later on.
Do you mean to do this even to the verified structures i.e. 0.5.3 (I have no problem with doing this)? Arrays vs unrolled fields should be completely agnostic.
Should be about at the weekend to go through this properly.
Yeah, I just want to collapse stuff like
BUILD 0.5.3.3368-6.2.4.21742
$id$ID<32>
soundID<u32>
camera1<32>
camera2<32>
camera3<32>
camera4<32>
camera5<32>
camera6<32>
camera7<32>
camera8<32>
back into
BUILD 0.5.3.3368-6.2.4.21742
$id$ID<32>
soundID<u32>
camera[8]<32>
Outstanding issues after quickly scrolling through all changes after test-merging with master:
BUILD 0.5.3.3368
ID<32>
soundID<32>
camera<32>[8]
BUILD 0.5.3.3368-6.2.4.21742
$id$ID<32>
soundID<u32>
camera<32>[8]
Good stuff, I'd say we're getting pretty close to merging this into master!
Additional issues validator found:
I'm sorry, I never had the time to actually look at this. I trust you two and just hope that there aren't too many conflicts with wiki stuff so that when I at some point find the time to, can merge those in as well. Seeing the transformations done here to merge the definitions will probably help there.
My recent labors, can't remember where I got up to as I've been waning in motivation (and sobriety) recently but everything is mapped. Definitely, definitely, 110% needs checking!
Problems/Notes:
NPCDisplayID
uint
everything else should beint
FactionTemplate
Trinity =EnemyMask
≈ Known =EnemyGroup
It's probably a load of crap but you might be able to salvage something from it