Yamagi Burmeister
47707a728e
Use Windows headers on Windows
2012-06-11 10:18:44 +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
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
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
Daniel Gibson
8bfc61b564
Introduce s_openal to enable/disable OpenAL
...
And fix possible dangling else problem in that code
2012-04-22 20:27:02 +00:00
Daniel Gibson
efd85a76c6
Updated paintedtime in OpenAL mode so shotgun sounds right
...
probably fixes other issues as well.
2012-04-22 20:14:56 +00:00
Daniel Gibson
65914b342d
Allow DMA/SDL sound in OGG_Stream when compiling with USE_OPENAL
2012-04-22 17:59:03 +00:00
Yamagi Burmeister
e388a425b4
Enable OGG/Vorbis playback in OpenAL mode.
2012-04-22 17:50:15 +00:00
Daniel Gibson
04fd7f2cda
OpenAL Streaming Sound stuff
...
from zeq2, but adapted/stripped down for our needs.
Videos work (for me), music does not (yet)
2012-04-22 15:59:18 +00:00
Daniel Gibson
6384b850f1
Remove redundancy
2012-04-22 15:57:59 +00:00
Daniel Gibson
f4d5040a73
Add OpenAL stuff to Makefile, make it compile and work (no streaming sound yet)
...
It works \o/
It's still hacky so it needs more work.
And streaming sound (OGG music, sound from videos) is still missing.
2012-04-22 00:24:50 +00:00
Daniel Gibson
7e0a44825e
OpenAL support, from Q2Pro
...
Copied and adapted (hopefully) all relevant code from Q2Pro.
Did some small refactorings when needed.
Still TODO:
* Adapt Makefile
* OGG support when using OpenAL
* A cvar that switches between OpenAL and DMA/SDL
* Actually compiling and testing this stuff ;)
2012-04-15 02:58:01 +00:00
Yamagi Burmeister
77de60f274
Fix a rare crash by nullpointer
2011-10-13 13:16:59 +00:00
Yamagi Burmeister
0aa45e9736
Fix some warnings with clang
2011-06-27 14:40:16 +00:00
Yamagi Burmeister
bff20f6b7c
Nächter Soundpatch von Ozkan:
...
- Adds a "float volume" argument to snd_dma.c:S_RawSamples()
so that ogg can use it too
- That S_RawSamples now has a volume argument, the
cinematics now honor the volume adjustment instead of
playing at full volume all the time even if volume is
zeroed
- Moves endianism handling from S_RawSamples to codec
level
- Fixes an issue of S_RawSamples with 8 bit stereo samples
(not seen/tested with q2 but with my uhexen2)
- Other minor adjustments
2010-12-20 09:56:37 +00:00
Yamagi Burmeister
f5f5c0d2ca
Korrigiere Endianism im Vorbis-Code
2010-12-03 09:45:49 +00:00
Yamagi Burmeister
4b6c561acc
Erweitere Vorbis-Unterstützung:
...
- Support für Big-Endian Pamps (läuft yQ2 auf sowas überhaupt?)
- Unterstützung für 22khz Vorbis-Dateien (ermöglicht es die
Wave-Dateien aus den Pags in Vorbis zu konvertieren, wenn man denn
drauf steht.)
- Unterstützung für Mono-Dateien (Sinnvoll für Handhelds)
Patch von: Ozkan Sezer
2010-11-30 10:28:20 +00:00
Yamagi Burmeister
e57aba66c1
Man sollte strncmp() auch richtig anwenden
2010-11-27 11:19:59 +00:00
Yamagi Burmeister
8af8dd1559
Stoppe Ogg-Playback, wenn Track 0 gefordert wird
2010-11-27 10:45:09 +00:00
Yamagi Burmeister
758d82fe4c
Deregistriere ogg_init und ogg-shutdown
2010-11-01 15:48:01 +00:00
Yamagi Burmeister
f0fa091fde
s_khz per Default auf 44
2010-10-28 05:57:13 +00:00
Yamagi Burmeister
7c6551dc0f
Einen kleinen Bug gefixt, der zu Soundclipping führte
2010-10-28 05:56:20 +00:00
Yamagi Burmeister
09c87ea0cc
Reformatiere die Startup Ausgabe
2010-10-19 13:34:08 +00:00
Yamagi Burmeister
7ebccb34d4
- Formatiere Code neu
...
- Einige Änderungen für mehr Robustheit
- Vereinfache Code und reiße überflüssigen Müll raus
2010-10-14 06:59:42 +00:00
Yamagi Burmeister
ebe4cb1b45
- Formatiere Code neu
...
- Vereinfache Code
2010-10-14 06:29:53 +00:00
Yamagi Burmeister
90101b4dec
- Formatiere Code neu
...
- Vereinfache Code
2010-10-14 06:23:35 +00:00
Yamagi Burmeister
a8a61f0234
- Vereinfache Code
...
- Reformatiere
2010-10-14 06:14:35 +00:00
Yamagi Burmeister
2b405405dc
- Formatiere neu
...
- Vereinfache Code
2010-10-14 06:08:10 +00:00
Yamagi Burmeister
dc930150cf
Und noch ein paar Dinge mehr am Sound gemacht
2010-10-13 18:00:39 +00:00
Yamagi Burmeister
f20f8bddf4
Einige fixes für das Soundsystem
2010-10-13 17:07:29 +00:00
Yamagi Burmeister
67ef502a93
- Reduce sounds to 96
...
- Increase com_maxfps to 120
2010-10-01 16:11:00 +00:00
Yamagi Burmeister
0c020c4ee4
Intelligentere Deafults:
...
rate 8000 ist mehr als ausreichend bei allem, was kein Modem mehr ist.
s_mixahead 0.14 ist besser als 0.2, außer man will ein leichtes soundlag
cl_maxfps auf 60. Das reicht und verhindert bugs
2010-07-13 18:42:12 +00:00
Yamagi Burmeister
b554afa486
Headerguqards für den Client
2010-07-13 18:30:43 +00:00
Yamagi Burmeister
787686a976
Dateiheader neu formatiert und "particles.h" entfernt
2010-07-13 18:19:42 +00:00
Yamagi Burmeister
185063f1a9
Voice over Network weitergehend kommentiert
2010-07-13 08:54:23 +00:00
Yamagi Burmeister
c8927b0cee
Mehr Sounds
2010-07-13 08:48:09 +00:00
Yamagi Burmeister
f16ba343cc
s_primary war windows only
2010-07-13 08:44:06 +00:00
Yamagi Burmeister
c81863ef71
snd_local.h -> header/local.h
2010-06-19 19:10:31 +00:00
Yamagi Burmeister
3007608a22
Benenne snd_ogg.c in snd_vorbis.c um
2010-06-19 19:06:37 +00:00
Yamagi Burmeister
82b038590d
Die Sound-Header in ein eigenes verzeichnis
2010-06-19 19:04:39 +00:00
Yamagi Burmeister
8925af9878
Den Wave-Code in eine eigene Datei
2010-06-19 18:59:33 +00:00
Yamagi Burmeister
1c7ef236f9
sound.h reformatiert
2010-06-19 18:54:45 +00:00
Yamagi Burmeister
01e870b794
snd_loc.h umbenannt zu snd_local.h
2010-06-19 18:51:28 +00:00
Yamagi Burmeister
fe587b7148
weitere Dateien des Soundsystems neu formatiert und kommentiert
2010-06-19 17:04:32 +00:00
Yamagi Burmeister
0c4a7d291f
snd_dma überarbeitet was die Kommentare und die Formatierung betrifft
2010-06-19 08:47:14 +00:00
Yamagi Burmeister
6669ab3643
strtok ist seit Jahren durch strsep ersetzt. Es ist schneller und
...
besser.
2010-06-17 06:59:33 +00:00
Yamagi Burmeister
c7d5882fe1
22kHz Sound als Standardeinstellung
2010-02-01 15:09:47 +00:00
Yamagi Burmeister
c3dcd1c1fa
Behebt einen Absturz beim Levelwechsel, wenn zuvor OGG/Vorbis
...
deaktiviert wurde.
2010-01-28 21:11:46 +00:00
Yamagi Burmeister
afce443234
Die "Playing $file" Meldung weg. Sie nervt
2009-10-06 15:12:06 +00:00
Yamagi Burmeister
e4818d35d5
Speichern funktioniert nun wieder. Das Menü spinnt aber noch
2009-10-04 09:26:46 +00:00
Yamagi Burmeister
137c9ce5d7
Man sollte auch alle Dateien mergen...
2009-10-03 16:08:34 +00:00
Yamagi Burmeister
b6f5dadf4c
Merge in den Trunk:
...
- OGG/Vorbis Support
- pk3 Support (ungetestet)
2009-10-03 16:06:45 +00:00
Yamagi Burmeister
327c0352d2
Einen üblen Soundcrash entfernt
2009-03-10 20:29:15 +00:00
Yamagi Burmeister
0505ea55a9
Der Sound soll auch ohne rumeditieren mit Alsa laufen
2009-03-10 17:36:01 +00:00
Yamagi Burmeister
05e630158a
Dateien des Clients neu angeordnet
2009-03-03 13:43:32 +00:00