diff options
author | MW | 2007-08-19 13:35:20 +0000 |
---|---|---|
committer | MW | 2007-08-19 13:35:20 +0000 |
commit | c89db49f3cd3bbd60577eb5a1787ccf8dea930e3 (patch) | |
tree | 2b51b0d261724427933f543dd2f39ef8cd21127f /OpenSim/Region/ClientStack | |
parent | Code comments on recent changes in EventQueueManager (diff) | |
download | opensim-SC-c89db49f3cd3bbd60577eb5a1787ccf8dea930e3.zip opensim-SC-c89db49f3cd3bbd60577eb5a1787ccf8dea930e3.tar.gz opensim-SC-c89db49f3cd3bbd60577eb5a1787ccf8dea930e3.tar.bz2 opensim-SC-c89db49f3cd3bbd60577eb5a1787ccf8dea930e3.tar.xz |
Sqlite datastore should now save the textures and extraparams data (used by sculpties) correctly. [Really need to add a ExtraParams field to the sqlite database though, but for now I have combined their data so that we don't lose backward compatibility, know a couple of people have been using the datastore already].
Now have a rough day/night cycle (the movement of the sun needs to be made smoother but for now it is better than we had I think).
Added dalien's patch (issue 294) for saving and loading prims to a xml file (think he will be modifying these to be import/export functions and maybe writing a xml datastore for backups).
Some preliminary work on task inventory (ie object's/prim's inventory).
Added place holder data for AvatarProperties (ie a avatar's profile). Should we store this sort of data on the user server or have another server for it (a normal webserver should work).
Added a few more method to IClientAPI.
Sure there is something I'm forgeting.
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.API.cs | 126 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs | 24 |
2 files changed, 120 insertions, 30 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.API.cs b/OpenSim/Region/ClientStack/ClientView.API.cs index f655674..c67ecb5 100644 --- a/OpenSim/Region/ClientStack/ClientView.API.cs +++ b/OpenSim/Region/ClientStack/ClientView.API.cs | |||
@@ -74,9 +74,9 @@ namespace OpenSim.Region.ClientStack | |||
74 | public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation; | 74 | public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation; |
75 | public event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation; | 75 | public event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation; |
76 | public event UpdateVector OnUpdatePrimScale; | 76 | public event UpdateVector OnUpdatePrimScale; |
77 | public event StatusChange OnChildAgentStatus; | 77 | public event StatusChange OnChildAgentStatus; |
78 | public event GenericCall2 OnStopMovement; | 78 | public event GenericCall2 OnStopMovement; |
79 | public event GenericCall6 OnRemoveAvatar; | 79 | public event GenericCall6 OnRemoveAvatar; |
80 | public event RequestMapBlocks OnRequestMapBlocks; | 80 | public event RequestMapBlocks OnRequestMapBlocks; |
81 | public event TeleportLocationRequest OnTeleportLocationRequest; | 81 | public event TeleportLocationRequest OnTeleportLocationRequest; |
82 | public event DisconnectUser OnDisconnectUser; | 82 | public event DisconnectUser OnDisconnectUser; |
@@ -88,6 +88,7 @@ namespace OpenSim.Region.ClientStack | |||
88 | public event RequestTaskInventory OnRequestTaskInventory; | 88 | public event RequestTaskInventory OnRequestTaskInventory; |
89 | public event UDPAssetUploadRequest OnAssetUploadRequest; | 89 | public event UDPAssetUploadRequest OnAssetUploadRequest; |
90 | public event XferReceive OnXferReceive; | 90 | public event XferReceive OnXferReceive; |
91 | public event RequestXfer OnRequestXfer; | ||
91 | 92 | ||
92 | public event UUIDNameRequest OnNameFromUUIDRequest; | 93 | public event UUIDNameRequest OnNameFromUUIDRequest; |
93 | 94 | ||
@@ -410,7 +411,7 @@ namespace OpenSim.Region.ClientStack | |||
410 | newSimPack.RegionData.SimPort = (ushort)externalIPEndPoint.Port; | 411 | newSimPack.RegionData.SimPort = (ushort)externalIPEndPoint.Port; |
411 | //newSimPack.RegionData.SeedCapability = new byte[0]; | 412 | //newSimPack.RegionData.SeedCapability = new byte[0]; |
412 | newSimPack.RegionData.SeedCapability = Helpers.StringToField(capsURL); | 413 | newSimPack.RegionData.SeedCapability = Helpers.StringToField(capsURL); |
413 | 414 | ||
414 | this.OutPacket(newSimPack); | 415 | this.OutPacket(newSimPack); |
415 | } | 416 | } |
416 | 417 | ||
@@ -463,7 +464,7 @@ namespace OpenSim.Region.ClientStack | |||
463 | ip += (uint)byteIP[2] << 16; | 464 | ip += (uint)byteIP[2] << 16; |
464 | ip += (uint)byteIP[1] << 8; | 465 | ip += (uint)byteIP[1] << 8; |
465 | ip += (uint)byteIP[0]; | 466 | ip += (uint)byteIP[0]; |
466 | 467 | ||
467 | teleport.Info.SimIP = ip; | 468 | teleport.Info.SimIP = ip; |
468 | teleport.Info.SimPort = (ushort)newRegionEndPoint.Port; | 469 | teleport.Info.SimPort = (ushort)newRegionEndPoint.Port; |
469 | teleport.Info.LocationID = 4; | 470 | teleport.Info.LocationID = 4; |
@@ -510,9 +511,9 @@ namespace OpenSim.Region.ClientStack | |||
510 | pc.PingID.PingID = seq; | 511 | pc.PingID.PingID = seq; |
511 | pc.Header.Reliable = false; | 512 | pc.Header.Reliable = false; |
512 | OutPacket(pc); | 513 | OutPacket(pc); |
513 | 514 | ||
514 | } | 515 | } |
515 | 516 | ||
516 | public void SendKillObject(ulong regionHandle, uint localID) | 517 | public void SendKillObject(ulong regionHandle, uint localID) |
517 | { | 518 | { |
518 | KillObjectPacket kill = new KillObjectPacket(); | 519 | KillObjectPacket kill = new KillObjectPacket(); |
@@ -526,7 +527,7 @@ namespace OpenSim.Region.ClientStack | |||
526 | { | 527 | { |
527 | Encoding enc = Encoding.ASCII; | 528 | Encoding enc = Encoding.ASCII; |
528 | uint FULL_MASK_PERMISSIONS = 2147483647; | 529 | uint FULL_MASK_PERMISSIONS = 2147483647; |
529 | InventoryDescendentsPacket descend = new InventoryDescendentsPacket(); | 530 | InventoryDescendentsPacket descend = new InventoryDescendentsPacket(); |
530 | descend.AgentData.AgentID = this.AgentId; | 531 | descend.AgentData.AgentID = this.AgentId; |
531 | descend.AgentData.OwnerID = ownerID; | 532 | descend.AgentData.OwnerID = ownerID; |
532 | descend.AgentData.FolderID = folderID; | 533 | descend.AgentData.FolderID = folderID; |
@@ -542,22 +543,22 @@ namespace OpenSim.Region.ClientStack | |||
542 | descend.ItemData[i].CreatorID = item.creatorsID; | 543 | descend.ItemData[i].CreatorID = item.creatorsID; |
543 | descend.ItemData[i].BaseMask = item.inventoryBasePermissions; | 544 | descend.ItemData[i].BaseMask = item.inventoryBasePermissions; |
544 | descend.ItemData[i].CreationDate = 1000; | 545 | descend.ItemData[i].CreationDate = 1000; |
545 | descend.ItemData[i].Description = enc.GetBytes(item.inventoryDescription+ "\0"); | 546 | descend.ItemData[i].Description = enc.GetBytes(item.inventoryDescription + "\0"); |
546 | descend.ItemData[i].EveryoneMask = item.inventoryEveryOnePermissions; | 547 | descend.ItemData[i].EveryoneMask = item.inventoryEveryOnePermissions; |
547 | descend.ItemData[i].Flags = 1; | 548 | descend.ItemData[i].Flags = 1; |
548 | descend.ItemData[i].FolderID = item.parentFolderID; | 549 | descend.ItemData[i].FolderID = item.parentFolderID; |
549 | descend.ItemData[i].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); | 550 | descend.ItemData[i].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); |
550 | descend.ItemData[i].GroupMask = 0; | 551 | descend.ItemData[i].GroupMask = 0; |
551 | descend.ItemData[i].InvType = (sbyte)item.invType; | 552 | descend.ItemData[i].InvType = (sbyte)item.invType; |
552 | descend.ItemData[i].Name = enc.GetBytes(item.inventoryName+ "\0"); | 553 | descend.ItemData[i].Name = enc.GetBytes(item.inventoryName + "\0"); |
553 | descend.ItemData[i].NextOwnerMask = item.inventoryNextPermissions; | 554 | descend.ItemData[i].NextOwnerMask = item.inventoryNextPermissions; |
554 | descend.ItemData[i].OwnerID = item.avatarID; | 555 | descend.ItemData[i].OwnerID = item.avatarID; |
555 | descend.ItemData[i].OwnerMask = item.inventoryCurrentPermissions; | 556 | descend.ItemData[i].OwnerMask = item.inventoryCurrentPermissions; |
556 | descend.ItemData[i].SalePrice = 0; | 557 | descend.ItemData[i].SalePrice = 0; |
557 | descend.ItemData[i].SaleType = 0; | 558 | descend.ItemData[i].SaleType = 0; |
558 | descend.ItemData[i].Type = (sbyte)item.assetType; | 559 | descend.ItemData[i].Type = (sbyte)item.assetType; |
559 | descend.ItemData[i].CRC = Helpers.InventoryCRC(1000, 0, descend.ItemData[i].InvType, descend.ItemData[i].Type, descend.ItemData[i].AssetID, descend.ItemData[i].GroupID, 100,descend.ItemData[i].OwnerID, descend.ItemData[i].CreatorID, descend.ItemData[i].ItemID, descend.ItemData[i].FolderID, FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS); | 560 | descend.ItemData[i].CRC = Helpers.InventoryCRC(1000, 0, descend.ItemData[i].InvType, descend.ItemData[i].Type, descend.ItemData[i].AssetID, descend.ItemData[i].GroupID, 100, descend.ItemData[i].OwnerID, descend.ItemData[i].CreatorID, descend.ItemData[i].ItemID, descend.ItemData[i].FolderID, FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS); |
560 | 561 | ||
561 | i++; | 562 | i++; |
562 | } | 563 | } |
563 | 564 | ||
@@ -617,14 +618,14 @@ namespace OpenSim.Region.ClientStack | |||
617 | InventoryReply.InventoryData[0].FolderID = Item.parentFolderID; | 618 | InventoryReply.InventoryData[0].FolderID = Item.parentFolderID; |
618 | InventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); | 619 | InventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); |
619 | InventoryReply.InventoryData[0].GroupMask = 0; | 620 | InventoryReply.InventoryData[0].GroupMask = 0; |
620 | InventoryReply.InventoryData[0].InvType =(sbyte) Item.invType; | 621 | InventoryReply.InventoryData[0].InvType = (sbyte)Item.invType; |
621 | InventoryReply.InventoryData[0].Name = enc.GetBytes(Item.inventoryName + "\0"); | 622 | InventoryReply.InventoryData[0].Name = enc.GetBytes(Item.inventoryName + "\0"); |
622 | InventoryReply.InventoryData[0].NextOwnerMask = Item.inventoryNextPermissions; | 623 | InventoryReply.InventoryData[0].NextOwnerMask = Item.inventoryNextPermissions; |
623 | InventoryReply.InventoryData[0].OwnerID = Item.avatarID; | 624 | InventoryReply.InventoryData[0].OwnerID = Item.avatarID; |
624 | InventoryReply.InventoryData[0].OwnerMask = Item.inventoryCurrentPermissions; | 625 | InventoryReply.InventoryData[0].OwnerMask = Item.inventoryCurrentPermissions; |
625 | InventoryReply.InventoryData[0].SalePrice = 100; | 626 | InventoryReply.InventoryData[0].SalePrice = 100; |
626 | InventoryReply.InventoryData[0].SaleType = 0; | 627 | InventoryReply.InventoryData[0].SaleType = 0; |
627 | InventoryReply.InventoryData[0].Type =(sbyte) Item.assetType; | 628 | InventoryReply.InventoryData[0].Type = (sbyte)Item.assetType; |
628 | InventoryReply.InventoryData[0].CRC = Helpers.InventoryCRC(1000, 0, InventoryReply.InventoryData[0].InvType, InventoryReply.InventoryData[0].Type, InventoryReply.InventoryData[0].AssetID, InventoryReply.InventoryData[0].GroupID, 100, InventoryReply.InventoryData[0].OwnerID, InventoryReply.InventoryData[0].CreatorID, InventoryReply.InventoryData[0].ItemID, InventoryReply.InventoryData[0].FolderID, FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS); | 629 | InventoryReply.InventoryData[0].CRC = Helpers.InventoryCRC(1000, 0, InventoryReply.InventoryData[0].InvType, InventoryReply.InventoryData[0].Type, InventoryReply.InventoryData[0].AssetID, InventoryReply.InventoryData[0].GroupID, 100, InventoryReply.InventoryData[0].OwnerID, InventoryReply.InventoryData[0].CreatorID, InventoryReply.InventoryData[0].ItemID, InventoryReply.InventoryData[0].FolderID, FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS); |
629 | 630 | ||
630 | OutPacket(InventoryReply); | 631 | OutPacket(InventoryReply); |
@@ -651,6 +652,15 @@ namespace OpenSim.Region.ClientStack | |||
651 | OutPacket(replytask); | 652 | OutPacket(replytask); |
652 | } | 653 | } |
653 | 654 | ||
655 | public void SendXferPacket(ulong xferID, uint packet, byte[] data) | ||
656 | { | ||
657 | SendXferPacketPacket sendXfer = new SendXferPacketPacket(); | ||
658 | sendXfer.XferID.ID = xferID; | ||
659 | sendXfer.XferID.Packet = packet; | ||
660 | sendXfer.DataPacket.Data = data; | ||
661 | OutPacket(sendXfer); | ||
662 | } | ||
663 | |||
654 | /// <summary> | 664 | /// <summary> |
655 | /// | 665 | /// |
656 | /// </summary> | 666 | /// </summary> |
@@ -689,6 +699,66 @@ namespace OpenSim.Region.ClientStack | |||
689 | OutPacket(loadURL); | 699 | OutPacket(loadURL); |
690 | } | 700 | } |
691 | 701 | ||
702 | |||
703 | public void SendPreLoadSound(LLUUID objectID, LLUUID ownerID, LLUUID soundID) | ||
704 | { | ||
705 | PreloadSoundPacket preSound = new PreloadSoundPacket(); | ||
706 | preSound.DataBlock = new PreloadSoundPacket.DataBlockBlock[1]; | ||
707 | preSound.DataBlock[0] = new PreloadSoundPacket.DataBlockBlock(); | ||
708 | preSound.DataBlock[0].ObjectID = objectID; | ||
709 | preSound.DataBlock[0].OwnerID = ownerID; | ||
710 | preSound.DataBlock[0].SoundID = soundID; | ||
711 | OutPacket(preSound); | ||
712 | } | ||
713 | |||
714 | public void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags) | ||
715 | { | ||
716 | AttachedSoundPacket sound = new AttachedSoundPacket(); | ||
717 | sound.DataBlock.SoundID = soundID; | ||
718 | sound.DataBlock.ObjectID = objectID; | ||
719 | sound.DataBlock.OwnerID = ownerID; | ||
720 | sound.DataBlock.Gain = gain; | ||
721 | sound.DataBlock.Flags = flags; | ||
722 | |||
723 | OutPacket(sound); | ||
724 | } | ||
725 | |||
726 | public void SendViewerTime(int phase) | ||
727 | { | ||
728 | |||
729 | SimulatorViewerTimeMessagePacket viewertime = new SimulatorViewerTimeMessagePacket(); | ||
730 | //viewertime.TimeInfo.SecPerDay = 86400; | ||
731 | // viewertime.TimeInfo.SecPerYear = 31536000; | ||
732 | viewertime.TimeInfo.SecPerDay = 1000; | ||
733 | viewertime.TimeInfo.SecPerYear = 365000; | ||
734 | viewertime.TimeInfo.SunPhase = 1; | ||
735 | int sunPhase = (phase + 2) / 2; | ||
736 | if ((sunPhase < 12) || (sunPhase > 36)) | ||
737 | { | ||
738 | |||
739 | viewertime.TimeInfo.SunDirection = new LLVector3(0f, 0.8f, -0.8f); | ||
740 | //Console.WriteLine("sending night"); | ||
741 | } | ||
742 | else | ||
743 | { | ||
744 | sunPhase = sunPhase - 12; | ||
745 | float yValue = 0.1f * (sunPhase); | ||
746 | if (yValue > 1.2f) { yValue = yValue - 1.2f; } | ||
747 | if (yValue > 1 ) { yValue = 1; } | ||
748 | if (yValue < 0) { yValue = 0; } | ||
749 | if (sunPhase < 14) | ||
750 | { | ||
751 | yValue = 1 - yValue; | ||
752 | } | ||
753 | if (sunPhase < 12) { yValue *= -1; } | ||
754 | viewertime.TimeInfo.SunDirection = new LLVector3(0f, yValue, 0.3f); | ||
755 | //Console.WriteLine("sending sun update " + yValue); | ||
756 | } | ||
757 | viewertime.TimeInfo.SunAngVelocity = new LLVector3(0, 0.0f, 10.0f); | ||
758 | viewertime.TimeInfo.UsecSinceStart = (ulong)Util.UnixTimeSinceEpoch(); | ||
759 | OutPacket(viewertime); | ||
760 | } | ||
761 | |||
692 | #endregion | 762 | #endregion |
693 | 763 | ||
694 | #region Appearance/ Wearables Methods | 764 | #region Appearance/ Wearables Methods |
@@ -782,7 +852,7 @@ namespace OpenSim.Region.ClientStack | |||
782 | //give this avatar object a local id and assign the user a name | 852 | //give this avatar object a local id and assign the user a name |
783 | objupdate.ObjectData[0].ID = avatarLocalID; | 853 | objupdate.ObjectData[0].ID = avatarLocalID; |
784 | objupdate.ObjectData[0].FullID = avatarID; | 854 | objupdate.ObjectData[0].FullID = avatarID; |
785 | objupdate.ObjectData[0].NameValue = Helpers.StringToField("FirstName STRING RW SV " + firstName + "\nLastName STRING RW SV " + lastName ); | 855 | objupdate.ObjectData[0].NameValue = Helpers.StringToField("FirstName STRING RW SV " + firstName + "\nLastName STRING RW SV " + lastName); |
786 | LLVector3 pos2 = new LLVector3((float)Pos.X, (float)Pos.Y, (float)Pos.Z); | 856 | LLVector3 pos2 = new LLVector3((float)Pos.X, (float)Pos.Y, (float)Pos.Z); |
787 | byte[] pb = pos2.GetBytes(); | 857 | byte[] pb = pos2.GetBytes(); |
788 | Array.Copy(pb, 0, objupdate.ObjectData[0].ObjectData, 16, pb.Length); | 858 | Array.Copy(pb, 0, objupdate.ObjectData[0].ObjectData, 16, pb.Length); |
@@ -834,28 +904,28 @@ namespace OpenSim.Region.ClientStack | |||
834 | 904 | ||
835 | this.OutPacket(attach); | 905 | this.OutPacket(attach); |
836 | } | 906 | } |
837 | 907 | ||
838 | public void SendPrimitiveToClient( | 908 | public void SendPrimitiveToClient( |
839 | ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, | 909 | ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, |
840 | LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem, LLQuaternion rotation) | 910 | LLUUID objectID, LLUUID ownerID, string text, uint parentID, byte[] particleSystem, LLQuaternion rotation) |
841 | { | 911 | { |
842 | ObjectUpdatePacket outPacket = new ObjectUpdatePacket(); | 912 | ObjectUpdatePacket outPacket = new ObjectUpdatePacket(); |
843 | outPacket.RegionData.RegionHandle = regionHandle; | 913 | outPacket.RegionData.RegionHandle = regionHandle; |
844 | outPacket.RegionData.TimeDilation = timeDilation; | 914 | outPacket.RegionData.TimeDilation = timeDilation; |
845 | outPacket.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[1]; | 915 | outPacket.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[1]; |
846 | 916 | ||
847 | outPacket.ObjectData[0] = this.CreatePrimUpdateBlock(primShape, flags); | 917 | outPacket.ObjectData[0] = this.CreatePrimUpdateBlock(primShape, flags); |
848 | 918 | ||
849 | outPacket.ObjectData[0].ID = localID; | 919 | outPacket.ObjectData[0].ID = localID; |
850 | outPacket.ObjectData[0].FullID = objectID; | 920 | outPacket.ObjectData[0].FullID = objectID; |
851 | outPacket.ObjectData[0].OwnerID = ownerID; | 921 | outPacket.ObjectData[0].OwnerID = ownerID; |
852 | outPacket.ObjectData[0].Text = Helpers.StringToField( text ); | 922 | outPacket.ObjectData[0].Text = Helpers.StringToField(text); |
853 | outPacket.ObjectData[0].ParentID = parentID; | 923 | outPacket.ObjectData[0].ParentID = parentID; |
854 | outPacket.ObjectData[0].PSBlock = particleSystem; | 924 | outPacket.ObjectData[0].PSBlock = particleSystem; |
855 | 925 | ||
856 | byte[] pb = pos.GetBytes(); | 926 | byte[] pb = pos.GetBytes(); |
857 | Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length); | 927 | Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length); |
858 | 928 | ||
859 | byte[] rot = rotation.GetBytes(); | 929 | byte[] rot = rotation.GetBytes(); |
860 | Array.Copy(rot, 0, outPacket.ObjectData[0].ObjectData, 36, rot.Length); | 930 | Array.Copy(rot, 0, outPacket.ObjectData[0].ObjectData, 36, rot.Length); |
861 | 931 | ||
@@ -1050,7 +1120,7 @@ namespace OpenSim.Region.ClientStack | |||
1050 | 1120 | ||
1051 | protected void SetPrimPacketShapeData(ObjectUpdatePacket.ObjectDataBlock objectData, PrimitiveBaseShape primData) | 1121 | protected void SetPrimPacketShapeData(ObjectUpdatePacket.ObjectDataBlock objectData, PrimitiveBaseShape primData) |
1052 | { | 1122 | { |
1053 | 1123 | ||
1054 | objectData.TextureEntry = primData.TextureEntry; | 1124 | objectData.TextureEntry = primData.TextureEntry; |
1055 | objectData.PCode = primData.PCode; | 1125 | objectData.PCode = primData.PCode; |
1056 | objectData.PathBegin = primData.PathBegin; | 1126 | objectData.PathBegin = primData.PathBegin; |
@@ -1171,14 +1241,14 @@ namespace OpenSim.Region.ClientStack | |||
1171 | public void SendNameReply(LLUUID profileId, string firstname, string lastname) | 1241 | public void SendNameReply(LLUUID profileId, string firstname, string lastname) |
1172 | { | 1242 | { |
1173 | UUIDNameReplyPacket packet = new UUIDNameReplyPacket(); | 1243 | UUIDNameReplyPacket packet = new UUIDNameReplyPacket(); |
1174 | 1244 | ||
1175 | packet.UUIDNameBlock = new UUIDNameReplyPacket.UUIDNameBlockBlock[1]; | 1245 | packet.UUIDNameBlock = new UUIDNameReplyPacket.UUIDNameBlockBlock[1]; |
1176 | packet.UUIDNameBlock[0] = new UUIDNameReplyPacket.UUIDNameBlockBlock(); | 1246 | packet.UUIDNameBlock[0] = new UUIDNameReplyPacket.UUIDNameBlockBlock(); |
1177 | packet.UUIDNameBlock[0].ID = profileId; | 1247 | packet.UUIDNameBlock[0].ID = profileId; |
1178 | packet.UUIDNameBlock[0].FirstName = Helpers.StringToField( firstname ); | 1248 | packet.UUIDNameBlock[0].FirstName = Helpers.StringToField(firstname); |
1179 | packet.UUIDNameBlock[0].LastName = Helpers.StringToField( lastname ); | 1249 | packet.UUIDNameBlock[0].LastName = Helpers.StringToField(lastname); |
1180 | 1250 | ||
1181 | OutPacket( packet ); | 1251 | OutPacket(packet); |
1182 | } | 1252 | } |
1183 | 1253 | ||
1184 | #endregion | 1254 | #endregion |
diff --git a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs index 9ceb4cd..e73b2e2 100644 --- a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs +++ b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs | |||
@@ -95,6 +95,22 @@ namespace OpenSim.Region.ClientStack | |||
95 | break; | 95 | break; |
96 | 96 | ||
97 | #region Scene/Avatar | 97 | #region Scene/Avatar |
98 | case PacketType.AvatarPropertiesRequest: | ||
99 | AvatarPropertiesRequestPacket avatarProperties = (AvatarPropertiesRequestPacket)Pack; | ||
100 | AvatarPropertiesReplyPacket avatarReply = new AvatarPropertiesReplyPacket(); | ||
101 | avatarReply.AgentData.AgentID = this.AgentID; | ||
102 | avatarReply.AgentData.AvatarID = avatarProperties.AgentData.AvatarID; | ||
103 | avatarReply.PropertiesData.AboutText = Helpers.StringToField( "OpenSim crash test dummy"); | ||
104 | avatarReply.PropertiesData.BornOn = Helpers.StringToField("Before now"); | ||
105 | avatarReply.PropertiesData.CharterMember = new byte[0]; | ||
106 | avatarReply.PropertiesData.FLAboutText = Helpers.StringToField("First life? What is one of those? OpenSim is my life!"); | ||
107 | avatarReply.PropertiesData.Flags = 0; | ||
108 | avatarReply.PropertiesData.FLImageID = LLUUID.Zero; | ||
109 | avatarReply.PropertiesData.ImageID = LLUUID.Zero; | ||
110 | avatarReply.PropertiesData.ProfileURL = new byte[0]; | ||
111 | avatarReply.PropertiesData.PartnerID = new LLUUID("11111111-1111-0000-0000-000100bba000"); | ||
112 | OutPacket(avatarReply); | ||
113 | break; | ||
98 | case PacketType.ChatFromViewer: | 114 | case PacketType.ChatFromViewer: |
99 | ChatFromViewerPacket inchatpack = (ChatFromViewerPacket)Pack; | 115 | ChatFromViewerPacket inchatpack = (ChatFromViewerPacket)Pack; |
100 | if (Util.FieldToString(inchatpack.ChatData.Message) == "") | 116 | if (Util.FieldToString(inchatpack.ChatData.Message) == "") |
@@ -128,7 +144,7 @@ namespace OpenSim.Region.ClientStack | |||
128 | RezObjectPacket rezPacket = (RezObjectPacket)Pack; | 144 | RezObjectPacket rezPacket = (RezObjectPacket)Pack; |
129 | if (OnRezObject != null) | 145 | if (OnRezObject != null) |
130 | { | 146 | { |
131 | this.OnRezObject(this, rezPacket.InventoryData.ItemID, rezPacket.RezData.RayEnd); | 147 | this.OnRezObject(this, rezPacket.InventoryData.ItemID, rezPacket.RezData.RayEnd); |
132 | } | 148 | } |
133 | break; | 149 | break; |
134 | case PacketType.DeRezObject: | 150 | case PacketType.DeRezObject: |
@@ -366,7 +382,11 @@ namespace OpenSim.Region.ClientStack | |||
366 | } | 382 | } |
367 | break; | 383 | break; |
368 | case PacketType.RequestXfer: | 384 | case PacketType.RequestXfer: |
369 | //Console.WriteLine(Pack.ToString()); | 385 | RequestXferPacket xferReq = (RequestXferPacket)Pack; |
386 | if (OnRequestXfer != null) | ||
387 | { | ||
388 | OnRequestXfer(this, xferReq.XferID.ID, Util.FieldToString(xferReq.XferID.Filename)); | ||
389 | } | ||
370 | break; | 390 | break; |
371 | case PacketType.SendXferPacket: | 391 | case PacketType.SendXferPacket: |
372 | SendXferPacketPacket xferRec = (SendXferPacketPacket)Pack; | 392 | SendXferPacketPacket xferRec = (SendXferPacketPacket)Pack; |