inline int (isnan)(double r) { return isnan(r); }
#endif
-#if defined(__MINGW32__)
-#define isnan(x) _isnan(x)
-#endif
-
#if defined (__FreeBSD__)
-inline int isnan(double r) { return !(r < 0 || r > 0); }
+# if __FreeBSD_version < 500000
+ extern "C" {
+ inline int isnan(double r) { return !(r <= 0 || r >= 0); }
+ }
+# endif
#endif
#include STL_IOSTREAM
#include "soundmgr_openal.hxx"
+#if defined(__MINGW32__)
+#define isnan(x) _isnan(x)
+#endif
//
// Sound Manager
// initialize OpenAL
alutInit( 0, NULL );
- alGetError();
+ atexit(alutExit);
+
if ( alGetError() == AL_NO_ERROR) {
working = true;
} else {
listener_ori[4] = 1.0;
listener_ori[5] = 0.0;
+ alListenerf( AL_GAIN, 0.0f );
alListenerfv( AL_POSITION, listener_pos );
alListenerfv( AL_VELOCITY, listener_vel );
alListenerfv( AL_ORIENTATION, listener_ori );
SGSoundSample *sample = sample_current->second;
delete sample;
}
-
- alutExit();
}