aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/effects/modulator.c
diff options
context:
space:
mode:
authorRaulshc <[email protected]>2018-05-31 15:47:47 +0200
committerGitHub <[email protected]>2018-05-31 15:47:47 +0200
commit1bba276aaf007c8ef5b5ca495b300f63c8f1c5f7 (patch)
tree9fabf7d077e3113b7d96222e5c5969c8a384921e /Alc/effects/modulator.c
parent5233c4aa21d01f8df3decd9b7c5746d8539094fd (diff)
EFX: Ring modulator fixes
Change from unipolar to bipolar carrier signal in the Ring modulator effect.
Diffstat (limited to 'Alc/effects/modulator.c')
-rw-r--r--Alc/effects/modulator.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Alc/effects/modulator.c b/Alc/effects/modulator.c
index 7985f03e..b629b584 100644
--- a/Alc/effects/modulator.c
+++ b/Alc/effects/modulator.c
@@ -63,17 +63,17 @@ DEFINE_ALEFFECTSTATE_VTABLE(ALmodulatorState);
static inline ALfloat Sin(ALsizei index)
{
- return sinf(index*(F_TAU/WAVEFORM_FRACONE) - F_PI)*0.5f + 0.5f;
+ return sinf(index * (F_TAU / WAVEFORM_FRACONE));
}
static inline ALfloat Saw(ALsizei index)
{
- return (ALfloat)index / WAVEFORM_FRACONE;
+ return index*(2.0f/WAVEFORM_FRACONE) - 1.0f;
}
static inline ALfloat Square(ALsizei index)
{
- return (ALfloat)((index >> (WAVEFORM_FRACBITS - 1)) & 1);
+ return ((index>>(WAVEFORM_FRACBITS-1))&1)*2.0f - 1.0f;
}
#define DECL_TEMPLATE(func) \