Skip to content

Commit

Permalink
Avoid duplicate checks
Browse files Browse the repository at this point in the history
  • Loading branch information
kcat committed Apr 18, 2023
1 parent 2133c6d commit 72903fb
Showing 1 changed file with 7 additions and 10 deletions.
17 changes: 7 additions & 10 deletions src/buffer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,6 @@ HRESULT Buffer::setLocation(LocStatus locStatus) noexcept
alSourcef(mSource, AL_GAIN, mB_to_gain(static_cast<float>(mVolume)));
alSourcef(mSource, AL_PITCH, (mFrequency == 0) ? 1.0f :
static_cast<float>(mFrequency)/static_cast<float>(mBuffer->mWfxFormat.Format.nSamplesPerSec));
alGetError();

if((mBuffer->mFlags&DSBCAPS_CTRL3D))
{
Expand All @@ -288,6 +287,7 @@ HRESULT Buffer::setLocation(LocStatus locStatus) noexcept
alSource3f(mSource, AL_POSITION, x, 0.0f, -std::sqrt(1.0f - x*x));
alSource3f(mSource, AL_VELOCITY, 0.0f, 0.0f, 0.0f);
alSource3f(mSource, AL_DIRECTION, 0.0f, 0.0f, 0.0f);
alSourcef(mSource, AL_ROLLOFF_FACTOR, 0.0f);
}
else
{
Expand All @@ -297,19 +297,16 @@ HRESULT Buffer::setLocation(LocStatus locStatus) noexcept
-mImmediate.vVelocity.z);
alSource3f(mSource, AL_DIRECTION, mImmediate.vConeOrientation.x,
mImmediate.vConeOrientation.y, -mImmediate.vConeOrientation.z);
alSourcef(mSource, AL_ROLLOFF_FACTOR, mParent.getPrimary().getCurrentRolloffFactor());
}
alSourcei(mSource, AL_CONE_INNER_ANGLE, static_cast<ALint>(mImmediate.dwInsideConeAngle));
alSourcei(mSource, AL_CONE_OUTER_ANGLE, static_cast<ALint>(mImmediate.dwOutsideConeAngle));
alSourcei(mSource, AL_SOURCE_RELATIVE,
(mImmediate.dwMode!=DS3DMODE_NORMAL) ? AL_TRUE : AL_FALSE);
alSourcef(mSource, AL_CONE_INNER_ANGLE, static_cast<float>(mImmediate.dwInsideConeAngle));
alSourcef(mSource, AL_CONE_OUTER_ANGLE, static_cast<float>(mImmediate.dwOutsideConeAngle));
alSourcef(mSource, AL_CONE_OUTER_GAIN,
mB_to_gain(static_cast<float>(mImmediate.lConeOutsideVolume)));
alSourcef(mSource, AL_REFERENCE_DISTANCE, mImmediate.flMinDistance);
alSourcef(mSource, AL_MAX_DISTANCE, mImmediate.flMaxDistance);
alSourcei(mSource, AL_SOURCE_RELATIVE,
(mImmediate.dwMode!=DS3DMODE_NORMAL) ? AL_TRUE : AL_FALSE);

alSourcef(mSource, AL_ROLLOFF_FACTOR, (mImmediate.dwMode==DS3DMODE_DISABLE) ? 0.0f
: mParent.getPrimary().getCurrentRolloffFactor());
alGetError();
}
else
{
Expand All @@ -318,8 +315,8 @@ HRESULT Buffer::setLocation(LocStatus locStatus) noexcept
alSource3f(mSource, AL_POSITION, x, 0.0f, -std::sqrt(1.0f - x*x));
alSourcef(mSource, AL_ROLLOFF_FACTOR, 0.0f);
alSourcei(mSource, AL_SOURCE_RELATIVE, AL_TRUE);
alGetError();
}
alGetError();

mLocStatus = locStatus;
return DS_OK;
Expand Down

0 comments on commit 72903fb

Please sign in to comment.