DB/ItemModifiedAppearance: Difference between revisions

From wowdev
Jump to navigation Jump to search
mNo edit summary
(Added info about ItemAppearanceID conversion)
Line 11: Line 11:
  };
  };
[[Category:DBC]]
[[Category:DBC]]
{{Template:Sandbox/VersionRange|min_expansionlevel=8}} (I discovered this in BfA, but it may apply to other versions)
If you open ItemModifiedAppearance.db2, you will find many negative values in the AppearanceID column. It is because the IDs in ItemAppearance.db2 are uint32_t, whereas here, as you can see, they are uint16_t (for whatever reason).
In order to link entries in the two tables, you can use https://cryptii.com/pipes/integer-converter : decode the original ID as a 32-bit integer, and encode it as a 16-bit signed integer.
Example:
[[File:ItemAppearanceID_convertion_via_Cryptii.png|1200px]]
- The actual ItemAppearanceID is 35976, but in ItemModifiedAppearance it becomes -29560.

Revision as of 17:00, 26 November 2018

≥ WoD

8.0.1.25902

struct ItemModifiedAppearanceRec {
  uint32_t ItemId;
  uint32_t Id;
  uint8_t AppearanceModID;
  uint16_t AppearanceId;
  uint8_t VariationIndex;
  uint8_t SourceType; // added in 21108, values 0...9
};

≥ Battle (I discovered this in BfA, but it may apply to other versions)

If you open ItemModifiedAppearance.db2, you will find many negative values in the AppearanceID column. It is because the IDs in ItemAppearance.db2 are uint32_t, whereas here, as you can see, they are uint16_t (for whatever reason).

In order to link entries in the two tables, you can use https://cryptii.com/pipes/integer-converter : decode the original ID as a 32-bit integer, and encode it as a 16-bit signed integer.

Example: ItemAppearanceID convertion via Cryptii.png

- The actual ItemAppearanceID is 35976, but in ItemModifiedAppearance it becomes -29560.