DB/WMOAreaTable: Difference between revisions

From wowdev
Jump to navigation Jump to search
m (< pure phail)
(25 intermediate revisions by 6 users not shown)
Line 1: Line 1:
==Header Info ==
Due to how the client loads and caches this DBC, the entries need to be sorted by WMO id (and probably groupid as well)
Records.................25288
Fields.....................20
Record Size................80
String Block Size........9800


Note that for top-level area entries (those referred to by the WMO root file) may have their WMOGroupID fields set to -1 to signify none.
==0.5.3.3368==
This table mirrors [[DB/AreaTable#0.5.3.3368|DB/AreaTable]]; documented notes, foreign keys and flags are the same. If <tt>m_Flags</tt> is 0, the client will fallback to the parent record's <tt>m_Flags</tt> - if any.
struct WMOAreaTableRec {
  uint32_t m_ID;
  uint32_t m_WMOID;
  uint32_t m_NameSetID;
  int32_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;
  {{Template:Type|langstringref}} m_AreaName_lang;
};
==1.12.1.5875==
struct WMOAreaTableRec {
  uint32_t m_ID;
  uint32_t m_WMOID;
  uint32_t m_NameSetID;
  int32_t m_WMOGroupID;
  {{Template:Type/foreign_key|table=SoundProviderPreferences}} m_SoundProviderPref;
  {{Template:Type/foreign_key|table=SoundProviderPreferences}} m_SoundProviderPrefUnderwater;
  {{Template:Type/foreign_key|table=SoundAmbience}} m_AmbienceID;
  {{Template:Type/foreign_key|table=ZoneMusic}} m_ZoneMusic;
  {{Template:Type/foreign_key|table=ZoneIntroMusicTable}} m_IntroSound;
  uint32_t m_flags;
  {{Template:Type/foreign_key|table=AreaTable}} m_AreaTableID;
  {{Template:Type|langstringref}} m_AreaName_lang;
};
==Structure==
==Structure==
  '''Column Field Type Notes'''  
  '''Column Field Type Notes'''  
  1 ID Integer
  1 ID Integer
  2 root_ID Integer called from a [[WMO#WMO_root_file|WMO-Root file]].
  2 root_ID Integer called from a [[WMO#WMO_root_file|WMO-Root file]].
  3 Unknown Integer type? | 0-3
  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#WMO_group_file|WMO-Group file]]. | -1 for overal name ("Stormwind" etc)
  4 group_ID Integer called from a [[WMO#WMO_group_file|WMO-Group file]]. | -1 for overal name ("Stormwind" etc)
  5 Unknown Integer
  5 Unknown Integer
Line 16: Line 49:
  8 Unknown Integer
  8 Unknown Integer
  9 Unknown Integer
  9 Unknown Integer
  ''10 Unknown NULL ''
  10 flags Integer CWorldMap::QueryOutdoors: rec.flags & 4 || rec.flags & 2. &0x18: Minimap::s_singleExterior = true unless groupRec::flags & 0x20
  11 iRefID_[[AreaTable.dbc|AreaTable]] Integer  
  11 iRefID_[[AreaTable.dbc|AreaTable]] Integer If 0, the underlying terrain is asked for its id.
  12-28 Name String + [[Loc]] The Name of the Area.
  12-28 Name String + [[Loc]] The name of the area. If 0, an AreaTable query is made.


--[[User:Schlumpf|schlumpf_]] 00:59, 24 August 2007 (CEST)
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;
  {{Template:Type|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;
  int32_t m_WMOGroupID;
  {{Template:Type/foreign_key|table=SoundProviderPreferences}} m_SoundProviderPref;
  {{Template:Type/foreign_key|table=SoundProviderPreferences}} m_SoundProviderPrefUnderwater;
  {{Template:Type/foreign_key|table=SoundAmbience}} m_AmbienceID;
  {{Template:Type/foreign_key|table=ZoneMusic}} m_ZoneMusic;
  {{Template:Type/foreign_key|table=ZoneIntroMusicTable}} m_IntroSound;
  uint32_t m_flags;
  {{Template:Type/foreign_key|table=AreaTable}} m_AreaTableID;
  {{Template:Type|langstringref}} m_AreaName_lang;
  {{Template:Type/foreign_key|table=ZoneIntroMusicTable}} m_uwIntroSound;
  {{Template:Type/foreign_key|table=ZoneMusic}} m_uwZoneMusic;
  {{Template:Type/foreign_key|table=SoundAmbience}} m_uwAmbience;
};
[[Category:DBC]]
[[Category:DBC]]
[[Category:DBC_Alpha]]
[[Category:DBC_Vanilla]]
[[Category:DBC_WotLK]]
[[Category:DBC_WoD]]
[[Category:6.0.1.18179]]

Revision as of 11:58, 22 June 2018

Due to how the client loads and caches this DBC, the entries need to be sorted by WMO id (and probably groupid as well)

Note that for top-level area entries (those referred to by the WMO root file) may have their WMOGroupID fields set to -1 to signify none.

0.5.3.3368

This table mirrors DB/AreaTable; documented notes, foreign keys and flags are the same. If m_Flags is 0, the client will fallback to the parent record's m_Flags - if any.

struct WMOAreaTableRec {
  uint32_t m_ID;
  uint32_t m_WMOID;
  uint32_t m_NameSetID;
  int32_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;
};

1.12.1.5875

struct WMOAreaTableRec {
  uint32_t m_ID;
  uint32_t m_WMOID;
  uint32_t m_NameSetID;
  int32_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;
};

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