diff options
Diffstat (limited to 'src/hexen/soundst.h')
-rw-r--r-- | src/hexen/soundst.h | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/hexen/soundst.h b/src/hexen/soundst.h new file mode 100644 index 00000000..963ba174 --- /dev/null +++ b/src/hexen/soundst.h @@ -0,0 +1,81 @@ + +//************************************************************************** +//** +//** soundst.h : Heretic 2 : Raven Software, Corp. +//** +//** $RCSfile: soundst.h,v $ +//** $Revision: 1.13 $ +//** $Date: 95/10/12 18:01:27 $ +//** $Author: cjr $ +//** +//************************************************************************** + +#ifndef __SOUNDSTH__ +#define __SOUNDSTH__ + +typedef struct +{ + char name[8]; + int p1; +} musicinfo_t; + +typedef struct sfxinfo_s +{ + char tagName[32]; + char lumpname[12]; // Only need 9 bytes, but padded out to be dword aligned + //struct sfxinfo_s *link; // Make alias for another sound + int priority; // Higher priority takes precendence + int usefulness; // Determines when a sound should be cached out + void *snd_ptr; + int lumpnum; + int numchannels; // total number of channels a sound type may occupy + boolean changePitch; +} sfxinfo_t; + +typedef struct +{ + mobj_t *mo; + int sound_id; + int handle; + int volume; + int pitch; + int priority; +} channel_t; + +typedef struct +{ + long id; + unsigned short priority; + char *name; + mobj_t *mo; + int distance; +} ChanInfo_t; + +typedef struct +{ + int channelCount; + int musicVolume; + int soundVolume; + ChanInfo_t chan[8]; +} SoundInfo_t; + +extern int snd_MaxVolume; +extern int snd_MusicVolume; + +void S_Start(void); +void S_StartSound(mobj_t *origin, int sound_id); +int S_GetSoundID(char *name); +void S_StartSoundAtVolume(mobj_t *origin, int sound_id, int volume); +void S_StopSound(mobj_t *origin); +void S_StopAllSound(void); +void S_PauseSound(void); +void S_ResumeSound(void); +void S_UpdateSounds(mobj_t *listener); +void S_StartSong(int song, boolean loop); +void S_StartSongName(char *songLump, boolean loop); +void S_Init(void); +void S_GetChannelInfo(SoundInfo_t *s); +void S_SetMusicVolume(void); +boolean S_GetSoundPlayingInfo(mobj_t *mobj, int sound_id); + +#endif |