ScummVM API documentation
sound.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef HDB_SOUND_H
23 #define HDB_SOUND_H
24 
25 #define SFNAME_TITLE "jungle.mp3"
26 #define SFNAME_MENU "on_a_mission.mp3"
27 #define SFNAME_ROBO "low_techno.mp3"
28 #define SFNAME_MEXI "ambient_mexi_howl.mp3"
29 #define SFNAME_BASSO "amb_walkin_basso.mp3"
30 #define SFNAME_WIND "dangerous_wind.mp3"
31 #define SFNAME_INDUSTRO "industro_hunch.mp3"
32 #define SFNAME_JACKIN "jaround.mp3"
33 #define SFNAME_SNEAKERS "lost_my_sneakers.mp3"
34 #define SFNAME_QUIET "mysterious_quiet.mp3"
35 #define SFNAME_JEEBIES "jeebies5B.mp3"
36 #define SFNAME_VIBRACIOUS "vibracious_(dope_delivery_mix).mp3"
37 #define SFNAME_ROMANTIC "romantic.mp3"
38 #define SFNAME_ARETHERE "AreWeThereYet_(extended).mp3"
39 
40 #define SFNAME_CORRIDOR "corridor(extended).mp3"
41 #define SFNAME_MOKE "moke_a_doke_doke.mp3"
42 #define SFNAME_TILES "tilesache(extended).mp3"
43 #define SFNAME_DARKVIB "vibracious_(Dark_Delivery_Mix).mp3"
44 #define SFNAME_EXPER "experimentatus_(extended).mp3"
45 
46 #define FIRST_VOICE V00_AIRLOCK_01
47 #define NUM_VOICES ( LAST_SOUND - FIRST_VOICE )
48 
49 #include "audio/audiostream.h"
50 #include "audio/mixer.h"
51 #include "audio/decoders/wave.h"
52 #include "audio/decoders/mp3.h"
53 #include "audio/decoders/vorbis.h"
54 
55 namespace HDB {
56 
57 enum {
58  kMaxSNDChannels = 32,
59  kMaxSounds = 5000,
60  kLaserChannel = kMaxSNDChannels - 1
61 };
62 
63 enum SoundType {
64  SONG_NONE,
65  SND_GUI_INPUT,
66  SND_MAIL_PROCESS,
67  SND_MONKEY_OOHOOH,
68  SND_GET_GEM,
69  SND_MENU_ACCEPT,
70  SND_MENU_BACKOUT,
71  SND_MENU_SLIDER,
72  SND_DIALOG_CLOSE,
73  SND_CRATE_SLIDE,
74  SND_LIGHT_SLIDE,
75  SND_HEAVY_SLIDE,
76  SND_POP,
77  SND_TELEPORT,
78  SND_FOOTSTEPS,
79  SND_SPLASH,
80  SND_CELLHOLDER_USE_REJECT,
81  SND_CHICKEN_AMBIENT,
82  SND_FERRET_SQUEAK,
83  SND_SWITCH_USE,
84  SND_MOVE_SELECTION,
85  SND_NOTICE,
86  SND_MAINTBOT_WHOOSH1,
87  SND_MAINTBOT_WHOOSH2,
88  SND_SHIPMOVING_INTRO,
89  SND_DIALOG_OPEN,
90  SND_TOUCHPLATE_CLICK,
91  SND_DOOR_OPEN_CLOSE,
92  SND_MBOT_HYEAH,
93  SND_MBOT_YEAH,
94  SND_MBOT_WHISTLE1,
95  SND_CLUB_MISS,
96  SND_CLUB_HIT_METAL,
97  SND_CLUB_HIT_FLESH,
98  SND_FROG_LICK,
99  SND_ROBOT_STUNNED,
100  SND_QUEST_FAILED,
101  SND_GET_MONKEYSTONE,
102  SND_INSERT_CELL,
103  SND_CABINET_OPEN,
104  SND_CABINET_CLOSE,
105  SND_MAILSORTER_HAPPY,
106  SND_QUEST_COMPLETE,
107  SND_TRY_AGAIN,
108  SND_AIRLOCK_CLOSE,
109  SND_BYE,
110  SND_FART,
111  SND_FART2,
112  SND_GUY_UHUH,
113  SND_GUY_DYING,
114  SND_GEM_THROW,
115  SND_INV_SELECT,
116  SND_INFOCOMP,
117  SND_CLOCK_BONK,
118  SND_HDB,
119  SND_VORTEX_SAVE,
120  SND_GET_GOO,
121  SND_MANNY_CRASH,
122  SND_BARREL_EXPLODE,
123  SND_BARREL_MELTING,
124  SND_CHICKEN_BAGAWK,
125  SND_CHICKEN_DEATH,
126  SND_GET_THING,
127  SND_STEPS_ICE,
128  SND_FOURFIRE_TURN,
129  SND_FOUR_FIRE,
130  SND_SHOCKBOT_AMBIENT,
131  SND_SHOCKBOT_SHOCK,
132  SND_RAILRIDER_ONTRACK,
133  SND_RAILRIDER_TASTE,
134  SND_RAILRIDER_EXIT,
135  SND_GUY_FRIED,
136  SND_MAILSORTER_UNHAPPY,
137  SND_GET_CLUB,
138  SND_BUZZFLY_FLY,
139  SND_BUZZFLY_STUNNED,
140  SND_BUZZFLY_STING,
141  SND_FATFROG_STUNNED,
142  SND_NOPUSH_SIZZLE,
143  SND_OMNIBOT_FIRE,
144  SND_RIGHTBOT_TURN,
145  SND_RIGHTBOT_STUNNED,
146  SND_MONKEY_WIN,
147  SND_FALL_DOWN_HOLE,
148  SND_MBOT_HMMM,
149  SND_MBOT_HMMM2,
150  SND_MBOT_DEATH,
151  SND_MBOT_WHISTLE2,
152  SND_MBOT_WHISTLE3,
153  SND_DEADEYE_AMB01,
154  SND_DEADEYE_AMB02,
155  SND_DEADEYE_ATTACK01,
156  SND_DEADEYE_ATTACK02,
157  SND_FROG_RIBBIT1,
158  SND_FROG_RIBBIT2,
159  SND_MEERKAT_BITE,
160  SND_BRIDGE_EXTEND,
161  SND_BRIDGE_START,
162  SND_BRIDGE_END,
163  SND_MACHINE_AMBIENT1,
164  SND_GET_STUNNER,
165  SND_GET_SLUG,
166  SND_GUY_DROWN,
167  SND_GUY_GRABBED,
168  SND_PANIC,
169  SND_PANIC_COUNT,
170  SND_PANIC_DEATH,
171  SND_LASER_LOOP,
172  SND_SLOT_WIN,
173  SND_SLOT_SPIN,
174  SND_SLOT_STOP,
175  SND_GOOD_FAERIE_AMBIENT,
176  SND_GOOD_FAERIE_SPELL,
177  SND_GOOD_FAERIE_STUNNED,
178  SND_ICEPUFF_WARNING,
179  SND_ICEPUFF_THROW,
180  SND_ICEPUFF_STUNNED,
181  SND_ICEPUFF_APPEAR,
182  SND_GUY_PLUMMET,
183  SND_PUSH_DIVERTER,
184  SND_TURNBOT_TURN,
185  SND_PUSHBOT_STRAIN,
186  SND_MONKEYSTONE_SECRET_STAR,
187  SND_OMNIBOT_AMBIENT,
188  SND_PUSHBOT_STUNNED,
189  SND_MEERKAT_WARNING,
190  SND_MEERKAT_APPEAR,
191  SND_MEERKAT_STUNNED,
192  SND_TURNBOT_STUNNED,
193  SND_DRAGON_WAKE,
194  SND_DRAGON_FALLASLEEP,
195  SND_DRAGON_BREATHEFIRE,
196  SND_BADFAIRY_AMBIENT,
197  SND_BADFAIRY_SPELL,
198  SND_BADFAIRY_STUNNED,
199  SND_DEMIGOD_AMBIENT,
200  SND_DEMIGOD_HOLYSPEECH,
201  SND_DEMIGOD_UNHAPPY,
202  SND_GATEPUDDLE_AMBIENT,
203  SND_GATEPUDDLE_DISSIPATE,
204  SND_GATEPUDDLE_SPAWN,
205  SND_REALSLOT_SPIN,
206  SND_REALSLOT_STOP,
207  SND_REALSLOT_WIN,
208  SND_SLUG_FIRE,
209  SND_SLUG_HIT,
210  SND_STUNNER_FIRE,
211  SND_UNLOCKED_ITEM,
212 
213  SONG_TITLE,
214  SONG_MENU,
215  SONG_ROBO,
216  SONG_MEXI,
217  SONG_BASSO,
218  SONG_WIND,
219  SONG_INDUSTRO,
220  SONG_JACKIN,
221  SONG_SNEAKERS,
222  SONG_QUIET,
223  SONG_JEEBIES,
224  SONG_VIBRACIOUS,
225  SONG_ROMANTIC,
226  SONG_ARETHERE,
227 
228  SONG_CORRIDOR,
229  SONG_MOKE,
230  SONG_TILES,
231  SONG_DARKVIB,
232  SONG_EXPER,
233 
234  SND_BEEPBEEPBEEP,
235 
236  V00_AIRLOCK_01,
237  V00_ARNIE_01,
238 
239  V00_BRAD_01,
240  V00_BRAD_02,
241  V00_BRAD_03,
242 
243  V00_BUSTER_01,
244  V00_BUSTER_02,
245  V00_BUSTER_03,
246  V00_BUSTER_04,
247  V00_BUSTER_05,
248  V00_BUSTER_06,
249  V00_BUSTER_07,
250  V00_BUSTER_08,
251  V00_BUSTER_09,
252  V00_BUSTER_10,
253  V00_BUSTER_11,
254  V00_BUSTER_12,
255  V00_BUSTER_13A,
256  V00_BUSTER_13B,
257  V00_BUSTER_14,
258  V00_BUSTER_15,
259  V00_BUSTER_16,
260  V00_BUSTER_17,
261  V00_BUSTER_18,
262  V00_BUSTER_19,
263 
264  V00_CHICKEN_01,
265 
266  V00_CHUTEGUARD_01,
267  V00_CHUTEGUARD_02,
268  V00_CHUTEGUARD_03,
269  V00_CHUTEGUARD_04,
270  V00_CHUTEGUARD_05,
271 
272  V00_COOPER_01,
273  V00_COOPER_02,
274  V00_COOPER_03,
275  V00_COOPER_04,
276  V00_COOPER_05,
277 
278  V00_DINERS_01,
279  V00_DINERS_02,
280  V00_DINERS_03,
281  V00_DINERS_04,
282  V00_DINERS_05,
283  V00_DINERS_06,
284 
285  V00_DOLLY_01,
286  V00_DOLLY_02,
287  V00_DOLLY_03,
288  V00_DOLLY_04,
289  V00_DOLLY_05,
290  V00_DOLLY_06,
291  V00_DOLLY_07,
292  V00_DOLLY_08,
293  V00_DOLLY_09,
294 
295  V00_DOREK_01,
296  V00_DOREK_02,
297  V00_DOREK_03,
298  V00_DOREK_04,
299 
300  V00_ENGCOMPUTER_01,
301  V00_ENGCOMPUTER_02,
302 
303  V00_FARBLE_01,
304  V00_FARBLE_02,
305  V00_FARBLE_03,
306  V00_FARBLE_04,
307  V00_FARBLE_05,
308  V00_FARBLE_06,
309  V00_FARBLE_07,
310  V00_FARBLE_08,
311 
312  V00_GRUNETT_01,
313  V00_GRUNETT_02,
314  V00_GRUNETT_03,
315  V00_GRUNETT_04,
316 
317  V00_GUY_01,
318  V00_GUY_02,
319  V00_GUY_03,
320  V00_GUY_04,
321  V00_GUY_05,
322  V00_GUY_06,
323  V00_GUY_07,
324  V00_GUY_08,
325  V00_GUY_09,
326  V00_GUY_10A,
327  V00_GUY_10B,
328  V00_GUY_11,
329  V00_GUY_12,
330  V00_GUY_13,
331  V00_GUY_14,
332  V00_GUY_15,
333  V00_GUY_16,
334  V00_GUY_17,
335  V00_GUY_18,
336 
337  V00_HUMBERT_01,
338  V00_HUMBERT_02,
339 
340  V00_ILLIAC_01,
341  V00_INFOCOMP_01,
342 
343  V00_JAQUES_01,
344  V00_JAQUES_03,
345  V00_JAQUES_04,
346  V00_JAQUES_05,
347 
348  V00_LUMBAR_01,
349 
350  V00_MAILSORTER_01,
351  V00_MAILSORTER_02,
352  V00_MAILSORTER_03,
353  V00_MAILSORTER_04,
354  V00_MAILSORTER_05,
355  V00_MAILSORTER_06,
356  V00_MAILSORTER_07,
357  V00_MAILSORTER_08,
358  V00_MAILSORTER_09,
359  V00_MAILSORTER_10,
360  V00_MAILSORTER_11,
361  V00_MAILSORTER_12,
362  V00_MAILSORTER_13,
363  V00_MAILSORTER_14,
364  V00_MAILSORTER_15,
365 
366  V00_MANNY_01,
367  V00_MANNY_02,
368  V00_MANNY_03,
369  V00_MANNY_04,
370  V00_MANNY_05,
371  V00_MANNY_06,
372  V00_MANNY_07,
373  V00_MANNY_08,
374  V00_MANNY_09,
375  V00_MANNY_10,
376  V00_MANNY_11,
377  V00_MANNY_12,
378  V00_MANNY_13,
379  V00_MANNY_14,
380  V00_MANNY_15,
381  V00_MANNY_16,
382  V00_MANNY_17,
383  V00_MANNY_18,
384 
385  V00_NOTEBRICK_01,
386 
387  V00_PILOTS_01,
388  V00_PILOTS_02,
389 
390  V00_POLONEY_01,
391  V00_POLONEY_02,
392  V00_POLONEY_03,
393  V00_POLONEY_04,
394  V00_POLONEY_05,
395  V00_POLONEY_06,
396 
397  V00_SARGE_01,
398  V00_SARGE_02,
399  V00_SARGE_03,
400  V00_SARGE_04,
401  V00_SARGE_05,
402  V00_SARGE_06,
403  V00_SARGE_07,
404  V00_SARGE_08,
405  V00_SARGE_09,
406  V00_SARGE_10,
407  V00_SARGE_11,
408  V00_SARGE_12,
409  V00_SARGE_13,
410  V00_SARGE_14,
411  V00_SARGE_15,
412  V00_SARGE_16,
413 
414  V01_ALABASTER_01,
415  V01_ALABASTER_02,
416  V01_ALABASTER_03,
417  V01_ALABASTER_04,
418  V01_ALABASTER_05,
419  V01_ALABASTER_06,
420  V01_BRAKER_01,
421  V01_BRAKER_02,
422  V01_BRAKER_03,
423  V01_BRAKER_04,
424  V01_CHISTE_01,
425  V01_CHISTE_02,
426  V01_CHISTE_03,
427  V01_CHISTE_04,
428  V01_CHISTE_05,
429  V01_CHISTE_06,
430  V01_CHISTE_07,
431  V01_CHISTE_08,
432  V01_CHISTE_09,
433  V01_CHISTE_10,
434  V01_CHISTE_11,
435  V01_CHISTE_12,
436  V01_CHISTE_13,
437  V01_CHISTE_14,
438  V01_COVERT_01,
439  V01_COVERT_02,
440  V01_COVERT_03,
441  V01_COVERT_04,
442  V01_COVERT_05,
443  V01_COVERT_06,
444  V01_COVERT_07,
445  V01_COVERT_08,
446  V01_COVERT_09,
447  V01_COVERT_10,
448  V01_COVERT_11,
449  V01_COVERT_12,
450  V01_COVERT_13,
451  V01_DAGEAUBE_01,
452  V01_DAGEAUBE_02,
453  V01_DAGEAUBE_03,
454  V01_DAGEAUBE_04,
455  V01_DAGEAUBE_05,
456  V01_EMC2_01,
457  V01_EMC2_02,
458  V01_GIZZARD_01,
459  V01_GIZZARD_02,
460  V01_GUY_01,
461  V01_GUY_02,
462  V01_GUY_03,
463  V01_GUY_04,
464  V01_GUY_05,
465  V01_HIDROW_01,
466  V01_HIDROW_02,
467  V01_HIDROW_03,
468  V01_KEBOTTLE_01,
469  V01_KEBOTTLE_02,
470  V01_KEBOTTLE_03,
471  V01_KEBOTTLE_04,
472  V01_KEBOTTLE_05,
473  V01_KEBOTTLE_06,
474  V01_KEBOTTLE_07,
475  V01_PONTE_01,
476  V01_PONTE_02,
477  V01_PONTE_03,
478  V01_PONTE_04,
479  V01_PONTE_05,
480  V01_PONTE_06,
481  V01_PONTE_07,
482  V01_PONTE_08,
483  V01_PONTE_09,
484  V01_PONTE_10,
485  V01_POPOPOLIS_01,
486  V01_POPOPOLIS_02,
487  V01_POPOPOLIS_03,
488  V01_POPOPOLIS_04,
489  V01_POPOPOLIS_05,
490  V01_POPOPOLIS_06,
491  V01_POPOPOLIS_07,
492  V01_POPOPOLIS_08,
493  V01_POPOPOLIS_09,
494  V01_POPOPOLIS_10,
495  V01_POPOPOLIS_11,
496  V01_POPOPOLIS_12,
497  V01_POPOPOLIS_13,
498  V01_POPOPOLIS_14,
499  V01_POPOPOLIS_15,
500  V01_POPOPOLIS_16,
501  V01_POPOPOLIS_17,
502  V01_POPOPOLIS_18,
503  V01_POPOPOLIS_19,
504  V01_POPOPOLIS_20,
505  V01_POPOPOLIS_21,
506  V01_POPOPOLIS_22,
507  V01_POPOPOLIS_23,
508  V01_POPOPOLIS_24,
509  V01_POPOPOLIS_25,
510  V01_POPOPOLIS_26,
511  V01_POPOPOLIS_27,
512  V01_POPOPOLIS_28,
513  V01_POPOPOLIS_29,
514  V01_POPOPOLIS_30,
515  V01_POPOPOLIS_31,
516  V01_POPOPOLIS_32,
517  V01_POPOPOLIS_33,
518  V01_POPOPOLIS_34,
519  V01_POPOPOLIS_35,
520  V01_POPOPOLIS_36,
521  V01_POPOPOLIS_37,
522  V01_SARGE_01,
523  V01_SARGE_02,
524  V01_SARGE_03,
525  V01_SARGE_04,
526  V01_SOBREDELLE_01,
527  V01_SOBREDELLE_02,
528  V01_SOBREDELLE_03,
529  V01_WAYNE_01,
530  V01_WAYNE_02,
531  V01_ZIQUOZ_01,
532  V01_ZIQUOZ_02,
533  V01_ZIQUOZ_03,
534 
535  V02_AGUSTO_01,
536  V02_AGUSTO_02,
537  V02_ALBONDIGAS_01,
538  V02_ALBONDIGAS_02,
539  V02_BUMPER_01,
540  V02_BUMPER_02,
541  V02_BUMPER_03,
542  V02_BUMPER_04,
543  V02_BUMPER_05,
544  V02_BUMPER_06,
545  V02_BUMPER_07,
546  V02_DELGADO_01,
547  V02_FEBRARO_01,
548  V02_GUY_01,
549  V02_GUY_02,
550  V03_ACROPHO_01,
551  V03_ACROPHO_02,
552  V03_ACROPHO_03,
553  V03_ACROPHO_04,
554  V03_ENERO_01,
555  V03_ENERO_02,
556  V03_ENERO_03,
557  V03_ENERO_04,
558  V03_ENERO_05,
559  V03_GAIA_01,
560  V03_GAIA_02,
561  V03_GAIA_03,
562  V03_GAIA_04,
563  V03_GAIA_05,
564  V03_GAIA_06,
565  V03_LAGO_01,
566  V03_LAGO_02,
567  V03_LAGO_04,
568  V03_LAGO_05,
569  V03_LAGO_06,
570  V03_LAGO_07,
571  V04_BONIFACE_01,
572  V04_BONIFACE_02,
573  V04_BONIFACE_03,
574  V04_BONIFACE_04,
575  V04_BONIFACE_05,
576  V04_BONIFACE_06,
577  V04_BONIFACE_07,
578  V04_JULIO_01,
579  V04_JULIO_02,
580  V04_JULIO_04,
581  V04_MARZO_01,
582  V04_OCTUBRE_01,
583  V04_OCTUBRE_02,
584  V04_OCTUBRE_03,
585 
586  V05_ABRIL_01,
587  V05_ABRIL_02,
588  V05_ABRIL_03,
589  V05_ABRIL_04,
590  V05_ABRIL_05,
591  V05_GELIGELLA_01,
592  V05_GELIGELLA_02,
593  V05_RAILRIDER_01,
594  V05_RAILRIDER_02,
595  V05_RAILRIDER_03,
596  V05_RAILRIDER_04,
597  V05_EVERLOO_01,
598  V05_EVERLOO_02,
599  V05_EVERLOO_03,
600  V05_EVERLOO_04,
601  V06_AZUL_01,
602  V06_AZUL_02,
603  V06_AZUL_03,
604  V06_AZUL_04,
605  V06_AZUL_05,
606  V06_AZUL_06,
607  V06_AZUL_07,
608  V06_AZUL_08,
609  V06_GUY_01,
610  V06_GUY_02,
611  V06_GUY_03,
612  V06_GUY_04,
613  V06_HANSON_01,
614  V06_HANSON_03,
615  V06_HANSON_04,
616  V06_HANSON_05,
617  V06_HANSON_06,
618  V06_HANSON_07,
619  V06_HANSON_08,
620  V06_HANSON_09,
621  V06_HANSON_10,
622  V06_HANSON_11,
623  V06_HANSON_12,
624  V06_JUNIO_01,
625  V06_JUNIO_02,
626  V06_JUNIO_03,
627  V06_JUNIO_04,
628  V06_JUNIO_05,
629  V06_JUNIO_06,
630  V06_JUNIO_07,
631  V06_JUNIO_08,
632  V06_JUNIO_09,
633  V06_NARANJA_01,
634  V06_NARANJA_02,
635  V06_NARANJA_03,
636  V06_NARANJA_04,
637  V06_NARANJA_05,
638  V06_SEPTEMBRE_01,
639  V06_SEPTEMBRE_02,
640  V06_SEPTEMBRE_03,
641  V06_SEPTEMBRE_04,
642  V06_SEPTEMBRE_05,
643  V06_SEPTEMBRE_06,
644  V06_SEPTEMBRE_07,
645  V06_SEPTEMBRE_08,
646  V06_SEPTEMBRE_09,
647  V06_WORKER_01,
648  V06_WORKER_02,
649  V06_WORKER_03,
650  V06_WORKER_04,
651  V07_CERCO_01,
652  V07_CERCO_02,
653  V07_COMPUTER_01,
654  V07_MAYO_01,
655  V07_MAYO_02,
656  V07_NOVIEMBRE_01,
657  V07_NOVIEMBRE_02,
658  V07_NOVIEMBRE_03,
659  V07_PANITO_01,
660  V07_PANITO_02,
661  V07_PANITO_03,
662  V07_PANITO_04,
663  V07_PANITO_05,
664  V08_COOKIE_01,
665  V08_COOKIE_02,
666  V08_DICIEMBRE_01,
667  V08_GUY_01,
668  V08_GUY_02,
669  V08_GUY_03,
670  V08_MACHINA_01,
671  V08_MACHINA_02,
672  V08_MACHINA_03,
673  V08_MACHINA_04,
674  V08_MACHINA_05,
675  V08_MACHINA_06,
676  V08_MACHINA_07,
677  V08_MACHINA_08,
678  V08_MACHINA_09,
679  V08_MESA_01,
680  V08_MESA_02,
681  V08_MESA_03,
682  V08_MESA_04,
683  V08_SHAKIR_01,
684  V08_SHAKIR_02,
685  V08_SHAKIR_03,
686  V09_VIOLETA_01,
687  V09_VIOLETA_02,
688  V09_VIOLETA_03,
689  V09_VIOLETA_04,
690  V10_CHICKEN_01,
691  V10_COOPER_01,
692  V10_COOPER_02,
693  V10_COOPER_03,
694  V10_COOPER_04,
695  V10_COOPER_05,
696  V10_COOPER_06,
697  V10_COOPER_07,
698  V10_COOPER_08,
699  V10_COOPER_09,
700  V10_DOLLY_01,
701  V10_DOLLY_02,
702  V10_DOLLY_03,
703  V10_DOLLY_04,
704  V10_DOLLY_05,
705  V10_DOLLY_06,
706  V10_DOLLY_07,
707  V10_DOLLY_08,
708  V10_DOLLY_09,
709  V10_DOLLY_10,
710  V10_ENGCOMPUTER_01,
711  V10_FARBLE_01,
712  V10_FARBLE_02,
713  V10_FARBLE_03,
714  V10_FARBLE_04,
715  V10_FARBLE_05,
716  V10_FARBLE_06,
717  V10_GRUNETT_01,
718  V10_GRUNETT_02,
719  V10_GRUNETT_03,
720  V10_GRUNETT_04,
721  V10_GRUNETT_05,
722  V10_GRUNETT_06,
723  V10_GUY_01,
724  V10_GUY_02,
725  V10_GUY_03,
726  V10_GUY_04,
727  V10_GUY_05,
728  V10_GUY_06,
729  V10_GUY_07,
730  V10_GUY_08,
731  V10_INFOCOMP_01,
732  V10_NOTEBRICK_01,
733  V10_PILOTS_01,
734  V10_PILOTS_02,
735  V10_PILOTS_03,
736  V10_PILOTS_04,
737  V10_PILOTS_05,
738  V10_SARGE_01,
739  V10_SARGE_02,
740  V10_SARGE_03,
741  V10_SARGE_04,
742  V10_SARGE_05,
743  V11_ANCHOVY_01,
744  V11_ANCHOVY_02,
745  V11_ANCHOVY_03,
746  V11_ANCHOVY_04,
747  V11_ANCHOVY_05,
748  V11_ARBIVALL_01,
749  V11_ARBIVALL_02,
750  V11_ARBIVALL_03,
751  V11_ARBIVALL_04,
752  V11_ARBIVALL_05,
753  V11_ARBIVALL_06,
754  V11_ARBIVALL_07,
755  V11_ARNIE_01,
756  V11_BELINDA_01,
757  V11_BLOCK_01,
758  V11_BLOCK_02,
759  V11_BLOCK_03,
760  V11_BRAD_01,
761  V11_BRAD_02,
762  V11_BRAD_03,
763  V11_BUSTER_01,
764  V11_BUSTER_02,
765  V11_BUSTER_03,
766  V11_DINERS_01,
767  V11_DINERS_02,
768  V11_DOPPLER_01,
769  V11_DOPPLER_02,
770  V11_DOPPLER_03,
771  V11_DOPPLER_04,
772  V11_DOPPLER_05,
773  V11_DOREK_01,
774  V11_DOREK_02,
775  V11_DOREK_03,
776  V11_DOZER_01,
777  V11_DOZER_02,
778  V11_DOZER_03,
779  V11_DOZER_04,
780  V11_GNAPPE_01,
781  V11_GNAPPE_02,
782  V11_GNAPPE_03,
783  V11_GNAPPE_04,
784  V11_GNAPPE_05,
785  V11_GNODIMY_01,
786  V11_GNODIMY_02,
787  V11_GNODIMY_03,
788  V11_GNODIMY_04,
789  V11_GUY_01,
790  V11_GUY_02,
791  V11_GUY_03,
792  V11_GUY_04,
793  V11_GUY_05,
794  V11_GUY_06,
795  V11_GUY_07,
796  V11_GUY_08,
797  V11_GUY_09,
798  V11_GUY_10,
799  V11_GUY_11,
800  V11_GUY_12,
801  V11_GUY_13,
802  V11_GUY_15,
803  V11_GUY_16,
804  V11_GUY_17,
805  V11_HAMBRE_01,
806  V11_HAMBRE_02,
807  V11_HAMBRE_03,
808  V11_HAMBRE_04,
809  V11_HAMBRE_05,
810  V11_HUMBERT_01,
811  V11_ILLIAC_01,
812  V11_JAQUES_01,
813  V11_JAQUES_02,
814  V11_JAQUES_03,
815  V11_JAQUES_04,
816  V11_LUMBAR_01,
817  V11_MAN_IN_STALL_01,
818  V11_MAN_IN_STALL_02,
819  V11_MAN_IN_STALL_03,
820  V11_MAN_IN_STALL_04,
821  V11_MAN_IN_STALL_05,
822  V11_MANNY_01,
823  V11_MUMPS_01,
824  V11_MUMPS_02,
825  V11_MUMPS_03,
826  V11_MUMPS_04,
827  V11_MUMPS_05,
828  V11_MUMPS_06,
829  V11_MUMPS_07,
830  V11_MUMPS_08,
831  V11_MUMPS_09,
832  V11_MUMPS_10,
833  V11_MUMPS_11,
834  V11_MUMPS_12,
835  V11_MUMPS_13,
836  V11_MUMPS_14,
837  V11_MUMPS_15,
838  V11_MUMPS_16,
839  V11_MUMPS_17,
840  V11_MUMPS_18,
841  V11_MUMPS_19,
842  V11_MUMPS_20,
843  V11_MUMPS_22,
844  V11_MUMPS_23,
845  V11_MUMPS_24,
846  V11_MUMPS_25,
847  V11_MUMPS_26,
848  V11_PEDIMENT_01,
849  V11_PEDIMENT_02,
850  V11_PEDIMENT_03,
851  V11_PEDIMENT_04,
852  V11_PEDIMENT_05,
853  V11_PEDIMENT_06,
854  V11_PEDIMENT_07,
855  V11_PEDIMENT_08,
856  V11_POLONEY_01,
857  V11_POLONEY_02,
858  V11_POLONEY_03,
859  V11_SAUSAGE_01,
860  V11_SAUSAGE_02,
861  V11_SAUSAGE_03,
862  V11_SAUSAGE_04,
863  V11_SAUSAGE_05,
864  V11_SAUSAGE_06,
865  V11_SAUSAGE_07,
866  V11_SAUSAGE_08,
867  V11_SAUSAGE_09,
868  V11_SAUSAGE_10,
869  V12_ABLE_01,
870  V12_ABLE_02,
871  V12_ABLE_03,
872  V12_BUSY_01,
873  V12_BUSY_02,
874  V12_BUSY_03,
875  V12_BUSY_04,
876  V12_BUSY_05,
877  V12_BUSY_06,
878  V12_BUSY_07,
879  V12_BUSY_08,
880  V12_CHARLIE_01,
881  V12_CHARLIE_02,
882  V12_CONUNDRUM_01,
883  V12_CONUNDRUM_02,
884  V12_CONUNDRUM_03,
885  V12_CONUNDRUM_04,
886  V12_CONUNDRUM_05,
887  V12_FOXTROT_01,
888  V12_FOXTROT_02,
889  V12_GUY_01,
890  V12_GUY_02,
891  V12_GUY_03,
892  V12_HAUTE_01,
893  V12_HAUTE_02,
894  V12_HAUTE_03,
895  V12_HAUTE_04,
896  V12_HAUTE_05,
897  V12_HAUTE_06,
898  V12_HOVER_01,
899  V12_HOVER_02,
900  V12_RUBE_01,
901  V12_RUBE_02,
902  V12_RUBE_03,
903  V12_RUBE_04,
904  V12_RUBE_05,
905  V12_RUBE_06,
906  V12_RUBE_07,
907  V12_RUBE_08,
908  V12_RUBE_09,
909  V12_RUBE_10,
910  V12_TEKT_01,
911  V12_TEKT_02,
912  V12_TEKT_03,
913  V12_TEKT_04,
914  V12_TEKT_05,
915  V12_TEKT_06,
916  V12_TEKT_07,
917  V13_ANIBLE_01,
918  V13_ANIBLE_02,
919  V13_FLOWER_01,
920  V13_FLOWER_02,
921  V13_FOOCHANE_01,
922  V13_FOOCHANE_02,
923  V13_FOOCHANE_03,
924  V13_FOOCHANE_04,
925  V13_GHULABUL_01,
926  V13_GHULABUL_02,
927  V13_GHULABUL_03,
928  V13_GHULABUL_04,
929  V13_GHULABUL_05,
930  V13_GHULABUL_06,
931  V13_GHULABUL_07,
932  V13_GUY_01,
933  V13_GUY_02,
934  V13_HAVENGIN_01,
935  V13_MELO_01,
936  V13_MELO_02,
937  V13_MELO_03,
938  V13_MITAKO_01,
939  V13_MITAKO_02,
940  V13_MITAKO_03,
941  V13_SPOONIE_01,
942  V13_SPOONIE_02,
943  V13_SPOONIE_03,
944  V13_SPOONIE_04,
945  V13_SPOONIE_05,
946  V13_ZYGOTE_01,
947  V13_ZYGOTE_02,
948  V13_ZYGOTE_03,
949  V13_ZYGOTE_04,
950  V13_ZYGOTE_05,
951  V14_LAMORTE_01,
952  V14_LAMORTE_02,
953  V15_COPROLITE_01,
954  V15_COPROLITE_02,
955  V15_COPROLITE_03,
956  V15_COPROLITE_04,
957  V15_COPROLITE_05,
958  V15_COPROLITE_06,
959  V15_COPROLITE_07,
960  V15_COPROLITE_08,
961  V15_COPROLITE_09,
962  V15_COPROLITE_10,
963  V15_COPROLITE_11,
964  V15_COPROLITE_12,
965  V15_COPROLITE_13,
966  V15_COPROLITE_14,
967  V15_COPROLITE_15,
968  V15_COPROLITE_16,
969  V15_COPROLITE_17,
970  V15_COPROLITE_18,
971  V15_GUY_01,
972  V15_GUY_02,
973  V15_REED_01,
974  V15_REED_02,
975  V15_REED_03,
976  V16_DYING_01,
977  V16_DYING_02,
978  V16_GUY_01,
979  V16_GUY_02,
980  V16_GUY_03,
981  V17_ANDERSON_01,
982  V17_BARBER_01,
983  V17_CAMPBELL_01,
984  V17_DEVONSHIRE_01,
985  V17_EGGER_01,
986  V17_EMERALD_01,
987  V17_FLINGBESTER_01,
988  V17_GERSHWIN_01,
989  V17_GUY_01,
990  V17_GUY_02,
991  V17_GUY_03,
992  V17_GUY_04,
993  V17_HEPHASTUS_01,
994  V17_INIWA_01,
995  V17_INIWA_02,
996  V17_INIWA_03,
997  V17_KEYCODE_01,
998  V17_KEYCODE_02,
999  V17_KEYCODE_03,
1000  V17_KEYCODE_04,
1001  V17_TOERIG_01,
1002  V17_TOERIG_02,
1003  V17_WARNER_01,
1004  V17_WARNER_02,
1005  V17_WARNER_03,
1006  V17_WARNER_04,
1007  V17_YORP_01,
1008  V17_YORP_02,
1009  V18_DERECHA_01,
1010  V18_GUY_01,
1011  V18_IZQUIERDA_01,
1012  V18_IZQUIERDA_02,
1013  V18_IZQUIERDA_03,
1014  V18_IZQUIERDA_04,
1015  V18_IZQUIERDA_05,
1016  V18_IZQUIERDA_06,
1017  V19_CAVEAT_01,
1018  V19_CAVEAT_02,
1019  V19_ENDER_01,
1020  V19_ENDER_02,
1021  V19_FRUSTRATO_01,
1022  V19_FRUSTRATO_02,
1023  V19_FRUSTRATO_03,
1024  V19_FRUSTRATO_04,
1025  V19_FRUSTRATO_05,
1026  V19_FRUSTRATO_06,
1027  V19_FRUSTRATO_07,
1028  V19_FRUSTRATO_08,
1029  V19_FRUSTRATO_09,
1030  V19_FRUSTRATO_10,
1031  V19_GUY_01,
1032  V19_GUY_02,
1033  V19_GUY_03,
1034  V19_INTER_01,
1035  V19_INTER_02,
1036  V19_LONE_01,
1037  V19_LONE_02,
1038  V19_LONE_03,
1039  V19_PHILLIPS_01,
1040  V19_PHILLIPS_02,
1041  V19_PHILLIPS_03,
1042  V19_PHILLIPS_04,
1043  V19_PHILLIPS_05,
1044  V19_RAILRIDER_01,
1045  V19_RAILRIDER_02,
1046  V19_RAILRIDER_03,
1047  V19_RAILRIDER_04,
1048  V19_REDRUM_01,
1049  V19_REDRUM_02,
1050  V19_REDRUM_03,
1051  V19_REDRUM_04,
1052  V19_REDRUM_05,
1053  V19_REDRUM_06,
1054  V19_STANDARD_01,
1055  V19_STANDARD_02,
1056  V20_ARNIE_01,
1057  V20_ARNIE_02,
1058  V20_BRAD_01,
1059  V20_BRAD_02,
1060  V20_BUSTER_01,
1061  V20_BUSTER_02,
1062  V20_BUSTER_03,
1063  V20_COOPER_01,
1064  V20_COOPER_02,
1065  V20_DINERS_01,
1066  V20_DINERS_02,
1067  V20_DOLLY_01,
1068  V20_DOREK_01,
1069  V20_DOREK_02,
1070  V20_DOREK_03,
1071  V20_FARBLE_01,
1072  V20_FARBLE_02,
1073  V20_GRUNETT_01,
1074  V20_GRUNETT_02,
1075  V20_GUY_01,
1076  V20_GUY_02,
1077  V20_GUY_03,
1078  V20_GUY_04,
1079  V20_GUY_05,
1080  V20_GUY_06,
1081  V20_HUMBERT_01,
1082  V20_ILLIAC_01,
1083  V20_JACQUES_01,
1084  V20_JACQUES_02,
1085  V20_LUMBAR_01,
1086  V20_MANNY_01,
1087  V20_POLONEY_01,
1088  V20_POLONEY_02,
1089  V20_SARGE_01,
1090  V20_SARGE_02,
1091  V20_SARGE_03,
1092  V20_SARGE_04,
1093  V20_SARGE_05,
1094  V21_ANTIMA_01,
1095  V21_ANTIMA_02,
1096  V21_ANTIMA_03,
1097  V21_ANTIMA_04,
1098  V21_ANTIMA_05,
1099  V21_ANTIMA_06,
1100  V21_ANTIMA_07,
1101  V21_BRAN_ONOMI_01,
1102  V21_BRAN_ONOMI_02,
1103  V21_BRAN_ONOMI_03,
1104  V21_CONTENNE_01,
1105  V21_CONTENNE_02,
1106  V21_CONTENNE_03,
1107  V21_CONTENNE_04,
1108  V21_CONTENNE_05,
1109  V21_CONTENNE_06,
1110  V21_CONTENNE_07,
1111  V21_COUHOUSE_01,
1112  V21_COUHOUSE_02,
1113  V21_COUHOUSE_03,
1114  V21_DEBENSHIRE_01,
1115  V21_DEBENSHIRE_02,
1116  V21_DEBENSHIRE_03,
1117  V21_DEBENSHIRE_04,
1118  V21_FEMURIA_01,
1119  V21_FEMURIA_02,
1120  V21_FEMURIA_03,
1121  V21_FEMURIA_04,
1122  V21_FEMURIA_05,
1123  V21_GLARATTE_01,
1124  V21_GLARATTE_02,
1125  V21_GLARATTE_03,
1126  V21_GLARATTE_04,
1127  V21_GUY_01,
1128  V21_GUY_02,
1129  V21_GUY_03,
1130  V21_GUY_04,
1131  V21_GUY_05,
1132  V21_GUY_06,
1133  V21_GUY_07,
1134  V21_GUY_08,
1135  V21_GUY_09,
1136  V21_HYPERBOLE_01,
1137  V21_KREN_KREN_01,
1138  V21_KREN_KREN_02,
1139  V21_KREN_KREN_03,
1140  V21_KREN_KREN_04,
1141  V21_KREN_KREN_05,
1142  V21_LITOTE_01,
1143  V21_PERIOUS_01,
1144  V21_PERIOUS_02,
1145  V21_PERIOUS_03,
1146  V21_PHAEDRUS_01,
1147  V21_PHAEDRUS_02,
1148  V21_PHAEDRUS_04,
1149  V21_PHAEDRUS_05,
1150  V21_PHAEDRUS_06,
1151  V21_PHAEDRUS_07,
1152  V21_PHAEDRUS_08,
1153  V21_PHAEDRUS_09,
1154  V21_PHAEDRUS_10,
1155  V21_PHAEDRUS_11,
1156  V21_PHAEDRUS_12,
1157  V21_PHAEDRUS_13,
1158  V21_PHAEDRUS_14,
1159  V21_PHAEDRUS_15,
1160  V21_PHAEDRUS_16,
1161  V21_PHAEDRUS_17,
1162  V21_PHAEDRUS_18,
1163  V21_PHAEDRUS_19,
1164  V21_PHAEDRUS_20,
1165  V21_PHAEDRUS_21,
1166  V21_PHAEDRUS_22,
1167  V21_PHAEDRUS_23,
1168  V21_PHAEDRUS_24,
1169  V21_PHAEDRUS_25,
1170  V21_PHAEDRUS_26,
1171  V21_PHIPOLOSSI_01,
1172  V21_PHIPOLOSSI_02,
1173  V21_PHIPOLOSSI_03,
1174  V21_PHIPOLOSSI_04,
1175  V21_PHIPOLOSSI_05,
1176  V21_PHIPOLOSSI_06,
1177  V21_PLODDER_01,
1178  V21_PLODDER_02,
1179  V21_PLODDER_03,
1180  V21_PLODDER_04,
1181  V21_SARGE_01,
1182  V21_SARGE_02,
1183  V21_SARGE_03,
1184  V21_SARGE_04,
1185  V21_SARGE_05,
1186  V21_SARGE_06,
1187  V21_SARGE_07,
1188  V21_SARGE_08,
1189  V21_SATIRE_01,
1190  V21_SATIRE_02,
1191  V21_SHELLEY_01,
1192  V21_SHELLEY_02,
1193  V21_SHELLEY_03,
1194  V21_SHELLEY_04,
1195  V21_SHELLEY_05,
1196  V21_VERILITH_01,
1197  V21_VERILITH_02,
1198  V21_VERILITH_03,
1199  V21_VERILITH_04,
1200  V21_VERILITH_05,
1201  V22_GUY_01,
1202  V22_OSCURO_01,
1203  V22_OSCURO_02,
1204  V22_VERILITH_01,
1205  V22_VERILITH_02,
1206  V22_VERILITH_03,
1207  V22_VERILITH_04,
1208  V23_GUY_01,
1209  V23_GUY_02,
1210  V23_GUY_03,
1211  V23_INSANITO_01,
1212  V23_INSANITO_02,
1213  V23_INSANITO_03,
1214  V23_INSANITO_04,
1215  V23_INSANITO_05,
1216  V23_VERILITH_01,
1217  V24_GUY_01,
1218  V24_GUY_02,
1219  V24_GUY_03,
1220  V24_MANAGOTA_01,
1221  V24_MANAGOTA_02,
1222  V24_MANAGOTA_03,
1223  V24_MANAGOTA_04,
1224  V25_BBOW_01,
1225  V25_BBOW_02,
1226  V25_BBOW_03,
1227  V25_BBOW_04,
1228  V25_GUY_01,
1229  V25_GUY_02,
1230  V25_VERILITH_01,
1231  V26_GUY_01,
1232  V26_GUY_02,
1233  V26_GUY_03,
1234  V26_GUY_04,
1235  V26_GUY_05,
1236  V26_FDOE_01,
1237  V26_FDOE_02,
1238  V26_FDOE_03,
1239  V26_FDOE_04,
1240  V27_AYONN_01,
1241  V27_AYONN_02,
1242  V27_AYONN_03,
1243  V27_AYONN_04,
1244  V27_BALE_01,
1245  V27_BALE_02,
1246  V27_BALE_03,
1247  V27_GUY_01,
1248  V27_GUY_02,
1249  V27_GUY_03,
1250  V27_ONABILDEN_01,
1251  V27_ONABILDEN_02,
1252  V27_ONABILDEN_03,
1253  V27_ONABILDEN_04,
1254  V28_FINN_01,
1255  V28_FINN_02,
1256  V28_FINN_03,
1257  V28_GUY_01,
1258  V28_GUY_02,
1259  V28_GUY_03,
1260  V29_ALERE_01,
1261  V29_ALERE_02,
1262  V29_ALERE_03,
1263  V29_AOLOS_01,
1264  V29_AOLOS_02,
1265  V29_AOLOS_03,
1266  V29_AOLOS_04,
1267  V29_AOLOS_05,
1268  V29_GUY_01,
1269  V29_GUY_02,
1270  V29_GUY_03,
1271  V29_GUY_04,
1272  V29_GUY_05,
1273  V29_GUY_06,
1274  V29_GUY_07,
1275  V29_GUY_08,
1276  V29_GUY_09,
1277  V29_GUY_10,
1278  V29_GUY_11,
1279  V29_GUY_12,
1280  V29_GUY_13,
1281  V29_GUY_14,
1282  V29_GUY_15,
1283  V29_KORENAAR_01,
1284  V29_KORENAAR_02,
1285  V29_KORENAAR_03,
1286  V29_KORENAAR_04,
1287  V29_KORENAAR_05,
1288  V29_PHARIBOS_01,
1289  V29_PHARIBOS_02,
1290  V29_VELEGAL_01,
1291  V29_VELEGAL_02,
1292  V30_AOLOS_01,
1293  V30_AOLOS_02,
1294  V30_AOLOS_03,
1295  V30_AOLOS_04,
1296  V30_AOLOS_05,
1297  V30_AOLOS_06,
1298  V30_AOLOS_07,
1299  V30_AOLOS_08,
1300  V30_AOLOS_09,
1301  V30_AOLOS_11,
1302  V30_AOLOS_12,
1303  V30_AOLOS_13,
1304  V30_AOLOS_14,
1305  V30_AOLOS_15,
1306  V30_AOLOS_16,
1307  V30_AOLOS_17,
1308  V30_AOLOS_18,
1309  V30_AOLOS_19,
1310  V30_AOLOS_20,
1311  V30_CASINOX_01,
1312  V30_CASINOX_02,
1313  V30_CASINOX_03,
1314  V30_CASINOX_04,
1315  V30_CASINOX_05,
1316  V30_CASINOX_06,
1317  V30_CHICKEN_EXPLOSION_01,
1318  V30_CHICKEN_EXPLOSION_02,
1319  V30_DOPEFISH_01,
1320  V30_DOPEFISH_02,
1321  V30_DOPEFISH_03,
1322  V30_DOPEFISH_04,
1323  V30_GUY_01,
1324  V30_GUY_02,
1325  V30_JOHN_01,
1326  V30_JOHN_02,
1327  V30_JOHN_03,
1328  V30_JOHN_04,
1329  V30_JOHN_05,
1330  V30_LUCAS_01,
1331  V30_LUCAS_02,
1332  V30_LUCAS_03,
1333  V30_LUCAS_04,
1334  V30_STEVIE_01,
1335  V30_STEVIE_02,
1336  V30_STEVIE_03,
1337  V30_STEVIE_04,
1338  V30_STEVIE_05,
1339  V30_STEVIE_06,
1340  V30_STEVIE_07,
1341  V30_STEVIE_08,
1342  V30_STEVIE_09,
1343  V30_STEVIE_10,
1344  V30_TOM_01,
1345  V30_TOM_02,
1346  V30_TOM_03,
1347  V30_TOM_04,
1348  V30_TOM_05,
1349  V30_TOM_06,
1350  V30_VERILITH_01,
1351  V30_VERILITH_02,
1352  V30_VERILITH_03,
1353  V30_VERILITH_04,
1354  V30_VERILITH_05,
1355  V30_VERILITH_06,
1356  V30_VERILITH_07,
1357  OUTRO_DOLLY_01,
1358  OUTRO_DOLLY_02,
1359  OUTRO_DOLLY_03,
1360  OUTRO_DOLLY_04,
1361  OUTRO_DOLLY_05,
1362  OUTRO_DOLLY_06,
1363  OUTRO_DOLLY_07,
1364  OUTRO_DOLLY_08,
1365  OUTRO_DOLLY_09,
1366  OUTRO_DOLLY_10,
1367  OUTRO_DOLLY_11,
1368  OUTRO_DOLLY_12,
1369  OUTRO_DOLLY_13,
1370  OUTRO_DOLLY_14,
1371  OUTRO_DOLLY_15,
1372  OUTRO_DOLLY_16,
1373  OUTRO_DOLLY_17,
1374  OUTRO_DOLLY_18,
1375  OUTRO_DOREK_01,
1376  OUTRO_DOREK_02,
1377  OUTRO_DOREK_03,
1378  OUTRO_DOREK_04,
1379  OUTRO_DOREK_05,
1380  OUTRO_DOREK_06,
1381  OUTRO_GUY_01,
1382  OUTRO_GUY_02,
1383  OUTRO_GUY_03,
1384  OUTRO_GUY_04,
1385  OUTRO_GUY_05,
1386  OUTRO_GUY_06,
1387  OUTRO_JENKINS_01,
1388  OUTRO_JENKINS_02,
1389  OUTRO_JENKINS_03,
1390  OUTRO_JENKINS_04,
1391  OUTRO_JENKINS_05,
1392  OUTRO_SARGE_01,
1393  OUTRO_SARGE_02,
1394  OUTRO_SARGE_03,
1395  OUTRO_SARGE_04,
1396  OUTRO_SARGE_05,
1397  OUTRO_SARGE_06,
1398  GUY_GOT_A_JOB,
1399  GUY_WINS,
1400 
1401  GUY_ENERGY_CELL,
1402  GUY_COMPLETED,
1403  GUY_GOT_SOMETHING,
1404  HDB_INTRO,
1405 
1406  // Demo files
1407  DEMO_SARGE_01,
1408  DEMO_SARGE_02,
1409  DEMO_SARGE_03,
1410  DEMO_SARGE_04,
1411  DEMO_SARGE_05,
1412  DEMO_SARGE_06,
1413  DEMO_GUY_01,
1414  DEMO_PILOT_01,
1415  DEMO_SCIENTIST_01,
1416  DEMO_SCIENTIST_02,
1417 
1418  LAST_SOUND
1419 };
1420 
1421 struct SoundLookUp {
1422  SoundType idx;
1423  const char *name; // name from MSD .h file
1424  const char *luaName; // name for Lua code to use
1425 };
1426 
1427 struct Voice {
1428  bool active;
1429  Audio::SoundHandle handle;
1430 
1431  Voice() : active(false) {}
1432 };
1433 
1434 enum SndMem {
1435  SNDMEM_FREEABLE = -1,
1436  SNDMEM_NOTCACHED = 0,
1437  SNDMEM_LOADED = 1
1438 };
1439 
1440 enum SndType {
1441  SNDTYPE_NONE = 0,
1442  SNDTYPE_WAV = -1,
1443  SNDTYPE_MP3 = 1,
1444  SNDTYPE_OGG = 2
1445 };
1446 
1447 struct SoundCache {
1448  SndMem loaded; // -1 = freeable; in memory, 0 = not cached, 1 = cached
1449  int size; // size of sound
1450  const char *name; // filename / MSD name
1451  const char *luaName; // name used by Lua for i.d.
1452  SndType ext; // 0 = Uninitialized, -1 = WAV, 1 = MP3
1453  byte *data;
1454 
1455  SoundCache() : loaded(SNDMEM_NOTCACHED), size(0), name(nullptr), luaName(nullptr), ext(SNDTYPE_NONE), data(nullptr) {}
1456 };
1457 
1458 class Song {
1459 public:
1460  Song() : _playing(false), _song(SONG_NONE),
1461  fadingOut(false), fadeOutVol(0), fadeOutRamp(0),
1462  fadingIn(false), fadeInVol(0), fadeInRamp(0) {}
1463 
1464  void playSong(SoundType song, bool fadeIn, int ramp);
1465  void fadeOut(int ramp);
1466  void stop();
1467 
1468  bool isPlaying() const;
1469  SoundType getSong() const;
1470 
1471  // The update() method is to be used for cross fading, fade-in and fade-out of music
1472  // However, it's currently unused and only partially implemented.
1473 // void update();
1474 
1475 private:
1476  static Common::Path getFileName(SoundType song);
1477  Audio::AudioStream* createStream(const Common::Path &fileName);
1478 
1479  Audio::SoundHandle handle;
1480 
1481  bool _playing;
1482  SoundType _song;
1483 
1484  bool fadingOut;
1485  int fadeOutVol;
1486  int fadeOutRamp;
1487 
1488  bool fadingIn;
1489  int fadeInVol;
1490  int fadeInRamp;
1491 };
1492 
1493 class Sound {
1494 public:
1495 
1496  Sound();
1497  ~Sound();
1498 
1499  void test(); // FIXME. Remove
1500 
1501  void init();
1502  void save(Common::OutSaveFile *out);
1503  void loadSaveFile(Common::InSaveFile *in);
1504  void setVoiceStatus(bool value) {
1505  _voicesOn = value;
1506  }
1507  bool getVoiceStatus() {
1508  return _voicesOn;
1509  }
1510  void clearPersistent() {
1511  memset(_voicePlayed, 0, NUM_VOICES * sizeof(byte));
1512  }
1513 
1514  void playSound(int index);
1515  void playSoundEx(int index, int channel, bool loop);
1516  void playVoice(int index, int actor);
1517  void stopVoices() {
1518  if (_voices[0].active) {
1519  g_hdb->_mixer->stopHandle(_voices[0].handle);
1520  _voices[0].active = false;
1521  }
1522  if (_voices[1].active) {
1523  g_hdb->_mixer->stopHandle(_voices[1].handle);
1524  _voices[1].active = false;
1525  }
1526  }
1527  void startMusic(SoundType song);
1528  void fadeInMusic(SoundType song, int ramp);
1529  void fadeOutMusic(int ramp);
1530  void stopMusic();
1531  void beginMusic(SoundType song, bool fadeIn, int ramp);
1532  // The updateMusic() method is to be used for cross fading, fade-in and fade-out of music
1533  // However, it's currently unused and only partially implemented.
1534 // void updateMusic();
1535  bool songPlaying(SoundType song);
1536  void stopChannel(int channel);
1537  int registerSound(const char *name);
1538  void freeSound(int index);
1539  const char *getSNDLuaName(int index);
1540  int getSNDIndex(const char *name);
1541  int getNumSounds() {
1542  return _numSounds;
1543  }
1544 
1545  SoundType whatSongIsPlaying();
1546 
1547  void markSoundCacheFreeable();
1548 
1549  // Voice System Variables
1550 
1551  enum {
1552  GUY,
1553  OTHER,
1554  MAX_VOICES
1555  };
1556 
1557  Voice _voices[MAX_VOICES];
1558 
1559  bool _voicesOn;
1560  byte _voicePlayed[NUM_VOICES];
1561 
1562  // Music System Variables
1563 
1564  Song _song1, _song2;
1565 
1566  // Sound Caching System Variables
1567 
1568  SoundCache _soundCache[kMaxSounds];
1569  int _numSounds;
1570  Audio::SoundHandle _handles[kMaxSNDChannels];
1571 
1572 };
1573 
1574 } // End of Namespace
1575 
1576 #endif // !HDB_SOUND_H
Definition: ai-player.h:25
Definition: savefile.h:54
Definition: path.h:52
Definition: stream.h:745
Definition: sound.h:1447
Definition: sound.h:1427
Definition: sound.h:1421
Definition: mixer.h:49
virtual void stopHandle(SoundHandle handle)=0
Definition: audiostream.h:50
Definition: sound.h:1458
Definition: sound.h:1493
Audio::Mixer * _mixer
Definition: engine.h:153