Bill Currie
8acd5c558b
[scene] Make entity_t just an entity id for ECS
...
This puts the hierarchy (transform) reference, animation, visibility,
renderer, active, and old_origin data in separate components. There are
a few bugs (crashes on grenade explosions in gl/glsl/vulkan, immediately
in sw, reasons known, missing brush models in vulkan).
While quake doesn't really need an ECS, the direction I want to take QF
does, and it does seem to have improved memory bandwidth a little
(uncertain). However, there's a lot more work to go (especially fixing
the above bugs), but this seems to be a good start.
2022-10-23 22:24:36 +09:00
Bill Currie
330569a3fb
[sound] Add a function to set ambient sounds
...
This gets ambient sounds (in particular, water and sky) working again
for quakeworld after the recent sound changes, and again for nq after I
don't know how long.
2022-06-06 14:29:14 +09:00
Bill Currie
1f16f875f6
[sound] Clean up the public API
...
sfx_t is now private, and cd_file no longer accesses channel_t's
internals. This is necessary for hiding the code needed to make mixing
and channel management *properly* lock-free (I've been getting away with
murder thanks to x86's strong memory model and just plain luck with
gcc).
2022-06-03 15:20:41 +09:00
Bill Currie
9166b08b06
[sound] Move sfx_t definition into snd_internal.h
...
I always wanted it there, there were dependency issues at the time. I
guess they got cleaned up for the most part since then (other than
cd_file, but it's on my hit-list).
2022-06-03 11:54:53 +09:00
Bill Currie
5cfbafc176
[audio] Fix some minor issues
...
Just little niggles I spotted while sorting out cue points.
2022-05-22 11:59:53 +09:00
Bill Currie
32a395a8d5
[dox] Fix up some doxygen issues
...
I found a few doxygen related patches in my git stash and while testing
them, found a few doc issues.
2022-04-13 14:17:58 +09:00
Bill Currie
da42aaf423
[sound] Use vec4f_t for api functions
...
Fixes a few vec3_t/vec4f_t FIXMEs.
2022-03-30 23:42:38 +09:00
Bill Currie
57dd4494cc
[renderer] Pass in a camera transform
...
More r_data cleanup. Things could be better still, but this is a start.
2022-02-28 16:59:38 +09:00
Bill Currie
a1a89bdb7e
[audio] Clean up a few minor style issues
2021-06-25 16:52:09 +09:00
Bill Currie
fc907e232f
[audio] Rework alsa to use a pull model
...
This brings the alsa driver in line with the jack render (progress
towards #16 ), but breaks most of the other drivers (for now: one step at
a time). The idea is that once the pull model is working for at least
one other target, the jack renderer can become just another target like
it should have been in the first place (but I needed to get the pull
model working first, then forgot about it).
Correct state checking is not done yet, but testsound does produce what
seems to be fairly good sound when it starts up correctly (part of the
state checking (or lack thereof), I imagine).
2021-06-24 00:08:05 +09:00
Bill Currie
a30433fa9e
Make header protection consistent
...
And delete a couple of useless files.
2020-02-24 12:21:20 +09:00
Bill Currie
9248e8cf01
Update for doxygen 1.8.16
2020-02-11 15:22:42 +09:00
Bill Currie
bc1b483525
Nuke the rcsid stuff.
...
It's pretty useless in git.
2012-04-22 10:56:32 +09:00
Bill Currie
9a91aff93c
Move the ambient level check out of the sound renderer.
...
Instead, the client gets the current leaf and passes ambient_sound_level
from the leaf to S_Update.
2012-02-13 13:44:29 +09:00
Bill Currie
2bb2d14b89
make "sample counts" frame based rather than mono sample based
...
that was always horribly confusing
2010-08-11 23:43:35 +00:00
Bill Currie
dd1adc0431
remove S_TouchSound: it doesn't seem to be necessary
2007-05-07 12:20:38 +00:00
Bill Currie
72daa2fd2b
add some sounds to the menus (not yet finished)
2007-05-07 12:17:12 +00:00
Bill Currie
7af2378e03
turn on graph generation in the doxygen output. very slow, but the diagrams are worth it. Also make the data member of sfx_t a union rather than void so doxygen can see the relationships (and gets rid of a bunch of casts that I never liked anyway).
2007-05-07 05:20:24 +00:00
Bill Currie
1d1982fddf
more improvements to the sound offsetting
2007-03-25 08:12:43 +00:00
Bill Currie
d67cbeae7f
bring cd_file in line with the new sound api
2007-03-18 12:54:59 +00:00
Bill Currie
5a0e2460a3
whee, lockless channel management. still have a problem with unbalanced retain/release, though.
2007-03-18 10:32:01 +00:00
Bill Currie
cde6e60848
most of the hacking needed to break out the common code from snd_dma.c
2007-03-17 03:10:45 +00:00
Bill Currie
0105754f6f
clean out some no-op functions
2007-03-10 14:17:52 +00:00
Bill Currie
d4719db021
a bunch of docs for snd_render.h and a some cleanup of namepace and old cruft
2007-03-10 04:21:32 +00:00
Bill Currie
6f017f18ac
add some documentation to QF/sound.h and move renderer private stuff into snd_render.h
2007-03-10 01:06:00 +00:00
Bill Currie
501180aaac
gcc-4.0 fixes. even found some bugs :) (names /not/ mangled this time)
2005-06-08 06:35:48 +00:00
Bill Currie
d5a33c9545
extend the sound api slightly to ease things like cd_file and make cd_file
...
work as intended :)
2004-01-21 02:52:12 +00:00
Bill Currie
ccfa9081b0
fix shm properly :)
2004-01-08 03:46:11 +00:00
Bill Currie
714bd341fc
'copy' streams on openning. fixes the shared stream issues, though other
...
problems might arrise (eg, running out of file handles or memory)
2003-04-20 07:19:51 +00:00
Bill Currie
eb099ae0d3
make qf gcc 3.3 clean
2003-04-17 00:01:48 +00:00
Bill Currie
e3f8c833ad
getting closer. wav's successfully load, but playback is always looped (?).
...
oggs hang
2003-04-11 21:14:38 +00:00
Bill Currie
ccb56eea39
half way though the sfx loader re-write. nothing works :)
2003-04-11 01:17:48 +00:00
Bill Currie
05fb5f9fb2
partial cleanup. more to come later :)
2003-01-31 20:51:04 +00:00
Bill Currie
c103d77157
make SND_ClearBuffer get called directly by Block/UnblockSound and remove
...
S_ClearBuffer from the api
2003-01-31 19:55:21 +00:00
Bill Currie
881e7918c2
cut some overhead on sound rendering
2003-01-31 19:14:12 +00:00
Bill Currie
eeb4e4f9a9
how that got past my compile tests is beyond me
2002-11-06 14:56:39 +00:00
Bill Currie
ca4b3acd6c
big protototype cleanup. Now, except for a few cases, all non-static
...
prototypes are in headers files.
2002-11-05 19:12:51 +00:00
Bill Currie
5ff7941805
rename sfxcache_t size to bytes
2002-06-16 04:21:25 +00:00
Bill Currie
930ba48862
other than sounds that are ment to loop not looping (due to losing that info
...
when converting to ogg (I've got some ideas on that)), ogg/vorbis support is
working. Doesn't seem to be too much of a load-time hit.
2002-06-15 05:43:56 +00:00
Bill Currie
013f503738
start getting const-correct on vec3_t params
2002-01-03 05:29:38 +00:00
Bill Currie
78a3e398d5
* taniwha gets medieval on extern
2001-10-28 04:23:37 +00:00
Adam Olsen
cad42cbc78
Put the sound renderer in it's proper place: as a full-fledged plugin.
...
Bugs expected. Please report them :)
2001-08-23 04:01:46 +00:00
Ragnvald Maartmann-Moe IV
cddaa521cc
Change loadas8bit to snd_loadas8bit.
2001-08-15 00:53:37 +00:00
Bill Currie
1c9e1b176f
fear the mighty const correct patch
2001-07-15 07:04:17 +00:00
Bill Currie
fc09d2b00f
port Bruce Momjian's patches from newtree with a less incestuous
...
implementation of his sound/focus patch. NOTE: only alsa 0.9 is tested
(Rhamph, can you test 0.5, please?) and only the alsa drivers stop the
hardware right ow.
WARNING!!! you /will/ have to re-install your plugins, or you will get
segfaults when the window gains/loses focus.
How do you tell if a window has focus on first mapping in X11?
2001-07-05 20:18:23 +00:00
Bill Currie
6bf58ab1af
no header includes cvar.h now
2001-05-31 03:41:35 +00:00
Bill Currie
a79ab3faf8
abandon the oss write only attempts.
2001-05-21 17:40:12 +00:00
Bill Currie
d16dc87dfa
fix oss' device openning mode. defaults to write only, but read/write can be
...
selected by setting snd_oss_rw (need better name?) to non-zero
2001-05-16 18:59:31 +00:00
Bill Currie
8e2d89c4c2
fix up a mis-understanding about api headers
...
*taniwha larts himself for not explaining things to Despair
2001-04-10 21:45:42 +00:00
Ragnvald Maartmann-Moe IV
cbb4af711c
Remove duplicate sound.h, move some things down from include/QF to include.
...
Prepare for joystick merge...
2001-04-10 20:15:18 +00:00