1 /*
2  * SDLRoids - An Astroids clone.
3  *
4  * Copyright (c) 2000 David Hedbor <david@hedbor.org>
5  * 	based on xhyperoid by Russel Marks.
6  * 	xhyperoid is based on a Win16 game, Hyperoid by Edward Hutchins
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
16  *
17  */
18 
19 /*
20  * sound.h - sound related defines and prototypes.
21  */
22 
23 /* virtual sound channels, used for mixing.
24  * each can play at most one sample at a time.
25  */
26 
27 #define PSHOT_CHANNEL	0	/* player shot */
28 #define PTHRUST_CHANNEL 1
29 #define ASTEROID_CHANNEL 2	/* asteroid being hit */
30 #define BADDIE_CHANNEL	3	/* baddie being hit */
31 #define BSHOT_CHANNEL	4	/* baddie shot channel */
32 #define EFFECT_CHANNEL  5	/* effects like level end noises */
33 
34 #define NUM_CHANNELS	6
35 
36 /* sample offsets in sample[] */
37 #define PSHOT_SAMPLE		0
38 #define PTHRUST_SAMPLE		1
39 #define EXPLODE_SAMPLE		2
40 #define EXPLODE2_SAMPLE		3
41 #define BSHOT_SAMPLE		4
42 #define PHIT_SAMPLE		5
43 #define TITLE_SAMPLE		6
44 #define NEWBONUS_SAMPLE		7
45 #define NEWHUNT_SAMPLE		8
46 #define NEWSWARM_SAMPLE		NEWHUNT_SAMPLE
47 #define NEWSPIN_SAMPLE		NEWHUNT_SAMPLE
48 #define BONUSGOT_SAMPLE		9
49 #define BONUSSHOT_SAMPLE	EXPLODE_SAMPLE
50 #define BONUSTIMEOUT_SAMPLE	EXPLODE_SAMPLE
51 #define HUNTEXPLODE_SAMPLE	EXPLODE2_SAMPLE
52 #define SPINEXPLODE_SAMPLE	EXPLODE_SAMPLE
53 #define ROIDSPLIT_SAMPLE	EXPLODE_SAMPLE
54 #define ROIDNOSPLIT_SAMPLE	EXPLODE_SAMPLE
55 #define BADDIEWOUND_SAMPLE	10
56 #define SWARMSPLIT_SAMPLE	11
57 #define EXTRALIFE_SAMPLE	BONUSGOT_SAMPLE
58 #define NUM_SAMPLES		12
59 
60 
61 extern void queuesam(int chan,int sam);
62 extern void loopsam(int chan,int sam);
63 extern void init_sound(void);
64 extern void exit_sound(void);
65