12#ifndef TT_INCLUDE__AUDIBLESOUNDDEFINITIONCLASS_H
13#define TT_INCLUDE__AUDIBLESOUNDDEFINITIONCLASS_H
17#include "definition.h"
21class LogicalSoundClass;
22class AudibleSoundClass;
26class AudibleSoundDefinitionClass :
27 public DefinitionClass
30 virtual ~AudibleSoundDefinitionClass();
31 virtual const PersistFactoryClass& Get_Factory()
const;
32 virtual bool Save(ChunkSaveClass&);
33 virtual bool Load(ChunkLoadClass&);
34 virtual uint32 Get_Class_ID()
const;
35 virtual PersistClass* Create()
const;
36 virtual AudibleSoundClass *Create_Sound(
int type)
const;
37 virtual void Initialize_From_Sound(AudibleSoundClass*);
38 virtual const StringClass& Get_Filename()
const {
return m_Filename;}
39 virtual const StringClass& Get_Display_Text()
const {
return m_DisplayText;}
40 virtual float Get_Max_Vol_Radius()
const {
return m_MaxVolRadius;}
41 virtual float Get_DropOff_Radius()
const {
return m_DropoffRadius;}
42 virtual const Vector3 &Get_Sphere_Color()
const {
return m_SphereColor;}
43 virtual float Get_Volume()
const {
return m_Volume;}
44 virtual float Get_Volume_Randomizer()
const {
return m_VolumeRandomizer;}
45 virtual float Get_Start_Offset()
const {
return m_StartOffset;}
46 virtual float Get_Pitch_Factor()
const {
return m_PitchFactor;}
47 virtual float Get_Pitch_Factor_Randomizer()
const {
return m_PitchFactorRandomizer;}
48 virtual int Get_Virtual_Channel()
const {
return m_VirtualChannel;}
49 virtual void Set_Volume(
float f) {m_Volume = f;}
50 virtual void Set_Volume_Randomizer(
float f) {m_VolumeRandomizer = f;}
51 virtual void Set_Max_Vol_Radius(
float f) {m_MaxVolRadius = f;}
52 virtual void Set_DropOff_Radius(
float f) {m_DropoffRadius = f;}
53 virtual void Set_Start_Offset(
float f) {m_StartOffset = f;}
54 virtual void Set_Pitch_Factor(
float f) {m_PitchFactor = f;}
55 virtual void Set_Pitch_Factor_Randomizer(
float f) {m_PitchFactorRandomizer = f;}
56 virtual void Set_Virtual_Channel(
int i) {m_VirtualChannel = i;}
57 virtual LogicalSoundClass* Create_Logical()
const;
58 float Get_Logical_DropOff_Radius()
const {
return m_LogicalDropoffRadius;}
59 int Get_Logical_Type()
const {
return m_LogicalType;}
60 AudibleSoundDefinitionClass();
61 bool Save_Variables(ChunkSaveClass&);
62 bool Load_Variables(ChunkLoadClass&);
63 const AudibleSoundDefinitionClass &operator=(AudibleSoundDefinitionClass
const &that);
65 virtual void Dump (FileClass &file);
67 DECLARE_EDITABLE(AudibleSoundDefinitionClass,DefinitionClass);
71 float m_VolumeRandomizer;
75 float m_DropoffRadius;
78 StringClass m_Filename;
80 StringClass m_DisplayText;
83 float m_PitchFactorRandomizer;
85 float m_LogicalNotifDelay;
86 float m_LogicalDropoffRadius;
87 bool m_CreateLogicalSound;
88 Vector3 m_SphereColor;
89 friend class PresetDump;