shithub: cstory

Download patch

ref: 88a8362f2313e9080f006bd01810a6c9d1719235
parent: d88db0975210366b381dfdd6d78e475e57d80048
author: Gabriel Ravier <[email protected]>
date: Wed Jan 29 17:30:57 EST 2020

Reverted fmodf stuff and tried to make it so C++ compilers would go for the float version in appropriate circumstances (fmodf directly is unavailable due to not being in C89)

Signed-off-by: Gabriel Ravier <[email protected]>

--- a/src/Backends/Audio/SDL2.cpp
+++ b/src/Backends/Audio/SDL2.cpp
@@ -87,7 +87,7 @@
 				const float sample2 = (sound->samples[(size_t)sound->position + 1] - 128.0f) / 128.0f;
 
 				// Perform linear interpolation
-				const float interpolated_sample = sample1 + ((sample2 - sample1) * fmodf(sound->position, 1.0));
+				const float interpolated_sample = sample1 + ((sample2 - sample1) * (float)fmod((float)sound->position, 1.0f));
 
 				*steam_pointer++ += interpolated_sample * sound->volume_l;
 				*steam_pointer++ += interpolated_sample * sound->volume_r;
@@ -98,7 +98,7 @@
 				{
 					if (sound->looping)
 					{
-						sound->position = fmodf(sound->position, sound->frames);
+						sound->position = fmod(sound->position, sound->frames);
 					}
 					else
 					{