Commit Graph

167 Commits (4c239b47acb94ce98b0624384b6da17917e70a31)

Author SHA1 Message Date
Dennis Schridde 6134810a78 My most dumb commit ever: Dummy reference vorbisfile.h symbols to prevent warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3233 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-29 23:24:33 +00:00
Giel van Schijndel db3d933791 * Add a new cheat/debug-command "showsamples"
* 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
2007-12-19 20:17:54 +00:00
Giel van Schijndel 29139cc6da * Fix crashes due to failing to call the callback when sounds are removed from the queue/list
Part of patch #887 by Buginator


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3105 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-18 23:25:32 +00:00
Giel van Schijndel eba3731a93 * Put some duplicated code for destroying sound samples in function sound_DestroyIteratedSample
* 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
2007-12-15 20:49:02 +00:00
Giel van Schijndel 8fcd2410be * Apply the last bit of patch #884 by Buginator (openal_track.c)
* 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
2007-12-14 15:11:59 +00:00
Giel van Schijndel d179c09f17 * Fix some errors in openal_track.c; part of patch #884 by Buginator
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3052 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-14 12:13:23 +00:00
Giel van Schijndel 456208fcc3 * Update MSVC project files (part of patch #884 by Buginator)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3051 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-14 12:12:36 +00:00
Giel van Schijndel 22f762a3c3 * Prevent a linker error when compiling with -DWZ_NOUSOUND (sound_RemoveActiveSample was used but not defined)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3050 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-14 11:43:15 +00:00
Giel van Schijndel 992ee8583a * Fix yet another bug introduced in r3047 (the game would hang in an infinite loop because of failing to increase the iterators)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3049 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-13 23:54:28 +00:00
Giel van Schijndel ff44e8c84c * Fix a bug introduced in r3047 (segfault due to failing to check for a NULL pointer)
* 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
2007-12-13 23:47:46 +00:00
Giel van Schijndel 99c55dbf74 * Try to encapsulate knowledge about AUDIO_SAMPLE's internal representation in openal_track.c (i.e. don't use it in client code!)
* 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
2007-12-13 23:16:03 +00:00
Giel van Schijndel 51c32760b4 * Fix a bug where would free the wrong pointer (thanks to Buginator for spotting it)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3026 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-09 23:35:56 +00:00
Giel van Schijndel cc12f08b1a * Apply patch #879 by Buginator with some heavy modifications by me
* Upon removing BASE_OBJECTs loop through the lists of outstanding AUDIO_SAMPLEs to delete all of those that refer to this BASE_OBJECT


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3023 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-09 22:36:06 +00:00
Dennis Schridde c64b565f14 Patch #872 by Buginator. Untested by me since in Bugs we trust. ;)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3020 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-09 19:10:34 +00:00
Giel van Schijndel da2f84009b * In addition to the changes of r2853, make passing a NULL pointer safe as well
* In the error messages being output, distinguish between a NULL pointer and an empty string

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2890 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-26 15:57:56 +00:00
Giel van Schijndel a44aa48f00 * Don't use a C99 variably sized struct member to store the filename of a track (instead a plain pointer will be used)
* 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
2007-11-26 15:16:51 +00:00
Per Inge Mathisen eeefdc0af0 Do not crash if filename to sound is not set. Modified version of patch #855 by Buginator.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2853 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-22 18:35:03 +00:00
Giel van Schijndel 93c387f1fb * Change "failed to open file" error message, when attempting to load a playlist, from LOG_ERROR to LOG_NEVER as it isn't a real error condition
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2717 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-04 18:45:57 +00:00
Giel van Schijndel 6268b6fff2 * Don't allocate memory in PlayList_Init() while we don't need it yet
* 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
2007-11-04 16:14:24 +00:00
Giel van Schijndel aa4bb6c529 * Prevent a segfault occuring when quitting from warzone if a non-power of two number of tracks has been loaded into a playlist (due to uninitialized pointers)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2711 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-04 16:05:11 +00:00
Giel van Schijndel 7a01000da9 * Clean up some of the playlist code:
* 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
2007-11-04 15:24:37 +00:00
Giel van Schijndel 5efc500f88 * Fix a bug where (in some cases) file names in the music.wpl playlist would be truncated
Bug reported by Jessicatz (on IRC)


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2708 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-04 15:16:56 +00:00
Giel van Schijndel c76b591954 * In audio_StopAll() __always__ set psSample->psObj to NULL; this should fix bug #9233 (and bug #9927, which most likely is a duplicate, as well)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2684 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-03 02:07:25 +00:00
Giel van Schijndel e3b3379a83 * Replace malloc() calls immediately followed by memset(0) calls by calloc() calls instead
* 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
2007-11-03 01:55:11 +00:00
Giel van Schijndel 533e7e92bf * Use spaces for line-out purposes (rather than tabs)
* 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
2007-11-02 22:37:20 +00:00
Giel van Schijndel a316f10a0e * Don't save the volume with user volume preferences applied (instead save the track-volume so recomputing will be possible)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2680 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-02 22:19:06 +00:00
Per Inge Mathisen ec232d7e0f Actually use audio.cfg configuration of sound volume. Patch by Buginator in patch #822
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2677 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-02 18:47:22 +00:00
Giel van Schijndel e06c186bd6 * Replace a _lot_ of strcpy(), strcat() and sprintf() calls with the safer strncpy(), strncat() and snprintf() respectively
* 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
2007-10-24 21:11:29 +00:00
Giel van Schijndel ebe882625f * Fix doxygen comment
* Fix indentation

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2468 4a71c877-e1ca-e34f-864e-861f7616d084
2007-09-23 21:43:57 +00:00
Dennis Schridde 6627ecbc6a Fix "incompatible declarations" found by batched compiling.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2460 4a71c877-e1ca-e34f-864e-861f7616d084
2007-09-16 14:05:01 +00:00
Giel van Schijndel 0d901ea836 * Merge fixes for bug #9694 and bug #9704 which where fixed in r2349 and r2355 respectively from the 2.0 branch into trunk
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2356 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-08 11:23:21 +00:00
Giel van Schijndel 6b912bc40d * Remove duplicated function sound_TrackAudibleRadius (was an unused duplicate of sound_GetTrackAudibleRadius)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2103 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-14 19:56:10 +00:00
Giel van Schijndel ebff194ba7 * Remove some unused macros
* 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
2007-07-14 19:12:46 +00:00
Giel van Schijndel 27bbae281b * Add a workaround for a crash in OpenAL triggered when shooting the first scavengers in the campaign
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2100 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-14 18:42:39 +00:00
Giel van Schijndel 2bb8afe647 * Check whether g_apTrack == NULL since that is a valid state when audio is disabled
* 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
2007-07-14 14:19:14 +00:00
Giel van Schijndel 83ef0a6e3c * Make audio_SetTrackVals return the track ID number rather than write it into a pointer given as parameter (failure is now indicated by a zero value instead; non-zero indicates success)
* 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
2007-07-13 23:39:40 +00:00
Giel van Schijndel 9de99e7d33 * Don't use (void) as parameter list for the function implementation (this is only required for function declarations, not implementations)
* 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
2007-07-13 23:25:29 +00:00
Giel van Schijndel bc40797884 * Remove global var `static SDWORD g_iMaxSameSamples` from track.c which was only ever written to (not read from)
* 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
2007-07-13 23:15:24 +00:00
Giel van Schijndel b10e316999 * Make all (I hope I didn't miss any) references to audio filenames lowercase (as all audio files themselves have a fully lowercase name)
* 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
2007-07-13 22:11:04 +00:00
Giel van Schijndel 84a07b03a5 * Remove unused (and sometimes empty) functions sound_SetSamplePan, sound_SetSampleVolAll, sound_GetMaxVolume, audio_GetMixVol, audio_Get3DVolume
* 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
2007-06-25 19:04:33 +00:00
Giel van Schijndel 18dcb24b3c * Rename functions
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
2007-06-25 18:09:38 +00:00
Giel van Schijndel e3d9c70e94 * remove unused function audio_Get2DPlayerRotAboutVerticalAxis
* 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
2007-06-24 21:11:43 +00:00
Giel van Schijndel 46434a1e5d * Remove global var BOOL display3D which is always true anyway
* 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
2007-06-24 19:38:36 +00:00
Giel van Schijndel 2658fa36aa * Change kf_MoveToLastMessagePos() to be more readable (i.e. simply return on error, don't wrap the actual working, non-error, code in a conditional), also use map_coord instead of `>> TILE_SHIFT`
* Remove unused (and probably useless) function audio_PlayPreviousQueueTrack
 * Remove unused functions audio_ReleaseTrack, audio_GetAvailableID, audio_GetSampleMixVol
 * Remove useless assignment in audio_GetPreviousTrackPos and make check for invalid coordinates more easily readable


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1911 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-21 13:39:05 +00:00
Giel van Schijndel 37be498275 Cleanup:
* 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
2007-06-21 13:03:52 +00:00
Giel van Schijndel dd337e40eb Some more 64bit safety:
* 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
2007-06-06 18:49:57 +00:00
Giel van Schijndel 98e6c05da1 * Allow compilation without sound; when used this eliminates the compile & link time requirement of libvorbisfile, libvorbis, libogg and libopenal
* 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
2007-06-06 17:09:23 +00:00
Giel van Schijndel ed73e62898 Leave the memory management up to the memory management functions!
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
2007-06-05 11:46:00 +00:00
Giel van Schijndel d1336810a9 * Fix wrongly triggered error messages about OpenAL audio contexts
(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
2007-06-04 10:01:52 +00:00
Dennis Schridde 58e8bda3a9 _ISOC99_SOURCE is a libc macro, we now use WZ_C99 instead (which gets defined via __STDC_VERSION__)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1749 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-29 14:55:24 +00:00