Cleaned up Packet.FromBytes() to make it clear where the zerodecoding is happening and to skip a redundant check

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2879 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
John Hurliman
2009-06-12 00:50:43 +00:00
parent d4ee0434ac
commit e3adf7b02f
2 changed files with 1182 additions and 3146 deletions

View File

@@ -566,16 +566,12 @@ namespace mapgenerator
writer.WriteLine(" public " + packet.Name + "Packet(Header head, byte[] bytes, ref int i): this()" + Environment.NewLine +
" {" + Environment.NewLine +
" int packetEnd = bytes.Length - 1;" + Environment.NewLine +
" FromBytes(head, bytes, ref i, ref packetEnd, null);" + Environment.NewLine +
" FromBytes(head, bytes, ref i, ref packetEnd);" + Environment.NewLine +
" }" + Environment.NewLine);
writer.WriteLine(" override public void FromBytes(Header head, byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer)" + Environment.NewLine + " {");
writer.WriteLine(" Header = head;");
writer.WriteLine(" if (head.Zerocoded && zeroBuffer != null)");
writer.WriteLine(" {");
writer.WriteLine(" packetEnd = Helpers.ZeroDecode(bytes, packetEnd + 1, zeroBuffer) - 1;");
writer.WriteLine(" bytes = zeroBuffer;");
writer.WriteLine(" }");
writer.WriteLine(" override public void FromBytes(Header header, byte[] bytes, ref int i, ref int packetEnd)" + Environment.NewLine +
" {");
writer.WriteLine(" Header = header;");
foreach (MapBlock block in packet.Blocks)
{
if (block.Name == "Header") { sanitizedName = "_" + block.Name; }
@@ -1005,7 +1001,7 @@ namespace mapgenerator
" public PacketType Type;" + Environment.NewLine +
" public abstract int Length { get; }" + Environment.NewLine +
" public abstract void FromBytes(byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer);" + Environment.NewLine +
" public abstract void FromBytes(Header header, byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer);" + Environment.NewLine +
" public abstract void FromBytes(Header header, byte[] bytes, ref int i, ref int packetEnd);" + Environment.NewLine +
" public abstract byte[] ToBytes();" + Environment.NewLine +
" public abstract byte[][] ToBytesMultiple();"
);