Rachael Alexanderson
5dfdac62ab
- add checking in S_StartSound for startTime length
2020-03-02 22:15:37 +01:00
Rachael Alexanderson
1b80b7bf2f
- ported over Nash's startTime for A_StartSound
2020-03-02 22:15:37 +01:00
Major Cooke
4cf7c6351d
Added A_StopSounds(int chanmin, int chanmax).
...
- If both channels are 0, completely silences the actor.
- Adapted A_StopAllSounds to call A_StopSounds(0,0);
2020-03-01 19:42:21 +01:00
Major Cooke
55284d46bf
Added A_StopAllSounds.
2020-02-29 19:19:51 +01:00
Christoph Oelckers
85ff05c0b2
- missed these in the last commit.
2020-02-15 10:16:38 +01:00
Chris Robinson
5b4c9eb7f6
Remove FSoundLoadBuffer since it wasn't doing anything
2020-02-01 17:11:26 +01:00
Chris Robinson
30bdd0c2d4
Get rid of the LoadSound3D method
...
It no longer does anything since there's no separate buffer for 3D sfx.
2020-02-01 17:11:26 +01:00
Chris Robinson
d823091446
Update a couple comments about monoized sounds
2020-02-01 17:11:26 +01:00
Chris Robinson
c095872b0a
Remove the 'monoize' option from sound loading
...
Unnecessary with the AL_SOFT_source_spatialize extension, which has been
available for over a year.
2020-02-01 17:11:26 +01:00
Marisa Kirisame
55e482d0fc
Additional CHAN_OVERLAP awareness for StartSound and ChangeSoundVolume/Pitch.
2019-12-30 13:01:59 +01:00
Christoph Oelckers
318da33e39
- sound engine update.
...
Notable changes:
* IsSourcePlayingSomething had undefined behavior when checking unattached and unpositioned sounds.
* loading Blood RAW sounds with different sample rates but the same backing lump may not use the same hardware sound buffer.
* when playing an unpositioned sound the attenuation is irrelevant and must be ignored. This resulted in a 3D sound being started which was mostly inaudible due to lack of valid origin.
2019-12-19 11:57:58 +01:00
Marisa Kirisame
9430e1556f
Change IsSourcePlayingSomething to handle overlapping sounds.
2019-12-17 15:53:56 +01:00
Christoph Oelckers
3808e85c3e
- the old bit masking for the channel needs to go, of course.
2019-12-17 00:28:32 +01:00
Christoph Oelckers
639e9d3cd4
- fixed VOC loader. Its 16 bit code did not work because it set the variable to -16 instead of 16.
...
- removed a few MAX calls with std::max.
2019-12-17 00:05:35 +01:00
Christoph Oelckers
e82565373f
- separated the channel number from the flags in the sound interface so that the 8 channel limit can be eliminated.
...
- added Marisa Kirisame's CHAN_OVERLAP flag.
- exported S_IsActorPlayingSomething to ZScript.
The sound API change required deprecating A_PlaySound and S_Sound. There are now new variants S_StartSound and A_StartSound which have two distinct parameters for channel and flags.
2019-12-16 23:52:39 +01:00
Christoph Oelckers
b09e9f10ed
- sound engine update.
2019-12-16 21:45:34 +01:00
alexey.lysiuk
c3ede69d16
- fixed linked sound resolving
...
Hash indices and sound ids were used interchangeably but they are different entities
https://forum.zdoom.org/viewtopic.php?t=66618
2019-12-12 17:37:10 +01:00
Christoph Oelckers
165d9951aa
- made the sound resolving a virtual method
...
This way the player sounds can be done in the proper place without infesting the core.
2019-12-12 01:31:41 +01:00
alexey.lysiuk
3cb571c1d5
- rewrote test for occupied sound channel without special types
...
https://forum.zdoom.org/viewtopic.php?t=66613
2019-12-10 13:36:05 +02:00
alexey.lysiuk
f050a23541
- restored stopping of channel by new sound
...
If source actor/sector/polyobject is playing something on the selected channel, stop it before playing a new sound
https://forum.zdoom.org/viewtopic.php?t=66613
2019-12-10 11:40:32 +02:00
alexey.lysiuk
5e35077364
- remove redundant call to SoundRenderer::UpdateSounds()
...
At that point SoundEngine::StopAllChannels() did this already
2019-12-09 16:09:07 +02:00
alexey.lysiuk
5966391108
- moved sound engine cleanup calls to own function
...
https://forum.zdoom.org/viewtopic.php?t=66605#p1127457
2019-12-09 16:06:41 +02:00
Christoph Oelckers
6725cfcca5
- cleaned the includes of the sound backend code of unwanted content.
...
Also simplified the sound init decision making. With FMod gone there is no reason to be pedantic here. Even the check of snd_backend for the Null device could be omitted here, its only realistic use is '-nosound'.
2019-12-08 22:17:19 +01:00
Christoph Oelckers
b9582cc98e
- continued refactoring on sound code.
...
The game independent part of the code has been mostly isolated.
2019-12-08 21:22:53 +01:00
Christoph Oelckers
fd181f469d
- reduced the dependency of the sound system on game state.
...
Many of the simple wrappers have been moved to a separate file and the sound source handling has been abstracted.
This is only the first phase, the work is not complete yet.
Also changed the license of the sound code to BSD after verifying that this code bears no similarity to id's original sound code anymore, save for a few function names (which are due to be refactored out anyway.)
2019-12-08 13:28:52 +01:00
Christoph Oelckers
22e692e21c
- started separating the sound engine code from game dependent parts.
...
First step: Split the header. Todo: Abstract listener and sound source specifics out of the sound engine.
2019-12-08 10:07:26 +01:00
alexey.lysiuk
bfa8e25100
- fixed crash on exiting from IWAD selector
...
https://forum.zdoom.org/viewtopic.php?t=66073
2019-10-09 15:05:20 +03:00
Christoph Oelckers
2e7af1338c
- the big cleanup of the exit cleanup is done!
...
atterm is gone and only a few system-side functions use atexit.
All game side cleanup is performed in D_DoomMain now.
2019-10-07 20:28:55 +02:00
Christoph Oelckers
d2c156224b
- cleanup of the sound init/exit code.
...
Now there is only one single entry point for both, instead of previously 2 entry and 4 exit points.
This also eliminates the explicit shutdown of ZMusic. Timidity++'s two buffers have been put in containers that self-destruct on shutdown and calling dumb_exit is not necessary because the only feature requiring it is not used by any code in the music library.
2019-10-01 20:04:46 +02:00
Christoph Oelckers
86ab366958
- some reformatting on exit code, mainly to make searching for the content easier.
2019-10-01 19:06:28 +02:00
Christoph Oelckers
d0cf21654e
- moved the CD Audio code to ZMusic, too.
...
This was the last player class.
This code was also cleaned up for non-Windows systems where CD Audio is not implemented.
Instead of providing an empty implementation, all related code is now explicitly deactivated.
2019-09-30 02:22:53 +02:00
Christoph Oelckers
cdf2a17c5a
- moved the sound decoding code to the zmusic project.
...
Since this gets used by both the sound backend and the music code it needs to be in a place accessible to both.
2019-09-29 12:48:12 +02:00
alexey.lysiuk
7ec33b6b92
- fixed crash when setting sound pitch on non-existing channel
...
This applies to a lack of free channels, -nosound command line switch, missing OpenAL library, sound initialization failures, ...
https://forum.zdoom.org/viewtopic.php?t=65926
2019-09-23 15:42:03 +03:00
Christoph Oelckers
48f2105cd1
- moved a few CCMDs from i_sound.cpp to s_sound.cpp.
2019-08-23 21:57:56 +02:00
Christoph Oelckers
66db894866
- split off all music code from s_sound.cpp
2019-08-23 17:15:19 +02:00
Major Cooke
15eabfd055
Added A_SoundPitch and an optional pitch parameter to A_PlaySound and S_Sound.
...
- Note: Because sound channels are not in zscript, there's no way to modify a sound made by S_Sound.
2019-07-24 20:15:24 +02:00
Christoph Oelckers
7351a76404
- move sound files to sound folder.
2019-07-14 17:48:55 +02:00