diff --git a/data/keywords.txt b/data/keywords.txt index c9c797ce..6f31f16c 100644 --- a/data/keywords.txt +++ b/data/keywords.txt @@ -1503,4 +1503,4 @@ OwnerName AvatarNotesReply CacheID OwnerMask -TransferInventoryAck +TransferInventoryAck \ No newline at end of file diff --git a/libsecondlife-cs/InventorySystem/InventoryPacketHelper.cs b/libsecondlife-cs/InventorySystem/InventoryPacketHelper.cs index 3a5e5af1..3cbea192 100644 --- a/libsecondlife-cs/InventorySystem/InventoryPacketHelper.cs +++ b/libsecondlife-cs/InventorySystem/InventoryPacketHelper.cs @@ -147,26 +147,51 @@ namespace libsecondlife.InventorySystem , LLUUID folderID ) { + Console.WriteLine("WARNING: Using the new MoveInventoryItem packet, without specifying new folder name has unknown results."); + return MoveInventoryItem( itemID, folderID, null ); + } + + public Packet MoveInventoryItem( + LLUUID itemID + , LLUUID folderID + , string newFolderName + ) + { MoveInventoryItemPacket p = new MoveInventoryItemPacket(); p.AgentData.AgentID = AgentID; p.AgentData.SessionID = SessionID; p.AgentData.Stamp = true; - p.InventoryData = new MoveInventoryItemPacket.InventoryDataBlock[1]; + p.InventoryData = new MoveInventoryItemPacket.InventoryDataBlock[1]; p.InventoryData[0] = new MoveInventoryItemPacket.InventoryDataBlock(); p.InventoryData[0].ItemID = itemID; p.InventoryData[0].FolderID = folderID; + if (newFolderName != null) + { + p.InventoryData[0].NewName = Helpers.StringToField(newFolderName); + } + return p; - } + } - public Packet CopyInventoryItem( - LLUUID itemID - , LLUUID folderID - ) - { + public Packet CopyInventoryItem( + LLUUID itemID + , LLUUID folderID + ) + { + + return CopyInventoryItem( itemID, folderID, null ); + } + + public Packet CopyInventoryItem( + LLUUID itemID + , LLUUID folderID + , string newItemName + ) + { CopyInventoryItemPacket p = new CopyInventoryItemPacket(); p.AgentData.AgentID = AgentID; p.AgentData.SessionID = SessionID; @@ -177,13 +202,18 @@ namespace libsecondlife.InventorySystem p.InventoryData[0].CallbackID = 0; p.InventoryData[0].OldAgentID = AgentID; //TODO: Find out what this is supposed to be. Added field 10/11/06, no docs in Message Template - p.InventoryData[0].OldItemID = itemID; + p.InventoryData[0].OldItemID = itemID; p.InventoryData[0].NewFolderID = folderID; - return p; - } + if (newItemName != null) + { + p.InventoryData[0].NewName = Helpers.StringToField(newItemName); + } - public Packet RemoveInventoryItem( + return p; + } + + public Packet RemoveInventoryItem( LLUUID itemID ) { diff --git a/libsecondlife-cs/NetworkManager.cs b/libsecondlife-cs/NetworkManager.cs index d654798d..c73fef05 100644 --- a/libsecondlife-cs/NetworkManager.cs +++ b/libsecondlife-cs/NetworkManager.cs @@ -786,7 +786,7 @@ namespace libsecondlife /// public bool Login(Dictionary loginParams) { - return Login(loginParams, "https://login.agni.lindenlab.com/cgi-bin/login.cgi"); + return Login(loginParams, SecondLife.LOGIN_SERVER); } /// diff --git a/libsecondlife-cs/_Packets_.cs b/libsecondlife-cs/_Packets_.cs index cbb686fd..a1ed42ac 100644 --- a/libsecondlife-cs/_Packets_.cs +++ b/libsecondlife-cs/_Packets_.cs @@ -777,10 +777,14 @@ namespace libsecondlife.Packets AvatarPropertiesRequestBackend, /// AvatarPropertiesReply AvatarPropertiesReply, + /// AvatarInterestsReply + AvatarInterestsReply, /// AvatarGroupsReply AvatarGroupsReply, /// AvatarPropertiesUpdate AvatarPropertiesUpdate, + /// AvatarInterestsUpdate + AvatarInterestsUpdate, /// AvatarStatisticsReply AvatarStatisticsReply, /// AvatarNotesReply @@ -1720,298 +1724,300 @@ namespace libsecondlife.Packets case 212: return PacketType.AvatarPropertiesRequest; case 213: return PacketType.AvatarPropertiesRequestBackend; case 214: return PacketType.AvatarPropertiesReply; - case 215: return PacketType.AvatarGroupsReply; - case 216: return PacketType.AvatarPropertiesUpdate; - case 217: return PacketType.AvatarStatisticsReply; - case 218: return PacketType.AvatarNotesReply; - case 219: return PacketType.AvatarNotesUpdate; - case 220: return PacketType.AvatarPicksReply; - case 221: return PacketType.EventInfoRequest; - case 222: return PacketType.EventInfoReply; - case 223: return PacketType.EventNotificationAddRequest; - case 224: return PacketType.EventNotificationRemoveRequest; - case 225: return PacketType.EventGodDelete; - case 226: return PacketType.PickInfoRequest; - case 227: return PacketType.PickInfoReply; - case 228: return PacketType.PickInfoUpdate; - case 229: return PacketType.PickDelete; - case 230: return PacketType.PickGodDelete; - case 231: return PacketType.ScriptQuestion; - case 232: return PacketType.ScriptControlChange; - case 233: return PacketType.ScriptDialog; - case 234: return PacketType.ScriptDialogReply; - case 235: return PacketType.ForceScriptControlRelease; - case 236: return PacketType.RevokePermissions; - case 237: return PacketType.LoadURL; - case 238: return PacketType.ScriptTeleportRequest; - case 239: return PacketType.ParcelOverlay; - case 240: return PacketType.ParcelPropertiesRequestByID; - case 241: return PacketType.ParcelPropertiesUpdate; - case 242: return PacketType.ParcelReturnObjects; - case 243: return PacketType.ParcelSetOtherCleanTime; - case 244: return PacketType.ParcelDisableObjects; - case 245: return PacketType.ParcelSelectObjects; - case 246: return PacketType.EstateCovenantRequest; - case 247: return PacketType.EstateCovenantReply; - case 248: return PacketType.ForceObjectSelect; - case 249: return PacketType.ParcelBuyPass; - case 250: return PacketType.ParcelDeedToGroup; - case 251: return PacketType.ParcelReclaim; - case 252: return PacketType.ParcelClaim; - case 253: return PacketType.ParcelJoin; - case 254: return PacketType.ParcelDivide; - case 255: return PacketType.ParcelRelease; - case 256: return PacketType.ParcelBuy; - case 257: return PacketType.ParcelGodForceOwner; - case 258: return PacketType.ParcelAccessListRequest; - case 259: return PacketType.ParcelAccessListReply; - case 260: return PacketType.ParcelAccessListUpdate; - case 261: return PacketType.ParcelDwellRequest; - case 262: return PacketType.ParcelDwellReply; - case 263: return PacketType.RequestParcelTransfer; - case 264: return PacketType.UpdateParcel; - case 265: return PacketType.RemoveParcel; - case 266: return PacketType.MergeParcel; - case 267: return PacketType.LogParcelChanges; - case 268: return PacketType.CheckParcelSales; - case 269: return PacketType.ParcelSales; - case 270: return PacketType.ParcelGodMarkAsContent; - case 271: return PacketType.ParcelGodReserveForNewbie; - case 272: return PacketType.ViewerStartAuction; - case 273: return PacketType.StartAuction; - case 274: return PacketType.ConfirmAuctionStart; - case 275: return PacketType.CompleteAuction; - case 276: return PacketType.CancelAuction; - case 277: return PacketType.CheckParcelAuctions; - case 278: return PacketType.ParcelAuctions; - case 279: return PacketType.UUIDNameRequest; - case 280: return PacketType.UUIDNameReply; - case 281: return PacketType.UUIDGroupNameRequest; - case 282: return PacketType.UUIDGroupNameReply; - case 283: return PacketType.ChatPass; - case 284: return PacketType.ChildAgentDying; - case 285: return PacketType.ChildAgentUnknown; - case 286: return PacketType.KillChildAgents; - case 287: return PacketType.GetScriptRunning; - case 288: return PacketType.ScriptRunningReply; - case 289: return PacketType.SetScriptRunning; - case 290: return PacketType.ScriptReset; - case 291: return PacketType.ScriptSensorRequest; - case 292: return PacketType.ScriptSensorReply; - case 293: return PacketType.CompleteAgentMovement; - case 294: return PacketType.AgentMovementComplete; - case 295: return PacketType.LogLogin; - case 296: return PacketType.ConnectAgentToUserserver; - case 297: return PacketType.ConnectToUserserver; - case 298: return PacketType.DataServerLogout; - case 299: return PacketType.LogoutRequest; - case 300: return PacketType.FinalizeLogout; - case 301: return PacketType.LogoutReply; - case 302: return PacketType.LogoutDemand; - case 303: return PacketType.ImprovedInstantMessage; - case 304: return PacketType.RetrieveInstantMessages; - case 305: return PacketType.DequeueInstantMessages; - case 306: return PacketType.FindAgent; - case 307: return PacketType.RequestGodlikePowers; - case 308: return PacketType.GrantGodlikePowers; - case 309: return PacketType.GodlikeMessage; - case 310: return PacketType.EstateOwnerMessage; - case 311: return PacketType.GenericMessage; - case 312: return PacketType.MuteListRequest; - case 313: return PacketType.UpdateMuteListEntry; - case 314: return PacketType.RemoveMuteListEntry; - case 315: return PacketType.CopyInventoryFromNotecard; - case 316: return PacketType.UpdateInventoryItem; - case 317: return PacketType.UpdateCreateInventoryItem; - case 318: return PacketType.MoveInventoryItem; - case 319: return PacketType.CopyInventoryItem; - case 320: return PacketType.RemoveInventoryItem; - case 321: return PacketType.ChangeInventoryItemFlags; - case 322: return PacketType.SaveAssetIntoInventory; - case 323: return PacketType.CreateInventoryFolder; - case 324: return PacketType.UpdateInventoryFolder; - case 325: return PacketType.MoveInventoryFolder; - case 326: return PacketType.RemoveInventoryFolder; - case 327: return PacketType.FetchInventoryDescendents; - case 328: return PacketType.InventoryDescendents; - case 329: return PacketType.FetchInventory; - case 330: return PacketType.FetchInventoryReply; - case 331: return PacketType.BulkUpdateInventory; - case 332: return PacketType.RequestInventoryAsset; - case 333: return PacketType.InventoryAssetResponse; - case 334: return PacketType.RemoveInventoryObjects; - case 335: return PacketType.PurgeInventoryDescendents; - case 336: return PacketType.UpdateTaskInventory; - case 337: return PacketType.RemoveTaskInventory; - case 338: return PacketType.MoveTaskInventory; - case 339: return PacketType.RequestTaskInventory; - case 340: return PacketType.ReplyTaskInventory; - case 341: return PacketType.DeRezObject; - case 342: return PacketType.DeRezAck; - case 343: return PacketType.RezObject; - case 344: return PacketType.RezObjectFromNotecard; - case 345: return PacketType.DeclineInventory; - case 346: return PacketType.TransferInventory; - case 347: return PacketType.TransferInventoryAck; - case 348: return PacketType.RequestFriendship; - case 349: return PacketType.AcceptFriendship; - case 350: return PacketType.DeclineFriendship; - case 351: return PacketType.FormFriendship; - case 352: return PacketType.TerminateFriendship; - case 353: return PacketType.OfferCallingCard; - case 354: return PacketType.AcceptCallingCard; - case 355: return PacketType.DeclineCallingCard; - case 356: return PacketType.RezScript; - case 357: return PacketType.CreateInventoryItem; - case 358: return PacketType.CreateLandmarkForEvent; - case 359: return PacketType.EventLocationRequest; - case 360: return PacketType.EventLocationReply; - case 361: return PacketType.RegionHandleRequest; - case 362: return PacketType.RegionIDAndHandleReply; - case 363: return PacketType.MoneyTransferRequest; - case 364: return PacketType.MoneyTransferBackend; - case 365: return PacketType.BulkMoneyTransfer; - case 366: return PacketType.AdjustBalance; - case 367: return PacketType.MoneyBalanceRequest; - case 368: return PacketType.MoneyBalanceReply; - case 369: return PacketType.RoutedMoneyBalanceReply; - case 370: return PacketType.MoneyHistoryRequest; - case 371: return PacketType.MoneyHistoryReply; - case 372: return PacketType.MoneySummaryRequest; - case 373: return PacketType.MoneySummaryReply; - case 374: return PacketType.MoneyDetailsRequest; - case 375: return PacketType.MoneyDetailsReply; - case 376: return PacketType.MoneyTransactionsRequest; - case 377: return PacketType.MoneyTransactionsReply; - case 378: return PacketType.GestureRequest; - case 379: return PacketType.ActivateGestures; - case 380: return PacketType.DeactivateGestures; - case 381: return PacketType.InventoryUpdate; - case 382: return PacketType.MuteListUpdate; - case 383: return PacketType.UseCachedMuteList; - case 384: return PacketType.UserLoginLocationReply; - case 385: return PacketType.UserSimLocationReply; - case 386: return PacketType.UserListReply; - case 387: return PacketType.OnlineNotification; - case 388: return PacketType.OfflineNotification; - case 389: return PacketType.SetStartLocationRequest; - case 390: return PacketType.SetStartLocation; - case 391: return PacketType.UserLoginLocationRequest; - case 392: return PacketType.SpaceLoginLocationReply; - case 393: return PacketType.NetTest; - case 394: return PacketType.SetCPURatio; - case 395: return PacketType.SimCrashed; - case 396: return PacketType.SimulatorPauseState; - case 397: return PacketType.SimulatorThrottleSettings; - case 398: return PacketType.NameValuePair; - case 399: return PacketType.RemoveNameValuePair; - case 400: return PacketType.GetNameValuePair; - case 401: return PacketType.UpdateAttachment; - case 402: return PacketType.RemoveAttachment; - case 403: return PacketType.AssetUploadRequest; - case 404: return PacketType.AssetUploadComplete; - case 405: return PacketType.ReputationAgentAssign; - case 406: return PacketType.ReputationIndividualRequest; - case 407: return PacketType.ReputationIndividualReply; - case 408: return PacketType.EmailMessageRequest; - case 409: return PacketType.EmailMessageReply; - case 410: return PacketType.ScriptDataRequest; - case 411: return PacketType.ScriptDataReply; - case 412: return PacketType.CreateGroupRequest; - case 413: return PacketType.CreateGroupReply; - case 414: return PacketType.UpdateGroupInfo; - case 415: return PacketType.GroupRoleChanges; - case 416: return PacketType.JoinGroupRequest; - case 417: return PacketType.JoinGroupReply; - case 418: return PacketType.EjectGroupMemberRequest; - case 419: return PacketType.EjectGroupMemberReply; - case 420: return PacketType.LeaveGroupRequest; - case 421: return PacketType.LeaveGroupReply; - case 422: return PacketType.InviteGroupRequest; - case 423: return PacketType.InviteGroupResponse; - case 424: return PacketType.GroupProfileRequest; - case 425: return PacketType.GroupProfileReply; - case 426: return PacketType.GroupAccountSummaryRequest; - case 427: return PacketType.GroupAccountSummaryReply; - case 428: return PacketType.GroupAccountDetailsRequest; - case 429: return PacketType.GroupAccountDetailsReply; - case 430: return PacketType.GroupAccountTransactionsRequest; - case 431: return PacketType.GroupAccountTransactionsReply; - case 432: return PacketType.GroupActiveProposalsRequest; - case 433: return PacketType.GroupActiveProposalItemReply; - case 434: return PacketType.GroupVoteHistoryRequest; - case 435: return PacketType.GroupVoteHistoryItemReply; - case 436: return PacketType.StartGroupProposal; - case 437: return PacketType.GroupProposalBallot; - case 438: return PacketType.TallyVotes; - case 439: return PacketType.GroupMembersRequest; - case 440: return PacketType.GroupMembersReply; - case 441: return PacketType.ActivateGroup; - case 442: return PacketType.SetGroupContribution; - case 443: return PacketType.SetGroupAcceptNotices; - case 444: return PacketType.GroupRoleDataRequest; - case 445: return PacketType.GroupRoleDataReply; - case 446: return PacketType.GroupRoleMembersRequest; - case 447: return PacketType.GroupRoleMembersReply; - case 448: return PacketType.GroupTitlesRequest; - case 449: return PacketType.GroupTitlesReply; - case 450: return PacketType.GroupTitleUpdate; - case 451: return PacketType.GroupRoleUpdate; - case 452: return PacketType.LiveHelpGroupRequest; - case 453: return PacketType.LiveHelpGroupReply; - case 454: return PacketType.AgentWearablesRequest; - case 455: return PacketType.AgentWearablesUpdate; - case 456: return PacketType.AgentIsNowWearing; - case 457: return PacketType.AgentCachedTexture; - case 458: return PacketType.AgentCachedTextureResponse; - case 459: return PacketType.AgentDataUpdateRequest; - case 460: return PacketType.AgentDataUpdate; - case 461: return PacketType.GroupDataUpdate; - case 462: return PacketType.AgentGroupDataUpdate; - case 463: return PacketType.AgentDropGroup; - case 464: return PacketType.LogTextMessage; - case 465: return PacketType.CreateTrustedCircuit; - case 466: return PacketType.DenyTrustedCircuit; - case 467: return PacketType.RezSingleAttachmentFromInv; - case 468: return PacketType.RezMultipleAttachmentsFromInv; - case 469: return PacketType.DetachAttachmentIntoInv; - case 470: return PacketType.CreateNewOutfitAttachments; - case 471: return PacketType.UserInfoRequest; - case 472: return PacketType.UserInfoReply; - case 473: return PacketType.UpdateUserInfo; - case 474: return PacketType.GodExpungeUser; - case 475: return PacketType.StartExpungeProcess; - case 476: return PacketType.StartExpungeProcessAck; - case 477: return PacketType.StartParcelRename; - case 478: return PacketType.StartParcelRenameAck; - case 479: return PacketType.BulkParcelRename; - case 480: return PacketType.ParcelRename; - case 481: return PacketType.StartParcelRemove; - case 482: return PacketType.StartParcelRemoveAck; - case 483: return PacketType.BulkParcelRemove; - case 484: return PacketType.InitiateUpload; - case 485: return PacketType.InitiateDownload; - case 486: return PacketType.SystemMessage; - case 487: return PacketType.MapLayerRequest; - case 488: return PacketType.MapLayerReply; - case 489: return PacketType.MapBlockRequest; - case 490: return PacketType.MapNameRequest; - case 491: return PacketType.MapBlockReply; - case 492: return PacketType.MapItemRequest; - case 493: return PacketType.MapItemReply; - case 494: return PacketType.SendPostcard; - case 495: return PacketType.RpcChannelRequest; - case 496: return PacketType.RpcChannelReply; - case 497: return PacketType.RpcScriptRequestInbound; - case 498: return PacketType.RpcScriptRequestInboundForward; - case 499: return PacketType.RpcScriptReplyInbound; - case 500: return PacketType.MailTaskSimRequest; - case 501: return PacketType.MailTaskSimReply; - case 502: return PacketType.ScriptMailRegistration; - case 503: return PacketType.ParcelMediaCommandMessage; - case 504: return PacketType.ParcelMediaUpdate; - case 505: return PacketType.LandStatRequest; - case 506: return PacketType.LandStatReply; + case 215: return PacketType.AvatarInterestsReply; + case 216: return PacketType.AvatarGroupsReply; + case 217: return PacketType.AvatarPropertiesUpdate; + case 218: return PacketType.AvatarInterestsUpdate; + case 219: return PacketType.AvatarStatisticsReply; + case 220: return PacketType.AvatarNotesReply; + case 221: return PacketType.AvatarNotesUpdate; + case 222: return PacketType.AvatarPicksReply; + case 223: return PacketType.EventInfoRequest; + case 224: return PacketType.EventInfoReply; + case 225: return PacketType.EventNotificationAddRequest; + case 226: return PacketType.EventNotificationRemoveRequest; + case 227: return PacketType.EventGodDelete; + case 228: return PacketType.PickInfoRequest; + case 229: return PacketType.PickInfoReply; + case 230: return PacketType.PickInfoUpdate; + case 231: return PacketType.PickDelete; + case 232: return PacketType.PickGodDelete; + case 233: return PacketType.ScriptQuestion; + case 234: return PacketType.ScriptControlChange; + case 235: return PacketType.ScriptDialog; + case 236: return PacketType.ScriptDialogReply; + case 237: return PacketType.ForceScriptControlRelease; + case 238: return PacketType.RevokePermissions; + case 239: return PacketType.LoadURL; + case 240: return PacketType.ScriptTeleportRequest; + case 241: return PacketType.ParcelOverlay; + case 242: return PacketType.ParcelPropertiesRequestByID; + case 243: return PacketType.ParcelPropertiesUpdate; + case 244: return PacketType.ParcelReturnObjects; + case 245: return PacketType.ParcelSetOtherCleanTime; + case 246: return PacketType.ParcelDisableObjects; + case 247: return PacketType.ParcelSelectObjects; + case 248: return PacketType.EstateCovenantRequest; + case 249: return PacketType.EstateCovenantReply; + case 250: return PacketType.ForceObjectSelect; + case 251: return PacketType.ParcelBuyPass; + case 252: return PacketType.ParcelDeedToGroup; + case 253: return PacketType.ParcelReclaim; + case 254: return PacketType.ParcelClaim; + case 255: return PacketType.ParcelJoin; + case 256: return PacketType.ParcelDivide; + case 257: return PacketType.ParcelRelease; + case 258: return PacketType.ParcelBuy; + case 259: return PacketType.ParcelGodForceOwner; + case 260: return PacketType.ParcelAccessListRequest; + case 261: return PacketType.ParcelAccessListReply; + case 262: return PacketType.ParcelAccessListUpdate; + case 263: return PacketType.ParcelDwellRequest; + case 264: return PacketType.ParcelDwellReply; + case 265: return PacketType.RequestParcelTransfer; + case 266: return PacketType.UpdateParcel; + case 267: return PacketType.RemoveParcel; + case 268: return PacketType.MergeParcel; + case 269: return PacketType.LogParcelChanges; + case 270: return PacketType.CheckParcelSales; + case 271: return PacketType.ParcelSales; + case 272: return PacketType.ParcelGodMarkAsContent; + case 273: return PacketType.ParcelGodReserveForNewbie; + case 274: return PacketType.ViewerStartAuction; + case 275: return PacketType.StartAuction; + case 276: return PacketType.ConfirmAuctionStart; + case 277: return PacketType.CompleteAuction; + case 278: return PacketType.CancelAuction; + case 279: return PacketType.CheckParcelAuctions; + case 280: return PacketType.ParcelAuctions; + case 281: return PacketType.UUIDNameRequest; + case 282: return PacketType.UUIDNameReply; + case 283: return PacketType.UUIDGroupNameRequest; + case 284: return PacketType.UUIDGroupNameReply; + case 285: return PacketType.ChatPass; + case 286: return PacketType.ChildAgentDying; + case 287: return PacketType.ChildAgentUnknown; + case 288: return PacketType.KillChildAgents; + case 289: return PacketType.GetScriptRunning; + case 290: return PacketType.ScriptRunningReply; + case 291: return PacketType.SetScriptRunning; + case 292: return PacketType.ScriptReset; + case 293: return PacketType.ScriptSensorRequest; + case 294: return PacketType.ScriptSensorReply; + case 295: return PacketType.CompleteAgentMovement; + case 296: return PacketType.AgentMovementComplete; + case 297: return PacketType.LogLogin; + case 298: return PacketType.ConnectAgentToUserserver; + case 299: return PacketType.ConnectToUserserver; + case 300: return PacketType.DataServerLogout; + case 301: return PacketType.LogoutRequest; + case 302: return PacketType.FinalizeLogout; + case 303: return PacketType.LogoutReply; + case 304: return PacketType.LogoutDemand; + case 305: return PacketType.ImprovedInstantMessage; + case 306: return PacketType.RetrieveInstantMessages; + case 307: return PacketType.DequeueInstantMessages; + case 308: return PacketType.FindAgent; + case 309: return PacketType.RequestGodlikePowers; + case 310: return PacketType.GrantGodlikePowers; + case 311: return PacketType.GodlikeMessage; + case 312: return PacketType.EstateOwnerMessage; + case 313: return PacketType.GenericMessage; + case 314: return PacketType.MuteListRequest; + case 315: return PacketType.UpdateMuteListEntry; + case 316: return PacketType.RemoveMuteListEntry; + case 317: return PacketType.CopyInventoryFromNotecard; + case 318: return PacketType.UpdateInventoryItem; + case 319: return PacketType.UpdateCreateInventoryItem; + case 320: return PacketType.MoveInventoryItem; + case 321: return PacketType.CopyInventoryItem; + case 322: return PacketType.RemoveInventoryItem; + case 323: return PacketType.ChangeInventoryItemFlags; + case 324: return PacketType.SaveAssetIntoInventory; + case 325: return PacketType.CreateInventoryFolder; + case 326: return PacketType.UpdateInventoryFolder; + case 327: return PacketType.MoveInventoryFolder; + case 328: return PacketType.RemoveInventoryFolder; + case 329: return PacketType.FetchInventoryDescendents; + case 330: return PacketType.InventoryDescendents; + case 331: return PacketType.FetchInventory; + case 332: return PacketType.FetchInventoryReply; + case 333: return PacketType.BulkUpdateInventory; + case 334: return PacketType.RequestInventoryAsset; + case 335: return PacketType.InventoryAssetResponse; + case 336: return PacketType.RemoveInventoryObjects; + case 337: return PacketType.PurgeInventoryDescendents; + case 338: return PacketType.UpdateTaskInventory; + case 339: return PacketType.RemoveTaskInventory; + case 340: return PacketType.MoveTaskInventory; + case 341: return PacketType.RequestTaskInventory; + case 342: return PacketType.ReplyTaskInventory; + case 343: return PacketType.DeRezObject; + case 344: return PacketType.DeRezAck; + case 345: return PacketType.RezObject; + case 346: return PacketType.RezObjectFromNotecard; + case 347: return PacketType.DeclineInventory; + case 348: return PacketType.TransferInventory; + case 349: return PacketType.TransferInventoryAck; + case 350: return PacketType.RequestFriendship; + case 351: return PacketType.AcceptFriendship; + case 352: return PacketType.DeclineFriendship; + case 353: return PacketType.FormFriendship; + case 354: return PacketType.TerminateFriendship; + case 355: return PacketType.OfferCallingCard; + case 356: return PacketType.AcceptCallingCard; + case 357: return PacketType.DeclineCallingCard; + case 358: return PacketType.RezScript; + case 359: return PacketType.CreateInventoryItem; + case 360: return PacketType.CreateLandmarkForEvent; + case 361: return PacketType.EventLocationRequest; + case 362: return PacketType.EventLocationReply; + case 363: return PacketType.RegionHandleRequest; + case 364: return PacketType.RegionIDAndHandleReply; + case 365: return PacketType.MoneyTransferRequest; + case 366: return PacketType.MoneyTransferBackend; + case 367: return PacketType.BulkMoneyTransfer; + case 368: return PacketType.AdjustBalance; + case 369: return PacketType.MoneyBalanceRequest; + case 370: return PacketType.MoneyBalanceReply; + case 371: return PacketType.RoutedMoneyBalanceReply; + case 372: return PacketType.MoneyHistoryRequest; + case 373: return PacketType.MoneyHistoryReply; + case 374: return PacketType.MoneySummaryRequest; + case 375: return PacketType.MoneySummaryReply; + case 376: return PacketType.MoneyDetailsRequest; + case 377: return PacketType.MoneyDetailsReply; + case 378: return PacketType.MoneyTransactionsRequest; + case 379: return PacketType.MoneyTransactionsReply; + case 380: return PacketType.GestureRequest; + case 381: return PacketType.ActivateGestures; + case 382: return PacketType.DeactivateGestures; + case 383: return PacketType.InventoryUpdate; + case 384: return PacketType.MuteListUpdate; + case 385: return PacketType.UseCachedMuteList; + case 386: return PacketType.UserLoginLocationReply; + case 387: return PacketType.UserSimLocationReply; + case 388: return PacketType.UserListReply; + case 389: return PacketType.OnlineNotification; + case 390: return PacketType.OfflineNotification; + case 391: return PacketType.SetStartLocationRequest; + case 392: return PacketType.SetStartLocation; + case 393: return PacketType.UserLoginLocationRequest; + case 394: return PacketType.SpaceLoginLocationReply; + case 395: return PacketType.NetTest; + case 396: return PacketType.SetCPURatio; + case 397: return PacketType.SimCrashed; + case 398: return PacketType.SimulatorPauseState; + case 399: return PacketType.SimulatorThrottleSettings; + case 400: return PacketType.NameValuePair; + case 401: return PacketType.RemoveNameValuePair; + case 402: return PacketType.GetNameValuePair; + case 403: return PacketType.UpdateAttachment; + case 404: return PacketType.RemoveAttachment; + case 405: return PacketType.AssetUploadRequest; + case 406: return PacketType.AssetUploadComplete; + case 407: return PacketType.ReputationAgentAssign; + case 408: return PacketType.ReputationIndividualRequest; + case 409: return PacketType.ReputationIndividualReply; + case 410: return PacketType.EmailMessageRequest; + case 411: return PacketType.EmailMessageReply; + case 412: return PacketType.ScriptDataRequest; + case 413: return PacketType.ScriptDataReply; + case 414: return PacketType.CreateGroupRequest; + case 415: return PacketType.CreateGroupReply; + case 416: return PacketType.UpdateGroupInfo; + case 417: return PacketType.GroupRoleChanges; + case 418: return PacketType.JoinGroupRequest; + case 419: return PacketType.JoinGroupReply; + case 420: return PacketType.EjectGroupMemberRequest; + case 421: return PacketType.EjectGroupMemberReply; + case 422: return PacketType.LeaveGroupRequest; + case 423: return PacketType.LeaveGroupReply; + case 424: return PacketType.InviteGroupRequest; + case 425: return PacketType.InviteGroupResponse; + case 426: return PacketType.GroupProfileRequest; + case 427: return PacketType.GroupProfileReply; + case 428: return PacketType.GroupAccountSummaryRequest; + case 429: return PacketType.GroupAccountSummaryReply; + case 430: return PacketType.GroupAccountDetailsRequest; + case 431: return PacketType.GroupAccountDetailsReply; + case 432: return PacketType.GroupAccountTransactionsRequest; + case 433: return PacketType.GroupAccountTransactionsReply; + case 434: return PacketType.GroupActiveProposalsRequest; + case 435: return PacketType.GroupActiveProposalItemReply; + case 436: return PacketType.GroupVoteHistoryRequest; + case 437: return PacketType.GroupVoteHistoryItemReply; + case 438: return PacketType.StartGroupProposal; + case 439: return PacketType.GroupProposalBallot; + case 440: return PacketType.TallyVotes; + case 441: return PacketType.GroupMembersRequest; + case 442: return PacketType.GroupMembersReply; + case 443: return PacketType.ActivateGroup; + case 444: return PacketType.SetGroupContribution; + case 445: return PacketType.SetGroupAcceptNotices; + case 446: return PacketType.GroupRoleDataRequest; + case 447: return PacketType.GroupRoleDataReply; + case 448: return PacketType.GroupRoleMembersRequest; + case 449: return PacketType.GroupRoleMembersReply; + case 450: return PacketType.GroupTitlesRequest; + case 451: return PacketType.GroupTitlesReply; + case 452: return PacketType.GroupTitleUpdate; + case 453: return PacketType.GroupRoleUpdate; + case 454: return PacketType.LiveHelpGroupRequest; + case 455: return PacketType.LiveHelpGroupReply; + case 456: return PacketType.AgentWearablesRequest; + case 457: return PacketType.AgentWearablesUpdate; + case 458: return PacketType.AgentIsNowWearing; + case 459: return PacketType.AgentCachedTexture; + case 460: return PacketType.AgentCachedTextureResponse; + case 461: return PacketType.AgentDataUpdateRequest; + case 462: return PacketType.AgentDataUpdate; + case 463: return PacketType.GroupDataUpdate; + case 464: return PacketType.AgentGroupDataUpdate; + case 465: return PacketType.AgentDropGroup; + case 466: return PacketType.LogTextMessage; + case 467: return PacketType.CreateTrustedCircuit; + case 468: return PacketType.DenyTrustedCircuit; + case 469: return PacketType.RezSingleAttachmentFromInv; + case 470: return PacketType.RezMultipleAttachmentsFromInv; + case 471: return PacketType.DetachAttachmentIntoInv; + case 472: return PacketType.CreateNewOutfitAttachments; + case 473: return PacketType.UserInfoRequest; + case 474: return PacketType.UserInfoReply; + case 475: return PacketType.UpdateUserInfo; + case 476: return PacketType.GodExpungeUser; + case 477: return PacketType.StartExpungeProcess; + case 478: return PacketType.StartExpungeProcessAck; + case 479: return PacketType.StartParcelRename; + case 480: return PacketType.StartParcelRenameAck; + case 481: return PacketType.BulkParcelRename; + case 482: return PacketType.ParcelRename; + case 483: return PacketType.StartParcelRemove; + case 484: return PacketType.StartParcelRemoveAck; + case 485: return PacketType.BulkParcelRemove; + case 486: return PacketType.InitiateUpload; + case 487: return PacketType.InitiateDownload; + case 488: return PacketType.SystemMessage; + case 489: return PacketType.MapLayerRequest; + case 490: return PacketType.MapLayerReply; + case 491: return PacketType.MapBlockRequest; + case 492: return PacketType.MapNameRequest; + case 493: return PacketType.MapBlockReply; + case 494: return PacketType.MapItemRequest; + case 495: return PacketType.MapItemReply; + case 496: return PacketType.SendPostcard; + case 497: return PacketType.RpcChannelRequest; + case 498: return PacketType.RpcChannelReply; + case 499: return PacketType.RpcScriptRequestInbound; + case 500: return PacketType.RpcScriptRequestInboundForward; + case 501: return PacketType.RpcScriptReplyInbound; + case 502: return PacketType.MailTaskSimRequest; + case 503: return PacketType.MailTaskSimReply; + case 504: return PacketType.ScriptMailRegistration; + case 505: return PacketType.ParcelMediaCommandMessage; + case 506: return PacketType.ParcelMediaUpdate; + case 507: return PacketType.LandStatRequest; + case 508: return PacketType.LandStatReply; case 65530: return PacketType.SecuredTemplateChecksumRequest; case 65531: return PacketType.PacketAck; case 65532: return PacketType.OpenCircuit; @@ -2325,298 +2331,300 @@ namespace libsecondlife.Packets case 212: return new AvatarPropertiesRequestPacket(header, bytes, ref i); case 213: return new AvatarPropertiesRequestBackendPacket(header, bytes, ref i); case 214: return new AvatarPropertiesReplyPacket(header, bytes, ref i); - case 215: return new AvatarGroupsReplyPacket(header, bytes, ref i); - case 216: return new AvatarPropertiesUpdatePacket(header, bytes, ref i); - case 217: return new AvatarStatisticsReplyPacket(header, bytes, ref i); - case 218: return new AvatarNotesReplyPacket(header, bytes, ref i); - case 219: return new AvatarNotesUpdatePacket(header, bytes, ref i); - case 220: return new AvatarPicksReplyPacket(header, bytes, ref i); - case 221: return new EventInfoRequestPacket(header, bytes, ref i); - case 222: return new EventInfoReplyPacket(header, bytes, ref i); - case 223: return new EventNotificationAddRequestPacket(header, bytes, ref i); - case 224: return new EventNotificationRemoveRequestPacket(header, bytes, ref i); - case 225: return new EventGodDeletePacket(header, bytes, ref i); - case 226: return new PickInfoRequestPacket(header, bytes, ref i); - case 227: return new PickInfoReplyPacket(header, bytes, ref i); - case 228: return new PickInfoUpdatePacket(header, bytes, ref i); - case 229: return new PickDeletePacket(header, bytes, ref i); - case 230: return new PickGodDeletePacket(header, bytes, ref i); - case 231: return new ScriptQuestionPacket(header, bytes, ref i); - case 232: return new ScriptControlChangePacket(header, bytes, ref i); - case 233: return new ScriptDialogPacket(header, bytes, ref i); - case 234: return new ScriptDialogReplyPacket(header, bytes, ref i); - case 235: return new ForceScriptControlReleasePacket(header, bytes, ref i); - case 236: return new RevokePermissionsPacket(header, bytes, ref i); - case 237: return new LoadURLPacket(header, bytes, ref i); - case 238: return new ScriptTeleportRequestPacket(header, bytes, ref i); - case 239: return new ParcelOverlayPacket(header, bytes, ref i); - case 240: return new ParcelPropertiesRequestByIDPacket(header, bytes, ref i); - case 241: return new ParcelPropertiesUpdatePacket(header, bytes, ref i); - case 242: return new ParcelReturnObjectsPacket(header, bytes, ref i); - case 243: return new ParcelSetOtherCleanTimePacket(header, bytes, ref i); - case 244: return new ParcelDisableObjectsPacket(header, bytes, ref i); - case 245: return new ParcelSelectObjectsPacket(header, bytes, ref i); - case 246: return new EstateCovenantRequestPacket(header, bytes, ref i); - case 247: return new EstateCovenantReplyPacket(header, bytes, ref i); - case 248: return new ForceObjectSelectPacket(header, bytes, ref i); - case 249: return new ParcelBuyPassPacket(header, bytes, ref i); - case 250: return new ParcelDeedToGroupPacket(header, bytes, ref i); - case 251: return new ParcelReclaimPacket(header, bytes, ref i); - case 252: return new ParcelClaimPacket(header, bytes, ref i); - case 253: return new ParcelJoinPacket(header, bytes, ref i); - case 254: return new ParcelDividePacket(header, bytes, ref i); - case 255: return new ParcelReleasePacket(header, bytes, ref i); - case 256: return new ParcelBuyPacket(header, bytes, ref i); - case 257: return new ParcelGodForceOwnerPacket(header, bytes, ref i); - case 258: return new ParcelAccessListRequestPacket(header, bytes, ref i); - case 259: return new ParcelAccessListReplyPacket(header, bytes, ref i); - case 260: return new ParcelAccessListUpdatePacket(header, bytes, ref i); - case 261: return new ParcelDwellRequestPacket(header, bytes, ref i); - case 262: return new ParcelDwellReplyPacket(header, bytes, ref i); - case 263: return new RequestParcelTransferPacket(header, bytes, ref i); - case 264: return new UpdateParcelPacket(header, bytes, ref i); - case 265: return new RemoveParcelPacket(header, bytes, ref i); - case 266: return new MergeParcelPacket(header, bytes, ref i); - case 267: return new LogParcelChangesPacket(header, bytes, ref i); - case 268: return new CheckParcelSalesPacket(header, bytes, ref i); - case 269: return new ParcelSalesPacket(header, bytes, ref i); - case 270: return new ParcelGodMarkAsContentPacket(header, bytes, ref i); - case 271: return new ParcelGodReserveForNewbiePacket(header, bytes, ref i); - case 272: return new ViewerStartAuctionPacket(header, bytes, ref i); - case 273: return new StartAuctionPacket(header, bytes, ref i); - case 274: return new ConfirmAuctionStartPacket(header, bytes, ref i); - case 275: return new CompleteAuctionPacket(header, bytes, ref i); - case 276: return new CancelAuctionPacket(header, bytes, ref i); - case 277: return new CheckParcelAuctionsPacket(header, bytes, ref i); - case 278: return new ParcelAuctionsPacket(header, bytes, ref i); - case 279: return new UUIDNameRequestPacket(header, bytes, ref i); - case 280: return new UUIDNameReplyPacket(header, bytes, ref i); - case 281: return new UUIDGroupNameRequestPacket(header, bytes, ref i); - case 282: return new UUIDGroupNameReplyPacket(header, bytes, ref i); - case 283: return new ChatPassPacket(header, bytes, ref i); - case 284: return new ChildAgentDyingPacket(header, bytes, ref i); - case 285: return new ChildAgentUnknownPacket(header, bytes, ref i); - case 286: return new KillChildAgentsPacket(header, bytes, ref i); - case 287: return new GetScriptRunningPacket(header, bytes, ref i); - case 288: return new ScriptRunningReplyPacket(header, bytes, ref i); - case 289: return new SetScriptRunningPacket(header, bytes, ref i); - case 290: return new ScriptResetPacket(header, bytes, ref i); - case 291: return new ScriptSensorRequestPacket(header, bytes, ref i); - case 292: return new ScriptSensorReplyPacket(header, bytes, ref i); - case 293: return new CompleteAgentMovementPacket(header, bytes, ref i); - case 294: return new AgentMovementCompletePacket(header, bytes, ref i); - case 295: return new LogLoginPacket(header, bytes, ref i); - case 296: return new ConnectAgentToUserserverPacket(header, bytes, ref i); - case 297: return new ConnectToUserserverPacket(header, bytes, ref i); - case 298: return new DataServerLogoutPacket(header, bytes, ref i); - case 299: return new LogoutRequestPacket(header, bytes, ref i); - case 300: return new FinalizeLogoutPacket(header, bytes, ref i); - case 301: return new LogoutReplyPacket(header, bytes, ref i); - case 302: return new LogoutDemandPacket(header, bytes, ref i); - case 303: return new ImprovedInstantMessagePacket(header, bytes, ref i); - case 304: return new RetrieveInstantMessagesPacket(header, bytes, ref i); - case 305: return new DequeueInstantMessagesPacket(header, bytes, ref i); - case 306: return new FindAgentPacket(header, bytes, ref i); - case 307: return new RequestGodlikePowersPacket(header, bytes, ref i); - case 308: return new GrantGodlikePowersPacket(header, bytes, ref i); - case 309: return new GodlikeMessagePacket(header, bytes, ref i); - case 310: return new EstateOwnerMessagePacket(header, bytes, ref i); - case 311: return new GenericMessagePacket(header, bytes, ref i); - case 312: return new MuteListRequestPacket(header, bytes, ref i); - case 313: return new UpdateMuteListEntryPacket(header, bytes, ref i); - case 314: return new RemoveMuteListEntryPacket(header, bytes, ref i); - case 315: return new CopyInventoryFromNotecardPacket(header, bytes, ref i); - case 316: return new UpdateInventoryItemPacket(header, bytes, ref i); - case 317: return new UpdateCreateInventoryItemPacket(header, bytes, ref i); - case 318: return new MoveInventoryItemPacket(header, bytes, ref i); - case 319: return new CopyInventoryItemPacket(header, bytes, ref i); - case 320: return new RemoveInventoryItemPacket(header, bytes, ref i); - case 321: return new ChangeInventoryItemFlagsPacket(header, bytes, ref i); - case 322: return new SaveAssetIntoInventoryPacket(header, bytes, ref i); - case 323: return new CreateInventoryFolderPacket(header, bytes, ref i); - case 324: return new UpdateInventoryFolderPacket(header, bytes, ref i); - case 325: return new MoveInventoryFolderPacket(header, bytes, ref i); - case 326: return new RemoveInventoryFolderPacket(header, bytes, ref i); - case 327: return new FetchInventoryDescendentsPacket(header, bytes, ref i); - case 328: return new InventoryDescendentsPacket(header, bytes, ref i); - case 329: return new FetchInventoryPacket(header, bytes, ref i); - case 330: return new FetchInventoryReplyPacket(header, bytes, ref i); - case 331: return new BulkUpdateInventoryPacket(header, bytes, ref i); - case 332: return new RequestInventoryAssetPacket(header, bytes, ref i); - case 333: return new InventoryAssetResponsePacket(header, bytes, ref i); - case 334: return new RemoveInventoryObjectsPacket(header, bytes, ref i); - case 335: return new PurgeInventoryDescendentsPacket(header, bytes, ref i); - case 336: return new UpdateTaskInventoryPacket(header, bytes, ref i); - case 337: return new RemoveTaskInventoryPacket(header, bytes, ref i); - case 338: return new MoveTaskInventoryPacket(header, bytes, ref i); - case 339: return new RequestTaskInventoryPacket(header, bytes, ref i); - case 340: return new ReplyTaskInventoryPacket(header, bytes, ref i); - case 341: return new DeRezObjectPacket(header, bytes, ref i); - case 342: return new DeRezAckPacket(header, bytes, ref i); - case 343: return new RezObjectPacket(header, bytes, ref i); - case 344: return new RezObjectFromNotecardPacket(header, bytes, ref i); - case 345: return new DeclineInventoryPacket(header, bytes, ref i); - case 346: return new TransferInventoryPacket(header, bytes, ref i); - case 347: return new TransferInventoryAckPacket(header, bytes, ref i); - case 348: return new RequestFriendshipPacket(header, bytes, ref i); - case 349: return new AcceptFriendshipPacket(header, bytes, ref i); - case 350: return new DeclineFriendshipPacket(header, bytes, ref i); - case 351: return new FormFriendshipPacket(header, bytes, ref i); - case 352: return new TerminateFriendshipPacket(header, bytes, ref i); - case 353: return new OfferCallingCardPacket(header, bytes, ref i); - case 354: return new AcceptCallingCardPacket(header, bytes, ref i); - case 355: return new DeclineCallingCardPacket(header, bytes, ref i); - case 356: return new RezScriptPacket(header, bytes, ref i); - case 357: return new CreateInventoryItemPacket(header, bytes, ref i); - case 358: return new CreateLandmarkForEventPacket(header, bytes, ref i); - case 359: return new EventLocationRequestPacket(header, bytes, ref i); - case 360: return new EventLocationReplyPacket(header, bytes, ref i); - case 361: return new RegionHandleRequestPacket(header, bytes, ref i); - case 362: return new RegionIDAndHandleReplyPacket(header, bytes, ref i); - case 363: return new MoneyTransferRequestPacket(header, bytes, ref i); - case 364: return new MoneyTransferBackendPacket(header, bytes, ref i); - case 365: return new BulkMoneyTransferPacket(header, bytes, ref i); - case 366: return new AdjustBalancePacket(header, bytes, ref i); - case 367: return new MoneyBalanceRequestPacket(header, bytes, ref i); - case 368: return new MoneyBalanceReplyPacket(header, bytes, ref i); - case 369: return new RoutedMoneyBalanceReplyPacket(header, bytes, ref i); - case 370: return new MoneyHistoryRequestPacket(header, bytes, ref i); - case 371: return new MoneyHistoryReplyPacket(header, bytes, ref i); - case 372: return new MoneySummaryRequestPacket(header, bytes, ref i); - case 373: return new MoneySummaryReplyPacket(header, bytes, ref i); - case 374: return new MoneyDetailsRequestPacket(header, bytes, ref i); - case 375: return new MoneyDetailsReplyPacket(header, bytes, ref i); - case 376: return new MoneyTransactionsRequestPacket(header, bytes, ref i); - case 377: return new MoneyTransactionsReplyPacket(header, bytes, ref i); - case 378: return new GestureRequestPacket(header, bytes, ref i); - case 379: return new ActivateGesturesPacket(header, bytes, ref i); - case 380: return new DeactivateGesturesPacket(header, bytes, ref i); - case 381: return new InventoryUpdatePacket(header, bytes, ref i); - case 382: return new MuteListUpdatePacket(header, bytes, ref i); - case 383: return new UseCachedMuteListPacket(header, bytes, ref i); - case 384: return new UserLoginLocationReplyPacket(header, bytes, ref i); - case 385: return new UserSimLocationReplyPacket(header, bytes, ref i); - case 386: return new UserListReplyPacket(header, bytes, ref i); - case 387: return new OnlineNotificationPacket(header, bytes, ref i); - case 388: return new OfflineNotificationPacket(header, bytes, ref i); - case 389: return new SetStartLocationRequestPacket(header, bytes, ref i); - case 390: return new SetStartLocationPacket(header, bytes, ref i); - case 391: return new UserLoginLocationRequestPacket(header, bytes, ref i); - case 392: return new SpaceLoginLocationReplyPacket(header, bytes, ref i); - case 393: return new NetTestPacket(header, bytes, ref i); - case 394: return new SetCPURatioPacket(header, bytes, ref i); - case 395: return new SimCrashedPacket(header, bytes, ref i); - case 396: return new SimulatorPauseStatePacket(header, bytes, ref i); - case 397: return new SimulatorThrottleSettingsPacket(header, bytes, ref i); - case 398: return new NameValuePairPacket(header, bytes, ref i); - case 399: return new RemoveNameValuePairPacket(header, bytes, ref i); - case 400: return new GetNameValuePairPacket(header, bytes, ref i); - case 401: return new UpdateAttachmentPacket(header, bytes, ref i); - case 402: return new RemoveAttachmentPacket(header, bytes, ref i); - case 403: return new AssetUploadRequestPacket(header, bytes, ref i); - case 404: return new AssetUploadCompletePacket(header, bytes, ref i); - case 405: return new ReputationAgentAssignPacket(header, bytes, ref i); - case 406: return new ReputationIndividualRequestPacket(header, bytes, ref i); - case 407: return new ReputationIndividualReplyPacket(header, bytes, ref i); - case 408: return new EmailMessageRequestPacket(header, bytes, ref i); - case 409: return new EmailMessageReplyPacket(header, bytes, ref i); - case 410: return new ScriptDataRequestPacket(header, bytes, ref i); - case 411: return new ScriptDataReplyPacket(header, bytes, ref i); - case 412: return new CreateGroupRequestPacket(header, bytes, ref i); - case 413: return new CreateGroupReplyPacket(header, bytes, ref i); - case 414: return new UpdateGroupInfoPacket(header, bytes, ref i); - case 415: return new GroupRoleChangesPacket(header, bytes, ref i); - case 416: return new JoinGroupRequestPacket(header, bytes, ref i); - case 417: return new JoinGroupReplyPacket(header, bytes, ref i); - case 418: return new EjectGroupMemberRequestPacket(header, bytes, ref i); - case 419: return new EjectGroupMemberReplyPacket(header, bytes, ref i); - case 420: return new LeaveGroupRequestPacket(header, bytes, ref i); - case 421: return new LeaveGroupReplyPacket(header, bytes, ref i); - case 422: return new InviteGroupRequestPacket(header, bytes, ref i); - case 423: return new InviteGroupResponsePacket(header, bytes, ref i); - case 424: return new GroupProfileRequestPacket(header, bytes, ref i); - case 425: return new GroupProfileReplyPacket(header, bytes, ref i); - case 426: return new GroupAccountSummaryRequestPacket(header, bytes, ref i); - case 427: return new GroupAccountSummaryReplyPacket(header, bytes, ref i); - case 428: return new GroupAccountDetailsRequestPacket(header, bytes, ref i); - case 429: return new GroupAccountDetailsReplyPacket(header, bytes, ref i); - case 430: return new GroupAccountTransactionsRequestPacket(header, bytes, ref i); - case 431: return new GroupAccountTransactionsReplyPacket(header, bytes, ref i); - case 432: return new GroupActiveProposalsRequestPacket(header, bytes, ref i); - case 433: return new GroupActiveProposalItemReplyPacket(header, bytes, ref i); - case 434: return new GroupVoteHistoryRequestPacket(header, bytes, ref i); - case 435: return new GroupVoteHistoryItemReplyPacket(header, bytes, ref i); - case 436: return new StartGroupProposalPacket(header, bytes, ref i); - case 437: return new GroupProposalBallotPacket(header, bytes, ref i); - case 438: return new TallyVotesPacket(header, bytes, ref i); - case 439: return new GroupMembersRequestPacket(header, bytes, ref i); - case 440: return new GroupMembersReplyPacket(header, bytes, ref i); - case 441: return new ActivateGroupPacket(header, bytes, ref i); - case 442: return new SetGroupContributionPacket(header, bytes, ref i); - case 443: return new SetGroupAcceptNoticesPacket(header, bytes, ref i); - case 444: return new GroupRoleDataRequestPacket(header, bytes, ref i); - case 445: return new GroupRoleDataReplyPacket(header, bytes, ref i); - case 446: return new GroupRoleMembersRequestPacket(header, bytes, ref i); - case 447: return new GroupRoleMembersReplyPacket(header, bytes, ref i); - case 448: return new GroupTitlesRequestPacket(header, bytes, ref i); - case 449: return new GroupTitlesReplyPacket(header, bytes, ref i); - case 450: return new GroupTitleUpdatePacket(header, bytes, ref i); - case 451: return new GroupRoleUpdatePacket(header, bytes, ref i); - case 452: return new LiveHelpGroupRequestPacket(header, bytes, ref i); - case 453: return new LiveHelpGroupReplyPacket(header, bytes, ref i); - case 454: return new AgentWearablesRequestPacket(header, bytes, ref i); - case 455: return new AgentWearablesUpdatePacket(header, bytes, ref i); - case 456: return new AgentIsNowWearingPacket(header, bytes, ref i); - case 457: return new AgentCachedTexturePacket(header, bytes, ref i); - case 458: return new AgentCachedTextureResponsePacket(header, bytes, ref i); - case 459: return new AgentDataUpdateRequestPacket(header, bytes, ref i); - case 460: return new AgentDataUpdatePacket(header, bytes, ref i); - case 461: return new GroupDataUpdatePacket(header, bytes, ref i); - case 462: return new AgentGroupDataUpdatePacket(header, bytes, ref i); - case 463: return new AgentDropGroupPacket(header, bytes, ref i); - case 464: return new LogTextMessagePacket(header, bytes, ref i); - case 465: return new CreateTrustedCircuitPacket(header, bytes, ref i); - case 466: return new DenyTrustedCircuitPacket(header, bytes, ref i); - case 467: return new RezSingleAttachmentFromInvPacket(header, bytes, ref i); - case 468: return new RezMultipleAttachmentsFromInvPacket(header, bytes, ref i); - case 469: return new DetachAttachmentIntoInvPacket(header, bytes, ref i); - case 470: return new CreateNewOutfitAttachmentsPacket(header, bytes, ref i); - case 471: return new UserInfoRequestPacket(header, bytes, ref i); - case 472: return new UserInfoReplyPacket(header, bytes, ref i); - case 473: return new UpdateUserInfoPacket(header, bytes, ref i); - case 474: return new GodExpungeUserPacket(header, bytes, ref i); - case 475: return new StartExpungeProcessPacket(header, bytes, ref i); - case 476: return new StartExpungeProcessAckPacket(header, bytes, ref i); - case 477: return new StartParcelRenamePacket(header, bytes, ref i); - case 478: return new StartParcelRenameAckPacket(header, bytes, ref i); - case 479: return new BulkParcelRenamePacket(header, bytes, ref i); - case 480: return new ParcelRenamePacket(header, bytes, ref i); - case 481: return new StartParcelRemovePacket(header, bytes, ref i); - case 482: return new StartParcelRemoveAckPacket(header, bytes, ref i); - case 483: return new BulkParcelRemovePacket(header, bytes, ref i); - case 484: return new InitiateUploadPacket(header, bytes, ref i); - case 485: return new InitiateDownloadPacket(header, bytes, ref i); - case 486: return new SystemMessagePacket(header, bytes, ref i); - case 487: return new MapLayerRequestPacket(header, bytes, ref i); - case 488: return new MapLayerReplyPacket(header, bytes, ref i); - case 489: return new MapBlockRequestPacket(header, bytes, ref i); - case 490: return new MapNameRequestPacket(header, bytes, ref i); - case 491: return new MapBlockReplyPacket(header, bytes, ref i); - case 492: return new MapItemRequestPacket(header, bytes, ref i); - case 493: return new MapItemReplyPacket(header, bytes, ref i); - case 494: return new SendPostcardPacket(header, bytes, ref i); - case 495: return new RpcChannelRequestPacket(header, bytes, ref i); - case 496: return new RpcChannelReplyPacket(header, bytes, ref i); - case 497: return new RpcScriptRequestInboundPacket(header, bytes, ref i); - case 498: return new RpcScriptRequestInboundForwardPacket(header, bytes, ref i); - case 499: return new RpcScriptReplyInboundPacket(header, bytes, ref i); - case 500: return new MailTaskSimRequestPacket(header, bytes, ref i); - case 501: return new MailTaskSimReplyPacket(header, bytes, ref i); - case 502: return new ScriptMailRegistrationPacket(header, bytes, ref i); - case 503: return new ParcelMediaCommandMessagePacket(header, bytes, ref i); - case 504: return new ParcelMediaUpdatePacket(header, bytes, ref i); - case 505: return new LandStatRequestPacket(header, bytes, ref i); - case 506: return new LandStatReplyPacket(header, bytes, ref i); + case 215: return new AvatarInterestsReplyPacket(header, bytes, ref i); + case 216: return new AvatarGroupsReplyPacket(header, bytes, ref i); + case 217: return new AvatarPropertiesUpdatePacket(header, bytes, ref i); + case 218: return new AvatarInterestsUpdatePacket(header, bytes, ref i); + case 219: return new AvatarStatisticsReplyPacket(header, bytes, ref i); + case 220: return new AvatarNotesReplyPacket(header, bytes, ref i); + case 221: return new AvatarNotesUpdatePacket(header, bytes, ref i); + case 222: return new AvatarPicksReplyPacket(header, bytes, ref i); + case 223: return new EventInfoRequestPacket(header, bytes, ref i); + case 224: return new EventInfoReplyPacket(header, bytes, ref i); + case 225: return new EventNotificationAddRequestPacket(header, bytes, ref i); + case 226: return new EventNotificationRemoveRequestPacket(header, bytes, ref i); + case 227: return new EventGodDeletePacket(header, bytes, ref i); + case 228: return new PickInfoRequestPacket(header, bytes, ref i); + case 229: return new PickInfoReplyPacket(header, bytes, ref i); + case 230: return new PickInfoUpdatePacket(header, bytes, ref i); + case 231: return new PickDeletePacket(header, bytes, ref i); + case 232: return new PickGodDeletePacket(header, bytes, ref i); + case 233: return new ScriptQuestionPacket(header, bytes, ref i); + case 234: return new ScriptControlChangePacket(header, bytes, ref i); + case 235: return new ScriptDialogPacket(header, bytes, ref i); + case 236: return new ScriptDialogReplyPacket(header, bytes, ref i); + case 237: return new ForceScriptControlReleasePacket(header, bytes, ref i); + case 238: return new RevokePermissionsPacket(header, bytes, ref i); + case 239: return new LoadURLPacket(header, bytes, ref i); + case 240: return new ScriptTeleportRequestPacket(header, bytes, ref i); + case 241: return new ParcelOverlayPacket(header, bytes, ref i); + case 242: return new ParcelPropertiesRequestByIDPacket(header, bytes, ref i); + case 243: return new ParcelPropertiesUpdatePacket(header, bytes, ref i); + case 244: return new ParcelReturnObjectsPacket(header, bytes, ref i); + case 245: return new ParcelSetOtherCleanTimePacket(header, bytes, ref i); + case 246: return new ParcelDisableObjectsPacket(header, bytes, ref i); + case 247: return new ParcelSelectObjectsPacket(header, bytes, ref i); + case 248: return new EstateCovenantRequestPacket(header, bytes, ref i); + case 249: return new EstateCovenantReplyPacket(header, bytes, ref i); + case 250: return new ForceObjectSelectPacket(header, bytes, ref i); + case 251: return new ParcelBuyPassPacket(header, bytes, ref i); + case 252: return new ParcelDeedToGroupPacket(header, bytes, ref i); + case 253: return new ParcelReclaimPacket(header, bytes, ref i); + case 254: return new ParcelClaimPacket(header, bytes, ref i); + case 255: return new ParcelJoinPacket(header, bytes, ref i); + case 256: return new ParcelDividePacket(header, bytes, ref i); + case 257: return new ParcelReleasePacket(header, bytes, ref i); + case 258: return new ParcelBuyPacket(header, bytes, ref i); + case 259: return new ParcelGodForceOwnerPacket(header, bytes, ref i); + case 260: return new ParcelAccessListRequestPacket(header, bytes, ref i); + case 261: return new ParcelAccessListReplyPacket(header, bytes, ref i); + case 262: return new ParcelAccessListUpdatePacket(header, bytes, ref i); + case 263: return new ParcelDwellRequestPacket(header, bytes, ref i); + case 264: return new ParcelDwellReplyPacket(header, bytes, ref i); + case 265: return new RequestParcelTransferPacket(header, bytes, ref i); + case 266: return new UpdateParcelPacket(header, bytes, ref i); + case 267: return new RemoveParcelPacket(header, bytes, ref i); + case 268: return new MergeParcelPacket(header, bytes, ref i); + case 269: return new LogParcelChangesPacket(header, bytes, ref i); + case 270: return new CheckParcelSalesPacket(header, bytes, ref i); + case 271: return new ParcelSalesPacket(header, bytes, ref i); + case 272: return new ParcelGodMarkAsContentPacket(header, bytes, ref i); + case 273: return new ParcelGodReserveForNewbiePacket(header, bytes, ref i); + case 274: return new ViewerStartAuctionPacket(header, bytes, ref i); + case 275: return new StartAuctionPacket(header, bytes, ref i); + case 276: return new ConfirmAuctionStartPacket(header, bytes, ref i); + case 277: return new CompleteAuctionPacket(header, bytes, ref i); + case 278: return new CancelAuctionPacket(header, bytes, ref i); + case 279: return new CheckParcelAuctionsPacket(header, bytes, ref i); + case 280: return new ParcelAuctionsPacket(header, bytes, ref i); + case 281: return new UUIDNameRequestPacket(header, bytes, ref i); + case 282: return new UUIDNameReplyPacket(header, bytes, ref i); + case 283: return new UUIDGroupNameRequestPacket(header, bytes, ref i); + case 284: return new UUIDGroupNameReplyPacket(header, bytes, ref i); + case 285: return new ChatPassPacket(header, bytes, ref i); + case 286: return new ChildAgentDyingPacket(header, bytes, ref i); + case 287: return new ChildAgentUnknownPacket(header, bytes, ref i); + case 288: return new KillChildAgentsPacket(header, bytes, ref i); + case 289: return new GetScriptRunningPacket(header, bytes, ref i); + case 290: return new ScriptRunningReplyPacket(header, bytes, ref i); + case 291: return new SetScriptRunningPacket(header, bytes, ref i); + case 292: return new ScriptResetPacket(header, bytes, ref i); + case 293: return new ScriptSensorRequestPacket(header, bytes, ref i); + case 294: return new ScriptSensorReplyPacket(header, bytes, ref i); + case 295: return new CompleteAgentMovementPacket(header, bytes, ref i); + case 296: return new AgentMovementCompletePacket(header, bytes, ref i); + case 297: return new LogLoginPacket(header, bytes, ref i); + case 298: return new ConnectAgentToUserserverPacket(header, bytes, ref i); + case 299: return new ConnectToUserserverPacket(header, bytes, ref i); + case 300: return new DataServerLogoutPacket(header, bytes, ref i); + case 301: return new LogoutRequestPacket(header, bytes, ref i); + case 302: return new FinalizeLogoutPacket(header, bytes, ref i); + case 303: return new LogoutReplyPacket(header, bytes, ref i); + case 304: return new LogoutDemandPacket(header, bytes, ref i); + case 305: return new ImprovedInstantMessagePacket(header, bytes, ref i); + case 306: return new RetrieveInstantMessagesPacket(header, bytes, ref i); + case 307: return new DequeueInstantMessagesPacket(header, bytes, ref i); + case 308: return new FindAgentPacket(header, bytes, ref i); + case 309: return new RequestGodlikePowersPacket(header, bytes, ref i); + case 310: return new GrantGodlikePowersPacket(header, bytes, ref i); + case 311: return new GodlikeMessagePacket(header, bytes, ref i); + case 312: return new EstateOwnerMessagePacket(header, bytes, ref i); + case 313: return new GenericMessagePacket(header, bytes, ref i); + case 314: return new MuteListRequestPacket(header, bytes, ref i); + case 315: return new UpdateMuteListEntryPacket(header, bytes, ref i); + case 316: return new RemoveMuteListEntryPacket(header, bytes, ref i); + case 317: return new CopyInventoryFromNotecardPacket(header, bytes, ref i); + case 318: return new UpdateInventoryItemPacket(header, bytes, ref i); + case 319: return new UpdateCreateInventoryItemPacket(header, bytes, ref i); + case 320: return new MoveInventoryItemPacket(header, bytes, ref i); + case 321: return new CopyInventoryItemPacket(header, bytes, ref i); + case 322: return new RemoveInventoryItemPacket(header, bytes, ref i); + case 323: return new ChangeInventoryItemFlagsPacket(header, bytes, ref i); + case 324: return new SaveAssetIntoInventoryPacket(header, bytes, ref i); + case 325: return new CreateInventoryFolderPacket(header, bytes, ref i); + case 326: return new UpdateInventoryFolderPacket(header, bytes, ref i); + case 327: return new MoveInventoryFolderPacket(header, bytes, ref i); + case 328: return new RemoveInventoryFolderPacket(header, bytes, ref i); + case 329: return new FetchInventoryDescendentsPacket(header, bytes, ref i); + case 330: return new InventoryDescendentsPacket(header, bytes, ref i); + case 331: return new FetchInventoryPacket(header, bytes, ref i); + case 332: return new FetchInventoryReplyPacket(header, bytes, ref i); + case 333: return new BulkUpdateInventoryPacket(header, bytes, ref i); + case 334: return new RequestInventoryAssetPacket(header, bytes, ref i); + case 335: return new InventoryAssetResponsePacket(header, bytes, ref i); + case 336: return new RemoveInventoryObjectsPacket(header, bytes, ref i); + case 337: return new PurgeInventoryDescendentsPacket(header, bytes, ref i); + case 338: return new UpdateTaskInventoryPacket(header, bytes, ref i); + case 339: return new RemoveTaskInventoryPacket(header, bytes, ref i); + case 340: return new MoveTaskInventoryPacket(header, bytes, ref i); + case 341: return new RequestTaskInventoryPacket(header, bytes, ref i); + case 342: return new ReplyTaskInventoryPacket(header, bytes, ref i); + case 343: return new DeRezObjectPacket(header, bytes, ref i); + case 344: return new DeRezAckPacket(header, bytes, ref i); + case 345: return new RezObjectPacket(header, bytes, ref i); + case 346: return new RezObjectFromNotecardPacket(header, bytes, ref i); + case 347: return new DeclineInventoryPacket(header, bytes, ref i); + case 348: return new TransferInventoryPacket(header, bytes, ref i); + case 349: return new TransferInventoryAckPacket(header, bytes, ref i); + case 350: return new RequestFriendshipPacket(header, bytes, ref i); + case 351: return new AcceptFriendshipPacket(header, bytes, ref i); + case 352: return new DeclineFriendshipPacket(header, bytes, ref i); + case 353: return new FormFriendshipPacket(header, bytes, ref i); + case 354: return new TerminateFriendshipPacket(header, bytes, ref i); + case 355: return new OfferCallingCardPacket(header, bytes, ref i); + case 356: return new AcceptCallingCardPacket(header, bytes, ref i); + case 357: return new DeclineCallingCardPacket(header, bytes, ref i); + case 358: return new RezScriptPacket(header, bytes, ref i); + case 359: return new CreateInventoryItemPacket(header, bytes, ref i); + case 360: return new CreateLandmarkForEventPacket(header, bytes, ref i); + case 361: return new EventLocationRequestPacket(header, bytes, ref i); + case 362: return new EventLocationReplyPacket(header, bytes, ref i); + case 363: return new RegionHandleRequestPacket(header, bytes, ref i); + case 364: return new RegionIDAndHandleReplyPacket(header, bytes, ref i); + case 365: return new MoneyTransferRequestPacket(header, bytes, ref i); + case 366: return new MoneyTransferBackendPacket(header, bytes, ref i); + case 367: return new BulkMoneyTransferPacket(header, bytes, ref i); + case 368: return new AdjustBalancePacket(header, bytes, ref i); + case 369: return new MoneyBalanceRequestPacket(header, bytes, ref i); + case 370: return new MoneyBalanceReplyPacket(header, bytes, ref i); + case 371: return new RoutedMoneyBalanceReplyPacket(header, bytes, ref i); + case 372: return new MoneyHistoryRequestPacket(header, bytes, ref i); + case 373: return new MoneyHistoryReplyPacket(header, bytes, ref i); + case 374: return new MoneySummaryRequestPacket(header, bytes, ref i); + case 375: return new MoneySummaryReplyPacket(header, bytes, ref i); + case 376: return new MoneyDetailsRequestPacket(header, bytes, ref i); + case 377: return new MoneyDetailsReplyPacket(header, bytes, ref i); + case 378: return new MoneyTransactionsRequestPacket(header, bytes, ref i); + case 379: return new MoneyTransactionsReplyPacket(header, bytes, ref i); + case 380: return new GestureRequestPacket(header, bytes, ref i); + case 381: return new ActivateGesturesPacket(header, bytes, ref i); + case 382: return new DeactivateGesturesPacket(header, bytes, ref i); + case 383: return new InventoryUpdatePacket(header, bytes, ref i); + case 384: return new MuteListUpdatePacket(header, bytes, ref i); + case 385: return new UseCachedMuteListPacket(header, bytes, ref i); + case 386: return new UserLoginLocationReplyPacket(header, bytes, ref i); + case 387: return new UserSimLocationReplyPacket(header, bytes, ref i); + case 388: return new UserListReplyPacket(header, bytes, ref i); + case 389: return new OnlineNotificationPacket(header, bytes, ref i); + case 390: return new OfflineNotificationPacket(header, bytes, ref i); + case 391: return new SetStartLocationRequestPacket(header, bytes, ref i); + case 392: return new SetStartLocationPacket(header, bytes, ref i); + case 393: return new UserLoginLocationRequestPacket(header, bytes, ref i); + case 394: return new SpaceLoginLocationReplyPacket(header, bytes, ref i); + case 395: return new NetTestPacket(header, bytes, ref i); + case 396: return new SetCPURatioPacket(header, bytes, ref i); + case 397: return new SimCrashedPacket(header, bytes, ref i); + case 398: return new SimulatorPauseStatePacket(header, bytes, ref i); + case 399: return new SimulatorThrottleSettingsPacket(header, bytes, ref i); + case 400: return new NameValuePairPacket(header, bytes, ref i); + case 401: return new RemoveNameValuePairPacket(header, bytes, ref i); + case 402: return new GetNameValuePairPacket(header, bytes, ref i); + case 403: return new UpdateAttachmentPacket(header, bytes, ref i); + case 404: return new RemoveAttachmentPacket(header, bytes, ref i); + case 405: return new AssetUploadRequestPacket(header, bytes, ref i); + case 406: return new AssetUploadCompletePacket(header, bytes, ref i); + case 407: return new ReputationAgentAssignPacket(header, bytes, ref i); + case 408: return new ReputationIndividualRequestPacket(header, bytes, ref i); + case 409: return new ReputationIndividualReplyPacket(header, bytes, ref i); + case 410: return new EmailMessageRequestPacket(header, bytes, ref i); + case 411: return new EmailMessageReplyPacket(header, bytes, ref i); + case 412: return new ScriptDataRequestPacket(header, bytes, ref i); + case 413: return new ScriptDataReplyPacket(header, bytes, ref i); + case 414: return new CreateGroupRequestPacket(header, bytes, ref i); + case 415: return new CreateGroupReplyPacket(header, bytes, ref i); + case 416: return new UpdateGroupInfoPacket(header, bytes, ref i); + case 417: return new GroupRoleChangesPacket(header, bytes, ref i); + case 418: return new JoinGroupRequestPacket(header, bytes, ref i); + case 419: return new JoinGroupReplyPacket(header, bytes, ref i); + case 420: return new EjectGroupMemberRequestPacket(header, bytes, ref i); + case 421: return new EjectGroupMemberReplyPacket(header, bytes, ref i); + case 422: return new LeaveGroupRequestPacket(header, bytes, ref i); + case 423: return new LeaveGroupReplyPacket(header, bytes, ref i); + case 424: return new InviteGroupRequestPacket(header, bytes, ref i); + case 425: return new InviteGroupResponsePacket(header, bytes, ref i); + case 426: return new GroupProfileRequestPacket(header, bytes, ref i); + case 427: return new GroupProfileReplyPacket(header, bytes, ref i); + case 428: return new GroupAccountSummaryRequestPacket(header, bytes, ref i); + case 429: return new GroupAccountSummaryReplyPacket(header, bytes, ref i); + case 430: return new GroupAccountDetailsRequestPacket(header, bytes, ref i); + case 431: return new GroupAccountDetailsReplyPacket(header, bytes, ref i); + case 432: return new GroupAccountTransactionsRequestPacket(header, bytes, ref i); + case 433: return new GroupAccountTransactionsReplyPacket(header, bytes, ref i); + case 434: return new GroupActiveProposalsRequestPacket(header, bytes, ref i); + case 435: return new GroupActiveProposalItemReplyPacket(header, bytes, ref i); + case 436: return new GroupVoteHistoryRequestPacket(header, bytes, ref i); + case 437: return new GroupVoteHistoryItemReplyPacket(header, bytes, ref i); + case 438: return new StartGroupProposalPacket(header, bytes, ref i); + case 439: return new GroupProposalBallotPacket(header, bytes, ref i); + case 440: return new TallyVotesPacket(header, bytes, ref i); + case 441: return new GroupMembersRequestPacket(header, bytes, ref i); + case 442: return new GroupMembersReplyPacket(header, bytes, ref i); + case 443: return new ActivateGroupPacket(header, bytes, ref i); + case 444: return new SetGroupContributionPacket(header, bytes, ref i); + case 445: return new SetGroupAcceptNoticesPacket(header, bytes, ref i); + case 446: return new GroupRoleDataRequestPacket(header, bytes, ref i); + case 447: return new GroupRoleDataReplyPacket(header, bytes, ref i); + case 448: return new GroupRoleMembersRequestPacket(header, bytes, ref i); + case 449: return new GroupRoleMembersReplyPacket(header, bytes, ref i); + case 450: return new GroupTitlesRequestPacket(header, bytes, ref i); + case 451: return new GroupTitlesReplyPacket(header, bytes, ref i); + case 452: return new GroupTitleUpdatePacket(header, bytes, ref i); + case 453: return new GroupRoleUpdatePacket(header, bytes, ref i); + case 454: return new LiveHelpGroupRequestPacket(header, bytes, ref i); + case 455: return new LiveHelpGroupReplyPacket(header, bytes, ref i); + case 456: return new AgentWearablesRequestPacket(header, bytes, ref i); + case 457: return new AgentWearablesUpdatePacket(header, bytes, ref i); + case 458: return new AgentIsNowWearingPacket(header, bytes, ref i); + case 459: return new AgentCachedTexturePacket(header, bytes, ref i); + case 460: return new AgentCachedTextureResponsePacket(header, bytes, ref i); + case 461: return new AgentDataUpdateRequestPacket(header, bytes, ref i); + case 462: return new AgentDataUpdatePacket(header, bytes, ref i); + case 463: return new GroupDataUpdatePacket(header, bytes, ref i); + case 464: return new AgentGroupDataUpdatePacket(header, bytes, ref i); + case 465: return new AgentDropGroupPacket(header, bytes, ref i); + case 466: return new LogTextMessagePacket(header, bytes, ref i); + case 467: return new CreateTrustedCircuitPacket(header, bytes, ref i); + case 468: return new DenyTrustedCircuitPacket(header, bytes, ref i); + case 469: return new RezSingleAttachmentFromInvPacket(header, bytes, ref i); + case 470: return new RezMultipleAttachmentsFromInvPacket(header, bytes, ref i); + case 471: return new DetachAttachmentIntoInvPacket(header, bytes, ref i); + case 472: return new CreateNewOutfitAttachmentsPacket(header, bytes, ref i); + case 473: return new UserInfoRequestPacket(header, bytes, ref i); + case 474: return new UserInfoReplyPacket(header, bytes, ref i); + case 475: return new UpdateUserInfoPacket(header, bytes, ref i); + case 476: return new GodExpungeUserPacket(header, bytes, ref i); + case 477: return new StartExpungeProcessPacket(header, bytes, ref i); + case 478: return new StartExpungeProcessAckPacket(header, bytes, ref i); + case 479: return new StartParcelRenamePacket(header, bytes, ref i); + case 480: return new StartParcelRenameAckPacket(header, bytes, ref i); + case 481: return new BulkParcelRenamePacket(header, bytes, ref i); + case 482: return new ParcelRenamePacket(header, bytes, ref i); + case 483: return new StartParcelRemovePacket(header, bytes, ref i); + case 484: return new StartParcelRemoveAckPacket(header, bytes, ref i); + case 485: return new BulkParcelRemovePacket(header, bytes, ref i); + case 486: return new InitiateUploadPacket(header, bytes, ref i); + case 487: return new InitiateDownloadPacket(header, bytes, ref i); + case 488: return new SystemMessagePacket(header, bytes, ref i); + case 489: return new MapLayerRequestPacket(header, bytes, ref i); + case 490: return new MapLayerReplyPacket(header, bytes, ref i); + case 491: return new MapBlockRequestPacket(header, bytes, ref i); + case 492: return new MapNameRequestPacket(header, bytes, ref i); + case 493: return new MapBlockReplyPacket(header, bytes, ref i); + case 494: return new MapItemRequestPacket(header, bytes, ref i); + case 495: return new MapItemReplyPacket(header, bytes, ref i); + case 496: return new SendPostcardPacket(header, bytes, ref i); + case 497: return new RpcChannelRequestPacket(header, bytes, ref i); + case 498: return new RpcChannelReplyPacket(header, bytes, ref i); + case 499: return new RpcScriptRequestInboundPacket(header, bytes, ref i); + case 500: return new RpcScriptRequestInboundForwardPacket(header, bytes, ref i); + case 501: return new RpcScriptReplyInboundPacket(header, bytes, ref i); + case 502: return new MailTaskSimRequestPacket(header, bytes, ref i); + case 503: return new MailTaskSimReplyPacket(header, bytes, ref i); + case 504: return new ScriptMailRegistrationPacket(header, bytes, ref i); + case 505: return new ParcelMediaCommandMessagePacket(header, bytes, ref i); + case 506: return new ParcelMediaUpdatePacket(header, bytes, ref i); + case 507: return new LandStatRequestPacket(header, bytes, ref i); + case 508: return new LandStatReplyPacket(header, bytes, ref i); case 65530: return new SecuredTemplateChecksumRequestPacket(header, bytes, ref i); case 65531: return new PacketAckPacket(header, bytes, ref i); case 65532: return new OpenCircuitPacket(header, bytes, ref i); @@ -41244,6 +41252,8 @@ namespace libsecondlife.Packets public LLUUID AgentID; /// GodLevel field public byte GodLevel; + /// WebProfilesDisabled field + public bool WebProfilesDisabled; /// AvatarID field public LLUUID AvatarID; @@ -41252,7 +41262,7 @@ namespace libsecondlife.Packets { get { - return 33; + return 34; } } @@ -41265,6 +41275,7 @@ namespace libsecondlife.Packets { AgentID = new LLUUID(bytes, i); i += 16; GodLevel = (byte)bytes[i++]; + WebProfilesDisabled = (bytes[i++] != 0) ? (bool)true : (bool)false; AvatarID = new LLUUID(bytes, i); i += 16; } catch (Exception) @@ -41279,6 +41290,7 @@ namespace libsecondlife.Packets if(AgentID == null) { Console.WriteLine("Warning: AgentID is null, in " + this.GetType()); } Array.Copy(AgentID.GetBytes(), 0, bytes, i, 16); i += 16; bytes[i++] = GodLevel; + bytes[i++] = (byte)((WebProfilesDisabled) ? 1 : 0); if(AvatarID == null) { Console.WriteLine("Warning: AvatarID is null, in " + this.GetType()); } Array.Copy(AvatarID.GetBytes(), 0, bytes, i, 16); i += 16; } @@ -41289,6 +41301,7 @@ namespace libsecondlife.Packets string output = "-- AgentData --\n"; output += "AgentID: " + AgentID.ToString() + "\n"; output += "GodLevel: " + GodLevel.ToString() + "\n"; + output += "WebProfilesDisabled: " + WebProfilesDisabled.ToString() + "\n"; output += "AvatarID: " + AvatarID.ToString() + "\n"; output = output.Trim(); return output; @@ -41403,32 +41416,16 @@ namespace libsecondlife.Packets public LLUUID FLImageID; /// AllowPublish field public bool AllowPublish; - /// WantToMask field - public uint WantToMask; - private byte[] _wanttotext; - /// WantToText field - public byte[] WantToText + private byte[] _profileurl; + /// ProfileURL field + public byte[] ProfileURL { - get { return _wanttotext; } + get { return _profileurl; } set { - if (value == null) { _wanttotext = null; return; } + if (value == null) { _profileurl = null; return; } if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } - else { _wanttotext = new byte[value.Length]; Array.Copy(value, _wanttotext, value.Length); } - } - } - /// SkillsMask field - public uint SkillsMask; - private byte[] _skillstext; - /// SkillsText field - public byte[] SkillsText - { - get { return _skillstext; } - set - { - if (value == null) { _skillstext = null; return; } - if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } - else { _skillstext = new byte[value.Length]; Array.Copy(value, _skillstext, value.Length); } + else { _profileurl = new byte[value.Length]; Array.Copy(value, _profileurl, value.Length); } } } /// Identified field @@ -41453,12 +41450,11 @@ namespace libsecondlife.Packets { get { - int length = 60; + int length = 52; if (AboutText != null) { length += 2 + AboutText.Length; } if (CharterMember != null) { length += 1 + CharterMember.Length; } if (FLAboutText != null) { length += 1 + FLAboutText.Length; } - if (WantToText != null) { length += 1 + WantToText.Length; } - if (SkillsText != null) { length += 1 + SkillsText.Length; } + if (ProfileURL != null) { length += 1 + ProfileURL.Length; } if (BornOn != null) { length += 1 + BornOn.Length; } return length; } @@ -41486,14 +41482,9 @@ namespace libsecondlife.Packets ImageID = new LLUUID(bytes, i); i += 16; FLImageID = new LLUUID(bytes, i); i += 16; AllowPublish = (bytes[i++] != 0) ? (bool)true : (bool)false; - WantToMask = (uint)(bytes[i++] + (bytes[i++] << 8) + (bytes[i++] << 16) + (bytes[i++] << 24)); length = (ushort)bytes[i++]; - _wanttotext = new byte[length]; - Array.Copy(bytes, i, _wanttotext, 0, length); i += length; - SkillsMask = (uint)(bytes[i++] + (bytes[i++] << 8) + (bytes[i++] << 16) + (bytes[i++] << 24)); - length = (ushort)bytes[i++]; - _skillstext = new byte[length]; - Array.Copy(bytes, i, _skillstext, 0, length); i += length; + _profileurl = new byte[length]; + Array.Copy(bytes, i, _profileurl, 0, length); i += length; Identified = (bytes[i++] != 0) ? (bool)true : (bool)false; length = (ushort)bytes[i++]; _bornon = new byte[length]; @@ -41527,20 +41518,9 @@ namespace libsecondlife.Packets if(FLImageID == null) { Console.WriteLine("Warning: FLImageID is null, in " + this.GetType()); } Array.Copy(FLImageID.GetBytes(), 0, bytes, i, 16); i += 16; bytes[i++] = (byte)((AllowPublish) ? 1 : 0); - bytes[i++] = (byte)(WantToMask % 256); - bytes[i++] = (byte)((WantToMask >> 8) % 256); - bytes[i++] = (byte)((WantToMask >> 16) % 256); - bytes[i++] = (byte)((WantToMask >> 24) % 256); - if(WantToText == null) { Console.WriteLine("Warning: WantToText is null, in " + this.GetType()); } - bytes[i++] = (byte)WantToText.Length; - Array.Copy(WantToText, 0, bytes, i, WantToText.Length); i += WantToText.Length; - bytes[i++] = (byte)(SkillsMask % 256); - bytes[i++] = (byte)((SkillsMask >> 8) % 256); - bytes[i++] = (byte)((SkillsMask >> 16) % 256); - bytes[i++] = (byte)((SkillsMask >> 24) % 256); - if(SkillsText == null) { Console.WriteLine("Warning: SkillsText is null, in " + this.GetType()); } - bytes[i++] = (byte)SkillsText.Length; - Array.Copy(SkillsText, 0, bytes, i, SkillsText.Length); i += SkillsText.Length; + if(ProfileURL == null) { Console.WriteLine("Warning: ProfileURL is null, in " + this.GetType()); } + bytes[i++] = (byte)ProfileURL.Length; + Array.Copy(ProfileURL, 0, bytes, i, ProfileURL.Length); i += ProfileURL.Length; bytes[i++] = (byte)((Identified) ? 1 : 0); if(BornOn == null) { Console.WriteLine("Warning: BornOn is null, in " + this.GetType()); } bytes[i++] = (byte)BornOn.Length; @@ -41560,10 +41540,7 @@ namespace libsecondlife.Packets output += "ImageID: " + ImageID.ToString() + "\n"; output += "FLImageID: " + FLImageID.ToString() + "\n"; output += "AllowPublish: " + AllowPublish.ToString() + "\n"; - output += "WantToMask: " + WantToMask.ToString() + "\n"; - output += Helpers.FieldToString(WantToText, "WantToText") + "\n"; - output += "SkillsMask: " + SkillsMask.ToString() + "\n"; - output += Helpers.FieldToString(SkillsText, "SkillsText") + "\n"; + output += Helpers.FieldToString(ProfileURL, "ProfileURL") + "\n"; output += "Identified: " + Identified.ToString() + "\n"; output += Helpers.FieldToString(BornOn, "BornOn") + "\n"; output += "MaturePublish: " + MaturePublish.ToString() + "\n"; @@ -41689,6 +41666,245 @@ namespace libsecondlife.Packets } + /// AvatarInterestsReply packet + public class AvatarInterestsReplyPacket : Packet + { + /// PropertiesData block + public class PropertiesDataBlock + { + /// WantToMask field + public uint WantToMask; + private byte[] _wanttotext; + /// WantToText field + public byte[] WantToText + { + get { return _wanttotext; } + set + { + if (value == null) { _wanttotext = null; return; } + if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } + else { _wanttotext = new byte[value.Length]; Array.Copy(value, _wanttotext, value.Length); } + } + } + /// SkillsMask field + public uint SkillsMask; + private byte[] _skillstext; + /// SkillsText field + public byte[] SkillsText + { + get { return _skillstext; } + set + { + if (value == null) { _skillstext = null; return; } + if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } + else { _skillstext = new byte[value.Length]; Array.Copy(value, _skillstext, value.Length); } + } + } + private byte[] _languagestext; + /// LanguagesText field + public byte[] LanguagesText + { + get { return _languagestext; } + set + { + if (value == null) { _languagestext = null; return; } + if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } + else { _languagestext = new byte[value.Length]; Array.Copy(value, _languagestext, value.Length); } + } + } + + /// Length of this block serialized in bytes + public int Length + { + get + { + int length = 8; + if (WantToText != null) { length += 1 + WantToText.Length; } + if (SkillsText != null) { length += 1 + SkillsText.Length; } + if (LanguagesText != null) { length += 1 + LanguagesText.Length; } + return length; + } + } + + /// Default constructor + public PropertiesDataBlock() { } + /// Constructor for building the block from a byte array + public PropertiesDataBlock(byte[] bytes, ref int i) + { + int length; + try + { + WantToMask = (uint)(bytes[i++] + (bytes[i++] << 8) + (bytes[i++] << 16) + (bytes[i++] << 24)); + length = (ushort)bytes[i++]; + _wanttotext = new byte[length]; + Array.Copy(bytes, i, _wanttotext, 0, length); i += length; + SkillsMask = (uint)(bytes[i++] + (bytes[i++] << 8) + (bytes[i++] << 16) + (bytes[i++] << 24)); + length = (ushort)bytes[i++]; + _skillstext = new byte[length]; + Array.Copy(bytes, i, _skillstext, 0, length); i += length; + length = (ushort)bytes[i++]; + _languagestext = new byte[length]; + Array.Copy(bytes, i, _languagestext, 0, length); i += length; + } + catch (Exception) + { + throw new MalformedDataException(); + } + } + + /// Serialize this block to a byte array + public void ToBytes(byte[] bytes, ref int i) + { + bytes[i++] = (byte)(WantToMask % 256); + bytes[i++] = (byte)((WantToMask >> 8) % 256); + bytes[i++] = (byte)((WantToMask >> 16) % 256); + bytes[i++] = (byte)((WantToMask >> 24) % 256); + if(WantToText == null) { Console.WriteLine("Warning: WantToText is null, in " + this.GetType()); } + bytes[i++] = (byte)WantToText.Length; + Array.Copy(WantToText, 0, bytes, i, WantToText.Length); i += WantToText.Length; + bytes[i++] = (byte)(SkillsMask % 256); + bytes[i++] = (byte)((SkillsMask >> 8) % 256); + bytes[i++] = (byte)((SkillsMask >> 16) % 256); + bytes[i++] = (byte)((SkillsMask >> 24) % 256); + if(SkillsText == null) { Console.WriteLine("Warning: SkillsText is null, in " + this.GetType()); } + bytes[i++] = (byte)SkillsText.Length; + Array.Copy(SkillsText, 0, bytes, i, SkillsText.Length); i += SkillsText.Length; + if(LanguagesText == null) { Console.WriteLine("Warning: LanguagesText is null, in " + this.GetType()); } + bytes[i++] = (byte)LanguagesText.Length; + Array.Copy(LanguagesText, 0, bytes, i, LanguagesText.Length); i += LanguagesText.Length; + } + + /// Serialize this block to a stringA string containing the serialized block + public override string ToString() + { + string output = "-- PropertiesData --\n"; + output += "WantToMask: " + WantToMask.ToString() + "\n"; + output += Helpers.FieldToString(WantToText, "WantToText") + "\n"; + output += "SkillsMask: " + SkillsMask.ToString() + "\n"; + output += Helpers.FieldToString(SkillsText, "SkillsText") + "\n"; + output += Helpers.FieldToString(LanguagesText, "LanguagesText") + "\n"; + output = output.Trim(); + return output; + } + } + + /// AgentData block + public class AgentDataBlock + { + /// AgentID field + public LLUUID AgentID; + /// AvatarID field + public LLUUID AvatarID; + + /// Length of this block serialized in bytes + public int Length + { + get + { + return 32; + } + } + + /// Default constructor + public AgentDataBlock() { } + /// Constructor for building the block from a byte array + public AgentDataBlock(byte[] bytes, ref int i) + { + try + { + AgentID = new LLUUID(bytes, i); i += 16; + AvatarID = new LLUUID(bytes, i); i += 16; + } + catch (Exception) + { + throw new MalformedDataException(); + } + } + + /// Serialize this block to a byte array + public void ToBytes(byte[] bytes, ref int i) + { + if(AgentID == null) { Console.WriteLine("Warning: AgentID is null, in " + this.GetType()); } + Array.Copy(AgentID.GetBytes(), 0, bytes, i, 16); i += 16; + if(AvatarID == null) { Console.WriteLine("Warning: AvatarID is null, in " + this.GetType()); } + Array.Copy(AvatarID.GetBytes(), 0, bytes, i, 16); i += 16; + } + + /// Serialize this block to a stringA string containing the serialized block + public override string ToString() + { + string output = "-- AgentData --\n"; + output += "AgentID: " + AgentID.ToString() + "\n"; + output += "AvatarID: " + AvatarID.ToString() + "\n"; + output = output.Trim(); + return output; + } + } + + private Header header; + /// The header for this packet + public override Header Header { get { return header; } set { header = value; } } + /// Will return PacketType.AvatarInterestsReply + public override PacketType Type { get { return PacketType.AvatarInterestsReply; } } + /// PropertiesData block + public PropertiesDataBlock PropertiesData; + /// AgentData block + public AgentDataBlock AgentData; + + /// Default constructor + public AvatarInterestsReplyPacket() + { + Header = new LowHeader(); + Header.ID = 215; + Header.Reliable = true; + Header.Zerocoded = true; + PropertiesData = new PropertiesDataBlock(); + AgentData = new AgentDataBlock(); + } + + /// Constructor that takes a byte array and beginning position (no prebuilt header) + public AvatarInterestsReplyPacket(byte[] bytes, ref int i) + { + int packetEnd = bytes.Length - 1; + Header = new LowHeader(bytes, ref i, ref packetEnd); + PropertiesData = new PropertiesDataBlock(bytes, ref i); + AgentData = new AgentDataBlock(bytes, ref i); + } + + /// Constructor that takes a byte array and a prebuilt header + public AvatarInterestsReplyPacket(Header head, byte[] bytes, ref int i) + { + Header = head; + PropertiesData = new PropertiesDataBlock(bytes, ref i); + AgentData = new AgentDataBlock(bytes, ref i); + } + + /// Serialize this packet to a byte arrayA byte array containing the serialized packet + public override byte[] ToBytes() + { + int length = 8; + length += PropertiesData.Length; length += AgentData.Length;; + if (header.AckList.Length > 0) { length += header.AckList.Length * 4 + 1; } + byte[] bytes = new byte[length]; + int i = 0; + header.ToBytes(bytes, ref i); + PropertiesData.ToBytes(bytes, ref i); + AgentData.ToBytes(bytes, ref i); + if (header.AckList.Length > 0) { header.AcksToBytes(bytes, ref i); } + return bytes; + } + + /// Serialize this packet to a stringA string containing the serialized packet + public override string ToString() + { + string output = "--- AvatarInterestsReply ---\n"; + output += PropertiesData.ToString() + "\n"; + output += AgentData.ToString() + "\n"; + return output; + } + + } + /// AvatarGroupsReply packet public class AvatarGroupsReplyPacket : Packet { @@ -41871,7 +42087,7 @@ namespace libsecondlife.Packets public AvatarGroupsReplyPacket() { Header = new LowHeader(); - Header.ID = 215; + Header.ID = 216; Header.Reliable = true; Header.Zerocoded = true; AgentData = new AgentDataBlock(); @@ -41969,32 +42185,16 @@ namespace libsecondlife.Packets public LLUUID FLImageID; /// AllowPublish field public bool AllowPublish; - /// WantToMask field - public uint WantToMask; - private byte[] _wanttotext; - /// WantToText field - public byte[] WantToText + private byte[] _profileurl; + /// ProfileURL field + public byte[] ProfileURL { - get { return _wanttotext; } + get { return _profileurl; } set { - if (value == null) { _wanttotext = null; return; } + if (value == null) { _profileurl = null; return; } if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } - else { _wanttotext = new byte[value.Length]; Array.Copy(value, _wanttotext, value.Length); } - } - } - /// SkillsMask field - public uint SkillsMask; - private byte[] _skillstext; - /// SkillsText field - public byte[] SkillsText - { - get { return _skillstext; } - set - { - if (value == null) { _skillstext = null; return; } - if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } - else { _skillstext = new byte[value.Length]; Array.Copy(value, _skillstext, value.Length); } + else { _profileurl = new byte[value.Length]; Array.Copy(value, _profileurl, value.Length); } } } /// MaturePublish field @@ -42005,11 +42205,10 @@ namespace libsecondlife.Packets { get { - int length = 42; + int length = 34; if (AboutText != null) { length += 2 + AboutText.Length; } if (FLAboutText != null) { length += 1 + FLAboutText.Length; } - if (WantToText != null) { length += 1 + WantToText.Length; } - if (SkillsText != null) { length += 1 + SkillsText.Length; } + if (ProfileURL != null) { length += 1 + ProfileURL.Length; } return length; } } @@ -42031,14 +42230,9 @@ namespace libsecondlife.Packets ImageID = new LLUUID(bytes, i); i += 16; FLImageID = new LLUUID(bytes, i); i += 16; AllowPublish = (bytes[i++] != 0) ? (bool)true : (bool)false; - WantToMask = (uint)(bytes[i++] + (bytes[i++] << 8) + (bytes[i++] << 16) + (bytes[i++] << 24)); length = (ushort)bytes[i++]; - _wanttotext = new byte[length]; - Array.Copy(bytes, i, _wanttotext, 0, length); i += length; - SkillsMask = (uint)(bytes[i++] + (bytes[i++] << 8) + (bytes[i++] << 16) + (bytes[i++] << 24)); - length = (ushort)bytes[i++]; - _skillstext = new byte[length]; - Array.Copy(bytes, i, _skillstext, 0, length); i += length; + _profileurl = new byte[length]; + Array.Copy(bytes, i, _profileurl, 0, length); i += length; MaturePublish = (bytes[i++] != 0) ? (bool)true : (bool)false; } catch (Exception) @@ -42062,20 +42256,9 @@ namespace libsecondlife.Packets if(FLImageID == null) { Console.WriteLine("Warning: FLImageID is null, in " + this.GetType()); } Array.Copy(FLImageID.GetBytes(), 0, bytes, i, 16); i += 16; bytes[i++] = (byte)((AllowPublish) ? 1 : 0); - bytes[i++] = (byte)(WantToMask % 256); - bytes[i++] = (byte)((WantToMask >> 8) % 256); - bytes[i++] = (byte)((WantToMask >> 16) % 256); - bytes[i++] = (byte)((WantToMask >> 24) % 256); - if(WantToText == null) { Console.WriteLine("Warning: WantToText is null, in " + this.GetType()); } - bytes[i++] = (byte)WantToText.Length; - Array.Copy(WantToText, 0, bytes, i, WantToText.Length); i += WantToText.Length; - bytes[i++] = (byte)(SkillsMask % 256); - bytes[i++] = (byte)((SkillsMask >> 8) % 256); - bytes[i++] = (byte)((SkillsMask >> 16) % 256); - bytes[i++] = (byte)((SkillsMask >> 24) % 256); - if(SkillsText == null) { Console.WriteLine("Warning: SkillsText is null, in " + this.GetType()); } - bytes[i++] = (byte)SkillsText.Length; - Array.Copy(SkillsText, 0, bytes, i, SkillsText.Length); i += SkillsText.Length; + if(ProfileURL == null) { Console.WriteLine("Warning: ProfileURL is null, in " + this.GetType()); } + bytes[i++] = (byte)ProfileURL.Length; + Array.Copy(ProfileURL, 0, bytes, i, ProfileURL.Length); i += ProfileURL.Length; bytes[i++] = (byte)((MaturePublish) ? 1 : 0); } @@ -42088,10 +42271,7 @@ namespace libsecondlife.Packets output += "ImageID: " + ImageID.ToString() + "\n"; output += "FLImageID: " + FLImageID.ToString() + "\n"; output += "AllowPublish: " + AllowPublish.ToString() + "\n"; - output += "WantToMask: " + WantToMask.ToString() + "\n"; - output += Helpers.FieldToString(WantToText, "WantToText") + "\n"; - output += "SkillsMask: " + SkillsMask.ToString() + "\n"; - output += Helpers.FieldToString(SkillsText, "SkillsText") + "\n"; + output += Helpers.FieldToString(ProfileURL, "ProfileURL") + "\n"; output += "MaturePublish: " + MaturePublish.ToString() + "\n"; output = output.Trim(); return output; @@ -42165,7 +42345,7 @@ namespace libsecondlife.Packets public AvatarPropertiesUpdatePacket() { Header = new LowHeader(); - Header.ID = 216; + Header.ID = 217; Header.Reliable = true; Header.Zerocoded = true; PropertiesData = new PropertiesDataBlock(); @@ -42215,6 +42395,245 @@ namespace libsecondlife.Packets } + /// AvatarInterestsUpdate packet + public class AvatarInterestsUpdatePacket : Packet + { + /// PropertiesData block + public class PropertiesDataBlock + { + /// WantToMask field + public uint WantToMask; + private byte[] _wanttotext; + /// WantToText field + public byte[] WantToText + { + get { return _wanttotext; } + set + { + if (value == null) { _wanttotext = null; return; } + if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } + else { _wanttotext = new byte[value.Length]; Array.Copy(value, _wanttotext, value.Length); } + } + } + /// SkillsMask field + public uint SkillsMask; + private byte[] _skillstext; + /// SkillsText field + public byte[] SkillsText + { + get { return _skillstext; } + set + { + if (value == null) { _skillstext = null; return; } + if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } + else { _skillstext = new byte[value.Length]; Array.Copy(value, _skillstext, value.Length); } + } + } + private byte[] _languagestext; + /// LanguagesText field + public byte[] LanguagesText + { + get { return _languagestext; } + set + { + if (value == null) { _languagestext = null; return; } + if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } + else { _languagestext = new byte[value.Length]; Array.Copy(value, _languagestext, value.Length); } + } + } + + /// Length of this block serialized in bytes + public int Length + { + get + { + int length = 8; + if (WantToText != null) { length += 1 + WantToText.Length; } + if (SkillsText != null) { length += 1 + SkillsText.Length; } + if (LanguagesText != null) { length += 1 + LanguagesText.Length; } + return length; + } + } + + /// Default constructor + public PropertiesDataBlock() { } + /// Constructor for building the block from a byte array + public PropertiesDataBlock(byte[] bytes, ref int i) + { + int length; + try + { + WantToMask = (uint)(bytes[i++] + (bytes[i++] << 8) + (bytes[i++] << 16) + (bytes[i++] << 24)); + length = (ushort)bytes[i++]; + _wanttotext = new byte[length]; + Array.Copy(bytes, i, _wanttotext, 0, length); i += length; + SkillsMask = (uint)(bytes[i++] + (bytes[i++] << 8) + (bytes[i++] << 16) + (bytes[i++] << 24)); + length = (ushort)bytes[i++]; + _skillstext = new byte[length]; + Array.Copy(bytes, i, _skillstext, 0, length); i += length; + length = (ushort)bytes[i++]; + _languagestext = new byte[length]; + Array.Copy(bytes, i, _languagestext, 0, length); i += length; + } + catch (Exception) + { + throw new MalformedDataException(); + } + } + + /// Serialize this block to a byte array + public void ToBytes(byte[] bytes, ref int i) + { + bytes[i++] = (byte)(WantToMask % 256); + bytes[i++] = (byte)((WantToMask >> 8) % 256); + bytes[i++] = (byte)((WantToMask >> 16) % 256); + bytes[i++] = (byte)((WantToMask >> 24) % 256); + if(WantToText == null) { Console.WriteLine("Warning: WantToText is null, in " + this.GetType()); } + bytes[i++] = (byte)WantToText.Length; + Array.Copy(WantToText, 0, bytes, i, WantToText.Length); i += WantToText.Length; + bytes[i++] = (byte)(SkillsMask % 256); + bytes[i++] = (byte)((SkillsMask >> 8) % 256); + bytes[i++] = (byte)((SkillsMask >> 16) % 256); + bytes[i++] = (byte)((SkillsMask >> 24) % 256); + if(SkillsText == null) { Console.WriteLine("Warning: SkillsText is null, in " + this.GetType()); } + bytes[i++] = (byte)SkillsText.Length; + Array.Copy(SkillsText, 0, bytes, i, SkillsText.Length); i += SkillsText.Length; + if(LanguagesText == null) { Console.WriteLine("Warning: LanguagesText is null, in " + this.GetType()); } + bytes[i++] = (byte)LanguagesText.Length; + Array.Copy(LanguagesText, 0, bytes, i, LanguagesText.Length); i += LanguagesText.Length; + } + + /// Serialize this block to a stringA string containing the serialized block + public override string ToString() + { + string output = "-- PropertiesData --\n"; + output += "WantToMask: " + WantToMask.ToString() + "\n"; + output += Helpers.FieldToString(WantToText, "WantToText") + "\n"; + output += "SkillsMask: " + SkillsMask.ToString() + "\n"; + output += Helpers.FieldToString(SkillsText, "SkillsText") + "\n"; + output += Helpers.FieldToString(LanguagesText, "LanguagesText") + "\n"; + output = output.Trim(); + return output; + } + } + + /// AgentData block + public class AgentDataBlock + { + /// AgentID field + public LLUUID AgentID; + /// SessionID field + public LLUUID SessionID; + + /// Length of this block serialized in bytes + public int Length + { + get + { + return 32; + } + } + + /// Default constructor + public AgentDataBlock() { } + /// Constructor for building the block from a byte array + public AgentDataBlock(byte[] bytes, ref int i) + { + try + { + AgentID = new LLUUID(bytes, i); i += 16; + SessionID = new LLUUID(bytes, i); i += 16; + } + catch (Exception) + { + throw new MalformedDataException(); + } + } + + /// Serialize this block to a byte array + public void ToBytes(byte[] bytes, ref int i) + { + if(AgentID == null) { Console.WriteLine("Warning: AgentID is null, in " + this.GetType()); } + Array.Copy(AgentID.GetBytes(), 0, bytes, i, 16); i += 16; + if(SessionID == null) { Console.WriteLine("Warning: SessionID is null, in " + this.GetType()); } + Array.Copy(SessionID.GetBytes(), 0, bytes, i, 16); i += 16; + } + + /// Serialize this block to a stringA string containing the serialized block + public override string ToString() + { + string output = "-- AgentData --\n"; + output += "AgentID: " + AgentID.ToString() + "\n"; + output += "SessionID: " + SessionID.ToString() + "\n"; + output = output.Trim(); + return output; + } + } + + private Header header; + /// The header for this packet + public override Header Header { get { return header; } set { header = value; } } + /// Will return PacketType.AvatarInterestsUpdate + public override PacketType Type { get { return PacketType.AvatarInterestsUpdate; } } + /// PropertiesData block + public PropertiesDataBlock PropertiesData; + /// AgentData block + public AgentDataBlock AgentData; + + /// Default constructor + public AvatarInterestsUpdatePacket() + { + Header = new LowHeader(); + Header.ID = 218; + Header.Reliable = true; + Header.Zerocoded = true; + PropertiesData = new PropertiesDataBlock(); + AgentData = new AgentDataBlock(); + } + + /// Constructor that takes a byte array and beginning position (no prebuilt header) + public AvatarInterestsUpdatePacket(byte[] bytes, ref int i) + { + int packetEnd = bytes.Length - 1; + Header = new LowHeader(bytes, ref i, ref packetEnd); + PropertiesData = new PropertiesDataBlock(bytes, ref i); + AgentData = new AgentDataBlock(bytes, ref i); + } + + /// Constructor that takes a byte array and a prebuilt header + public AvatarInterestsUpdatePacket(Header head, byte[] bytes, ref int i) + { + Header = head; + PropertiesData = new PropertiesDataBlock(bytes, ref i); + AgentData = new AgentDataBlock(bytes, ref i); + } + + /// Serialize this packet to a byte arrayA byte array containing the serialized packet + public override byte[] ToBytes() + { + int length = 8; + length += PropertiesData.Length; length += AgentData.Length;; + if (header.AckList.Length > 0) { length += header.AckList.Length * 4 + 1; } + byte[] bytes = new byte[length]; + int i = 0; + header.ToBytes(bytes, ref i); + PropertiesData.ToBytes(bytes, ref i); + AgentData.ToBytes(bytes, ref i); + if (header.AckList.Length > 0) { header.AcksToBytes(bytes, ref i); } + return bytes; + } + + /// Serialize this packet to a stringA string containing the serialized packet + public override string ToString() + { + string output = "--- AvatarInterestsUpdate ---\n"; + output += PropertiesData.ToString() + "\n"; + output += AgentData.ToString() + "\n"; + return output; + } + + } + /// AvatarStatisticsReply packet public class AvatarStatisticsReplyPacket : Packet { @@ -42407,7 +42826,7 @@ namespace libsecondlife.Packets public AvatarStatisticsReplyPacket() { Header = new LowHeader(); - Header.ID = 217; + Header.ID = 219; Header.Reliable = true; Header.Zerocoded = true; StatisticsData = new StatisticsDataBlock[0]; @@ -42608,7 +43027,7 @@ namespace libsecondlife.Packets public AvatarNotesReplyPacket() { Header = new LowHeader(); - Header.ID = 218; + Header.ID = 220; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -42797,7 +43216,7 @@ namespace libsecondlife.Packets public AvatarNotesUpdatePacket() { Header = new LowHeader(); - Header.ID = 219; + Header.ID = 221; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -42985,7 +43404,7 @@ namespace libsecondlife.Packets public AvatarPicksReplyPacket() { Header = new LowHeader(); - Header.ID = 220; + Header.ID = 222; Header.Reliable = true; Data = new DataBlock[0]; AgentData = new AgentDataBlock(); @@ -43165,7 +43584,7 @@ namespace libsecondlife.Packets public EventInfoRequestPacket() { Header = new LowHeader(); - Header.ID = 221; + Header.ID = 223; Header.Reliable = true; EventData = new EventDataBlock(); AgentData = new AgentDataBlock(); @@ -43496,7 +43915,7 @@ namespace libsecondlife.Packets public EventInfoReplyPacket() { Header = new LowHeader(); - Header.ID = 222; + Header.ID = 224; Header.Reliable = true; EventData = new EventDataBlock(); AgentData = new AgentDataBlock(); @@ -43664,7 +44083,7 @@ namespace libsecondlife.Packets public EventNotificationAddRequestPacket() { Header = new LowHeader(); - Header.ID = 223; + Header.ID = 225; Header.Reliable = true; EventData = new EventDataBlock(); AgentData = new AgentDataBlock(); @@ -43832,7 +44251,7 @@ namespace libsecondlife.Packets public EventNotificationRemoveRequestPacket() { Header = new LowHeader(); - Header.ID = 224; + Header.ID = 226; Header.Reliable = true; EventData = new EventDataBlock(); AgentData = new AgentDataBlock(); @@ -44087,7 +44506,7 @@ namespace libsecondlife.Packets public EventGodDeletePacket() { Header = new LowHeader(); - Header.ID = 225; + Header.ID = 227; Header.Reliable = true; EventData = new EventDataBlock(); QueryData = new QueryDataBlock(); @@ -44258,7 +44677,7 @@ namespace libsecondlife.Packets public PickInfoRequestPacket() { Header = new LowHeader(); - Header.ID = 226; + Header.ID = 228; Header.Reliable = true; Header.Zerocoded = true; Data = new DataBlock(); @@ -44564,7 +44983,7 @@ namespace libsecondlife.Packets public PickInfoReplyPacket() { Header = new LowHeader(); - Header.ID = 227; + Header.ID = 229; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -44815,7 +45234,7 @@ namespace libsecondlife.Packets public PickInfoUpdatePacket() { Header = new LowHeader(); - Header.ID = 228; + Header.ID = 230; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -44981,7 +45400,7 @@ namespace libsecondlife.Packets public PickDeletePacket() { Header = new LowHeader(); - Header.ID = 229; + Header.ID = 231; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -45153,7 +45572,7 @@ namespace libsecondlife.Packets public PickGodDeletePacket() { Header = new LowHeader(); - Header.ID = 230; + Header.ID = 232; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -45320,7 +45739,7 @@ namespace libsecondlife.Packets public ScriptQuestionPacket() { Header = new LowHeader(); - Header.ID = 231; + Header.ID = 233; Header.Reliable = true; Data = new DataBlock(); } @@ -45438,7 +45857,7 @@ namespace libsecondlife.Packets public ScriptControlChangePacket() { Header = new LowHeader(); - Header.ID = 232; + Header.ID = 234; Header.Reliable = true; Data = new DataBlock[0]; } @@ -45718,7 +46137,7 @@ namespace libsecondlife.Packets public ScriptDialogPacket() { Header = new LowHeader(); - Header.ID = 233; + Header.ID = 235; Header.Reliable = true; Header.Zerocoded = true; Data = new DataBlock(); @@ -45935,7 +46354,7 @@ namespace libsecondlife.Packets public ScriptDialogReplyPacket() { Header = new LowHeader(); - Header.ID = 234; + Header.ID = 236; Header.Reliable = true; Header.Zerocoded = true; Data = new DataBlock(); @@ -46053,7 +46472,7 @@ namespace libsecondlife.Packets public ForceScriptControlReleasePacket() { Header = new LowHeader(); - Header.ID = 235; + Header.ID = 237; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -46222,7 +46641,7 @@ namespace libsecondlife.Packets public RevokePermissionsPacket() { Header = new LowHeader(); - Header.ID = 236; + Header.ID = 238; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -46406,7 +46825,7 @@ namespace libsecondlife.Packets public LoadURLPacket() { Header = new LowHeader(); - Header.ID = 237; + Header.ID = 239; Header.Reliable = true; Data = new DataBlock(); } @@ -46560,7 +46979,7 @@ namespace libsecondlife.Packets public ScriptTeleportRequestPacket() { Header = new LowHeader(); - Header.ID = 238; + Header.ID = 240; Header.Reliable = true; Data = new DataBlock(); } @@ -46691,7 +47110,7 @@ namespace libsecondlife.Packets public ParcelOverlayPacket() { Header = new LowHeader(); - Header.ID = 239; + Header.ID = 241; Header.Reliable = true; Header.Zerocoded = true; ParcelData = new ParcelDataBlock(); @@ -46863,7 +47282,7 @@ namespace libsecondlife.Packets public ParcelPropertiesRequestByIDPacket() { Header = new LowHeader(); - Header.ID = 240; + Header.ID = 242; Header.Reliable = true; Header.Zerocoded = true; ParcelData = new ParcelDataBlock(); @@ -47206,7 +47625,7 @@ namespace libsecondlife.Packets public ParcelPropertiesUpdatePacket() { Header = new LowHeader(); - Header.ID = 241; + Header.ID = 243; Header.Reliable = true; Header.Zerocoded = true; ParcelData = new ParcelDataBlock(); @@ -47481,7 +47900,7 @@ namespace libsecondlife.Packets public ParcelReturnObjectsPacket() { Header = new LowHeader(); - Header.ID = 242; + Header.ID = 244; Header.Reliable = true; Header.Zerocoded = true; TaskIDs = new TaskIDsBlock[0]; @@ -47692,7 +48111,7 @@ namespace libsecondlife.Packets public ParcelSetOtherCleanTimePacket() { Header = new LowHeader(); - Header.ID = 243; + Header.ID = 245; Header.Reliable = true; Header.Zerocoded = true; ParcelData = new ParcelDataBlock(); @@ -47967,7 +48386,7 @@ namespace libsecondlife.Packets public ParcelDisableObjectsPacket() { Header = new LowHeader(); - Header.ID = 244; + Header.ID = 246; Header.Reliable = true; Header.Zerocoded = true; TaskIDs = new TaskIDsBlock[0]; @@ -48227,7 +48646,7 @@ namespace libsecondlife.Packets public ParcelSelectObjectsPacket() { Header = new LowHeader(); - Header.ID = 245; + Header.ID = 247; Header.Reliable = true; Header.Zerocoded = true; ReturnIDs = new ReturnIDsBlock[0]; @@ -48362,7 +48781,7 @@ namespace libsecondlife.Packets public EstateCovenantRequestPacket() { Header = new LowHeader(); - Header.ID = 246; + Header.ID = 248; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -48504,7 +48923,7 @@ namespace libsecondlife.Packets public EstateCovenantReplyPacket() { Header = new LowHeader(); - Header.ID = 247; + Header.ID = 249; Header.Reliable = true; Data = new DataBlock(); } @@ -48660,7 +49079,7 @@ namespace libsecondlife.Packets public ForceObjectSelectPacket() { Header = new LowHeader(); - Header.ID = 248; + Header.ID = 250; Header.Reliable = true; Data = new DataBlock[0]; _Header = new HeaderBlock(); @@ -48840,7 +49259,7 @@ namespace libsecondlife.Packets public ParcelBuyPassPacket() { Header = new LowHeader(); - Header.ID = 249; + Header.ID = 251; Header.Reliable = true; ParcelData = new ParcelDataBlock(); AgentData = new AgentDataBlock(); @@ -49014,7 +49433,7 @@ namespace libsecondlife.Packets public ParcelDeedToGroupPacket() { Header = new LowHeader(); - Header.ID = 250; + Header.ID = 252; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -49182,7 +49601,7 @@ namespace libsecondlife.Packets public ParcelReclaimPacket() { Header = new LowHeader(); - Header.ID = 251; + Header.ID = 253; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -49434,7 +49853,7 @@ namespace libsecondlife.Packets public ParcelClaimPacket() { Header = new LowHeader(); - Header.ID = 252; + Header.ID = 254; Header.Reliable = true; Header.Zerocoded = true; Data = new DataBlock(); @@ -49645,7 +50064,7 @@ namespace libsecondlife.Packets public ParcelJoinPacket() { Header = new LowHeader(); - Header.ID = 253; + Header.ID = 255; Header.Reliable = true; ParcelData = new ParcelDataBlock(); AgentData = new AgentDataBlock(); @@ -49838,7 +50257,7 @@ namespace libsecondlife.Packets public ParcelDividePacket() { Header = new LowHeader(); - Header.ID = 254; + Header.ID = 256; Header.Reliable = true; ParcelData = new ParcelDataBlock(); AgentData = new AgentDataBlock(); @@ -50006,7 +50425,7 @@ namespace libsecondlife.Packets public ParcelReleasePacket() { Header = new LowHeader(); - Header.ID = 255; + Header.ID = 257; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -50195,7 +50614,7 @@ namespace libsecondlife.Packets public ParcelBuyPacket() { Header = new LowHeader(); - Header.ID = 256; + Header.ID = 258; Header.Reliable = true; Header.Zerocoded = true; Data = new DataBlock(); @@ -50370,7 +50789,7 @@ namespace libsecondlife.Packets public ParcelGodForceOwnerPacket() { Header = new LowHeader(); - Header.ID = 257; + Header.ID = 259; Header.Reliable = true; Header.Zerocoded = true; Data = new DataBlock(); @@ -50555,7 +50974,7 @@ namespace libsecondlife.Packets public ParcelAccessListRequestPacket() { Header = new LowHeader(); - Header.ID = 258; + Header.ID = 260; Header.Reliable = true; Header.Zerocoded = true; Data = new DataBlock(); @@ -50756,7 +51175,7 @@ namespace libsecondlife.Packets public ParcelAccessListReplyPacket() { Header = new LowHeader(); - Header.ID = 259; + Header.ID = 261; Header.Reliable = true; Header.Zerocoded = true; Data = new DataBlock(); @@ -51032,7 +51451,7 @@ namespace libsecondlife.Packets public ParcelAccessListUpdatePacket() { Header = new LowHeader(); - Header.ID = 260; + Header.ID = 262; Header.Reliable = true; Header.Zerocoded = true; Data = new DataBlock(); @@ -51224,7 +51643,7 @@ namespace libsecondlife.Packets public ParcelDwellRequestPacket() { Header = new LowHeader(); - Header.ID = 261; + Header.ID = 263; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -51401,7 +51820,7 @@ namespace libsecondlife.Packets public ParcelDwellReplyPacket() { Header = new LowHeader(); - Header.ID = 262; + Header.ID = 264; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -51585,7 +52004,7 @@ namespace libsecondlife.Packets public RequestParcelTransferPacket() { Header = new LowHeader(); - Header.ID = 263; + Header.ID = 265; Header.Reliable = true; Header.Zerocoded = true; Data = new DataBlock(); @@ -51871,7 +52290,7 @@ namespace libsecondlife.Packets public UpdateParcelPacket() { Header = new LowHeader(); - Header.ID = 264; + Header.ID = 266; Header.Reliable = true; Header.Zerocoded = true; ParcelData = new ParcelDataBlock(); @@ -51978,7 +52397,7 @@ namespace libsecondlife.Packets public RemoveParcelPacket() { Header = new LowHeader(); - Header.ID = 265; + Header.ID = 267; Header.Reliable = true; ParcelData = new ParcelDataBlock[0]; } @@ -52145,7 +52564,7 @@ namespace libsecondlife.Packets public MergeParcelPacket() { Header = new LowHeader(); - Header.ID = 266; + Header.ID = 268; Header.Reliable = true; MasterParcelData = new MasterParcelDataBlock(); SlaveParcelData = new SlaveParcelDataBlock[0]; @@ -52402,7 +52821,7 @@ namespace libsecondlife.Packets public LogParcelChangesPacket() { Header = new LowHeader(); - Header.ID = 267; + Header.ID = 269; Header.Reliable = true; Header.Zerocoded = true; ParcelData = new ParcelDataBlock[0]; @@ -52537,7 +52956,7 @@ namespace libsecondlife.Packets public CheckParcelSalesPacket() { Header = new LowHeader(); - Header.ID = 268; + Header.ID = 270; Header.Reliable = true; RegionData = new RegionDataBlock[0]; } @@ -52661,7 +53080,7 @@ namespace libsecondlife.Packets public ParcelSalesPacket() { Header = new LowHeader(); - Header.ID = 269; + Header.ID = 271; Header.Reliable = true; ParcelData = new ParcelDataBlock[0]; } @@ -52836,7 +53255,7 @@ namespace libsecondlife.Packets public ParcelGodMarkAsContentPacket() { Header = new LowHeader(); - Header.ID = 270; + Header.ID = 272; Header.Reliable = true; ParcelData = new ParcelDataBlock(); AgentData = new AgentDataBlock(); @@ -53010,7 +53429,7 @@ namespace libsecondlife.Packets public ParcelGodReserveForNewbiePacket() { Header = new LowHeader(); - Header.ID = 271; + Header.ID = 273; Header.Reliable = true; ParcelData = new ParcelDataBlock(); AgentData = new AgentDataBlock(); @@ -53184,7 +53603,7 @@ namespace libsecondlife.Packets public ViewerStartAuctionPacket() { Header = new LowHeader(); - Header.ID = 272; + Header.ID = 274; Header.Reliable = true; ParcelData = new ParcelDataBlock(); AgentData = new AgentDataBlock(); @@ -53372,7 +53791,7 @@ namespace libsecondlife.Packets public StartAuctionPacket() { Header = new LowHeader(); - Header.ID = 273; + Header.ID = 275; Header.Reliable = true; ParcelData = new ParcelDataBlock(); AgentData = new AgentDataBlock(); @@ -53491,7 +53910,7 @@ namespace libsecondlife.Packets public ConfirmAuctionStartPacket() { Header = new LowHeader(); - Header.ID = 274; + Header.ID = 276; Header.Reliable = true; AuctionData = new AuctionDataBlock(); } @@ -53597,7 +54016,7 @@ namespace libsecondlife.Packets public CompleteAuctionPacket() { Header = new LowHeader(); - Header.ID = 275; + Header.ID = 277; Header.Reliable = true; ParcelData = new ParcelDataBlock[0]; } @@ -53715,7 +54134,7 @@ namespace libsecondlife.Packets public CancelAuctionPacket() { Header = new LowHeader(); - Header.ID = 276; + Header.ID = 278; Header.Reliable = true; ParcelData = new ParcelDataBlock[0]; } @@ -53839,7 +54258,7 @@ namespace libsecondlife.Packets public CheckParcelAuctionsPacket() { Header = new LowHeader(); - Header.ID = 277; + Header.ID = 279; Header.Reliable = true; RegionData = new RegionDataBlock[0]; } @@ -53963,7 +54382,7 @@ namespace libsecondlife.Packets public ParcelAuctionsPacket() { Header = new LowHeader(); - Header.ID = 278; + Header.ID = 280; Header.Reliable = true; ParcelData = new ParcelDataBlock[0]; } @@ -54081,7 +54500,7 @@ namespace libsecondlife.Packets public UUIDNameRequestPacket() { Header = new LowHeader(); - Header.ID = 279; + Header.ID = 281; Header.Reliable = true; UUIDNameBlock = new UUIDNameBlockBlock[0]; } @@ -54241,7 +54660,7 @@ namespace libsecondlife.Packets public UUIDNameReplyPacket() { Header = new LowHeader(); - Header.ID = 280; + Header.ID = 282; Header.Reliable = true; UUIDNameBlock = new UUIDNameBlockBlock[0]; } @@ -54359,7 +54778,7 @@ namespace libsecondlife.Packets public UUIDGroupNameRequestPacket() { Header = new LowHeader(); - Header.ID = 281; + Header.ID = 283; Header.Reliable = true; UUIDNameBlock = new UUIDNameBlockBlock[0]; } @@ -54499,7 +54918,7 @@ namespace libsecondlife.Packets public UUIDGroupNameReplyPacket() { Header = new LowHeader(); - Header.ID = 282; + Header.ID = 284; Header.Reliable = true; UUIDNameBlock = new UUIDNameBlockBlock[0]; } @@ -54704,7 +55123,7 @@ namespace libsecondlife.Packets public ChatPassPacket() { Header = new LowHeader(); - Header.ID = 283; + Header.ID = 285; Header.Reliable = true; Header.Zerocoded = true; ChatData = new ChatDataBlock(); @@ -54817,7 +55236,7 @@ namespace libsecondlife.Packets public ChildAgentDyingPacket() { Header = new LowHeader(); - Header.ID = 284; + Header.ID = 286; Header.Reliable = true; Header.Zerocoded = true; AgentData = new AgentDataBlock(); @@ -54930,7 +55349,7 @@ namespace libsecondlife.Packets public ChildAgentUnknownPacket() { Header = new LowHeader(); - Header.ID = 285; + Header.ID = 287; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -55036,7 +55455,7 @@ namespace libsecondlife.Packets public KillChildAgentsPacket() { Header = new LowHeader(); - Header.ID = 286; + Header.ID = 288; Header.Reliable = true; IDBlock = new IDBlockBlock(); } @@ -55148,7 +55567,7 @@ namespace libsecondlife.Packets public GetScriptRunningPacket() { Header = new LowHeader(); - Header.ID = 287; + Header.ID = 289; Header.Reliable = true; Script = new ScriptBlock(); } @@ -55265,7 +55684,7 @@ namespace libsecondlife.Packets public ScriptRunningReplyPacket() { Header = new LowHeader(); - Header.ID = 288; + Header.ID = 290; Header.Reliable = true; Script = new ScriptBlock(); } @@ -55437,7 +55856,7 @@ namespace libsecondlife.Packets public SetScriptRunningPacket() { Header = new LowHeader(); - Header.ID = 289; + Header.ID = 291; Header.Reliable = true; Script = new ScriptBlock(); AgentData = new AgentDataBlock(); @@ -55609,7 +56028,7 @@ namespace libsecondlife.Packets public ScriptResetPacket() { Header = new LowHeader(); - Header.ID = 290; + Header.ID = 292; Header.Reliable = true; Script = new ScriptBlock(); AgentData = new AgentDataBlock(); @@ -55808,7 +56227,7 @@ namespace libsecondlife.Packets public ScriptSensorRequestPacket() { Header = new LowHeader(); - Header.ID = 291; + Header.ID = 293; Header.Reliable = true; Header.Zerocoded = true; Requester = new RequesterBlock(); @@ -56033,7 +56452,7 @@ namespace libsecondlife.Packets public ScriptSensorReplyPacket() { Header = new LowHeader(); - Header.ID = 292; + Header.ID = 294; Header.Reliable = true; Header.Zerocoded = true; SensedData = new SensedDataBlock[0]; @@ -56171,7 +56590,7 @@ namespace libsecondlife.Packets public CompleteAgentMovementPacket() { Header = new LowHeader(); - Header.ID = 293; + Header.ID = 295; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -56358,7 +56777,7 @@ namespace libsecondlife.Packets public AgentMovementCompletePacket() { Header = new LowHeader(); - Header.ID = 294; + Header.ID = 296; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -56537,7 +56956,7 @@ namespace libsecondlife.Packets public LogLoginPacket() { Header = new LowHeader(); - Header.ID = 295; + Header.ID = 297; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -56654,7 +57073,7 @@ namespace libsecondlife.Packets public ConnectAgentToUserserverPacket() { Header = new LowHeader(); - Header.ID = 296; + Header.ID = 298; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -56711,7 +57130,7 @@ namespace libsecondlife.Packets public ConnectToUserserverPacket() { Header = new LowHeader(); - Header.ID = 297; + Header.ID = 299; Header.Reliable = true; } @@ -56831,7 +57250,7 @@ namespace libsecondlife.Packets public DataServerLogoutPacket() { Header = new LowHeader(); - Header.ID = 298; + Header.ID = 300; Header.Reliable = true; UserData = new UserDataBlock(); } @@ -56943,7 +57362,7 @@ namespace libsecondlife.Packets public LogoutRequestPacket() { Header = new LowHeader(); - Header.ID = 299; + Header.ID = 301; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -57055,7 +57474,7 @@ namespace libsecondlife.Packets public FinalizeLogoutPacket() { Header = new LowHeader(); - Header.ID = 300; + Header.ID = 302; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -57222,7 +57641,7 @@ namespace libsecondlife.Packets public LogoutReplyPacket() { Header = new LowHeader(); - Header.ID = 301; + Header.ID = 303; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock[0]; @@ -57346,7 +57765,7 @@ namespace libsecondlife.Packets public LogoutDemandPacket() { Header = new LowHeader(); - Header.ID = 302; + Header.ID = 304; Header.Reliable = true; LogoutBlock = new LogoutBlockBlock(); } @@ -57620,7 +58039,7 @@ namespace libsecondlife.Packets public ImprovedInstantMessagePacket() { Header = new LowHeader(); - Header.ID = 303; + Header.ID = 305; Header.Reliable = true; Header.Zerocoded = true; MessageBlock = new MessageBlockBlock(); @@ -57738,7 +58157,7 @@ namespace libsecondlife.Packets public RetrieveInstantMessagesPacket() { Header = new LowHeader(); - Header.ID = 304; + Header.ID = 306; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -57795,7 +58214,7 @@ namespace libsecondlife.Packets public DequeueInstantMessagesPacket() { Header = new LowHeader(); - Header.ID = 305; + Header.ID = 307; Header.Reliable = true; } @@ -57970,7 +58389,7 @@ namespace libsecondlife.Packets public FindAgentPacket() { Header = new LowHeader(); - Header.ID = 306; + Header.ID = 308; Header.Reliable = true; LocationBlock = new LocationBlockBlock[0]; AgentBlock = new AgentBlockBlock(); @@ -58153,7 +58572,7 @@ namespace libsecondlife.Packets public RequestGodlikePowersPacket() { Header = new LowHeader(); - Header.ID = 307; + Header.ID = 309; Header.Reliable = true; RequestBlock = new RequestBlockBlock(); AgentData = new AgentDataBlock(); @@ -58324,7 +58743,7 @@ namespace libsecondlife.Packets public GrantGodlikePowersPacket() { Header = new LowHeader(); - Header.ID = 308; + Header.ID = 310; Header.Reliable = true; GrantData = new GrantDataBlock(); AgentData = new AgentDataBlock(); @@ -58577,7 +58996,7 @@ namespace libsecondlife.Packets public GodlikeMessagePacket() { Header = new LowHeader(); - Header.ID = 309; + Header.ID = 311; Header.Reliable = true; Header.Zerocoded = true; MethodData = new MethodDataBlock(); @@ -58848,7 +59267,7 @@ namespace libsecondlife.Packets public EstateOwnerMessagePacket() { Header = new LowHeader(); - Header.ID = 310; + Header.ID = 312; Header.Reliable = true; Header.Zerocoded = true; MethodData = new MethodDataBlock(); @@ -59119,7 +59538,7 @@ namespace libsecondlife.Packets public GenericMessagePacket() { Header = new LowHeader(); - Header.ID = 311; + Header.ID = 313; Header.Reliable = true; Header.Zerocoded = true; MethodData = new MethodDataBlock(); @@ -59305,7 +59724,7 @@ namespace libsecondlife.Packets public MuteListRequestPacket() { Header = new LowHeader(); - Header.ID = 312; + Header.ID = 314; Header.Reliable = true; AgentData = new AgentDataBlock(); MuteData = new MuteDataBlock(); @@ -59509,7 +59928,7 @@ namespace libsecondlife.Packets public UpdateMuteListEntryPacket() { Header = new LowHeader(); - Header.ID = 313; + Header.ID = 315; Header.Reliable = true; AgentData = new AgentDataBlock(); MuteData = new MuteDataBlock(); @@ -59697,7 +60116,7 @@ namespace libsecondlife.Packets public RemoveMuteListEntryPacket() { Header = new LowHeader(); - Header.ID = 314; + Header.ID = 316; Header.Reliable = true; AgentData = new AgentDataBlock(); MuteData = new MuteDataBlock(); @@ -59924,7 +60343,7 @@ namespace libsecondlife.Packets public CopyInventoryFromNotecardPacket() { Header = new LowHeader(); - Header.ID = 315; + Header.ID = 317; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock[0]; @@ -60280,7 +60699,7 @@ namespace libsecondlife.Packets public UpdateInventoryItemPacket() { Header = new LowHeader(); - Header.ID = 316; + Header.ID = 318; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock[0]; @@ -60630,7 +61049,7 @@ namespace libsecondlife.Packets public UpdateCreateInventoryItemPacket() { Header = new LowHeader(); - Header.ID = 317; + Header.ID = 319; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock[0]; @@ -60698,6 +61117,18 @@ namespace libsecondlife.Packets /// InventoryData block public class InventoryDataBlock { + private byte[] _newname; + /// NewName field + public byte[] NewName + { + get { return _newname; } + set + { + if (value == null) { _newname = null; return; } + if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } + else { _newname = new byte[value.Length]; Array.Copy(value, _newname, value.Length); } + } + } /// ItemID field public LLUUID ItemID; /// FolderID field @@ -60708,7 +61139,9 @@ namespace libsecondlife.Packets { get { - return 32; + int length = 32; + if (NewName != null) { length += 1 + NewName.Length; } + return length; } } @@ -60717,8 +61150,12 @@ namespace libsecondlife.Packets /// Constructor for building the block from a byte array public InventoryDataBlock(byte[] bytes, ref int i) { + int length; try { + length = (ushort)bytes[i++]; + _newname = new byte[length]; + Array.Copy(bytes, i, _newname, 0, length); i += length; ItemID = new LLUUID(bytes, i); i += 16; FolderID = new LLUUID(bytes, i); i += 16; } @@ -60731,6 +61168,9 @@ namespace libsecondlife.Packets /// Serialize this block to a byte array public void ToBytes(byte[] bytes, ref int i) { + if(NewName == null) { Console.WriteLine("Warning: NewName is null, in " + this.GetType()); } + bytes[i++] = (byte)NewName.Length; + Array.Copy(NewName, 0, bytes, i, NewName.Length); i += NewName.Length; if(ItemID == null) { Console.WriteLine("Warning: ItemID is null, in " + this.GetType()); } Array.Copy(ItemID.GetBytes(), 0, bytes, i, 16); i += 16; if(FolderID == null) { Console.WriteLine("Warning: FolderID is null, in " + this.GetType()); } @@ -60741,6 +61181,7 @@ namespace libsecondlife.Packets public override string ToString() { string output = "-- InventoryData --\n"; + output += Helpers.FieldToString(NewName, "NewName") + "\n"; output += "ItemID: " + ItemID.ToString() + "\n"; output += "FolderID: " + FolderID.ToString() + "\n"; output = output.Trim(); @@ -60820,7 +61261,7 @@ namespace libsecondlife.Packets public MoveInventoryItemPacket() { Header = new LowHeader(); - Header.ID = 318; + Header.ID = 320; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock[0]; @@ -60888,6 +61329,18 @@ namespace libsecondlife.Packets /// InventoryData block public class InventoryDataBlock { + private byte[] _newname; + /// NewName field + public byte[] NewName + { + get { return _newname; } + set + { + if (value == null) { _newname = null; return; } + if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } + else { _newname = new byte[value.Length]; Array.Copy(value, _newname, value.Length); } + } + } /// NewFolderID field public LLUUID NewFolderID; /// CallbackID field @@ -60902,7 +61355,9 @@ namespace libsecondlife.Packets { get { - return 52; + int length = 52; + if (NewName != null) { length += 1 + NewName.Length; } + return length; } } @@ -60911,8 +61366,12 @@ namespace libsecondlife.Packets /// Constructor for building the block from a byte array public InventoryDataBlock(byte[] bytes, ref int i) { + int length; try { + length = (ushort)bytes[i++]; + _newname = new byte[length]; + Array.Copy(bytes, i, _newname, 0, length); i += length; NewFolderID = new LLUUID(bytes, i); i += 16; CallbackID = (uint)(bytes[i++] + (bytes[i++] << 8) + (bytes[i++] << 16) + (bytes[i++] << 24)); OldItemID = new LLUUID(bytes, i); i += 16; @@ -60927,6 +61386,9 @@ namespace libsecondlife.Packets /// Serialize this block to a byte array public void ToBytes(byte[] bytes, ref int i) { + if(NewName == null) { Console.WriteLine("Warning: NewName is null, in " + this.GetType()); } + bytes[i++] = (byte)NewName.Length; + Array.Copy(NewName, 0, bytes, i, NewName.Length); i += NewName.Length; if(NewFolderID == null) { Console.WriteLine("Warning: NewFolderID is null, in " + this.GetType()); } Array.Copy(NewFolderID.GetBytes(), 0, bytes, i, 16); i += 16; bytes[i++] = (byte)(CallbackID % 256); @@ -60943,6 +61405,7 @@ namespace libsecondlife.Packets public override string ToString() { string output = "-- InventoryData --\n"; + output += Helpers.FieldToString(NewName, "NewName") + "\n"; output += "NewFolderID: " + NewFolderID.ToString() + "\n"; output += "CallbackID: " + CallbackID.ToString() + "\n"; output += "OldItemID: " + OldItemID.ToString() + "\n"; @@ -61019,7 +61482,7 @@ namespace libsecondlife.Packets public CopyInventoryItemPacket() { Header = new LowHeader(); - Header.ID = 319; + Header.ID = 321; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock[0]; @@ -61198,7 +61661,7 @@ namespace libsecondlife.Packets public RemoveInventoryItemPacket() { Header = new LowHeader(); - Header.ID = 320; + Header.ID = 322; Header.Reliable = true; InventoryData = new InventoryDataBlock[0]; AgentData = new AgentDataBlock(); @@ -61384,7 +61847,7 @@ namespace libsecondlife.Packets public ChangeInventoryItemFlagsPacket() { Header = new LowHeader(); - Header.ID = 321; + Header.ID = 323; Header.Reliable = true; InventoryData = new InventoryDataBlock[0]; AgentData = new AgentDataBlock(); @@ -61562,7 +62025,7 @@ namespace libsecondlife.Packets public SaveAssetIntoInventoryPacket() { Header = new LowHeader(); - Header.ID = 322; + Header.ID = 324; Header.Reliable = true; InventoryData = new InventoryDataBlock(); AgentData = new AgentDataBlock(); @@ -61761,7 +62224,7 @@ namespace libsecondlife.Packets public CreateInventoryFolderPacket() { Header = new LowHeader(); - Header.ID = 323; + Header.ID = 325; Header.Reliable = true; AgentData = new AgentDataBlock(); FolderData = new FolderDataBlock(); @@ -61960,7 +62423,7 @@ namespace libsecondlife.Packets public UpdateInventoryFolderPacket() { Header = new LowHeader(); - Header.ID = 324; + Header.ID = 326; Header.Reliable = true; AgentData = new AgentDataBlock(); FolderData = new FolderDataBlock[0]; @@ -62149,7 +62612,7 @@ namespace libsecondlife.Packets public MoveInventoryFolderPacket() { Header = new LowHeader(); - Header.ID = 325; + Header.ID = 327; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock[0]; @@ -62328,7 +62791,7 @@ namespace libsecondlife.Packets public RemoveInventoryFolderPacket() { Header = new LowHeader(); - Header.ID = 326; + Header.ID = 328; Header.Reliable = true; AgentData = new AgentDataBlock(); FolderData = new FolderDataBlock[0]; @@ -62530,7 +62993,7 @@ namespace libsecondlife.Packets public FetchInventoryDescendentsPacket() { Header = new LowHeader(); - Header.ID = 327; + Header.ID = 329; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock(); @@ -62965,7 +63428,7 @@ namespace libsecondlife.Packets public InventoryDescendentsPacket() { Header = new LowHeader(); - Header.ID = 328; + Header.ID = 330; Header.Reliable = true; Header.Zerocoded = true; ItemData = new ItemDataBlock[0]; @@ -63167,7 +63630,7 @@ namespace libsecondlife.Packets public FetchInventoryPacket() { Header = new LowHeader(); - Header.ID = 329; + Header.ID = 331; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock[0]; @@ -63504,7 +63967,7 @@ namespace libsecondlife.Packets public FetchInventoryReplyPacket() { Header = new LowHeader(); - Header.ID = 330; + Header.ID = 332; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock[0]; @@ -63937,7 +64400,7 @@ namespace libsecondlife.Packets public BulkUpdateInventoryPacket() { Header = new LowHeader(); - Header.ID = 331; + Header.ID = 333; Header.Reliable = true; Header.Zerocoded = true; ItemData = new ItemDataBlock[0]; @@ -64096,7 +64559,7 @@ namespace libsecondlife.Packets public RequestInventoryAssetPacket() { Header = new LowHeader(); - Header.ID = 332; + Header.ID = 334; Header.Reliable = true; QueryData = new QueryDataBlock(); } @@ -64213,7 +64676,7 @@ namespace libsecondlife.Packets public InventoryAssetResponsePacket() { Header = new LowHeader(); - Header.ID = 333; + Header.ID = 335; Header.Reliable = true; QueryData = new QueryDataBlock(); } @@ -64423,7 +64886,7 @@ namespace libsecondlife.Packets public RemoveInventoryObjectsPacket() { Header = new LowHeader(); - Header.ID = 334; + Header.ID = 336; Header.Reliable = true; ItemData = new ItemDataBlock[0]; AgentData = new AgentDataBlock(); @@ -64618,7 +65081,7 @@ namespace libsecondlife.Packets public PurgeInventoryDescendentsPacket() { Header = new LowHeader(); - Header.ID = 335; + Header.ID = 337; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock(); @@ -65005,7 +65468,7 @@ namespace libsecondlife.Packets public UpdateTaskInventoryPacket() { Header = new LowHeader(); - Header.ID = 336; + Header.ID = 338; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock(); @@ -65185,7 +65648,7 @@ namespace libsecondlife.Packets public RemoveTaskInventoryPacket() { Header = new LowHeader(); - Header.ID = 337; + Header.ID = 339; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock(); @@ -65366,7 +65829,7 @@ namespace libsecondlife.Packets public MoveTaskInventoryPacket() { Header = new LowHeader(); - Header.ID = 338; + Header.ID = 340; Header.Reliable = true; InventoryData = new InventoryDataBlock(); AgentData = new AgentDataBlock(); @@ -65534,7 +65997,7 @@ namespace libsecondlife.Packets public RequestTaskInventoryPacket() { Header = new LowHeader(); - Header.ID = 339; + Header.ID = 341; Header.Reliable = true; InventoryData = new InventoryDataBlock(); AgentData = new AgentDataBlock(); @@ -65673,7 +66136,7 @@ namespace libsecondlife.Packets public ReplyTaskInventoryPacket() { Header = new LowHeader(); - Header.ID = 340; + Header.ID = 342; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock(); @@ -65913,7 +66376,7 @@ namespace libsecondlife.Packets public DeRezObjectPacket() { Header = new LowHeader(); - Header.ID = 341; + Header.ID = 343; Header.Reliable = true; Header.Zerocoded = true; ObjectData = new ObjectDataBlock[0]; @@ -65993,7 +66456,7 @@ namespace libsecondlife.Packets public DeRezAckPacket() { Header = new LowHeader(); - Header.ID = 342; + Header.ID = 344; Header.Reliable = true; } @@ -66438,7 +66901,7 @@ namespace libsecondlife.Packets public RezObjectPacket() { Header = new LowHeader(); - Header.ID = 343; + Header.ID = 345; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock(); @@ -66790,7 +67253,7 @@ namespace libsecondlife.Packets public RezObjectFromNotecardPacket() { Header = new LowHeader(); - Header.ID = 344; + Header.ID = 346; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock[0]; @@ -66924,7 +67387,7 @@ namespace libsecondlife.Packets public DeclineInventoryPacket() { Header = new LowHeader(); - Header.ID = 345; + Header.ID = 347; Header.Reliable = true; InfoBlock = new InfoBlockBlock(); } @@ -67096,7 +67559,7 @@ namespace libsecondlife.Packets public TransferInventoryPacket() { Header = new LowHeader(); - Header.ID = 346; + Header.ID = 348; Header.Reliable = true; Header.Zerocoded = true; InfoBlock = new InfoBlockBlock(); @@ -67226,7 +67689,7 @@ namespace libsecondlife.Packets public TransferInventoryAckPacket() { Header = new LowHeader(); - Header.ID = 347; + Header.ID = 349; Header.Reliable = true; Header.Zerocoded = true; InfoBlock = new InfoBlockBlock(); @@ -67400,7 +67863,7 @@ namespace libsecondlife.Packets public RequestFriendshipPacket() { Header = new LowHeader(); - Header.ID = 348; + Header.ID = 350; Header.Reliable = true; AgentBlock = new AgentBlockBlock(); AgentData = new AgentDataBlock(); @@ -67615,7 +68078,7 @@ namespace libsecondlife.Packets public AcceptFriendshipPacket() { Header = new LowHeader(); - Header.ID = 349; + Header.ID = 351; Header.Reliable = true; TransactionBlock = new TransactionBlockBlock(); AgentData = new AgentDataBlock(); @@ -67798,7 +68261,7 @@ namespace libsecondlife.Packets public DeclineFriendshipPacket() { Header = new LowHeader(); - Header.ID = 350; + Header.ID = 352; Header.Reliable = true; TransactionBlock = new TransactionBlockBlock(); AgentData = new AgentDataBlock(); @@ -67915,7 +68378,7 @@ namespace libsecondlife.Packets public FormFriendshipPacket() { Header = new LowHeader(); - Header.ID = 351; + Header.ID = 353; Header.Reliable = true; AgentBlock = new AgentBlockBlock(); } @@ -68076,7 +68539,7 @@ namespace libsecondlife.Packets public TerminateFriendshipPacket() { Header = new LowHeader(); - Header.ID = 352; + Header.ID = 354; Header.Reliable = true; ExBlock = new ExBlockBlock(); AgentData = new AgentDataBlock(); @@ -68248,7 +68711,7 @@ namespace libsecondlife.Packets public OfferCallingCardPacket() { Header = new LowHeader(); - Header.ID = 353; + Header.ID = 355; Header.Reliable = true; AgentBlock = new AgentBlockBlock(); AgentData = new AgentDataBlock(); @@ -68463,7 +68926,7 @@ namespace libsecondlife.Packets public AcceptCallingCardPacket() { Header = new LowHeader(); - Header.ID = 354; + Header.ID = 356; Header.Reliable = true; TransactionBlock = new TransactionBlockBlock(); AgentData = new AgentDataBlock(); @@ -68646,7 +69109,7 @@ namespace libsecondlife.Packets public DeclineCallingCardPacket() { Header = new LowHeader(); - Header.ID = 355; + Header.ID = 357; Header.Reliable = true; TransactionBlock = new TransactionBlockBlock(); AgentData = new AgentDataBlock(); @@ -69038,7 +69501,7 @@ namespace libsecondlife.Packets public RezScriptPacket() { Header = new LowHeader(); - Header.ID = 356; + Header.ID = 358; Header.Reliable = true; Header.Zerocoded = true; UpdateBlock = new UpdateBlockBlock(); @@ -69289,7 +69752,7 @@ namespace libsecondlife.Packets public CreateInventoryItemPacket() { Header = new LowHeader(); - Header.ID = 357; + Header.ID = 359; Header.Reliable = true; Header.Zerocoded = true; InventoryBlock = new InventoryBlockBlock(); @@ -69529,7 +69992,7 @@ namespace libsecondlife.Packets public CreateLandmarkForEventPacket() { Header = new LowHeader(); - Header.ID = 358; + Header.ID = 360; Header.Reliable = true; Header.Zerocoded = true; InventoryBlock = new InventoryBlockBlock(); @@ -69697,7 +70160,7 @@ namespace libsecondlife.Packets public EventLocationRequestPacket() { Header = new LowHeader(); - Header.ID = 359; + Header.ID = 361; Header.Reliable = true; Header.Zerocoded = true; EventData = new EventDataBlock(); @@ -69869,7 +70332,7 @@ namespace libsecondlife.Packets public EventLocationReplyPacket() { Header = new LowHeader(); - Header.ID = 360; + Header.ID = 362; Header.Reliable = true; Header.Zerocoded = true; EventData = new EventDataBlock(); @@ -69981,7 +70444,7 @@ namespace libsecondlife.Packets public RegionHandleRequestPacket() { Header = new LowHeader(); - Header.ID = 361; + Header.ID = 363; Header.Reliable = true; RequestBlock = new RequestBlockBlock(); } @@ -70099,7 +70562,7 @@ namespace libsecondlife.Packets public RegionIDAndHandleReplyPacket() { Header = new LowHeader(); - Header.ID = 362; + Header.ID = 364; Header.Reliable = true; ReplyBlock = new ReplyBlockBlock(); } @@ -70319,7 +70782,7 @@ namespace libsecondlife.Packets public MoneyTransferRequestPacket() { Header = new LowHeader(); - Header.ID = 363; + Header.ID = 365; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -70504,7 +70967,7 @@ namespace libsecondlife.Packets public MoneyTransferBackendPacket() { Header = new LowHeader(); - Header.ID = 364; + Header.ID = 366; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -70725,7 +71188,7 @@ namespace libsecondlife.Packets public BulkMoneyTransferPacket() { Header = new LowHeader(); - Header.ID = 365; + Header.ID = 367; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock[0]; @@ -70857,7 +71320,7 @@ namespace libsecondlife.Packets public AdjustBalancePacket() { Header = new LowHeader(); - Header.ID = 366; + Header.ID = 368; Header.Reliable = true; Header.Zerocoded = true; AgentData = new AgentDataBlock(); @@ -71019,7 +71482,7 @@ namespace libsecondlife.Packets public MoneyBalanceRequestPacket() { Header = new LowHeader(); - Header.ID = 367; + Header.ID = 369; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -71188,7 +71651,7 @@ namespace libsecondlife.Packets public MoneyBalanceReplyPacket() { Header = new LowHeader(); - Header.ID = 368; + Header.ID = 370; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -71409,7 +71872,7 @@ namespace libsecondlife.Packets public RoutedMoneyBalanceReplyPacket() { Header = new LowHeader(); - Header.ID = 369; + Header.ID = 371; Header.Reliable = true; Header.Zerocoded = true; TargetBlock = new TargetBlockBlock(); @@ -71537,7 +72000,7 @@ namespace libsecondlife.Packets public MoneyHistoryRequestPacket() { Header = new LowHeader(); - Header.ID = 370; + Header.ID = 372; Header.Reliable = true; MoneyData = new MoneyDataBlock(); } @@ -71829,7 +72292,7 @@ namespace libsecondlife.Packets public MoneyHistoryReplyPacket() { Header = new LowHeader(); - Header.ID = 371; + Header.ID = 373; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -72029,7 +72492,7 @@ namespace libsecondlife.Packets public MoneySummaryRequestPacket() { Header = new LowHeader(); - Header.ID = 372; + Header.ID = 374; Header.Reliable = true; MoneyData = new MoneyDataBlock(); AgentData = new AgentDataBlock(); @@ -72387,7 +72850,7 @@ namespace libsecondlife.Packets public MoneySummaryReplyPacket() { Header = new LowHeader(); - Header.ID = 373; + Header.ID = 375; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -72570,7 +73033,7 @@ namespace libsecondlife.Packets public MoneyDetailsRequestPacket() { Header = new LowHeader(); - Header.ID = 374; + Header.ID = 376; Header.Reliable = true; MoneyData = new MoneyDataBlock(); AgentData = new AgentDataBlock(); @@ -72841,7 +73304,7 @@ namespace libsecondlife.Packets public MoneyDetailsReplyPacket() { Header = new LowHeader(); - Header.ID = 375; + Header.ID = 377; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -73041,7 +73504,7 @@ namespace libsecondlife.Packets public MoneyTransactionsRequestPacket() { Header = new LowHeader(); - Header.ID = 376; + Header.ID = 378; Header.Reliable = true; MoneyData = new MoneyDataBlock(); AgentData = new AgentDataBlock(); @@ -73360,7 +73823,7 @@ namespace libsecondlife.Packets public MoneyTransactionsReplyPacket() { Header = new LowHeader(); - Header.ID = 377; + Header.ID = 379; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -73494,7 +73957,7 @@ namespace libsecondlife.Packets public GestureRequestPacket() { Header = new LowHeader(); - Header.ID = 378; + Header.ID = 380; Header.Reliable = true; AgentBlock = new AgentBlockBlock(); } @@ -73677,7 +74140,7 @@ namespace libsecondlife.Packets public ActivateGesturesPacket() { Header = new LowHeader(); - Header.ID = 379; + Header.ID = 381; Header.Reliable = true; Data = new DataBlock[0]; AgentData = new AgentDataBlock(); @@ -73871,7 +74334,7 @@ namespace libsecondlife.Packets public DeactivateGesturesPacket() { Header = new LowHeader(); - Header.ID = 380; + Header.ID = 382; Header.Reliable = true; Data = new DataBlock[0]; AgentData = new AgentDataBlock(); @@ -74064,7 +74527,7 @@ namespace libsecondlife.Packets public InventoryUpdatePacket() { Header = new LowHeader(); - Header.ID = 381; + Header.ID = 383; Header.Reliable = true; InventoryData = new InventoryDataBlock(); AgentData = new AgentDataBlock(); @@ -74197,7 +74660,7 @@ namespace libsecondlife.Packets public MuteListUpdatePacket() { Header = new LowHeader(); - Header.ID = 382; + Header.ID = 384; Header.Reliable = true; MuteData = new MuteDataBlock(); } @@ -74303,7 +74766,7 @@ namespace libsecondlife.Packets public UseCachedMuteListPacket() { Header = new LowHeader(); - Header.ID = 383; + Header.ID = 385; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -74662,7 +75125,7 @@ namespace libsecondlife.Packets public UserLoginLocationReplyPacket() { Header = new LowHeader(); - Header.ID = 384; + Header.ID = 386; Header.Reliable = true; Header.Zerocoded = true; URLBlock = new URLBlockBlock(); @@ -74817,7 +75280,7 @@ namespace libsecondlife.Packets public UserSimLocationReplyPacket() { Header = new LowHeader(); - Header.ID = 385; + Header.ID = 387; Header.Reliable = true; SimulatorBlock = new SimulatorBlockBlock(); } @@ -74964,7 +75427,7 @@ namespace libsecondlife.Packets public UserListReplyPacket() { Header = new LowHeader(); - Header.ID = 386; + Header.ID = 388; Header.Reliable = true; UserBlock = new UserBlockBlock[0]; } @@ -75082,7 +75545,7 @@ namespace libsecondlife.Packets public OnlineNotificationPacket() { Header = new LowHeader(); - Header.ID = 387; + Header.ID = 389; Header.Reliable = true; AgentBlock = new AgentBlockBlock[0]; } @@ -75200,7 +75663,7 @@ namespace libsecondlife.Packets public OfflineNotificationPacket() { Header = new LowHeader(); - Header.ID = 388; + Header.ID = 390; Header.Reliable = true; AgentBlock = new AgentBlockBlock[0]; } @@ -75409,7 +75872,7 @@ namespace libsecondlife.Packets public SetStartLocationRequestPacket() { Header = new LowHeader(); - Header.ID = 389; + Header.ID = 391; Header.Reliable = true; Header.Zerocoded = true; StartLocationData = new StartLocationDataBlock(); @@ -75559,7 +76022,7 @@ namespace libsecondlife.Packets public SetStartLocationPacket() { Header = new LowHeader(); - Header.ID = 390; + Header.ID = 392; Header.Reliable = true; Header.Zerocoded = true; StartLocationData = new StartLocationDataBlock(); @@ -75816,7 +76279,7 @@ namespace libsecondlife.Packets public UserLoginLocationRequestPacket() { Header = new LowHeader(); - Header.ID = 391; + Header.ID = 393; Header.Reliable = true; Header.Zerocoded = true; URLBlock = new URLBlockBlock(); @@ -76157,7 +76620,7 @@ namespace libsecondlife.Packets public SpaceLoginLocationReplyPacket() { Header = new LowHeader(); - Header.ID = 392; + Header.ID = 394; Header.Reliable = true; Header.Zerocoded = true; SimulatorBlock = new SimulatorBlockBlock(); @@ -76274,7 +76737,7 @@ namespace libsecondlife.Packets public NetTestPacket() { Header = new LowHeader(); - Header.ID = 393; + Header.ID = 395; Header.Reliable = true; NetBlock = new NetBlockBlock(); } @@ -76379,7 +76842,7 @@ namespace libsecondlife.Packets public SetCPURatioPacket() { Header = new LowHeader(); - Header.ID = 394; + Header.ID = 396; Header.Reliable = true; Data = new DataBlock(); } @@ -76544,7 +77007,7 @@ namespace libsecondlife.Packets public SimCrashedPacket() { Header = new LowHeader(); - Header.ID = 395; + Header.ID = 397; Header.Reliable = true; Data = new DataBlock(); Users = new UsersBlock[0]; @@ -76685,7 +77148,7 @@ namespace libsecondlife.Packets public SimulatorPauseStatePacket() { Header = new LowHeader(); - Header.ID = 396; + Header.ID = 398; Header.Reliable = true; PauseBlock = new PauseBlockBlock(); } @@ -76856,7 +77319,7 @@ namespace libsecondlife.Packets public SimulatorThrottleSettingsPacket() { Header = new LowHeader(); - Header.ID = 397; + Header.ID = 399; Header.Reliable = true; Sender = new SenderBlock(); Throttle = new ThrottleBlock(); @@ -77033,7 +77496,7 @@ namespace libsecondlife.Packets public NameValuePairPacket() { Header = new LowHeader(); - Header.ID = 398; + Header.ID = 400; Header.Reliable = true; NameValueData = new NameValueDataBlock[0]; TaskData = new TaskDataBlock(); @@ -77222,7 +77685,7 @@ namespace libsecondlife.Packets public RemoveNameValuePairPacket() { Header = new LowHeader(); - Header.ID = 399; + Header.ID = 401; Header.Reliable = true; NameValueData = new NameValueDataBlock[0]; TaskData = new TaskDataBlock(); @@ -77411,7 +77874,7 @@ namespace libsecondlife.Packets public GetNameValuePairPacket() { Header = new LowHeader(); - Header.ID = 400; + Header.ID = 402; Header.Reliable = true; NameValueName = new NameValueNameBlock[0]; TaskData = new TaskDataBlock(); @@ -77854,7 +78317,7 @@ namespace libsecondlife.Packets public UpdateAttachmentPacket() { Header = new LowHeader(); - Header.ID = 401; + Header.ID = 403; Header.Reliable = true; Header.Zerocoded = true; InventoryData = new InventoryDataBlock(); @@ -78036,7 +78499,7 @@ namespace libsecondlife.Packets public RemoveAttachmentPacket() { Header = new LowHeader(); - Header.ID = 402; + Header.ID = 404; Header.Reliable = true; AgentData = new AgentDataBlock(); AttachmentBlock = new AttachmentBlockBlock(); @@ -78185,7 +78648,7 @@ namespace libsecondlife.Packets public AssetUploadRequestPacket() { Header = new LowHeader(); - Header.ID = 403; + Header.ID = 405; Header.Reliable = true; AssetBlock = new AssetBlockBlock(); } @@ -78301,7 +78764,7 @@ namespace libsecondlife.Packets public AssetUploadCompletePacket() { Header = new LowHeader(); - Header.ID = 404; + Header.ID = 406; Header.Reliable = true; AssetBlock = new AssetBlockBlock(); } @@ -78438,7 +78901,7 @@ namespace libsecondlife.Packets public ReputationAgentAssignPacket() { Header = new LowHeader(); - Header.ID = 405; + Header.ID = 407; Header.Reliable = true; DataBlock = new DataBlockBlock(); } @@ -78550,7 +79013,7 @@ namespace libsecondlife.Packets public ReputationIndividualRequestPacket() { Header = new LowHeader(); - Header.ID = 406; + Header.ID = 408; Header.Reliable = true; ReputationData = new ReputationDataBlock(); } @@ -78687,7 +79150,7 @@ namespace libsecondlife.Packets public ReputationIndividualReplyPacket() { Header = new LowHeader(); - Header.ID = 407; + Header.ID = 409; Header.Reliable = true; ReputationData = new ReputationDataBlock(); } @@ -78835,7 +79298,7 @@ namespace libsecondlife.Packets public EmailMessageRequestPacket() { Header = new LowHeader(); - Header.ID = 408; + Header.ID = 410; Header.Reliable = true; DataBlock = new DataBlockBlock(); } @@ -79040,7 +79503,7 @@ namespace libsecondlife.Packets public EmailMessageReplyPacket() { Header = new LowHeader(); - Header.ID = 409; + Header.ID = 411; Header.Reliable = true; DataBlock = new DataBlockBlock(); } @@ -79180,7 +79643,7 @@ namespace libsecondlife.Packets public ScriptDataRequestPacket() { Header = new LowHeader(); - Header.ID = 410; + Header.ID = 412; Header.Reliable = true; DataBlock = new DataBlockBlock[0]; } @@ -79327,7 +79790,7 @@ namespace libsecondlife.Packets public ScriptDataReplyPacket() { Header = new LowHeader(); - Header.ID = 411; + Header.ID = 413; Header.Reliable = true; DataBlock = new DataBlockBlock[0]; } @@ -79571,7 +80034,7 @@ namespace libsecondlife.Packets public CreateGroupRequestPacket() { Header = new LowHeader(); - Header.ID = 412; + Header.ID = 414; Header.Reliable = true; Header.Zerocoded = true; AgentData = new AgentDataBlock(); @@ -79759,7 +80222,7 @@ namespace libsecondlife.Packets public CreateGroupReplyPacket() { Header = new LowHeader(); - Header.ID = 413; + Header.ID = 415; Header.Reliable = true; ReplyData = new ReplyDataBlock(); AgentData = new AgentDataBlock(); @@ -79982,7 +80445,7 @@ namespace libsecondlife.Packets public UpdateGroupInfoPacket() { Header = new LowHeader(); - Header.ID = 414; + Header.ID = 416; Header.Reliable = true; Header.Zerocoded = true; AgentData = new AgentDataBlock(); @@ -80169,7 +80632,7 @@ namespace libsecondlife.Packets public GroupRoleChangesPacket() { Header = new LowHeader(); - Header.ID = 415; + Header.ID = 417; Header.Reliable = true; RoleChange = new RoleChangeBlock[0]; AgentData = new AgentDataBlock(); @@ -80347,7 +80810,7 @@ namespace libsecondlife.Packets public JoinGroupRequestPacket() { Header = new LowHeader(); - Header.ID = 416; + Header.ID = 418; Header.Reliable = true; Header.Zerocoded = true; AgentData = new AgentDataBlock(); @@ -80513,7 +80976,7 @@ namespace libsecondlife.Packets public JoinGroupReplyPacket() { Header = new LowHeader(); - Header.ID = 417; + Header.ID = 419; Header.Reliable = true; AgentData = new AgentDataBlock(); GroupData = new GroupDataBlock(); @@ -80728,7 +81191,7 @@ namespace libsecondlife.Packets public EjectGroupMemberRequestPacket() { Header = new LowHeader(); - Header.ID = 418; + Header.ID = 420; Header.Reliable = true; AgentData = new AgentDataBlock(); EjectData = new EjectDataBlock[0]; @@ -80953,7 +81416,7 @@ namespace libsecondlife.Packets public EjectGroupMemberReplyPacket() { Header = new LowHeader(); - Header.ID = 419; + Header.ID = 421; Header.Reliable = true; AgentData = new AgentDataBlock(); EjectData = new EjectDataBlock(); @@ -81124,7 +81587,7 @@ namespace libsecondlife.Packets public LeaveGroupRequestPacket() { Header = new LowHeader(); - Header.ID = 420; + Header.ID = 422; Header.Reliable = true; AgentData = new AgentDataBlock(); GroupData = new GroupDataBlock(); @@ -81289,7 +81752,7 @@ namespace libsecondlife.Packets public LeaveGroupReplyPacket() { Header = new LowHeader(); - Header.ID = 421; + Header.ID = 423; Header.Reliable = true; AgentData = new AgentDataBlock(); GroupData = new GroupDataBlock(); @@ -81510,7 +81973,7 @@ namespace libsecondlife.Packets public InviteGroupRequestPacket() { Header = new LowHeader(); - Header.ID = 422; + Header.ID = 424; Header.Reliable = true; InviteData = new InviteDataBlock[0]; AgentData = new AgentDataBlock(); @@ -81664,7 +82127,7 @@ namespace libsecondlife.Packets public InviteGroupResponsePacket() { Header = new LowHeader(); - Header.ID = 423; + Header.ID = 425; Header.Reliable = true; InviteData = new InviteDataBlock(); } @@ -81825,7 +82288,7 @@ namespace libsecondlife.Packets public GroupProfileRequestPacket() { Header = new LowHeader(); - Header.ID = 424; + Header.ID = 426; Header.Reliable = true; AgentData = new AgentDataBlock(); GroupData = new GroupDataBlock(); @@ -82130,7 +82593,7 @@ namespace libsecondlife.Packets public GroupProfileReplyPacket() { Header = new LowHeader(); - Header.ID = 425; + Header.ID = 427; Header.Reliable = true; Header.Zerocoded = true; AgentData = new AgentDataBlock(); @@ -82319,7 +82782,7 @@ namespace libsecondlife.Packets public GroupAccountSummaryRequestPacket() { Header = new LowHeader(); - Header.ID = 426; + Header.ID = 428; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -82676,7 +83139,7 @@ namespace libsecondlife.Packets public GroupAccountSummaryReplyPacket() { Header = new LowHeader(); - Header.ID = 427; + Header.ID = 429; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -82865,7 +83328,7 @@ namespace libsecondlife.Packets public GroupAccountDetailsRequestPacket() { Header = new LowHeader(); - Header.ID = 428; + Header.ID = 430; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -83143,7 +83606,7 @@ namespace libsecondlife.Packets public GroupAccountDetailsReplyPacket() { Header = new LowHeader(); - Header.ID = 429; + Header.ID = 431; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -83349,7 +83812,7 @@ namespace libsecondlife.Packets public GroupAccountTransactionsRequestPacket() { Header = new LowHeader(); - Header.ID = 430; + Header.ID = 432; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -83675,7 +84138,7 @@ namespace libsecondlife.Packets public GroupAccountTransactionsReplyPacket() { Header = new LowHeader(); - Header.ID = 431; + Header.ID = 433; Header.Reliable = true; Header.Zerocoded = true; MoneyData = new MoneyDataBlock(); @@ -83908,7 +84371,7 @@ namespace libsecondlife.Packets public GroupActiveProposalsRequestPacket() { Header = new LowHeader(); - Header.ID = 432; + Header.ID = 434; Header.Reliable = true; AgentData = new AgentDataBlock(); TransactionData = new TransactionDataBlock(); @@ -84266,7 +84729,7 @@ namespace libsecondlife.Packets public GroupActiveProposalItemReplyPacket() { Header = new LowHeader(); - Header.ID = 433; + Header.ID = 435; Header.Reliable = true; Header.Zerocoded = true; ProposalData = new ProposalDataBlock[0]; @@ -84499,7 +84962,7 @@ namespace libsecondlife.Packets public GroupVoteHistoryRequestPacket() { Header = new LowHeader(); - Header.ID = 434; + Header.ID = 436; Header.Reliable = true; AgentData = new AgentDataBlock(); TransactionData = new TransactionDataBlock(); @@ -84952,7 +85415,7 @@ namespace libsecondlife.Packets public GroupVoteHistoryItemReplyPacket() { Header = new LowHeader(); - Header.ID = 435; + Header.ID = 437; Header.Reliable = true; Header.Zerocoded = true; HistoryItemData = new HistoryItemDataBlock(); @@ -85188,7 +85651,7 @@ namespace libsecondlife.Packets public StartGroupProposalPacket() { Header = new LowHeader(); - Header.ID = 436; + Header.ID = 438; Header.Reliable = true; Header.Zerocoded = true; ProposalData = new ProposalDataBlock(); @@ -85383,7 +85846,7 @@ namespace libsecondlife.Packets public GroupProposalBallotPacket() { Header = new LowHeader(); - Header.ID = 437; + Header.ID = 439; Header.Reliable = true; ProposalData = new ProposalDataBlock(); AgentData = new AgentDataBlock(); @@ -85445,7 +85908,7 @@ namespace libsecondlife.Packets public TallyVotesPacket() { Header = new LowHeader(); - Header.ID = 438; + Header.ID = 440; Header.Reliable = true; } @@ -85607,7 +86070,7 @@ namespace libsecondlife.Packets public GroupMembersRequestPacket() { Header = new LowHeader(); - Header.ID = 439; + Header.ID = 441; Header.Reliable = true; AgentData = new AgentDataBlock(); GroupData = new GroupDataBlock(); @@ -85897,7 +86360,7 @@ namespace libsecondlife.Packets public GroupMembersReplyPacket() { Header = new LowHeader(); - Header.ID = 440; + Header.ID = 442; Header.Reliable = true; Header.Zerocoded = true; MemberData = new MemberDataBlock[0]; @@ -86038,7 +86501,7 @@ namespace libsecondlife.Packets public ActivateGroupPacket() { Header = new LowHeader(); - Header.ID = 441; + Header.ID = 443; Header.Reliable = true; Header.Zerocoded = true; AgentData = new AgentDataBlock(); @@ -86208,7 +86671,7 @@ namespace libsecondlife.Packets public SetGroupContributionPacket() { Header = new LowHeader(); - Header.ID = 442; + Header.ID = 444; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -86379,7 +86842,7 @@ namespace libsecondlife.Packets public SetGroupAcceptNoticesPacket() { Header = new LowHeader(); - Header.ID = 443; + Header.ID = 445; Header.Reliable = true; Data = new DataBlock(); AgentData = new AgentDataBlock(); @@ -86551,7 +87014,7 @@ namespace libsecondlife.Packets public GroupRoleDataRequestPacket() { Header = new LowHeader(); - Header.ID = 444; + Header.ID = 446; Header.Reliable = true; AgentData = new AgentDataBlock(); GroupData = new GroupDataBlock(); @@ -86856,7 +87319,7 @@ namespace libsecondlife.Packets public GroupRoleDataReplyPacket() { Header = new LowHeader(); - Header.ID = 445; + Header.ID = 447; Header.Reliable = true; RoleData = new RoleDataBlock[0]; AgentData = new AgentDataBlock(); @@ -87045,7 +87508,7 @@ namespace libsecondlife.Packets public GroupRoleMembersRequestPacket() { Header = new LowHeader(); - Header.ID = 446; + Header.ID = 448; Header.Reliable = true; AgentData = new AgentDataBlock(); GroupData = new GroupDataBlock(); @@ -87231,7 +87694,7 @@ namespace libsecondlife.Packets public GroupRoleMembersReplyPacket() { Header = new LowHeader(); - Header.ID = 447; + Header.ID = 449; Header.Reliable = true; MemberData = new MemberDataBlock[0]; AgentData = new AgentDataBlock(); @@ -87372,7 +87835,7 @@ namespace libsecondlife.Packets public GroupTitlesRequestPacket() { Header = new LowHeader(); - Header.ID = 448; + Header.ID = 450; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -87566,7 +88029,7 @@ namespace libsecondlife.Packets public GroupTitlesReplyPacket() { Header = new LowHeader(); - Header.ID = 449; + Header.ID = 451; Header.Reliable = true; Header.Zerocoded = true; AgentData = new AgentDataBlock(); @@ -87708,7 +88171,7 @@ namespace libsecondlife.Packets public GroupTitleUpdatePacket() { Header = new LowHeader(); - Header.ID = 450; + Header.ID = 452; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -87954,7 +88417,7 @@ namespace libsecondlife.Packets public GroupRoleUpdatePacket() { Header = new LowHeader(); - Header.ID = 451; + Header.ID = 453; Header.Reliable = true; RoleData = new RoleDataBlock[0]; AgentData = new AgentDataBlock(); @@ -88083,7 +88546,7 @@ namespace libsecondlife.Packets public LiveHelpGroupRequestPacket() { Header = new LowHeader(); - Header.ID = 452; + Header.ID = 454; Header.Reliable = true; RequestData = new RequestDataBlock(); } @@ -88217,7 +88680,7 @@ namespace libsecondlife.Packets public LiveHelpGroupReplyPacket() { Header = new LowHeader(); - Header.ID = 453; + Header.ID = 455; Header.Reliable = true; ReplyData = new ReplyDataBlock(); } @@ -88329,7 +88792,7 @@ namespace libsecondlife.Packets public AgentWearablesRequestPacket() { Header = new LowHeader(); - Header.ID = 454; + Header.ID = 456; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -88509,7 +88972,7 @@ namespace libsecondlife.Packets public AgentWearablesUpdatePacket() { Header = new LowHeader(); - Header.ID = 455; + Header.ID = 457; Header.Reliable = true; Header.Zerocoded = true; WearableData = new WearableDataBlock[0]; @@ -88693,7 +89156,7 @@ namespace libsecondlife.Packets public AgentIsNowWearingPacket() { Header = new LowHeader(); - Header.ID = 456; + Header.ID = 458; Header.Reliable = true; Header.Zerocoded = true; WearableData = new WearableDataBlock[0]; @@ -88885,7 +89348,7 @@ namespace libsecondlife.Packets public AgentCachedTexturePacket() { Header = new LowHeader(); - Header.ID = 457; + Header.ID = 459; Header.Reliable = true; WearableData = new WearableDataBlock[0]; AgentData = new AgentDataBlock(); @@ -89098,7 +89561,7 @@ namespace libsecondlife.Packets public AgentCachedTextureResponsePacket() { Header = new LowHeader(); - Header.ID = 458; + Header.ID = 460; Header.Reliable = true; WearableData = new WearableDataBlock[0]; AgentData = new AgentDataBlock(); @@ -89227,7 +89690,7 @@ namespace libsecondlife.Packets public AgentDataUpdateRequestPacket() { Header = new LowHeader(); - Header.ID = 459; + Header.ID = 461; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -89433,7 +89896,7 @@ namespace libsecondlife.Packets public AgentDataUpdatePacket() { Header = new LowHeader(); - Header.ID = 460; + Header.ID = 462; Header.Reliable = true; Header.Zerocoded = true; AgentData = new AgentDataBlock(); @@ -89580,7 +90043,7 @@ namespace libsecondlife.Packets public GroupDataUpdatePacket() { Header = new LowHeader(); - Header.ID = 461; + Header.ID = 463; Header.Reliable = true; Header.Zerocoded = true; AgentGroupData = new AgentGroupDataBlock[0]; @@ -89801,7 +90264,7 @@ namespace libsecondlife.Packets public AgentGroupDataUpdatePacket() { Header = new LowHeader(); - Header.ID = 462; + Header.ID = 464; Header.Reliable = true; Header.Zerocoded = true; AgentData = new AgentDataBlock(); @@ -89931,7 +90394,7 @@ namespace libsecondlife.Packets public AgentDropGroupPacket() { Header = new LowHeader(); - Header.ID = 463; + Header.ID = 465; Header.Reliable = true; Header.Zerocoded = true; AgentData = new AgentDataBlock(); @@ -90092,7 +90555,7 @@ namespace libsecondlife.Packets public LogTextMessagePacket() { Header = new LowHeader(); - Header.ID = 464; + Header.ID = 466; Header.Reliable = true; Header.Zerocoded = true; DataBlock = new DataBlockBlock[0]; @@ -90217,7 +90680,7 @@ namespace libsecondlife.Packets public CreateTrustedCircuitPacket() { Header = new LowHeader(); - Header.ID = 465; + Header.ID = 467; Header.Reliable = true; DataBlock = new DataBlockBlock(); } @@ -90323,7 +90786,7 @@ namespace libsecondlife.Packets public DenyTrustedCircuitPacket() { Header = new LowHeader(); - Header.ID = 466; + Header.ID = 468; Header.Reliable = true; DataBlock = new DataBlockBlock(); } @@ -90569,7 +91032,7 @@ namespace libsecondlife.Packets public RezSingleAttachmentFromInvPacket() { Header = new LowHeader(); - Header.ID = 467; + Header.ID = 469; Header.Reliable = true; Header.Zerocoded = true; ObjectData = new ObjectDataBlock(); @@ -90880,7 +91343,7 @@ namespace libsecondlife.Packets public RezMultipleAttachmentsFromInvPacket() { Header = new LowHeader(); - Header.ID = 468; + Header.ID = 470; Header.Reliable = true; Header.Zerocoded = true; ObjectData = new ObjectDataBlock[0]; @@ -91015,7 +91478,7 @@ namespace libsecondlife.Packets public DetachAttachmentIntoInvPacket() { Header = new LowHeader(); - Header.ID = 469; + Header.ID = 471; Header.Reliable = true; ObjectData = new ObjectDataBlock(); } @@ -91231,7 +91694,7 @@ namespace libsecondlife.Packets public CreateNewOutfitAttachmentsPacket() { Header = new LowHeader(); - Header.ID = 470; + Header.ID = 472; Header.Reliable = true; ObjectData = new ObjectDataBlock[0]; AgentData = new AgentDataBlock(); @@ -91365,7 +91828,7 @@ namespace libsecondlife.Packets public UserInfoRequestPacket() { Header = new LowHeader(); - Header.ID = 471; + Header.ID = 473; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -91542,7 +92005,7 @@ namespace libsecondlife.Packets public UserInfoReplyPacket() { Header = new LowHeader(); - Header.ID = 472; + Header.ID = 474; Header.Reliable = true; UserData = new UserDataBlock(); AgentData = new AgentDataBlock(); @@ -91707,7 +92170,7 @@ namespace libsecondlife.Packets public UpdateUserInfoPacket() { Header = new LowHeader(); - Header.ID = 473; + Header.ID = 475; Header.Reliable = true; UserData = new UserDataBlock(); AgentData = new AgentDataBlock(); @@ -91873,7 +92336,7 @@ namespace libsecondlife.Packets public GodExpungeUserPacket() { Header = new LowHeader(); - Header.ID = 474; + Header.ID = 476; Header.Reliable = true; Header.Zerocoded = true; ExpungeData = new ExpungeDataBlock[0]; @@ -91997,7 +92460,7 @@ namespace libsecondlife.Packets public StartExpungeProcessPacket() { Header = new LowHeader(); - Header.ID = 475; + Header.ID = 477; Header.Reliable = true; Header.Zerocoded = true; ExpungeData = new ExpungeDataBlock[0]; @@ -92067,7 +92530,7 @@ namespace libsecondlife.Packets public StartExpungeProcessAckPacket() { Header = new LowHeader(); - Header.ID = 476; + Header.ID = 478; Header.Reliable = true; } @@ -92190,7 +92653,7 @@ namespace libsecondlife.Packets public StartParcelRenamePacket() { Header = new LowHeader(); - Header.ID = 477; + Header.ID = 479; Header.Reliable = true; ParcelData = new ParcelDataBlock[0]; } @@ -92259,7 +92722,7 @@ namespace libsecondlife.Packets public StartParcelRenameAckPacket() { Header = new LowHeader(); - Header.ID = 478; + Header.ID = 480; Header.Reliable = true; } @@ -92394,7 +92857,7 @@ namespace libsecondlife.Packets public BulkParcelRenamePacket() { Header = new LowHeader(); - Header.ID = 479; + Header.ID = 481; Header.Reliable = true; Header.Zerocoded = true; ParcelData = new ParcelDataBlock[0]; @@ -92535,7 +92998,7 @@ namespace libsecondlife.Packets public ParcelRenamePacket() { Header = new LowHeader(); - Header.ID = 480; + Header.ID = 482; Header.Reliable = true; ParcelData = new ParcelDataBlock[0]; } @@ -92653,7 +93116,7 @@ namespace libsecondlife.Packets public StartParcelRemovePacket() { Header = new LowHeader(); - Header.ID = 481; + Header.ID = 483; Header.Reliable = true; ParcelData = new ParcelDataBlock[0]; } @@ -92722,7 +93185,7 @@ namespace libsecondlife.Packets public StartParcelRemoveAckPacket() { Header = new LowHeader(); - Header.ID = 482; + Header.ID = 484; Header.Reliable = true; } @@ -92835,7 +93298,7 @@ namespace libsecondlife.Packets public BulkParcelRemovePacket() { Header = new LowHeader(); - Header.ID = 483; + Header.ID = 485; Header.Reliable = true; Header.Zerocoded = true; ParcelData = new ParcelDataBlock[0]; @@ -93039,7 +93502,7 @@ namespace libsecondlife.Packets public InitiateUploadPacket() { Header = new LowHeader(); - Header.ID = 484; + Header.ID = 486; Header.Reliable = true; FileData = new FileDataBlock(); AgentData = new AgentDataBlock(); @@ -93235,7 +93698,7 @@ namespace libsecondlife.Packets public InitiateDownloadPacket() { Header = new LowHeader(); - Header.ID = 485; + Header.ID = 487; Header.Reliable = true; FileData = new FileDataBlock(); AgentData = new AgentDataBlock(); @@ -93439,7 +93902,7 @@ namespace libsecondlife.Packets public SystemMessagePacket() { Header = new LowHeader(); - Header.ID = 486; + Header.ID = 488; Header.Reliable = true; Header.Zerocoded = true; MethodData = new MethodDataBlock(); @@ -93590,7 +94053,7 @@ namespace libsecondlife.Packets public MapLayerRequestPacket() { Header = new LowHeader(); - Header.ID = 487; + Header.ID = 489; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -93785,7 +94248,7 @@ namespace libsecondlife.Packets public MapLayerReplyPacket() { Header = new LowHeader(); - Header.ID = 488; + Header.ID = 490; Header.Reliable = true; AgentData = new AgentDataBlock(); LayerData = new LayerDataBlock[0]; @@ -94002,7 +94465,7 @@ namespace libsecondlife.Packets public MapBlockRequestPacket() { Header = new LowHeader(); - Header.ID = 489; + Header.ID = 491; Header.Reliable = true; PositionData = new PositionDataBlock(); AgentData = new AgentDataBlock(); @@ -94205,7 +94668,7 @@ namespace libsecondlife.Packets public MapNameRequestPacket() { Header = new LowHeader(); - Header.ID = 490; + Header.ID = 492; Header.Reliable = true; NameData = new NameDataBlock(); AgentData = new AgentDataBlock(); @@ -94430,7 +94893,7 @@ namespace libsecondlife.Packets public MapBlockReplyPacket() { Header = new LowHeader(); - Header.ID = 491; + Header.ID = 493; Header.Reliable = true; Data = new DataBlock[0]; AgentData = new AgentDataBlock(); @@ -94643,7 +95106,7 @@ namespace libsecondlife.Packets public MapItemRequestPacket() { Header = new LowHeader(); - Header.ID = 492; + Header.ID = 494; Header.Reliable = true; RequestData = new RequestDataBlock(); AgentData = new AgentDataBlock(); @@ -94916,7 +95379,7 @@ namespace libsecondlife.Packets public MapItemReplyPacket() { Header = new LowHeader(); - Header.ID = 493; + Header.ID = 495; Header.Reliable = true; RequestData = new RequestDataBlock(); Data = new DataBlock[0]; @@ -95175,7 +95638,7 @@ namespace libsecondlife.Packets public SendPostcardPacket() { Header = new LowHeader(); - Header.ID = 494; + Header.ID = 496; Header.Reliable = true; AgentData = new AgentDataBlock(); } @@ -95303,7 +95766,7 @@ namespace libsecondlife.Packets public RpcChannelRequestPacket() { Header = new LowHeader(); - Header.ID = 495; + Header.ID = 497; Header.Reliable = true; DataBlock = new DataBlockBlock(); } @@ -95421,7 +95884,7 @@ namespace libsecondlife.Packets public RpcChannelReplyPacket() { Header = new LowHeader(); - Header.ID = 496; + Header.ID = 498; Header.Reliable = true; DataBlock = new DataBlockBlock(); } @@ -95629,7 +96092,7 @@ namespace libsecondlife.Packets public RpcScriptRequestInboundPacket() { Header = new LowHeader(); - Header.ID = 497; + Header.ID = 499; Header.Reliable = true; TargetBlock = new TargetBlockBlock(); DataBlock = new DataBlockBlock(); @@ -95797,7 +96260,7 @@ namespace libsecondlife.Packets public RpcScriptRequestInboundForwardPacket() { Header = new LowHeader(); - Header.ID = 498; + Header.ID = 500; Header.Reliable = true; DataBlock = new DataBlockBlock(); } @@ -95946,7 +96409,7 @@ namespace libsecondlife.Packets public RpcScriptReplyInboundPacket() { Header = new LowHeader(); - Header.ID = 499; + Header.ID = 501; Header.Reliable = true; DataBlock = new DataBlockBlock(); } @@ -96052,7 +96515,7 @@ namespace libsecondlife.Packets public MailTaskSimRequestPacket() { Header = new LowHeader(); - Header.ID = 500; + Header.ID = 502; Header.Reliable = true; DataBlock = new DataBlockBlock(); } @@ -96229,7 +96692,7 @@ namespace libsecondlife.Packets public MailTaskSimReplyPacket() { Header = new LowHeader(); - Header.ID = 501; + Header.ID = 503; Header.Reliable = true; TargetBlock = new TargetBlockBlock(); DataBlock = new DataBlockBlock(); @@ -96376,7 +96839,7 @@ namespace libsecondlife.Packets public ScriptMailRegistrationPacket() { Header = new LowHeader(); - Header.ID = 502; + Header.ID = 504; Header.Reliable = true; DataBlock = new DataBlockBlock(); } @@ -96501,7 +96964,7 @@ namespace libsecondlife.Packets public ParcelMediaCommandMessagePacket() { Header = new LowHeader(); - Header.ID = 503; + Header.ID = 505; Header.Reliable = true; CommandBlock = new CommandBlockBlock(); } @@ -96634,7 +97097,7 @@ namespace libsecondlife.Packets public ParcelMediaUpdatePacket() { Header = new LowHeader(); - Header.ID = 504; + Header.ID = 506; Header.Reliable = true; DataBlock = new DataBlockBlock(); } @@ -96835,7 +97298,7 @@ namespace libsecondlife.Packets public LandStatRequestPacket() { Header = new LowHeader(); - Header.ID = 505; + Header.ID = 507; Header.Reliable = true; RequestData = new RequestDataBlock(); AgentData = new AgentDataBlock(); @@ -97096,7 +97559,7 @@ namespace libsecondlife.Packets public LandStatReplyPacket() { Header = new LowHeader(); - Header.ID = 506; + Header.ID = 508; Header.Reliable = true; RequestData = new RequestDataBlock(); ReportData = new ReportDataBlock[0]; @@ -108436,4 +108899,3 @@ namespace libsecondlife.Packets } } - diff --git a/libsecondlife-cs/examples/groupmanager/frmGroupInfo.Designer.cs b/libsecondlife-cs/examples/groupmanager/frmGroupInfo.Designer.cs index 76c995d6..73e632e3 100644 --- a/libsecondlife-cs/examples/groupmanager/frmGroupInfo.Designer.cs +++ b/libsecondlife-cs/examples/groupmanager/frmGroupInfo.Designer.cs @@ -255,4 +255,4 @@ namespace groupmanager private System.Windows.Forms.CheckBox chkMature; private System.Windows.Forms.Label lblMemberTitle; } -} \ No newline at end of file +} diff --git a/libsecondlife-cs/examples/groupmanager/frmGroupManager.Designer.cs b/libsecondlife-cs/examples/groupmanager/frmGroupManager.Designer.cs index 727a1592..2a446910 100644 --- a/libsecondlife-cs/examples/groupmanager/frmGroupManager.Designer.cs +++ b/libsecondlife-cs/examples/groupmanager/frmGroupManager.Designer.cs @@ -29,10 +29,6 @@ namespace groupmanager private void InitializeComponent() { this.groupBox = new System.Windows.Forms.GroupBox(); - this.cmdInfo = new System.Windows.Forms.Button(); - this.cmdActivate = new System.Windows.Forms.Button(); - this.cmdCreate = new System.Windows.Forms.Button(); - this.cmdLeave = new System.Windows.Forms.Button(); this.lstGroups = new System.Windows.Forms.ListBox(); this.grpLogin = new System.Windows.Forms.GroupBox(); this.label3 = new System.Windows.Forms.Label(); @@ -42,6 +38,10 @@ namespace groupmanager this.txtLastName = new System.Windows.Forms.TextBox(); this.cmdConnect = new System.Windows.Forms.Button(); this.txtFirstName = new System.Windows.Forms.TextBox(); + this.cmdLeave = new System.Windows.Forms.Button(); + this.cmdCreate = new System.Windows.Forms.Button(); + this.cmdActivate = new System.Windows.Forms.Button(); + this.cmdInfo = new System.Windows.Forms.Button(); this.groupBox.SuspendLayout(); this.grpLogin.SuspendLayout(); this.SuspendLayout(); @@ -61,46 +61,6 @@ namespace groupmanager this.groupBox.TabStop = false; this.groupBox.Text = "Groups"; // - // cmdInfo - // - this.cmdInfo.Enabled = false; - this.cmdInfo.Location = new System.Drawing.Point(216, 174); - this.cmdInfo.Name = "cmdInfo"; - this.cmdInfo.Size = new System.Drawing.Size(90, 23); - this.cmdInfo.TabIndex = 10; - this.cmdInfo.Text = "Info"; - this.cmdInfo.UseVisualStyleBackColor = true; - this.cmdInfo.Click += new System.EventHandler(this.cmdInfo_Click); - // - // cmdActivate - // - this.cmdActivate.Enabled = false; - this.cmdActivate.Location = new System.Drawing.Point(116, 174); - this.cmdActivate.Name = "cmdActivate"; - this.cmdActivate.Size = new System.Drawing.Size(90, 23); - this.cmdActivate.TabIndex = 9; - this.cmdActivate.Text = "Activate"; - this.cmdActivate.UseVisualStyleBackColor = true; - // - // cmdCreate - // - this.cmdCreate.Location = new System.Drawing.Point(19, 174); - this.cmdCreate.Name = "cmdCreate"; - this.cmdCreate.Size = new System.Drawing.Size(90, 23); - this.cmdCreate.TabIndex = 8; - this.cmdCreate.Text = "Create"; - this.cmdCreate.UseVisualStyleBackColor = true; - // - // cmdLeave - // - this.cmdLeave.Enabled = false; - this.cmdLeave.Location = new System.Drawing.Point(313, 174); - this.cmdLeave.Name = "cmdLeave"; - this.cmdLeave.Size = new System.Drawing.Size(90, 23); - this.cmdLeave.TabIndex = 7; - this.cmdLeave.Text = "Leave"; - this.cmdLeave.UseVisualStyleBackColor = true; - // // lstGroups // this.lstGroups.FormattingEnabled = true; @@ -180,6 +140,46 @@ namespace groupmanager this.txtFirstName.Size = new System.Drawing.Size(120, 20); this.txtFirstName.TabIndex = 0; // + // cmdLeave + // + this.cmdLeave.Enabled = false; + this.cmdLeave.Location = new System.Drawing.Point(313, 174); + this.cmdLeave.Name = "cmdLeave"; + this.cmdLeave.Size = new System.Drawing.Size(90, 23); + this.cmdLeave.TabIndex = 7; + this.cmdLeave.Text = "Leave"; + this.cmdLeave.UseVisualStyleBackColor = true; + // + // cmdCreate + // + this.cmdCreate.Location = new System.Drawing.Point(19, 174); + this.cmdCreate.Name = "cmdCreate"; + this.cmdCreate.Size = new System.Drawing.Size(90, 23); + this.cmdCreate.TabIndex = 8; + this.cmdCreate.Text = "Create"; + this.cmdCreate.UseVisualStyleBackColor = true; + // + // cmdActivate + // + this.cmdActivate.Enabled = false; + this.cmdActivate.Location = new System.Drawing.Point(116, 174); + this.cmdActivate.Name = "cmdActivate"; + this.cmdActivate.Size = new System.Drawing.Size(90, 23); + this.cmdActivate.TabIndex = 9; + this.cmdActivate.Text = "Activate"; + this.cmdActivate.UseVisualStyleBackColor = true; + // + // cmdInfo + // + this.cmdInfo.Enabled = false; + this.cmdInfo.Location = new System.Drawing.Point(216, 174); + this.cmdInfo.Name = "cmdInfo"; + this.cmdInfo.Size = new System.Drawing.Size(90, 23); + this.cmdInfo.TabIndex = 10; + this.cmdInfo.Text = "Info"; + this.cmdInfo.UseVisualStyleBackColor = true; + this.cmdInfo.Click += new System.EventHandler(this.cmdInfo_Click); + // // frmGroupManager // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -191,8 +191,8 @@ namespace groupmanager this.MaximumSize = new System.Drawing.Size(453, 378); this.MinimumSize = new System.Drawing.Size(453, 378); this.Name = "frmGroupManager"; - this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; this.Text = "Group Manager"; + //this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmGroupManager_FormClosing); this.groupBox.ResumeLayout(false); this.grpLogin.ResumeLayout(false); this.grpLogin.PerformLayout(); diff --git a/libsecondlife-cs/examples/groupmanager/groupmanager.csproj b/libsecondlife-cs/examples/groupmanager/groupmanager.csproj index 165c9315..45fb2575 100644 --- a/libsecondlife-cs/examples/groupmanager/groupmanager.csproj +++ b/libsecondlife-cs/examples/groupmanager/groupmanager.csproj @@ -130,4 +130,4 @@ - \ No newline at end of file +