DB/HelmetGeosetVisData: Difference between revisions

From wowdev
Jump to navigation Jump to search
No edit summary
(Removed old obvious observations, keeping only the important notes. Also mentioned that this was replaced.)
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))
* Race- and gender-specific values/flags
* Seem like bitmasks (Value = 1 << (ID - 1))


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)
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]])
Every id is universal for both genders. That's why every helmet in ItemDisplayInfo has 2 values for HelmetGeosetVisData.
 
----
 
Some clarifications on 3.3.5a+ structure:
*Every column is a 32bit vector integer data. Starting from 0 to 21.
*Every id is kinda universal for both genders. That's why every helmet in ItemDisplayInfo has 2 values for HelmetGeosetVisData.


Use Enum flags to decode your 32bit vector and get data.
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.
[[User:Malice6731|Malice]] ([[User talk:Malice6731|talk]])
----


==0.5.3.3368==
==0.5.3.3368==
Line 42: 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];
};