From dc22693b61a77cb18071e3647c0ee898ffd5cbbd Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Tue, 13 Oct 2009 21:29:25 +0000 Subject: [PATCH] * Added more packets to the unused packets list * Exposed UDPBase.udpPort git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3142 52acb1d6-8a22-11de-b505-999d5b087335 --- OpenMetaverse/UDPBase.cs | 8 +- OpenMetaverse/_Packets_.cs | 1170 ----------------------- Programs/PrimWorkshop/frmBrowser.cs | 6 +- Programs/mapgenerator/unusedpackets.txt | 11 +- 4 files changed, 17 insertions(+), 1178 deletions(-) diff --git a/OpenMetaverse/UDPBase.cs b/OpenMetaverse/UDPBase.cs index f863ca4d..4e0648d3 100644 --- a/OpenMetaverse/UDPBase.cs +++ b/OpenMetaverse/UDPBase.cs @@ -43,7 +43,10 @@ namespace OpenMetaverse protected abstract void PacketSent(UDPPacketBuffer buffer, int bytesSent); // the port to listen on - internal int udpPort; + protected int udpPort; + + // the remote endpoint to communicate with + protected IPEndPoint remoteEndPoint = null; // the UDP socket private Socket udpSocket; @@ -51,9 +54,6 @@ namespace OpenMetaverse // the all important shutdownFlag. private volatile bool shutdownFlag = true; - // the remote endpoint to communicate with - protected IPEndPoint remoteEndPoint = null; - /// /// Initialize the UDP packet handler in server mode /// diff --git a/OpenMetaverse/_Packets_.cs b/OpenMetaverse/_Packets_.cs index 01894e97..0e4dd733 100644 --- a/OpenMetaverse/_Packets_.cs +++ b/OpenMetaverse/_Packets_.cs @@ -370,7 +370,6 @@ namespace OpenMetaverse.Packets RequestRegionInfo = 65677, RegionInfo = 65678, GodUpdateRegionInfo = 65679, - NearestLandingRegionUpdated = 65682, RegionHandshake = 65684, RegionHandshakeReply = 65685, SimulatorViewerTimeMessage = 65686, @@ -387,7 +386,6 @@ namespace OpenMetaverse.Packets RequestPayPrice = 65697, PayPriceReply = 65698, KickUser = 65699, - KickUserAck = 65700, GodKickUser = 65701, EjectUser = 65703, FreezeUser = 65704, @@ -487,8 +485,6 @@ namespace OpenMetaverse.Packets FetchInventory = 65815, FetchInventoryReply = 65816, BulkUpdateInventory = 65817, - RequestInventoryAsset = 65818, - InventoryAssetResponse = 65819, RemoveInventoryObjects = 65820, PurgeInventoryDescendents = 65821, UpdateTaskInventory = 65822, @@ -502,7 +498,6 @@ namespace OpenMetaverse.Packets RezObjectFromNotecard = 65830, AcceptFriendship = 65833, DeclineFriendship = 65834, - FormFriendship = 65835, TerminateFriendship = 65836, OfferCallingCard = 65837, AcceptCallingCard = 65838, @@ -577,9 +572,6 @@ namespace OpenMetaverse.Packets GroupDataUpdate = 65924, AgentGroupDataUpdate = 65925, AgentDropGroup = 65926, - CreateTrustedCircuit = 65928, - DenyTrustedCircuit = 65929, - RequestTrustedCircuit = 65930, RezSingleAttachmentFromInv = 65931, RezMultipleAttachmentsFromInv = 65932, DetachAttachmentIntoInv = 65933, @@ -588,7 +580,6 @@ namespace OpenMetaverse.Packets UserInfoReply = 65936, UpdateUserInfo = 65937, InitiateDownload = 65939, - SystemMessage = 65940, MapLayerRequest = 65941, MapLayerReply = 65942, MapBlockRequest = 65943, @@ -784,7 +775,6 @@ namespace OpenMetaverse.Packets case 141: return PacketType.RequestRegionInfo; case 142: return PacketType.RegionInfo; case 143: return PacketType.GodUpdateRegionInfo; - case 146: return PacketType.NearestLandingRegionUpdated; case 148: return PacketType.RegionHandshake; case 149: return PacketType.RegionHandshakeReply; case 150: return PacketType.SimulatorViewerTimeMessage; @@ -801,7 +791,6 @@ namespace OpenMetaverse.Packets case 161: return PacketType.RequestPayPrice; case 162: return PacketType.PayPriceReply; case 163: return PacketType.KickUser; - case 164: return PacketType.KickUserAck; case 165: return PacketType.GodKickUser; case 167: return PacketType.EjectUser; case 168: return PacketType.FreezeUser; @@ -901,8 +890,6 @@ namespace OpenMetaverse.Packets case 279: return PacketType.FetchInventory; case 280: return PacketType.FetchInventoryReply; case 281: return PacketType.BulkUpdateInventory; - case 282: return PacketType.RequestInventoryAsset; - case 283: return PacketType.InventoryAssetResponse; case 284: return PacketType.RemoveInventoryObjects; case 285: return PacketType.PurgeInventoryDescendents; case 286: return PacketType.UpdateTaskInventory; @@ -916,7 +903,6 @@ namespace OpenMetaverse.Packets case 294: return PacketType.RezObjectFromNotecard; case 297: return PacketType.AcceptFriendship; case 298: return PacketType.DeclineFriendship; - case 299: return PacketType.FormFriendship; case 300: return PacketType.TerminateFriendship; case 301: return PacketType.OfferCallingCard; case 302: return PacketType.AcceptCallingCard; @@ -991,9 +977,6 @@ namespace OpenMetaverse.Packets case 388: return PacketType.GroupDataUpdate; case 389: return PacketType.AgentGroupDataUpdate; case 390: return PacketType.AgentDropGroup; - case 392: return PacketType.CreateTrustedCircuit; - case 393: return PacketType.DenyTrustedCircuit; - case 394: return PacketType.RequestTrustedCircuit; case 395: return PacketType.RezSingleAttachmentFromInv; case 396: return PacketType.RezMultipleAttachmentsFromInv; case 397: return PacketType.DetachAttachmentIntoInv; @@ -1002,7 +985,6 @@ namespace OpenMetaverse.Packets case 400: return PacketType.UserInfoReply; case 401: return PacketType.UpdateUserInfo; case 403: return PacketType.InitiateDownload; - case 404: return PacketType.SystemMessage; case 405: return PacketType.MapLayerRequest; case 406: return PacketType.MapLayerReply; case 407: return PacketType.MapBlockRequest; @@ -1236,7 +1218,6 @@ namespace OpenMetaverse.Packets if(type == PacketType.RequestRegionInfo) return new RequestRegionInfoPacket(); if(type == PacketType.RegionInfo) return new RegionInfoPacket(); if(type == PacketType.GodUpdateRegionInfo) return new GodUpdateRegionInfoPacket(); - if(type == PacketType.NearestLandingRegionUpdated) return new NearestLandingRegionUpdatedPacket(); if(type == PacketType.RegionHandshake) return new RegionHandshakePacket(); if(type == PacketType.RegionHandshakeReply) return new RegionHandshakeReplyPacket(); if(type == PacketType.SimulatorViewerTimeMessage) return new SimulatorViewerTimeMessagePacket(); @@ -1253,7 +1234,6 @@ namespace OpenMetaverse.Packets if(type == PacketType.RequestPayPrice) return new RequestPayPricePacket(); if(type == PacketType.PayPriceReply) return new PayPriceReplyPacket(); if(type == PacketType.KickUser) return new KickUserPacket(); - if(type == PacketType.KickUserAck) return new KickUserAckPacket(); if(type == PacketType.GodKickUser) return new GodKickUserPacket(); if(type == PacketType.EjectUser) return new EjectUserPacket(); if(type == PacketType.FreezeUser) return new FreezeUserPacket(); @@ -1353,8 +1333,6 @@ namespace OpenMetaverse.Packets if(type == PacketType.FetchInventory) return new FetchInventoryPacket(); if(type == PacketType.FetchInventoryReply) return new FetchInventoryReplyPacket(); if(type == PacketType.BulkUpdateInventory) return new BulkUpdateInventoryPacket(); - if(type == PacketType.RequestInventoryAsset) return new RequestInventoryAssetPacket(); - if(type == PacketType.InventoryAssetResponse) return new InventoryAssetResponsePacket(); if(type == PacketType.RemoveInventoryObjects) return new RemoveInventoryObjectsPacket(); if(type == PacketType.PurgeInventoryDescendents) return new PurgeInventoryDescendentsPacket(); if(type == PacketType.UpdateTaskInventory) return new UpdateTaskInventoryPacket(); @@ -1368,7 +1346,6 @@ namespace OpenMetaverse.Packets if(type == PacketType.RezObjectFromNotecard) return new RezObjectFromNotecardPacket(); if(type == PacketType.AcceptFriendship) return new AcceptFriendshipPacket(); if(type == PacketType.DeclineFriendship) return new DeclineFriendshipPacket(); - if(type == PacketType.FormFriendship) return new FormFriendshipPacket(); if(type == PacketType.TerminateFriendship) return new TerminateFriendshipPacket(); if(type == PacketType.OfferCallingCard) return new OfferCallingCardPacket(); if(type == PacketType.AcceptCallingCard) return new AcceptCallingCardPacket(); @@ -1443,9 +1420,6 @@ namespace OpenMetaverse.Packets if(type == PacketType.GroupDataUpdate) return new GroupDataUpdatePacket(); if(type == PacketType.AgentGroupDataUpdate) return new AgentGroupDataUpdatePacket(); if(type == PacketType.AgentDropGroup) return new AgentDropGroupPacket(); - if(type == PacketType.CreateTrustedCircuit) return new CreateTrustedCircuitPacket(); - if(type == PacketType.DenyTrustedCircuit) return new DenyTrustedCircuitPacket(); - if(type == PacketType.RequestTrustedCircuit) return new RequestTrustedCircuitPacket(); if(type == PacketType.RezSingleAttachmentFromInv) return new RezSingleAttachmentFromInvPacket(); if(type == PacketType.RezMultipleAttachmentsFromInv) return new RezMultipleAttachmentsFromInvPacket(); if(type == PacketType.DetachAttachmentIntoInv) return new DetachAttachmentIntoInvPacket(); @@ -1454,7 +1428,6 @@ namespace OpenMetaverse.Packets if(type == PacketType.UserInfoReply) return new UserInfoReplyPacket(); if(type == PacketType.UpdateUserInfo) return new UpdateUserInfoPacket(); if(type == PacketType.InitiateDownload) return new InitiateDownloadPacket(); - if(type == PacketType.SystemMessage) return new SystemMessagePacket(); if(type == PacketType.MapLayerRequest) return new MapLayerRequestPacket(); if(type == PacketType.MapLayerReply) return new MapLayerReplyPacket(); if(type == PacketType.MapBlockRequest) return new MapBlockRequestPacket(); @@ -1612,7 +1585,6 @@ namespace OpenMetaverse.Packets case 141: return new RequestRegionInfoPacket(header, bytes, ref i); case 142: return new RegionInfoPacket(header, bytes, ref i); case 143: return new GodUpdateRegionInfoPacket(header, bytes, ref i); - case 146: return new NearestLandingRegionUpdatedPacket(header, bytes, ref i); case 148: return new RegionHandshakePacket(header, bytes, ref i); case 149: return new RegionHandshakeReplyPacket(header, bytes, ref i); case 150: return new SimulatorViewerTimeMessagePacket(header, bytes, ref i); @@ -1629,7 +1601,6 @@ namespace OpenMetaverse.Packets case 161: return new RequestPayPricePacket(header, bytes, ref i); case 162: return new PayPriceReplyPacket(header, bytes, ref i); case 163: return new KickUserPacket(header, bytes, ref i); - case 164: return new KickUserAckPacket(header, bytes, ref i); case 165: return new GodKickUserPacket(header, bytes, ref i); case 167: return new EjectUserPacket(header, bytes, ref i); case 168: return new FreezeUserPacket(header, bytes, ref i); @@ -1729,8 +1700,6 @@ namespace OpenMetaverse.Packets case 279: return new FetchInventoryPacket(header, bytes, ref i); case 280: return new FetchInventoryReplyPacket(header, bytes, ref i); case 281: return new BulkUpdateInventoryPacket(header, bytes, ref i); - case 282: return new RequestInventoryAssetPacket(header, bytes, ref i); - case 283: return new InventoryAssetResponsePacket(header, bytes, ref i); case 284: return new RemoveInventoryObjectsPacket(header, bytes, ref i); case 285: return new PurgeInventoryDescendentsPacket(header, bytes, ref i); case 286: return new UpdateTaskInventoryPacket(header, bytes, ref i); @@ -1744,7 +1713,6 @@ namespace OpenMetaverse.Packets case 294: return new RezObjectFromNotecardPacket(header, bytes, ref i); case 297: return new AcceptFriendshipPacket(header, bytes, ref i); case 298: return new DeclineFriendshipPacket(header, bytes, ref i); - case 299: return new FormFriendshipPacket(header, bytes, ref i); case 300: return new TerminateFriendshipPacket(header, bytes, ref i); case 301: return new OfferCallingCardPacket(header, bytes, ref i); case 302: return new AcceptCallingCardPacket(header, bytes, ref i); @@ -1819,9 +1787,6 @@ namespace OpenMetaverse.Packets case 388: return new GroupDataUpdatePacket(header, bytes, ref i); case 389: return new AgentGroupDataUpdatePacket(header, bytes, ref i); case 390: return new AgentDropGroupPacket(header, bytes, ref i); - case 392: return new CreateTrustedCircuitPacket(header, bytes, ref i); - case 393: return new DenyTrustedCircuitPacket(header, bytes, ref i); - case 394: return new RequestTrustedCircuitPacket(header, bytes, ref i); case 395: return new RezSingleAttachmentFromInvPacket(header, bytes, ref i); case 396: return new RezMultipleAttachmentsFromInvPacket(header, bytes, ref i); case 397: return new DetachAttachmentIntoInvPacket(header, bytes, ref i); @@ -1830,7 +1795,6 @@ namespace OpenMetaverse.Packets case 400: return new UserInfoReplyPacket(header, bytes, ref i); case 401: return new UpdateUserInfoPacket(header, bytes, ref i); case 403: return new InitiateDownloadPacket(header, bytes, ref i); - case 404: return new SystemMessagePacket(header, bytes, ref i); case 405: return new MapLayerRequestPacket(header, bytes, ref i); case 406: return new MapLayerReplyPacket(header, bytes, ref i); case 407: return new MapBlockRequestPacket(header, bytes, ref i); @@ -25924,117 +25888,6 @@ namespace OpenMetaverse.Packets } } - /// - public sealed class NearestLandingRegionUpdatedPacket : Packet - { - /// - public class RegionDataBlock : PacketBlock - { - public ulong RegionHandle; - - public override int Length - { - get - { - return 8; - } - } - - public RegionDataBlock() { } - public RegionDataBlock(byte[] bytes, ref int i) - { - FromBytes(bytes, ref i); - } - - public override void FromBytes(byte[] bytes, ref int i) - { - try - { - RegionHandle = (ulong)((ulong)bytes[i++] + ((ulong)bytes[i++] << 8) + ((ulong)bytes[i++] << 16) + ((ulong)bytes[i++] << 24) + ((ulong)bytes[i++] << 32) + ((ulong)bytes[i++] << 40) + ((ulong)bytes[i++] << 48) + ((ulong)bytes[i++] << 56)); - } - catch (Exception) - { - throw new MalformedDataException(); - } - } - - public override void ToBytes(byte[] bytes, ref int i) - { - Utils.UInt64ToBytes(RegionHandle, bytes, i); i += 8; - } - - } - - public override int Length - { - get - { - int length = 10; - length += RegionData.Length; - return length; - } - } - public RegionDataBlock RegionData; - - public NearestLandingRegionUpdatedPacket() - { - HasVariableBlocks = false; - Type = PacketType.NearestLandingRegionUpdated; - Header = new Header(); - Header.Frequency = PacketFrequency.Low; - Header.ID = 146; - Header.Reliable = true; - RegionData = new RegionDataBlock(); - } - - public NearestLandingRegionUpdatedPacket(byte[] bytes, ref int i) : this() - { - int packetEnd = bytes.Length - 1; - FromBytes(bytes, ref i, ref packetEnd, null); - } - - override public void FromBytes(byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer) - { - Header.FromBytes(bytes, ref i, ref packetEnd); - if (Header.Zerocoded && zeroBuffer != null) - { - packetEnd = Helpers.ZeroDecode(bytes, packetEnd + 1, zeroBuffer) - 1; - bytes = zeroBuffer; - } - RegionData.FromBytes(bytes, ref i); - } - - public NearestLandingRegionUpdatedPacket(Header head, byte[] bytes, ref int i): this() - { - int packetEnd = bytes.Length - 1; - FromBytes(head, bytes, ref i, ref packetEnd); - } - - override public void FromBytes(Header header, byte[] bytes, ref int i, ref int packetEnd) - { - Header = header; - RegionData.FromBytes(bytes, ref i); - } - - public override byte[] ToBytes() - { - int length = 10; - length += RegionData.Length; - if (Header.AckList != null && Header.AckList.Length > 0) { length += Header.AckList.Length * 4 + 1; } - byte[] bytes = new byte[length]; - int i = 0; - Header.ToBytes(bytes, ref i); - RegionData.ToBytes(bytes, ref i); - if (Header.AckList != null && Header.AckList.Length > 0) { Header.AcksToBytes(bytes, ref i); } - return bytes; - } - - public override byte[][] ToBytesMultiple() - { - return new byte[][] { ToBytes() }; - } - } - /// public sealed class RegionHandshakePacket : Packet { @@ -28666,120 +28519,6 @@ namespace OpenMetaverse.Packets } } - /// - public sealed class KickUserAckPacket : Packet - { - /// - public class UserInfoBlock : PacketBlock - { - public UUID SessionID; - public uint Flags; - - public override int Length - { - get - { - return 20; - } - } - - public UserInfoBlock() { } - public UserInfoBlock(byte[] bytes, ref int i) - { - FromBytes(bytes, ref i); - } - - public override void FromBytes(byte[] bytes, ref int i) - { - try - { - SessionID.FromBytes(bytes, i); i += 16; - Flags = (uint)(bytes[i++] + (bytes[i++] << 8) + (bytes[i++] << 16) + (bytes[i++] << 24)); - } - catch (Exception) - { - throw new MalformedDataException(); - } - } - - public override void ToBytes(byte[] bytes, ref int i) - { - SessionID.ToBytes(bytes, i); i += 16; - Utils.UIntToBytes(Flags, bytes, i); i += 4; - } - - } - - public override int Length - { - get - { - int length = 10; - length += UserInfo.Length; - return length; - } - } - public UserInfoBlock UserInfo; - - public KickUserAckPacket() - { - HasVariableBlocks = false; - Type = PacketType.KickUserAck; - Header = new Header(); - Header.Frequency = PacketFrequency.Low; - Header.ID = 164; - Header.Reliable = true; - UserInfo = new UserInfoBlock(); - } - - public KickUserAckPacket(byte[] bytes, ref int i) : this() - { - int packetEnd = bytes.Length - 1; - FromBytes(bytes, ref i, ref packetEnd, null); - } - - override public void FromBytes(byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer) - { - Header.FromBytes(bytes, ref i, ref packetEnd); - if (Header.Zerocoded && zeroBuffer != null) - { - packetEnd = Helpers.ZeroDecode(bytes, packetEnd + 1, zeroBuffer) - 1; - bytes = zeroBuffer; - } - UserInfo.FromBytes(bytes, ref i); - } - - public KickUserAckPacket(Header head, byte[] bytes, ref int i): this() - { - int packetEnd = bytes.Length - 1; - FromBytes(head, bytes, ref i, ref packetEnd); - } - - override public void FromBytes(Header header, byte[] bytes, ref int i, ref int packetEnd) - { - Header = header; - UserInfo.FromBytes(bytes, ref i); - } - - public override byte[] ToBytes() - { - int length = 10; - length += UserInfo.Length; - if (Header.AckList != null && Header.AckList.Length > 0) { length += Header.AckList.Length * 4 + 1; } - byte[] bytes = new byte[length]; - int i = 0; - Header.ToBytes(bytes, ref i); - UserInfo.ToBytes(bytes, ref i); - if (Header.AckList != null && Header.AckList.Length > 0) { Header.AcksToBytes(bytes, ref i); } - return bytes; - } - - public override byte[][] ToBytesMultiple() - { - return new byte[][] { ToBytes() }; - } - } - /// public sealed class GodKickUserPacket : Packet { @@ -49181,243 +48920,6 @@ namespace OpenMetaverse.Packets } } - /// - public sealed class RequestInventoryAssetPacket : Packet - { - /// - public class QueryDataBlock : PacketBlock - { - public UUID QueryID; - public UUID AgentID; - public UUID OwnerID; - public UUID ItemID; - - public override int Length - { - get - { - return 64; - } - } - - public QueryDataBlock() { } - public QueryDataBlock(byte[] bytes, ref int i) - { - FromBytes(bytes, ref i); - } - - public override void FromBytes(byte[] bytes, ref int i) - { - try - { - QueryID.FromBytes(bytes, i); i += 16; - AgentID.FromBytes(bytes, i); i += 16; - OwnerID.FromBytes(bytes, i); i += 16; - ItemID.FromBytes(bytes, i); i += 16; - } - catch (Exception) - { - throw new MalformedDataException(); - } - } - - public override void ToBytes(byte[] bytes, ref int i) - { - QueryID.ToBytes(bytes, i); i += 16; - AgentID.ToBytes(bytes, i); i += 16; - OwnerID.ToBytes(bytes, i); i += 16; - ItemID.ToBytes(bytes, i); i += 16; - } - - } - - public override int Length - { - get - { - int length = 10; - length += QueryData.Length; - return length; - } - } - public QueryDataBlock QueryData; - - public RequestInventoryAssetPacket() - { - HasVariableBlocks = false; - Type = PacketType.RequestInventoryAsset; - Header = new Header(); - Header.Frequency = PacketFrequency.Low; - Header.ID = 282; - Header.Reliable = true; - QueryData = new QueryDataBlock(); - } - - public RequestInventoryAssetPacket(byte[] bytes, ref int i) : this() - { - int packetEnd = bytes.Length - 1; - FromBytes(bytes, ref i, ref packetEnd, null); - } - - override public void FromBytes(byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer) - { - Header.FromBytes(bytes, ref i, ref packetEnd); - if (Header.Zerocoded && zeroBuffer != null) - { - packetEnd = Helpers.ZeroDecode(bytes, packetEnd + 1, zeroBuffer) - 1; - bytes = zeroBuffer; - } - QueryData.FromBytes(bytes, ref i); - } - - public RequestInventoryAssetPacket(Header head, byte[] bytes, ref int i): this() - { - int packetEnd = bytes.Length - 1; - FromBytes(head, bytes, ref i, ref packetEnd); - } - - override public void FromBytes(Header header, byte[] bytes, ref int i, ref int packetEnd) - { - Header = header; - QueryData.FromBytes(bytes, ref i); - } - - public override byte[] ToBytes() - { - int length = 10; - length += QueryData.Length; - if (Header.AckList != null && Header.AckList.Length > 0) { length += Header.AckList.Length * 4 + 1; } - byte[] bytes = new byte[length]; - int i = 0; - Header.ToBytes(bytes, ref i); - QueryData.ToBytes(bytes, ref i); - if (Header.AckList != null && Header.AckList.Length > 0) { Header.AcksToBytes(bytes, ref i); } - return bytes; - } - - public override byte[][] ToBytesMultiple() - { - return new byte[][] { ToBytes() }; - } - } - - /// - public sealed class InventoryAssetResponsePacket : Packet - { - /// - public class QueryDataBlock : PacketBlock - { - public UUID QueryID; - public UUID AssetID; - public bool IsReadable; - - public override int Length - { - get - { - return 33; - } - } - - public QueryDataBlock() { } - public QueryDataBlock(byte[] bytes, ref int i) - { - FromBytes(bytes, ref i); - } - - public override void FromBytes(byte[] bytes, ref int i) - { - try - { - QueryID.FromBytes(bytes, i); i += 16; - AssetID.FromBytes(bytes, i); i += 16; - IsReadable = (bytes[i++] != 0) ? (bool)true : (bool)false; - } - catch (Exception) - { - throw new MalformedDataException(); - } - } - - public override void ToBytes(byte[] bytes, ref int i) - { - QueryID.ToBytes(bytes, i); i += 16; - AssetID.ToBytes(bytes, i); i += 16; - bytes[i++] = (byte)((IsReadable) ? 1 : 0); - } - - } - - public override int Length - { - get - { - int length = 10; - length += QueryData.Length; - return length; - } - } - public QueryDataBlock QueryData; - - public InventoryAssetResponsePacket() - { - HasVariableBlocks = false; - Type = PacketType.InventoryAssetResponse; - Header = new Header(); - Header.Frequency = PacketFrequency.Low; - Header.ID = 283; - Header.Reliable = true; - QueryData = new QueryDataBlock(); - } - - public InventoryAssetResponsePacket(byte[] bytes, ref int i) : this() - { - int packetEnd = bytes.Length - 1; - FromBytes(bytes, ref i, ref packetEnd, null); - } - - override public void FromBytes(byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer) - { - Header.FromBytes(bytes, ref i, ref packetEnd); - if (Header.Zerocoded && zeroBuffer != null) - { - packetEnd = Helpers.ZeroDecode(bytes, packetEnd + 1, zeroBuffer) - 1; - bytes = zeroBuffer; - } - QueryData.FromBytes(bytes, ref i); - } - - public InventoryAssetResponsePacket(Header head, byte[] bytes, ref int i): this() - { - int packetEnd = bytes.Length - 1; - FromBytes(head, bytes, ref i, ref packetEnd); - } - - override public void FromBytes(Header header, byte[] bytes, ref int i, ref int packetEnd) - { - Header = header; - QueryData.FromBytes(bytes, ref i); - } - - public override byte[] ToBytes() - { - int length = 10; - length += QueryData.Length; - if (Header.AckList != null && Header.AckList.Length > 0) { length += Header.AckList.Length * 4 + 1; } - byte[] bytes = new byte[length]; - int i = 0; - Header.ToBytes(bytes, ref i); - QueryData.ToBytes(bytes, ref i); - if (Header.AckList != null && Header.AckList.Length > 0) { Header.AcksToBytes(bytes, ref i); } - return bytes; - } - - public override byte[][] ToBytesMultiple() - { - return new byte[][] { ToBytes() }; - } - } - /// public sealed class RemoveInventoryObjectsPacket : Packet { @@ -52342,120 +51844,6 @@ namespace OpenMetaverse.Packets } } - /// - public sealed class FormFriendshipPacket : Packet - { - /// - public class AgentBlockBlock : PacketBlock - { - public UUID SourceID; - public UUID DestID; - - public override int Length - { - get - { - return 32; - } - } - - public AgentBlockBlock() { } - public AgentBlockBlock(byte[] bytes, ref int i) - { - FromBytes(bytes, ref i); - } - - public override void FromBytes(byte[] bytes, ref int i) - { - try - { - SourceID.FromBytes(bytes, i); i += 16; - DestID.FromBytes(bytes, i); i += 16; - } - catch (Exception) - { - throw new MalformedDataException(); - } - } - - public override void ToBytes(byte[] bytes, ref int i) - { - SourceID.ToBytes(bytes, i); i += 16; - DestID.ToBytes(bytes, i); i += 16; - } - - } - - public override int Length - { - get - { - int length = 10; - length += AgentBlock.Length; - return length; - } - } - public AgentBlockBlock AgentBlock; - - public FormFriendshipPacket() - { - HasVariableBlocks = false; - Type = PacketType.FormFriendship; - Header = new Header(); - Header.Frequency = PacketFrequency.Low; - Header.ID = 299; - Header.Reliable = true; - AgentBlock = new AgentBlockBlock(); - } - - public FormFriendshipPacket(byte[] bytes, ref int i) : this() - { - int packetEnd = bytes.Length - 1; - FromBytes(bytes, ref i, ref packetEnd, null); - } - - override public void FromBytes(byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer) - { - Header.FromBytes(bytes, ref i, ref packetEnd); - if (Header.Zerocoded && zeroBuffer != null) - { - packetEnd = Helpers.ZeroDecode(bytes, packetEnd + 1, zeroBuffer) - 1; - bytes = zeroBuffer; - } - AgentBlock.FromBytes(bytes, ref i); - } - - public FormFriendshipPacket(Header head, byte[] bytes, ref int i): this() - { - int packetEnd = bytes.Length - 1; - FromBytes(head, bytes, ref i, ref packetEnd); - } - - override public void FromBytes(Header header, byte[] bytes, ref int i, ref int packetEnd) - { - Header = header; - AgentBlock.FromBytes(bytes, ref i); - } - - public override byte[] ToBytes() - { - int length = 10; - length += AgentBlock.Length; - if (Header.AckList != null && Header.AckList.Length > 0) { length += Header.AckList.Length * 4 + 1; } - byte[] bytes = new byte[length]; - int i = 0; - Header.ToBytes(bytes, ref i); - AgentBlock.ToBytes(bytes, ref i); - if (Header.AckList != null && Header.AckList.Length > 0) { Header.AcksToBytes(bytes, ref i); } - return bytes; - } - - public override byte[][] ToBytesMultiple() - { - return new byte[][] { ToBytes() }; - } - } - /// public sealed class TerminateFriendshipPacket : Packet { @@ -67402,298 +66790,6 @@ namespace OpenMetaverse.Packets } } - /// - public sealed class CreateTrustedCircuitPacket : Packet - { - /// - public class DataBlockBlock : PacketBlock - { - public UUID EndPointID; - public byte[] Digest; - - public override int Length - { - get - { - return 48; - } - } - - public DataBlockBlock() { } - public DataBlockBlock(byte[] bytes, ref int i) - { - FromBytes(bytes, ref i); - } - - public override void FromBytes(byte[] bytes, ref int i) - { - try - { - EndPointID.FromBytes(bytes, i); i += 16; - Digest = new byte[32]; - Buffer.BlockCopy(bytes, i, Digest, 0, 32); i += 32; - } - catch (Exception) - { - throw new MalformedDataException(); - } - } - - public override void ToBytes(byte[] bytes, ref int i) - { - EndPointID.ToBytes(bytes, i); i += 16; - Buffer.BlockCopy(Digest, 0, bytes, i, 32);i += 32; - } - - } - - public override int Length - { - get - { - int length = 10; - length += DataBlock.Length; - return length; - } - } - public DataBlockBlock DataBlock; - - public CreateTrustedCircuitPacket() - { - HasVariableBlocks = false; - Type = PacketType.CreateTrustedCircuit; - Header = new Header(); - Header.Frequency = PacketFrequency.Low; - Header.ID = 392; - Header.Reliable = true; - DataBlock = new DataBlockBlock(); - } - - public CreateTrustedCircuitPacket(byte[] bytes, ref int i) : this() - { - int packetEnd = bytes.Length - 1; - FromBytes(bytes, ref i, ref packetEnd, null); - } - - override public void FromBytes(byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer) - { - Header.FromBytes(bytes, ref i, ref packetEnd); - if (Header.Zerocoded && zeroBuffer != null) - { - packetEnd = Helpers.ZeroDecode(bytes, packetEnd + 1, zeroBuffer) - 1; - bytes = zeroBuffer; - } - DataBlock.FromBytes(bytes, ref i); - } - - public CreateTrustedCircuitPacket(Header head, byte[] bytes, ref int i): this() - { - int packetEnd = bytes.Length - 1; - FromBytes(head, bytes, ref i, ref packetEnd); - } - - override public void FromBytes(Header header, byte[] bytes, ref int i, ref int packetEnd) - { - Header = header; - DataBlock.FromBytes(bytes, ref i); - } - - public override byte[] ToBytes() - { - int length = 10; - length += DataBlock.Length; - if (Header.AckList != null && Header.AckList.Length > 0) { length += Header.AckList.Length * 4 + 1; } - byte[] bytes = new byte[length]; - int i = 0; - Header.ToBytes(bytes, ref i); - DataBlock.ToBytes(bytes, ref i); - if (Header.AckList != null && Header.AckList.Length > 0) { Header.AcksToBytes(bytes, ref i); } - return bytes; - } - - public override byte[][] ToBytesMultiple() - { - return new byte[][] { ToBytes() }; - } - } - - /// - public sealed class DenyTrustedCircuitPacket : Packet - { - /// - public class DataBlockBlock : PacketBlock - { - public UUID EndPointID; - - public override int Length - { - get - { - return 16; - } - } - - public DataBlockBlock() { } - public DataBlockBlock(byte[] bytes, ref int i) - { - FromBytes(bytes, ref i); - } - - public override void FromBytes(byte[] bytes, ref int i) - { - try - { - EndPointID.FromBytes(bytes, i); i += 16; - } - catch (Exception) - { - throw new MalformedDataException(); - } - } - - public override void ToBytes(byte[] bytes, ref int i) - { - EndPointID.ToBytes(bytes, i); i += 16; - } - - } - - public override int Length - { - get - { - int length = 10; - length += DataBlock.Length; - return length; - } - } - public DataBlockBlock DataBlock; - - public DenyTrustedCircuitPacket() - { - HasVariableBlocks = false; - Type = PacketType.DenyTrustedCircuit; - Header = new Header(); - Header.Frequency = PacketFrequency.Low; - Header.ID = 393; - Header.Reliable = true; - DataBlock = new DataBlockBlock(); - } - - public DenyTrustedCircuitPacket(byte[] bytes, ref int i) : this() - { - int packetEnd = bytes.Length - 1; - FromBytes(bytes, ref i, ref packetEnd, null); - } - - override public void FromBytes(byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer) - { - Header.FromBytes(bytes, ref i, ref packetEnd); - if (Header.Zerocoded && zeroBuffer != null) - { - packetEnd = Helpers.ZeroDecode(bytes, packetEnd + 1, zeroBuffer) - 1; - bytes = zeroBuffer; - } - DataBlock.FromBytes(bytes, ref i); - } - - public DenyTrustedCircuitPacket(Header head, byte[] bytes, ref int i): this() - { - int packetEnd = bytes.Length - 1; - FromBytes(head, bytes, ref i, ref packetEnd); - } - - override public void FromBytes(Header header, byte[] bytes, ref int i, ref int packetEnd) - { - Header = header; - DataBlock.FromBytes(bytes, ref i); - } - - public override byte[] ToBytes() - { - int length = 10; - length += DataBlock.Length; - if (Header.AckList != null && Header.AckList.Length > 0) { length += Header.AckList.Length * 4 + 1; } - byte[] bytes = new byte[length]; - int i = 0; - Header.ToBytes(bytes, ref i); - DataBlock.ToBytes(bytes, ref i); - if (Header.AckList != null && Header.AckList.Length > 0) { Header.AcksToBytes(bytes, ref i); } - return bytes; - } - - public override byte[][] ToBytesMultiple() - { - return new byte[][] { ToBytes() }; - } - } - - /// - public sealed class RequestTrustedCircuitPacket : Packet - { - public override int Length - { - get - { - int length = 10; - return length; - } - } - - public RequestTrustedCircuitPacket() - { - HasVariableBlocks = false; - Type = PacketType.RequestTrustedCircuit; - Header = new Header(); - Header.Frequency = PacketFrequency.Low; - Header.ID = 394; - Header.Reliable = true; - } - - public RequestTrustedCircuitPacket(byte[] bytes, ref int i) : this() - { - int packetEnd = bytes.Length - 1; - FromBytes(bytes, ref i, ref packetEnd, null); - } - - override public void FromBytes(byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer) - { - Header.FromBytes(bytes, ref i, ref packetEnd); - if (Header.Zerocoded && zeroBuffer != null) - { - packetEnd = Helpers.ZeroDecode(bytes, packetEnd + 1, zeroBuffer) - 1; - bytes = zeroBuffer; - } - } - - public RequestTrustedCircuitPacket(Header head, byte[] bytes, ref int i): this() - { - int packetEnd = bytes.Length - 1; - FromBytes(head, bytes, ref i, ref packetEnd); - } - - override public void FromBytes(Header header, byte[] bytes, ref int i, ref int packetEnd) - { - Header = header; - } - - public override byte[] ToBytes() - { - int length = 10; - if (Header.AckList != null && Header.AckList.Length > 0) { length += Header.AckList.Length * 4 + 1; } - byte[] bytes = new byte[length]; - int i = 0; - Header.ToBytes(bytes, ref i); - if (Header.AckList != null && Header.AckList.Length > 0) { Header.AcksToBytes(bytes, ref i); } - return bytes; - } - - public override byte[][] ToBytesMultiple() - { - return new byte[][] { ToBytes() }; - } - } - /// public sealed class RezSingleAttachmentFromInvPacket : Packet { @@ -69312,272 +68408,6 @@ namespace OpenMetaverse.Packets } } - /// - public sealed class SystemMessagePacket : Packet - { - /// - public class MethodDataBlock : PacketBlock - { - private byte[] _method; - public byte[] Method - { - get { return _method; } - set - { - if (value == null) { _method = null; return; } - if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } - else { _method = new byte[value.Length]; Buffer.BlockCopy(value, 0, _method, 0, value.Length); } - } - } - public UUID Invoice; - public byte[] Digest; - - public override int Length - { - get - { - int length = 49; - if (Method != null) { length += Method.Length; } - return length; - } - } - - public MethodDataBlock() { } - public MethodDataBlock(byte[] bytes, ref int i) - { - FromBytes(bytes, ref i); - } - - public override void FromBytes(byte[] bytes, ref int i) - { - int length; - try - { - length = (ushort)bytes[i++]; - _method = new byte[length]; - Buffer.BlockCopy(bytes, i, _method, 0, length); i += length; - Invoice.FromBytes(bytes, i); i += 16; - Digest = new byte[32]; - Buffer.BlockCopy(bytes, i, Digest, 0, 32); i += 32; - } - catch (Exception) - { - throw new MalformedDataException(); - } - } - - public override void ToBytes(byte[] bytes, ref int i) - { - bytes[i++] = (byte)Method.Length; - Buffer.BlockCopy(Method, 0, bytes, i, Method.Length); i += Method.Length; - Invoice.ToBytes(bytes, i); i += 16; - Buffer.BlockCopy(Digest, 0, bytes, i, 32);i += 32; - } - - } - - /// - public class ParamListBlock : PacketBlock - { - private byte[] _parameter; - public byte[] Parameter - { - get { return _parameter; } - set - { - if (value == null) { _parameter = null; return; } - if (value.Length > 255) { throw new OverflowException("Value exceeds 255 characters"); } - else { _parameter = new byte[value.Length]; Buffer.BlockCopy(value, 0, _parameter, 0, value.Length); } - } - } - - public override int Length - { - get - { - int length = 1; - if (Parameter != null) { length += Parameter.Length; } - return length; - } - } - - public ParamListBlock() { } - public ParamListBlock(byte[] bytes, ref int i) - { - FromBytes(bytes, ref i); - } - - public override void FromBytes(byte[] bytes, ref int i) - { - int length; - try - { - length = (ushort)bytes[i++]; - _parameter = new byte[length]; - Buffer.BlockCopy(bytes, i, _parameter, 0, length); i += length; - } - catch (Exception) - { - throw new MalformedDataException(); - } - } - - public override void ToBytes(byte[] bytes, ref int i) - { - bytes[i++] = (byte)Parameter.Length; - Buffer.BlockCopy(Parameter, 0, bytes, i, Parameter.Length); i += Parameter.Length; - } - - } - - public override int Length - { - get - { - int length = 11; - length += MethodData.Length; - for (int j = 0; j < ParamList.Length; j++) - length += ParamList[j].Length; - return length; - } - } - public MethodDataBlock MethodData; - public ParamListBlock[] ParamList; - - public SystemMessagePacket() - { - HasVariableBlocks = true; - Type = PacketType.SystemMessage; - Header = new Header(); - Header.Frequency = PacketFrequency.Low; - Header.ID = 404; - Header.Reliable = true; - Header.Zerocoded = true; - MethodData = new MethodDataBlock(); - ParamList = null; - } - - public SystemMessagePacket(byte[] bytes, ref int i) : this() - { - int packetEnd = bytes.Length - 1; - FromBytes(bytes, ref i, ref packetEnd, null); - } - - override public void FromBytes(byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer) - { - Header.FromBytes(bytes, ref i, ref packetEnd); - if (Header.Zerocoded && zeroBuffer != null) - { - packetEnd = Helpers.ZeroDecode(bytes, packetEnd + 1, zeroBuffer) - 1; - bytes = zeroBuffer; - } - MethodData.FromBytes(bytes, ref i); - int count = (int)bytes[i++]; - if(ParamList == null || ParamList.Length != -1) { - ParamList = new ParamListBlock[count]; - for(int j = 0; j < count; j++) - { ParamList[j] = new ParamListBlock(); } - } - for (int j = 0; j < count; j++) - { ParamList[j].FromBytes(bytes, ref i); } - } - - public SystemMessagePacket(Header head, byte[] bytes, ref int i): this() - { - int packetEnd = bytes.Length - 1; - FromBytes(head, bytes, ref i, ref packetEnd); - } - - override public void FromBytes(Header header, byte[] bytes, ref int i, ref int packetEnd) - { - Header = header; - MethodData.FromBytes(bytes, ref i); - int count = (int)bytes[i++]; - if(ParamList == null || ParamList.Length != count) { - ParamList = new ParamListBlock[count]; - for(int j = 0; j < count; j++) - { ParamList[j] = new ParamListBlock(); } - } - for (int j = 0; j < count; j++) - { ParamList[j].FromBytes(bytes, ref i); } - } - - public override byte[] ToBytes() - { - int length = 10; - length += MethodData.Length; - length++; - for (int j = 0; j < ParamList.Length; j++) { length += ParamList[j].Length; } - if (Header.AckList != null && Header.AckList.Length > 0) { length += Header.AckList.Length * 4 + 1; } - byte[] bytes = new byte[length]; - int i = 0; - Header.ToBytes(bytes, ref i); - MethodData.ToBytes(bytes, ref i); - bytes[i++] = (byte)ParamList.Length; - for (int j = 0; j < ParamList.Length; j++) { ParamList[j].ToBytes(bytes, ref i); } - if (Header.AckList != null && Header.AckList.Length > 0) { Header.AcksToBytes(bytes, ref i); } - return bytes; - } - - public override byte[][] ToBytesMultiple() - { - System.Collections.Generic.List packets = new System.Collections.Generic.List(); - int i = 0; - int fixedLength = 10; - - byte[] ackBytes = null; - int acksLength = 0; - if (Header.AckList != null && Header.AckList.Length > 0) { - Header.AppendedAcks = true; - ackBytes = new byte[Header.AckList.Length * 4 + 1]; - Header.AcksToBytes(ackBytes, ref acksLength); - } - - fixedLength += MethodData.Length; - byte[] fixedBytes = new byte[fixedLength]; - Header.ToBytes(fixedBytes, ref i); - MethodData.ToBytes(fixedBytes, ref i); - fixedLength += 1; - - int ParamListStart = 0; - while ( - ParamListStart < ParamList.Length) - { - int variableLength = 0; - int ParamListCount = 0; - - i = ParamListStart; - while (fixedLength + variableLength + acksLength < Packet.MTU && i < ParamList.Length) { - int blockLength = ParamList[i].Length; - if (fixedLength + variableLength + blockLength + acksLength <= MTU) { - variableLength += blockLength; - ++ParamListCount; - } - else { break; } - ++i; - } - - byte[] packet = new byte[fixedLength + variableLength + acksLength]; - int length = fixedBytes.Length; - Buffer.BlockCopy(fixedBytes, 0, packet, 0, length); - if (packets.Count > 0) { packet[0] = (byte)(packet[0] & ~0x10); } - - packet[length++] = (byte)ParamListCount; - for (i = ParamListStart; i < ParamListStart + ParamListCount; i++) { ParamList[i].ToBytes(packet, ref length); } - ParamListStart += ParamListCount; - - if (acksLength > 0) { - Buffer.BlockCopy(ackBytes, 0, packet, length, acksLength); - acksLength = 0; - } - - packets.Add(packet); - } - - return packets.ToArray(); - } - } - /// public sealed class MapLayerRequestPacket : Packet { diff --git a/Programs/PrimWorkshop/frmBrowser.cs b/Programs/PrimWorkshop/frmBrowser.cs index 75942d17..3190e0c8 100644 --- a/Programs/PrimWorkshop/frmBrowser.cs +++ b/Programs/PrimWorkshop/frmBrowser.cs @@ -222,7 +222,7 @@ namespace PrimWorkshop { for (int j = 0; j < 256; j++) { - LookupHeightTable[i + (j * 256)] = new HeightmapLookupValue(i + (j * 256), ((float)i * ((float)j / 127.0f))); + LookupHeightTable[i + (j * 256)] = new HeightmapLookupValue((ushort)(i + (j * 256)), ((float)i * ((float)j / 127.0f))); } } Array.Sort(LookupHeightTable); @@ -1823,10 +1823,10 @@ StartRender: public struct HeightmapLookupValue : IComparable { - public int Index; + public ushort Index; public float Value; - public HeightmapLookupValue(int index, float value) + public HeightmapLookupValue(ushort index, float value) { Index = index; Value = value; diff --git a/Programs/mapgenerator/unusedpackets.txt b/Programs/mapgenerator/unusedpackets.txt index 035fd2ad..5fbb20fd 100644 --- a/Programs/mapgenerator/unusedpackets.txt +++ b/Programs/mapgenerator/unusedpackets.txt @@ -112,4 +112,13 @@ RpcScriptRequestInboundForward RpcScriptReplyInbound MailTaskSimRequest MailTaskSimReply -ScriptMailRegistration \ No newline at end of file +ScriptMailRegistration +NearestLandingRegionUpdated +KickUserAck +RequestInventoryAsset +InventoryAssetResponse +FormFriendship +CreateTrustedCircuit +DenyTrustedCircuit +RequestTrustedCircuit +SystemMessage \ No newline at end of file