1 #include "xr_level_fog_vol.h" 2 #include "xr_reader.h" 3 #include "xr_writer.h" 4 #include "xr_utils.h" 5 6 using namespace xray_re; 7 ~xr_level_fog_vol()8xr_level_fog_vol::~xr_level_fog_vol() 9 { 10 delete_elements(m_fog_vols); 11 } 12 operator ()read_fog_vol13struct read_fog_vol { void operator()(fog_vol_data*& _fog_vol, xr_reader& r) const { 14 fog_vol_data* fog_vol = new fog_vol_data; 15 _fog_vol = fog_vol; 16 r.r_s(fog_vol->ltx); 17 r.r(fog_vol->xform); 18 if ((fog_vol->num_particles = r.r_u32())) { 19 fog_vol->particles = new fmatrix[fog_vol->num_particles]; 20 r.r_cseq(fog_vol->num_particles, fog_vol->particles); 21 } 22 }}; 23 load(xr_reader & r)24void xr_level_fog_vol::load(xr_reader& r) 25 { 26 m_version = r.r_u16(); 27 xr_assert(m_version == FOG_VOL_VERSION_2 || m_version == FOG_VOL_VERSION_3); 28 r.r_seq(r.r_u32(), m_fog_vols, read_fog_vol()); 29 } 30 save(xr_writer & w) const31void xr_level_fog_vol::save(xr_writer& w) const 32 { 33 } 34