DB/GameObjectDisplayInfo: Difference between revisions

From wowdev
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 4: Line 4:


This [[DBC]] holds information about every type of models ([[WMO]] too). Models ([[M2]]) are listed as .MDX as always.
This [[DBC]] holds information about every type of models ([[WMO]] too). Models ([[M2]]) are listed as .MDX as always.
==m_Sound entries==
enum SoundSlot {
  stand,
  open,
  loop,
  close,
  destroy,
  opened,
  custom0,
  custom1,
  custom2,
  custom3,
  SOUND_SLOT_COUNT, // = 10
};


==0.5.3.3368, 1.12.1.5875==
==0.5.3.3368, 1.12.1.5875==
  struct GameObjectDisplayInfoRec {
  struct GameObjectDisplayInfoRec {
   uint32_t m_ID;
   uint32_t m_ID;
   {{Template:Type|stringref}} m_modelName;
   {{Type|stringref}} m_modelName;
   uint32_t m_Sound[10];
   {{Type/foreign_key|table=SoundEntries}} m_Sound[SOUND_SLOT_COUNT];
  };
  };
==unknown, probably bc==
struct GameObjectDisplayInfoRec {
  uint32_t m_ID;
  {{Type|stringref}} m_modelName;
  {{Type/foreign_key|table=SoundEntries}} m_Sound[SOUND_SLOT_COUNT];
  float m_geoBoxMin[3];
  float m_geoBoxMax[3];
};
==3.0.3.9183==
==3.0.3.9183==
  1 ID, int
  struct GameObjectDisplayInfoRec {
2 Filename, string
  uint32_t m_ID;
3 Stand, iRefId: SoundEntries
  {{Type|stringref}} m_modelName;
4 Open, iRefId: SoundEntries
  {{Type/foreign_key|table=SoundEntries}} m_Sound[SOUND_SLOT_COUNT];
5 Loop, iRefId: SoundEntries
  float m_geoBoxMin[3];
6 Close, iRefId: SoundEntries
  float m_geoBoxMax[3];
7 Destroy, iRefId: SoundEntries
  {{Type/foreign_key|table=ObjectEffectPackage}} m_objectEffectPackageID;
8 Opened, iRefId: SoundEntries
};
9 Custom0, iRefId: SoundEntries
10 Custom1, iRefId: SoundEntries
11 Custom2, iRefId: SoundEntries
12 Custom3, iRefId: SoundEntries
13-18 Vec3D[2], most likely bounding boxes or something similar.
19 '''New since WotLK:''' [[ObjectEffectPackage.dbc]], iRefId: ObjectEffectPackage, only on those flying ships in Icecrown.


==6.0.1.18179==
==6.0.1.18179==
  struct GameObjectDisplayInfoRec {
  struct GameObjectDisplayInfoRec {
   uint32_t m_ID;
   uint32_t m_ID;
   uint32_t m_fileDataID;
   {{Type/foreign_key|table=FileData}} m_fileDataID;
   uint32_t m_Sound[10];
   {{Type/foreign_key|table=SoundEntries}} m_Sound[SOUND_SLOT_COUNT];
   float m_geoBoxMin[3];
   float m_geoBoxMin[3];
   float m_geoBoxMax[3];
   float m_geoBoxMax[3];
   uint32_t m_objectEffectPackageID;
   {{Type/foreign_key|table=ObjectEffectPackage}} m_objectEffectPackageID;
   float m_overrideLootEffectScale;
   float m_overrideLootEffectScale;
   float m_overrideNameScale;
   float m_overrideNameScale;
Line 41: Line 61:
  struct GameObjectDisplayInfoRec {
  struct GameObjectDisplayInfoRec {
   uint32_t m_ID;
   uint32_t m_ID;
   uint32_t m_fileDataID;
   {{Type/foreign_key|table=FileData}} m_fileDataID;
   float m_geoBoxMin[3];
   float m_geoBoxMin[3];
   float m_geoBoxMax[3];
   float m_geoBoxMax[3];
   float m_overrideLootEffectScale;
   float m_overrideLootEffectScale;
   float m_overrideNameScale;
   float m_overrideNameScale;
   uint16_t m_objectEffectPackageID;
   {{Type/foreign_key|table=ObjectEffectPackage|type=uint16_t}}m_objectEffectPackageID;
  };
  };
[[Category:DBC]]
[[Category:DBC]]

Revision as of 16:11, 1 January 2020

GameObjectCache.wdb reads this file to associate models with objects. Actually this DBC is used for more than that it seems and also controls models used partially in some spells but not sure how at the moment. (Spell Focus objects like Anvils or Forges, maybe?). Used in the Create House (TEST) spell. The Spell_C_CastSpell method uses the following, Spell->EffectMiscValue[0] -> GameObjectCache.wdb -> GameObjectDisplayInfoRec, to get the model which is spawned at the target position, collision is enabled.

This DBC holds information about every type of models (WMO too). Models (M2) are listed as .MDX as always.


m_Sound entries

enum SoundSlot {
  stand,
  open,
  loop,
  close,
  destroy,
  opened,
  custom0,
  custom1,
  custom2,
  custom3,
  SOUND_SLOT_COUNT, // = 10
};

0.5.3.3368, 1.12.1.5875

struct GameObjectDisplayInfoRec {
  uint32_t m_ID;
  stringref m_modelName;
  foreign_key<uint32_t, &SoundEntriesRec::m_ID> m_Sound[SOUND_SLOT_COUNT];
};

unknown, probably bc

struct GameObjectDisplayInfoRec {
  uint32_t m_ID;
  stringref m_modelName;
  foreign_key<uint32_t, &SoundEntriesRec::m_ID> m_Sound[SOUND_SLOT_COUNT];
  float m_geoBoxMin[3];
  float m_geoBoxMax[3];
};

3.0.3.9183

struct GameObjectDisplayInfoRec {
  uint32_t m_ID;
  stringref m_modelName;
  foreign_key<uint32_t, &SoundEntriesRec::m_ID> m_Sound[SOUND_SLOT_COUNT];
  float m_geoBoxMin[3];
  float m_geoBoxMax[3];
  foreign_key<uint32_t, &ObjectEffectPackageRec::m_ID> m_objectEffectPackageID;
};

6.0.1.18179

struct GameObjectDisplayInfoRec {
  uint32_t m_ID;
  foreign_key<uint32_t, &FileDataRec::m_ID> m_fileDataID;
  foreign_key<uint32_t, &SoundEntriesRec::m_ID> m_Sound[SOUND_SLOT_COUNT];
  float m_geoBoxMin[3];
  float m_geoBoxMax[3];
  foreign_key<uint32_t, &ObjectEffectPackageRec::m_ID> m_objectEffectPackageID;
  float m_overrideLootEffectScale;
  float m_overrideNameScale;
};

8.0.1.25902

struct GameObjectDisplayInfoRec {
  uint32_t m_ID;
  foreign_key<uint32_t, &FileDataRec::m_ID> m_fileDataID;
  float m_geoBoxMin[3];
  float m_geoBoxMax[3];
  float m_overrideLootEffectScale;
  float m_overrideNameScale;
  foreign_key<uint16_t, &ObjectEffectPackageRec::m_ID>m_objectEffectPackageID;
};