aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMW2007-07-13 16:53:31 +0000
committerMW2007-07-13 16:53:31 +0000
commit0ac68093433635652466a072d7057d956168dfe7 (patch)
tree9f155d01f05cd690a43d451a9fbf280d4122f8ef /OpenSim
parentChanged simpleApp to use basic physics. (diff)
downloadopensim-SC_OLD-0ac68093433635652466a072d7057d956168dfe7.zip
opensim-SC_OLD-0ac68093433635652466a072d7057d956168dfe7.tar.gz
opensim-SC_OLD-0ac68093433635652466a072d7057d956168dfe7.tar.bz2
opensim-SC_OLD-0ac68093433635652466a072d7057d956168dfe7.tar.xz
Think SceneObject/Primitive copying should now work, just need to hook it up to a event and test.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs20
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObject.cs11
2 files changed, 15 insertions, 16 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 417f817..c8714ae 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -355,7 +355,7 @@ namespace OpenSim.Region.Environment.Scenes
355 /// <summary> 355 /// <summary>
356 /// 356 ///
357 /// </summary> 357 /// </summary>
358 private void CreateTerrainTexture() 358 public void CreateTerrainTexture()
359 { 359 {
360 //create a texture asset of the terrain 360 //create a texture asset of the terrain
361 byte[] data = this.Terrain.exportJpegImage("defaultstripe.png"); 361 byte[] data = this.Terrain.exportJpegImage("defaultstripe.png");
@@ -446,6 +446,15 @@ namespace OpenSim.Region.Environment.Scenes
446 /// <param name="child"></param> 446 /// <param name="child"></param>
447 public override void AddNewClient(IClientAPI client, bool child) 447 public override void AddNewClient(IClientAPI client, bool child)
448 { 448 {
449 SubscribeToClientEvents(client);
450 this.estateManager.sendRegionHandshake(client);
451 CreateAndAddScenePresence(client);
452 this.parcelManager.sendParcelOverlay(client);
453
454 }
455
456 protected override void SubscribeToClientEvents(IClientAPI client)
457 {
449 client.OnRegionHandShakeReply += this.SendLayerData; 458 client.OnRegionHandShakeReply += this.SendLayerData;
450 //remoteClient.OnRequestWearables += new GenericCall(this.GetInitialPrims); 459 //remoteClient.OnRequestWearables += new GenericCall(this.GetInitialPrims);
451 client.OnChatFromViewer += this.SimChat; 460 client.OnChatFromViewer += this.SimChat;
@@ -475,14 +484,6 @@ namespace OpenSim.Region.Environment.Scenes
475 client.OnParcelJoinRequest += new ParcelJoinRequest(parcelManager.handleParcelJoinRequest); 484 client.OnParcelJoinRequest += new ParcelJoinRequest(parcelManager.handleParcelJoinRequest);
476 client.OnParcelPropertiesUpdateRequest += new ParcelPropertiesUpdateRequest(parcelManager.handleParcelPropertiesUpdateRequest); 485 client.OnParcelPropertiesUpdateRequest += new ParcelPropertiesUpdateRequest(parcelManager.handleParcelPropertiesUpdateRequest);
477 client.OnEstateOwnerMessage += new EstateOwnerMessageRequest(estateManager.handleEstateOwnerMessage); 486 client.OnEstateOwnerMessage += new EstateOwnerMessageRequest(estateManager.handleEstateOwnerMessage);
478
479
480 this.estateManager.sendRegionHandshake(client);
481 CreateAndAddScenePresence(client);
482
483 this.parcelManager.sendParcelOverlay(client);
484
485 return;
486 } 487 }
487 488
488 protected void CreateAndAddScenePresence(IClientAPI client) 489 protected void CreateAndAddScenePresence(IClientAPI client)
@@ -772,7 +773,6 @@ namespace OpenSim.Region.Environment.Scenes
772 remoteClient.SendRegionTeleport(regionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4)); 773 remoteClient.SendRegionTeleport(regionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4));
773 774
774 } 775 }
775 //remoteClient.SendTeleportCancel();
776 } 776 }
777 } 777 }
778 778
diff --git a/OpenSim/Region/Environment/Scenes/SceneObject.cs b/OpenSim/Region/Environment/Scenes/SceneObject.cs
index c586e9b..e979186 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObject.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObject.cs
@@ -115,13 +115,12 @@ namespace OpenSim.Region.Environment.Scenes
115 { 115 {
116 SceneObject dupe = new SceneObject(); 116 SceneObject dupe = new SceneObject();
117 117
118 dupe.m_world = this.m_world;
119 dupe.m_regionHandle = this.m_regionHandle;
118 Primitive newRoot = this.rootPrimitive.Copy((EntityBase)dupe, dupe); 120 Primitive newRoot = this.rootPrimitive.Copy((EntityBase)dupe, dupe);
119 121 dupe.rootPrimitive = newRoot;
120 foreach (EntityBase child in this.children) 122 dupe.rootPrimitive.Pos =( this.Pos + new LLVector3(0,0,1));
121 { 123 dupe.Rotation = this.Rotation;
122 EntityBase newChild = child.Copy();
123 dupe.children.Add(newChild);
124 }
125 124
126 return dupe; 125 return dupe;
127 } 126 }