2005-03-09 01:31:56 +00:00
|
|
|
//======== (C) Copyright 2002 Charles G. Cleveland All rights reserved. =========
|
|
|
|
//
|
|
|
|
// The copyright to the contents herein is the property of Charles G. Cleveland.
|
|
|
|
// The contents may be used and/or copied only with the written permission of
|
|
|
|
// Charles G. Cleveland, or in accordance with the terms and conditions stipulated in
|
|
|
|
// the agreement/contract under which the contents have been supplied.
|
|
|
|
//
|
|
|
|
// Purpose:
|
|
|
|
//
|
|
|
|
// $Workfile: AvHAmbientSound.h $
|
|
|
|
// $Date: 2002/07/10 14:38:51 $
|
|
|
|
//
|
|
|
|
//-------------------------------------------------------------------------------
|
|
|
|
// $Log: AvHAmbientSound.h,v $
|
|
|
|
// Revision 1.5 2002/07/10 14:38:51 Flayra
|
|
|
|
// - Fixed bug where sound volume wasn't being set for omnipresent sounds, added document headers
|
|
|
|
//
|
|
|
|
//===============================================================================
|
|
|
|
#ifndef AVH_AMBIENT_SOUND_H
|
|
|
|
#define AVH_AMBIENT_SOUND_H
|
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
#include "fmod.h"
|
|
|
|
#include "ui/UIHud.h"
|
2005-04-01 03:04:57 +00:00
|
|
|
#include "mod/AvHSpecials.h"
|
2005-03-09 01:31:56 +00:00
|
|
|
#include "mod/AvHSharedTypes.h"
|
|
|
|
#include "mod/AvHConstants.h"
|
|
|
|
#include "mod/AvHParticleSystem.h"
|
|
|
|
#include "common/entity_state.h"
|
|
|
|
#include "VGUI_ProgressBar.h"
|
|
|
|
#include "ui/MarqueeComponent.h"
|
|
|
|
#include "mod/AvHOrder.h"
|
|
|
|
#include "mod/AvHMessage.h"
|
|
|
|
|
|
|
|
class AvHAmbientSound
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
AvHAmbientSound(const string& inRelativeSoundName, int inVolume, int inFadeDistance, bool inLooping, const Vector& inPosition, int inEntIndex, float inTimeElapsed = -1);
|
|
|
|
AvHAmbientSound(const AvHAmbientSound& inSource);
|
|
|
|
|
|
|
|
void ClearData();
|
|
|
|
|
|
|
|
int GetEntityIndex() const;
|
|
|
|
|
|
|
|
void SetPosition(const Vector& inPosition);
|
|
|
|
|
|
|
|
void StartPlayingIfNot();
|
|
|
|
|
|
|
|
void UpdateVolume(const Vector& inListenerPosition);
|
|
|
|
|
|
|
|
private:
|
|
|
|
// Changing or adding data? Don't forget to put it in the copy constructor!
|
|
|
|
FSOUND_STREAM* mStream;
|
|
|
|
int mChannel;
|
|
|
|
bool mInitialized;
|
|
|
|
|
|
|
|
string mSoundName;
|
|
|
|
int mVolume;
|
|
|
|
int mFadeDistance;
|
|
|
|
bool mLooping;
|
|
|
|
Vector mPosition;
|
|
|
|
int mEntityIndex;
|
|
|
|
float mTimeElapsed;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|