]> git.jsancho.org Git - lugaru.git/blob - Source/Audio/Sounds.hpp
4ceddeca15013144196bb1675b490c4db21f44ad
[lugaru.git] / Source / Audio / Sounds.hpp
1 /*
2 Copyright (C) 2010-2016 - 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_types {
26 #define DECLARE_SOUND(id, filename) id,
27 #include "Sounds.def"
28 #undef DECLARE_SOUND
29     sounds_count
30 };
31
32 extern struct OPENAL_SAMPLE *samp[sounds_count];
33 extern int channels[];
34
35 extern void loadAllSounds();
36
37 extern void addEnvSound(XYZ coords, float vol = 16, float life = .4);
38
39 extern void emit_sound_at(int soundid, const XYZ &pos = XYZ(), float vol = 256.f);
40 extern void emit_sound_np(int soundid, float vol = 256.f);
41 extern void emit_stream_at(int soundid, const XYZ &pos = XYZ(), float vol = 256.f);
42 extern void emit_stream_np(int soundid, float vol = 256.f);
43 extern void resume_stream(int soundid);
44 extern void pause_sound(int soundid);
45
46 extern int footstepsound, footstepsound2, footstepsound3, footstepsound4;
47 #endif