1 #ifndef __GNUC__
2 #pragma once
3 #endif
4 #ifndef __XR_SCENE_SOUND_ENVS_H__
5 #define __XR_SCENE_SOUND_ENVS_H__
6 
7 #include "xr_scene_shapes.h"
8 
9 namespace xray_re {
10 
11 // ESoundEnvironment
12 const uint16_t SOUNDENV_VERSION = 0x12;
13 
14 enum {
15 	SOUNDENV_CHUNK_VERSION	= 0x1001,
16 	SOUNDENV_CHUNK_ENV_REFS	= 0x1003,
17 };
18 
19 class xr_sound_env_object: public xr_shape_object {
20 public:
21 			xr_sound_env_object(xr_scene& scene);
22 	virtual		~xr_sound_env_object();
23 	virtual void	load(xr_reader& r);
24 	virtual void	save(xr_writer& w) const;
25 
26 	virtual void		save_v12(xr_ini_writer* w) const;
27 
28 	std::string&	inner();
29 	std::string&	outer();
30 
31 private:
32 	std::string	m_inner;
33 	std::string	m_outer;
34 };
35 
inner()36 inline std::string& xr_sound_env_object::inner() { return m_inner; }
outer()37 inline std::string& xr_sound_env_object::outer() { return m_outer; }
38 
39 
40 // ESceneSoundEnvTools
41 class xr_scene_sound_envs: public xr_scene_objects {
42 public:
43 			xr_scene_sound_envs(xr_scene& scene);
44 	virtual		~xr_scene_sound_envs();
45 	virtual void	load(xr_reader& r);
46 	virtual void	save(xr_writer& w) const;
47 
48 	virtual void		save_v12(xr_ini_writer* w) const;
49 };
50 
51 } // end of namespace xray_re
52 
53 #endif
54