1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-08 09:37:53 +00:00
OpenMW/apps/openmw/mwsound/sound.hpp

44 lines
1.0 KiB
C++
Raw Normal View History

2012-03-17 09:45:18 +00:00
#ifndef GAME_SOUND_SOUND_H
#define GAME_SOUND_SOUND_H
#include <OgreVector3.h>
2012-03-17 09:45:18 +00:00
namespace MWSound
{
class Sound
{
virtual void update() = 0;
2012-03-17 09:45:18 +00:00
Sound& operator=(const Sound &rhs);
Sound(const Sound &rhs);
protected:
Ogre::Vector3 mPos;
float mVolume; /* NOTE: Real volume = mVolume*mBaseVolume */
float mBaseVolume;
float mMinDistance;
float mMaxDistance;
int mFlags;
2012-03-17 09:45:18 +00:00
public:
virtual void stop() = 0;
virtual bool isPlaying() = 0;
void setPosition(const Ogre::Vector3 &pos) { mPos = pos; }
void setVolume(float volume) { mVolume = volume; }
Sound() : mPos(0.0f, 0.0f, 0.0f)
, mVolume(1.0f)
, mBaseVolume(1.0f)
, mMinDistance(20.0f) /* 1 * min_range_scale */
, mMaxDistance(12750.0f) /* 255 * max_range_scale */
, mFlags(Play_Normal)
{ }
2012-03-17 09:45:18 +00:00
virtual ~Sound() { }
friend class OpenAL_Output;
friend class SoundManager;
};
}
#endif