]> icculus.org git repositories - btb/d2x.git/blob - main/sounds.h
implement repair centers
[btb/d2x.git] / main / sounds.h
1 /* $Id: sounds.h,v 1.5 2003-10-10 09:36:35 btb Exp $ */
2 /*
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
13 */
14
15 /*
16  *
17  * Numbering system for the sounds.
18  *
19  * Old Log:
20  * Revision 1.1  1995/05/16  16:03:32  allender
21  * Initial revision
22  *
23  * Revision 2.0  1995/02/27  11:27:32  john
24  * New version 2.0, which has no anonymous unions, builds with
25  * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
26  *
27  * Revision 1.41  1995/02/03  17:08:28  john
28  * Changed sound stuff to allow low memory usage.
29  * Also, changed so that Sounds isn't an array of digi_sounds, it
30  * is a ubyte pointing into GameSounds, this way the digi.c code that
31  * locks sounds won't accidentally unlock a sound that is already playing, but
32  * since it's Sounds[soundno] is different, it would erroneously be unlocked.
33  *
34  * Revision 1.40  1995/01/30  21:45:17  adam
35  * added weapon change sounds
36  *
37  * Revision 1.39  1995/01/30  21:11:57  mike
38  * Use new weapon selection sounds, different for primary and secondary.
39  *
40  * Revision 1.38  1995/01/26  17:02:58  mike
41  * make fusion cannon have more chrome, make fusion, mega rock you!
42  *
43  * Revision 1.37  1995/01/18  19:46:15  matt
44  * Added sound for invulnerability wearing off, and voice message for cheating
45  *
46  * Revision 1.36  1995/01/18  19:05:04  john
47  * Increased MAX_SOUNDS.
48  *
49  * Revision 1.35  1994/12/14  16:57:08  adam
50  * *** empty log message ***
51  *
52  * Revision 1.34  1994/12/08  21:31:40  adam
53  * *** empty log message ***
54  *
55  * Revision 1.33  1994/12/08  12:33:01  mike
56  * make boss dying more interesting.
57  *
58  * Revision 1.32  1994/12/04  21:39:40  matt
59  * Added sound constants for endlevel explosions
60  *
61  * Revision 1.31  1994/11/30  14:02:58  mike
62  * see/claw/attack sounds.
63  *
64  * Revision 1.30  1994/11/29  20:43:54  matt
65  * Deleted a bunch of unused constants
66  *
67  * Revision 1.29  1994/11/29  15:48:11  matt
68  * Cleaned up, & added new sounds
69  *
70  * Revision 1.28  1994/11/29  14:35:36  adam
71  * moved lava noise index
72  *
73  * Revision 1.27  1994/11/29  13:23:30  matt
74  * Cleaned up sound constants
75  *
76  * Revision 1.26  1994/11/29  13:01:04  rob
77  * ADded badass explosion define.
78  *
79  * Revision 1.25  1994/11/29  11:34:23  rob
80  * Added new HUD sounds.
81  *
82  * Revision 1.24  1994/11/15  16:52:01  mike
83  * hiss sound placeholder.
84  *
85  * Revision 1.23  1994/10/25  16:21:45  adam
86  * changed homing sound
87  *
88  * Revision 1.22  1994/10/23  00:27:34  matt
89  * Made exploding wall do one long sound, instead of lots of small ones
90  *
91  * Revision 1.21  1994/10/22  14:12:35  mike
92  * Add sound for missile tracking player.
93  *
94  * Revision 1.20  1994/10/11  12:25:21  matt
95  * Added "hot rocks" that create badass explosion when hit by weapons
96  *
97  * Revision 1.19  1994/10/10  20:57:50  matt
98  * Added sound for exploding wall (hostage door)
99  *
100  * Revision 1.18  1994/10/04  15:33:31  john
101  * Took out the old PLAY_SOUND??? code and replaced it
102  * with direct calls into digi_link_??? so that all sounds
103  * can be made 3d.
104  *
105  * Revision 1.17  1994/09/29  21:13:41  john
106  * Added Master volumes for digi and midi. Also took out panning,
107  * because it doesn't work with MasterVolume stuff.
108  *
109  * Revision 1.16  1994/09/29  00:42:29  matt
110  * Made hitting a locked door play a sound
111  *
112  * Revision 1.15  1994/09/20  19:14:34  john
113  * Massaged the sound system; used a better formula for determining
114  * which l/r balance, also, put in Mike's stuff that searches for a connection
115  * between the 2 sounds' segments, stopping for closed doors, etc.
116  *
117  * Revision 1.14  1994/07/06  15:23:59  john
118  * Revamped hostage sound.
119  *
120  * Revision 1.13  1994/06/21  19:13:27  john
121  * *** empty log message ***
122  *
123  * Revision 1.12  1994/06/21  12:09:54  adam
124  * *** empty log message ***
125  *
126  * Revision 1.11  1994/06/21  12:03:15  john
127  * Added more sounds.
128  *
129  * Revision 1.10  1994/06/20  22:01:54  matt
130  * Added prototype for Play3D()
131  *
132  * Revision 1.9  1994/06/20  21:06:06  yuan
133  * Fixed up menus.
134  *
135  * Revision 1.8  1994/06/17  12:21:54  mike
136  * Hook for robot hits player.
137  *
138  * Revision 1.7  1994/06/15  19:01:35  john
139  * Added the capability to make 3d sounds play just once for the
140  * laser hit wall effects.
141  *
142  * Revision 1.6  1994/06/08  11:43:03  john
143  * Enable 3D sound.
144  *
145  * Revision 1.5  1994/06/07  18:21:20  john
146  * Start changing sound to the new 3D system.
147  *
148  * Revision 1.4  1994/05/16  16:17:41  john
149  * Bunch of stuff on my Inferno Task list May16-23
150  *
151  * Revision 1.3  1994/05/09  21:11:38  john
152  * Sound changes; pass index instead of pointer to digi routines.
153  * Made laser sound cut off the last laser sound.
154  *
155  * Revision 1.2  1994/04/27  11:47:46  john
156  * First version.
157  *
158  * Revision 1.1  1994/04/26  10:44:36  john
159  * Initial revision
160  *
161  *
162  */
163
164
165 #ifndef _SOUNDS_H
166 #define _SOUNDS_H
167
168 #include "vecmat.h"
169 #include "digi.h"
170
171 //------------------- List of sound effects --------------------
172
173 #define SOUND_LASER_FIRED                       10
174
175 #define SOUND_WEAPON_HIT_DOOR                   27
176 #define SOUND_WEAPON_HIT_BLASTABLE              11
177 #define SOUND_BADASS_EXPLOSION                  11  // need something different for this if possible
178
179 #define SOUND_ROBOT_HIT_PLAYER                  17
180 #define SOUND_ROBOT_SUCKED_PLAYER               SOUND_ROBOT_HIT_PLAYER // Robot sucked energy from player.
181
182 #define SOUND_ROBOT_HIT                         20
183 #define SOUND_ROBOT_DESTROYED                   21
184 #define SOUND_VOLATILE_WALL_HIT                 21
185 #define SOUND_LASER_HIT_WATER                   232
186 #define SOUND_MISSILE_HIT_WATER                 233
187
188 #define SOUND_LASER_HIT_CLUTTER                 30
189 #define SOUND_CONTROL_CENTER_HIT                30
190 #define SOUND_EXPLODING_WALL                    31  // one long sound
191 #define SOUND_CONTROL_CENTER_DESTROYED          31
192
193 #define SOUND_CONTROL_CENTER_WARNING_SIREN      32
194 #define SOUND_MINE_BLEW_UP                      33
195
196 #define SOUND_FUSION_WARMUP                     34
197 #define SOUND_DROP_WEAPON                       39
198
199 #define SOUND_FORCEFIELD_BOUNCE_PLAYER          40
200 #define SOUND_FORCEFIELD_BOUNCE_WEAPON          41
201 #define SOUND_FORCEFIELD_HUM                    42
202 #define SOUND_FORCEFIELD_OFF                    43
203
204 #define SOUND_MARKER_HIT                        50
205 #define SOUND_BUDDY_MET_GOAL                    51
206
207 #define SOUND_REFUEL_STATION_GIVING_FUEL        62
208
209 #define SOUND_PLAYER_HIT_WALL                   70
210 #define SOUND_PLAYER_GOT_HIT                    71
211
212 #define SOUND_HOSTAGE_RESCUED                   91
213
214 #define SOUND_BRIEFING_HUM                      94
215 #define SOUND_BRIEFING_PRINTING                 95
216
217 #define SOUND_COUNTDOWN_0_SECS                  100 // countdown 100..114
218 #define SOUND_COUNTDOWN_13_SECS                 113
219 #define SOUND_COUNTDOWN_29_SECS                 114
220
221 #define SOUND_HUD_MESSAGE                       117
222 #define SOUND_HUD_KILL                          118
223
224 #define SOUND_HOMING_WARNING                    122 // Warning beep: You are being tracked by a missile! Borrowed from old repair center sounds.
225
226 #define SOUND_HUD_JOIN_REQUEST                  123
227 #define SOUND_HUD_BLUE_GOT_FLAG                 124
228 #define SOUND_HUD_RED_GOT_FLAG                  125
229 #define SOUND_HUD_YOU_GOT_FLAG                  126
230 #define SOUND_HUD_BLUE_GOT_GOAL                 127
231 #define SOUND_HUD_RED_GOT_GOAL                  128
232 #define SOUND_HUD_YOU_GOT_GOAL                  129
233
234 #define SOUND_LAVAFALL_HISS                     150 // under a lavafall
235 #define SOUND_VOLATILE_WALL_HISS                151 // need a hiss sound here.
236 #define SOUND_SHIP_IN_WATER                     152 // sitting (or moving though) water
237 #define SOUND_SHIP_IN_WATERFALL                 158 // under a waterfall
238
239 #define SOUND_GOOD_SELECTION_PRIMARY            153
240 #define SOUND_BAD_SELECTION                     156
241
242 #define SOUND_GOOD_SELECTION_SECONDARY          154 // Adam: New sound number here! MK, 01/30/95
243 #define SOUND_ALREADY_SELECTED                  155 // Adam: New sound number here! MK, 01/30/95
244
245 #define SOUND_CLOAK_ON                          160 // USED FOR WALL CLOAK
246 #define SOUND_CLOAK_OFF                         161 // sound when cloak goes away
247 #define SOUND_INVULNERABILITY_OFF               163 // sound when invulnerability goes away
248
249 #define SOUND_BOSS_SHARE_SEE                    183
250 #define SOUND_BOSS_SHARE_DIE                    185
251
252 #define ROBOT_SEE_SOUND_DEFAULT                 170
253 #define ROBOT_ATTACK_SOUND_DEFAULT              171
254 #define ROBOT_CLAW_SOUND_DEFAULT                190
255
256 #define SOUND_BIG_ENDLEVEL_EXPLOSION            SOUND_EXPLODING_WALL
257 #define SOUND_TUNNEL_EXPLOSION                  SOUND_EXPLODING_WALL
258
259 #define SOUND_DROP_BOMB                         26
260
261 #define SOUND_CHEATER                           200
262
263 #define SOUND_AMBIENT_LAVA                      222
264 #define SOUND_AMBIENT_WATER                     223
265
266 #define SOUND_CONVERT_ENERGY                    241
267 #define SOUND_WEAPON_STOLEN                     244
268
269 #define SOUND_LIGHT_BLOWNUP                     157
270
271 #define SOUND_WALL_REMOVED                      246 // Wall removed, probably due to a wall switch.
272 #define SOUND_AFTERBURNER_IGNITE                247
273 #define SOUND_AFTERBURNER_PLAY                  248
274
275 #define SOUND_SECRET_EXIT                       249
276
277 #define SOUND_WALL_CLOAK_ON                     SOUND_CLOAK_ON
278 #define SOUND_WALL_CLOAK_OFF                    SOUND_CLOAK_OFF
279
280 #define SOUND_SEISMIC_DISTURBANCE_START         251
281
282 #define SOUND_YOU_GOT_ORB                       84
283 #define SOUND_FRIEND_GOT_ORB                    85
284 #define SOUND_OPPONENT_GOT_ORB                  86
285 #define SOUND_OPPONENT_HAS_SCORED               87
286
287 //--------------------------------------------------------------
288 #define MAX_SOUNDS  254     // bad to have sound 255!
289
290 // I think it would be nice to have a scrape sound...
291 //#define SOUND_PLAYER_SCRAPE_WALL                72
292
293 extern ubyte Sounds[MAX_SOUNDS];
294 extern ubyte AltSounds[MAX_SOUNDS];
295
296 #endif /* _SOUNDS_H */