Sound Effects (SOUND_*)
All sound constants are defined in include/def.h.
Each maps to sound/soundNNN.blp (zero-padded three-digit index).
Sound files are raw PCM WAV data stored in the .blp container.
Sound Effect Reference
| Constant | Index | File | Description |
|---|---|---|---|
SOUND_CLICK |
0 | sound000.blp |
UI button click |
SOUND_BOING |
1 | sound001.blp |
Blupi bouncy acknowledgement (happy) |
SOUND_OK1 |
2 | sound002.blp |
Blupi confirms command (voice 1) |
SOUND_OK2 |
3 | sound003.blp |
Blupi confirms command (voice 2) |
SOUND_OK3 |
4 | sound004.blp |
Blupi confirms command (voice 3) |
SOUND_GO1 |
5 | sound005.blp |
Blupi starts moving (voice 1) |
SOUND_GO2 |
6 | sound006.blp |
Blupi starts moving (voice 2) |
SOUND_GO3 |
7 | sound007.blp |
Blupi starts moving (voice 3) |
SOUND_TERM1 |
8 | sound008.blp |
Blupi finishes task (voice 1) |
SOUND_TERM2 |
9 | sound009.blp |
Blupi finishes task (voice 2) |
SOUND_TERM3 |
10 | sound010.blp |
Blupi finishes task (voice 3) |
SOUND_COUPTERRE |
11 | sound011.blp |
Digging earth |
SOUND_COUPTOC |
12 | sound012.blp |
Hitting wood / chopping |
SOUND_SAUT |
13 | sound013.blp |
Blupi jumping |
SOUND_HOP |
14 | sound014.blp |
Blupi hop (small jump over obstacle) |
SOUND_SCIE |
15 | sound015.blp |
Sawing wood |
SOUND_FEU |
16 | sound016.blp |
Fire burning |
SOUND_BRULE |
17 | sound017.blp |
Blupi burning / on fire |
SOUND_TCHAO |
18 | sound018.blp |
Blupi disappearing (death) |
SOUND_MANGE |
19 | sound019.blp |
Blupi eating |
SOUND_NAISSANCE |
20 | sound020.blp |
Birth of new Blupi (hatching from egg) |
SOUND_A_SAUT |
21 | sound021.blp |
Spider jumping |
SOUND_A_HIHI |
22 | sound022.blp |
Spider laugh / attack hiss |
SOUND_PLOUF |
23 | sound023.blp |
Splash (falling into water) |
SOUND_BUT |
24 | sound024.blp |
Goal / target reached |
SOUND_RAYON1 |
25 | sound025.blp |
Electro ray beam start |
SOUND_RAYON2 |
26 | sound026.blp |
Electro ray beam sustained |
SOUND_VIRUS |
27 | sound027.blp |
Virus spreading / infecting |
SOUND_GLISSE |
28 | sound028.blp |
Blupi sliding on ice |
SOUND_BOIT |
29 | sound029.blp |
Blupi drinking (potion) |
SOUND_LABO |
30 | sound030.blp |
Laboratory working |
SOUND_DYNAMITE |
31 | sound031.blp |
Dynamite explosion |
SOUND_PORTE |
32 | sound032.blp |
Door opening / closing |
SOUND_FLEUR |
33 | sound033.blp |
Picking flowers |
SOUND_T_MOTEUR |
34 | sound034.blp |
Tracks / tank engine |
SOUND_T_ECRASE |
35 | sound035.blp |
Tracks / tank crushing object |
SOUND_PIEGE |
36 | sound036.blp |
Trap triggered |
SOUND_AIE |
37 | sound037.blp |
Blupi hurt ("ouch!") |
SOUND_A_POISON |
38 | sound038.blp |
Spider poisoned / killed |
SOUND_R_MOTEUR |
39 | sound039.blp |
Robot motor running |
SOUND_R_APLAT |
40 | sound040.blp |
Robot flattening |
SOUND_R_ROTATE |
41 | sound041.blp |
Robot rotating |
SOUND_R_CHARGE |
42 | sound042.blp |
Robot recharging |
SOUND_B_SAUT |
43 | sound043.blp |
Bomb bouncing / hopping |
SOUND_BATEAU |
44 | sound044.blp |
Boat / water movement |
SOUND_JEEP |
45 | sound045.blp |
Jeep driving |
SOUND_MINE |
46 | sound046.blp |
Mine exploding |
SOUND_USINE |
47 | sound047.blp |
Factory operating |
SOUND_E_RAYON |
48 | sound048.blp |
Electro tower ray firing |
SOUND_E_TOURNE |
49 | sound049.blp |
Electro tower rotating |
SOUND_ARROSE |
50 | sound050.blp |
Blupi watering plants |
SOUND_BECHE |
51 | sound051.blp |
Blupi digging with spade |
SOUND_D_BOING |
52 | sound052.blp |
Disciple acknowledgement |
SOUND_D_OK |
53 | sound053.blp |
Disciple confirms command (voice) |
SOUND_D_GO |
54 | sound054.blp |
Disciple starts moving (voice) |
SOUND_D_TERM |
55 | sound055.blp |
Disciple finishes task (voice) |
SOUND_BOING1 |
56 | sound056.blp |
Alternative boing 1 |
SOUND_BOING2 |
57 | sound057.blp |
Alternative boing 2 |
SOUND_BOING3 |
58 | sound058.blp |
Alternative boing 3 |
SOUND_OK4 |
59 | sound059.blp |
OK voice 4 |
SOUND_OK5 |
60 | sound060.blp |
OK voice 5 |
SOUND_OK6 |
61 | sound061.blp |
OK voice 6 |
SOUND_OK1f |
62 | sound062.blp |
OK voice 1 (tired variant) |
SOUND_OK2f |
63 | sound063.blp |
OK voice 2 (tired variant) |
SOUND_OK3f |
64 | sound064.blp |
OK voice 3 (tired variant) |
SOUND_OK1e |
65 | sound065.blp |
OK voice 1 (enemy / electro variant) |
SOUND_OK2e |
66 | sound066.blp |
OK voice 2 (enemy variant) |
SOUND_OK3e |
67 | sound067.blp |
OK voice 3 (enemy variant) |
SOUND_GO4 |
68 | sound068.blp |
Go voice 4 |
SOUND_GO5 |
69 | sound069.blp |
Go voice 5 |
SOUND_GO6 |
70 | sound070.blp |
Go voice 6 |
SOUND_TERM4 |
71 | sound071.blp |
Term voice 4 |
SOUND_TERM5 |
72 | sound072.blp |
Term voice 5 |
SOUND_TERM6 |
73 | sound073.blp |
Term voice 6 |
SOUND_COUPSEC |
74 | sound074.blp |
Dry impact (stone on stone) |
SOUND_COUPPIERRE |
75 | sound075.blp |
Mining stone / rock |
SOUND_COUPSOURD |
76 | sound076.blp |
Muffled impact |
SOUND_COUPBREF |
77 | sound077.blp |
Brief impact |
SOUND_OPEN |
78 | sound078.blp |
Something opening |
SOUND_CLOSE |
79 | sound079.blp |
Something closing |
SOUND_TELEPORTE |
80 | sound080.blp |
Teleporter activating |
SOUND_ARMUREOPEN |
81 | sound081.blp |
Armour opening (entering) |
SOUND_ARMURECLOSE |
82 | sound082.blp |
Armour closing (exiting) |
SOUND_WIN |
83 | sound083.blp |
Mission victory fanfare |
SOUND_LOST |
84 | sound084.blp |
Mission defeat sound |
SOUND_MOVIE |
99 | sound099.blp |
Cinematic / AVI movie start sound |
Localised Voice Sounds
Language-specific voice sounds override the base files. Overriding sounds (indices 0–82 or 84 depending on language) are placed in:
| Directory | Language | Override count |
|---|---|---|
sound/english/ |
English | 83 files (000–082) |
sound/deutsch/ |
German | 83 files (000–082) |
sound/francais/ |
French | 83 files (000–082) |
sound/us/ |
US English | 85 files (000–084) |
The active language is set by Language= in data/config.def.
Sound Playback
void CDecor::BlupiSound(int rank, int sound, POINT pos, BOOL bStop=FALSE)
// Plays a SOUND_* effect at the character's position
// bStop=TRUE: stop any currently playing sound for this character first
// CSound methods:
void CSound::Cache(int channel, const char* filename); // load WAV
void CSound::Play(int sound, POINT pos, BOOL bStop); // play
void CSound::PlayMusic(int music); // play MIDI
void CSound::StopMusic(); // stop MIDI