]> git.jsancho.org Git - lugaru.git/blob - Source/Audio/Sounds.hpp
clang-format: Apply to all headers
[lugaru.git] / Source / Audio / Sounds.hpp
1 /*
2 Copyright (C) 2010-2017 - Lugaru contributors (see AUTHORS file)
3
4 This file is part of Lugaru.
5
6 Lugaru 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 2 of the License, or
9 (at your option) any later version.
10
11 Lugaru 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.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #ifndef _SOUNDS_HPP_
21 #define _SOUNDS_HPP_
22
23 #include "Math/XYZ.hpp"
24
25 enum sound_type
26 {
27 #define DECLARE_SOUND(id, filename) id,
28 #include "Sounds.def"
29 #undef DECLARE_SOUND
30     sounds_count
31 };
32
33 extern struct OPENAL_SAMPLE* samp[sounds_count];
34 extern int channels[];
35
36 extern void loadAllSounds();
37
38 extern void addEnvSound(XYZ coords, float vol = 16, float life = .4);
39
40 extern void emit_sound_at(int soundid, const XYZ& pos = XYZ(), float vol = 256.f);
41 extern void emit_sound_np(int soundid, float vol = 256.f);
42 extern void emit_stream_at(int soundid, const XYZ& pos = XYZ(), float vol = 256.f);
43 extern void emit_stream_np(int soundid, float vol = 256.f);
44 extern void resume_stream(int soundid);
45 extern void pause_sound(int soundid);
46
47 extern int footstepsound, footstepsound2, footstepsound3, footstepsound4;
48 #endif