aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim.RegionServer/world/Primitive.cs
diff options
context:
space:
mode:
authorlbsa712007-04-03 19:12:07 +0000
committerlbsa712007-04-03 19:12:07 +0000
commit7169acc47e8bb56581bd28c3bd921ca9236ba3c3 (patch)
tree4565785736fb759f0c665aac28cd88937042bdd3 /OpenSim.RegionServer/world/Primitive.cs
parentAnother temporary bug fix attempt, this time for the packet overflow problem,... (diff)
downloadopensim-SC-7169acc47e8bb56581bd28c3bd921ca9236ba3c3.zip
opensim-SC-7169acc47e8bb56581bd28c3bd921ca9236ba3c3.tar.gz
opensim-SC-7169acc47e8bb56581bd28c3bd921ca9236ba3c3.tar.bz2
opensim-SC-7169acc47e8bb56581bd28c3bd921ca9236ba3c3.tar.xz
* Extended Script API with GetRandomAvatar
* The script will now get a IScriptEntity to it's host object with get/sets * The script gets a IScriptReadnlyEntity interface to entities other than the host object. * the test script now follows a random avatar.
Diffstat (limited to 'OpenSim.RegionServer/world/Primitive.cs')
-rw-r--r--OpenSim.RegionServer/world/Primitive.cs23
1 files changed, 10 insertions, 13 deletions
diff --git a/OpenSim.RegionServer/world/Primitive.cs b/OpenSim.RegionServer/world/Primitive.cs
index 156bbfb..8ff66f9 100644
--- a/OpenSim.RegionServer/world/Primitive.cs
+++ b/OpenSim.RegionServer/world/Primitive.cs
@@ -19,13 +19,11 @@ namespace OpenSim.world
19 protected bool updateFlag = false; 19 protected bool updateFlag = false;
20 protected bool dirtyFlag = false; 20 protected bool dirtyFlag = false;
21 private ObjectUpdatePacket OurPacket; 21 private ObjectUpdatePacket OurPacket;
22 private PhysicsActor _physActor;
23 private bool physicsEnabled = false; 22 private bool physicsEnabled = false;
24 private bool physicstest = false; 23 private bool physicstest = false;
25 private LLVector3 positionLastFrame = new LLVector3(0, 0, 0); 24 private LLVector3 positionLastFrame = new LLVector3(0, 0, 0);
26 private Dictionary<uint, SimClient> m_clientThreads; 25 private Dictionary<uint, SimClient> m_clientThreads;
27 private ulong m_regionHandle; 26 private ulong m_regionHandle;
28 private World m_world;
29 private const uint FULL_MASK_PERMISSIONS = 2147483647; 27 private const uint FULL_MASK_PERMISSIONS = 2147483647;
30 28
31 public bool PhysicsEnabled 29 public bool PhysicsEnabled
@@ -130,7 +128,7 @@ namespace OpenSim.world
130 128
131 public void UpdatePosition(LLVector3 pos) 129 public void UpdatePosition(LLVector3 pos)
132 { 130 {
133 this.position = pos; 131 this.Pos = pos;
134 if (this._physActor != null) // && this.physicsEnabled) 132 if (this._physActor != null) // && this.physicsEnabled)
135 { 133 {
136 try 134 try
@@ -208,7 +206,7 @@ namespace OpenSim.world
208 206
209 if (this.physicstest) 207 if (this.physicstest)
210 { 208 {
211 LLVector3 pos = this.position; 209 LLVector3 pos = this.Pos;
212 pos.Z += 0.0001f; 210 pos.Z += 0.0001f;
213 this.UpdatePosition(pos); 211 this.UpdatePosition(pos);
214 this.physicstest = false; 212 this.physicstest = false;
@@ -226,7 +224,7 @@ namespace OpenSim.world
226 } 224 }
227 else 225 else
228 { 226 {
229 lPos = this.position; 227 lPos = this.Pos;
230 } 228 }
231 byte[] pb = lPos.GetBytes(); 229 byte[] pb = lPos.GetBytes();
232 Array.Copy(pb, 0, OurPacket.ObjectData[0].ObjectData, 0, pb.Length); 230 Array.Copy(pb, 0, OurPacket.ObjectData[0].ObjectData, 0, pb.Length);
@@ -300,7 +298,7 @@ namespace OpenSim.world
300 this.physicsEnabled = pack.AgentData.UsePhysics; 298 this.physicsEnabled = pack.AgentData.UsePhysics;
301 if (this._physActor.Kinematic == false) 299 if (this._physActor.Kinematic == false)
302 { 300 {
303 LLVector3 pos = this.position; 301 LLVector3 pos = this.Pos;
304 this.UpdatePosition(pos); 302 this.UpdatePosition(pos);
305 pos.Z += 0.000001f; 303 pos.Z += 0.000001f;
306 this.UpdatePosition(pos); 304 this.UpdatePosition(pos);
@@ -310,7 +308,7 @@ namespace OpenSim.world
310 { 308 {
311 PhysicsVector vec = this._physActor.Position; 309 PhysicsVector vec = this._physActor.Position;
312 LLVector3 pos = new LLVector3(vec.X, vec.Y, vec.Z); 310 LLVector3 pos = new LLVector3(vec.X, vec.Y, vec.Z);
313 this.position = pos; 311 this.Pos = pos;
314 this.updateFlag = true; 312 this.updateFlag = true;
315 } 313 }
316 } 314 }
@@ -319,7 +317,7 @@ namespace OpenSim.world
319 public void MakeParent(Primitive prim) 317 public void MakeParent(Primitive prim)
320 { 318 {
321 this.primData.ParentID = prim.localid; 319 this.primData.ParentID = prim.localid;
322 this.position -= prim.position; 320 this.Pos -= prim.Pos;
323 this.dirtyFlag = true; 321 this.dirtyFlag = true;
324 } 322 }
325 323
@@ -385,7 +383,7 @@ namespace OpenSim.world
385 this.newPrimFlag = true; 383 this.newPrimFlag = true;
386 this.primData.FullID = this.uuid = objupdate.ObjectData[0].FullID; 384 this.primData.FullID = this.uuid = objupdate.ObjectData[0].FullID;
387 this.localid = objupdate.ObjectData[0].ID; 385 this.localid = objupdate.ObjectData[0].ID;
388 this.primData.Position = this.position = pos1; 386 this.primData.Position = this.Pos = pos1;
389 this.OurPacket = objupdate; 387 this.OurPacket = objupdate;
390 } 388 }
391 389
@@ -466,7 +464,7 @@ namespace OpenSim.world
466 464
467 this.uuid = objupdate.ObjectData[0].FullID; 465 this.uuid = objupdate.ObjectData[0].FullID;
468 this.localid = objupdate.ObjectData[0].ID; 466 this.localid = objupdate.ObjectData[0].ID;
469 this.position = pos1; 467 this.Pos = pos1;
470 this.OurPacket = objupdate; 468 this.OurPacket = objupdate;
471 if (newprim) 469 if (newprim)
472 { 470 {
@@ -501,7 +499,7 @@ namespace OpenSim.world
501 } 499 }
502 else 500 else
503 { 501 {
504 lPos = this.position; 502 lPos = this.Pos;
505 lRot = this.rotation; 503 lRot = this.rotation;
506 } 504 }
507 byte[] pb = lPos.GetBytes(); 505 byte[] pb = lPos.GetBytes();
@@ -557,10 +555,9 @@ namespace OpenSim.world
557 { 555 {
558 this.primData.FullID = this.uuid; 556 this.primData.FullID = this.uuid;
559 this.primData.LocalID = this.localid; 557 this.primData.LocalID = this.localid;
560 this.primData.Position = this.position; 558 this.primData.Position = this.Pos;
561 this.primData.Rotation = new LLQuaternion(this.rotation.x, this.rotation.y, this.rotation.z, this.rotation.w); 559 this.primData.Rotation = new LLQuaternion(this.rotation.x, this.rotation.y, this.rotation.z, this.rotation.w);
562 this.m_world.localStorage.StorePrim(this.primData); 560 this.m_world.localStorage.StorePrim(this.primData);
563 } 561 }
564 } 562 }
565
566} 563}