mirror of
https://github.com/ZDoom/qzdoom.git
synced 2025-02-19 02:21:08 +00:00
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.)
47 lines
No EOL
2.1 KiB
C
47 lines
No EOL
2.1 KiB
C
#pragma once
|
|
|
|
// Information about one playing sound.
|
|
struct sector_t;
|
|
struct FPolyObj;
|
|
|
|
void S_UpdateSounds(AActor* listenactor);
|
|
|
|
void S_Sound (AActor *ent, int channel, FSoundID sfxid, float volume, float attenuation);
|
|
void S_SoundMinMaxDist (AActor *ent, int channel, FSoundID sfxid, float volume, float mindist, float maxdist);
|
|
void S_Sound (const FPolyObj *poly, int channel, FSoundID sfxid, float volume, float attenuation);
|
|
void S_Sound (const sector_t *sec, int channel, FSoundID sfxid, float volume, float attenuation);
|
|
void S_Sound(FLevelLocals *Level, const DVector3 &pos, int channel, FSoundID sfxid, float volume, float attenuation);
|
|
|
|
void S_SoundPitchActor (AActor *ent, int channel, FSoundID sfxid, float volume, float attenuation, float pitch);
|
|
|
|
// [Nash] Used by ACS and DECORATE
|
|
void S_PlaySound(AActor *a, int chan, FSoundID sid, float vol, float atten, bool local);
|
|
void S_PlaySoundPitch(AActor *a, int chan, FSoundID sid, float vol, float atten, bool local, float pitch);
|
|
|
|
// Stops a sound emanating from one of an emitter's channels.
|
|
void S_StopSound (AActor *ent, int channel);
|
|
void S_StopSound (const sector_t *sec, int channel);
|
|
void S_StopSound (const FPolyObj *poly, int channel);
|
|
|
|
// Moves all sounds from one mobj to another
|
|
void S_RelinkSound (AActor *from, AActor *to);
|
|
|
|
// Is the sound playing on one of the emitter's channels?
|
|
bool S_GetSoundPlayingInfo (const AActor *actor, int sound_id);
|
|
bool S_GetSoundPlayingInfo (const sector_t *sector, int sound_id);
|
|
bool S_GetSoundPlayingInfo (const FPolyObj *poly, int sound_id);
|
|
|
|
bool S_IsActorPlayingSomething (AActor *actor, int channel, int sound_id);
|
|
|
|
// Change a playing sound's volume
|
|
void S_ChangeActorSoundVolume(AActor *actor, int channel, double volume);
|
|
|
|
// Change a playing sound's pitch
|
|
void S_ChangeActorSoundPitch(AActor *actor, int channel, double pitch);
|
|
|
|
// Stores/retrieves playing channel information in an archive.
|
|
void S_SerializeSounds(FSerializer &arc);
|
|
|
|
void A_PlaySound(AActor *self, int soundid, int channel, double volume, int looping, double attenuation, int local, double pitch);
|
|
static void S_SetListener(AActor *listenactor);
|
|
void S_SoundReset(); |