DB/HelmetGeosetVisData: Difference between revisions

From wowdev
Jump to navigation Jump to search
(Removed old obvious observations, keeping only the important notes. Also mentioned that this was replaced.)
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Used for hiding certain elements of the face on certain races for certain helmets. The exact workings of this has yet to be discovered, however you can get a general idea of how this works with the information below.  
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.
* Contains negative and positive values
* 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.
==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==
==Structure==
{| style="background:#FCFCFC; color:black"
{| style="background:#FCFCFC; color:black"
Line 16: 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)
Line 31: Line 45:
|}
|}


Retrieved from "http://www.sourcepeek.com/wiki/HelmetGeosetVisData.dbc"
==6.0.1.18179==
==6.0.1.18179==
  struct HelmetGeosetVisDataRec {
  struct HelmetGeosetVisDataRec {
   uint32_t m_ID;
   uint32_t m_ID;
   uint32_t m_hideGeoset[7];
   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];
  };
  };
[[Category:DBC]][[Category:3.0.2.8905]][[Category:DBC_WotLK]]
[[Category:DBC]]
[[Category:DBC_Alpha]]
[[Category:DBC_Vanilla]]
[[Category:3.0.2.8905]][[Category:DBC_WotLK]]
[[Category:DBC_WoD]][[Category:6.0.1.18179]]
[[Category:DBC_WoD]][[Category:6.0.1.18179]]

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];
};