aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Framework/AvatarAppearance.cs853
1 files changed, 842 insertions, 11 deletions
diff --git a/OpenSim/Framework/AvatarAppearance.cs b/OpenSim/Framework/AvatarAppearance.cs
index 0cc5fd8..0b9ea42 100644
--- a/OpenSim/Framework/AvatarAppearance.cs
+++ b/OpenSim/Framework/AvatarAppearance.cs
@@ -31,13 +31,15 @@ using System.Collections.Generic;
31using System.Runtime.Serialization; 31using System.Runtime.Serialization;
32using System.Security.Permissions; 32using System.Security.Permissions;
33using OpenMetaverse; 33using OpenMetaverse;
34using log4net;
35using System.Reflection;
34 36
35namespace OpenSim.Framework 37namespace OpenSim.Framework
36{ 38{
37 public class AvatarAppearance 39 public class AvatarAppearance
38 { 40 {
39// private static readonly ILog m_log 41 private static readonly ILog m_log
40// = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 42 = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
41 43
42 // these are guessed at by the list here - 44 // these are guessed at by the list here -
43 // http://wiki.secondlife.com/wiki/Avatar_Appearance. We'll 45 // http://wiki.secondlife.com/wiki/Avatar_Appearance. We'll
@@ -69,6 +71,8 @@ namespace OpenSim.Framework
69 71
70 public readonly static int VISUALPARAM_COUNT = 218; 72 public readonly static int VISUALPARAM_COUNT = 218;
71 73
74
75
72 protected UUID m_owner; 76 protected UUID m_owner;
73 77
74 public virtual UUID Owner 78 public virtual UUID Owner
@@ -282,6 +286,65 @@ namespace OpenSim.Framework
282 get { return m_hipOffset; } 286 get { return m_hipOffset; }
283 } 287 }
284 288
289 //Builds the VisualParam Enum using LIBOMV's Visual Param NameValues
290 /*
291 public void BuildVisualParamEnum()
292 {
293 Dictionary<string, int> IndexedParams = new Dictionary<string, int>();
294 int vpIndex = 0;
295 IndexedParams = new Dictionary<string, int>();
296
297 System.Text.StringBuilder sb = new System.Text.StringBuilder();
298
299 sb.Append("public enum VPElement: int\n");
300 sb.Append("{\n");
301 foreach (KeyValuePair<int, VisualParam> kvp in OpenMetaverse.VisualParams.Params)
302 {
303 VisualParam vp = kvp.Value;
304
305 // Only Group-0 parameters are sent in AgentSetAppearance packets
306 if (kvp.Value.Group == 0)
307 {
308
309 if (!IndexedParams.ContainsKey(vp.Name))
310 {
311
312 if (vp.Label.Length > 0 || vp.LabelMin.Length > 0 || vp.LabelMax.Length > 0)
313 {
314
315 sb.Append("/// <summary>\n");
316 if (vp.LabelMin.Length > 0 && vp.LabelMax.Length > 0)
317 sb.Append(string.Format("/// {0} - {1} 0--+255 {2}\n", vp.Label, vp.LabelMin,
318 vp.LabelMax));
319
320 else
321 sb.Append(string.Format("/// {0}\n", vp.Label));
322
323 sb.Append("/// </summary>\n");
324 }
325 sb.Append(string.Format(" {0}_{1} = {2}", vp.Wearable.ToUpper(), vp.Name.ToUpper().Replace(" ", "_"),vpIndex));
326
327 IndexedParams.Add(vp.Name, vpIndex++);
328 }
329 else
330 {
331 sb.Append(string.Format(" {0}_{1}_{2} = {2}", vp.Wearable.ToUpper(), vp.Name.ToUpper().Replace(" ", "_"), vpIndex));
332 vpIndex++;
333 //int i = 0;
334 }
335 }
336 if (vpIndex < 217)
337 sb.Append(",\n");
338 else
339 sb.Append("\n");
340
341 }
342 sb.Append("}\n");
343
344 }
345 */
346
347
285 public AvatarAppearance() 348 public AvatarAppearance()
286 : this(UUID.Zero) 349 : this(UUID.Zero)
287 { 350 {
@@ -297,13 +360,16 @@ namespace OpenSim.Framework
297 } 360 }
298 m_serial = 0; 361 m_serial = 0;
299 m_owner = owner; 362 m_owner = owner;
363 //BuildVisualParamEnum()
300 m_visualparams = new byte[VISUALPARAM_COUNT]; 364 m_visualparams = new byte[VISUALPARAM_COUNT];
301 // This sets Visual Params with *less* weirder values then default. Instead of a ugly alien, it looks like a fat scientist 365 // This sets Visual Params with *less* weirder values then default. Instead of a ugly alien, it looks like a fat scientist
302 SetDefaultParams(m_visualparams); 366 SetDefaultParams(m_visualparams);
303 SetDefaultWearables(); 367 SetDefaultWearables();
304 m_texture = GetDefaultTexture(); 368 m_texture = GetDefaultTexture();
369
305 } 370 }
306 371
372
307 public AvatarAppearance(UUID avatarID, AvatarWearable[] wearables, byte[] visualParams) 373 public AvatarAppearance(UUID avatarID, AvatarWearable[] wearables, byte[] visualParams)
308 { 374 {
309 m_owner = avatarID; 375 m_owner = avatarID;
@@ -324,17 +390,20 @@ namespace OpenSim.Framework
324 m_texture = textureEnt; 390 m_texture = textureEnt;
325 m_visualparams = visualParam.ToArray(); 391 m_visualparams = visualParam.ToArray();
326 m_avatarHeight = 1.23077f // Shortest possible avatar height 392 m_avatarHeight = 1.23077f // Shortest possible avatar height
327 + 0.516945f * (float)m_visualparams[25] / 255.0f // Body height 393 + 0.516945f * (float)m_visualparams[(int)VPElement.SHAPE_HEIGHT] / 255.0f // Body height
328 + 0.072514f * (float)m_visualparams[120] / 255.0f // Head size 394 + 0.072514f * (float)m_visualparams[(int)VPElement.SHAPE_HEAD_SIZE] / 255.0f // Head size
329 + 0.3836f * (float)m_visualparams[125] / 255.0f // Leg length 395 + 0.3836f * (float)m_visualparams[(int)VPElement.SHAPE_LEG_LENGTH] / 255.0f // Leg length
330 + 0.08f * (float)m_visualparams[77] / 255.0f // Shoe heel height 396 + 0.08f * (float)m_visualparams[(int)VPElement.SHOES_PLATFORM_HEIGHT] / 255.0f // Shoe platform height
331 + 0.07f * (float)m_visualparams[78] / 255.0f // Shoe platform height 397 + 0.07f * (float)m_visualparams[(int)VPElement.SHOES_HEEL_HEIGHT] / 255.0f // Shoe heel height
332 + 0.076f * (float)m_visualparams[148] / 255.0f; // Neck length 398 + 0.076f * (float)m_visualparams[(int)VPElement.SHAPE_NECK_LENGTH] / 255.0f; // Neck length
333 m_hipOffset = (0.615385f // Half of avatar 399 m_hipOffset = (0.615385f // Half of avatar
334 + 0.08f * (float)m_visualparams[77] / 255.0f // Shoe heel height 400 + 0.08f * (float)m_visualparams[(int)VPElement.SHOES_PLATFORM_HEIGHT] / 255.0f // Shoe platform height
335 + 0.07f * (float)m_visualparams[78] / 255.0f // Shoe platform height 401 + 0.07f * (float)m_visualparams[(int)VPElement.SHOES_HEEL_HEIGHT] / 255.0f // Shoe heel height
336 + 0.3836f * (float)m_visualparams[125] / 255.0f // Leg length 402 + 0.3836f * (float)m_visualparams[(int)VPElement.SHAPE_LEG_LENGTH] / 255.0f // Leg length
337 - m_avatarHeight / 2) * 0.3f - 0.04f; 403 - m_avatarHeight / 2) * 0.3f - 0.04f;
404
405
406
338 //System.Console.WriteLine(">>>>>>> [APPEARANCE]: Height {0} Hip offset {1}" + m_avatarHeight + " " + m_hipOffset); 407 //System.Console.WriteLine(">>>>>>> [APPEARANCE]: Height {0} Hip offset {1}" + m_avatarHeight + " " + m_hipOffset);
339 //m_log.Debug("------------- Set Appearance Texture ---------------"); 408 //m_log.Debug("------------- Set Appearance Texture ---------------");
340 //Primitive.TextureEntryFace[] faces = Texture.FaceTextures; 409 //Primitive.TextureEntryFace[] faces = Texture.FaceTextures;
@@ -633,5 +702,767 @@ namespace OpenSim.Framework
633 } 702 }
634 } 703 }
635 } 704 }
705 /// <summary>
706 /// Viewer Params Array Element for AgentSetAppearance
707 /// Generated from LibOMV's Visual Params list
708 /// </summary>
709 public enum VPElement : int
710 {
711 /// <summary>
712 /// Brow Size - Small 0--+255 Large
713 /// </summary>
714 SHAPE_BIG_BROW = 0,
715 /// <summary>
716 /// Nose Size - Small 0--+255 Large
717 /// </summary>
718 SHAPE_NOSE_BIG_OUT = 1,
719 /// <summary>
720 /// Nostril Width - Narrow 0--+255 Broad
721 /// </summary>
722 SHAPE_BROAD_NOSTRILS = 2,
723 /// <summary>
724 /// Chin Cleft - Round 0--+255 Cleft
725 /// </summary>
726 SHAPE_CLEFT_CHIN = 3,
727 /// <summary>
728 /// Nose Tip Shape - Pointy 0--+255 Bulbous
729 /// </summary>
730 SHAPE_BULBOUS_NOSE_TIP = 4,
731 /// <summary>
732 /// Chin Angle - Chin Out 0--+255 Chin In
733 /// </summary>
734 SHAPE_WEAK_CHIN = 5,
735 /// <summary>
736 /// Chin-Neck - Tight Chin 0--+255 Double Chin
737 /// </summary>
738 SHAPE_DOUBLE_CHIN = 6,
739 /// <summary>
740 /// Lower Cheeks - Well-Fed 0--+255 Sunken
741 /// </summary>
742 SHAPE_SUNKEN_CHEEKS = 7,
743 /// <summary>
744 /// Upper Bridge - Low 0--+255 High
745 /// </summary>
746 SHAPE_NOBLE_NOSE_BRIDGE = 8,
747 /// <summary>
748 /// - Less 0--+255 More
749 /// </summary>
750 SHAPE_JOWLS = 9,
751 /// <summary>
752 /// Upper Chin Cleft - Round 0--+255 Cleft
753 /// </summary>
754 SHAPE_CLEFT_CHIN_UPPER = 10,
755 /// <summary>
756 /// Cheek Bones - Low 0--+255 High
757 /// </summary>
758 SHAPE_HIGH_CHEEK_BONES = 11,
759 /// <summary>
760 /// Ear Angle - In 0--+255 Out
761 /// </summary>
762 SHAPE_EARS_OUT = 12,
763 /// <summary>
764 /// Eyebrow Points - Smooth 0--+255 Pointy
765 /// </summary>
766 HAIR_POINTY_EYEBROWS = 13,
767 /// <summary>
768 /// Jaw Shape - Pointy 0--+255 Square
769 /// </summary>
770 SHAPE_SQUARE_JAW = 14,
771 /// <summary>
772 /// Upper Cheeks - Thin 0--+255 Puffy
773 /// </summary>
774 SHAPE_PUFFY_UPPER_CHEEKS = 15,
775 /// <summary>
776 /// Nose Tip Angle - Downturned 0--+255 Upturned
777 /// </summary>
778 SHAPE_UPTURNED_NOSE_TIP = 16,
779 /// <summary>
780 /// Nose Thickness - Thin Nose 0--+255 Bulbous Nose
781 /// </summary>
782 SHAPE_BULBOUS_NOSE = 17,
783 /// <summary>
784 /// Upper Eyelid Fold - Uncreased 0--+255 Creased
785 /// </summary>
786 SHAPE_UPPER_EYELID_FOLD = 18,
787 /// <summary>
788 /// Attached Earlobes - Unattached 0--+255 Attached
789 /// </summary>
790 SHAPE_ATTACHED_EARLOBES = 19,
791 /// <summary>
792 /// Eye Bags - Smooth 0--+255 Baggy
793 /// </summary>
794 SHAPE_BAGGY_EYES = 20,
795 /// <summary>
796 /// Eye Opening - Narrow 0--+255 Wide
797 /// </summary>
798 SHAPE_WIDE_EYES = 21,
799 /// <summary>
800 /// Lip Cleft - Narrow 0--+255 Wide
801 /// </summary>
802 SHAPE_WIDE_LIP_CLEFT = 22,
803 /// <summary>
804 /// Bridge Width - Narrow 0--+255 Wide
805 /// </summary>
806 SHAPE_WIDE_NOSE_BRIDGE = 23,
807 /// <summary>
808 /// Eyebrow Arc - Flat 0--+255 Arced
809 /// </summary>
810 HAIR_ARCED_EYEBROWS = 24,
811 /// <summary>
812 /// Height - Short 0--+255 Tall
813 /// </summary>
814 SHAPE_HEIGHT = 25,
815 /// <summary>
816 /// Body Thickness - Body Thin 0--+255 Body Thick
817 /// </summary>
818 SHAPE_THICKNESS = 26,
819 /// <summary>
820 /// Ear Size - Small 0--+255 Large
821 /// </summary>
822 SHAPE_BIG_EARS = 27,
823 /// <summary>
824 /// Shoulders - Narrow 0--+255 Broad
825 /// </summary>
826 SHAPE_SHOULDERS = 28,
827 /// <summary>
828 /// Hip Width - Narrow 0--+255 Wide
829 /// </summary>
830 SHAPE_HIP_WIDTH = 29,
831 /// <summary>
832 /// - Short Torso 0--+255 Long Torso
833 /// </summary>
834 SHAPE_TORSO_LENGTH = 30,
835 SHAPE_MALE = 31,
836 /// <summary>
837 /// - Short 0--+255 Long
838 /// </summary>
839 GLOVES_GLOVE_LENGTH = 32,
840 /// <summary>
841 /// - Darker 0--+255 Lighter
842 /// </summary>
843 EYES_EYE_LIGHTNESS = 33,
844 /// <summary>
845 /// - Natural 0--+255 Unnatural
846 /// </summary>
847 EYES_EYE_COLOR = 34,
848 /// <summary>
849 /// - Small 0--+255 Large
850 /// </summary>
851 SHAPE_BREAST_SIZE = 35,
852 /// <summary>
853 /// - None 0--+255 Wild
854 /// </summary>
855 SKIN_RAINBOW_COLOR = 36,
856 /// <summary>
857 /// Ruddiness - Pale 0--+255 Ruddy
858 /// </summary>
859 SKIN_RED_SKIN = 37,
860 /// <summary>
861 /// - Light 0--+255 Dark
862 /// </summary>
863 SKIN_PIGMENT = 38,
864 HAIR_RAINBOW_COLOR_39 = 39,
865 /// <summary>
866 /// - No Red 0--+255 Very Red
867 /// </summary>
868 HAIR_RED_HAIR = 40,
869 /// <summary>
870 /// - Black 0--+255 Blonde
871 /// </summary>
872 HAIR_BLONDE_HAIR = 41,
873 /// <summary>
874 /// - No White 0--+255 All White
875 /// </summary>
876 HAIR_WHITE_HAIR = 42,
877 /// <summary>
878 /// - Less Rosy 0--+255 More Rosy
879 /// </summary>
880 SKIN_ROSY_COMPLEXION = 43,
881 /// <summary>
882 /// - Darker 0--+255 Pinker
883 /// </summary>
884 SKIN_LIP_PINKNESS = 44,
885 /// <summary>
886 /// - Thin Eyebrows 0--+255 Bushy Eyebrows
887 /// </summary>
888 HAIR_EYEBROW_SIZE = 45,
889 /// <summary>
890 /// - Short 0--+255 Long
891 /// </summary>
892 HAIR_FRONT_FRINGE = 46,
893 /// <summary>
894 /// - Short 0--+255 Long
895 /// </summary>
896 HAIR_SIDE_FRINGE = 47,
897 /// <summary>
898 /// - Short 0--+255 Long
899 /// </summary>
900 HAIR_BACK_FRINGE = 48,
901 /// <summary>
902 /// - Short 0--+255 Long
903 /// </summary>
904 HAIR_HAIR_FRONT = 49,
905 /// <summary>
906 /// - Short 0--+255 Long
907 /// </summary>
908 HAIR_HAIR_SIDES = 50,
909 /// <summary>
910 /// - Short 0--+255 Long
911 /// </summary>
912 HAIR_HAIR_BACK = 51,
913 /// <summary>
914 /// - Sweep Forward 0--+255 Sweep Back
915 /// </summary>
916 HAIR_HAIR_SWEEP = 52,
917 /// <summary>
918 /// - Left 0--+255 Right
919 /// </summary>
920 HAIR_HAIR_TILT = 53,
921 /// <summary>
922 /// Middle Part - No Part 0--+255 Part
923 /// </summary>
924 HAIR_HAIR_PART_MIDDLE = 54,
925 /// <summary>
926 /// Right Part - No Part 0--+255 Part
927 /// </summary>
928 HAIR_HAIR_PART_RIGHT = 55,
929 /// <summary>
930 /// Left Part - No Part 0--+255 Part
931 /// </summary>
932 HAIR_HAIR_PART_LEFT = 56,
933 /// <summary>
934 /// Full Hair Sides - Mowhawk 0--+255 Full Sides
935 /// </summary>
936 HAIR_HAIR_SIDES_FULL = 57,
937 /// <summary>
938 /// - Less 0--+255 More
939 /// </summary>
940 SKIN_BODY_DEFINITION = 58,
941 /// <summary>
942 /// Lip Width - Narrow Lips 0--+255 Wide Lips
943 /// </summary>
944 SHAPE_LIP_WIDTH = 59,
945 /// <summary>
946 /// - Small 0--+255 Big
947 /// </summary>
948 SHAPE_BELLY_SIZE = 60,
949 /// <summary>
950 /// - Less 0--+255 More
951 /// </summary>
952 SKIN_FACIAL_DEFINITION = 61,
953 /// <summary>
954 /// - Less 0--+255 More
955 /// </summary>
956 SKIN_WRINKLES = 62,
957 /// <summary>
958 /// - Less 0--+255 More
959 /// </summary>
960 SKIN_FRECKLES = 63,
961 /// <summary>
962 /// - Short Sideburns 0--+255 Mutton Chops
963 /// </summary>
964 HAIR_SIDEBURNS = 64,
965 /// <summary>
966 /// - Chaplin 0--+255 Handlebars
967 /// </summary>
968 HAIR_MOUSTACHE = 65,
969 /// <summary>
970 /// - Less soul 0--+255 More soul
971 /// </summary>
972 HAIR_SOULPATCH = 66,
973 /// <summary>
974 /// - Less Curtains 0--+255 More Curtains
975 /// </summary>
976 HAIR_CHIN_CURTAINS = 67,
977 /// <summary>
978 /// Rumpled Hair - Smooth Hair 0--+255 Rumpled Hair
979 /// </summary>
980 HAIR_HAIR_RUMPLED = 68,
981 /// <summary>
982 /// Big Hair Front - Less 0--+255 More
983 /// </summary>
984 HAIR_HAIR_BIG_FRONT = 69,
985 /// <summary>
986 /// Big Hair Top - Less 0--+255 More
987 /// </summary>
988 HAIR_HAIR_BIG_TOP = 70,
989 /// <summary>
990 /// Big Hair Back - Less 0--+255 More
991 /// </summary>
992 HAIR_HAIR_BIG_BACK = 71,
993 /// <summary>
994 /// Spiked Hair - No Spikes 0--+255 Big Spikes
995 /// </summary>
996 HAIR_HAIR_SPIKED = 72,
997 /// <summary>
998 /// Chin Depth - Shallow 0--+255 Deep
999 /// </summary>
1000 SHAPE_DEEP_CHIN = 73,
1001 /// <summary>
1002 /// Part Bangs - No Part 0--+255 Part Bangs
1003 /// </summary>
1004 HAIR_BANGS_PART_MIDDLE = 74,
1005 /// <summary>
1006 /// Head Shape - More Square 0--+255 More Round
1007 /// </summary>
1008 SHAPE_HEAD_SHAPE = 75,
1009 /// <summary>
1010 /// Eye Spacing - Close Set Eyes 0--+255 Far Set Eyes
1011 /// </summary>
1012 SHAPE_EYE_SPACING = 76,
1013 /// <summary>
1014 /// - Low Heels 0--+255 High Heels
1015 /// </summary>
1016 SHOES_HEEL_HEIGHT = 77,
1017 /// <summary>
1018 /// - Low Platforms 0--+255 High Platforms
1019 /// </summary>
1020 SHOES_PLATFORM_HEIGHT = 78,
1021 /// <summary>
1022 /// - Thin Lips 0--+255 Fat Lips
1023 /// </summary>
1024 SHAPE_LIP_THICKNESS = 79,
1025 /// <summary>
1026 /// Mouth Position - High 0--+255 Low
1027 /// </summary>
1028 SHAPE_MOUTH_HEIGHT = 80,
1029 /// <summary>
1030 /// Breast Buoyancy - Less Gravity 0--+255 More Gravity
1031 /// </summary>
1032 SHAPE_BREAST_GRAVITY = 81,
1033 /// <summary>
1034 /// Platform Width - Narrow 0--+255 Wide
1035 /// </summary>
1036 SHOES_SHOE_PLATFORM_WIDTH = 82,
1037 /// <summary>
1038 /// - Pointy Heels 0--+255 Thick Heels
1039 /// </summary>
1040 SHOES_HEEL_SHAPE = 83,
1041 /// <summary>
1042 /// - Pointy 0--+255 Square
1043 /// </summary>
1044 SHOES_TOE_SHAPE = 84,
1045 /// <summary>
1046 /// Foot Size - Small 0--+255 Big
1047 /// </summary>
1048 SHAPE_FOOT_SIZE = 85,
1049 /// <summary>
1050 /// Nose Width - Narrow 0--+255 Wide
1051 /// </summary>
1052 SHAPE_WIDE_NOSE = 86,
1053 /// <summary>
1054 /// Eyelash Length - Short 0--+255 Long
1055 /// </summary>
1056 SHAPE_EYELASHES_LONG = 87,
1057 /// <summary>
1058 /// - Short 0--+255 Long
1059 /// </summary>
1060 UNDERSHIRT_SLEEVE_LENGTH = 88,
1061 /// <summary>
1062 /// - Short 0--+255 Long
1063 /// </summary>
1064 UNDERSHIRT_BOTTOM = 89,
1065 /// <summary>
1066 /// - Low 0--+255 High
1067 /// </summary>
1068 UNDERSHIRT_COLLAR_FRONT = 90,
1069 JACKET_SLEEVE_LENGTH_91 = 91,
1070 JACKET_COLLAR_FRONT_92 = 92,
1071 /// <summary>
1072 /// Jacket Length - Short 0--+255 Long
1073 /// </summary>
1074 JACKET_BOTTOM_LENGTH_LOWER = 93,
1075 /// <summary>
1076 /// Open Front - Open 0--+255 Closed
1077 /// </summary>
1078 JACKET_OPEN_JACKET = 94,
1079 /// <summary>
1080 /// - Short 0--+255 Tall
1081 /// </summary>
1082 SHOES_SHOE_HEIGHT = 95,
1083 /// <summary>
1084 /// - Short 0--+255 Long
1085 /// </summary>
1086 SOCKS_SOCKS_LENGTH = 96,
1087 /// <summary>
1088 /// - Short 0--+255 Long
1089 /// </summary>
1090 UNDERPANTS_PANTS_LENGTH = 97,
1091 /// <summary>
1092 /// - Low 0--+255 High
1093 /// </summary>
1094 UNDERPANTS_PANTS_WAIST = 98,
1095 /// <summary>
1096 /// Cuff Flare - Tight Cuffs 0--+255 Flared Cuffs
1097 /// </summary>
1098 PANTS_LEG_PANTFLAIR = 99,
1099 /// <summary>
1100 /// - More Vertical 0--+255 More Sloped
1101 /// </summary>
1102 SHAPE_FOREHEAD_ANGLE = 100,
1103 /// <summary>
1104 /// - Less Body Fat 0--+255 More Body Fat
1105 /// </summary>
1106 SHAPE_BODY_FAT = 101,
1107 /// <summary>
1108 /// Pants Crotch - High and Tight 0--+255 Low and Loose
1109 /// </summary>
1110 PANTS_LOW_CROTCH = 102,
1111 /// <summary>
1112 /// Egg Head - Chin Heavy 0--+255 Forehead Heavy
1113 /// </summary>
1114 SHAPE_EGG_HEAD = 103,
1115 /// <summary>
1116 /// Head Stretch - Squash Head 0--+255 Stretch Head
1117 /// </summary>
1118 SHAPE_SQUASH_STRETCH_HEAD = 104,
1119 /// <summary>
1120 /// Torso Muscles - Less Muscular 0--+255 More Muscular
1121 /// </summary>
1122 SHAPE_TORSO_MUSCLES = 105,
1123 /// <summary>
1124 /// Outer Eye Corner - Corner Down 0--+255 Corner Up
1125 /// </summary>
1126 SHAPE_EYELID_CORNER_UP = 106,
1127 /// <summary>
1128 /// - Less Muscular 0--+255 More Muscular
1129 /// </summary>
1130 SHAPE_LEG_MUSCLES = 107,
1131 /// <summary>
1132 /// Lip Fullness - Less Full 0--+255 More Full
1133 /// </summary>
1134 SHAPE_TALL_LIPS = 108,
1135 /// <summary>
1136 /// Toe Thickness - Flat Toe 0--+255 Thick Toe
1137 /// </summary>
1138 SHOES_SHOE_TOE_THICK = 109,
1139 /// <summary>
1140 /// Crooked Nose - Nose Left 0--+255 Nose Right
1141 /// </summary>
1142 SHAPE_CROOKED_NOSE = 110,
1143 /// <summary>
1144 /// - Corner Down 0--+255 Corner Up
1145 /// </summary>
1146 SHAPE_MOUTH_CORNER = 111,
1147 /// <summary>
1148 /// - Shear Right Up 0--+255 Shear Left Up
1149 /// </summary>
1150 SHAPE_FACE_SHEAR = 112,
1151 /// <summary>
1152 /// Shift Mouth - Shift Left 0--+255 Shift Right
1153 /// </summary>
1154 SHAPE_SHIFT_MOUTH = 113,
1155 /// <summary>
1156 /// Eye Pop - Pop Right Eye 0--+255 Pop Left Eye
1157 /// </summary>
1158 SHAPE_POP_EYE = 114,
1159 /// <summary>
1160 /// Jaw Jut - Overbite 0--+255 Underbite
1161 /// </summary>
1162 SHAPE_JAW_JUT = 115,
1163 /// <summary>
1164 /// Shear Back - Full Back 0--+255 Sheared Back
1165 /// </summary>
1166 HAIR_HAIR_SHEAR_BACK = 116,
1167 /// <summary>
1168 /// - Small Hands 0--+255 Large Hands
1169 /// </summary>
1170 SHAPE_HAND_SIZE = 117,
1171 /// <summary>
1172 /// Love Handles - Less Love 0--+255 More Love
1173 /// </summary>
1174 SHAPE_LOVE_HANDLES = 118,
1175 SHAPE_TORSO_MUSCLES_119 = 119,
1176 /// <summary>
1177 /// Head Size - Small Head 0--+255 Big Head
1178 /// </summary>
1179 SHAPE_HEAD_SIZE = 120,
1180 /// <summary>
1181 /// - Skinny Neck 0--+255 Thick Neck
1182 /// </summary>
1183 SHAPE_NECK_THICKNESS = 121,
1184 /// <summary>
1185 /// Breast Cleavage - Separate 0--+255 Join
1186 /// </summary>
1187 SHAPE_BREAST_FEMALE_CLEAVAGE = 122,
1188 /// <summary>
1189 /// Pectorals - Big Pectorals 0--+255 Sunken Chest
1190 /// </summary>
1191 SHAPE_CHEST_MALE_NO_PECS = 123,
1192 /// <summary>
1193 /// Eye Size - Beady Eyes 0--+255 Anime Eyes
1194 /// </summary>
1195 SHAPE_EYE_SIZE = 124,
1196 /// <summary>
1197 /// - Short Legs 0--+255 Long Legs
1198 /// </summary>
1199 SHAPE_LEG_LENGTH = 125,
1200 /// <summary>
1201 /// - Short Arms 0--+255 Long arms
1202 /// </summary>
1203 SHAPE_ARM_LENGTH = 126,
1204 /// <summary>
1205 /// - Pink 0--+255 Black
1206 /// </summary>
1207 SKIN_LIPSTICK_COLOR = 127,
1208 /// <summary>
1209 /// - No Lipstick 0--+255 More Lipstick
1210 /// </summary>
1211 SKIN_LIPSTICK = 128,
1212 /// <summary>
1213 /// - No Lipgloss 0--+255 Glossy
1214 /// </summary>
1215 SKIN_LIPGLOSS = 129,
1216 /// <summary>
1217 /// - No Eyeliner 0--+255 Full Eyeliner
1218 /// </summary>
1219 SKIN_EYELINER = 130,
1220 /// <summary>
1221 /// - No Blush 0--+255 More Blush
1222 /// </summary>
1223 SKIN_BLUSH = 131,
1224 /// <summary>
1225 /// - Pink 0--+255 Orange
1226 /// </summary>
1227 SKIN_BLUSH_COLOR = 132,
1228 /// <summary>
1229 /// - Clear 0--+255 Opaque
1230 /// </summary>
1231 SKIN_OUT_SHDW_OPACITY = 133,
1232 /// <summary>
1233 /// - No Eyeshadow 0--+255 More Eyeshadow
1234 /// </summary>
1235 SKIN_OUTER_SHADOW = 134,
1236 /// <summary>
1237 /// - Light 0--+255 Dark
1238 /// </summary>
1239 SKIN_OUT_SHDW_COLOR = 135,
1240 /// <summary>
1241 /// - No Eyeshadow 0--+255 More Eyeshadow
1242 /// </summary>
1243 SKIN_INNER_SHADOW = 136,
1244 /// <summary>
1245 /// - No Polish 0--+255 Painted Nails
1246 /// </summary>
1247 SKIN_NAIL_POLISH = 137,
1248 /// <summary>
1249 /// - Clear 0--+255 Opaque
1250 /// </summary>
1251 SKIN_BLUSH_OPACITY = 138,
1252 /// <summary>
1253 /// - Light 0--+255 Dark
1254 /// </summary>
1255 SKIN_IN_SHDW_COLOR = 139,
1256 /// <summary>
1257 /// - Clear 0--+255 Opaque
1258 /// </summary>
1259 SKIN_IN_SHDW_OPACITY = 140,
1260 /// <summary>
1261 /// - Dark Green 0--+255 Black
1262 /// </summary>
1263 SKIN_EYELINER_COLOR = 141,
1264 /// <summary>
1265 /// - Pink 0--+255 Black
1266 /// </summary>
1267 SKIN_NAIL_POLISH_COLOR = 142,
1268 /// <summary>
1269 /// - Sparse 0--+255 Dense
1270 /// </summary>
1271 HAIR_EYEBROW_DENSITY = 143,
1272 /// <summary>
1273 /// - 5 O'Clock Shadow 0--+255 Bushy Hair
1274 /// </summary>
1275 HAIR_HAIR_THICKNESS = 144,
1276 /// <summary>
1277 /// Saddle Bags - Less Saddle 0--+255 More Saddle
1278 /// </summary>
1279 SHAPE_SADDLEBAGS = 145,
1280 /// <summary>
1281 /// Taper Back - Wide Back 0--+255 Narrow Back
1282 /// </summary>
1283 HAIR_HAIR_TAPER_BACK = 146,
1284 /// <summary>
1285 /// Taper Front - Wide Front 0--+255 Narrow Front
1286 /// </summary>
1287 HAIR_HAIR_TAPER_FRONT = 147,
1288 /// <summary>
1289 /// - Short Neck 0--+255 Long Neck
1290 /// </summary>
1291 SHAPE_NECK_LENGTH = 148,
1292 /// <summary>
1293 /// Eyebrow Height - Higher 0--+255 Lower
1294 /// </summary>
1295 HAIR_LOWER_EYEBROWS = 149,
1296 /// <summary>
1297 /// Lower Bridge - Low 0--+255 High
1298 /// </summary>
1299 SHAPE_LOWER_BRIDGE_NOSE = 150,
1300 /// <summary>
1301 /// Nostril Division - High 0--+255 Low
1302 /// </summary>
1303 SHAPE_LOW_SEPTUM_NOSE = 151,
1304 /// <summary>
1305 /// Jaw Angle - Low Jaw 0--+255 High Jaw
1306 /// </summary>
1307 SHAPE_JAW_ANGLE = 152,
1308 /// <summary>
1309 /// Shear Front - Full Front 0--+255 Sheared Front
1310 /// </summary>
1311 HAIR_HAIR_SHEAR_FRONT = 153,
1312 /// <summary>
1313 /// - Less Volume 0--+255 More Volume
1314 /// </summary>
1315 HAIR_HAIR_VOLUME = 154,
1316 /// <summary>
1317 /// Lip Cleft Depth - Shallow 0--+255 Deep
1318 /// </summary>
1319 SHAPE_LIP_CLEFT_DEEP = 155,
1320 /// <summary>
1321 /// Puffy Eyelids - Flat 0--+255 Puffy
1322 /// </summary>
1323 SHAPE_PUFFY_LOWER_LIDS = 156,
1324 /// <summary>
1325 /// - Sunken Eyes 0--+255 Bugged Eyes
1326 /// </summary>
1327 SHAPE_EYE_DEPTH = 157,
1328 /// <summary>
1329 /// - Flat Head 0--+255 Long Head
1330 /// </summary>
1331 SHAPE_HEAD_LENGTH = 158,
1332 /// <summary>
1333 /// - Less Freckles 0--+255 More Freckles
1334 /// </summary>
1335 SKIN_BODY_FRECKLES = 159,
1336 /// <summary>
1337 /// - Low 0--+255 High
1338 /// </summary>
1339 UNDERSHIRT_COLLAR_BACK = 160,
1340 JACKET_COLLAR_BACK_161 = 161,
1341 SHIRT_COLLAR_BACK_162 = 162,
1342 /// <summary>
1343 /// - Short Pigtails 0--+255 Long Pigtails
1344 /// </summary>
1345 HAIR_PIGTAILS = 163,
1346 /// <summary>
1347 /// - Short Ponytail 0--+255 Long Ponytail
1348 /// </summary>
1349 HAIR_PONYTAIL = 164,
1350 /// <summary>
1351 /// Butt Size - Flat Butt 0--+255 Big Butt
1352 /// </summary>
1353 SHAPE_BUTT_SIZE = 165,
1354 /// <summary>
1355 /// Ear Tips - Flat 0--+255 Pointy
1356 /// </summary>
1357 SHAPE_POINTY_EARS = 166,
1358 /// <summary>
1359 /// Lip Ratio - More Upper Lip 0--+255 More Lower Lip
1360 /// </summary>
1361 SHAPE_LIP_RATIO = 167,
1362 SHIRT_SLEEVE_LENGTH_168 = 168,
1363 /// <summary>
1364 /// - Short 0--+255 Long
1365 /// </summary>
1366 SHIRT_SHIRT_BOTTOM = 169,
1367 SHIRT_COLLAR_FRONT_170 = 170,
1368 SHIRT_SHIRT_RED = 171,
1369 SHIRT_SHIRT_GREEN = 172,
1370 SHIRT_SHIRT_BLUE = 173,
1371 PANTS_PANTS_RED = 174,
1372 PANTS_PANTS_GREEN = 175,
1373 PANTS_PANTS_BLUE = 176,
1374 SHOES_SHOES_RED = 177,
1375 SHOES_SHOES_GREEN = 178,
1376 /// <summary>
1377 /// - Low 0--+255 High
1378 /// </summary>
1379 PANTS_WAIST_HEIGHT = 179,
1380 PANTS_PANTS_LENGTH_180 = 180,
1381 /// <summary>
1382 /// Pants Fit - Tight Pants 0--+255 Loose Pants
1383 /// </summary>
1384 PANTS_LOOSE_LOWER_CLOTHING = 181,
1385 SHOES_SHOES_BLUE = 182,
1386 SOCKS_SOCKS_RED = 183,
1387 SOCKS_SOCKS_GREEN = 184,
1388 SOCKS_SOCKS_BLUE = 185,
1389 UNDERSHIRT_UNDERSHIRT_RED = 186,
1390 UNDERSHIRT_UNDERSHIRT_GREEN = 187,
1391 UNDERSHIRT_UNDERSHIRT_BLUE = 188,
1392 UNDERPANTS_UNDERPANTS_RED = 189,
1393 UNDERPANTS_UNDERPANTS_GREEN = 190,
1394 UNDERPANTS_UNDERPANTS_BLUE = 191,
1395 GLOVES_GLOVES_RED = 192,
1396 /// <summary>
1397 /// Shirt Fit - Tight Shirt 0--+255 Loose Shirt
1398 /// </summary>
1399 SHIRT_LOOSE_UPPER_CLOTHING = 193,
1400 GLOVES_GLOVES_GREEN = 194,
1401 GLOVES_GLOVES_BLUE = 195,
1402 JACKET_JACKET_RED = 196,
1403 JACKET_JACKET_GREEN = 197,
1404 JACKET_JACKET_BLUE = 198,
1405 /// <summary>
1406 /// Sleeve Looseness - Tight Sleeves 0--+255 Loose Sleeves
1407 /// </summary>
1408 SHIRT_SHIRTSLEEVE_FLAIR = 199,
1409 /// <summary>
1410 /// Knee Angle - Knock Kneed 0--+255 Bow Legged
1411 /// </summary>
1412 SHAPE_BOWED_LEGS = 200,
1413 /// <summary>
1414 /// - Short hips 0--+255 Long Hips
1415 /// </summary>
1416 SHAPE_HIP_LENGTH = 201,
1417 /// <summary>
1418 /// - Fingerless 0--+255 Fingers
1419 /// </summary>
1420 GLOVES_GLOVE_FINGERS = 202,
1421 /// <summary>
1422 /// bustle skirt - no bustle 0--+255 more bustle
1423 /// </summary>
1424 SKIRT_SKIRT_BUSTLE = 203,
1425 /// <summary>
1426 /// - Short 0--+255 Long
1427 /// </summary>
1428 SKIRT_SKIRT_LENGTH = 204,
1429 /// <summary>
1430 /// - Open Front 0--+255 Closed Front
1431 /// </summary>
1432 SKIRT_SLIT_FRONT = 205,
1433 /// <summary>
1434 /// - Open Back 0--+255 Closed Back
1435 /// </summary>
1436 SKIRT_SLIT_BACK = 206,
1437 /// <summary>
1438 /// - Open Left 0--+255 Closed Left
1439 /// </summary>
1440 SKIRT_SLIT_LEFT = 207,
1441 /// <summary>
1442 /// - Open Right 0--+255 Closed Right
1443 /// </summary>
1444 SKIRT_SLIT_RIGHT = 208,
1445 /// <summary>
1446 /// Skirt Fit - Tight Skirt 0--+255 Poofy Skirt
1447 /// </summary>
1448 SKIRT_SKIRT_LOOSENESS = 209,
1449 SHIRT_SHIRT_WRINKLES = 210,
1450 PANTS_PANTS_WRINKLES = 211,
1451 /// <summary>
1452 /// Jacket Wrinkles - No Wrinkles 0--+255 Wrinkles
1453 /// </summary>
1454 JACKET_JACKET_WRINKLES = 212,
1455 /// <summary>
1456 /// Package - Coin Purse 0--+255 Duffle Bag
1457 /// </summary>
1458 SHAPE_MALE_PACKAGE = 213,
1459 /// <summary>
1460 /// Inner Eye Corner - Corner Down 0--+255 Corner Up
1461 /// </summary>
1462 SHAPE_EYELID_INNER_CORNER_UP = 214,
1463 SKIRT_SKIRT_RED = 215,
1464 SKIRT_SKIRT_GREEN = 216,
1465 SKIRT_SKIRT_BLUE = 217
1466 }
636 } 1467 }
637} 1468}