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)46 inline xr_level_wallmarks::xr_level_wallmarks(xr_reader& r) { load(r); }
slots()47 inline const wm_slot_vec& xr_level_wallmarks::slots() const { return m_slots; }
48 
49 } // end of namespace xray_re
50 
51 #endif
52