DB/HelmetGeosetVisData: Difference between revisions

From wowdev
Jump to navigation Jump to search
mNo edit summary
(Removed old obvious observations, keeping only the important notes. Also mentioned that this was replaced.)
(One intermediate revision by one other user not shown)
Line 1: Line 1:
Used for hiding certain elements of the face on certain races for certain helmets.  
Used for hiding certain elements of the face on certain races for certain helmets.


Observations (by [[User:Ascathos|Ascathos]] 14:25, 24 March 2013 (UTC))
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)
* Race- and gender-specific values/flags
Every id is universal for both genders. That's why every helmet in ItemDisplayInfo has 2 values for HelmetGeosetVisData.
* Seem like bitmasks (Value = 1 << (ID - 1))
 
In Patch 8.1.5, it was replaced with [[DB/HelmetGeosetData|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.


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)
[[User:Deamon|Deamon]] ([[User talk:Deamon|talk]])
==0.5.3.3368==
==0.5.3.3368==
  struct HelmetGeosetVisDataRec {
  struct HelmetGeosetVisDataRec {
Line 31: Line 30:
| 1  || ID || Integer ||  
| 1  || ID || Integer ||  
|-  
|-  
| 2  || HairFlags || Integer || 0 = show, anything else = don't show? eg: a value of 1020 won't hide night elf ears, but 999999 or -1 will.
| 2  || HairFlags || Integer ||
|-  
|-  
| 3  || Facial1Flags || Integer || (Beard, Tusks)
| 3  || Facial1Flags || Integer || (Beard, Tusks)

Revision as of 08:20, 1 June 2019

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 Unknown Integer
8 Unknown 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];
};