Resolve "Toggle Free Look with Hotkey"
[ryzomcore.git] / ryzom / client / src / client_sheets / world_sheet.h
blob8e1bd780463e81bbb0e26bdf716fae02ca8f9ead
1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #ifndef RY_WORLD_SHEET_H
20 #define RY_WORLD_SHEET_H
22 #include <vector>
23 #include <string>
24 #include "entity_sheet.h"
26 /// Continent location
27 struct SContLoc
29 std::string SelectionName; // name exported that we can use with select
30 std::string ContinentName; // .continent file
31 float MinX, MinY, MaxX, MaxY; // Bounding box
33 SContLoc ();
34 void build (const NLGEORGES::UFormElm *pItem);
35 void serial(NLMISC::IStream &f);
38 // Hierarchical map node
39 struct SMap
41 std::string Name; // Map Name
42 std::string ContinentName; // Name of the continent where the map is (empty if the map is world)
43 std::string BitmapName; // Name of the bitmap to load
44 float MinX, MinY, MaxX, MaxY; // Bounding Box
45 struct SChild
47 std::string Name; // Name to a child map
48 std::string ZoneName; // Click Zone to be found in the region_*.primitive
49 // -----------------------
50 void build (const NLGEORGES::UFormElm *pItem);
51 void serial(NLMISC::IStream &f);
53 std::vector<SChild> Children;
54 // ---------------------------------------------------------------------------------
55 SMap();
56 void build (const NLGEORGES::UFormElm *pItem);
57 void serial(NLMISC::IStream &f);
60 /** Class that manage .world sheets
62 * \author Nicolas Vizerie
63 * \author Nevrax France
64 * \date 2003
67 class CWorldSheet : public CEntitySheet
69 public:
70 std::string Name;
71 std::vector<SContLoc> ContLocs;
72 std::vector<SMap> Maps;
73 public:
74 CWorldSheet();
75 // from CEntitySheet;
76 virtual void build(const NLGEORGES::UFormElm &item);
77 virtual void serial(NLMISC::IStream &f);
80 #endif