aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
authorMW2007-07-10 17:56:31 +0000
committerMW2007-07-10 17:56:31 +0000
commit7f03246653a6f277505d2055528cbb8dd2e1f4c1 (patch)
tree357f60cec23bdf29f1037e488fb7f167dc1cd31c /OpenSim/Region/Environment
parent* LLSDStreamhandler now works. (diff)
downloadopensim-SC-7f03246653a6f277505d2055528cbb8dd2e1f4c1.zip
opensim-SC-7f03246653a6f277505d2055528cbb8dd2e1f4c1.tar.gz
opensim-SC-7f03246653a6f277505d2055528cbb8dd2e1f4c1.tar.bz2
opensim-SC-7f03246653a6f277505d2055528cbb8dd2e1f4c1.tar.xz
Gird mode in sugilite should now work in so far as you should be able to login and move between regions in the same instance. Moving to regions in a different instance of opensim still needs implementing (working on it now).
Also trying to look at the map in grid mode will crash the server.
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r--OpenSim/Region/Environment/Scenes/EntityBase.cs4
-rw-r--r--OpenSim/Region/Environment/Scenes/Primitive.cs38
-rw-r--r--OpenSim/Region/Environment/Scenes/PrimitiveOld.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs3
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs62
6 files changed, 57 insertions, 54 deletions
diff --git a/OpenSim/Region/Environment/Scenes/EntityBase.cs b/OpenSim/Region/Environment/Scenes/EntityBase.cs
index 6360ae1..65a0395 100644
--- a/OpenSim/Region/Environment/Scenes/EntityBase.cs
+++ b/OpenSim/Region/Environment/Scenes/EntityBase.cs
@@ -57,7 +57,7 @@ namespace OpenSim.Region.Environment.Scenes
57 57
58 protected Quaternion m_rotation = new Quaternion(0,0,1,0); 58 protected Quaternion m_rotation = new Quaternion(0,0,1,0);
59 59
60 public virtual Quaternion rotation 60 public virtual Quaternion Rotation
61 { 61 {
62 get 62 get
63 { 63 {
@@ -86,7 +86,7 @@ namespace OpenSim.Region.Environment.Scenes
86 86
87 m_pos = new LLVector3(); 87 m_pos = new LLVector3();
88 m_velocity = new LLVector3(); 88 m_velocity = new LLVector3();
89 rotation = new Quaternion(); 89 Rotation = new Quaternion();
90 m_name = "(basic entity)"; 90 m_name = "(basic entity)";
91 children = new List<EntityBase>(); 91 children = new List<EntityBase>();
92 } 92 }
diff --git a/OpenSim/Region/Environment/Scenes/Primitive.cs b/OpenSim/Region/Environment/Scenes/Primitive.cs
index 05bb1f9..d23a569 100644
--- a/OpenSim/Region/Environment/Scenes/Primitive.cs
+++ b/OpenSim/Region/Environment/Scenes/Primitive.cs
@@ -83,7 +83,7 @@ namespace OpenSim.Region.Environment.Scenes
83 { 83 {
84 Primitive parentPrim = (Primitive)this.m_Parent; 84 Primitive parentPrim = (Primitive)this.m_Parent;
85 Axiom.Math.Vector3 offsetPos = new Vector3(this.m_pos.X, this.m_pos.Y, this.m_pos.Z); 85 Axiom.Math.Vector3 offsetPos = new Vector3(this.m_pos.X, this.m_pos.Y, this.m_pos.Z);
86 offsetPos = parentPrim.rotation * offsetPos; 86 offsetPos = parentPrim.Rotation * offsetPos;
87 return parentPrim.WorldPos + new LLVector3(offsetPos.x, offsetPos.y, offsetPos.z); 87 return parentPrim.WorldPos + new LLVector3(offsetPos.x, offsetPos.y, offsetPos.z);
88 } 88 }
89 else 89 else
@@ -139,7 +139,7 @@ namespace OpenSim.Region.Environment.Scenes
139 this.m_isRootPrim = isRoot; 139 this.m_isRootPrim = isRoot;
140 this.m_RootParent = rootObject; 140 this.m_RootParent = rootObject;
141 this.CreateFromPacket(addPacket, ownerID, localID); 141 this.CreateFromPacket(addPacket, ownerID, localID);
142 this.rotation = Axiom.Math.Quaternion.Identity; 142 this.Rotation = Axiom.Math.Quaternion.Identity;
143 } 143 }
144 144
145 /// <summary> 145 /// <summary>
@@ -169,7 +169,7 @@ namespace OpenSim.Region.Environment.Scenes
169 dupe.LocalId = newLocalID; 169 dupe.LocalId = newLocalID;
170 170
171 dupe.Scale = new LLVector3(this.Scale.X, this.Scale.Y, this.Scale.Z); 171 dupe.Scale = new LLVector3(this.Scale.X, this.Scale.Y, this.Scale.Z);
172 dupe.rotation = new Quaternion(this.rotation.w, this.rotation.x, this.rotation.y, this.rotation.z); 172 dupe.Rotation = new Quaternion(this.Rotation.w, this.Rotation.x, this.Rotation.y, this.Rotation.z);
173 dupe.Pos = new LLVector3(this.Pos.X, this.Pos.Y, this.Pos.Z); 173 dupe.Pos = new LLVector3(this.Pos.X, this.Pos.Y, this.Pos.Z);
174 174
175 return dupe; 175 return dupe;
@@ -278,10 +278,10 @@ namespace OpenSim.Region.Environment.Scenes
278 this.m_RootParent.AddChildToList(this); 278 this.m_RootParent.AddChildToList(this);
279 this.Pos = oldPos; 279 this.Pos = oldPos;
280 Axiom.Math.Vector3 axPos = new Axiom.Math.Vector3(this.m_pos.X, m_pos.Y, m_pos.Z); 280 Axiom.Math.Vector3 axPos = new Axiom.Math.Vector3(this.m_pos.X, m_pos.Y, m_pos.Z);
281 axPos = this.m_Parent.rotation.Inverse() * axPos; 281 axPos = this.m_Parent.Rotation.Inverse() * axPos;
282 this.m_pos = new LLVector3(axPos.x, axPos.y, axPos.z); 282 this.m_pos = new LLVector3(axPos.x, axPos.y, axPos.z);
283 Axiom.Math.Quaternion oldRot = new Quaternion(this.rotation.w, this.rotation.x, this.rotation.y, this.rotation.z); 283 Axiom.Math.Quaternion oldRot = new Quaternion(this.Rotation.w, this.Rotation.x, this.Rotation.y, this.Rotation.z);
284 this.rotation = this.m_Parent.rotation.Inverse() * this.rotation; 284 this.Rotation = this.m_Parent.Rotation.Inverse() * this.Rotation;
285 this.updateFlag = 1; 285 this.updateFlag = 1;
286 286
287 foreach (Primitive child in children) 287 foreach (Primitive child in children)
@@ -304,7 +304,7 @@ namespace OpenSim.Region.Environment.Scenes
304 axOldPos = oldParentRotation * axOldPos; 304 axOldPos = oldParentRotation * axOldPos;
305 oldPos = new LLVector3(axOldPos.x, axOldPos.y, axOldPos.z); 305 oldPos = new LLVector3(axOldPos.x, axOldPos.y, axOldPos.z);
306 oldPos += oldParentPosition; 306 oldPos += oldParentPosition;
307 Axiom.Math.Quaternion oldRot = new Quaternion(this.rotation.w, this.rotation.x, this.rotation.y, this.rotation.z); 307 Axiom.Math.Quaternion oldRot = new Quaternion(this.Rotation.w, this.Rotation.x, this.Rotation.y, this.Rotation.z);
308 this.m_isRootPrim = false; 308 this.m_isRootPrim = false;
309 this.m_Parent = newParent; 309 this.m_Parent = newParent;
310 this.ParentID = newParent.LocalId; 310 this.ParentID = newParent.LocalId;
@@ -313,10 +313,10 @@ namespace OpenSim.Region.Environment.Scenes
313 this.m_RootParent.AddChildToList(this); 313 this.m_RootParent.AddChildToList(this);
314 this.Pos = oldPos; 314 this.Pos = oldPos;
315 Axiom.Math.Vector3 axPos = new Axiom.Math.Vector3(this.m_pos.X, m_pos.Y, m_pos.Z); 315 Axiom.Math.Vector3 axPos = new Axiom.Math.Vector3(this.m_pos.X, m_pos.Y, m_pos.Z);
316 axPos = this.m_Parent.rotation.Inverse() * axPos; 316 axPos = this.m_Parent.Rotation.Inverse() * axPos;
317 this.m_pos = new LLVector3(axPos.x, axPos.y, axPos.z); 317 this.m_pos = new LLVector3(axPos.x, axPos.y, axPos.z);
318 this.rotation = oldParentRotation * this.rotation; 318 this.Rotation = oldParentRotation * this.Rotation;
319 this.rotation = this.m_Parent.rotation.Inverse()* this.rotation ; 319 this.Rotation = this.m_Parent.Rotation.Inverse()* this.Rotation ;
320 this.updateFlag = 1; 320 this.updateFlag = 1;
321 foreach (Primitive child in children) 321 foreach (Primitive child in children)
322 { 322 {
@@ -401,7 +401,7 @@ namespace OpenSim.Region.Environment.Scenes
401 LLVector3 oldPos = new LLVector3(Pos.X, Pos.Y, Pos.Z); 401 LLVector3 oldPos = new LLVector3(Pos.X, Pos.Y, Pos.Z);
402 LLVector3 diff = oldPos - newPos; 402 LLVector3 diff = oldPos - newPos;
403 Axiom.Math.Vector3 axDiff = new Vector3(diff.X, diff.Y, diff.Z); 403 Axiom.Math.Vector3 axDiff = new Vector3(diff.X, diff.Y, diff.Z);
404 axDiff = this.rotation.Inverse() * axDiff; 404 axDiff = this.Rotation.Inverse() * axDiff;
405 diff.X = axDiff.x; 405 diff.X = axDiff.x;
406 diff.Y = axDiff.y; 406 diff.Y = axDiff.y;
407 diff.Z = axDiff.z; 407 diff.Z = axDiff.z;
@@ -431,7 +431,7 @@ namespace OpenSim.Region.Environment.Scenes
431 /// <param name="rot"></param> 431 /// <param name="rot"></param>
432 public void UpdateGroupRotation(LLQuaternion rot) 432 public void UpdateGroupRotation(LLQuaternion rot)
433 { 433 {
434 this.rotation = new Axiom.Math.Quaternion(rot.W, rot.X, rot.Y, rot.Z); 434 this.Rotation = new Axiom.Math.Quaternion(rot.W, rot.X, rot.Y, rot.Z);
435 this.updateFlag = 2; 435 this.updateFlag = 2;
436 436
437 } 437 }
@@ -443,7 +443,7 @@ namespace OpenSim.Region.Environment.Scenes
443 /// <param name="rot"></param> 443 /// <param name="rot"></param>
444 public void UpdateGroupMouseRotation(LLVector3 pos, LLQuaternion rot) 444 public void UpdateGroupMouseRotation(LLVector3 pos, LLQuaternion rot)
445 { 445 {
446 this.rotation = new Axiom.Math.Quaternion(rot.W, rot.X, rot.Y, rot.Z); 446 this.Rotation = new Axiom.Math.Quaternion(rot.W, rot.X, rot.Y, rot.Z);
447 this.Pos = pos; 447 this.Pos = pos;
448 this.updateFlag = 2; 448 this.updateFlag = 2;
449 } 449 }
@@ -456,16 +456,16 @@ namespace OpenSim.Region.Environment.Scenes
456 { 456 {
457 //Console.WriteLine("updating single prim rotation"); 457 //Console.WriteLine("updating single prim rotation");
458 Axiom.Math.Quaternion axRot = new Axiom.Math.Quaternion(rot.W, rot.X, rot.Y, rot.Z); 458 Axiom.Math.Quaternion axRot = new Axiom.Math.Quaternion(rot.W, rot.X, rot.Y, rot.Z);
459 Axiom.Math.Quaternion oldParentRot = new Quaternion(this.rotation.w, this.rotation.x, this.rotation.y, this.rotation.z); 459 Axiom.Math.Quaternion oldParentRot = new Quaternion(this.Rotation.w, this.Rotation.x, this.Rotation.y, this.Rotation.z);
460 this.rotation = axRot; 460 this.Rotation = axRot;
461 foreach (Primitive prim in this.children) 461 foreach (Primitive prim in this.children)
462 { 462 {
463 Axiom.Math.Vector3 axPos = new Vector3(prim.m_pos.X, prim.m_pos.Y, prim.m_pos.Z); 463 Axiom.Math.Vector3 axPos = new Vector3(prim.m_pos.X, prim.m_pos.Y, prim.m_pos.Z);
464 axPos = oldParentRot * axPos; 464 axPos = oldParentRot * axPos;
465 axPos = axRot.Inverse() * axPos; 465 axPos = axRot.Inverse() * axPos;
466 prim.m_pos = new LLVector3(axPos.x, axPos.y, axPos.z); 466 prim.m_pos = new LLVector3(axPos.x, axPos.y, axPos.z);
467 prim.rotation = oldParentRot * prim.rotation ; 467 prim.Rotation = oldParentRot * prim.Rotation ;
468 prim.rotation = axRot.Inverse()* prim.rotation; 468 prim.Rotation = axRot.Inverse()* prim.Rotation;
469 prim.updateFlag = 2; 469 prim.updateFlag = 2;
470 } 470 }
471 this.updateFlag = 2; 471 this.updateFlag = 2;
@@ -528,7 +528,7 @@ namespace OpenSim.Region.Environment.Scenes
528 LLVector3 lPos; 528 LLVector3 lPos;
529 lPos = this.Pos; 529 lPos = this.Pos;
530 LLQuaternion lRot; 530 LLQuaternion lRot;
531 lRot = new LLQuaternion(this.rotation.x, this.rotation.y, this.rotation.z, this.rotation.w); 531 lRot = new LLQuaternion(this.Rotation.x, this.Rotation.y, this.Rotation.z, this.Rotation.w);
532 532
533 remoteClient.SendPrimitiveToClient(this.m_regionHandle, 64096, this.LocalId, this.m_Shape, lPos, lRot, new LLUUID("00000000-0000-0000-9999-000000000005"), this.m_flags, this.uuid, this.OwnerID, this.Text, this.ParentID); 533 remoteClient.SendPrimitiveToClient(this.m_regionHandle, 64096, this.LocalId, this.m_Shape, lPos, lRot, new LLUUID("00000000-0000-0000-9999-000000000005"), this.m_flags, this.uuid, this.OwnerID, this.Text, this.ParentID);
534 } 534 }
@@ -571,7 +571,7 @@ namespace OpenSim.Region.Environment.Scenes
571 Quaternion lRot; 571 Quaternion lRot;
572 572
573 lPos = this.Pos; 573 lPos = this.Pos;
574 lRot = this.rotation; 574 lRot = this.Rotation;
575 575
576 LLQuaternion mRot = new LLQuaternion(lRot.x, lRot.y, lRot.z, lRot.w); 576 LLQuaternion mRot = new LLQuaternion(lRot.x, lRot.y, lRot.z, lRot.w);
577 RemoteClient.SendPrimTerseUpdate(this.m_regionHandle, 64096, this.LocalId, lPos, mRot); 577 RemoteClient.SendPrimTerseUpdate(this.m_regionHandle, 64096, this.LocalId, lPos, mRot);
diff --git a/OpenSim/Region/Environment/Scenes/PrimitiveOld.cs b/OpenSim/Region/Environment/Scenes/PrimitiveOld.cs
index 4933b01..91a4162 100644
--- a/OpenSim/Region/Environment/Scenes/PrimitiveOld.cs
+++ b/OpenSim/Region/Environment/Scenes/PrimitiveOld.cs
@@ -445,7 +445,7 @@ namespace OpenSim.Region.Environment.Scenes
445 else 445 else
446 { 446 {
447 lPos = this.Pos; 447 lPos = this.Pos;
448 lRot = this.rotation; 448 lRot = this.Rotation;
449 } 449 }
450 LLQuaternion mRot = new LLQuaternion(lRot.x, lRot.y, lRot.z, lRot.w); 450 LLQuaternion mRot = new LLQuaternion(lRot.x, lRot.y, lRot.z, lRot.w);
451 RemoteClient.SendPrimTerseUpdate(this.m_regionHandle, 64096, this.LocalId, lPos, mRot); 451 RemoteClient.SendPrimTerseUpdate(this.m_regionHandle, 64096, this.LocalId, lPos, mRot);
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
index e64e147..69eaa75 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
@@ -164,7 +164,7 @@ namespace OpenSim.Region.Environment.Scenes
164 case 1: // Say 164 case 1: // Say
165 if ((dis < 30) && (dis > -30)) 165 if ((dis < 30) && (dis > -30))
166 { 166 {
167 Console.WriteLine("sending chat"); 167 //Console.WriteLine("sending chat");
168 client.SendChatMessage(message, type, fromPos, fromName, 168 client.SendChatMessage(message, type, fromPos, fromName,
169 fromAgentID); 169 fromAgentID);
170 } 170 }
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 81c56c4..cd81384 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -685,15 +685,12 @@ namespace OpenSim.Region.Environment.Scenes
685 /// </summary> 685 /// </summary>
686 public void InformClientOfNeighbours(IClientAPI remoteClient) 686 public void InformClientOfNeighbours(IClientAPI remoteClient)
687 { 687 {
688 // Console.WriteLine("informing client of neighbouring regions");
689 List<RegionInfo> neighbours = this.commsManager.GridServer.RequestNeighbours(this.m_regInfo); 688 List<RegionInfo> neighbours = this.commsManager.GridServer.RequestNeighbours(this.m_regInfo);
690 689
691 //Console.WriteLine("we have " + neighbours.Count + " neighbouring regions");
692 if (neighbours != null) 690 if (neighbours != null)
693 { 691 {
694 for (int i = 0; i < neighbours.Count; i++) 692 for (int i = 0; i < neighbours.Count; i++)
695 { 693 {
696 // Console.WriteLine("sending neighbours data");
697 AgentCircuitData agent = remoteClient.RequestClientInfo(); 694 AgentCircuitData agent = remoteClient.RequestClientInfo();
698 agent.BaseFolder = LLUUID.Zero; 695 agent.BaseFolder = LLUUID.Zero;
699 agent.InventoryFolder = LLUUID.Zero; 696 agent.InventoryFolder = LLUUID.Zero;
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index b0e7710..7330bc5 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -124,7 +124,7 @@ namespace OpenSim.Region.Environment.Scenes
124 Wearables = AvatarWearable.DefaultWearables; 124 Wearables = AvatarWearable.DefaultWearables;
125 Animations = new ScenePresence.AvatarAnimations(); 125 Animations = new ScenePresence.AvatarAnimations();
126 Animations.LoadAnims(); 126 Animations.LoadAnims();
127 127
128 this.avatarAppearanceTexture = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005")); 128 this.avatarAppearanceTexture = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005"));
129 129
130 //register for events 130 //register for events
@@ -160,7 +160,7 @@ namespace OpenSim.Region.Environment.Scenes
160 { 160 {
161 this.Velocity = new LLVector3(0, 0, 0); 161 this.Velocity = new LLVector3(0, 0, 0);
162 this.Pos = new LLVector3(128, 128, 70); 162 this.Pos = new LLVector3(128, 128, 70);
163 163
164 } 164 }
165 } 165 }
166 166
@@ -276,25 +276,31 @@ namespace OpenSim.Region.Environment.Scenes
276 { 276 {
277 this.AddNewMovement(agent_control_v3, q); 277 this.AddNewMovement(agent_control_v3, q);
278 } 278 }
279 UpdateMovementAnimations(update_movementflag); 279 UpdateMovementAnimations(update_movementflag);
280 } 280 }
281 281
282 protected void UpdateMovementAnimations(bool update_movementflag) 282 protected void UpdateMovementAnimations(bool update_movementflag)
283 { 283 {
284 if (update_movementflag) 284 if (update_movementflag)
285 { 285 {
286 if (movementflag != 0) { 286 if (movementflag != 0)
287 if (this._physActor.Flying) { 287 {
288 this.SendAnimPack(Animations.AnimsLLUUID["FLY"], 1); 288 if (this._physActor.Flying)
289 } else { 289 {
290 this.SendAnimPack(Animations.AnimsLLUUID["WALK"], 1); 290 this.SendAnimPack(Animations.AnimsLLUUID["FLY"], 1);
291 } 291 }
292 } else { 292 else
293 this.SendAnimPack(Animations.AnimsLLUUID["STAND"], 1); 293 {
294 } 294 this.SendAnimPack(Animations.AnimsLLUUID["WALK"], 1);
295 } 295 }
296 296 }
297 } 297 else
298 {
299 this.SendAnimPack(Animations.AnimsLLUUID["STAND"], 1);
300 }
301 }
302
303 }
298 304
299 305
300 protected void AddNewMovement(Vector3 vec, Quaternion rotation) 306 protected void AddNewMovement(Vector3 vec, Quaternion rotation)
@@ -423,13 +429,13 @@ namespace OpenSim.Region.Environment.Scenes
423 /// <param name="seq"></param> 429 /// <param name="seq"></param>
424 public void SendAnimPack(LLUUID animID, int seq) 430 public void SendAnimPack(LLUUID animID, int seq)
425 { 431 {
426 this.current_anim = animID; 432 this.current_anim = animID;
427 this.anim_seq = anim_seq; 433 this.anim_seq = anim_seq;
428 List<ScenePresence> avatars = this.m_world.RequestAvatarList(); 434 List<ScenePresence> avatars = this.m_world.RequestAvatarList();
429 for (int i = 0; i < avatars.Count; i++) 435 for (int i = 0; i < avatars.Count; i++)
430 { 436 {
431 avatars[i].ControllingClient.SendAnimation(animID, seq, this.ControllingClient.AgentId); 437 avatars[i].ControllingClient.SendAnimation(animID, seq, this.ControllingClient.AgentId);
432 } 438 }
433 } 439 }
434 440
435 /// <summary> 441 /// <summary>
@@ -437,7 +443,7 @@ namespace OpenSim.Region.Environment.Scenes
437 /// </summary> 443 /// </summary>
438 public void SendAnimPack() 444 public void SendAnimPack()
439 { 445 {
440 this.SendAnimPack(this.current_anim, this.anim_seq); 446 this.SendAnimPack(this.current_anim, this.anim_seq);
441 } 447 }
442 #endregion 448 #endregion
443 449
@@ -506,7 +512,7 @@ namespace OpenSim.Region.Environment.Scenes
506 if (res) 512 if (res)
507 { 513 {
508 this.MakeChildAgent(); 514 this.MakeChildAgent();
509 this.ControllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.InternalEndPoint ); 515 this.ControllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.InternalEndPoint);
510 } 516 }
511 } 517 }
512 } 518 }