1 /*
2  * This file is part of the Colobot: Gold Edition source code
3  * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam
4  * http://epsitec.ch; http://colobot.info; http://github.com/colobot
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  * See the GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see http://gnu.org/licenses
18  */
19 
20 #pragma once
21 
22 #include <string>
23 
24 /**
25  * \file sound/sound_type.h
26  * \brief Defines the SoundType enum
27  */
28 
29 /**
30  * \public
31  * \enum    SoundType
32  * \brief   Enum representing sound file
33 **/
34 enum SoundType
35 {
36   SOUND_NONE = -1,      /*!< Silence. */
37   SOUND_CLICK = 0,      /*!< Keybinding change. */
38   SOUND_BOUM  = 1,      /*!< Landing on ground bump. */
39   SOUND_EXPLO  = 2,     /*!< Building explosion. */
40   SOUND_FLYh  = 3,      /*!< Jet engine (SpaceShip) landing. */
41   SOUND_FLY  = 4,       /*!< Jet engine (SpaceShip & WingedBot) flying. */
42   SOUND_STEPs  = 5,     /*!< Step on grass/mud. */
43   SOUND_MOTORw  = 6,    /*!< WheeledBot engine. */
44   SOUND_MOTORt  = 7,    /*!< TrackedBot engine. */
45   SOUND_MOTORr  = 8,    /*!< SpecialBot engine. */
46   SOUND_ERROR  = 9,     /*!< DisplayError message. */
47   SOUND_CONVERT  = 10,  /*!< Converter processing. */
48   SOUND_ENERGY  = 11,   /*!< PowerStation recharging #1/Menu particle #1. */
49   SOUND_PLOUF  = 12,    /*!< Water splash. */
50   SOUND_BLUP  = 13,     /*!< Swimming #1. */
51   SOUND_WARNING  = 14,  /*!< DisplayWarning message. */
52   SOUND_DERRICK  = 15,  /*!< Derrick digging. */
53   SOUND_LABO  = 16,     /*!< AutoLab processing sample. */
54   SOUND_STATION  = 17,  /*!< PowerStation recharging #2/Menu particle #2. */
55   SOUND_REPAIR  = 18,   /*!< RepairCenter/Sniffer sniffing. */
56   SOUND_RESEARCH  = 19, /*!< ResearchCenter processing. */
57   SOUND_INSECTs  = 20,  /*!< AlienSpider roar. */
58   SOUND_BURN  = 21,     /*!< Burning. */
59   SOUND_TZOING  = 22,   /*!< EPSITEC's Brand "TZOING!". */
60   SOUND_GGG  = 23,      /*!< Electricity/Menu particle #3. */
61   SOUND_MANIP  = 24,    /*!< Bot mechanic arm manipulating. */
62   SOUND_FIRE  = 25,     /*!< ShooterBot shooting. */
63   SOUND_HUMAN1  = 26,   /*!< Astronaut breathing. */
64   SOUND_STEPw  = 27,    /*!< Step under the water. */
65   SOUND_SWIM  = 28,     /*!< Swimming #2. */
66   SOUND_RADAR  = 29,    /*!< RadarStation "DING!"/Menu particle #4. */
67   SOUND_BUILD  = 30,    /*!< Building processing. */
68   SOUND_ALARM  = 31,    /*!< Bot energy alarm/Menu particle #5. */
69   SOUND_SLIDE  = 32,    /*!< WingedBot engine. */
70   SOUND_EXPLOi  = 33,   /*!< AlienInsect exploding scream. */
71   SOUND_INSECTa  = 34,  /*!< AlienAnt roar. */
72   SOUND_INSECTb  = 35,  /*!< AlienWasp roar. */
73   SOUND_INSECTw  = 36,  /*!< AlienWorm roar. */
74   SOUND_INSECTm  = 37,  /*!< AlienQueen roar. */
75   SOUND_TREMBLE  = 38,  /*!< Building ambient. */
76   SOUND_PSHHH  = 39,    /*!< SpecialBot engine "PSHHH!"/Menu particle #6. */
77   SOUND_NUCLEAR  = 40,  /*!< NuclearPlant processing. */
78   SOUND_INFO  = 41,     /*!< DisplayInfo message/Menu particle #7. */
79   SOUND_OPEN  = 42,     /*!< Converter open/close. */
80   SOUND_CLOSE  = 43,    /*!< Converter slam. */
81   SOUND_FACTORY  = 44,  /*!< BotFactory processing. */
82   SOUND_EGG  = 45,      /*!< AlienEgg breaking eggshell. */
83   SOUND_MOTORs  = 46,   /*!< Subber engine. */
84   SOUND_MOTORi  = 47,   /*!< LeggedBot engine. */
85   SOUND_SHIELD  = 48,   /*!< Shielder shielding. */
86   SOUND_FIREi  = 49,    /*!< OrgaShooterBot shooting. */
87   SOUND_GUNDEL  = 50,   /*!< Neutralized AlienInsect's fire under the shield. */
88   SOUND_PSHHH2  = 51,   /*!< Shielder mechanic tower manipulating. */
89   SOUND_MESSAGE  = 52,  /*!< DisplayMessage message. */
90   SOUND_BOUMm  = 53,    /*!< Metal bang. */
91   SOUND_BOUMv  = 54,    /*!< Plant bang. */
92   SOUND_BOUMs  = 55,    /*!< Smooth bang. */
93   SOUND_EXPLOl  = 56,   /*!< Bot explosion. */
94   SOUND_EXPLOlp  = 57,  /*!< Power explosion. */
95   SOUND_EXPLOp  = 58,   /*!< Bot/Power explosion. */
96   SOUND_STEPh  = 59,    /*!< Step on a rock #1. */
97   SOUND_STEPm  = 60,    /*!< Step on a rock #2. */
98   SOUND_POWERON  = 61,  /*!< Power on. */
99   SOUND_POWEROFF  = 62, /*!< Power off. */
100   SOUND_AIE  = 63,      /*!< Astronaut pain "AIE!". */
101   SOUND_WAYPOINT  = 64, /*!< WayPoint/Target2 activate/Flag placing. */
102   SOUND_RECOVER  = 65,  /*!< Recycler sound. */ /* DUPLICATE OF SOUND_GUNDEL=50 */
103   SOUND_DEADi  = 66,    /*!< AlienInsect dying scream. */
104   SOUND_JOSTLE  = 67,   /*!< Leaf shaking. */
105   SOUND_GFLAT  = 68,    /*!< FlatGround probing/Menu particle #8. */
106   SOUND_DEADg  = 69,    /*!< Astronaut death "AU!". */
107   SOUND_DEADw  = 70,    /*!< Astronaut drown "AHU!AHU!". */
108   SOUND_FLYf  = 71,     /*!< Jet engine overheating. */
109   SOUND_ALARMt  = 72,   /*!< Bot temperature alarm/Menu particle #9. */
110   SOUND_FINDING  = 73,  /*!< Vault opening/ProxyActivating an object. */ /* DUPLICATE OF SOUND_WAYPOINT=64 */
111   SOUND_THUMP  = 74,    /*!< Thumper thumping. */
112   SOUND_TOUCH  = 75,    /*!< Bot getting damage. */
113   SOUND_BLITZ  = 76,    /*!< Thunder. */
114   SOUND_MUSHROOM  = 77, /*!< Mushroom poisoning. */
115   SOUND_FIREp  = 78,    /*!< PhazerShooter shooting. */
116   SOUND_EXPLOg1  = 79,  /*!< ShooterBots damaging objects. */
117   SOUND_EXPLOg2  = 80,  /*!< OrgaShooterBots damaging objects. */
118   SOUND_MOTORd  = 81,   /*!< Scribbler/ToyBot engine. */
119   SOUND_ALARMs  = 82,   /*!< Bot shield alarm. */
120   SOUND_MAX             /** number of items in enum */
121 };
122 
123 SoundType ParseSoundType(const std::string& str);
124