Yamagi Burmeister
f89bb3265e
Combine qgl.c glwindow.h into one generic file
2012-08-01 15:51:39 +02:00
Yamagi Burmeister
e5f70fcf40
Merge qal.c into one generic file for all platforms
...
To archive this, 3 new functions Sys_GetProcAddress(), Sys_LoadLibrary()
and Sys_FreeLibrary() were added to abstract the library loading code
into a platform independend API.
2012-08-01 14:54:18 +02:00
Yamagi Burmeister
399c581f06
Move src/windows to src/backends/windows
2012-08-01 14:12:05 +02:00
Yamagi Burmeister
3fb8492398
Move src/unix to src/backends/unix
2012-08-01 13:58:10 +02:00
Yamagi Burmeister
3918d3ba34
Change the VERSION number from float to string
...
Using a float number as version number is a bad idea. Correct this long
standing problem by changing it to a string. If we ever want to compare
version numbers, 2 integer constants "MAJOR_VERSION" and "MINOR_VERSION"
should be added.
2012-07-27 08:57:52 +02:00
Yamagi Burmeister
b52336850f
Reformat the client
2012-07-22 15:34:45 +02:00
Yamagi Burmeister
7bbfa01a87
Fix a unlogical statement
2012-07-22 12:51:53 +02:00
Yamagi Burmeister
590baaa3e9
Remove some potential harmfull "long"
...
While the use of "long" was harmless in this case, it's unnecessary and
we try to keep Quake II free from longs.
2012-06-22 09:44:26 +02:00
Yamagi Burmeister
7b54f3d668
Merge branch 'master' into windows
...
Conflicts:
src/client/sound/snd_al.c
2012-06-14 12:27:09 +02:00
Yamagi Burmeister
61b10f12da
Fix a crash when entering water with s_openal = 0
2012-06-14 12:24:29 +02:00
Yamagi Burmeister
47707a728e
Use Windows headers on Windows
2012-06-11 10:18:44 +02:00
Yamagi Burmeister
e8eea857e4
Fix another buffer overflow, this time when writing the config.cfg
...
This overflow is a problem on all platforms but manifested itself
especially on a german Windows XP due to it's long profile path.
2012-06-10 18:45:14 +02:00
Yamagi Burmeister
d8e35b82c7
Reformat the sound system code
...
caedes and some other people will probably kill me for this, but I'm the
idiot who has to maintain the code. And that's much easier if it's in a
readable und writeable state.
2012-06-06 11:13:07 +02:00
Yamagi Burmeister
51cc3369b1
Provide an optimized case for mixing 16 bit / 2 chan sound
...
With sound quality "high" nearly all sound is provided as 16 bit PCM
with 2 channels. Since most players use this setting, provide an optimed
case for it. This should also solve the cracking due to overshot
soundbuffers, which was especially noticeable on Windows. This changes
only effects the old SDL soundbackend and not OpenAL.
2012-06-06 10:34:36 +02:00
Yamagi Burmeister
15400b2133
Use memset() instead of array magic
2012-06-06 10:02:55 +02:00
Yamagi Burmeister
272b897919
Reformat snd_mix.c
2012-06-06 09:58:06 +02:00
Yamagi Burmeister
5d272eeab8
strsep() is a FreeBSDism. Switch over to strtok().
2012-06-04 10:53:55 +02:00
Yamagi Burmeister
9823a23a91
Initialize sounds[] to avoid garbage branch conditions down below
2012-06-04 09:13:29 +02:00
Yamagi Burmeister
35e5bbb48b
Convert rand(), crand() and frand() to randk(), crandk() and frandk()
2012-06-04 09:13:29 +02:00
Yamagi Burmeister
edae2b0473
Change atof() to strtod()
2012-06-04 09:13:28 +02:00
Yamagi Burmeister
e9c90e16a9
Change atoi() to strtol()
2012-06-04 09:13:28 +02:00
Yamagi Burmeister
0aa75f8704
Explicit cast
2012-06-04 09:13:28 +02:00
Yamagi Burmeister
32fe0ba21f
Prevent a buffer overflow.
2012-06-01 18:13:30 +02:00
Yamagi Burmeister
0e1520d29a
Remove dead code and assignments
2012-06-01 17:05:40 +02:00
Yamagi Burmeister
e9605e8a8b
Use AL_BUFFERS_QUEUED at stream shutdown.
2012-05-26 12:03:01 +02:00
Yamagi Burmeister
492b7c1a2b
Convert whitespace indentation to tabs
2012-05-26 12:00:48 +02:00
Yamagi Burmeister
28c4edfd69
Clear buffers before deleting the sources
...
This fixes a very long lasting shutdown procedure which made it look
like Quake II freezed. Especially on slow machines it was a problem.
2012-05-26 11:37:47 +02:00
Daniel Gibson
62d76b3d40
Fix segfault when s_openal=0 but USE_OPENAL=1
...
If the game was compiled with openal support (USE_OPENAL is defined),
but it's disabled via cvar (set s_openal 0) there could be segfaults
when calls to openal where done anyway, because the check
if(sound_started == SS_OAL) was forgotten.
This is fixed now.
2012-05-17 14:47:05 +02:00
Yamagi Burmeister
5bf1ee670d
Fix s_show when OpenAL is used
2012-05-12 15:11:17 +02:00
Yamagi Burmeister
aff51633d0
Add a sanity check against buffer overflows to S_BuildSoundList
2012-05-12 14:46:13 +02:00
Yamagi Burmeister
4a414b588e
Fix a buffer overflow in AL_AddLoopSounds
...
This fixes a crash in mine4.bsp and most likely some other problems.
The bug was reported by "mxmvasilyev0 [at] gmail [dot] com" and tracked
as Github issue #1 .
2012-05-12 14:42:15 +02:00
Yamagi Burmeister
b6325d7858
Remove unused variables and dead code (patch submitted by Christoph
...
Mallon)
2012-04-30 10:02:58 +02:00
Christoph Mallon
ab034114b4
Whitespace fixes.
2012-04-30 08:25:59 +02:00
Daniel Gibson
31f9af817f
Last fixes and cleanups for OpenAL support
...
* New license header in snd_al.c
* README fixes
* Fix printing of used OpenAL device
* Cleanup in snd_al.c
2012-04-28 15:44:14 +00:00
Yamagi Burmeister
c62e5ac85b
- Implement AL_UnqueueRawSamples() and use it to stop the Vorbis playback
...
imediatly
- Increase Vorbis buffers to 64. 24 were to few
2012-04-27 14:06:08 +00:00
Yamagi Burmeister
2b6389a471
Filter sound samples (not the music) when under water
2012-04-27 13:55:45 +00:00
Yamagi Burmeister
1a0b4ebad5
Do not set / enable / show the s_openal CVAR if the binary is build
...
without OpenAL support. OpenAL is enabled in the default Makefile and if
it's disabled, it's shown at startup.
2012-04-27 12:00:22 +00:00
Yamagi Burmeister
a388254252
Fix a missmerge
2012-04-25 10:09:16 +00:00
Yamagi Burmeister
2c3c203097
Merge out new options framework from the trunk
2012-04-25 09:57:17 +00:00
Yamagi Burmeister
03015a686b
Hide music playback from CD behind CDA
2012-04-25 08:53:25 +00:00
Yamagi Burmeister
9d60a5de6a
Hide OGG/Vorbis support under OGG
2012-04-25 08:24:38 +00:00
Yamagi Burmeister
f836cef4c4
Rename qal_api.c to unix/qal.c and qal_api.h to unix/header/qal.h.
...
Both files are platform dependend and won't work on non unixoid
platforms.
2012-04-24 14:20:01 +00:00
Yamagi Burmeister
bf6d491af3
- Refactor AL_SoundInfo() into the platform dependent
...
QAL_SoundInfo().
- Use QAL_SoundInfo() to print the OpenAL infos
at startup and by the "soundinfo" command.
- Implement printing of all available OpenAL
devices at startup and by the "soundinfo"
command.
2012-04-24 14:07:33 +00:00
Yamagi Burmeister
79c137254a
Rework qal_api.c and qal_api.h:
...
- Reformat to match "our" coding style
- Unroll all unreadable macros
- Remove the use of goto
2012-04-24 13:22:05 +00:00
Yamagi Burmeister
479aae4a9c
*gna* This \n got lost on the way
2012-04-23 13:57:36 +00:00
Yamagi Burmeister
90d0811185
Delete all OpenAL sources at shutdown
2012-04-23 13:55:25 +00:00
Yamagi Burmeister
134878e996
- Some more minor style cleanup
...
- Much improved startup log messages
2012-04-23 13:44:12 +00:00
Yamagi Burmeister
678e50bf8d
Raise the volume of a positioned sample by 384 instead of 255 when using
...
OpenAL. This makes them much more distinguishable from the background
music.
2012-04-23 13:23:47 +00:00
Yamagi Burmeister
3bce2a212a
- Use a better way to calculate the number of buffers
...
used by OGG/Vorbis. 24 buffers are enough for smooth
and stutter free playback and ensure, that OGG_Stop()
is effective nearly immediately.
- Change C99 comments to C89, since snd_vorbis.c is
a C89 file. Caedes will beat me for this :/
2012-04-23 07:59:39 +00:00
Daniel Gibson
3d7013e12b
Fix: Cvar_Get needs a string as default value, not an int..
2012-04-22 20:28:41 +00:00