DB/SoundEntries

From wowdev
Jump to: navigation, search

Defining sounds that are used on different things such as spells, weapon-hits, weather, music etc.

PreVanilla … WoD

0.5.3.3368

struct SoundEntriesRec {
  uint32_t m_ID;
  uint32_t m_soundType;
  stringref m_name;     
  stringref m_File[10]; // If empty the corresponding m_Freq is ignored
  uint32_t m_Freq[10];   // Used when selecting the next random sound to play (SOUNDDEFINITION::GetRandomFileName)
  stringref m_DirectoryBase;
  float m_volumeFloat;
  float m_pitch;
  float m_pitchVariation;
  uint32_t m_priority;
  uint32_t m_channel;
  uint32_t m_flags;      // SoundInterfaceFlags
  float m_minDistance;
  float m_maxDistance;
  float m_distanceCutoff;
  uint32_t m_EAXDef;
};

enum SoundInterfaceFlags
{
   UNUSED        = 0x0001, // still seen in file for a lot of spells
   UNUSED        = 0x0002,
   UNUSED        = 0x0004,
   UNUSED        = 0x0008,
   UNUSED        = 0x0010,
   NO_DUPLICATES = 0x0020, // client prevents the same sound overlapping
   UNUSED        = 0x0040,
   UNUSED        = 0x0080,
   UNUSED        = 0x0100,
   LOOPING       = 0x0200,
   VARY_PITCH    = 0x0400,
   VARY_VOLUME   = 0x0800,
   UNUSED        = 0x1000,
}

1.12.1.5875

struct SoundEntriesRec {
  uint32_t m_ID;
  uint32_t m_soundType;
  stringref m_name;     
  stringref m_File[10]; // If empty the corresponding m_Freq is ignored
  uint32_t m_Freq[10];   // Used when selecting the next random sound to play (SOUNDDEFINITION::GetRandomFileName)
  stringref m_DirectoryBase;
  float m_volumeFloat;
  uint32_t m_flags;      // 0x20: use OS sound settings, 0x200: PlaySpellLoopedSound, 0x400: SOUNDDEFINITION::SetFrequencyAndVolume
  float m_minDistance;
  float m_maxDistance;
  float m_distanceCutoff;
  foreign_key<uint32_t, &SoundEntriesAdvancedRec::m_ID> m_soundEntriesAdvancedID;
};

Structure

Column Field Type Notes
1 ID Integer
2 SoundType Integer Value to identify the type. See table below for values.
3 Name String
4-13 Filenames[10] String One entry can have more subentries. Used for different sounds at weapons.
14-23 Freq[10] String Related to the files above. Maybe a count of how much they are played in any way?.
24 FilePath String The filenames come without path. This is set here.
25 Volume Float
26 Flags Integer Has the values 0, 1, 32, 33, 34, 512, 513, 544, 1024 and 1056. (hex: 0h, 1h, 20h, 200h, 400h)
27 minDistance Float
28 distanceCutoff Float Radius from the sound emitter's world position
29 EAXDef Integer
30 soundEntriesAdvancedID Integer

Sound Types (Column 2)

Value Meaning
0 Unused/Miscellaneous
1 Spells
2 UI
3 Footsteps
4 Weapons/Impact
6 Weapons/Miss
7 Greetings
8 Casting
9 Pick Up/Put Down
10 NPC Combat
12 Errors
13 Birds
14 Objects
16 Death
17 NPC Greetings
18 Test/Temporary
19 Armor/Foley
20 Footsteps
21 Water/Character
22 Water/Liquid
23 Tradeskills
25 Doodads
26 Spell Fizzle
27 NPC Loops
28 Zone Music
29 Emotes
30 Narration Music
31 Narration
50 Zone Ambience

6.0.1.18179

struct SoundEntriesRec {
  uint32_t m_ID;
  uint32_t m_soundType;
  stringref m_name;
  foreign_key<uint32_t, &FileDataRec::m_ID> m_FileDataID[20];
  uint32_t m_Freq[20];
  float m_volumeFloat;
  uint32_t m_flags;
  float m_minDistance;
  float m_distanceCutoff;
  uint32_t m_EAXDef;
  foreign_key<uint32_t, &SoundEntriesAdvancedRec::m_ID> m_soundEntriesAdvancedID;
  float m_volumevariationplus;
  float m_volumevariationminus;
  float m_pitchvariationplus;
  float m_pitchvariationminus;
  float m_pitchAdjust;
  uint32_t m_dialogtype;
  foreign_key<uint32_t, &SoundBusRec::m_ID> m_busOverwriteID;
};