diff options
author | mingchen | 2007-07-12 20:33:10 +0000 |
---|---|---|
committer | mingchen | 2007-07-12 20:33:10 +0000 |
commit | df24ce6dfd803c5fcf6b0958ce14c455331a87b4 (patch) | |
tree | cab7170c4fee0bd32b5efed24c350bddfbd404c9 /OpenSim/Region/Environment/ParcelManager.cs | |
parent | *Found and fixed bug that crashed viewer when logging in or viewing land owners (diff) | |
download | opensim-SC_OLD-df24ce6dfd803c5fcf6b0958ce14c455331a87b4.zip opensim-SC_OLD-df24ce6dfd803c5fcf6b0958ce14c455331a87b4.tar.gz opensim-SC_OLD-df24ce6dfd803c5fcf6b0958ce14c455331a87b4.tar.bz2 opensim-SC_OLD-df24ce6dfd803c5fcf6b0958ce14c455331a87b4.tar.xz |
*Parcel and estate support fully restored into Sugilite
*Significant movement (currently set to 2 meters of movement for performance reasons, even though its speedy) and initial login now sends parcel updates
Diffstat (limited to 'OpenSim/Region/Environment/ParcelManager.cs')
-rw-r--r-- | OpenSim/Region/Environment/ParcelManager.cs | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/OpenSim/Region/Environment/ParcelManager.cs b/OpenSim/Region/Environment/ParcelManager.cs index a1ed930..aca63a0 100644 --- a/OpenSim/Region/Environment/ParcelManager.cs +++ b/OpenSim/Region/Environment/ParcelManager.cs | |||
@@ -356,11 +356,11 @@ namespace OpenSim.Region.Environment | |||
356 | //Sale Flag | 356 | //Sale Flag |
357 | tempByte = Convert.ToByte(tempByte | PARCEL_TYPE_IS_FOR_SALE); | 357 | tempByte = Convert.ToByte(tempByte | PARCEL_TYPE_IS_FOR_SALE); |
358 | } | 358 | } |
359 | /*else if (currentParcelBlock.parcelData.ownerID == LLUUID.Zero) | 359 | else if (currentParcelBlock.parcelData.ownerID == LLUUID.Zero) |
360 | { | 360 | { |
361 | //Public Flag | 361 | //Public Flag |
362 | tempByte = Convert.ToByte(tempByte | PARCEL_TYPE_PUBLIC); | 362 | tempByte = Convert.ToByte(tempByte | PARCEL_TYPE_PUBLIC); |
363 | }*/ | 363 | } |
364 | else | 364 | else |
365 | { | 365 | { |
366 | //Other Flag | 366 | //Other Flag |
@@ -395,7 +395,6 @@ namespace OpenSim.Region.Environment | |||
395 | packet = new ParcelOverlayPacket(); | 395 | packet = new ParcelOverlayPacket(); |
396 | packet.ParcelData.Data = byteArray; | 396 | packet.ParcelData.Data = byteArray; |
397 | packet.ParcelData.SequenceID = sequenceID; | 397 | packet.ParcelData.SequenceID = sequenceID; |
398 | Console.WriteLine("SENT #" + sequenceID); | ||
399 | remote_client.OutPacket((Packet)packet); | 398 | remote_client.OutPacket((Packet)packet); |
400 | sequenceID++; | 399 | sequenceID++; |
401 | byteArray = new byte[PARCEL_BLOCKS_PER_PACKET]; | 400 | byteArray = new byte[PARCEL_BLOCKS_PER_PACKET]; |
@@ -483,6 +482,20 @@ namespace OpenSim.Region.Environment | |||
483 | addParcel(fullSimParcel); | 482 | addParcel(fullSimParcel); |
484 | 483 | ||
485 | } | 484 | } |
485 | |||
486 | |||
487 | public void handleSignificantClientMovement(IClientAPI remote_client) | ||
488 | { | ||
489 | Avatar clientAvatar = m_world.RequestAvatar(remote_client.AgentId); | ||
490 | if (clientAvatar != null) | ||
491 | { | ||
492 | Parcel over = getParcel(Convert.ToInt32(clientAvatar.Pos.X), Convert.ToInt32(clientAvatar.Pos.Y)); | ||
493 | if (over != null) | ||
494 | { | ||
495 | over.sendParcelProperties(0, false, 0, remote_client); //TODO: correctly send the sequence ID!!! | ||
496 | } | ||
497 | } | ||
498 | } | ||
486 | #endregion | 499 | #endregion |
487 | } | 500 | } |
488 | #endregion | 501 | #endregion |
@@ -638,7 +651,6 @@ namespace OpenSim.Region.Environment | |||
638 | parcelData.userLookAt = packet.ParcelData.UserLookAt; | 651 | parcelData.userLookAt = packet.ParcelData.UserLookAt; |
639 | 652 | ||
640 | List<Avatar> avatars = m_world.RequestAvatarList(); | 653 | List<Avatar> avatars = m_world.RequestAvatarList(); |
641 | |||
642 | for (int i = 0; i < avatars.Count; i++) | 654 | for (int i = 0; i < avatars.Count; i++) |
643 | { | 655 | { |
644 | Parcel over = m_world.parcelManager.getParcel((int)Math.Round(avatars[i].Pos.X), (int)Math.Round(avatars[i].Pos.Y)); | 656 | Parcel over = m_world.parcelManager.getParcel((int)Math.Round(avatars[i].Pos.X), (int)Math.Round(avatars[i].Pos.Y)); |