DB/HelmetGeosetVisData

From wowdev
Revision as of 12:17, 3 April 2022 by Jukino (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Used for hiding certain elements of the face on certain races for certain helmets.

Flag fields are all race bitmask. If ((flag & (1 << race)) > 0) is true, the mesh group will reset to default value: 1, 101, 201 etc(the connection between field and mesh group is given below) Every id is universal for both genders. That's why every helmet in ItemDisplayInfo has 2 values for HelmetGeosetVisData.

In Patch 8.1.5, it was replaced with HelmetGeosetData.db2, which contains the same data but in a much more straightforward way. The main reason they switched is because they were no longer able to fit ChrRaces' rows into a 32-bit bitmask.

0.5.3.3368

struct HelmetGeosetVisDataRec {
  uint32_t m_ID;
  uint32_t m_DefaultFlags[32];
  uint32_t m_PreferredFlags[32];
  uint32_t m_HideFlags[32];
};

1.12.1.5875

struct HelmetGeosetVisDataRec {
  uint32_t m_ID;
  uint32_t hairFlags;
  uint32_t facialFlags[3];
  uint32_t earsFlags;
};

Structure

Column Field Type Notes
1 ID Integer
2 HairFlags Integer
3 Facial1Flags Integer (Beard, Tusks)
4 Facial2Flags Integer (Earrings)
5 Facial3Flags Integer See ChrRaces, column 24 to 26 for information on what is what.
6 EarsFlags Integer
7 MiscFlags Integer
8 EyesFlags Integer

6.0.1.18179

struct HelmetGeosetVisDataRec {
  uint32_t m_ID;
  uint32_t m_hideGeoset[7]; // groups 0, 100, 200, 300, 700, 1600, 1700, Legion: +2400, 2500
};

8.0.1.25902

struct HelmetGeosetVisDataRec {
  // uint32_t m_ID;
  uint32_t m_hideGeoset[9];
};