1 #ifndef __GNUC__ 2 #pragma once 3 #endif 4 #ifndef __XR_LEVEL_WALLMARKS_H__ 5 #define __XR_LEVEL_WALLMARKS_H__ 6 7 #include <string> 8 #include <vector> 9 #include "xr_sphere.h" 10 #include "xr_wallmarks.h" 11 12 namespace xray_re { 13 14 struct wm_data { 15 fsphere bounds; 16 wm_vertex_vec vertices; 17 }; 18 19 TYPEDEF_STD_VECTOR(wm_data) 20 21 struct wm_slot { 22 std::string shader; 23 std::string texture; 24 wm_data_vec wallmarks; 25 }; 26 27 TYPEDEF_STD_VECTOR_PTR(wm_slot) 28 29 class xr_reader; 30 class xr_writer; 31 32 class xr_level_wallmarks { 33 public: 34 xr_level_wallmarks(xr_reader& r); 35 ~xr_level_wallmarks(); 36 37 void load(xr_reader& r); 38 void save(xr_writer& w) const; 39 40 const wm_slot_vec& slots() const; 41 42 private: 43 wm_slot_vec m_slots; 44 }; 45 xr_level_wallmarks(xr_reader & r)46inline xr_level_wallmarks::xr_level_wallmarks(xr_reader& r) { load(r); } slots()47inline const wm_slot_vec& xr_level_wallmarks::slots() const { return m_slots; } 48 49 } // end of namespace xray_re 50 51 #endif 52