1 #ifndef __GNUC__ 2 #pragma once 3 #endif 4 #ifndef __XR_LEVEL_SND_STATIC_H__ 5 #define __XR_LEVEL_SND_STATIC_H__ 6 7 #include <string> 8 #include <vector> 9 #include "xr_vector2.h" 10 #include "xr_vector3.h" 11 12 namespace xray_re { 13 14 struct sound_src_data { 15 std::string name; 16 fvector3 position; 17 float volume; 18 float freq; 19 i32vector2 active_time; 20 i32vector2 play_time; 21 i32vector2 pause_time; 22 }; 23 24 TYPEDEF_STD_VECTOR_PTR(sound_src_data) 25 26 class xr_reader; 27 class xr_writer; 28 class xr_ini_file; 29 30 class xr_level_snd_static { 31 public: 32 xr_level_snd_static(); 33 xr_level_snd_static(xr_reader& r); 34 xr_level_snd_static(const xr_ini_file& ini); 35 virtual ~xr_level_snd_static(); 36 37 void load(const xr_ini_file& ini); 38 void load(xr_reader& r); 39 void save(xr_writer& w) const; 40 41 const sound_src_data_vec& sound_srcs() const; 42 43 private: 44 sound_src_data_vec m_sound_srcs; 45 }; 46 xr_level_snd_static()47inline xr_level_snd_static::xr_level_snd_static() {} xr_level_snd_static(xr_reader & r)48inline xr_level_snd_static::xr_level_snd_static(xr_reader& r) { load(r); } xr_level_snd_static(const xr_ini_file & ini)49inline xr_level_snd_static::xr_level_snd_static(const xr_ini_file& ini) { load(ini); } sound_srcs()50inline const sound_src_data_vec& xr_level_snd_static::sound_srcs() const { return m_sound_srcs; } 51 52 } // end of namespace xray_re 53 54 #endif 55