aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--Common/OpenSim.Framework/Interfaces/IClientAPI.cs1
-rw-r--r--Common/OpenSim.Framework/Types/PrimData.cs59
-rw-r--r--OpenSim/OpenSim.Region/World/Avatar.cs10
-rw-r--r--OpenSim/OpenSim.Region/World/Primitive.cs141
-rw-r--r--OpenSim/OpenSim.Region/World/World.cs23
-rw-r--r--OpenSim/OpenSim.RegionServer/AuthenticateSessionsLocal.cs38
-rw-r--r--OpenSim/OpenSim.RegionServer/AuthenticateSessionsRemote.cs25
-rw-r--r--OpenSim/OpenSim.RegionServer/ClientView.PacketHandlers.cs21
-rw-r--r--OpenSim/OpenSim.RegionServer/ClientView.ProcessPackets.cs5
-rw-r--r--OpenSim/OpenSim.RegionServer/ClientView.cs2
-rw-r--r--OpenSim/OpenSim.RegionServer/OpenSim.RegionServer.csproj55
-rw-r--r--OpenSim/OpenSim/OpenSimMain.cs4
12 files changed, 178 insertions, 206 deletions
diff --git a/Common/OpenSim.Framework/Interfaces/IClientAPI.cs b/Common/OpenSim.Framework/Interfaces/IClientAPI.cs
index 1bf378f..d3dc6d2 100644
--- a/Common/OpenSim.Framework/Interfaces/IClientAPI.cs
+++ b/Common/OpenSim.Framework/Interfaces/IClientAPI.cs
@@ -103,5 +103,6 @@ namespace OpenSim.Framework.Interfaces
103 AgentCircuitData RequestClientInfo(); 103 AgentCircuitData RequestClientInfo();
104 104
105 void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLUUID textureID); 105 void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLUUID textureID);
106 void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation);
106 } 107 }
107} 108}
diff --git a/Common/OpenSim.Framework/Types/PrimData.cs b/Common/OpenSim.Framework/Types/PrimData.cs
index 68e2a22..8729982 100644
--- a/Common/OpenSim.Framework/Types/PrimData.cs
+++ b/Common/OpenSim.Framework/Types/PrimData.cs
@@ -32,7 +32,7 @@ namespace OpenSim.Framework.Types
32 public sbyte PathTwist; 32 public sbyte PathTwist;
33 public sbyte PathTwistBegin; 33 public sbyte PathTwistBegin;
34 public byte[] Texture; 34 public byte[] Texture;
35 35
36 36
37 public Int32 CreationDate; 37 public Int32 CreationDate;
38 public uint OwnerMask = FULL_MASK_PERMISSIONS; 38 public uint OwnerMask = FULL_MASK_PERMISSIONS;
@@ -43,7 +43,7 @@ namespace OpenSim.Framework.Types
43 43
44 //following only used during prim storage 44 //following only used during prim storage
45 public LLVector3 Position; 45 public LLVector3 Position;
46 public LLQuaternion Rotation = new LLQuaternion(0,1,0,0); 46 public LLQuaternion Rotation = new LLQuaternion(0, 1, 0, 0);
47 public uint LocalID; 47 public uint LocalID;
48 public LLUUID FullID; 48 public LLUUID FullID;
49 49
@@ -54,7 +54,7 @@ namespace OpenSim.Framework.Types
54 54
55 public PrimData(byte[] data) 55 public PrimData(byte[] data)
56 { 56 {
57 int i =0; 57 int i = 0;
58 58
59 this.OwnerID = new LLUUID(data, i); i += 16; 59 this.OwnerID = new LLUUID(data, i); i += 16;
60 this.PCode = data[i++]; 60 this.PCode = data[i++];
@@ -75,9 +75,9 @@ namespace OpenSim.Framework.Types
75 this.PathRadiusOffset = (sbyte)data[i++]; 75 this.PathRadiusOffset = (sbyte)data[i++];
76 this.PathRevolutions = data[i++]; 76 this.PathRevolutions = data[i++];
77 this.PathTaperX = (sbyte)data[i++]; 77 this.PathTaperX = (sbyte)data[i++];
78 this.PathTaperY =(sbyte) data[i++]; 78 this.PathTaperY = (sbyte)data[i++];
79 this.PathTwist = (sbyte) data[i++]; 79 this.PathTwist = (sbyte)data[i++];
80 this.PathTwistBegin = (sbyte) data[i++]; 80 this.PathTwistBegin = (sbyte)data[i++];
81 ushort length = (ushort)(data[i++] + (data[i++] << 8)); 81 ushort length = (ushort)(data[i++] + (data[i++] << 8));
82 this.Texture = new byte[length]; 82 this.Texture = new byte[length];
83 Array.Copy(data, i, Texture, 0, length); i += length; 83 Array.Copy(data, i, Texture, 0, length); i += length;
@@ -88,7 +88,7 @@ namespace OpenSim.Framework.Types
88 this.EveryoneMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24)); 88 this.EveryoneMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
89 this.BaseMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24)); 89 this.BaseMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
90 this.Position = new LLVector3(data, i); i += 12; 90 this.Position = new LLVector3(data, i); i += 12;
91 this.Rotation = new LLQuaternion(data,i, true); i += 12; 91 this.Rotation = new LLQuaternion(data, i, true); i += 12;
92 this.LocalID = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24)); 92 this.LocalID = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
93 this.FullID = new LLUUID(data, i); i += 16; 93 this.FullID = new LLUUID(data, i); i += 16;
94 94
@@ -120,14 +120,14 @@ namespace OpenSim.Framework.Types
120 bytes[i++] = (byte)((ParentID >> 8) % 256); 120 bytes[i++] = (byte)((ParentID >> 8) % 256);
121 bytes[i++] = (byte)((ParentID >> 16) % 256); 121 bytes[i++] = (byte)((ParentID >> 16) % 256);
122 bytes[i++] = (byte)((ParentID >> 24) % 256); 122 bytes[i++] = (byte)((ParentID >> 24) % 256);
123 bytes[i++] = (byte)(this.ProfileHollow %256); 123 bytes[i++] = (byte)(this.ProfileHollow % 256);
124 bytes[i++] = (byte)((this.ProfileHollow >> 8)% 256); 124 bytes[i++] = (byte)((this.ProfileHollow >> 8) % 256);
125 bytes[i++] = ((byte)this.PathRadiusOffset); 125 bytes[i++] = ((byte)this.PathRadiusOffset);
126 bytes[i++] = this.PathRevolutions; 126 bytes[i++] = this.PathRevolutions;
127 bytes[i++] = ((byte) this.PathTaperX); 127 bytes[i++] = ((byte)this.PathTaperX);
128 bytes[i++] = ((byte) this.PathTaperY); 128 bytes[i++] = ((byte)this.PathTaperY);
129 bytes[i++] = ((byte) this.PathTwist); 129 bytes[i++] = ((byte)this.PathTwist);
130 bytes[i++] = ((byte) this.PathTwistBegin); 130 bytes[i++] = ((byte)this.PathTwistBegin);
131 bytes[i++] = (byte)(Texture.Length % 256); 131 bytes[i++] = (byte)(Texture.Length % 256);
132 bytes[i++] = (byte)((Texture.Length >> 8) % 256); 132 bytes[i++] = (byte)((Texture.Length >> 8) % 256);
133 Array.Copy(Texture, 0, bytes, i, Texture.Length); i += Texture.Length; 133 Array.Copy(Texture, 0, bytes, i, Texture.Length); i += Texture.Length;
@@ -156,7 +156,7 @@ namespace OpenSim.Framework.Types
156 bytes[i++] = (byte)((this.BaseMask >> 16) % 256); 156 bytes[i++] = (byte)((this.BaseMask >> 16) % 256);
157 bytes[i++] = (byte)((this.BaseMask >> 24) % 256); 157 bytes[i++] = (byte)((this.BaseMask >> 24) % 256);
158 Array.Copy(this.Position.GetBytes(), 0, bytes, i, 12); i += 12; 158 Array.Copy(this.Position.GetBytes(), 0, bytes, i, 12); i += 12;
159 if (this.Rotation == new LLQuaternion(0,0,0,0)) 159 if (this.Rotation == new LLQuaternion(0, 0, 0, 0))
160 { 160 {
161 this.Rotation = new LLQuaternion(0, 1, 0, 0); 161 this.Rotation = new LLQuaternion(0, 1, 0, 0);
162 } 162 }
@@ -169,5 +169,36 @@ namespace OpenSim.Framework.Types
169 169
170 return bytes; 170 return bytes;
171 } 171 }
172
173 public static PrimData DefaultCube()
174 {
175 PrimData primData = new PrimData();
176 primData.CreationDate = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
177 primData.FullID = LLUUID.Random();
178 primData.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
179 primData.Rotation = new LLQuaternion(0, 0, 0, 1);
180 primData.PCode = 9;
181 primData.ParentID = 0;
182 primData.PathBegin = 0;
183 primData.PathEnd = 0;
184 primData.PathScaleX = 0;
185 primData.PathScaleY = 0;
186 primData.PathShearX = 0;
187 primData.PathShearY = 0;
188 primData.PathSkew = 0;
189 primData.ProfileBegin = 0;
190 primData.ProfileEnd = 0;
191 primData.PathCurve = 16;
192 primData.ProfileCurve = 1;
193 primData.ProfileHollow = 0;
194 primData.PathRadiusOffset = 0;
195 primData.PathRevolutions = 0;
196 primData.PathTaperX = 0;
197 primData.PathTaperY = 0;
198 primData.PathTwist = 0;
199 primData.PathTwistBegin = 0;
200
201 return primData;
202 }
172 } 203 }
173} 204}
diff --git a/OpenSim/OpenSim.Region/World/Avatar.cs b/OpenSim/OpenSim.Region/World/Avatar.cs
index 88a7969..65af5a6 100644
--- a/OpenSim/OpenSim.Region/World/Avatar.cs
+++ b/OpenSim/OpenSim.Region/World/Avatar.cs
@@ -66,7 +66,6 @@ namespace OpenSim.Region
66 Wearables = AvatarWearable.DefaultWearables; 66 Wearables = AvatarWearable.DefaultWearables;
67 67
68 this.avatarAppearanceTexture = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005")); 68 this.avatarAppearanceTexture = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005"));
69 Console.WriteLine("avatar point 4");
70 69
71 //register for events 70 //register for events
72 ControllingClient.OnRequestWearables += new GenericCall(this.SendOurAppearance); 71 ControllingClient.OnRequestWearables += new GenericCall(this.SendOurAppearance);
@@ -77,14 +76,7 @@ namespace OpenSim.Region
77 ControllingClient.OnStartAnim += new StartAnim(this.SendAnimPack); 76 ControllingClient.OnStartAnim += new StartAnim(this.SendAnimPack);
78 ControllingClient.OnChildAgentStatus += new StatusChange(this.ChildStatusChange); 77 ControllingClient.OnChildAgentStatus += new StatusChange(this.ChildStatusChange);
79 ControllingClient.OnStopMovement += new GenericCall2(this.StopMovement); 78 ControllingClient.OnStopMovement += new GenericCall2(this.StopMovement);
80 * */ 79 */
81
82 ControllingClient.OnParcelPropertiesRequest +=new ParcelPropertiesRequest(this.m_world.parcelManager.handleParcelPropertiesRequest);
83 ControllingClient.OnParcelDivideRequest += new ParcelDivideRequest(this.m_world.parcelManager.handleParcelDivideRequest);
84 ControllingClient.OnParcelJoinRequest += new ParcelJoinRequest(this.m_world.parcelManager.handleParcelJoinRequest);
85 ControllingClient.OnParcelPropertiesUpdateRequest += new ParcelPropertiesUpdateRequest(this.m_world.parcelManager.handleParcelPropertiesUpdateRequest);
86
87 ControllingClient.OnEstateOwnerMessage += new EstateOwnerMessageRequest(this.m_world.estateManager.handleEstateOwnerMessage);
88 } 80 }
89 81
90 /// <summary> 82 /// <summary>
diff --git a/OpenSim/OpenSim.Region/World/Primitive.cs b/OpenSim/OpenSim.Region/World/Primitive.cs
index 1f70550..d540a3b 100644
--- a/OpenSim/OpenSim.Region/World/Primitive.cs
+++ b/OpenSim/OpenSim.Region/World/Primitive.cs
@@ -14,12 +14,12 @@ namespace OpenSim.Region
14 public class Primitive : Entity 14 public class Primitive : Entity
15 { 15 {
16 protected PrimData primData; 16 protected PrimData primData;
17 //private ObjectUpdatePacket OurPacket;
18 private LLVector3 positionLastFrame = new LLVector3(0, 0, 0); 17 private LLVector3 positionLastFrame = new LLVector3(0, 0, 0);
19 private Dictionary<uint, IClientAPI> m_clientThreads; 18 private Dictionary<uint, IClientAPI> m_clientThreads;
20 private ulong m_regionHandle; 19 private ulong m_regionHandle;
21 private const uint FULL_MASK_PERMISSIONS = 2147483647; 20 private const uint FULL_MASK_PERMISSIONS = 2147483647;
22 private bool physicsEnabled = false; 21 private bool physicsEnabled = false;
22 private byte updateFlag = 0;
23 23
24 private Dictionary<LLUUID, InventoryItem> inventoryItems; 24 private Dictionary<LLUUID, InventoryItem> inventoryItems;
25 25
@@ -66,7 +66,7 @@ namespace OpenSim.Region
66 inventoryItems = new Dictionary<LLUUID, InventoryItem>(); 66 inventoryItems = new Dictionary<LLUUID, InventoryItem>();
67 } 67 }
68 68
69 public Primitive(Dictionary<uint, IClientAPI> clientThreads, ulong regionHandle, World world, LLUUID owner) 69 public Primitive(Dictionary<uint, IClientAPI> clientThreads, ulong regionHandle, World world, LLUUID owner, LLUUID fullID, uint localID)
70 { 70 {
71 m_clientThreads = clientThreads; 71 m_clientThreads = clientThreads;
72 m_regionHandle = regionHandle; 72 m_regionHandle = regionHandle;
@@ -75,8 +75,34 @@ namespace OpenSim.Region
75 this.primData = new PrimData(); 75 this.primData = new PrimData();
76 this.primData.CreationDate = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds; 76 this.primData.CreationDate = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
77 this.primData.OwnerID = owner; 77 this.primData.OwnerID = owner;
78 this.primData.FullID = this.uuid = fullID;
79 this.primData.LocalID = this.localid = localID;
78 } 80 }
79 81
82 /// <summary>
83 /// Constructor to create a default cube
84 /// </summary>
85 /// <param name="clientThreads"></param>
86 /// <param name="regionHandle"></param>
87 /// <param name="world"></param>
88 /// <param name="owner"></param>
89 /// <param name="localID"></param>
90 /// <param name="position"></param>
91 public Primitive(Dictionary<uint, IClientAPI> clientThreads, ulong regionHandle, World world, LLUUID owner, uint localID, LLVector3 position)
92 {
93 m_clientThreads = clientThreads;
94 m_regionHandle = regionHandle;
95 m_world = world;
96 inventoryItems = new Dictionary<LLUUID, InventoryItem>();
97 this.primData = PrimData.DefaultCube();
98 this.primData.OwnerID = owner;
99 this.primData.LocalID = this.localid = localID;
100 this.Pos = this.primData.Position = position;
101
102 this.updateFlag = 1;
103 }
104
105
80 public byte[] GetByteArray() 106 public byte[] GetByteArray()
81 { 107 {
82 byte[] result = null; 108 byte[] result = null;
@@ -115,7 +141,11 @@ namespace OpenSim.Region
115 141
116 public override void update() 142 public override void update()
117 { 143 {
118 LLVector3 pos2 = new LLVector3(0, 0, 0); 144 if (this.updateFlag == 1)
145 {
146 this.SendFullUpdateToAllClients();
147 this.updateFlag = 0;
148 }
119 } 149 }
120 150
121 public override void BackUp() 151 public override void BackUp()
@@ -275,17 +305,39 @@ namespace OpenSim.Region
275 305
276 public void SendFullUpdateToAllClients() 306 public void SendFullUpdateToAllClients()
277 { 307 {
278 308 List<Avatar> avatars = this.m_world.RequestAvatarList();
309 for (int i = 0; i < avatars.Count; i++)
310 {
311 this.SendFullUpdateToClient(avatars[i].ControllingClient);
312 }
279 } 313 }
280 314
281 public void SendTerseUpdateToClient(IClientAPI RemoteClient) 315 public void SendTerseUpdateToClient(IClientAPI RemoteClient)
282 { 316 {
317 LLVector3 lPos;
318 Axiom.MathLib.Quaternion lRot;
319 if (this._physActor != null && this.physicsEnabled)
320 {
321 PhysicsVector pPos = this._physActor.Position;
322 lPos = new LLVector3(pPos.X, pPos.Y, pPos.Z);
323 lRot = this._physActor.Orientation;
324 }
325 else
326 {
327 lPos = this.Pos;
328 lRot = this.rotation;
329 }
283 330
331
284 } 332 }
285 333
286 public void SendTerseUpdateToALLClients() 334 public void SendTerseUpdateToALLClients()
287 { 335 {
288 336 List<Avatar> avatars = this.m_world.RequestAvatarList();
337 for (int i = 0; i < avatars.Count; i++)
338 {
339 this.SendTerseUpdateToClient(avatars[i].ControllingClient);
340 }
289 } 341 }
290 342
291 #endregion 343 #endregion
@@ -324,6 +376,8 @@ namespace OpenSim.Region
324 this.primData.FullID = this.uuid = LLUUID.Random(); 376 this.primData.FullID = this.uuid = LLUUID.Random();
325 this.localid = (uint)(localID); 377 this.localid = (uint)(localID);
326 this.primData.Position = this.Pos = pos1; 378 this.primData.Position = this.Pos = pos1;
379
380 this.updateFlag = 1;
327 } 381 }
328 382
329 public void CreateFromBytes(byte[] data) 383 public void CreateFromBytes(byte[] data)
@@ -343,82 +397,5 @@ namespace OpenSim.Region
343 397
344 #endregion 398 #endregion
345 399
346
347 protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateImprovedBlock()
348 {
349 uint ID = this.localid;
350 byte[] bytes = new byte[60];
351
352 int i = 0;
353 ImprovedTerseObjectUpdatePacket.ObjectDataBlock dat = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock();
354 dat.TextureEntry = new byte[0];
355 bytes[i++] = (byte)(ID % 256);
356 bytes[i++] = (byte)((ID >> 8) % 256);
357 bytes[i++] = (byte)((ID >> 16) % 256);
358 bytes[i++] = (byte)((ID >> 24) % 256);
359 bytes[i++] = 0;
360 bytes[i++] = 0;
361
362 LLVector3 lPos;
363 Axiom.MathLib.Quaternion lRot;
364 if (this._physActor != null && this.physicsEnabled)
365 {
366 PhysicsVector pPos = this._physActor.Position;
367 lPos = new LLVector3(pPos.X, pPos.Y, pPos.Z);
368 lRot = this._physActor.Orientation;
369 }
370 else
371 {
372 lPos = this.Pos;
373 lRot = this.rotation;
374 }
375 byte[] pb = lPos.GetBytes();
376 Array.Copy(pb, 0, bytes, i, pb.Length);
377 i += 12;
378 ushort ac = 32767;
379
380 //vel
381 bytes[i++] = (byte)(ac % 256);
382 bytes[i++] = (byte)((ac >> 8) % 256);
383 bytes[i++] = (byte)(ac % 256);
384 bytes[i++] = (byte)((ac >> 8) % 256);
385 bytes[i++] = (byte)(ac % 256);
386 bytes[i++] = (byte)((ac >> 8) % 256);
387
388 //accel
389 bytes[i++] = (byte)(ac % 256);
390 bytes[i++] = (byte)((ac >> 8) % 256);
391 bytes[i++] = (byte)(ac % 256);
392 bytes[i++] = (byte)((ac >> 8) % 256);
393 bytes[i++] = (byte)(ac % 256);
394 bytes[i++] = (byte)((ac >> 8) % 256);
395
396 ushort rw, rx, ry, rz;
397 rw = (ushort)(32768 * (lRot.w + 1));
398 rx = (ushort)(32768 * (lRot.x + 1));
399 ry = (ushort)(32768 * (lRot.y + 1));
400 rz = (ushort)(32768 * (lRot.z + 1));
401
402 //rot
403 bytes[i++] = (byte)(rx % 256);
404 bytes[i++] = (byte)((rx >> 8) % 256);
405 bytes[i++] = (byte)(ry % 256);
406 bytes[i++] = (byte)((ry >> 8) % 256);
407 bytes[i++] = (byte)(rz % 256);
408 bytes[i++] = (byte)((rz >> 8) % 256);
409 bytes[i++] = (byte)(rw % 256);
410 bytes[i++] = (byte)((rw >> 8) % 256);
411
412 //rotation vel
413 bytes[i++] = (byte)(ac % 256);
414 bytes[i++] = (byte)((ac >> 8) % 256);
415 bytes[i++] = (byte)(ac % 256);
416 bytes[i++] = (byte)((ac >> 8) % 256);
417 bytes[i++] = (byte)(ac % 256);
418 bytes[i++] = (byte)((ac >> 8) % 256);
419
420 dat.Data = bytes;
421 return dat;
422 }
423 } 400 }
424} 401}
diff --git a/OpenSim/OpenSim.Region/World/World.cs b/OpenSim/OpenSim.Region/World/World.cs
index c5c554d..49ba8fa 100644
--- a/OpenSim/OpenSim.Region/World/World.cs
+++ b/OpenSim/OpenSim.Region/World/World.cs
@@ -450,7 +450,19 @@ namespace OpenSim.Region
450 /// <param name="ownerID"></param> 450 /// <param name="ownerID"></param>
451 public void AddNewPrim(ObjectAddPacket addPacket, LLUUID ownerID) 451 public void AddNewPrim(ObjectAddPacket addPacket, LLUUID ownerID)
452 { 452 {
453 453 try
454 {
455 // MainConsole.Instance.Notice("World.cs: AddNewPrim() - Creating new prim");
456 Primitive prim = new Primitive(m_clientThreads, m_regionHandle, this);
457 prim.CreateFromPacket(addPacket, ownerID, this._primCount);
458
459 this.Entities.Add(prim.uuid, prim);
460 this._primCount++;
461 }
462 catch (Exception e)
463 {
464 // MainConsole.Instance.Warn("World.cs: AddNewPrim() - Failed with exception " + e.ToString());
465 }
454 } 466 }
455 467
456 #endregion 468 #endregion
@@ -469,6 +481,15 @@ namespace OpenSim.Region
469 //remoteClient.OnRequestWearables += new GenericCall(this.GetInitialPrims); 481 //remoteClient.OnRequestWearables += new GenericCall(this.GetInitialPrims);
470 remoteClient.OnChatFromViewer += new ChatFromViewer(this.SimChat); 482 remoteClient.OnChatFromViewer += new ChatFromViewer(this.SimChat);
471 remoteClient.OnRequestWearables += new GenericCall(this.InformClientOfNeighbours); 483 remoteClient.OnRequestWearables += new GenericCall(this.InformClientOfNeighbours);
484 remoteClient.OnAddPrim += new GenericCall4(this.AddNewPrim);
485
486 /*
487 remoteClient.OnParcelPropertiesRequest += new ParcelPropertiesRequest(parcelManager.handleParcelPropertiesRequest);
488 remoteClient.OnParcelDivideRequest += new ParcelDivideRequest(parcelManager.handleParcelDivideRequest);
489 remoteClient.OnParcelJoinRequest += new ParcelJoinRequest(parcelManager.handleParcelJoinRequest);
490 remoteClient.OnParcelPropertiesUpdateRequest += new ParcelPropertiesUpdateRequest(parcelManager.handleParcelPropertiesUpdateRequest);
491 remoteClient.OnEstateOwnerMessage += new EstateOwnerMessageRequest(estateManager.handleEstateOwnerMessage);
492 */
472 493
473 Avatar newAvatar = null; 494 Avatar newAvatar = null;
474 try 495 try
diff --git a/OpenSim/OpenSim.RegionServer/AuthenticateSessionsLocal.cs b/OpenSim/OpenSim.RegionServer/AuthenticateSessionsLocal.cs
deleted file mode 100644
index 4db7ccb..0000000
--- a/OpenSim/OpenSim.RegionServer/AuthenticateSessionsLocal.cs
+++ /dev/null
@@ -1,38 +0,0 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4using libsecondlife;
5using OpenSim.Framework.Types;
6using OpenSim.Framework;
7
8namespace OpenSim
9{
10 public class AuthenticateSessionsLocal : AuthenticateSessionsBase
11 {
12 public AuthenticateSessionsLocal()
13 {
14
15 }
16
17 public bool AddNewSessionHandler(ulong regionHandle, Login loginData)
18 {
19 AddNewSession( loginData );
20 return true;
21 }
22
23 public void AddNewSession(Login loginData)
24 {
25 AgentCircuitData agent = new AgentCircuitData();
26 agent.AgentID = loginData.Agent;
27 agent.firstname = loginData.First;
28 agent.lastname = loginData.Last;
29 agent.SessionID = loginData.Session;
30 agent.SecureSessionID = loginData.SecureSession;
31 agent.circuitcode = loginData.CircuitCode;
32 agent.BaseFolder = loginData.BaseFolder;
33 agent.InventoryFolder = loginData.InventoryFolder;
34 agent.startpos = new LLVector3(128,128,70);
35 this.AddNewCircuit(agent.circuitcode, agent);
36 }
37 }
38}
diff --git a/OpenSim/OpenSim.RegionServer/AuthenticateSessionsRemote.cs b/OpenSim/OpenSim.RegionServer/AuthenticateSessionsRemote.cs
deleted file mode 100644
index 13bce0e..0000000
--- a/OpenSim/OpenSim.RegionServer/AuthenticateSessionsRemote.cs
+++ /dev/null
@@ -1,25 +0,0 @@
1using System;
2using System.Collections;
3using System.Collections.Generic;
4using System.Text;
5using System.Xml;
6using libsecondlife;
7using OpenSim.Framework.Types;
8using OpenSim.Framework;
9using Nwc.XmlRpc;
10
11namespace OpenSim
12{
13 public class AuthenticateSessionsRemote : AuthenticateSessionsBase
14 {
15 public AuthenticateSessionsRemote()
16 {
17
18 }
19
20 public XmlRpcResponse ExpectUser(XmlRpcRequest request)
21 {
22 return new XmlRpcResponse();
23 }
24 }
25}
diff --git a/OpenSim/OpenSim.RegionServer/ClientView.PacketHandlers.cs b/OpenSim/OpenSim.RegionServer/ClientView.PacketHandlers.cs
index 9fb52c6..d069f51 100644
--- a/OpenSim/OpenSim.RegionServer/ClientView.PacketHandlers.cs
+++ b/OpenSim/OpenSim.RegionServer/ClientView.PacketHandlers.cs
@@ -91,19 +91,28 @@ namespace OpenSim
91 { 91 {
92 if (multipleupdate.ObjectData[i].Type == 9) //change position 92 if (multipleupdate.ObjectData[i].Type == 9) //change position
93 { 93 {
94 libsecondlife.LLVector3 pos = new LLVector3(multipleupdate.ObjectData[i].Data, 0); 94 if (OnUpdatePrimPosition != null)
95 OnUpdatePrimPosition(multipleupdate.ObjectData[i].ObjectLocalID, pos, this); 95 {
96 libsecondlife.LLVector3 pos = new LLVector3(multipleupdate.ObjectData[i].Data, 0);
97 OnUpdatePrimPosition(multipleupdate.ObjectData[i].ObjectLocalID, pos, this);
98 }
96 //should update stored position of the prim 99 //should update stored position of the prim
97 } 100 }
98 else if (multipleupdate.ObjectData[i].Type == 10)//rotation 101 else if (multipleupdate.ObjectData[i].Type == 10)//rotation
99 { 102 {
100 libsecondlife.LLQuaternion rot = new LLQuaternion(multipleupdate.ObjectData[i].Data, 0, true); 103 if (OnUpdatePrimRotation != null)
101 OnUpdatePrimRotation(multipleupdate.ObjectData[i].ObjectLocalID, rot, this); 104 {
105 libsecondlife.LLQuaternion rot = new LLQuaternion(multipleupdate.ObjectData[i].Data, 0, true);
106 OnUpdatePrimRotation(multipleupdate.ObjectData[i].ObjectLocalID, rot, this);
107 }
102 } 108 }
103 else if (multipleupdate.ObjectData[i].Type == 13)//scale 109 else if (multipleupdate.ObjectData[i].Type == 13)//scale
104 { 110 {
105 libsecondlife.LLVector3 scale = new LLVector3(multipleupdate.ObjectData[i].Data, 12); 111 if (OnUpdatePrimScale != null)
106 OnUpdatePrimScale(multipleupdate.ObjectData[i].ObjectLocalID, scale, this); 112 {
113 libsecondlife.LLVector3 scale = new LLVector3(multipleupdate.ObjectData[i].Data, 12);
114 OnUpdatePrimScale(multipleupdate.ObjectData[i].ObjectLocalID, scale, this);
115 }
107 } 116 }
108 } 117 }
109 return true; 118 return true;
diff --git a/OpenSim/OpenSim.RegionServer/ClientView.ProcessPackets.cs b/OpenSim/OpenSim.RegionServer/ClientView.ProcessPackets.cs
index d36e579..00f3b66 100644
--- a/OpenSim/OpenSim.RegionServer/ClientView.ProcessPackets.cs
+++ b/OpenSim/OpenSim.RegionServer/ClientView.ProcessPackets.cs
@@ -488,7 +488,10 @@ namespace OpenSim
488 #region Estate Packets 488 #region Estate Packets
489 case PacketType.EstateOwnerMessage: 489 case PacketType.EstateOwnerMessage:
490 EstateOwnerMessagePacket messagePacket = (EstateOwnerMessagePacket)Pack; 490 EstateOwnerMessagePacket messagePacket = (EstateOwnerMessagePacket)Pack;
491 OnEstateOwnerMessage(messagePacket, this); 491 if (OnEstateOwnerMessage != null)
492 {
493 OnEstateOwnerMessage(messagePacket, this);
494 }
492 break; 495 break;
493 #endregion 496 #endregion
494 #region unimplemented handlers 497 #region unimplemented handlers
diff --git a/OpenSim/OpenSim.RegionServer/ClientView.cs b/OpenSim/OpenSim.RegionServer/ClientView.cs
index f9a7fe4..809d3cf 100644
--- a/OpenSim/OpenSim.RegionServer/ClientView.cs
+++ b/OpenSim/OpenSim.RegionServer/ClientView.cs
@@ -69,7 +69,7 @@ namespace OpenSim
69 69
70 private AgentAssetUpload UploadAssets; 70 private AgentAssetUpload UploadAssets;
71 private LLUUID newAssetFolder = LLUUID.Zero; 71 private LLUUID newAssetFolder = LLUUID.Zero;
72 private bool debug = false; 72 private bool debug = true;
73 protected IWorld m_world; 73 protected IWorld m_world;
74 private Dictionary<uint, ClientView> m_clientThreads; 74 private Dictionary<uint, ClientView> m_clientThreads;
75 private AssetCache m_assetCache; 75 private AssetCache m_assetCache;
diff --git a/OpenSim/OpenSim.RegionServer/OpenSim.RegionServer.csproj b/OpenSim/OpenSim.RegionServer/OpenSim.RegionServer.csproj
index 990b5c3..04febf0 100644
--- a/OpenSim/OpenSim.RegionServer/OpenSim.RegionServer.csproj
+++ b/OpenSim/OpenSim.RegionServer/OpenSim.RegionServer.csproj
@@ -1,4 +1,4 @@
1<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 1<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2 <PropertyGroup> 2 <PropertyGroup>
3 <ProjectType>Local</ProjectType> 3 <ProjectType>Local</ProjectType>
4 <ProductVersion>8.0.50727</ProductVersion> 4 <ProductVersion>8.0.50727</ProductVersion>
@@ -6,7 +6,8 @@
6 <ProjectGuid>{632E1BFD-0000-0000-0000-000000000000}</ProjectGuid> 6 <ProjectGuid>{632E1BFD-0000-0000-0000-000000000000}</ProjectGuid>
7 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 7 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
8 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 8 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
9 <ApplicationIcon></ApplicationIcon> 9 <ApplicationIcon>
10 </ApplicationIcon>
10 <AssemblyKeyContainerName> 11 <AssemblyKeyContainerName>
11 </AssemblyKeyContainerName> 12 </AssemblyKeyContainerName>
12 <AssemblyName>OpenSim.RegionServer</AssemblyName> 13 <AssemblyName>OpenSim.RegionServer</AssemblyName>
@@ -15,9 +16,11 @@
15 <DefaultTargetSchema>IE50</DefaultTargetSchema> 16 <DefaultTargetSchema>IE50</DefaultTargetSchema>
16 <DelaySign>false</DelaySign> 17 <DelaySign>false</DelaySign>
17 <OutputType>Library</OutputType> 18 <OutputType>Library</OutputType>
18 <AppDesignerFolder></AppDesignerFolder> 19 <AppDesignerFolder>
20 </AppDesignerFolder>
19 <RootNamespace>OpenSim.RegionServer</RootNamespace> 21 <RootNamespace>OpenSim.RegionServer</RootNamespace>
20 <StartupObject></StartupObject> 22 <StartupObject>
23 </StartupObject>
21 <FileUpgradeFlags> 24 <FileUpgradeFlags>
22 </FileUpgradeFlags> 25 </FileUpgradeFlags>
23 </PropertyGroup> 26 </PropertyGroup>
@@ -28,7 +31,8 @@
28 <ConfigurationOverrideFile> 31 <ConfigurationOverrideFile>
29 </ConfigurationOverrideFile> 32 </ConfigurationOverrideFile>
30 <DefineConstants>TRACE;DEBUG</DefineConstants> 33 <DefineConstants>TRACE;DEBUG</DefineConstants>
31 <DocumentationFile></DocumentationFile> 34 <DocumentationFile>
35 </DocumentationFile>
32 <DebugSymbols>True</DebugSymbols> 36 <DebugSymbols>True</DebugSymbols>
33 <FileAlignment>4096</FileAlignment> 37 <FileAlignment>4096</FileAlignment>
34 <Optimize>False</Optimize> 38 <Optimize>False</Optimize>
@@ -37,7 +41,8 @@
37 <RemoveIntegerChecks>False</RemoveIntegerChecks> 41 <RemoveIntegerChecks>False</RemoveIntegerChecks>
38 <TreatWarningsAsErrors>False</TreatWarningsAsErrors> 42 <TreatWarningsAsErrors>False</TreatWarningsAsErrors>
39 <WarningLevel>4</WarningLevel> 43 <WarningLevel>4</WarningLevel>
40 <NoWarn></NoWarn> 44 <NoWarn>
45 </NoWarn>
41 </PropertyGroup> 46 </PropertyGroup>
42 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 47 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
43 <AllowUnsafeBlocks>False</AllowUnsafeBlocks> 48 <AllowUnsafeBlocks>False</AllowUnsafeBlocks>
@@ -46,7 +51,8 @@
46 <ConfigurationOverrideFile> 51 <ConfigurationOverrideFile>
47 </ConfigurationOverrideFile> 52 </ConfigurationOverrideFile>
48 <DefineConstants>TRACE</DefineConstants> 53 <DefineConstants>TRACE</DefineConstants>
49 <DocumentationFile></DocumentationFile> 54 <DocumentationFile>
55 </DocumentationFile>
50 <DebugSymbols>False</DebugSymbols> 56 <DebugSymbols>False</DebugSymbols>
51 <FileAlignment>4096</FileAlignment> 57 <FileAlignment>4096</FileAlignment>
52 <Optimize>True</Optimize> 58 <Optimize>True</Optimize>
@@ -55,26 +61,27 @@
55 <RemoveIntegerChecks>False</RemoveIntegerChecks> 61 <RemoveIntegerChecks>False</RemoveIntegerChecks>
56 <TreatWarningsAsErrors>False</TreatWarningsAsErrors> 62 <TreatWarningsAsErrors>False</TreatWarningsAsErrors>
57 <WarningLevel>4</WarningLevel> 63 <WarningLevel>4</WarningLevel>
58 <NoWarn></NoWarn> 64 <NoWarn>
65 </NoWarn>
59 </PropertyGroup> 66 </PropertyGroup>
60 <ItemGroup> 67 <ItemGroup>
61 <Reference Include="System" > 68 <Reference Include="System">
62 <HintPath>System.dll</HintPath> 69 <HintPath>System.dll</HintPath>
63 <Private>False</Private> 70 <Private>False</Private>
64 </Reference> 71 </Reference>
65 <Reference Include="System.Xml" > 72 <Reference Include="System.Xml">
66 <HintPath>System.Xml.dll</HintPath> 73 <HintPath>System.Xml.dll</HintPath>
67 <Private>False</Private> 74 <Private>False</Private>
68 </Reference> 75 </Reference>
69 <Reference Include="libsecondlife.dll" > 76 <Reference Include="libsecondlife.dll">
70 <HintPath>..\..\bin\libsecondlife.dll</HintPath> 77 <HintPath>..\..\bin\libsecondlife.dll</HintPath>
71 <Private>False</Private> 78 <Private>False</Private>
72 </Reference> 79 </Reference>
73 <Reference Include="Axiom.MathLib.dll" > 80 <Reference Include="Axiom.MathLib.dll">
74 <HintPath>..\..\bin\Axiom.MathLib.dll</HintPath> 81 <HintPath>..\..\bin\Axiom.MathLib.dll</HintPath>
75 <Private>False</Private> 82 <Private>False</Private>
76 </Reference> 83 </Reference>
77 <Reference Include="Db4objects.Db4o.dll" > 84 <Reference Include="Db4objects.Db4o.dll">
78 <HintPath>..\..\bin\Db4objects.Db4o.dll</HintPath> 85 <HintPath>..\..\bin\Db4objects.Db4o.dll</HintPath>
79 <Private>False</Private> 86 <Private>False</Private>
80 </Reference> 87 </Reference>
@@ -84,55 +91,49 @@
84 <Name>OpenSim.Terrain.BasicTerrain</Name> 91 <Name>OpenSim.Terrain.BasicTerrain</Name>
85 <Project>{2270B8FE-0000-0000-0000-000000000000}</Project> 92 <Project>{2270B8FE-0000-0000-0000-000000000000}</Project>
86 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> 93 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
87 <Private>False</Private> 94 <Private>False</Private>
88 </ProjectReference> 95 </ProjectReference>
89 <ProjectReference Include="..\..\Common\OpenSim.Framework\OpenSim.Framework.csproj"> 96 <ProjectReference Include="..\..\Common\OpenSim.Framework\OpenSim.Framework.csproj">
90 <Name>OpenSim.Framework</Name> 97 <Name>OpenSim.Framework</Name>
91 <Project>{8ACA2445-0000-0000-0000-000000000000}</Project> 98 <Project>{8ACA2445-0000-0000-0000-000000000000}</Project>
92 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> 99 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
93 <Private>False</Private> 100 <Private>False</Private>
94 </ProjectReference> 101 </ProjectReference>
95 <ProjectReference Include="..\..\Common\OpenSim.Framework.Console\OpenSim.Framework.Console.csproj"> 102 <ProjectReference Include="..\..\Common\OpenSim.Framework.Console\OpenSim.Framework.Console.csproj">
96 <Name>OpenSim.Framework.Console</Name> 103 <Name>OpenSim.Framework.Console</Name>
97 <Project>{A7CD0630-0000-0000-0000-000000000000}</Project> 104 <Project>{A7CD0630-0000-0000-0000-000000000000}</Project>
98 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> 105 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
99 <Private>False</Private> 106 <Private>False</Private>
100 </ProjectReference> 107 </ProjectReference>
101 <ProjectReference Include="..\..\Common\OpenSim.GenericConfig\Xml\OpenSim.GenericConfig.Xml.csproj"> 108 <ProjectReference Include="..\..\Common\OpenSim.GenericConfig\Xml\OpenSim.GenericConfig.Xml.csproj">
102 <Name>OpenSim.GenericConfig.Xml</Name> 109 <Name>OpenSim.GenericConfig.Xml</Name>
103 <Project>{E88EF749-0000-0000-0000-000000000000}</Project> 110 <Project>{E88EF749-0000-0000-0000-000000000000}</Project>
104 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> 111 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
105 <Private>False</Private> 112 <Private>False</Private>
106 </ProjectReference> 113 </ProjectReference>
107 <ProjectReference Include="..\OpenSim.Physics\Manager\OpenSim.Physics.Manager.csproj"> 114 <ProjectReference Include="..\OpenSim.Physics\Manager\OpenSim.Physics.Manager.csproj">
108 <Name>OpenSim.Physics.Manager</Name> 115 <Name>OpenSim.Physics.Manager</Name>
109 <Project>{8BE16150-0000-0000-0000-000000000000}</Project> 116 <Project>{8BE16150-0000-0000-0000-000000000000}</Project>
110 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> 117 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
111 <Private>False</Private> 118 <Private>False</Private>
112 </ProjectReference> 119 </ProjectReference>
113 <ProjectReference Include="..\..\Common\OpenSim.Servers\OpenSim.Servers.csproj"> 120 <ProjectReference Include="..\..\Common\OpenSim.Servers\OpenSim.Servers.csproj">
114 <Name>OpenSim.Servers</Name> 121 <Name>OpenSim.Servers</Name>
115 <Project>{8BB20F0A-0000-0000-0000-000000000000}</Project> 122 <Project>{8BB20F0A-0000-0000-0000-000000000000}</Project>
116 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> 123 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
117 <Private>False</Private> 124 <Private>False</Private>
118 </ProjectReference> 125 </ProjectReference>
119 <ProjectReference Include="..\..\Common\XmlRpcCS\XMLRPC.csproj"> 126 <ProjectReference Include="..\..\Common\XmlRpcCS\XMLRPC.csproj">
120 <Name>XMLRPC</Name> 127 <Name>XMLRPC</Name>
121 <Project>{8E81D43C-0000-0000-0000-000000000000}</Project> 128 <Project>{8E81D43C-0000-0000-0000-000000000000}</Project>
122 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> 129 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
123 <Private>False</Private> 130 <Private>False</Private>
124 </ProjectReference> 131 </ProjectReference>
125 </ItemGroup> 132 </ItemGroup>
126 <ItemGroup> 133 <ItemGroup>
127 <Compile Include="AgentAssetUpload.cs"> 134 <Compile Include="AgentAssetUpload.cs">
128 <SubType>Code</SubType> 135 <SubType>Code</SubType>
129 </Compile> 136 </Compile>
130 <Compile Include="AuthenticateSessionsLocal.cs">
131 <SubType>Code</SubType>
132 </Compile>
133 <Compile Include="AuthenticateSessionsRemote.cs">
134 <SubType>Code</SubType>
135 </Compile>
136 <Compile Include="ClientView.API.cs"> 137 <Compile Include="ClientView.API.cs">
137 <SubType>Code</SubType> 138 <SubType>Code</SubType>
138 </Compile> 139 </Compile>
@@ -192,4 +193,4 @@
192 <PostBuildEvent> 193 <PostBuildEvent>
193 </PostBuildEvent> 194 </PostBuildEvent>
194 </PropertyGroup> 195 </PropertyGroup>
195</Project> 196</Project> \ No newline at end of file
diff --git a/OpenSim/OpenSim/OpenSimMain.cs b/OpenSim/OpenSim/OpenSimMain.cs
index e1f6281..bd07c8f 100644
--- a/OpenSim/OpenSim/OpenSimMain.cs
+++ b/OpenSim/OpenSim/OpenSimMain.cs
@@ -212,13 +212,13 @@ namespace OpenSim
212 regionDat = new RegionInfo(); 212 regionDat = new RegionInfo();
213 if (m_sandbox) 213 if (m_sandbox)
214 { 214 {
215 AuthenticateSessionsLocal authen = new AuthenticateSessionsLocal(); 215 AuthenticateSessionsBase authen = new AuthenticateSessionsBase(); // new AuthenticateSessionsLocal();
216 this.AuthenticateSessionsHandler.Add(authen); 216 this.AuthenticateSessionsHandler.Add(authen);
217 authenBase = authen; 217 authenBase = authen;
218 } 218 }
219 else 219 else
220 { 220 {
221 AuthenticateSessionsRemote authen = new AuthenticateSessionsRemote(); 221 AuthenticateSessionsBase authen = new AuthenticateSessionsBase(); //new AuthenticateSessionsRemote();
222 this.AuthenticateSessionsHandler.Add (authen); 222 this.AuthenticateSessionsHandler.Add (authen);
223 authenBase = authen; 223 authenBase = authen;
224 } 224 }