X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2Fopenal_wrapper.cpp;h=ecac525b61f9312217755e0c4ffd7c5bc4d2752e;hb=9bd0be2befdf81aa4b5d377eaf29656935044faf;hp=65fe055b8f23cca1cc1598420b2d43644f594a47;hpb=2a9d19feea3589e45e3f6aa4e7b6052732b35f3f;p=lugaru.git diff --git a/Source/openal_wrapper.cpp b/Source/openal_wrapper.cpp index 65fe055..ecac525 100644 --- a/Source/openal_wrapper.cpp +++ b/Source/openal_wrapper.cpp @@ -1,5 +1,6 @@ /* Copyright (C) 2003, 2010 - Wolfire Games +Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file) This file is part of Lugaru. @@ -24,6 +25,9 @@ along with Lugaru. If not, see . #include "Quaternions.h" #include "openal_wrapper.h" #include "Sounds.h" +#include "Game.h" + +extern float slomofreq; // NOTE: // FMOD uses a Left Handed Coordinate system, OpenAL uses a Right Handed @@ -148,8 +152,7 @@ AL_API signed char OPENAL_Init(int mixrate, int maxsoftwarechannels, unsigned in alcMakeContextCurrent(ctx); alcProcessContext(ctx); - bool cmdline(const char * cmd); - if (cmdline("openalinfo")) { + if (commandLineOptions[OPENALINFO]) { printf("AL_VENDOR: %s\n", (char *) alGetString(AL_VENDOR)); printf("AL_RENDERER: %s\n", (char *) alGetString(AL_RENDERER)); printf("AL_VERSION: %s\n", (char *) alGetString(AL_VERSION)); @@ -290,7 +293,6 @@ static void *decode_to_pcm(const char *_fname, ALenum &format, ALsizei &size, AL strcat(fname, ".ogg"); // just in case... -#undef fopen FILE *io = fopen(fname, "rb"); if (io == NULL) return NULL; @@ -374,7 +376,6 @@ AL_API OPENAL_SAMPLE *OPENAL_Sample_Load(int index, const char *name_or_data, un return NULL; // this is all the game does... OPENAL_SAMPLE *retval = NULL; - ALuint bufferName = 0; ALenum format = AL_NONE; ALsizei size = 0; ALuint frequency = 0; @@ -430,21 +431,20 @@ static signed char OPENAL_Sample_SetMode(OPENAL_SAMPLE *sptr, unsigned int mode) return true; } -AL_API signed char OPENAL_SetFrequency(int channel, int freq) +AL_API signed char OPENAL_SetFrequency(int channel, bool slomo) { if (!initialized) return false; if (channel == OPENAL_ALL) { for (int i = 0; i < num_channels; i++) - OPENAL_SetFrequency(i, freq); + OPENAL_SetFrequency(i, slomo); return true; } if ((channel < 0) || (channel >= num_channels)) return false; - if (freq == 8012) - // hack - alSourcef(impl_channels[channel].sid, AL_PITCH, 8012.0f / 44100.0f); + if (slomo) + alSourcef(impl_channels[channel].sid, AL_PITCH, ((ALfloat) slomofreq) / 44100.0f); else alSourcef(impl_channels[channel].sid, AL_PITCH, 1.0f); return true;