DB/WMOAreaTable: Difference between revisions

From wowdev
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 17: Line 17:
   uint32_t m_IntroPriority;
   uint32_t m_IntroPriority;
   uint32_t m_Flags;
   uint32_t m_Flags;
   {{Template:Type|stringref}} m_AreaName_lang[8];
   {{Template:Type|langstringref}} m_AreaName_lang;
  uint32_t m_AreaName_flag;
  };
  };
==Structure==
==Structure==
Line 48: Line 47:
   DWORD m_flags;
   DWORD m_flags;
   DWORD m_AreaTableID;
   DWORD m_AreaTableID;
   DWORD m_AreaName_lang;
   {{Template:Type|langstringref}} m_AreaName_lang;
   DWORD m_field12; // added in 4.x
   DWORD m_field12; // added in 4.x
   DWORD m_field13; // added in 4.x
   DWORD m_field13; // added in 4.x
Line 67: Line 66:
   uint32_t m_flags;
   uint32_t m_flags;
   {{Template:Type/foreign_key|table=AreaTable}} m_AreaTableID;
   {{Template:Type/foreign_key|table=AreaTable}} m_AreaTableID;
   {{Template:Type|stringref}} m_AreaName_lang;
   {{Template:Type|langstringref}} m_AreaName_lang;
   {{Template:Type/foreign_key|table=ZoneIntroMusicTable}} m_uwIntroSound;
   {{Template:Type/foreign_key|table=ZoneIntroMusicTable}} m_uwIntroSound;
   {{Template:Type/foreign_key|table=ZoneMusic}} m_uwZoneMusic;
   {{Template:Type/foreign_key|table=ZoneMusic}} m_uwZoneMusic;

Revision as of 21:38, 12 June 2016

due to how the client loads and caches this dbc, the entries need to be sorted by wmo id (and probably groupid as well)

0.5.3.3368

struct WMOAreaTableRec {
  uint32_t m_ID;
  uint32_t m_WMOID;
  uint32_t m_NameSetID;
  uint32_t m_WMOGroupID;
  uint32_t m_DayAmbienceSoundID;
  uint32_t m_NightAmbienceSoundID;
  uint32_t m_SoundProviderPref;
  uint32_t m_SoundProviderPrefUnderwater;
  uint32_t m_MIDIAmbience;
  uint32_t m_MIDIAmbienceUnderwater;
  uint32_t m_ZoneMusic;
  uint32_t m_IntroSound;
  uint32_t m_IntroPriority;
  uint32_t m_Flags;
  langstringref m_AreaName_lang;
};

Structure

Column 	Field 			Type 		Notes 
1 	ID 			Integer 	
2 	root_ID 		Integer 	called from a WMO-Root file.
3 	NameSet 		Integer 	If your WMO is spawned with NameSet 4, search for the rows with a 3 in here.
4 	group_ID 		Integer 	called from a WMO-Group file. | -1 for overal name ("Stormwind" etc)
5 	Unknown 		Integer 	
6 	Unknown 		Integer 	
7 	Unknown 		Integer 	
8 	Unknown 		Integer 	
9 	Unknown 		Integer 	
10 	flags			Integer 	CWorldMap::QueryOutdoors: rec.flags & 4 || rec.flags & 2. &0x18: Minimap::s_singleExterior = true unless groupRec::flags & 0x20
11 	iRefID_AreaTable 	Integer		If 0, the underlying terrain is asked for its id.
12-28 	Name 			String + Loc 	The name of the area. If 0, an AreaTable query is made.
struct WMOAreaTableRec
{
 DWORD m_ID;
 DWORD m_WMOID;
 DWORD m_NameSetID;
 DWORD m_WMOGroupID;
 DWORD m_SoundProviderPref;
 DWORD m_SoundProviderPrefUnderwater;
 DWORD m_AmbienceID;
 DWORD m_ZoneMusic;
 DWORD m_IntroSound;
 DWORD m_flags;
 DWORD m_AreaTableID;
 langstringref m_AreaName_lang;
 DWORD m_field12; // added in 4.x
 DWORD m_field13; // added in 4.x
 DWORD m_field14; // added in 4.x
};

6.0.1.18179

struct WMOAreaTableRec {
  uint32_t m_ID;
  uint32_t m_WMOID;
  uint32_t m_NameSetID;
  uint32_t m_WMOGroupID;
  foreign_key<uint32_t, &SoundProviderPreferencesRec::m_ID> m_SoundProviderPref;
  foreign_key<uint32_t, &SoundProviderPreferencesRec::m_ID> m_SoundProviderPrefUnderwater;
  foreign_key<uint32_t, &SoundAmbienceRec::m_ID> m_AmbienceID;
  foreign_key<uint32_t, &ZoneMusicRec::m_ID> m_ZoneMusic;
  foreign_key<uint32_t, &ZoneIntroMusicTableRec::m_ID> m_IntroSound;
  uint32_t m_flags;
  foreign_key<uint32_t, &AreaTableRec::m_ID> m_AreaTableID;
  langstringref m_AreaName_lang;
  foreign_key<uint32_t, &ZoneIntroMusicTableRec::m_ID> m_uwIntroSound;
  foreign_key<uint32_t, &ZoneMusicRec::m_ID> m_uwZoneMusic;
  foreign_key<uint32_t, &SoundAmbienceRec::m_ID> m_uwAmbience;
};