* Make sure to set '''global''' pointers to NULL when free()ing them
* Also set the "size" variables belonging to these pointers to zero
* Use a swap(a, b) style function for variable swapping (in PlayList_Shuffle()) rather than obfuscating code
* Make sure that PlayList_CurrentSong() and PlayList_NextSong() return "const char*" rather than "char*" to make sure no one touches memory he/she shouldn't
* Some general changes to conform with coding style (most notably: braces on a line of their own)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2712 4a71c877-e1ca-e34f-864e-861f7616d084
* Make PlayList_Read return a bool instead of char (using 'char' there was a perfect example of premature optimisation; to save memory most likely)
* Remove macro CURRENT_TRACK which expanded to playlist[current_track] (it did _not_ increase readability)
* Make sure to free resources from __all__ return paths from PlayList_Read
* Check realloc's return value
* Don't bitshift but multiply!
* Make sure to follow coding style (in PlayList_Read)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2709 4a71c877-e1ca-e34f-864e-861f7616d084
* Refactor a linked list iteration to for-loop
* In audio_StopAll() check whether psSample->psObj is marked for deletion (i.e. audio_ObjectDead(psSample->psObj) returns true); if it is, set the pointer to NULL
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2683 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 a dual check of psTrack == NULL in sound_Play2DTrack (is already tested by invoked function sound_CheckTrack)
* sound_GetTrackID now won't loop through a list of 600 pointers to find a match anymore if the given pointer is NULL
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2102 4a71c877-e1ca-e34f-864e-861f7616d084
* Add some additional info about which track is being asked about into the assert
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2095 4a71c877-e1ca-e34f-864e-861f7616d084
* Move a large portion of code from audio_SetTrackVals into sound_SetTrackVals (audio_SetTrackVals only checks whether sound is enabled now, the rest of the job is entirely delegated to sound_SetTrackVals)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2084 4a71c877-e1ca-e34f-864e-861f7616d084
* in sound_GetAvailableID start looking for available IDs starting from ID_SOUND_NEXT, not zero (0) as that might cause ID collisions when used in conjunction with the hardcoded IDs in audio_id.*
* Make ID_SOUND_MAX be equal to the highest ID number (of the ID set defined in audio_id.*) rather than one more (since this is what "max" suggests: the highest number, not one more than the highest number)
* ID_SOUND_NEXT is now one higher than the highest ID number and can be/is used where one higher is required
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2082 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove parameter `SDWORD iMaxSameSamples` from sound_Init who's value was only used to set g_iMaxSameSamples
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2081 4a71c877-e1ca-e34f-864e-861f7616d084
* Fix two typos of wrong filenames (these two are not case mismatches) in audio_id.c (one used a ',' instead of '.' and used wav as extension, the other missed a '-')
* Don't use case insensitive matching of filenames in audio_GetIDFromStr anymore as our filesystems aren't guaranteed to be case insensitive (this should cause no problems together with the above fixes)
* Use calloc instead of malloc and a for-loop to allocate an array of NULL pointers in sound_Init
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2076 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
* remove global var g_bStopAll which seems to function as some kind of crude (and non-functional) mutex lock (while Warzone doesn't even uses threads!)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1961 4a71c877-e1ca-e34f-864e-861f7616d084
* Adapt all code that depends on display3D by either removing if (!display3D){} code or removing the conditional around if(display3D){}
* remove now useless function audio_Display3D (returned display3D) and now unused function audio_Get2DPlayerPos
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1958 4a71c877-e1ca-e34f-864e-861f7616d084
* Change the array iteration code such that it is a bit easier to read
* remove audio_CheckAllUnloaded() which only forwarded to sound_CheckAllUnloaded()
* Add some comments
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1910 4a71c877-e1ca-e34f-864e-861f7616d084
* Use "%zu" as format specifier to print out size_t types
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1833 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
That is:
* Don't use a custom memory heap implementation anymore
* Remove all usages of HEAP code and replace it with malloc/free
NOTE: MacOSX projectfile probably requires an update
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1820 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
- Tune lighting and enable by default (This doesn't seem to affect the terrain)
- Declaration updates (Trolltech says that attributes need to go after the "static inline", the GCC manual is a bit unspecific about this)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1744 4a71c877-e1ca-e34f-864e-861f7616d084
* previously this indicated the size of soundDataBuffer + soundDataBuffer.data instead (which was wrong)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1743 4a71c877-e1ca-e34f-864e-861f7616d084
* Use tabulated code indentation for oggvorbis.[ch]
* Move curPos and fileSize into a more localized scope
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1741 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
* Make sure function overloading by a C++ compiler doesn't cause linker errors by declaring affected functions extern "C"
Patch by Christian Ohm (in message <20070523201048.GF3778@localdomain>);
* applied changes to lib/ivis_common/imdload.c
* brought linker errors to light caused by function overloading
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1695 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