corrade-vassal – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 vero 1 /*
2 * Copyright (c) 2006-2014, openmetaverse.org
3 * All rights reserved.
4 *
5 * - Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * - Redistributions of source code must retain the above copyright notice, this
9 * list of conditions and the following disclaimer.
10 * - Neither the name of the openmetaverse.org nor the names
11 * of its contributors may be used to endorse or promote products derived from
12 * this software without specific prior written permission.
13 *
14 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
18 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 * POSSIBILITY OF SUCH DAMAGE.
25 */
26  
27 using System;
28  
29 namespace OpenMetaverse
30 {
31 /// <summary>
32 /// Identifier code for primitive types
33 /// </summary>
34 public enum PCode : byte
35 {
36 /// <summary>None</summary>
37 None = 0,
38 /// <summary>A Primitive</summary>
39 Prim = 9,
40 /// <summary>A Avatar</summary>
41 Avatar = 47,
42 /// <summary>Linden grass</summary>
43 Grass = 95,
44 /// <summary>Linden tree</summary>
45 NewTree = 111,
46 /// <summary>A primitive that acts as the source for a particle stream</summary>
47 ParticleSystem = 143,
48 /// <summary>A Linden tree</summary>
49 Tree = 255
50 }
51  
52 /// <summary>
53 /// Primary parameters for primitives such as Physics Enabled or Phantom
54 /// </summary>
55 [Flags]
56 public enum PrimFlags : uint
57 {
58 /// <summary>Deprecated</summary>
59 None = 0,
60 /// <summary>Whether physics are enabled for this object</summary>
61 Physics = 0x00000001,
62 /// <summary></summary>
63 CreateSelected = 0x00000002,
64 /// <summary></summary>
65 ObjectModify = 0x00000004,
66 /// <summary></summary>
67 ObjectCopy = 0x00000008,
68 /// <summary></summary>
69 ObjectAnyOwner = 0x00000010,
70 /// <summary></summary>
71 ObjectYouOwner = 0x00000020,
72 /// <summary></summary>
73 Scripted = 0x00000040,
74 /// <summary>Whether this object contains an active touch script</summary>
75 Touch = 0x00000080,
76 /// <summary></summary>
77 ObjectMove = 0x00000100,
78 /// <summary>Whether this object can receive payments</summary>
79 Money = 0x00000200,
80 /// <summary>Whether this object is phantom (no collisions)</summary>
81 Phantom = 0x00000400,
82 /// <summary></summary>
83 InventoryEmpty = 0x00000800,
84 /// <summary></summary>
85 JointHinge = 0x00001000,
86 /// <summary></summary>
87 JointP2P = 0x00002000,
88 /// <summary></summary>
89 JointLP2P = 0x00004000,
90 /// <summary>Deprecated</summary>
91 JointWheel = 0x00008000,
92 /// <summary></summary>
93 AllowInventoryDrop = 0x00010000,
94 /// <summary></summary>
95 ObjectTransfer = 0x00020000,
96 /// <summary></summary>
97 ObjectGroupOwned = 0x00040000,
98 /// <summary>Deprecated</summary>
99 ObjectYouOfficer = 0x00080000,
100 /// <summary></summary>
101 CameraDecoupled = 0x00100000,
102 /// <summary></summary>
103 AnimSource = 0x00200000,
104 /// <summary></summary>
105 CameraSource = 0x00400000,
106 /// <summary></summary>
107 CastShadows = 0x00800000,
108 /// <summary>Server flag, will not be sent to clients. Specifies that
109 /// the object is destroyed when it touches a simulator edge</summary>
110 DieAtEdge = 0x01000000,
111 /// <summary>Server flag, will not be sent to clients. Specifies that
112 /// the object will be returned to the owner's inventory when it
113 /// touches a simulator edge</summary>
114 ReturnAtEdge = 0x02000000,
115 /// <summary>Server flag, will not be sent to clients.</summary>
116 Sandbox = 0x04000000,
117 /// <summary>Server flag, will not be sent to client. Specifies that
118 /// the object is hovering/flying</summary>
119 Flying = 0x08000000,
120 /// <summary></summary>
121 ObjectOwnerModify = 0x10000000,
122 /// <summary></summary>
123 TemporaryOnRez = 0x20000000,
124 /// <summary></summary>
125 Temporary = 0x40000000,
126 /// <summary></summary>
127 ZlibCompressed = 0x80000000
128 }
129  
130 /// <summary>
131 /// Sound flags for sounds attached to primitives
132 /// </summary>
133 [Flags]
134 public enum SoundFlags : byte
135 {
136 /// <summary></summary>
137 None = 0,
138 /// <summary></summary>
139 Loop = 0x01,
140 /// <summary></summary>
141 SyncMaster = 0x02,
142 /// <summary></summary>
143 SyncSlave = 0x04,
144 /// <summary></summary>
145 SyncPending = 0x08,
146 /// <summary></summary>
147 Queue = 0x10,
148 /// <summary></summary>
149 Stop = 0x20
150 }
151  
152 public enum ProfileCurve : byte
153 {
154 Circle = 0x00,
155 Square = 0x01,
156 IsoTriangle = 0x02,
157 EqualTriangle = 0x03,
158 RightTriangle = 0x04,
159 HalfCircle = 0x05
160 }
161  
162 public enum HoleType : byte
163 {
164 Same = 0x00,
165 Circle = 0x10,
166 Square = 0x20,
167 Triangle = 0x30
168 }
169  
170 public enum PathCurve : byte
171 {
172 Line = 0x10,
173 Circle = 0x20,
174 Circle2 = 0x30,
175 Test = 0x40,
176 Flexible = 0x80
177 }
178  
179 /// <summary>
180 /// Material type for a primitive
181 /// </summary>
182 public enum Material : byte
183 {
184 /// <summary></summary>
185 Stone = 0,
186 /// <summary></summary>
187 Metal,
188 /// <summary></summary>
189 Glass,
190 /// <summary></summary>
191 Wood,
192 /// <summary></summary>
193 Flesh,
194 /// <summary></summary>
195 Plastic,
196 /// <summary></summary>
197 Rubber,
198 /// <summary></summary>
199 Light
200 }
201  
202 /// <summary>
203 /// Used in a helper function to roughly determine prim shape
204 /// </summary>
205 public enum PrimType
206 {
207 Unknown,
208 Box,
209 Cylinder,
210 Prism,
211 Sphere,
212 Torus,
213 Tube,
214 Ring,
215 Sculpt,
216 Mesh
217 }
218  
219 /// <summary>
220 /// Extra parameters for primitives, these flags are for features that have
221 /// been added after the original ObjectFlags that has all eight bits
222 /// reserved already
223 /// </summary>
224 [Flags]
225 public enum ExtraParamType : ushort
226 {
227 /// <summary>Whether this object has flexible parameters</summary>
228 Flexible = 0x10,
229 /// <summary>Whether this object has light parameters</summary>
230 Light = 0x20,
231 /// <summary>Whether this object is a sculpted prim</summary>
232 Sculpt = 0x30,
233 /// <summary>Whether this object is a light image map</summary>
234 LightImage = 0x40,
235 /// <summary>Whether this object is a mesh</summary>
236 Mesh = 0x60,
237 }
238  
239 /// <summary>
240 ///
241 /// </summary>
242 public enum JointType : byte
243 {
244 /// <summary></summary>
245 Invalid = 0,
246 /// <summary></summary>
247 Hinge = 1,
248 /// <summary></summary>
249 Point = 2,
250 // <summary></summary>
251 //[Obsolete]
252 //LPoint = 3,
253 //[Obsolete]
254 //Wheel = 4
255 }
256  
257 /// <summary>
258 ///
259 /// </summary>
260 public enum SculptType : byte
261 {
262 /// <summary></summary>
263 None = 0,
264 /// <summary></summary>
265 Sphere = 1,
266 /// <summary></summary>
267 Torus = 2,
268 /// <summary></summary>
269 Plane = 3,
270 /// <summary></summary>
271 Cylinder = 4,
272 /// <summary></summary>
273 Mesh = 5,
274 /// <summary></summary>
275 Invert = 64,
276 /// <summary></summary>
277 Mirror = 128
278 }
279  
280 /// <summary>
281 ///
282 /// </summary>
283 public enum FaceType : ushort
284 {
285 /// <summary></summary>
286 PathBegin = 0x1 << 0,
287 /// <summary></summary>
288 PathEnd = 0x1 << 1,
289 /// <summary></summary>
290 InnerSide = 0x1 << 2,
291 /// <summary></summary>
292 ProfileBegin = 0x1 << 3,
293 /// <summary></summary>
294 ProfileEnd = 0x1 << 4,
295 /// <summary></summary>
296 OuterSide0 = 0x1 << 5,
297 /// <summary></summary>
298 OuterSide1 = 0x1 << 6,
299 /// <summary></summary>
300 OuterSide2 = 0x1 << 7,
301 /// <summary></summary>
302 OuterSide3 = 0x1 << 8
303 }
304  
305 /// <summary>
306 ///
307 /// </summary>
308 public enum ObjectCategory
309 {
310 /// <summary></summary>
311 Invalid = -1,
312 /// <summary></summary>
313 None = 0,
314 /// <summary></summary>
315 Owner,
316 /// <summary></summary>
317 Group,
318 /// <summary></summary>
319 Other,
320 /// <summary></summary>
321 Selected,
322 /// <summary></summary>
323 Temporary
324 }
325  
326 /// <summary>
327 /// Attachment points for objects on avatar bodies
328 /// </summary>
329 /// <remarks>
330 /// Both InventoryObject and InventoryAttachment types can be attached
331 ///</remarks>
332 public enum AttachmentPoint : byte
333 {
334 /// <summary>Right hand if object was not previously attached</summary>
335 [EnumInfo(Text = "Default")]
336 Default = 0,
337 /// <summary>Chest</summary>
338 [EnumInfo(Text = "Chest")]
339 Chest = 1,
340 /// <summary>Skull</summary>
341 [EnumInfo(Text = "Head")]
342 Skull,
343 /// <summary>Left shoulder</summary>
344 [EnumInfo(Text = "Left Shoulder")]
345 LeftShoulder,
346 /// <summary>Right shoulder</summary>
347 [EnumInfo(Text = "Right Shoulder")]
348 RightShoulder,
349 /// <summary>Left hand</summary>
350 [EnumInfo(Text = "Left Hand")]
351 LeftHand,
352 /// <summary>Right hand</summary>
353 [EnumInfo(Text = "Right Hand")]
354 RightHand,
355 /// <summary>Left foot</summary>
356 [EnumInfo(Text = "Left Foot")]
357 LeftFoot,
358 /// <summary>Right foot</summary>
359 [EnumInfo(Text = "Right Foot")]
360 RightFoot,
361 /// <summary>Spine</summary>
362 [EnumInfo(Text = "Back")]
363 Spine,
364 /// <summary>Pelvis</summary>
365 [EnumInfo(Text = "Pelvis")]
366 Pelvis,
367 /// <summary>Mouth</summary>
368 [EnumInfo(Text = "Mouth")]
369 Mouth,
370 /// <summary>Chin</summary>
371 [EnumInfo(Text = "Chin")]
372 Chin,
373 /// <summary>Left ear</summary>
374 [EnumInfo(Text = "Left Ear")]
375 LeftEar,
376 /// <summary>Right ear</summary>
377 [EnumInfo(Text = "Right Ear")]
378 RightEar,
379 /// <summary>Left eyeball</summary>
380 [EnumInfo(Text = "Left Eye")]
381 LeftEyeball,
382 /// <summary>Right eyeball</summary>
383 [EnumInfo(Text = "Right Eye")]
384 RightEyeball,
385 /// <summary>Nose</summary>
386 [EnumInfo(Text = "Nose")]
387 Nose,
388 /// <summary>Right upper arm</summary>
389 [EnumInfo(Text = "Right Upper Arm")]
390 RightUpperArm,
391 /// <summary>Right forearm</summary>
392 [EnumInfo(Text = "Right Lower Arm")]
393 RightForearm,
394 /// <summary>Left upper arm</summary>
395 [EnumInfo(Text = "Left Upper Arm")]
396 LeftUpperArm,
397 /// <summary>Left forearm</summary>
398 [EnumInfo(Text = "Left Lower Arm")]
399 LeftForearm,
400 /// <summary>Right hip</summary>
401 [EnumInfo(Text = "Right Hip")]
402 RightHip,
403 /// <summary>Right upper leg</summary>
404 [EnumInfo(Text = "Right Upper Leg")]
405 RightUpperLeg,
406 /// <summary>Right lower leg</summary>
407 [EnumInfo(Text = "Right Lower Leg")]
408 RightLowerLeg,
409 /// <summary>Left hip</summary>
410 [EnumInfo(Text = "Left Hip")]
411 LeftHip,
412 /// <summary>Left upper leg</summary>
413 [EnumInfo(Text = "Left Upper Leg")]
414 LeftUpperLeg,
415 /// <summary>Left lower leg</summary>
416 [EnumInfo(Text = "Left Lower Leg")]
417 LeftLowerLeg,
418 /// <summary>Stomach</summary>
419 [EnumInfo(Text = "Belly")]
420 Stomach,
421 /// <summary>Left pectoral</summary>
422 [EnumInfo(Text = "Left Pec")]
423 LeftPec,
424 /// <summary>Right pectoral</summary>
425 [EnumInfo(Text = "Right Pec")]
426 RightPec,
427 /// <summary>HUD Center position 2</summary>
428 [EnumInfo(Text = "HUD Center 2")]
429 HUDCenter2,
430 /// <summary>HUD Top-right</summary>
431 [EnumInfo(Text = "HUD Top Right")]
432 HUDTopRight,
433 /// <summary>HUD Top</summary>
434 [EnumInfo(Text = "HUD Top Center")]
435 HUDTop,
436 /// <summary>HUD Top-left</summary>
437 [EnumInfo(Text = "HUD Top Left")]
438 HUDTopLeft,
439 /// <summary>HUD Center</summary>
440 [EnumInfo(Text = "HUD Center 1")]
441 HUDCenter,
442 /// <summary>HUD Bottom-left</summary>
443 [EnumInfo(Text = "HUD Bottom Left")]
444 HUDBottomLeft,
445 /// <summary>HUD Bottom</summary>
446 [EnumInfo(Text = "HUD Bottom")]
447 HUDBottom,
448 /// <summary>HUD Bottom-right</summary>
449 [EnumInfo(Text = "HUD Bottom Right")]
450 HUDBottomRight,
451 /// <summary>Neck</summary>
452 [EnumInfo(Text = "Neck")]
453 Neck,
454 /// <summary>Avatar Center</summary>
455 [EnumInfo(Text = "Avatar Center")]
456 Root,
457 }
458  
459 /// <summary>
460 /// Tree foliage types
461 /// </summary>
462 public enum Tree : byte
463 {
464 /// <summary>Pine1 tree</summary>
465 Pine1 = 0,
466 /// <summary>Oak tree</summary>
467 Oak,
468 /// <summary>Tropical Bush1</summary>
469 TropicalBush1,
470 /// <summary>Palm1 tree</summary>
471 Palm1,
472 /// <summary>Dogwood tree</summary>
473 Dogwood,
474 /// <summary>Tropical Bush2</summary>
475 TropicalBush2,
476 /// <summary>Palm2 tree</summary>
477 Palm2,
478 /// <summary>Cypress1 tree</summary>
479 Cypress1,
480 /// <summary>Cypress2 tree</summary>
481 Cypress2,
482 /// <summary>Pine2 tree</summary>
483 Pine2,
484 /// <summary>Plumeria</summary>
485 Plumeria,
486 /// <summary>Winter pinetree1</summary>
487 WinterPine1,
488 /// <summary>Winter Aspen tree</summary>
489 WinterAspen,
490 /// <summary>Winter pinetree2</summary>
491 WinterPine2,
492 /// <summary>Eucalyptus tree</summary>
493 Eucalyptus,
494 /// <summary>Fern</summary>
495 Fern,
496 /// <summary>Eelgrass</summary>
497 Eelgrass,
498 /// <summary>Sea Sword</summary>
499 SeaSword,
500 /// <summary>Kelp1 plant</summary>
501 Kelp1,
502 /// <summary>Beach grass</summary>
503 BeachGrass1,
504 /// <summary>Kelp2 plant</summary>
505 Kelp2
506 }
507  
508 /// <summary>
509 /// Grass foliage types
510 /// </summary>
511 public enum Grass : byte
512 {
513 /// <summary></summary>
514 Grass0 = 0,
515 /// <summary></summary>
516 Grass1,
517 /// <summary></summary>
518 Grass2,
519 /// <summary></summary>
520 Grass3,
521 /// <summary></summary>
522 Grass4,
523 /// <summary></summary>
524 Undergrowth1
525 }
526  
527 /// <summary>
528 /// Action associated with clicking on an object
529 /// </summary>
530 public enum ClickAction : byte
531 {
532 /// <summary>Touch object</summary>
533 Touch = 0,
534 /// <summary>Sit on object</summary>
535 Sit = 1,
536 /// <summary>Purchase object or contents</summary>
537 Buy = 2,
538 /// <summary>Pay the object</summary>
539 Pay = 3,
540 /// <summary>Open task inventory</summary>
541 OpenTask = 4,
542 /// <summary>Play parcel media</summary>
543 PlayMedia = 5,
544 /// <summary>Open parcel media</summary>
545 OpenMedia = 6
546 }
547  
548 /// <summary>
549 /// Type of physics representation used for this prim in the simulator
550 /// </summary>
551 public enum PhysicsShapeType : byte
552 {
553 /// <summary>Use prim physics form this object</summary>
554 Prim = 0,
555 /// <summary>No physics, prim doesn't collide</summary>
556 None,
557 /// <summary>Use convex hull represantion of this prim</summary>
558 ConvexHull
559 }
560 }