1 /* Patrick 5/6/97 -------------------------------------------------------------
2   AvP Project sound header
3   ----------------------------------------------------------------------------*/
4 #ifndef PSNDPROJ_H
5 #define PSNDPROJ_H
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 #include "equipmnt.h"
12 
13 /* Andy 12/6/97 --------------------------------------------------------------
14   Some background sound defines
15 ----------------------------------------------------------------------------*/
16 #define BACKGROUND_VOLUME 80
17 #define BACKGROUND_ATTENUATION 5
18 #define ZONE_WIDTH_SHIFT 15    // Size of the sound zones (log 2)
19 
20 #define ZONE_WIDTH 1<<ZONE_WIDTH_SHIFT
21 
22 /* Patrick 5/6/97 -------------------------------------------------------------
23   Enumeration of all the sounds that may be loaded/used in the game. Each
24   of these corresponds to a data slot in the GameSounds[] array, and to the Id
25   number specified for each sound in the sound data file
26   ----------------------------------------------------------------------------*/
27 typedef enum soundindex
28 {
29 	SID_PRED_LAUNCHER, // 0  //Used, plasmacaster fire
30 	SID_PRED_FRISBEE,	 // Yes!
31 	SID_PRED_PISTOL,  // Yes, pistol (Duh!)
32 	SID_PRED_SNARL,	//No
33 	SID_PRED_SCREAM1, //No
34 	SID_PRED_LASER, //Yes, speargun (!)
35 	SID_PULSE_START,  //Yes
36 	SID_PULSE_LOOP, //Yes
37 	SID_PULSE_END, //Yes
38 	SID_LIFT_START, //Remove?
39 
40 	SID_LIFT_LOOP,		//10 //Remove?
41 	SID_LIFT_END, //Remove?
42 	SID_SWITCH1,		//Remove?
43 	SID_SWITCH2,		// not loaded
44 	SID_ALIEN_SCREAM,  // 14  //No
45 	SID_SWIPE,//No
46 	SID_SWISH,//No
47 	SID_TAIL, //No
48 	SID_VISION_ON, //Yes
49 	SID_VISION_LOOP,   // not loaded (Continuous pred background)
50 
51 	SID_SWIPE2,			// 20 //No
52 	SID_SWIPE3,		//No
53 	SID_SWIPE4,		//No
54 	SID_PRED_HISS,	//No
55 	SID_HIT_FLESH,	//No
56 	SID_ALIEN_HIT,			//No
57 	SID_ALIEN_KILL, // Only used for queen death!
58 	SID_ALIEN_HISS, //No
59 	SID_ALIEN_HISS1,//No
60 	SID_FIRE,			// 29 //Yes
61 
62 	SID_BUGDIE1,		// 30 //No
63 	SID_BUGDIE2,			  //No
64 	SID_BUGDIE3,			  //No
65 	SID_MARINE_DEATH1,		  //No
66 	SID_MARINE_DEATH2,		  //No
67 	SID_PRED_LOUDROAR,	 // 35 not loaded //No
68 	SID_MARINE_HIT, 	//No
69 	SID_ALIEN_HIT2,		//No
70 	SID_PICKUP, // Yes, misc pickups, e.g. security pass
71 	SID_RICOCH1, //Yes
72 
73 	SID_RICOCH2,		// 40 //Yes
74 	SID_RICOCH3,//Yes
75 	SID_RICOCH4,//Yes
76 	SID_ARMSTART,		 // 43 //Xenoborg
77 	SID_ARMMID, //Xenoborg, sentrygun
78 	SID_ARMEND, //Xenoborg
79 	SID_PRED_SHORTROAR,	  // 46 not loaded
80 	SID_PRED_SLASH,		  // 47 not loaded
81 	SID_RIP,			  // 48 not loaded
82 	SID_PRED_NEWROAR, 	  // Medicomp stab!
83 
84 	SID_SPLASH1,		  // 50 //Yes
85 	SID_SPLASH2, //Yes
86 	SID_SPLASH3, //yes
87 	SID_SPLASH4, //Yes
88 	SID_POWERUP, //Xenoborg
89 	SID_POWERDN, //Xenoborg
90 	SID_TELETEXT,//Yes
91 	SID_TRACKER_CLICK,//Yes
92 	SID_TRACKER_WHEEP,//Yes
93 	SID_ACID_SPRAY, //Facehugger damaged
94 
95 	SID_DOORSTART,       // 60 //Yes
96 	SID_DOORMID, //Yes
97 	SID_DOOREND,	//Yes
98 	SID_BORGON,			// 63
99 	SID_SPARKS, //Yes
100 	SID_STOMP, //Xenoborg
101 	SID_LOADMOVE, //Xenoborg
102 	SID_FHUG_ATTACKLOOP, //Yes (FHug!)
103 	SID_FHUG_MOVE, //Yes (FHug!)
104 	SID_NOAMMO, //Yes (Smartgun click, sentrygun slick)
105 
106 	SID_LONGLOAD,		  //70 //No
107 	SID_NADELOAD,//No
108 	SID_NADEFIRE,//Yes
109 	SID_NADEEXPLODE,//Yes
110 	SID_SHRTLOAD,	//No
111 	SID_INCIN_START, //Yes
112 	SID_INCIN_LOOP, //Yes
113 	SID_INCIN_END, //Yes
114 	SID_ROCKFIRE, //Yes (Grenade launcher)
115   	SID_SHOTGUN,		//Yes (pistols)
116 
117 	SID_SMART1,			  //80 //Yes
118 	SID_SMART2, //Yes
119 	SID_SMART3, //Yes
120 	SID_SENTRY_GUN, //Yes
121 	SID_SENTRY_END, //Yes
122 	SID_NICE_EXPLOSION, //Yes (SADARS etc)
123 	SID_EXPLOSION, //Yes (inanimates)
124 	SID_MINIGUN_END, //Yes
125 	SID_MINIGUN_LOOP, //Yes
126 	SID_SPEARGUN_HITTING_WALL, //Yes
127 
128 	SID_FRAG_RICOCHETS,      //90  //Yes
129 	SID_PLASMABOLT_DISSIPATE, //Yes
130 	SID_PLASMABOLT_HIT, //Yes
131 	SID_BLOOD_SPLASH, //No
132 	SID_ALIEN_JAW_ATTACK,//Yes
133 	SID_TRACKER_WHEEP_HIGH, //Yes
134 	SID_TRACKER_WHEEP_LOW, //Yes
135 	SID_PULSE_RIFLE_FIRING_EMPTY, //Yes
136 	SID_THROW_FLARE, //Yes
137 	SID_BODY_BEING_HACKED_UP_0, //Yes
138 
139 	SID_BODY_BEING_HACKED_UP_1, //100 //Yes
140 	SID_BODY_BEING_HACKED_UP_2,//Yes
141 	SID_BODY_BEING_HACKED_UP_3,//Yes
142 	SID_BODY_BEING_HACKED_UP_4,//Yes
143 	SID_CONSOLE_ACTIVATES,//Yes
144 	SID_CONSOLE_DEACTIVATES,//Yes
145 	SID_CONSOLE_MARINEMESSAGE,//Yes
146 	SID_CONSOLE_ALIENMESSAGE,//Yes
147 	SID_CONSOLE_PREDATORMESSAGE,//Yes
148 	SID_MINIGUN_READY, //No! WIL_MINIGUN_READY used instead.
149 
150 	SID_MINIGUN_EMPTY, //110 //Yes
151 	SID_SMART_MODESWITCH,//Yes
152 	SID_GRENADE_BOUNCE,//Yes
153 	SID_BURNING_FLARE,//Yes
154 	SID_FLAMETHROWER_PILOT_LIGHT,//Not yet...
155 	SID_MARINE_JUMP_START,//No
156 	SID_MARINE_JUMP_END,//Not yet!
157 	SID_MARINE_PICKUP_WEAPON,//Yes
158 	SID_MARINE_PICKUP_AMMO,	 //Yes
159 	SID_MARINE_PICKUP_ARMOUR,//Yes
160 
161 	SID_PREDATOR_PICKUP_FIELDCHARGE, //120 //Yes
162 	SID_PREDATOR_PICKUP_WEAPON, // In code, but never happens
163 	SID_PREDATOR_CLOAKING_ACTIVE,//Yes (vision modes)
164 	SID_PREDATOR_CLOAKING_DAMAGED,//Not yet!
165 	SID_PREDATOR_SPEARGUN_EMPTY,//In code, but never happens
166 	SID_PREDATOR_PLASMACASTER_TARGET_FOUND,//Yes
167 	SID_PREDATOR_PLASMACASTER_TARGET_LOCKED,//Yes
168 	SID_PREDATOR_PLASMACASTER_TARGET_LOST,//Yes
169 	SID_PREDATOR_PLASMACASTER_CHARGING,//Yes
170 	SID_PREDATOR_PLASMACASTER_EMPTY,// In code but never happens
171 
172 	SID_PREDATOR_DISK_TARGET_LOCKED, //130 //Yes
173 	SID_PREDATOR_DISK_FLYING,//Yes
174 	SID_PREDATOR_DISK_HITTING_TARGET,//Yes
175 	SID_PREDATOR_DISK_HITTING_WALL,//Yes
176 	SID_PREDATOR_DISK_BEING_CAUGHT,//Yes
177 	SID_PREDATOR_DISK_RECOVERED,//Yes
178 	SID_PREDATOR_VOCAL_SNARL_1,//No
179 	SID_PREDATOR_VOCAL_SNARL_2,//No
180 	SID_ALIEN_TAILUNFURL, //No
181 	SID_ALIEN_TAUNT_1, //No
182 
183 	SID_ALIEN_TAUNT_2,	// 140 //No
184 	SID_SENTRYGUN_LOCK, //Not at the moment
185 	SID_SENTRYGUN_SHUTDOWN, //Yes
186 	SID_WIL_MINIGUN_READY,	//Yes
187 	SID_SADAR_FIRE,//Yes
188 	SID_DISC_STICKSINWALL,//Yes
189 	SID_PREDATOR_PLASMACASTER_REDTRIANGLES,//Yes
190 	SID_WIL_PRED_PISTOL_EXPLOSION,//Yes
191 	SID_PROX_GRENADE_READYTOBLOW,//Yes
192 	SID_PROX_GRENADE_ACTIVE,	 //Yes
193 
194 	SID_MARINE_JUMP_START_2, //150 //No
195 	SID_MARINE_JUMP_START_3,//No
196 	SID_MARINE_JUMP_START_4,//No
197 	SID_ED_GRENADE_EXPLOSION,//Yes
198 	SID_ED_GRENADE_PROXEXPLOSION,//Yes
199 	SID_ED_MOLOTOV_EXPLOSION,//Yes
200 	SID_ED_LARGEWEAPONDROP,//Yes
201 	SID_MENUS_SELECT_ITEM,//Yes
202 	SID_MENUS_CHANGE_ITEM,//Yes
203 	SID_PRED_JUMP_START_1,//No
204 	SID_PRED_JUMP_START_2,//No
205 	SID_PRED_JUMP_START_3,//No
206 	SID_PRED_CLOAKON,//Yes
207 	SID_PRED_CLOAKOFF,//Yes
208 	SID_PRED_ZOOM_IN,
209 	SID_PRED_ZOOM_OUT,
210 
211 	SID_MARINE_SMALLLANDING,
212 	SID_PRED_SMALLLANDING,
213 	SID_ED_FACEHUGGERSLAP,
214 	SID_LIGHT_FLICKER_ON, //Yes
215 	SID_ED_SENTRYTURN01,
216 	SID_PULSE_SWIPE01,
217 	SID_PULSE_SWIPE02,
218 	SID_PULSE_SWIPE03,
219 	SID_PULSE_SWIPE04,
220 	SID_ED_JETPACK_START,
221 	SID_ED_JETPACK_MID,
222 	SID_ED_JETPACK_END,
223 	SID_GRAPPLE_HIT_WALL,
224 	SID_GRAPPLE_THROW,
225 	SID_SENTRYGUNDEST,
226 	SID_ED_ELEC_DEATH,
227 	SID_IMAGE,
228 	SID_IMAGE_OFF,
229 	SID_PRED_CLOAK_DAMAGE,
230 	SID_ED_SKEETERLAUNCH,
231 	SID_ED_SKEETERPLASMAFIRE,
232 	SID_ED_SKEETERDISC_SPIN,
233 	SID_ED_SKEETERDISC_HITWALL,
234 	SID_ED_SKEETERCHARGE,
235 	SID_INTROWOOSH,
236 
237 	SID_STARTOF_LOADSLOTS,
238 	SID_UNUSED_125,
239   SID_UNUSED_126,
240   SID_UNUSED_127,
241   SID_UNUSED_128,
242   SID_UNUSED_129,
243   SID_UNUSED_130,
244   SID_UNUSED_131,
245   SID_UNUSED_132,
246   SID_UNUSED_133,
247   SID_UNUSED_134,
248   SID_UNUSED_135,
249   SID_UNUSED_136,
250   SID_UNUSED_137,
251   SID_UNUSED_138,
252   SID_UNUSED_139,
253   SID_UNUSED_140,
254   SID_UNUSED_141,
255   SID_UNUSED_142,
256   SID_UNUSED_143,
257   SID_UNUSED_144,
258   SID_UNUSED_145,
259   SID_UNUSED_146,
260   SID_UNUSED_147,
261   SID_UNUSED_148,
262   SID_UNUSED_149,
263   SID_UNUSED_150,
264   SID_UNUSED_151,
265   SID_UNUSED_152,
266   SID_UNUSED_153,
267   SID_UNUSED_154,
268   SID_UNUSED_155,
269   SID_UNUSED_156,
270   SID_UNUSED_157,
271   SID_UNUSED_158,
272   SID_UNUSED_159,
273   SID_UNUSED_160,
274   SID_UNUSED_161,
275   SID_UNUSED_162,
276   SID_UNUSED_163,
277   SID_UNUSED_164,
278   SID_UNUSED_165,
279   SID_UNUSED_166,
280   SID_UNUSED_167,
281   SID_UNUSED_168,
282   SID_UNUSED_169,
283   SID_UNUSED_170,
284   SID_UNUSED_171,
285   SID_UNUSED_172,
286   SID_UNUSED_173,
287   SID_UNUSED_174,
288   SID_UNUSED_175,
289   SID_UNUSED_176,
290   SID_UNUSED_177,
291   SID_UNUSED_178,
292   SID_UNUSED_179,
293   SID_UNUSED_180,
294   SID_UNUSED_181,
295   SID_UNUSED_182,
296   SID_UNUSED_183,
297   SID_UNUSED_184,
298   SID_UNUSED_185,
299   SID_UNUSED_186,
300   SID_UNUSED_187,
301   SID_UNUSED_188,
302   SID_UNUSED_189,
303   SID_UNUSED_190,
304   SID_UNUSED_191,
305   SID_UNUSED_192,
306   SID_UNUSED_193,
307   SID_UNUSED_194,
308   SID_UNUSED_195,
309   SID_UNUSED_196,
310   SID_UNUSED_197,
311   SID_UNUSED_198,
312   SID_UNUSED_199,
313   SID_UNUSED_200,
314   SID_UNUSED_201,
315   SID_UNUSED_202,
316   SID_UNUSED_203,
317   SID_UNUSED_204,
318   SID_UNUSED_205,
319   SID_UNUSED_206,
320   SID_UNUSED_207,
321   SID_UNUSED_208,
322   SID_UNUSED_209,
323   SID_UNUSED_210,
324   SID_UNUSED_211,
325   SID_UNUSED_212,
326   SID_UNUSED_213,
327   SID_UNUSED_214,
328   SID_UNUSED_215,
329   SID_UNUSED_216,
330   SID_UNUSED_217,
331   SID_UNUSED_218,
332   SID_UNUSED_219,
333   SID_UNUSED_220,
334   SID_UNUSED_221,
335   SID_UNUSED_222,
336   SID_UNUSED_223,
337   SID_UNUSED_224,
338   SID_UNUSED_225,
339   SID_UNUSED_226,
340   SID_UNUSED_227,
341   SID_UNUSED_228,
342   SID_UNUSED_229,
343   SID_UNUSED_230,
344   SID_UNUSED_231,
345   SID_UNUSED_232,
346   SID_UNUSED_233,
347   SID_UNUSED_234,
348   SID_UNUSED_235,
349   SID_UNUSED_236,
350   SID_UNUSED_237,
351   SID_UNUSED_238,
352   SID_UNUSED_239,
353 
354 	SID_ENDOF_LOADSLOTS=800,
355 
356 	SID_MAXIMUM, /* SPECIAL: used to trap out of bounds values */
357 	SID_NOSOUND	 /* SPECIAL: used to specify a null sound */
358 }SOUNDINDEX;
359 
360 /* Patrick 5/6/97 -------------------------------------------------------------
361   Project level sound function prototypes
362   ----------------------------------------------------------------------------*/
363 extern void DoPlayerSounds(void);
364 extern void MakeRicochetSound(VECTORCH *position);
365 extern void DoBackgroundSound(void);
366 extern void StopBackgroundSound(void);
367 extern void PlayAlienSwipeSound(void);
368 extern void PlayAlienTailSound(void);
369 extern void PlayPredSlashSound(void);
370 extern void PlayCudgelSound(void);
371 
372 extern void MenuChangeSound(void);
373 extern void MenuSelectSound(void);
374 extern void MenuNotAvailableSound(int *handlePtr);
375 extern void MenuSliderBarSound(int *handlePtr);
376 void PlayWeaponClickingNoise(enum WEAPON_ID weaponIDNumber);
377 
378 
379 /* Patrick 5/6/97 -------------------------------------------------------------
380   Sound data loader
381   ----------------------------------------------------------------------------*/
382 /*Moved to psndproj since it now uses a project specific file to find the files -Richard */
383 extern void LoadSounds(char *soundDirectory);
384 
385 //loads wav file locally or from network or from fast file as appropriate
386 extern int FindAndLoadWavFile(int soundNum,char* wavFileName);
387 
388 /* Patrick 10/6/97 -------------------------------------------------------------
389   Enumeration of CDDA tracks
390   ----------------------------------------------------------------------------*/
391 typedef enum cdtrackid
392 {
393 	CDTrack1 = 1,
394   CDTrack2,
395   CDTrack3,
396   CDTrack4,
397   CDTrack5,
398   CDTrack6,
399   CDTrack7,
400   CDTrack8,
401   CDTrack9,
402   CDTrack10,
403   CDTrack11,
404   CDTrack12,
405   CDTrack13,
406   CDTrack14,
407   CDTrack15,
408   CDTrack16,
409   CDTrack17,
410   CDTrack18,
411   CDTrack19,
412   CDTrack20,
413   CDTrack21,
414   CDTrack22,
415   CDTrack23,
416   CDTrack24,
417   CDTrack25,
418   CDTrack26,
419 //  CDTrackMax, /* SPECIAL: used to trap out of bounds values */
420 } CDTRACKID;
421 
422 extern int CDTrackMax; //bas maximum cd track on the actual number of tracks
423 
424 #ifdef __cplusplus
425 }
426 #endif
427 
428 #endif
429 
430