DB/WMOAreaTable
Jump to navigation
Jump to search
Due to how the client loads and caches this DBC, the entries need to be sorted by WMO id (primary) and SetID (secondary). The best way to modify this DBC is to export it to SQL, sort by WMOID->SetID->GroupID, copy this ordering and re-insert it into SQL before importing into DBC. This ensures the client correctly caches the DBC.
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 WMO_group_ID Integer called from a WMO-Group file. | -1 for overal name ("Stormwind" etc) 5 SoundProviderPref Integer 6 SoundProviderPrefSubmer Integer 7 AmbienceID Integer 8 ZoneMusic Integer 9 IntroSound 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.
Flags
Value | Description |
---|---|
0x001 | Render Minimap |
0x002 | Force Indoors |
0x004 | Force Outdoors |
0x008 | Generate Single Exterior Map |
0x010 | Stormwind |
0x020 | Chunk uses terrain for Minimap |
0x040 | Ignore for Minimap and Effects |
0x080 | Ignore Fatigue |
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; };