* On DEBUG builds free() the memory associated with that track and return NULL (which __will__ cause program termination if it occurs)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4254 4a71c877-e1ca-e34f-864e-861f7616d084
This pointer can later on be used to stop, pause & resume playing of the given stream
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3577 4a71c877-e1ca-e34f-864e-861f7616d084
* Modify audio_PlayStream's prototype to match sound_PlayStream's implementation & prototype
* In cdspan_PlayInGameAudio use sasprintf instead of a statically sized array and snprintf
* Add some Doxygen comments
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3276 4a71c877-e1ca-e34f-864e-861f7616d084
* This command will cause the amount of samples in the sound library's queues & lists to be constantly displayed (until turned off) on screen
Patch #887 by Buginator
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3107 4a71c877-e1ca-e34f-864e-861f7616d084
* If in sound_Update() we encounter an error simply destroy the current sample we're working on
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3066 4a71c877-e1ca-e34f-864e-861f7616d084
* Make sure that sound_GetError and sound_GetDeviceError are useable in WZ_NOSOUND builds as well
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3053 4a71c877-e1ca-e34f-864e-861f7616d084
* Apply patch #879 by Buginator (refactored by me to use less handcrafted code, and more functions instead)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3048 4a71c877-e1ca-e34f-864e-861f7616d084
* Look at sound_StopSample specifically
* Use a function to manipulate the linked list of audio samples (i.e. get rid of duplicated code)
* Allow printing of OpenAL vendor, version, renderer and extensions data on multiple debug "channels" to reduce code duplication
* Add openal_error.[ch] for error detection (and producing debug messages for them!)
* Add TOSTRING and AT_MACRO macros to macros.h
* Get rid of some super-nested if-branches where one of them would return (so we don't actually need an else-branch because the function is left anyway)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3047 4a71c877-e1ca-e34f-864e-861f7616d084
* Make sure to check for a NULL pointer __before__ passing it to strlen
* Allow the loading of a track (in sound_LoadTrackFromFile), even if GetLastResourceFilename() returns a NULL pointer
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2889 4a71c877-e1ca-e34f-864e-861f7616d084
* Tune down the volume of the oil-pumps, power-spikes and power hums a bit, to make them less dominant (and annoying) (from patch #822 by Buginator)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2681 4a71c877-e1ca-e34f-864e-861f7616d084
* Refactor NETlogEntry() to use the array of strings (packetname[]) instead of a large switch-statement with a lot of copy & pasted code
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2617 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove global var g_i3DVolume and audio_Set3DVolume which would set its value since g_i3DVolume was never ever read (well audio_Get3DVolume read it, but this function never got called)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1976 4a71c877-e1ca-e34f-864e-861f7616d084
mixer_GetCDVolume to sound_GetMusicVolume
mixer_SetCDVolume to sound_SetMusicVolume
mixer_GetWavVolume to sound_GetUIVolume
mixer_SetWavVolume to sound_SetUIVolume
mixer_Get3dWavVolume to sound_GetEffectsVolume
mixer_Set3dWavVolume to sound_SetEffectsVolume
* Make the above functions use floats instead of SDWORD (int32_t) and use a range of 0.0 - 1.0 instead of 0 - 100
* Remove global var g_iGlobalVol which was only used by one function and wasn't reused in multiple calls, now use a local function var instead: float originalVolume
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1972 4a71c877-e1ca-e34f-864e-861f7616d084
* This conditional compilation is controlled by WZ_NOSOUND (which replaces WZ_NOOGG)
* Remove an unneed inclusion from oggvorbis.h (track.h)
NOTE: This is currently integrated in none of the build systems
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1832 4a71c877-e1ca-e34f-864e-861f7616d084
(The error state simply wasn't cleared before calling a function that could produce an error)
Patch by vs2k5
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1803 4a71c877-e1ca-e34f-864e-861f7616d084
* Drop now unnecessary extern "C" declaration, since C++'s function overloading shouldn't cause problems now
* Add "struct" keyword in front of all declarations of `struct OggVorbisDecoderState` or pointers to it
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1698 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove the ability to decode into a specified buffer from sound_DecodeOggVorbis altogether, we now only use a buffer we malloc'ed ourselves
* this might be slightly slower for streaming (depending on the malloc implementation), but can be easily optimized away by just increasing the buffer size (which IMO is a better optimization, because it's _a_lot_ simpler)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1573 4a71c877-e1ca-e34f-864e-861f7616d084
* instead we now just calculate the precise amount of memory needed ahead of time and just malloc for decoding of each track (decoding only occurs while loading so these extra malloc calls shouldn't go at the expense of performance)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1572 4a71c877-e1ca-e34f-864e-861f7616d084
* did _not_ add copyright statement for "Eidos" to new files since Eidos never wrote anything about this OpenAL/OggVorbis code (if anyone thinks I'm wrong in doing this, please say so on the mailinglist)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1566 4a71c877-e1ca-e34f-864e-861f7616d084
* use plain data types where appropriate
* move the decision for streaming to a parameter of the decoder function (less tight coupling of client to internal decoder callbacks)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1565 4a71c877-e1ca-e34f-864e-861f7616d084
* AUDIO_SAMPLE
* remove unused variable iLoops from the struct
* rename bRemove to the more descriptive title of bFinishedPlaying
* change sound_SetupChannel to return a BOOL rather than be return void and throw its output value in a pointer
* make audio_Update() return void (instead of BOOL) since its output value was TRUE always anyway, plus all its callees ignored the output value
* increase readability of lots of functions in audio.c
* remove unused (and nothing doing) functions: audio_StopTrack, audio_SetTrackPan, audio_SetTrackVol and audio_SetTrackFreq
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1444 4a71c877-e1ca-e34f-864e-861f7616d084
* move construction (allocation and initialization) of struct TRACK to openal_track.c where it is also decoded
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1401 4a71c877-e1ca-e34f-864e-861f7616d084
* turn a one-statement function into an inline (resDoResLoadCallback)
* revive resource loading from file (the function pointer for this was removed in r1394, to actually use this pointer new code had to be written)
* modify resDataInit to handle memory allocation as well as data initialization
* modify struct RES_DATA to not have a fixed size char array to contain the filename (is now dynamically allocated together with the rest of the struct, see resDataInit)
* modify some argument lists to take `const char*` instead of `char*`
* change resLoadFile to use RES_TYPE.fileLoad if available, also remove an unused if statement (well actually the condition could never be false)
* resource type "WAV" (see data.c) now directly loads from a file (rather than copying the file entirely into memory and then to operate on that)
* fix sound_ConstructTrack (track.c) where I used the wrong source to copy the filename from
* fix sound_LoadTrackFromBuffer (track.c) to *not* add the track to the tracklist because this breaks other code
* modify sound_ReleaseTrack (track.c) to gracefully deal with NULL pointers
* remove dataAudioRelease (data.c) and instead just use sound_ReleaseTrack
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1397 4a71c877-e1ca-e34f-864e-861f7616d084
* Change some calls to FREE(TRACK*) to free(TRACK*), because TRACK is always allocated using malloc
* Change only one instance of MALLOC and only other instance of FREE in lib/sound/track.c to malloc and free respectively
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1396 4a71c877-e1ca-e34f-864e-861f7616d084