summaryrefslogtreecommitdiff
path: root/src/strife/s_sound.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/strife/s_sound.h')
-rw-r--r--src/strife/s_sound.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/strife/s_sound.h b/src/strife/s_sound.h
new file mode 100644
index 00000000..5e763014
--- /dev/null
+++ b/src/strife/s_sound.h
@@ -0,0 +1,103 @@
+// Emacs style mode select -*- C++ -*-
+//-----------------------------------------------------------------------------
+//
+// Copyright(C) 1993-1996 Id Software, Inc.
+// Copyright(C) 2005 Simon Howard
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+// 02111-1307, USA.
+//
+// DESCRIPTION:
+// The not so system specific sound interface.
+//
+//-----------------------------------------------------------------------------
+
+
+#ifndef __S_SOUND__
+#define __S_SOUND__
+
+#include "p_mobj.h"
+#include "sounds.h"
+
+//
+// Initializes sound stuff, including volume
+// Sets channels, SFX and music volume,
+// allocates channel buffer, sets S_sfx lookup.
+//
+
+void S_Init(int sfxVolume, int musicVolume, int voiceVolume);
+
+
+// Shut down sound
+
+void S_Shutdown(void);
+
+
+
+//
+// Per level startup code.
+// Kills playing sounds at start of level,
+// determines music if any, changes music.
+//
+
+void S_Start(void);
+
+//
+// Start sound for thing at <origin>
+// using <sound_id> from sounds.h
+//
+
+void S_StartSound(void *origin, int sound_id);
+
+// haleyjd 09/11/10: [STRIFE] Start a voice.
+void I_StartVoice(const char *lumpname);
+
+// Stop sound for thing at <origin>
+void S_StopSound(mobj_t *origin);
+
+
+// Start music using <music_id> from sounds.h
+void S_StartMusic(int music_id);
+
+// Start music using <music_id> from sounds.h,
+// and set whether looping
+void S_ChangeMusic(int music_id, int looping);
+
+// query if music is playing
+boolean S_MusicPlaying(void);
+
+// Stops the music fer sure.
+void S_StopMusic(void);
+
+// Stop and resume music, during game PAUSE.
+void S_PauseSound(void);
+void S_ResumeSound(void);
+
+
+//
+// Updates music & sounds
+//
+void S_UpdateSounds(mobj_t *listener);
+
+void S_SetMusicVolume(int volume);
+void S_SetSfxVolume(int volume);
+void S_SetVoiceVolume(int volume); // haleyjd 09/11/10: [STRIFE]
+
+extern int snd_channels;
+
+extern int disable_voices;
+
+#endif
+