Prepare new maemo release
[maemo-rb.git] / apps / plugins / doom / s_sound.h
blob0a4857e82feeb2392ff2c11f77ba86034fbf3657
1 /* Emacs style mode select -*- C++ -*-
2 *-----------------------------------------------------------------------------
5 * PrBoom a Doom port merged with LxDoom and LSDLDoom
6 * based on BOOM, a modified and improved DOOM engine
7 * Copyright (C) 1999 by
8 * id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
9 * Copyright (C) 1999-2000 by
10 * Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
25 * 02111-1307, USA.
27 * DESCRIPTION:
28 * The not so system specific sound interface.
30 *-----------------------------------------------------------------------------*/
32 #ifndef __S_SOUND__
33 #define __S_SOUND__
36 #ifdef __GNUG__
37 #pragma interface
38 #endif
41 // Initializes sound stuff, including volume
42 // Sets channels, SFX and music volume,
43 // allocates channel buffer, sets S_sfx lookup.
45 void S_Init(int sfxVolume, int musicVolume);
48 // Per level startup code.
49 // Kills playing sounds at start of level,
50 // determines music if any, changes music.
52 void S_Start(void);
55 // Start sound for thing at <origin>
56 // using <sound_id> from sounds.h
58 void S_StartSound(void *origin, int sound_id);
60 // Will start a sound at a given volume.
61 void S_StartSoundAtVolume(void *origin, int sound_id, int volume);
63 // killough 4/25/98: mask used to indicate sound origin is player item pickup
64 #define PICKUP_SOUND (0x8000)
66 // Stop sound for thing at <origin>
67 void S_StopSound(void* origin);
69 // Start music using <music_id> from sounds.h
70 void S_StartMusic(int music_id);
72 // Start music using <music_id> from sounds.h, and set whether looping
73 void S_ChangeMusic(int music_id, int looping);
75 // Stops the music fer sure.
76 void S_StopMusic(void);
78 // Stop and resume music, during game PAUSE.
79 void S_PauseSound(void);
80 void S_ResumeSound(void);
83 // Updates music & sounds
85 void S_UpdateSounds(void* listener);
86 void S_SetMusicVolume(int volume);
87 void S_SetSfxVolume(int volume);
89 // machine-independent sound params
90 extern int default_numChannels;
91 extern int numChannels;
93 //jff 3/17/98 holds last IDMUS number, or -1
94 extern int idmusnum;
96 #endif