wowdev / WoWDBDefs

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

Fix incorrect variable size guess in BroadcastTextVOState. #30

Closed MMOSimca closed 6 years ago

MMOSimca commented 6 years ago
our structure for BroadcastTextVOStyle is wrong. it was one of those rare DB2s that isn't in the exe and because of compression, we never knew the size of its variables we guessed it was int32[2] but Blizzard has actually hotfixed this db2 (that doesn't exist in the game's knowledge, so the data is completely pointless) recently and DBCache uses real, uncompressed size. int32[2] is too large. the record size in DBCache for that table is not big enough to accommodate 2 int32s. uint16[2] works uint8[2] is the proper one though. we would have noticed this actually lol, the data for the 27026 db2 doesn't make any sense as anything else, looks like blizzard's serializer decided to do the 'pad with garbage' thing and uint8[2] is the only thing that kills the padding