Merge branch 'fixes' into main/rendor-staging
[ryzomcore.git] / ryzom / common / src / game_share / people_pd.h
blobffcf8732fd0c71abdf55c82ed9b0a04002931cd5
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/>.
17 #ifndef PEOPLE_PD_H
18 #define PEOPLE_PD_H
20 #include <nel/misc/types_nl.h>
21 #include <nel/misc/debug.h>
22 #include <nel/misc/common.h>
23 #include <vector>
24 #include <map>
26 // User #includes
28 namespace EGSPD
32 // Forward declarations
38 // Typedefs & Enums
41 /** TPeople
42 * defined at game_share/pd_scripts/people.pds:6
44 class CPeople
47 public:
49 /// \name Enum values
50 // @{
52 enum TPeople
54 Undefined = -1,
55 Humanoid = 0,
56 Playable = 0,
57 Fyros = 0,
58 Matis = 1,
59 Tryker = 2,
60 Zorai = 3,
61 EndPlayable = 4,
62 Karavan = 4,
63 Tribe = 5,
64 Common = 6,
65 EndHumanoid = 7,
66 Creature = 7,
67 Fauna = 7,
68 Arma = 7,
69 Balduse = 8,
70 Bul = 9,
71 Capryni = 10,
72 Chonari = 11,
73 Clapclap = 12,
74 Cococlaw = 13,
75 Cute = 14,
76 Dag = 15,
77 Diranak = 16,
78 Estrasson = 17,
79 Filin = 18,
80 Frahar = 19,
81 Gibbai = 20,
82 Hachtaha = 21,
83 Jungler = 22,
84 Kakty = 23,
85 Kalab = 24,
86 Kami = 25,
87 Kazoar = 26,
88 Kitin = 27,
89 Kitins = 28,
90 Kitifly = 28,
91 Kitihank = 29,
92 Kitiharak = 30,
93 Kitikil = 31,
94 Kitimandib = 32,
95 Kitinagan = 33,
96 Kitinega = 34,
97 Kitinokto = 35,
98 EndKitins = 36,
99 Lightbird = 36,
100 Mektoub = 37,
101 MektoubPacker = 38,
102 MektoubMount = 39,
103 Pucetron = 40,
104 Regus = 41,
105 Ryzerb = 42,
106 Ryzoholo = 43,
107 Ryzoholok = 44,
108 Vampignon = 45,
109 Varinx = 46,
110 Yber = 47,
111 Zerx = 48,
112 race_c1 = 49,
113 race_c2 = 50,
114 race_c3 = 51,
115 race_c4 = 52,
116 race_c5 = 53,
117 race_c6 = 54,
118 race_c7 = 55,
119 race_h1 = 56,
120 race_h2 = 57,
121 race_h3 = 58,
122 race_h4 = 59,
123 race_h5 = 60,
124 race_h6 = 61,
125 race_h7 = 62,
126 race_h8 = 63,
127 race_h9 = 64,
128 race_h10 = 65,
129 race_h11 = 66,
130 race_h12 = 67,
131 EndFauna = 68,
132 Flora = 68,
133 Cephaloplant = 68,
134 Electroalgs = 69,
135 Phytopsy = 70,
136 SapEnslaver = 71,
137 SpittingWeeds = 72,
138 Swarmplants = 73,
139 EndFlora = 74,
140 Goo = 74,
141 GooFauna = 74,
142 GooArma = 74,
143 GooBalduse = 75,
144 GooBul = 76,
145 GooCapryni = 77,
146 GooChonari = 78,
147 GooClapclap = 79,
148 GooCococlaw = 80,
149 GooCute = 81,
150 GooDag = 82,
151 GooDiranak = 83,
152 GooEstrasson = 84,
153 GooFilin = 85,
154 GooFrahar = 86,
155 GooGibbai = 87,
156 GooHachtaha = 88,
157 GooJungler = 89,
158 GooKakty = 90,
159 GooKalab = 91,
160 GooKami = 92,
161 GooKazoar = 93,
162 GooKitifly = 94,
163 GooKitihank = 95,
164 GooKitiharak = 96,
165 GooKitikil = 97,
166 GooKitimandib = 98,
167 GooKitin = 99,
168 GooKitinagan = 100,
169 GooKitinega = 101,
170 GooKitinokto = 102,
171 GooLightbird = 103,
172 GooMektoub = 104,
173 GooMektoubPacker = 105,
174 GooMektoubMount = 106,
175 GooPucetron = 107,
176 GooRegus = 108,
177 GooRyzerb = 109,
178 GooRyzoholo = 110,
179 GooRyzoholok = 111,
180 GooVampignon = 112,
181 GooVarinx = 113,
182 GooYber = 114,
183 GooZerx = 115,
184 Goorace_c1 = 116,
185 Goorace_c2 = 117,
186 Goorace_c3 = 118,
187 Goorace_c4 = 119,
188 Goorace_c5 = 120,
189 Goorace_c6 = 121,
190 Goorace_c7 = 122,
191 Goorace_h1 = 123,
192 Goorace_h2 = 124,
193 Goorace_h3 = 125,
194 Goorace_h4 = 126,
195 Goorace_h5 = 127,
196 Goorace_h6 = 128,
197 Goorace_h7 = 129,
198 Goorace_h8 = 130,
199 Goorace_h9 = 131,
200 Goorace_h10 = 132,
201 Goorace_h11 = 133,
202 Goorace_h12 = 134,
203 EndGooFauna = 135,
204 GooPlant = 135,
205 GooCephaloplant = 135,
206 GooElectroalgs = 136,
207 GooPhytopsy = 137,
208 GooSapEnslaver = 138,
209 GooSpittingWeeds = 139,
210 GooSwarmplants = 140,
211 EndGooPlant = 141,
212 EndGoo = 141,
213 EndCreature = 141,
214 ___TPeople_useSize = 142,
215 Unknown = 142,
216 EndPeople = 142,
219 // @}
222 public:
224 /// \name Conversion methods
225 // @{
228 * Use these methods to convert from enum value to string (and vice versa)
231 static const std::string& toString(TPeople v);
232 static CPeople::TPeople fromString(const std::string& v);
234 // @}
237 private:
239 /// \name Enum initialisation
240 // @{
242 static void init();
243 static bool _Initialised;
244 static std::string _UnknownString;
245 static std::vector<std::string> _StrTable;
246 static std::map<std::string, TPeople> _ValueMap;
248 // @}
252 /** TClassificationType
253 * defined at game_share/pd_scripts/people.pds:186
255 class CClassificationType
258 public:
260 /// \name Enum values
261 // @{
263 enum TClassificationType
265 TypeHumanoid = 0,
266 TypeHomin = 1,
267 TypeDegenerated = 2,
268 TypeFauna = 3,
269 TypeFlora = 4,
270 TypeDog = 5,
271 TypeRunner = 6,
272 TypeHorse = 7,
273 TypeBird = 8,
274 TypeKitin = 9,
275 TypeLandKitin = 10,
276 TypeFlyingKitin = 11,
277 TypeFish = 12,
278 TypeRyzomian = 13,
279 TypeGreatRyzomian = 14,
280 TypePachyderm = 15,
281 TypeShellfish = 16,
282 TypeKami = 17,
283 TypeKaravan = 18,
284 TypeAll = 19,
285 ___TClassificationType_useSize = 20,
286 Unknown = 20,
287 EndClassificationType = 20,
290 // @}
293 public:
295 /// \name Conversion methods
296 // @{
299 * Use these methods to convert from enum value to string (and vice versa)
302 static const std::string& toString(TClassificationType v);
303 static CClassificationType::TClassificationType fromString(const std::string& v);
305 // @}
308 private:
310 /// \name Enum initialisation
311 // @{
313 static void init();
314 static bool _Initialised;
315 static std::string _UnknownString;
316 static std::vector<std::string> _StrTable;
317 static std::map<std::string, TClassificationType> _ValueMap;
319 // @}
324 } // End of EGSPD
328 // Inline implementations
331 #include "people_pd_inline.h"
333 #endif