aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r--OpenSim/Region/Environment/Scenes/AvatarAppearance.cs4
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs36
2 files changed, 25 insertions, 15 deletions
diff --git a/OpenSim/Region/Environment/Scenes/AvatarAppearance.cs b/OpenSim/Region/Environment/Scenes/AvatarAppearance.cs
index b027845..2ec4dbe 100644
--- a/OpenSim/Region/Environment/Scenes/AvatarAppearance.cs
+++ b/OpenSim/Region/Environment/Scenes/AvatarAppearance.cs
@@ -88,7 +88,6 @@ namespace OpenSim.Region.Environment.Scenes
88 m_textureEntry = GetDefaultTextureEntry(); 88 m_textureEntry = GetDefaultTextureEntry();
89 } 89 }
90 90
91
92 /// <summary> 91 /// <summary>
93 /// 92 ///
94 /// </summary> 93 /// </summary>
@@ -109,7 +108,6 @@ namespace OpenSim.Region.Environment.Scenes
109 // (float)m_visualParams[125] = LegLength 108 // (float)m_visualParams[125] = LegLength
110 m_avatarHeight = (1.50856f + (((float)m_visualParams[25] / 255.0f) * (2.525506f - 1.50856f))) 109 m_avatarHeight = (1.50856f + (((float)m_visualParams[25] / 255.0f) * (2.525506f - 1.50856f)))
111 + (((float)m_visualParams[125] / 255.0f) / 1.5f); 110 + (((float)m_visualParams[125] / 255.0f) / 1.5f);
112
113 } 111 }
114 112
115 /// <summary> 113 /// <summary>
@@ -119,7 +117,7 @@ namespace OpenSim.Region.Environment.Scenes
119 public void SendAppearanceToOtherAgent(ScenePresence avatar) 117 public void SendAppearanceToOtherAgent(ScenePresence avatar)
120 { 118 {
121 avatar.ControllingClient.SendAppearance(m_scenePresenceID, m_visualParams, 119 avatar.ControllingClient.SendAppearance(m_scenePresenceID, m_visualParams,
122 m_textureEntry.ToBytes()); 120 m_textureEntry.ToBytes());
123 } 121 }
124 122
125 public void SetWearable(IClientAPI client, int wearableId, AvatarWearable wearable) 123 public void SetWearable(IClientAPI client, int wearableId, AvatarWearable wearable)
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index 91b6463..89701d7 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -1233,25 +1233,37 @@ namespace OpenSim.Region.Environment.Scenes
1233 uint neighbourx = m_regionInfo.RegionLocX; 1233 uint neighbourx = m_regionInfo.RegionLocX;
1234 uint neighboury = m_regionInfo.RegionLocY; 1234 uint neighboury = m_regionInfo.RegionLocY;
1235 1235
1236 if (pos.X < 1.7F) 1236 // distance to edge that will trigger crossing
1237 const float boundaryDistance = 1.7f;
1238
1239 // distance into new region to place avatar
1240 const float enterDistance = 0.1f;
1241
1242 // region size
1243 // TODO: this should be hard-coded in some common place
1244 const float regionWidth = 256;
1245 const float regionHeight = 256;
1246
1247 if (pos.X < boundaryDistance)
1237 { 1248 {
1238 neighbourx -= 1; 1249 neighbourx--;
1239 newpos.X = 255.9F; 1250 newpos.X = regionWidth - enterDistance;
1240 } 1251 }
1241 if (pos.X > 254.3F) 1252 else if (pos.X > regionWidth - boundaryDistance)
1242 { 1253 {
1243 neighbourx += 1; 1254 neighbourx++;
1244 newpos.X = 0.1F; 1255 newpos.X = enterDistance;
1245 } 1256 }
1246 if (pos.Y < 1.7F) 1257
1258 if (pos.Y < boundaryDistance)
1247 { 1259 {
1248 neighboury -= 1; 1260 neighboury--;
1249 newpos.Y = 255.9F; 1261 newpos.Y = regionHeight - enterDistance;
1250 } 1262 }
1251 if (pos.Y > 254.3F) 1263 else if (pos.Y > regionHeight - boundaryDistance)
1252 { 1264 {
1253 neighboury += 1; 1265 neighboury++;
1254 newpos.Y = 0.1F; 1266 newpos.Y = enterDistance;
1255 } 1267 }
1256 1268
1257 LLVector3 vel = m_velocity; 1269 LLVector3 vel = m_velocity;