Files
BlitzNext/Runtime/blitz3d/emitter.cpp
T
Michael Fabian 'Xaymar' Dirks 2196cb8419 runtime: Formatting
2019-01-18 17:04:17 +01:00

42 lines
742 B
C++

#include "emitter.hpp"
#include "std.hpp"
Emitter::Emitter() {}
Emitter::Emitter(const Emitter& t) {}
Emitter::~Emitter() {}
void Emitter::beginRender(float tween)
{
Object::beginRender(tween);
vel = getRenderTform().v - pos;
pos = getRenderTform().v;
for (int k = 0; k < channels.size(); ++k) {
gxChannel* chan = channels[k];
if (!chan->isPlaying()) {
channels[k] = 0;
continue;
}
chan->set3d(&pos.x, &vel.x);
}
}
gxChannel* Emitter::emitSound(gxSound* sound)
{
gxChannel* chan = sound->play3d(&pos.x, &vel.x);
for (int k = 0; k < channels.size(); ++k) {
if (chan = channels[k])
return chan;
if (channels[k])
continue;
channels[k] = chan;
return chan;
}
channels.push_back(chan);
return chan;
}