20 #ifndef _SOUNDMANAGER_H_    21 #define _SOUNDMANAGER_H_    26 #include <iutil/comp.h>    27 #include <iutil/eventh.h>    32 #include <isoundmngr.h>    64     virtual bool Initialize(iObjectRegistry* objReg);
    69     virtual 
const csHandlerID* GenericPrec(csRef<iEventHandlerRegistry> &ehr,
    70             csRef<iEventNameRegistry> &
enr, csEventID 
id) 
const;
    71     virtual const csHandlerID* 
GenericSucc(csRef<iEventHandlerRegistry> &ehr,
    72             csRef<iEventNameRegistry> &enr, csEventID 
id)
 const { 
return 0; }
    73     CS_EVENTHANDLER_DEFAULT_INSTANCE_CONSTRAINTS
    83     virtual bool AddSndQueue(
int queueID, SndCtrlID sndCtrlID);
    85     virtual bool PushQueueItem(
int queueID, 
const char* fileName);
    91     virtual void SetPlayerMovement(csVector3 playerPosition, csVector3 playerVelocity);
    95     virtual void SetEntityState(
int state, iMeshWrapper* mesh, 
const char* meshName, 
bool forceChange);
   113     virtual uint 
PlaySound(
const char* fileName, 
bool loop, SndCtrlID sndCtrlID);
   114     virtual uint 
PlaySound(
const char* fileName, 
bool loop, SndCtrlID sndCtrlID, csVector3 pos, csVector3 dir, 
float minDist, 
float maxDist);
   115     virtual uint 
PlaySong(csRef<iDocument> musicalSheet, 
const char* instrument,
   116         SndCtrlID sndCtrlID, csVector3 pos, csVector3 dir);
   126     iObjectRegistry*            objectReg;         
   131     csHash<SoundQueue*, int>    soundQueues;       
   132     bool                        listenerOnCamera;  
   136     csTicks                     lastUpdateTime;    
   138     float                                               volumeDampPercent; 
   139     csArray<SndCtrlID>          dampenCtrls;       
   141     csEventID                   evSystemOpen;      
   148     void InitSoundSystem();
   152 #endif // __SOUNDMANAGER_H__ This class keeps and manage the musical instruments. 
 
virtual void SetEntityState(int state, iMeshWrapper *mesh, const char *meshName, bool forceChange)
 
virtual void RemoveObjectEntity(iMeshWrapper *mesh, const char *meshName)
 
Used to put Sounds in a Queue and play them in the order they have been added. 
 
virtual bool Initialize(iObjectRegistry *objReg)
 
virtual bool PushQueueItem(int queueID, const char *fileName)
 
SoundManager(iBase *parent)
 
virtual bool HandleEvent(iEvent &e)
 
virtual bool IsLoopBGMToggleOn()
 
virtual void RemoveSndQueue(int queueID)
 
virtual bool IsCombatMusicToggleOn()
 
virtual void SetCombatMusicToggle(bool toggle)
 
csRef< iEventNameRegistry > csEventID id const
 
virtual CS_EVENTHANDLER_DEFAULT_INSTANCE_CONSTRAINTS bool InitializeSectors()
 
virtual bool IsSoundValid(uint soundID) const 
 
This class handles every sound defined in a sector. 
 
virtual void AddObjectEntity(iMeshWrapper *mesh, const char *meshName)
 
CS_EVENTHANDLER_NAMES("crystalspace.planeshift.sound") virtual const csHandlerID *GenericPrec(csRef< iEventHandlerRegistry > &ehr
 
virtual bool IsChatToggleOn()
 
virtual void SetWeather(int newWeather)
 
csRef< iEventNameRegistry > & enr
 
virtual bool IsListenerOnCameraToggleOn()
 
virtual void SetLoopBGMToggle(bool toggle)
 
virtual bool StopSound(uint soundID)
 
static csRandomGen randomGen
random number generator. 
 
virtual uint PlaySound(const char *fileName, bool loop, SndCtrlID sndCtrlID)
 
virtual bool LoadActiveSector(const char *sectorName)
 
virtual void SetCombatStance(int newCombatStance)
 
virtual uint PlaySong(csRef< iDocument > musicalSheet, const char *instrument, SndCtrlID sndCtrlID, csVector3 pos, csVector3 dir)
 
virtual bool ReloadSectors()
 
virtual int GetCombatStance() const 
 
virtual bool SetSoundSource(uint soundID, csVector3 position)
 
virtual void UpdateListener(iView *view)
 
virtual void SetTimeOfDay(int newTimeOfDay)
 
virtual void SetChatToggle(bool toggle)
 
virtual csVector3 GetPosition() const 
 
virtual void SetListenerOnCameraToggle(bool toggle)
 
This Manager Object is used to play all sounds. 
 
virtual void SetPlayerMovement(csVector3 playerPosition, csVector3 playerVelocity)
 
static uint updateTime
update throttle in milliseconds. 
 
virtual bool AddSndQueue(int queueID, SndCtrlID sndCtrlID)
 
virtual bool IsSoundActive(SndCtrlID sndCtrlID)
 
virtual void UpdateObjectEntity(iMeshWrapper *mesh, const char *meshName)
 
virtual const csHandlerID * GenericSucc(csRef< iEventHandlerRegistry > &ehr, csRef< iEventNameRegistry > &enr, csEventID id) const 
 
virtual iSoundControl * GetSndCtrl(SndCtrlID sndCtrlID)