diff options
-rw-r--r-- | CONTRIBUTORS.txt | 3 | ||||
-rw-r--r-- | OpenSim/Framework/AvatarAppearance.cs | 36 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 1 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 14 | ||||
-rw-r--r-- | OpenSim/Services/LLLoginService/LLLoginService.cs | 3 |
5 files changed, 25 insertions, 32 deletions
diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index 2620a20..7a25d3f 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt | |||
@@ -14,6 +14,7 @@ people that make the day to day of OpenSim happen. | |||
14 | * Marck | 14 | * Marck |
15 | * Mic Bowman (Intel) | 15 | * Mic Bowman (Intel) |
16 | * BlueWall (James Hughes) | 16 | * BlueWall (James Hughes) |
17 | * Nebadon Izumi (Michael Cerquoni, OSgrid) | ||
17 | * Snoopy Pfeffer | 18 | * Snoopy Pfeffer |
18 | * Richard Adams (Intel) | 19 | * Richard Adams (Intel) |
19 | 20 | ||
@@ -102,6 +103,7 @@ what it is today. | |||
102 | * lulurun | 103 | * lulurun |
103 | * M.Igarashi | 104 | * M.Igarashi |
104 | * maimedleech | 105 | * maimedleech |
106 | * Mana Janus | ||
105 | * Mic Bowman | 107 | * Mic Bowman |
106 | * Michelle Argus | 108 | * Michelle Argus |
107 | * Michael Cortez (The Flotsam Project, http://osflotsam.org/) | 109 | * Michael Cortez (The Flotsam Project, http://osflotsam.org/) |
@@ -133,6 +135,7 @@ what it is today. | |||
133 | * Salahzar Stenvaag | 135 | * Salahzar Stenvaag |
134 | * sempuki | 136 | * sempuki |
135 | * SignpostMarv | 137 | * SignpostMarv |
138 | * SpotOn3D | ||
136 | * Strawberry Fride | 139 | * Strawberry Fride |
137 | * tglion | 140 | * tglion |
138 | * tlaukkan/Tommil (Tommi S. E. Laukkanen, Bubble Cloud) | 141 | * tlaukkan/Tommil (Tommi S. E. Laukkanen, Bubble Cloud) |
diff --git a/OpenSim/Framework/AvatarAppearance.cs b/OpenSim/Framework/AvatarAppearance.cs index f147e14..f0580df 100644 --- a/OpenSim/Framework/AvatarAppearance.cs +++ b/OpenSim/Framework/AvatarAppearance.cs | |||
@@ -53,7 +53,6 @@ namespace OpenSim.Framework | |||
53 | protected AvatarWearable[] m_wearables; | 53 | protected AvatarWearable[] m_wearables; |
54 | protected Dictionary<int, List<AvatarAttachment>> m_attachments; | 54 | protected Dictionary<int, List<AvatarAttachment>> m_attachments; |
55 | protected float m_avatarHeight = 0; | 55 | protected float m_avatarHeight = 0; |
56 | protected float m_hipOffset = 0; | ||
57 | 56 | ||
58 | public virtual int Serial | 57 | public virtual int Serial |
59 | { | 58 | { |
@@ -89,11 +88,6 @@ namespace OpenSim.Framework | |||
89 | set { m_avatarHeight = value; } | 88 | set { m_avatarHeight = value; } |
90 | } | 89 | } |
91 | 90 | ||
92 | public virtual float HipOffset | ||
93 | { | ||
94 | get { return m_hipOffset; } | ||
95 | } | ||
96 | |||
97 | public AvatarAppearance() | 91 | public AvatarAppearance() |
98 | { | 92 | { |
99 | // m_log.WarnFormat("[AVATAR APPEARANCE]: create empty appearance"); | 93 | // m_log.WarnFormat("[AVATAR APPEARANCE]: create empty appearance"); |
@@ -184,7 +178,6 @@ namespace OpenSim.Framework | |||
184 | m_visualparams = (byte[])appearance.VisualParams.Clone(); | 178 | m_visualparams = (byte[])appearance.VisualParams.Clone(); |
185 | 179 | ||
186 | m_avatarHeight = appearance.m_avatarHeight; | 180 | m_avatarHeight = appearance.m_avatarHeight; |
187 | m_hipOffset = appearance.m_hipOffset; | ||
188 | 181 | ||
189 | // Copy the attachment, force append mode since that ensures consistency | 182 | // Copy the attachment, force append mode since that ensures consistency |
190 | m_attachments = new Dictionary<int, List<AvatarAttachment>>(); | 183 | m_attachments = new Dictionary<int, List<AvatarAttachment>>(); |
@@ -347,20 +340,18 @@ namespace OpenSim.Framework | |||
347 | 340 | ||
348 | public virtual void SetHeight() | 341 | public virtual void SetHeight() |
349 | { | 342 | { |
350 | m_avatarHeight = 1.23077f // Shortest possible avatar height | 343 | // Start with shortest possible female avatar height |
351 | + 0.516945f * (float)m_visualparams[(int)VPElement.SHAPE_HEIGHT] / 255.0f // Body height | 344 | m_avatarHeight = 1.14597f; |
352 | + 0.072514f * (float)m_visualparams[(int)VPElement.SHAPE_HEAD_SIZE] / 255.0f // Head size | 345 | // Add offset for male avatars |
353 | + 0.3836f * (float)m_visualparams[(int)VPElement.SHAPE_LEG_LENGTH] / 255.0f // Leg length | 346 | if (m_visualparams[(int)VPElement.SHAPE_MALE] != 0) |
354 | + 0.08f * (float)m_visualparams[(int)VPElement.SHOES_PLATFORM_HEIGHT] / 255.0f // Shoe platform height | 347 | m_avatarHeight += 0.0848f; |
355 | + 0.07f * (float)m_visualparams[(int)VPElement.SHOES_HEEL_HEIGHT] / 255.0f // Shoe heel height | 348 | // Add offsets for visual params |
356 | + 0.076f * (float)m_visualparams[(int)VPElement.SHAPE_NECK_LENGTH] / 255.0f; // Neck length | 349 | m_avatarHeight += 0.516945f * (float)m_visualparams[(int)VPElement.SHAPE_HEIGHT] / 255.0f |
357 | 350 | + 0.08117f * (float)m_visualparams[(int)VPElement.SHAPE_HEAD_SIZE] / 255.0f | |
358 | m_hipOffset = (((1.23077f // Half of avatar | 351 | + 0.3836f * (float)m_visualparams[(int)VPElement.SHAPE_LEG_LENGTH] / 255.0f |
359 | + 0.516945f * (float)m_visualparams[(int)VPElement.SHAPE_HEIGHT] / 255.0f // Body height | 352 | + 0.07f * (float)m_visualparams[(int)VPElement.SHOES_PLATFORM_HEIGHT] / 255.0f |
360 | + 0.3836f * (float)m_visualparams[(int)VPElement.SHAPE_LEG_LENGTH] / 255.0f // Leg length | 353 | + 0.08f * (float)m_visualparams[(int)VPElement.SHOES_HEEL_HEIGHT] / 255.0f |
361 | + 0.08f * (float)m_visualparams[(int)VPElement.SHOES_PLATFORM_HEIGHT] / 255.0f // Shoe platform height | 354 | + 0.076f * (float)m_visualparams[(int)VPElement.SHAPE_NECK_LENGTH] / 255.0f; |
362 | + 0.07f * (float)m_visualparams[(int)VPElement.SHOES_HEEL_HEIGHT] / 255.0f // Shoe heel height | ||
363 | ) / 2) - m_avatarHeight / 2) * 0.31f - 0.0425f; | ||
364 | } | 355 | } |
365 | 356 | ||
366 | public virtual void SetWearable(int wearableId, AvatarWearable wearable) | 357 | public virtual void SetWearable(int wearableId, AvatarWearable wearable) |
@@ -591,7 +582,6 @@ namespace OpenSim.Framework | |||
591 | 582 | ||
592 | data["serial"] = OSD.FromInteger(m_serial); | 583 | data["serial"] = OSD.FromInteger(m_serial); |
593 | data["height"] = OSD.FromReal(m_avatarHeight); | 584 | data["height"] = OSD.FromReal(m_avatarHeight); |
594 | data["hipoffset"] = OSD.FromReal(m_hipOffset); | ||
595 | 585 | ||
596 | // Wearables | 586 | // Wearables |
597 | OSDArray wears = new OSDArray(AvatarWearable.MAX_WEARABLES); | 587 | OSDArray wears = new OSDArray(AvatarWearable.MAX_WEARABLES); |
@@ -636,8 +626,6 @@ namespace OpenSim.Framework | |||
636 | m_serial = data["serial"].AsInteger(); | 626 | m_serial = data["serial"].AsInteger(); |
637 | if ((data != null) && (data["height"] != null)) | 627 | if ((data != null) && (data["height"] != null)) |
638 | m_avatarHeight = (float)data["height"].AsReal(); | 628 | m_avatarHeight = (float)data["height"].AsReal(); |
639 | if ((data != null) && (data["hipoffset"] != null)) | ||
640 | m_hipOffset = (float)data["hipoffset"].AsReal(); | ||
641 | 629 | ||
642 | try | 630 | try |
643 | { | 631 | { |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 84d0e71..6e20f90 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -3362,7 +3362,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
3362 | prim.OffsetPosition = axPos; | 3362 | prim.OffsetPosition = axPos; |
3363 | 3363 | ||
3364 | prim.IgnoreUndoUpdate = false; | 3364 | prim.IgnoreUndoUpdate = false; |
3365 | prim.IgnoreUndoUpdate = false; | ||
3366 | } | 3365 | } |
3367 | } | 3366 | } |
3368 | 3367 | ||
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index b95d613..bd94902 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -345,7 +345,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
345 | } | 345 | } |
346 | 346 | ||
347 | #region Client Camera | 347 | #region Client Camera |
348 | // Position of agent's camera in world (region cordinates) | 348 | |
349 | /// <summary> | ||
350 | /// Position of agent's camera in world (region cordinates) | ||
351 | /// </summary> | ||
349 | protected Vector3 m_lastCameraPosition; | 352 | protected Vector3 m_lastCameraPosition; |
350 | 353 | ||
351 | protected Vector3 m_CameraPosition; | 354 | protected Vector3 m_CameraPosition; |
@@ -2082,12 +2085,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
2082 | foreach (SceneObjectPart part in partArray) | 2085 | foreach (SceneObjectPart part in partArray) |
2083 | { | 2086 | { |
2084 | // Is a sit target available? | 2087 | // Is a sit target available? |
2085 | Vector3 avSitOffSet = part.SitTargetPosition; | 2088 | Vector3 avSitOffset = part.SitTargetPosition; |
2086 | Quaternion avSitOrientation = part.SitTargetOrientation; | 2089 | Quaternion avSitOrientation = part.SitTargetOrientation; |
2087 | UUID avOnTargetAlready = part.SitTargetAvatar; | 2090 | UUID avOnTargetAlready = part.SitTargetAvatar; |
2088 | 2091 | ||
2089 | bool SitTargetUnOccupied = (!(avOnTargetAlready != UUID.Zero)); | 2092 | bool SitTargetUnOccupied = (!(avOnTargetAlready != UUID.Zero)); |
2090 | bool SitTargetisSet = (Vector3.Zero != avSitOffSet); //NB Latest SL Spec shows Sit Rotation setting is ignored. | 2093 | bool SitTargetisSet = (Vector3.Zero != avSitOffset); //NB Latest SL Spec shows Sit Rotation setting is ignored. |
2091 | 2094 | ||
2092 | if (SitTargetisSet && SitTargetUnOccupied) | 2095 | if (SitTargetisSet && SitTargetUnOccupied) |
2093 | { | 2096 | { |
@@ -2110,7 +2113,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2110 | Vector3 cameraAtOffset = Vector3.Zero; | 2113 | Vector3 cameraAtOffset = Vector3.Zero; |
2111 | bool forceMouselook = false; | 2114 | bool forceMouselook = false; |
2112 | 2115 | ||
2113 | //SceneObjectPart part = m_scene.GetSceneObjectPart(targetID); | ||
2114 | SceneObjectPart part = FindNextAvailableSitTarget(targetID); | 2116 | SceneObjectPart part = FindNextAvailableSitTarget(targetID); |
2115 | if (part == null) return; | 2117 | if (part == null) return; |
2116 | 2118 | ||
@@ -2596,6 +2598,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2596 | return; | 2598 | return; |
2597 | } | 2599 | } |
2598 | } | 2600 | } |
2601 | |||
2599 | ParentID = m_requestedSitTargetID; | 2602 | ParentID = m_requestedSitTargetID; |
2600 | 2603 | ||
2601 | //We want our offsets to reference the root prim, not the child we may have sat on | 2604 | //We want our offsets to reference the root prim, not the child we may have sat on |
@@ -2794,9 +2797,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2794 | // server. | 2797 | // server. |
2795 | if (remoteClient.IsActive) | 2798 | if (remoteClient.IsActive) |
2796 | { | 2799 | { |
2797 | Vector3 pos = m_pos; | ||
2798 | pos.Z += Appearance.HipOffset; | ||
2799 | |||
2800 | //m_log.DebugFormat("[SCENE PRESENCE]: " + Name + " sending TerseUpdate to " + remoteClient.Name + " : Pos={0} Rot={1} Vel={2}", m_pos, Rotation, m_velocity); | 2800 | //m_log.DebugFormat("[SCENE PRESENCE]: " + Name + " sending TerseUpdate to " + remoteClient.Name + " : Pos={0} Rot={1} Vel={2}", m_pos, Rotation, m_velocity); |
2801 | 2801 | ||
2802 | remoteClient.SendEntityUpdate( | 2802 | remoteClient.SendEntityUpdate( |
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index d8a2054..35b43f4 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs | |||
@@ -126,6 +126,9 @@ namespace OpenSim.Services.LLLoginService | |||
126 | if (accountService == string.Empty || authService == string.Empty) | 126 | if (accountService == string.Empty || authService == string.Empty) |
127 | throw new Exception("LoginService is missing service specifications"); | 127 | throw new Exception("LoginService is missing service specifications"); |
128 | 128 | ||
129 | // replace newlines in welcome message | ||
130 | m_WelcomeMessage = m_WelcomeMessage.Replace("\\n", "\n"); | ||
131 | |||
129 | Object[] args = new Object[] { config }; | 132 | Object[] args = new Object[] { config }; |
130 | m_UserAccountService = ServerUtils.LoadPlugin<IUserAccountService>(accountService, args); | 133 | m_UserAccountService = ServerUtils.LoadPlugin<IUserAccountService>(accountService, args); |
131 | m_GridUserService = ServerUtils.LoadPlugin<IGridUserService>(gridUserService, args); | 134 | m_GridUserService = ServerUtils.LoadPlugin<IGridUserService>(gridUserService, args); |