summaryrefslogtreecommitdiff
path: root/src/hexen/soundst.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/hexen/soundst.h')
-rw-r--r--src/hexen/soundst.h81
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