Emitter API tweak

This commit is contained in:
Jack Andersen 2016-12-28 19:52:28 -10:00
parent 72d0df7d46
commit df167556fb
4 changed files with 11 additions and 6 deletions

View File

@ -22,8 +22,8 @@ public:
~Emitter();
Emitter(Engine& engine, const AudioGroup& group, std::shared_ptr<Voice>&& vox);
void setPos(const Vector3f& pos);
void setDir(const Vector3f& dir);
void setPos(const float* pos);
void setDir(const float* dir);
void setMaxDist(float maxDist);
void setMaxVol(float maxVol);
void setMinVol(float minVol);

View File

@ -96,8 +96,13 @@ public:
}
/** Start soundFX playing from loaded audio groups, attach to positional emitter */
std::shared_ptr<Emitter> addEmitter(const Vector3f& pos, const Vector3f& dir, float maxDist, float falloff,
std::shared_ptr<Emitter> addEmitter(const float* pos, const float* dir, float maxDist, float falloff,
int sfxId, float minVol, float maxVol, std::weak_ptr<Studio> smx);
std::shared_ptr<Emitter> addEmitter(const float* pos, const float* dir, float maxDist, float falloff,
int sfxId, float minVol, float maxVol)
{
return addEmitter(pos, dir, maxDist, falloff, sfxId, minVol, maxVol, m_defaultStudio);
}
/** Start song playing from loaded audio groups */
std::shared_ptr<Sequencer> seqPlay(int groupId, int songId, const unsigned char* arrData,

View File

@ -18,9 +18,9 @@ void Emitter::_destroy()
m_vox->kill();
}
void Emitter::setPos(const Vector3f& pos) {}
void Emitter::setPos(const float* pos) {}
void Emitter::setDir(const Vector3f& dir) {}
void Emitter::setDir(const float* dir) {}
void Emitter::setMaxDist(float maxDist) {}

View File

@ -320,7 +320,7 @@ std::shared_ptr<Voice> Engine::fxStart(int sfxId, float vol, float pan, std::wea
}
/** Start soundFX playing from loaded audio groups, attach to positional emitter */
std::shared_ptr<Emitter> Engine::addEmitter(const Vector3f& pos, const Vector3f& dir, float maxDist, float falloff,
std::shared_ptr<Emitter> Engine::addEmitter(const float* pos, const float* dir, float maxDist, float falloff,
int sfxId, float minVol, float maxVol, std::weak_ptr<Studio> smx)
{
auto search = m_sfxLookup.find(sfxId);